diff --git a/pages/_data/menu.yml b/pages/_data/menu.yml index 0e07b58fb..0115885eb 100644 --- a/pages/_data/menu.yml +++ b/pages/_data/menu.yml @@ -161,6 +161,9 @@ docs: charts: title: Charts url: docs/charts.html + dropdowns: + title: Dropdowns + url: docs/dropdowns.html divider: title: Divider url: docs/divider.html diff --git a/pages/_docs/dropdowns.md b/pages/_docs/dropdowns.md new file mode 100644 index 000000000..410202862 --- /dev/null +++ b/pages/_docs/dropdowns.md @@ -0,0 +1,100 @@ +--- +title: Dropdowns +description: Toggle contextual overlays for displaying lists of links and more with the Bootstrap dropdown plugin. +bootstrap-link: components/dropdowns +toc: true +--- + +## Default dropdown + +Any single `.btn` can be turned into a dropdown toggle with some markup changes. Here’s how you can do this: + +{% capture code %} +{% include ui/dropdown-menu.html show=true %} +{% endcapture %} +{% include example.html code=code centered=true %} + +## Dropdown divider + +Separate groups of related menu items with a divider. + +{% capture code %} +{% include ui/dropdown-menu.html show=true separated=true %} +{% endcapture %} +{% include example.html code=code centered=true %} + +## Active state + +{% capture code %} +{% include ui/dropdown-menu.html show=true active=true %} +{% endcapture %} +{% include example.html code=code centered=true %} + +## Disabled state + +{% capture code %} +{% include ui/dropdown-menu.html show=true disabled=true %} +{% endcapture %} +{% include example.html code=code centered=true %} + +## Dropdown header + +Add a header to label sections of actions in any dropdown menu. + +{% capture code %} +{% include ui/dropdown-menu.html show=true header=true %} +{% endcapture %} +{% include example.html code=code centered=true %} + +## Dropdown with icons + +{% capture code %} +{% include ui/dropdown-menu.html show=true icons=true header=true %} +{% endcapture %} +{% include example.html code=code centered=true %} + +## Dropdown with arrow + +{% capture code %} +{% include ui/dropdown-menu.html show=true arrow=true %} +{% endcapture %} +{% include example.html code=code centered=true %} + +## Dropdown with badge + +{% capture code %} +{% include ui/dropdown-menu.html show=true badge=true %} +{% endcapture %} +{% include example.html code=code centered=true %} + +## Dropdown with checkboxes + +{% capture code %} +{% include ui/dropdown-menu.html show=true check=true %} +{% endcapture %} +{% include example.html code=code centered=true %} + +{% capture code %} +{% include ui/dropdown-menu.html show=true radio=true %} +{% endcapture %} +{% include example.html code=code centered=true %} + +## Dark dropdown + +{% capture code %} +{% include ui/dropdown-menu.html show=true dark=true header=true icons=true arrow=true %} +{% endcapture %} +{% include example.html code=code centered=true %} + +## Dropdown with card content + +{% capture code %} +{% include ui/button.html color="secondary" text="Button" %} + +{% endcapture %} +{% include example.html code=code centered=true wrapper="btn-list align-items-start" %} \ No newline at end of file diff --git a/pages/_docs/progress.md b/pages/_docs/progress.md index 9ae22e1a4..799ca132d 100644 --- a/pages/_docs/progress.md +++ b/pages/_docs/progress.md @@ -1,7 +1,7 @@ --- title: Progress description: A progress bar can be used to show a user how far along he is in a process. -bootstrap-link: components/progress/ +bootstrap-link: components/progress done: true --- diff --git a/pages/_docs/typography.md b/pages/_docs/typography.md index 99bea20bf..3b696df15 100644 --- a/pages/_docs/typography.md +++ b/pages/_docs/typography.md @@ -24,23 +24,23 @@ bootstrap-link: content/typography/ ### Semantic text elements {% capture code %} -I18N abbr
-Bold strong b
-Citation cite
-Hello World! code
-Deleted del
-Emphasis em
-Italic i
-Inserted ins
-Ctrl + S kbd
-Highlighted mark
-Strikethrough> s
-Sample samp
-Text Subscripted sub
-Text Superscripted sup
- time
-Underline u
-x = y + 2 var
+I18N{% hide %} abbr
{% endhide %} +Bold{% hide %} strong b
{% endhide %} +Citation{% hide %} cite
{% endhide %} +Hello World!{% hide %} code
{% endhide %} +Deleted{% hide %} del
{% endhide %} +Emphasis{% hide %} em
{% endhide %} +Italic{% hide %} i
{% endhide %} +Inserted{% hide %} ins
{% endhide %} +Ctrl + S{% hide %} kbd
{% endhide %} +Highlighted{% hide %} mark
{% endhide %} +Strikethrough s
{% endhide %} +Sample{% hide %} samp
{% endhide %} +Text Subscripted{% hide %} sub
{% endhide %} +Text Superscripted{% hide %} sup
{% endhide %} +{% hide %} time
{% endhide %} +Underline{% hide %} u
{% endhide %} +x = y + 2{% hide %} var
{% endhide %} {% endcapture %} {% include example.html code=code %} diff --git a/pages/_includes/example.html b/pages/_includes/example.html index 2d5b069d4..993ecf674 100644 --- a/pages/_includes/example.html +++ b/pages/_includes/example.html @@ -1,9 +1,14 @@ +{% assign demo-code = code %} + +{% assign demo-code = demo-code | replace_regex: '\{% (end)?hide %\}', '' %} +{% assign demo-code = demo-code | replace_regex: 'href="#"', 'href="javascript:void(0)"' %} +
{% if include.wrapper %}
{% endif %} {% if include.columns %}
{% endif %} - {{ code }} + {{ demo-code }} {% if include.columns %}
{% endif %} {% if include.wrapper %}
{% endif %} @@ -18,6 +23,7 @@ {% assign code = code | replace_regex: 'url\(([^\)]+)\)', 'url(...)' %} {% assign code = code | replace_regex: 'src="([^"]+)"', 'src="..."' %} {% assign code = code | replace_regex: 'href="([^#][^"]+)"', 'href="#"' %} +{% assign code = code | replace_regex: '\{% hide %\}.*?\{% endhide %\}', '' %} {% assign code = code | htmlbeautifier %}
diff --git a/pages/_includes/ui/dropdown-menu.html b/pages/_includes/ui/dropdown-menu.html index 581c51c3b..4324a18c8 100644 --- a/pages/_includes/ui/dropdown-menu.html +++ b/pages/_includes/ui/dropdown-menu.html @@ -1,25 +1,26 @@ diff --git a/pages/_plugins/jekyll-tags.rb b/pages/_plugins/jekyll-tags.rb index 4eff94f8c..671c457c4 100644 --- a/pages/_plugins/jekyll-tags.rb +++ b/pages/_plugins/jekyll-tags.rb @@ -3,6 +3,18 @@ require 'pathname' module Jekyll module Tags + class Hide < Liquid::Block + + def initialize(tag_name, text, tokens) + super + @text = text + end + + def render(context) + '{% hide %}' + super.to_s + '{% endhide %}' + end + end + class RemoveEmptyLines < Liquid::Block def initialize(tag_name, text, tokens) @@ -63,4 +75,5 @@ end Liquid::Template.register_tag('removeemptylines', Jekyll::Tags::RemoveEmptyLines) Liquid::Template.register_tag('card', Jekyll::Tags::CardBlock) Liquid::Template.register_tag('docs_url', Jekyll::Tags::DocsUrl) +Liquid::Template.register_tag('hide', Jekyll::Tags::Hide) diff --git a/pages/tmp.html b/pages/tmp.html index 63273496f..c22c6c831 100644 --- a/pages/tmp.html +++ b/pages/tmp.html @@ -4,8 +4,13 @@ menu: a.b.c
-
- +
diff --git a/scss/ui/_dropdowns.scss b/scss/ui/_dropdowns.scss index 93d5f2025..32c6af5e7 100644 --- a/scss/ui/_dropdowns.scss +++ b/scss/ui/_dropdowns.scss @@ -103,3 +103,13 @@ } } } + +.dropdown-menu-card { + padding: 0; + border: 0; + + >.card { + margin: 0; + box-shadow: none; + } +} \ No newline at end of file