2
0
Paweł Kuna 2 жил өмнө
parent
commit
d162b06c4c
100 өөрчлөгдсөн 10451 нэмэгдсэн , 2985 устгасан
  1. 1 1
      README.md
  2. 1 8
      _config.yml
  3. 15 8
      docs/base/colors.mdx
  4. 300 0
      docs/base/typography.mdx
  5. 421 0
      docs/components/alerts.mdx
  6. 4 6
      docs/components/autosize.mdx
  7. 172 0
      docs/components/avatars.mdx
  8. 129 0
      docs/components/badges.mdx
  9. 107 0
      docs/components/breadcrumb.mdx
  10. 863 0
      docs/components/buttons.mdx
  11. 345 0
      docs/components/cards.mdx
  12. 235 0
      docs/components/carousel.mdx
  13. 526 0
      docs/components/charts.mdx
  14. 63 62
      docs/components/countup.mdx
  15. 90 0
      docs/components/datagrid.mdx
  16. 18 25
      docs/components/divider.mdx
  17. 245 0
      docs/components/dropdowns.mdx
  18. 63 0
      docs/components/dropzone.mdx
  19. 103 0
      docs/components/empty.mdx
  20. 120 0
      docs/components/icons.mdx
  21. 31 0
      docs/components/inline-player.mdx
  22. 224 0
      docs/components/modals.mdx
  23. 272 0
      docs/components/placeholder.mdx
  24. 22 12
      docs/components/popover.mdx
  25. 92 0
      docs/components/progress.mdx
  26. 16 0
      docs/components/progressbg.mdx
  27. 17 0
      docs/components/range-slider.mdx
  28. 151 0
      docs/components/ribbons.mdx
  29. 119 0
      docs/components/spinners.mdx
  30. 284 0
      docs/components/statuses.mdx
  31. 111 0
      docs/components/steps.mdx
  32. 155 0
      docs/components/switch-icon.mdx
  33. 410 0
      docs/components/tables.mdx
  34. 243 0
      docs/components/tabs.mdx
  35. 506 0
      docs/components/timelines.mdx
  36. 44 0
      docs/components/tinymce.mdx
  37. 73 0
      docs/components/toasts.mdx
  38. 6 11
      docs/components/tooltips.mdx
  39. 162 0
      docs/components/tracking.mdx
  40. 1487 0
      docs/config.json
  41. 179 0
      docs/forms/form-color-check.mdx
  42. 570 0
      docs/forms/form-elements.mdx
  43. 44 0
      docs/forms/form-fieldset.mdx
  44. 4 7
      docs/forms/form-helpers.mdx
  45. 162 0
      docs/forms/form-image-check.mdx
  46. 7 6
      docs/forms/form-input-mask.mdx
  47. 303 0
      docs/forms/form-selectboxes.mdx
  48. 25 0
      docs/forms/form-validation.mdx
  49. 20 0
      docs/getting-started/browser-support.mdx
  50. 1 2
      docs/getting-started/customize.mdx
  51. 9 13
      docs/getting-started/download.mdx
  52. 23 0
      docs/getting-started/faq.mdx
  53. 9 4
      docs/getting-started/index.mdx
  54. 103 0
      docs/icons/index.mdx
  55. 224 0
      docs/layout/page-headers.mdx
  56. 211 0
      docs/menu.json
  57. 54 0
      docs/plugins/flags.mdx
  58. 45 0
      docs/plugins/payments.mdx
  59. 114 0
      docs/utilities/borders.mdx
  60. 92 0
      docs/utilities/cursors.mdx
  61. 5 8
      docs/utilities/interactions.mdx
  62. 1 1
      src/pages/_data/menu.yml
  63. 0 101
      src/pages/_docs/alerts.md
  64. 0 147
      src/pages/_docs/avatars.md
  65. 0 89
      src/pages/_docs/badges.md
  66. 0 72
      src/pages/_docs/borders.md
  67. 0 45
      src/pages/_docs/breadcrumb.md
  68. 0 21
      src/pages/_docs/browser-support.md
  69. 0 353
      src/pages/_docs/buttons.md
  70. 0 136
      src/pages/_docs/cards.md
  71. 0 59
      src/pages/_docs/carousel.md
  72. 0 62
      src/pages/_docs/charts.md
  73. 0 76
      src/pages/_docs/cursors.md
  74. 0 10
      src/pages/_docs/datagrid.md
  75. 0 127
      src/pages/_docs/dropdowns.md
  76. 0 27
      src/pages/_docs/dropzone.md
  77. 0 34
      src/pages/_docs/empty.md
  78. 0 48
      src/pages/_docs/flags.md
  79. 0 27
      src/pages/_docs/form-color-check.md
  80. 0 225
      src/pages/_docs/form-elements.md
  81. 0 11
      src/pages/_docs/form-fieldset.md
  82. 0 22
      src/pages/_docs/form-image-check.md
  83. 0 23
      src/pages/_docs/form-selectboxes.md
  84. 0 20
      src/pages/_docs/form-validation.md
  85. 0 53
      src/pages/_docs/icons.md
  86. 0 27
      src/pages/_docs/index.html
  87. 0 21
      src/pages/_docs/inline-player.md
  88. 0 57
      src/pages/_docs/modals.md
  89. 0 40
      src/pages/_docs/page-headers.md
  90. 0 46
      src/pages/_docs/payments.md
  91. 0 166
      src/pages/_docs/placeholder.md
  92. 0 69
      src/pages/_docs/progress.md
  93. 0 13
      src/pages/_docs/progressbg.md
  94. 0 150
      src/pages/_docs/range-slider.md
  95. 0 62
      src/pages/_docs/ribbons.md
  96. 0 87
      src/pages/_docs/spinners.md
  97. 0 77
      src/pages/_docs/statuses.md
  98. 0 59
      src/pages/_docs/steps.md
  99. 0 31
      src/pages/_docs/switch-icon.md
  100. 0 118
      src/pages/_docs/tables.md

+ 1 - 1
README.md

@@ -40,7 +40,7 @@ We've created this admin panel for everyone who wants to create templates based
 
 ## 📖 Documentation
 
-Documentation is available as a part of Tabler preview: https://preview.tabler.io/docs/
+Documentation is available as a part of Tabler preview: https://tabler.io/docs/
 
 ## 🪴 Project Activity
 

+ 1 - 8
_config.yml

@@ -22,6 +22,7 @@ github-sponsors-url: https://github.com/sponsors/codecalm
 changelog-url: https://github.com/tabler/tabler/releases
 sponsor-url: https://github.com/sponsors/codecalm
 preview-url: https://preview.tabler.io
+docs-url: https://tabler.io/docs
 
 mapbox-key: pk.eyJ1IjoiY29kZWNhbG0iLCJhIjoiSzRiOVJvQSJ9.BUVkTT6IYs83xSUs4H7bjQ
 google-maps-key: AIzaSyAr5mRB4U1KRkVznIrDWEvZjroYcD202DI
@@ -59,10 +60,6 @@ jekyll_tidy:
   compress_html: false
   ignore_env: development
 
-collections:
-  docs:
-    output: true
-
 defaults:
   - scope:
       type: "pages"
@@ -73,10 +70,6 @@ defaults:
       type: "pages"
     values:
       layout: default
-  - scope:
-      type: "docs"
-    values:
-      layout: docs
 
 colors:
   blue:

+ 15 - 8
src/pages/_docs/colors.md → docs/base/colors.mdx

@@ -1,20 +1,27 @@
 ---
 title: Colors
-menu: help.docs.content.colors
-description: The choice of colors for a website or app interface has an big influence on how users interact with the product and what decisions they make. Harmonic colors can contribute to a nice first impression and encourage users to engage with your product, so it's a very important aspect of a successful design, which needs to be well thought out. 
-bootstrap-link: utilities/colors/
+description: The choice of colors for a website or app interface has an big influence on how users interact with the product and what decisions they make. Harmonic colors can contribute to a nice first impression and encourage users to engage with your product, so it's a very important aspect of a successful design, which needs to be well thought out.
+bootstrapLink: utilities/colors/
 ---
 
+import config from '../config.json'
 
 ## Base colors
 
-Choose one of the available colors from the basic color palette and make your design attractive for users. You can use the colors to customize the design of components, indicate different states or suggest actions you want users to take.   
+Choose one of the available colors from the basic color palette and make your design attractive for users. You can use the colors to customize the design of components, indicate different states or suggest actions you want users to take.
 
-{% include example/colors-table.html %}
+<ColorsTable colors={config.colors.base} />
 
+## Light colors
 
-## Light colors 
+All available colors can come in pastel shades, which are perfect for more subtle designs and can be easily combined with the basic palette to create eye-cathing designs.
 
-All available colors can come in pastel shades, which are perfect for more subtle designs and can be easily combined with the basic palette to create eye-cathing designs. 
+<ColorsTable colors={config.colors.light} />
 
-{% include example/colors-table.html light=true %}
+## Gray palette
+
+<ColorsTable colors={config.colors.grays} />
+
+## Social colors
+
+<ColorsTable colors={config.colors.social} />

+ 300 - 0
docs/base/typography.mdx

@@ -0,0 +1,300 @@
+---
+title: Typography
+description: Typography plays an important role in creating an attractive and clear interface design. Good typography will make the content easy to follow and improve the usability of your website.
+bootstrapLink: content/typography/
+---
+
+## Headings
+
+Use HTML headings to organize content on your website and make the structure clear and user-friendly.
+
+```html example vertical
+<h1>H1 Heading</h1>
+<h2>H2 Heading</h2>
+<h3>H3 Heading</h3>
+<h4>H4 Heading</h4>
+<h5>H5 Heading</h5>
+<h6>H6 Heading</h6>
+```
+
+```html
+<h1>H1 Heading</h1>
+<h2>H2 Heading</h2>
+<h3>H3 Heading</h3>
+<h4>H4 Heading</h4>
+<h5>H5 Heading</h5>
+<h6>H6 Heading</h6>
+```
+
+## Paragraphs
+
+Organize longer pieces of text into paragraphs using the `p` tag.
+
+```html example vertical centered columns={2}
+<div>
+  <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
+  <p>At vero eos et accusam et justo duo dolores et ea rebum.</p>
+</div>
+```
+
+```html
+<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
+<p>At vero eos et accusam et justo duo dolores et ea rebum.</p>
+```
+
+## Semantic text elements
+
+Use a variety of semantic text elements, depending of how you want to display particular fragments of content.
+
+```html example vertical separated columns={1}
+<div><abbr title="Internationalization">I1f8N</abbr></div>
+<div><strong>Bold</strong></div>
+<div><cite>Citation</cite></div>
+<div><code>Hello World!</code></div>
+<div><del>Deleted</del></div>
+<div><em>Emphasis</em></div>
+<div><i>Italic</i></div>
+<div><ins>Inserted</ins></div>
+<div><kbd>Ctrl + S</kbd></div>
+<div><mark>Highlighted</mark></div>
+<div><s>Strikethrough</s></div>
+<div><samp>Sample</samp></div>
+<div>Text <sub>Subscripted</sub></div>
+<div>Text <sup>Superscripted</sup></div>
+<div><time>20:00</time></div>
+<div><u>Underline</u></div>
+<div><var>x</var> = <var>y</var> + 2</div>
+```
+
+```html
+<abbr title="Internationalization">I18N</abbr>
+<strong>Bold</strong>
+<cite>Citation</cite>
+<code>Hello World!</code>
+<del>Deleted</del>
+<em>Emphasis</em>
+<i>Italic</i>
+<ins>Inserted</ins>
+<kbd>Ctrl + S</kbd>
+<mark>Highlighted</mark>
+<s>Strikethrough</s>
+<samp>Sample</samp>
+Text <sub>Subscripted</sub>
+Text <sup>Superscripted</sup>
+<time>20:00</time>
+<u>Underline</u>
+<var>x</var> = <var>y</var> + 2
+```
+
+## Horizontal rules
+
+Use the `hr` tag to represent a thematic break between paragraphs within one section.
+
+```html example vertical centered columns={2}
+<div>
+  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. A atque ex excepturi fuga magnam nam reiciendis velit. Amet eius eos eveniet fuga in ipsa, ipsum voluptatum. Dolorem expedita quibusdam veniam?</p>
+  <hr />
+  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. A atque ex excepturi fuga magnam nam reiciendis velit. Amet eius eos eveniet fuga in ipsa, ipsum voluptatum. Dolorem expedita quibusdam veniam?</p>
+</div>
+```
+
+```html
+<hr />
+```
+
+## Horizontal rules with label
+
+You can also add a label to a horizontal rule and align it as you see fit.
+
+```html code example vertical centered columns={2}
+<p>
+  Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
+</p>
+<div class="hr-text">
+  <span>Rule text</span>
+</div>
+<p>
+  At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
+</p>
+<div class="hr-text hr-text-center">
+  <span>Rule text</span>
+</div>
+<p>
+  Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
+</p>
+<div class="hr-text hr-text-end">
+  <span>Rule text</span>
+</div>
+<p>
+  At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
+</p>
+```
+
+## Optimized for different alphabets
+
+Tabler has been optimized to correctly display content in any language. It supports most Asian, African and Middle Eastern languages.
+
+```html example vertical centered columns={2}
+<p>汉字</p>
+<p>日本語の表記体系</p>
+<p>한글</p>
+<p>Кириллица</p>
+<p>Eλληνική</p>
+<p>ქართული დამწერლობა</p>
+<p>Հայերենի այբուբեն</p>
+<p>الحروف العربية</p>
+<p>אלפבית עברי</p>
+<p>อักษรไทย</p>
+```
+
+```html
+<h5>Chinese</h5>
+<p>汉字</p>
+
+<h5>Japanese</h5>
+<p>日本語の表記体系</p>
+
+<h5>Korean</h5>
+<p>한글</p>
+
+<h5>Cyrillic</h5>
+<p>Кириллица</p>
+
+<h5>Greek</h5>
+<p>Eλληνική</p>
+
+<h5>Georgian</h5>
+<p>ქართული დამწერლობა</p>
+
+<h5>Armenian</h5>
+<p>Հայերենի այբուբեն</p>
+
+<h5>Arabic</h5>
+<p>الحروف العربية</p>
+
+<h5>Hebrew</h5>
+<p>אלפבית עברי</p>
+
+<h5>Thai</h5>
+<p>อักษรไทย</p>
+```
+
+## Text transform
+
+Transform the content of components with text capitalization classes.
+
+```html example vertical
+<div class="text-lowercase">Lowercased text.</div>
+<div class="text-uppercase">Uppercased text.</div>
+<div class="text-capitalize">Capitalized text.</div>
+```
+
+```html
+<p class="text-lowercase">Lowercased text.</p>
+<p class="text-uppercase">Uppercased text.</p>
+<p class="text-capitalize">Capitalized text.</p>
+```
+
+## Letter spacing
+
+Control the tracking (letter spacing) of an element and make it tight, wide or normal.
+
+```html example vertical
+<div class="tracking-tight">Lorem ipsum dolor sit amet. Tight letter spacing.</div>
+<div class="tracking-normal">Lorem ipsum dolor sit amet. Normal letter spacing.</div>
+<div class="tracking-wide">Lorem ipsum dolor sit amet. Wide letter spacing.</div>
+```
+
+```html
+<p class="tracking-tight">Lorem ipsum dolor sit amet. Tight letter spacing.</p>
+<p class="tracking-normal">Lorem ipsum dolor sit amet. Normal letter spacing.</p>
+<p class="tracking-wide">Lorem ipsum dolor sit amet. Wide letter spacing.</p>
+```
+
+## Line height
+
+Control the leading (line height) of an element.
+
+```html example
+<div class="row">
+  <div class="col">
+    <div class="card">
+      <div class="card-body">
+        <div class="lh-1">Lorem ipsum dolor sit amet. Dolor sit amet.</div>
+      </div>
+    </div>
+  </div>
+  <div class="col">
+    <div class="card">
+      <div class="card-body">
+        <div class="lh-sm">Lorem ipsum dolor sit amet. Dolor sit amet.</div>
+      </div>
+    </div>
+  </div>
+  <div class="col">
+    <div class="card">
+      <div class="card-body">
+        <div class="lh-base">Lorem ipsum dolor sit amet. Dolor sit amet.</div>
+      </div>
+    </div>
+  </div>
+  <div class="col">
+    <div class="card">
+      <div class="card-body">
+        <div class="lh-lg">Lorem ipsum dolor sit amet. Dolor sit amet.</div>
+      </div>
+    </div>
+  </div>
+</div>
+```
+
+```html
+<p class="lh-1">Lorem ipsum dolor sit amet. Dolor sit amet.</p>
+<p class="lh-sm">Lorem ipsum dolor sit amet. Dolor sit amet.</p>
+<p class="lh-base">Lorem ipsum dolor sit amet. Dolor sit amet.</p>
+<p class="lh-lg">Lorem ipsum dolor sit amet. Dolor sit amet.</p>
+```
+
+## Antialiasing
+
+Control the font smoothing of an element.
+
+Use the `.antialiased` utility to render text using subpixel antialiasing or use the `.subpixel-antialiased` utility to remove antialiasing.
+
+```html code example
+<div class="antialiased">Text with antialiasing</div>
+<div class="subpixel-antialiased">Text without antialiasing</div>
+```
+
+## Keyboard input
+
+Use the `<kbd>` to indicate input that is typically entered via keyboard.
+
+```html example centered
+<div>
+  To edit settings, press <kbd>ctrl</kbd> + <kbd>,</kbd> or <kbd>ctrl</kbd> + <kbd>C</kbd>.
+</div>
+```
+
+```html
+To edit settings, press <kbd>ctrl</kbd> + <kbd>,</kbd> or <kbd>ctrl</kbd> + <kbd>C</kbd>.
+```
+
+## Markdown elements
+
+If you can't use the CSS classes you want or if you just want to use HTML tags, use the `.markdown` class in a container. It can handle almost any HTML tag.
+
+```html code example centered background="white" columns={2} height="30rem"
+<div class="markdown">
+  <h1>Hello World</h1>
+  <p>Lorem ipsum<sup>[1]</sup> dolor sit amet, consectetur adipiscing elit. Nulla accumsan, metus ultrices eleifend gravida, nulla nunc varius lectus, nec rutrum justo nibh eu lectus. Ut vulputate semper dui. Fusce erat odio, sollicitudin vel erat vel, interdum mattis neque. Sub<sub>script</sub> works as well!</p>
+  <h2>Second level</h2>
+  <p>Curabitur accumsan turpis pharetra <strong>augue tincidunt</strong> blandit. Quisque condimentum maximus mi, sit amet commodo arcu rutrum id. Proin pretium urna vel cursus venenatis. Suspendisse potenti. Etiam mattis sem rhoncus lacus dapibus facilisis. Donec at dignissim dui. Ut et neque nisl.</p>
+  <ul>
+    <li>In fermentum leo eu lectus mollis, quis dictum mi aliquet.</li>
+    <li>Morbi eu nulla lobortis, lobortis est in, fringilla felis.</li>
+    <li>Aliquam nec felis in sapien venenatis viverra fermentum nec lectus.</li>
+    <li>Ut non enim metus.</li>
+  </ul>
+</div>
+```

+ 421 - 0
docs/components/alerts.mdx

@@ -0,0 +1,421 @@
+---
+title: Alerts
+description: Alert messages are used to inform users of the status of their action and help them solve any problems that might have occurred. Good design of alert modals is very important for the overall user experience of a website or app.
+bootstrapLink: components/alerts/
+---
+
+## Default markup
+
+Depending on the information you need to convey, you can use one of the following types of alert messages - **success**, **info**, **warning** or **danger**. Using the right type of alert modal will help draw users' attention to the message and prompt them to take action.
+
+```html example
+<div class="alert alert-success" role="alert">
+  <h4 class="alert-title">Wow! Everything worked!</h4>
+  <div class="text-muted">Your account has been saved!</div>
+</div>
+<div class="alert alert-info" role="alert">
+  <h4 class="alert-title">Did you know?</h4>
+  <div class="text-muted">Here is something that you might like to know.</div>
+</div>
+<div class="alert alert-warning" role="alert">
+  <h4 class="alert-title">Uh oh, something went wrong</h4>
+  <div class="text-muted">Sorry! There was a problem with your request.</div>
+</div>
+<div class="alert alert-danger" role="alert">
+  <h4 class="alert-title">I'm so sorry&hellip;</h4>
+  <div class="text-muted">Your account has been deleted and can't be restored.</div>
+</div>
+```
+
+```html
+<div class="alert alert-success" role="alert">
+  <h4 class="alert-title">Wow! Everything worked!</h4>
+  <div class="text-muted">Your account has been saved!</div>
+</div>
+```
+
+## Alert links
+
+Add a link to your alert message to redirect users to the details they need to complete or additional information they should read.
+
+```html example
+<div class="alert alert-danger m-0">
+  This is a danger alert — <a href="#" class="alert-link">check it out</a>!
+</div>
+```
+
+```html
+<div class="alert alert-danger" role="alert">
+  This is a danger alert — <a href="#" class="alert-link">check it out</a>!
+</div>
+```
+
+## Dismissible alerts
+
+Add the `x` close button to make an alert modal dismissible. Thanks to that, your alert modal will disappear only once the user closes it.
+
+```html example
+<div class="alert alert-success alert-dismissible" role="alert">
+  <div class="d-flex">
+    <div>
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon alert-icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <path d="M5 12l5 5l10 -10" />
+      </svg>
+    </div>
+    <div>
+      <h4 class="alert-title">Wow! Everything worked!</h4>
+      <div class="text-muted">Your account has been saved!</div>
+    </div>
+  </div>
+  <a class="btn-close" data-bs-dismiss="alert" aria-label="close"></a>
+</div>
+<div class="alert alert-info alert-dismissible" role="alert">
+  <div class="d-flex">
+    <div>
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon alert-icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <circle cx="12" cy="12" r="9" />
+        <line x1="12" y1="8" x2="12.01" y2="8" />
+        <polyline points="11 12 12 12 12 16 13 16" />
+      </svg>
+    </div>
+    <div>
+      <h4 class="alert-title">Did you know?</h4>
+      <div class="text-muted">Here is something that you might like to know.</div>
+    </div>
+  </div>
+  <a class="btn-close" data-bs-dismiss="alert" aria-label="close"></a>
+</div>
+<div class="alert alert-warning alert-dismissible" role="alert">
+  <div class="d-flex">
+    <div>
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon alert-icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <path d="M12 9v2m0 4v.01" />
+        <path d="M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75" />
+      </svg>
+    </div>
+    <div>
+      <h4 class="alert-title">Uh oh, something went wrong</h4>
+      <div class="text-muted">Sorry! There was a problem with your request.</div>
+    </div>
+  </div>
+  <a class="btn-close" data-bs-dismiss="alert" aria-label="close"></a>
+</div>
+<div class="alert alert-danger alert-dismissible" role="alert">
+  <div class="d-flex">
+    <div>
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon alert-icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <circle cx="12" cy="12" r="9" />
+        <line x1="12" y1="8" x2="12" y2="12" />
+        <line x1="12" y1="16" x2="12.01" y2="16" />
+      </svg>
+    </div>
+    <div>
+      <h4 class="alert-title">I'm so sorry&hellip;</h4>
+      <div class="text-muted">Your account has been deleted and can't be restored.</div>
+    </div>
+  </div>
+  <a class="btn-close" data-bs-dismiss="alert" aria-label="close"></a>
+</div>
+```
+
+```html
+<div class="alert alert-success alert-dismissible" role="alert">
+  <div class="d-flex">
+    <div>
+      <!-- SVG icon from http://tabler-icons.io/i/check -->
+      <svg>...</svg>
+    </div>
+    <div>
+      <h4 class="alert-title">Wow! Everything worked!</h4>
+      <div class="text-muted">Your account has been saved!</div>
+    </div>
+  </div>
+  <a class="btn-close" data-bs-dismiss="alert" aria-label="close"></a>
+</div>
+```
+
+## Alerts with icons
+
+Add an icon to your alert modal to make it more user-friendly and help users easily identify the message.
+
+```html example
+<div class="alert alert-success" role="alert">
+  <div class="d-flex">
+    <div>
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon alert-icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <path d="M5 12l5 5l10 -10" />
+      </svg>
+    </div>
+    <div>
+      <h4 class="alert-title">Wow! Everything worked!</h4>
+      <div class="text-muted">Your account has been saved!</div>
+    </div>
+  </div>
+</div>
+<div class="alert alert-info" role="alert">
+  <div class="d-flex">
+    <div>
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon alert-icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <circle cx="12" cy="12" r="9" />
+        <line x1="12" y1="8" x2="12.01" y2="8" />
+        <polyline points="11 12 12 12 12 16 13 16" />
+      </svg>
+    </div>
+    <div>
+      <h4 class="alert-title">Did you know?</h4>
+      <div class="text-muted">Here is something that you might like to know.</div>
+    </div>
+  </div>
+</div>
+<div class="alert alert-warning" role="alert">
+  <div class="d-flex">
+    <div>
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon alert-icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <path d="M12 9v2m0 4v.01" />
+        <path d="M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75" />
+      </svg>
+    </div>
+    <div>
+      <h4 class="alert-title">Uh oh, something went wrong</h4>
+      <div class="text-muted">Sorry! There was a problem with your request.</div>
+    </div>
+  </div>
+</div>
+<div class="alert alert-danger" role="alert">
+  <div class="d-flex">
+    <div>
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon alert-icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <circle cx="12" cy="12" r="9" />
+        <line x1="12" y1="8" x2="12" y2="12" />
+        <line x1="12" y1="16" x2="12.01" y2="16" />
+      </svg>
+    </div>
+    <div>
+      <h4 class="alert-title">I'm so sorry&hellip;</h4>
+      <div class="text-muted">Your account has been deleted and can't be restored.</div>
+    </div>
+  </div>
+</div>
+```
+
+```html
+<div class="alert alert-success" role="alert">
+  <div class="d-flex">
+    <div>
+      <!-- SVG icon from http://tabler-icons.io/i/check -->
+      <svg>...</svg>
+    </div>
+    <div>
+      <h4 class="alert-title">Wow! Everything worked!</h4>
+      <div class="text-muted">Your account has been saved!</div>
+    </div>
+  </div>
+</div>
+<div class="alert alert-info" role="alert">
+  <div class="d-flex">
+    <div>
+      <!-- SVG icon from http://tabler-icons.io/i/info-circle -->
+      <svg>...</svg>
+    </div>
+    <div>
+      <h4 class="alert-title">Did you know?</h4>
+      <div class="text-muted">Here is something that you might like to know.</div>
+    </div>
+  </div>
+</div>
+<div class="alert alert-warning" role="alert">
+  <div class="d-flex">
+    <div>
+      <!-- SVG icon from http://tabler-icons.io/i/alert-triangle -->
+      <svg>...</svg>
+    </div>
+    <div>
+      <h4 class="alert-title">Uh oh, something went wrong</h4>
+      <div class="text-muted">Sorry! There was a problem with your request.</div>
+    </div>
+  </div>
+</div>
+<div class="alert alert-danger" role="alert">
+  <div class="d-flex">
+    <div>
+      <!-- SVG icon from http://tabler-icons.io/i/alert-circle -->
+      <svg>...</svg>
+    </div>
+    <div>
+      <h4 class="alert-title">I'm so sorry&hellip;</h4>
+      <div class="text-muted">Your account has been deleted and can't be restored.</div>
+    </div>
+  </div>
+</div>
+```
+
+## Alert with avatar
+
+Add an avatar to your alert modal to make it more personalized.
+
+```html code example
+<div class="alert alert-success" role="alert">
+  <div class="d-flex">
+    <div>
+      <span class="avatar float-start me-3"></span>
+    </div>
+    <div>
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit.
+    </div>
+  </div>
+</div>
+<div class="alert alert-info" role="alert">
+  <div class="d-flex">
+    <div>
+      <span class="avatar float-start me-3">JL</span>
+    </div>
+    <div>
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit.
+    </div>
+  </div>
+</div>
+<div class="alert alert-warning" role="alert">
+  <div class="d-flex">
+    <div>
+      <span class="avatar float-start me-3"></span>
+    </div>
+    <div>
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit.
+    </div>
+  </div>
+</div>
+<div class="alert alert-danger" role="alert">
+  <div class="d-flex">
+    <div>
+      <span class="avatar float-start me-3"></span>
+    </div>
+    <div>
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit.
+    </div>
+  </div>
+</div>
+```
+
+## Alert with buttons
+
+Add primary and secondary buttons to your alert modals if you want users to take a particular action based on the information included in the modal message.
+
+```html code example
+<div class="alert alert-success alert-dismissible" role="alert">
+  <h3 class="mb-1">Some Title</h3>
+  <p>Lorem ipsum Minim ad pariatur eiusmod ea ut nulla aliqua est quis id dolore minim voluptate.</p>
+  <div class="btn-list">
+    <a href="#" class="btn btn-success">Okay</a>
+    <a href="#" class="btn">Cancel</a>
+  </div>
+  <a class="btn-close" data-bs-dismiss="alert" aria-label="close"></a>
+</div>
+<div class="alert alert-info alert-dismissible" role="alert">
+  <h3 class="mb-1">Some Title</h3>
+  <p>Lorem ipsum Minim ad pariatur eiusmod ea ut nulla aliqua est quis id dolore minim voluptate.</p>
+  <div class="btn-list">
+    <a href="#" class="btn btn-info">Okay</a>
+    <a href="#" class="btn">Cancel</a>
+  </div>
+  <a class="btn-close" data-bs-dismiss="alert" aria-label="close"></a>
+</div>
+<div class="alert alert-warning alert-dismissible" role="alert">
+  <h3 class="mb-1">Some Title</h3>
+  <p>Lorem ipsum Minim ad pariatur eiusmod ea ut nulla aliqua est quis id dolore minim voluptate.</p>
+  <div class="btn-list">
+    <a href="#" class="btn btn-warning">Okay</a>
+    <a href="#" class="btn">Cancel</a>
+  </div>
+  <a class="btn-close" data-bs-dismiss="alert" aria-label="close"></a>
+</div>
+<div class="alert alert-danger alert-dismissible" role="alert">
+  <h3 class="mb-1">Some Title</h3>
+  <p>Lorem ipsum Minim ad pariatur eiusmod ea ut nulla aliqua est quis id dolore minim voluptate.</p>
+  <div class="btn-list">
+    <a href="#" class="btn btn-danger">Okay</a>
+    <a href="#" class="btn">Cancel</a>
+  </div>
+  <a class="btn-close" data-bs-dismiss="alert" aria-label="close"></a>
+</div>
+```
+
+## Important alerts
+
+If you want your alert to be really eye-catching, you can add a class `alert-important`.
+
+```html example
+<div class="alert alert-important alert-danger alert-dismissible" role="alert">
+  <div class="d-flex">
+    <div>
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon alert-icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <circle cx="12" cy="12" r="9" />
+        <line x1="12" y1="8" x2="12" y2="12" />
+        <line x1="12" y1="16" x2="12.01" y2="16" />
+      </svg>
+    </div>
+    <div>Your account has been deleted and can't be restored.</div>
+  </div>
+  <a class="btn-close btn-close-white" data-bs-dismiss="alert" aria-label="close"></a>
+</div>
+```
+
+```html
+<div class="alert alert-important alert-success alert-dismissible" role="alert">
+  <div class="d-flex">
+    <div>
+      <!-- SVG icon from http://tabler-icons.io/i/check -->
+      <svg>...</svg>
+    </div>
+    <div>
+      Your account has been saved!
+    </div>
+  </div>
+  <a class="btn-close btn-close-white" data-bs-dismiss="alert" aria-label="close"></a>
+</div>
+<div class="alert alert-important alert-info alert-dismissible" role="alert">
+  <div class="d-flex">
+    <div>
+      <!-- SVG icon from http://tabler-icons.io/i/info-circle -->
+      <svg>...</svg>
+    </div>
+    <div>
+      Here is something that you might like to know.
+    </div>
+  </div>
+  <a class="btn-close btn-close-white" data-bs-dismiss="alert" aria-label="close"></a>
+</div>
+<div class="alert alert-important alert-warning alert-dismissible" role="alert">
+  <div class="d-flex">
+    <div>
+      <!-- SVG icon from http://tabler-icons.io/i/alert-triangle -->
+      <svg>...</svg>
+    </div>
+    <div>
+      Sorry! There was a problem with your request.
+    </div>
+  </div>
+  <a class="btn-close btn-close-white" data-bs-dismiss="alert" aria-label="close"></a>
+</div>
+<div class="alert alert-important alert-danger alert-dismissible" role="alert">
+  <div class="d-flex">
+    <div>
+      <!-- SVG icon from http://tabler-icons.io/i/alert-circle -->
+      <svg>...</svg>
+    </div>
+    <div>
+      Your account has been deleted and can't be restored.
+    </div>
+  </div>
+  <a class="btn-close btn-close-white" data-bs-dismiss="alert" aria-label="close"></a>
+</div>
+```
+

+ 4 - 6
src/pages/_docs/autosize.md → docs/components/autosize.mdx

@@ -1,6 +1,5 @@
 ---
 title: Autosize
-menu: help.docs.plugins.autosize
 description: The autosize element will automatically adjust the textarea height and make it easier for users to follow as they type.
 libs: autosize
 ---
@@ -9,10 +8,9 @@ To be able to use the autosize in your application you will need to install the
 
 ## Default markup
 
-Add the autosize element to your input to make it automatically adjust to the length of a text as a user types it. 
+Add the autosize element to your input to make it automatically adjust to the length of a text as a user types it.
 
-{% capture code %}
+```html code example centered columns={1} scrollable
 <label class="form-label">Autosize example</label>
-{% include ui/form/textarea-autosize.html %}
-{% endcapture %}
-{% include example.html code=code %}
+<textarea class="form-control" data-bs-toggle="autosize" placeholder="Type something…"></textarea>
+```

+ 172 - 0
docs/components/avatars.mdx

@@ -0,0 +1,172 @@
+---
+title: Avatars
+description: Avatars help customise various elements of a user interface and make the product experience more personalised. They are often used in communication apps, collaboration tools and social media.
+---
+
+## Default markup
+
+Use the `avatar` class to add an avatar to your interface design for greater customisation.
+
+```html example centered separated code
+<span class="avatar" style="background-image: url(/samples/avatars/002f.jpg)"></span>
+<span class="avatar">JL</span>
+<span class="avatar" style="background-image: url(/samples/avatars/004f.jpg)"></span>
+```
+
+## Avatar image
+
+Set an image as the background to make users easy to indentify and create a personalised experience.
+
+```html example centered separated code
+<span class="avatar" style="background-image: url(/samples/avatars/016f.jpg)"></span>
+<span class="avatar" style="background-image: url(/samples/avatars/022m.jpg)"></span>
+<span class="avatar" style="background-image: url(/samples/avatars/036m.jpg)"></span>
+```
+
+## Initials
+
+You can also use initials instead of pictures.
+
+```html example centered separated code
+<span class="avatar">AB</span>
+<span class="avatar">CD</span>
+<span class="avatar">EF</span>
+<span class="avatar">GH</span>
+<span class="avatar">IJ</span>
+```
+
+## Avatar icons
+
+Apart from pictures and initials, you can also use icons to make the avatars more universal.
+
+```html example centered separated
+<span class="avatar">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon avatar-icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <circle cx="12" cy="7" r="4" />
+    <path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2" />
+  </svg>
+</span>
+<span class="avatar">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon avatar-icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <line x1="12" y1="5" x2="12" y2="19" />
+    <line x1="5" y1="12" x2="19" y2="12" />
+  </svg>
+</span>
+<span class="avatar">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon avatar-icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <circle cx="9" cy="7" r="4" />
+    <path d="M3 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2" />
+    <path d="M16 11h6m-3 -3v6" />
+  </svg>
+</span>
+```
+
+```html
+<span class="avatar">
+  <!-- SVG icon from http://tabler-icons.io/i/user -->
+  <svg>...</svg>
+</span>
+```
+
+## Avatar initials color
+
+Customize the color of the avatars' background. You can click [here](colors) to see the list of available colors.
+
+```html example centered separated code
+<span class="avatar bg-green-lt">AB</span>
+<span class="avatar bg-red-lt">CD</span>
+<span class="avatar bg-yellow-lt">EF</span>
+<span class="avatar bg-primary-lt">GH</span>
+<span class="avatar bg-purple-lt">IJ</span>
+```
+
+## Avatar size
+
+Using Bootstrap’s typical naming structure, you can create a standard avatar or scale it up or down to different sizes based on what you need.
+
+```html example centered separated code
+<span class="avatar avatar-xl" style="background-image: url(/samples/avatars/000m.jpg)"></span>
+<span class="avatar avatar-lg" style="background-image: url(/samples/avatars/000m.jpg)"></span>
+<span class="avatar avatar-md" style="background-image: url(/samples/avatars/000m.jpg)"></span>
+<span class="avatar" style="background-image: url(/samples/avatars/000m.jpg)"></span>
+<span class="avatar avatar-sm" style="background-image: url(/samples/avatars/000m.jpg)"></span>
+<span class="avatar avatar-xs" style="background-image: url(/samples/avatars/000m.jpg)"></span>
+```
+
+## Avatar status
+
+Add a status indicator to your avatar to show, for instance, if a users is online or offline or indicate the number of messages they have received.
+
+```html example centered separated code
+<span class="avatar" style="background-image: url(/samples/avatars/018m.jpg)"></span>
+<span class="avatar" style="background-image: url(/samples/avatars/015m.jpg)">
+  <span class="badge bg-danger"></span>
+</span>
+<span class="avatar" style="background-image: url(/samples/avatars/022m.jpg)">
+  <span class="badge bg-success"></span>
+</span>
+<span class="avatar"><span class="badge bg-warning"></span>SA</span>
+<span class="avatar" style="background-image: url(/samples/avatars/022m.jpg)">
+  <span class="badge bg-info"></span>
+</span>
+<span class="avatar" style="background-image: url(/samples/avatars/048m.jpg)">
+  <span class="badge bg-gray">5</span>
+</span>
+```
+
+## Avatar shape
+
+Change the shape of an avatar with the default Bootstrap image classes. You can make them round or square and change their border radius.
+
+```html example centered separated
+<span class="avatar" style="background-image: url(/samples/avatars/019m.jpg)"></span>
+<span class="avatar rounded" style="background-image: url(/samples/avatars/039f.jpg)"></span>
+<span class="avatar rounded-circle">AA</span>
+<span class="avatar rounded-0" style="background-image: url(/samples/avatars/043f.jpg)"></span>
+<span class="avatar rounded-3" style="background-image: url(/samples/avatars/044f.jpg)"></span>
+```
+
+## Avatars list
+
+Create a list of avatars within one parent container.
+
+```html example centered separated code
+<div class="avatar-list">
+  <span class="avatar rounded" style="background-image: url(/samples/avatars/031f.jpg)"></span>
+  <span class="avatar rounded">JL</span>
+  <span class="avatar rounded" style="background-image: url(/samples/avatars/033f.jpg)"></span>
+  <span class="avatar rounded" style="background-image: url(/samples/avatars/017m.jpg)"></span>
+  <span class="avatar rounded" style="background-image: url(/samples/avatars/024m.jpg)"></span>
+</div>
+```
+
+## Stacked list
+
+Make the list stack once a certain number of avatars is reached to make it look clear and display well regardless of the screen size.
+
+```html example centered separated code
+<div class="avatar-list avatar-list-stacked">
+  <span class="avatar">EB</span>
+  <span class="avatar" style="background-image: url(/samples/avatars/026m.jpg)"></span>
+  <span class="avatar" style="background-image: url(/samples/avatars/016f.jpg)"></span>
+  <span class="avatar" style="background-image: url(/samples/avatars/028m.jpg)"></span>
+  <span class="avatar" style="background-image: url(/samples/avatars/030m.jpg)"></span>
+  <span class="avatar">+8</span>
+</div>
+```
+
+```html example centered separated code
+<div class="avatar-list avatar-list-stacked">
+  <span class="avatar avatar-sm rounded-circle" style="background-image: url(/samples/avatars/035m.jpg)"></span>
+  <span class="avatar avatar-sm rounded-circle" style="background-image: url(/samples/avatars/027f.jpg)"></span>
+  <span class="avatar avatar-sm rounded-circle" style="background-image: url(/samples/avatars/036f.jpg)"></span>
+  <span class="avatar avatar-sm rounded-circle">SA</span>
+  <span class="avatar avatar-sm rounded-circle" style="background-image: url(/samples/avatars/034f.jpg)"></span>
+  <span class="avatar avatar-sm rounded-circle" style="background-image: url(/samples/avatars/043f.jpg)"></span>
+  <span class="avatar avatar-sm rounded-circle" style="background-image: url(/samples/avatars/039f.jpg)"></span>
+  <span class="avatar avatar-sm rounded-circle" style="background-image: url(/samples/avatars/020m.jpg)"></span>
+</div>
+```

+ 129 - 0
docs/components/badges.mdx

@@ -0,0 +1,129 @@
+---
+title: Badges
+description: Badges are small count and labeling components, which are used to add extra information to an interface element. You can use them to draw users' attention to a new element, notify about unread messages or provide any kind of additional info.
+bootstrapLink: components/badge/
+---
+
+## Table of content
+
+## Default markup
+
+The default badges are square and come in the basic set of colors.
+
+```html code example centered separated
+<span class="badge bg-blue">Blue</span>
+<span class="badge bg-azure">Azure</span>
+<span class="badge bg-indigo">Indigo</span>
+<span class="badge bg-purple">Purple</span>
+<span class="badge bg-pink">Pink</span>
+<span class="badge bg-red">Red</span>
+<span class="badge bg-orange">Orange</span>
+<span class="badge bg-yellow">Yellow</span>
+<span class="badge bg-lime">Lime</span>
+<span class="badge bg-green">Green</span>
+<span class="badge bg-teal">Teal</span>
+<span class="badge bg-cyan">Cyan</span>
+```
+
+## Headings
+
+```html code example
+<h1>Example heading <span class="badge bg-secondary">New</span></h1>
+<h2>Example heading <span class="badge bg-secondary">New</span></h2>
+<h3>Example heading <span class="badge bg-secondary">New</span></h3>
+<h4>Example heading <span class="badge bg-secondary">New</span></h4>
+<h5>Example heading <span class="badge bg-secondary">New</span></h5>
+<h6>Example heading <span class="badge bg-secondary">New</span></h6>
+```
+
+## Outline badges
+
+```html code example centered separated
+<span class="badge badge-outline text-blue">blue</span>
+<span class="badge badge-outline text-azure">azure</span>
+<span class="badge badge-outline text-indigo">indigo</span>
+<span class="badge badge-outline text-purple">purple</span>
+<span class="badge badge-outline text-pink">pink</span>
+<span class="badge badge-outline text-red">red</span>
+<span class="badge badge-outline text-orange">orange</span>
+<span class="badge badge-outline text-yellow">yellow</span>
+<span class="badge badge-outline text-lime">lime</span>
+<span class="badge badge-outline text-green">green</span>
+<span class="badge badge-outline text-teal">teal</span>
+<span class="badge badge-outline text-cyan">cyan</span>
+```
+
+## Pill badges
+
+Use the `.badge-pill` class if you want to create a badge with rounded corners. Its width will adjust to the label text.
+
+```html code example centered separated
+<span class="badge badge-pill bg-blue">1</span>
+<span class="badge badge-pill bg-azure">2</span>
+<span class="badge badge-pill bg-indigo">3</span>
+<span class="badge badge-pill bg-purple">4</span>
+<span class="badge badge-pill bg-pink">5</span>
+<span class="badge badge-pill bg-red">6</span>
+<span class="badge badge-pill bg-orange">7</span>
+<span class="badge badge-pill bg-yellow">8</span>
+<span class="badge badge-pill bg-lime">9</span>
+<span class="badge badge-pill bg-green">10</span>
+<span class="badge badge-pill bg-teal">11</span>
+<span class="badge badge-pill bg-cyan">12</span>
+```
+
+## Soft color badges
+
+You can create a soft colour variant of a corresponding contextual badge variation, to make it look more subtle. Click [here](colors) to see the list of available colors and choose ones that best suit your design.
+
+```html code example centered separated
+<span class="badge bg-blue-lt">Blue</span>
+<span class="badge bg-azure-lt">Azure</span>
+<span class="badge bg-indigo-lt">Indigo</span>
+<span class="badge bg-purple-lt">Purple</span>
+<span class="badge bg-pink-lt">Pink</span>
+<span class="badge bg-red-lt">Red</span>
+<span class="badge bg-orange-lt">Orange</span>
+<span class="badge bg-yellow-lt">Yellow</span>
+<span class="badge bg-lime-lt">Lime</span>
+<span class="badge bg-green-lt">Green</span>
+<span class="badge bg-teal-lt">Teal</span>
+<span class="badge bg-cyan-lt">Cyan</span>
+```
+
+## Links
+
+Place the badge within an `<a>` element if you want it to perform the function of a link and make it clickable.
+
+```html code example centered separated
+<a href="#" class="badge bg-blue">Blue</a>
+<a href="#" class="badge bg-azure">Azure</a>
+<a href="#" class="badge bg-indigo">Indigo</a>
+<a href="#" class="badge bg-purple">Purple</a>
+<a href="#" class="badge bg-pink">Pink</a>
+<a href="#" class="badge bg-red">Red</a>
+<a href="#" class="badge bg-orange">Orange</a>
+<a href="#" class="badge bg-yellow">Yellow</a>
+<a href="#" class="badge bg-lime">Lime</a>
+<a href="#" class="badge bg-green">Green</a>
+<a href="#" class="badge bg-teal">Teal</a>
+<a href="#" class="badge bg-cyan">Cyan</a>
+```
+
+## Button with badge
+
+Badges can be used as part of links or buttons to provide a counter.
+
+```html example centered separated
+<button type="button" class="btn">Notifications <span class="badge bg-red ms-2">4</span></button>
+<button type="button" class="btn">Notifications <span class="badge bg-green ms-2">4</span></button>
+```
+
+```html
+<button type="button" class="btn">
+  Notifications <span class="badge bg-red ms-2">4</span>
+</button>
+<button type="button" class="btn">
+  Notifications <span class="badge bg-green ms-2">4</span>
+</button>
+```

+ 107 - 0
docs/components/breadcrumb.mdx

@@ -0,0 +1,107 @@
+---
+title: Breadcrumb
+description: Breadcrumbs are used to show the current website or app location and reduce the number of actions users have to take. Thanks to breadcrumbs, they can easily navigate within the website hierarchy and better understand its structure.
+bootstrapLink: components/breadcrumb/
+---
+
+## Default markup
+
+Add the `:before` pseudo-element in `li` tags to use the default separators. The `active` modifier in a `li` tag will help you indicate the current page location and facilitate navigation within your website or app.
+
+```html code example centered
+<ol class="breadcrumb" aria-label="breadcrumbs">
+  <li class="breadcrumb-item"><a href="#">Home</a></li>
+  <li class="breadcrumb-item"><a href="#">Library</a></li>
+  <li class="breadcrumb-item active" aria-current="page"><a href="#">Data</a></li>
+</ol>
+```
+
+## Breadcrumb variations
+
+If you wish to use different separators, modify the `$breadcrumb-variants` variable in the Tabler config. Depending on the aesthetics of your design, you can choose dots, bullets or arrows.
+
+```html code example centered
+<ol class="breadcrumb breadcrumb-dots" aria-label="breadcrumbs">
+  <li class="breadcrumb-item"><a href="#">Home</a></li>
+  <li class="breadcrumb-item"><a href="#">Library</a></li>
+  <li class="breadcrumb-item active" aria-current="page"><a href="#">Data</a></li>
+</ol>
+```
+
+```html code example centered
+<ol class="breadcrumb breadcrumb-arrows" aria-label="breadcrumbs">
+  <li class="breadcrumb-item"><a href="#">Home</a></li>
+  <li class="breadcrumb-item"><a href="#">Library</a></li>
+  <li class="breadcrumb-item active" aria-current="page"><a href="#">Data</a></li>
+</ol>
+```
+
+```html code example centered
+<ol class="breadcrumb breadcrumb-bullets" aria-label="breadcrumbs">
+  <li class="breadcrumb-item"><a href="#">Home</a></li>
+  <li class="breadcrumb-item"><a href="#">Library</a></li>
+  <li class="breadcrumb-item active" aria-current="page"><a href="#">Data</a></li>
+</ol>
+```
+
+## Breadcrumb in headers
+
+If you wish to use breadcrumbs in headers, place them above the headers.
+
+```html example vertical centered columns={3}
+<div class="page-header">
+  <div class="row align-items-center mw-100">
+    <div class="col">
+      <div class="mb-1">
+        <ol class="breadcrumb" aria-label="breadcrumbs">
+          <li class="breadcrumb-item"><a href="#">Home</a></li>
+          <li class="breadcrumb-item"><a href="#">Library</a></li>
+          <li class="breadcrumb-item active" aria-current="page"><a href="#">Articles</a></li>
+        </ol>
+      </div>
+      <h2 class="page-title">
+        <span class="text-truncate">Knights of Ni, we are but simple travelers who seek the enchanter who lives beyond these woods.</span>
+      </h2>
+    </div>
+    <div class="col-auto">
+      <div class="btn-list">
+        <a href="#" class="btn d-none d-md-inline-flex"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+            <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+            <path d="M7 7h-1a2 2 0 0 0 -2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2 -2v-1" />
+            <path d="M20.385 6.585a2.1 2.1 0 0 0 -2.97 -2.97l-8.415 8.385v3h3l8.385 -8.415z" />
+            <path d="M16 5l3 3" />
+          </svg> Edit</a>
+        <a href="#" class="btn btn-primary">Publish</a>
+      </div>
+    </div>
+  </div>
+</div>
+```
+
+```html
+<div class="page-header">
+  <div class="row align-items-center mw-100">
+    <div class="col">
+      <div class="mb-1">
+        <ol class="breadcrumb" aria-label="breadcrumbs">
+          <li class="breadcrumb-item"><a href="#">Home</a></li>
+          <li class="breadcrumb-item"><a href="#">Library</a></li>
+          <li class="breadcrumb-item active" aria-current="page"><a href="#">Articles</a></li>
+        </ol>
+      </div>
+      <h2 class="page-title">
+        <span class="text-truncate">Knights of Ni, we are but simple travelers who seek the enchanter who lives beyond these woods.</span>
+      </h2>
+    </div>
+    <div class="col-auto">
+      <div class="btn-list">
+        <a href="#" class="btn d-none d-md-inline-flex">
+          <!-- SVG icon from http://tabler-icons.io/i/edit -->
+          <svg>...</svg> Edit
+        </a>
+        <a href="#" class="btn btn-primary">Publish</a>
+      </div>
+    </div>
+  </div>
+</div>
+```

+ 863 - 0
docs/components/buttons.mdx

@@ -0,0 +1,863 @@
+---
+title: Buttons
+description: Use button styles that best suit your designs and encourage users to take the desired actions. You can customize the button's properties to improve the user experience of your website or system, changing the size, shape, color and many more.
+bootstrapLink: components/buttons/
+---
+
+## Button tag
+
+As one of the most common elements of UI design, buttons have a very important function of engaging users with your website or app and guiding them in their actions. Use the `.btn` classes with the `<button>` element and add additional styling that will make your buttons serve their purpose and draw users' attention.
+
+```html example code centered separated
+<a href="#" class="btn" role="button">Link</a>
+<button class="btn">Button</button>
+<input type="button" class="btn" value="Input" />
+<input type="submit" class="btn" value="Submit" />
+<input type="reset" class="btn" value="Reset" />
+```
+
+## Default button
+
+The standard button creates a white background and subtle hover animation. It's meant to look and behave as an interactive element of your page.
+
+```html example code centered separated
+<a href="#" class="btn" role="button">Link</a>
+```
+
+## Button variations
+
+Use the button classes that correspond to the function of your button. The big range of available colors will help you show your buttons' purpose and make them easy to spot.
+
+```html example code centered separated
+<a href="#" class="btn btn-primary">Primary</a>
+<a href="#" class="btn btn-secondary">Secondary</a>
+<a href="#" class="btn btn-success">Success</a>
+<a href="#" class="btn btn-warning">Warning</a>
+<a href="#" class="btn btn-danger">Danger</a>
+<a href="#" class="btn btn-info">Info</a>
+<a href="#" class="btn btn-dark">Dark</a>
+<a href="#" class="btn btn-light">Light</a>
+```
+
+## Disabled buttons
+
+Make buttons look inactive to show that an action is possible once the user meets certain criteria, such as completing the required fields to submit a form.
+
+```html example code centered separated
+<a href="#" class="btn btn-primary disabled">Primary</a>
+<a href="#" class="btn btn-secondary disabled">Secondary</a>
+<a href="#" class="btn btn-success disabled">Success</a>
+<a href="#" class="btn btn-warning disabled">Warning</a>
+<a href="#" class="btn btn-danger disabled">Danger</a>
+<a href="#" class="btn btn-info disabled">Info</a>
+<a href="#" class="btn btn-dark disabled">Dark</a>
+<a href="#" class="btn btn-light disabled">Light</a>
+```
+
+## Color variations
+
+Choose the right color for your button to make it go well with your design and draw users' attention. Button colors can have a big influence on users' decisions, which is why it's important to choose them based on the intended purpose.
+
+```html example code centered separated
+<a href="#" class="btn btn-blue">Blue</a>
+<a href="#" class="btn btn-azure">Azure</a>
+<a href="#" class="btn btn-indigo">Indigo</a>
+<a href="#" class="btn btn-purple">Purple</a>
+<a href="#" class="btn btn-pink">Pink</a>
+<a href="#" class="btn btn-red">Red</a>
+<a href="#" class="btn btn-orange">Orange</a>
+<a href="#" class="btn btn-yellow">Yellow</a>
+<a href="#" class="btn btn-lime">Lime</a>
+<a href="#" class="btn btn-green">Green</a>
+<a href="#" class="btn btn-teal">Teal</a>
+<a href="#" class="btn btn-cyan">Cyan</a>
+```
+
+## Ghost buttons
+
+Use the `.btn-ghost-*` class to make your button look simple yet aesthetically appealing. Ghost buttons help focus users' attention on the website's primary design, at the same time encouraging them to take action.
+
+```html example centered separated
+<a href="#" class="btn btn-ghost-primary">Primary</a>
+<a href="#" class="btn btn-ghost-secondary">Secondary</a>
+<a href="#" class="btn btn-ghost-success">Success</a>
+<a href="#" class="btn btn-ghost-warning">Warning</a>
+<a href="#" class="btn btn-ghost-danger">Danger</a>
+<a href="#" class="btn btn-ghost-info">Info</a>
+<a href="#" class="btn btn-ghost-dark">Dark</a>
+<div class="p-2 bg-dark"><a href="#" class="btn btn-ghost-light">Light</a></div>
+```
+
+```html
+<a href="#" class="btn btn-ghost-primary">Primary</a>
+<a href="#" class="btn btn-ghost-secondary">Secondary</a>
+<a href="#" class="btn btn-ghost-success">Success</a>
+<a href="#" class="btn btn-ghost-warning">Warning</a>
+<a href="#" class="btn btn-ghost-danger">Danger</a>
+<a href="#" class="btn btn-ghost-info">Info</a>
+<a href="#" class="btn btn-ghost-dark">Dark</a>
+<a href="#" class="btn btn-ghost-light">Light</a>
+```
+
+## Square buttons
+
+Use the `.btn-square` class to remove the border radius, if you want the corners of your button to be square rather than rounded.
+
+```html example centered separated
+<a href="#" class="btn btn-square">Square button</a>
+```
+
+```html
+<a href="#" class="btn btn-square">
+  Square button
+</a>
+```
+
+## Pill buttons
+
+Add the `.btn-pill` class to your button to make it rounded and give it a modern and attractive look.
+
+```html example centered separated
+<a href="#" class="btn btn-pill">Pill button</a>
+```
+
+```html
+<a href="#" class="btn btn-pill">
+  Pill button
+</a>
+```
+
+## Outline buttons
+
+Replace the default modifier class with the `.btn-outline-*` class, if you want to remove the color and the background of your button and give it a more subtle look. Outline buttons are perfect to use as secondary buttons, as they don't distract users from the main action.
+
+```html example centered separated
+<a href="#" class="btn btn-outline-primary">Primary</a>
+<a href="#" class="btn btn-outline-secondary">Secondary</a>
+<a href="#" class="btn btn-outline-success">Success</a>
+<a href="#" class="btn btn-outline-warning">Warning</a>
+<a href="#" class="btn btn-outline-danger">Danger</a>
+<a href="#" class="btn btn-outline-info">Info</a>
+<a href="#" class="btn btn-outline-dark">Dark</a>
+<a href="#" class="btn btn-outline-light">Light</a>
+```
+
+```html
+<a href="#" class="btn btn-outline-primary">
+  Primary
+</a>
+<a href="#" class="btn btn-outline-secondary">
+  Secondary
+</a>
+<a href="#" class="btn btn-outline-success">
+  Success
+</a>
+<a href="#" class="btn btn-outline-warning">
+  Warning
+</a>
+<a href="#" class="btn btn-outline-danger">
+  Danger
+</a>
+<a href="#" class="btn btn-outline-info">
+  Info
+</a>
+<a href="#" class="btn btn-outline-dark">
+  Dark
+</a>
+<a href="#" class="btn btn-outline-light">
+  Light
+</a>
+```
+
+## Button size
+
+Add `.btn-lg` or `.btn-sm` to change the size of your button and differentiate those which should have primary focus from those of secondary importance. Adapt the button size to your design and encourage users to take actions.
+
+```html code example centered separated
+<button type="button" class="btn btn-primary btn-lg">Large button</button>
+<button type="button" class="btn btn-lg">Large button</button>
+```
+
+```html code example centered separated
+<button type="button" class="btn btn-primary btn-sm">Small button</button>
+<button type="button" class="btn btn-sm">Small button</button>
+```
+
+## Buttons with icons
+
+Label your button with text and add an icon to communiacate the action and make it easy to identify for users. Icons are easily recognized and improve the aesthetics of your button design, giving it a modern and atractive look.
+
+Icons can be found [**here**](/docs/icons.html#icons)
+
+```html example centered separated
+<button type="button" class="btn"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2" />
+    <polyline points="7 9 12 4 17 9" />
+    <line x1="12" y1="4" x2="12" y2="16" />
+  </svg> Upload</button>
+<button type="button" class="btn btn-warning"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M19.5 12.572l-7.5 7.428l-7.5 -7.428m0 0a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572" />
+  </svg> I like</button>
+<button type="button" class="btn btn-success"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M5 12l5 5l10 -10" />
+  </svg> I agree</button>
+<button type="button" class="btn btn-primary"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <line x1="12" y1="5" x2="12" y2="19" />
+    <line x1="5" y1="12" x2="19" y2="12" />
+  </svg> More</button>
+<button type="button" class="btn btn-danger"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5" />
+    <path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5" />
+  </svg> Link</button>
+<button type="button" class="btn btn-info"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M3 20l1.3 -3.9a9 8 0 1 1 3.4 2.9l-4.7 1" />
+    <line x1="12" y1="12" x2="12" y2="12.01" />
+    <line x1="8" y1="12" x2="8" y2="12.01" />
+    <line x1="16" y1="12" x2="16" y2="12.01" />
+  </svg> Comment</button>
+```
+
+```html
+<button type="button" class="btn">
+  <!-- SVG icon from http://tabler-icons.io -->
+  <svg>...</svg>
+  Upload
+</button>
+<button type="button" class="btn btn-warning">
+  <!-- SVG icon from http://tabler-icons.io -->
+  <svg>...</svg>
+  I like
+</button>
+<button type="button" class="btn btn-success">
+  <!-- SVG icon from http://tabler-icons.io -->
+  <svg>...</svg>
+  I agree
+</button>
+<button type="button" class="btn btn-primary">
+  <!-- SVG icon from http://tabler-icons.io -->
+  <svg>...</svg>
+  More
+</button>
+<button type="button" class="btn btn-danger">
+  <!-- SVG icon from http://tabler-icons.io -->
+  <svg>...</svg>
+  Link
+</button>
+<button type="button" class="btn btn-info">
+  <!-- SVG icon from http://tabler-icons.io -->
+  <svg>...</svg>
+  Comment
+</button>
+```
+
+## Social buttons
+
+You can use the icons of popular social networking sites, which users are familiar with. Thanks to buttons with social media icons users can share content or follow a website with just one click, without leaving the website.
+
+```html example centered separated
+<a href="#" class="btn btn-facebook"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M7 10v4h3v7h4v-7h3l1 -4h-4v-2a1 1 0 0 1 1 -1h3v-4h-3a5 5 0 0 0 -5 5v2h-3" />
+  </svg> Facebook</a>
+<a href="#" class="btn btn-twitter"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M22 4.01c-1 .49 -1.98 .689 -3 .99c-1.121 -1.265 -2.783 -1.335 -4.38 -.737s-2.643 2.06 -2.62 3.737v1c-3.245 .083 -6.135 -1.395 -8 -4c0 0 -4.182 7.433 4 11c-1.872 1.247 -3.739 2.088 -6 2c3.308 1.803 6.913 2.423 10.034 1.517c3.58 -1.04 6.522 -3.723 7.651 -7.742a13.84 13.84 0 0 0 .497 -3.753c-.002 -.249 1.51 -2.772 1.818 -4.013z" />
+  </svg> Twitter</a>
+<a href="#" class="btn btn-google"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M17.788 5.108a9 9 0 1 0 3.212 6.892h-8" />
+  </svg> Google</a>
+<a href="#" class="btn btn-youtube"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <rect x="3" y="5" width="18" height="14" rx="4" />
+    <path d="M10 9l5 3l-5 3z" />
+  </svg> Youtube</a>
+<a href="#" class="btn btn-vimeo"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M3 8.5l1 1s1.5 -1.102 2 -.5c.509 .609 1.863 7.65 2.5 9c.556 1.184 1.978 2.89 4 1.5c2 -1.5 7.5 -5.5 8.5 -11.5c.444 -2.661 -1 -4 -2.5 -4c-2 0 -4.047 1.202 -4.5 4c2.05 -1.254 2.551 1.003 1.5 3c-1.052 2.005 -2 3 -2.5 3c-.49 0 -.924 -1.165 -1.5 -3.5c-.59 -2.42 -.5 -6.5 -3 -6.5s-5.5 4.5 -5.5 4.5z" />
+  </svg> Vimeo</a>
+<a href="#" class="btn btn-dribbble"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <circle cx="12" cy="12" r="9" />
+    <path d="M9 3.6c5 6 7 10.5 7.5 16.2" />
+    <path d="M6.4 19c3.5 -3.5 6 -6.5 14.5 -6.4" />
+    <path d="M3.1 10.75c5 0 9.814 -.38 15.314 -5" />
+  </svg> Dribbble</a>
+<a href="#" class="btn btn-github"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5" />
+  </svg> Github</a>
+<a href="#" class="btn btn-instagram"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <rect x="4" y="4" width="16" height="16" rx="4" />
+    <circle cx="12" cy="12" r="3" />
+    <line x1="16.5" y1="7.5" x2="16.5" y2="7.501" />
+  </svg> Instagram</a>
+<a href="#" class="btn btn-pinterest"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <line x1="8" y1="20" x2="12" y2="11" />
+    <path d="M10.7 14c.437 1.263 1.43 2 2.55 2c2.071 0 3.75 -1.554 3.75 -4a5 5 0 1 0 -9.7 1.7" />
+    <circle cx="12" cy="12" r="9" />
+  </svg> Pinterest</a>
+<a href="#" class="btn btn-vk"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M14 19h-4a8 8 0 0 1 -8 -8v-5h4v5a4 4 0 0 0 4 4h0v-9h4v4.5l.03 -.004a4.531 4.531 0 0 0 3.97 -4.496h4l-.342 1.711a6.858 6.858 0 0 1 -3.658 4.789h0a5.34 5.34 0 0 1 3.566 4.111l.434 2.389h0h-4a4.531 4.531 0 0 0 -3.97 -4.496v4.5z" />
+  </svg> VK</a>
+<a href="#" class="btn btn-rss"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <circle cx="5" cy="19" r="1" />
+    <path d="M4 4a16 16 0 0 1 16 16" />
+    <path d="M4 11a9 9 0 0 1 9 9" />
+  </svg> RSS</a>
+<a href="#" class="btn btn-flickr"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <circle cx="7" cy="12" r="3" />
+    <circle cx="17" cy="12" r="3" />
+  </svg> Flickr</a>
+<a href="#" class="btn btn-bitbucket"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M3.648 4a0.64 .64 0 0 0 -.64 .744l3.14 14.528c.07 .417 .43 .724 .852 .728h10a0.644 .644 0 0 0 .642 -.539l3.35 -14.71a0.641 .641 0 0 0 -.64 -.744l-16.704 -.007z" />
+    <path d="M14 15h-4l-1 -6h6z" />
+  </svg> Bitbucket</a>
+<a href="#" class="btn btn-tabler"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M8 9l3 3l-3 3" />
+    <line x1="13" y1="15" x2="16" y2="15" />
+    <rect x="4" y="4" width="16" height="16" rx="4" />
+  </svg> Tabler</a>
+```
+
+```html
+<a href="#" class="btn btn-facebook">
+  <!-- SVG icon from http://tabler-icons.io/i/brand-facebook -->
+  <svg>...</svg>
+  Facebook
+</a>
+<a href="#" class="btn btn-twitter">
+  <!-- SVG icon from http://tabler-icons.io/i/brand-twitter -->
+  <svg>...</svg>
+  Twitter
+</a>
+<a href="#" class="btn btn-google">
+  <!-- SVG icon from http://tabler-icons.io -->
+  <svg>...</svg>
+  Google
+</a>
+<a href="#" class="btn btn-youtube">
+  <!-- SVG icon from http://tabler-icons.io -->
+  <svg>...</svg>
+  Youtube
+</a>
+<a href="#" class="btn btn-vimeo">
+  <!-- SVG icon from http://tabler-icons.io -->
+  <svg>...</svg>
+  Vimeo
+</a>
+<a href="#" class="btn btn-dribbble">
+  <!-- SVG icon from http://tabler-icons.io -->
+  <svg>...</svg>
+  Dribbble
+</a>
+<a href="#" class="btn btn-github">
+  <!-- SVG icon from http://tabler-icons.io -->
+  <svg>...</svg>
+  Github
+</a>
+<a href="#" class="btn btn-instagram">
+  <!-- SVG icon from http://tabler-icons.io -->
+  <svg>...</svg>
+  Instagram
+</a>
+<a href="#" class="btn btn-pinterest">
+  <!-- SVG icon from http://tabler-icons.io -->
+  <svg>...</svg>
+  Pinterest
+</a>
+<a href="#" class="btn btn-vk">
+  <!-- SVG icon from http://tabler-icons.io -->
+  <svg>...</svg>
+  VK
+</a>
+<a href="#" class="btn btn-rss">
+  <!-- SVG icon from http://tabler-icons.io -->
+  <svg>...</svg>
+  RSS
+</a>
+<a href="#" class="btn btn-flickr">
+  <!-- SVG icon from http://tabler-icons.io -->
+  <svg>...</svg>
+  Flickr
+</a>
+<a href="#" class="btn btn-bitbucket">
+  <!-- SVG icon from http://tabler-icons.io -->
+  <svg>...</svg>
+  Bitbucket
+</a>
+<a href="#" class="btn btn-tabler">
+  <!-- SVG icon from http://tabler-icons.io -->
+  <svg>...</svg>
+  Tabler
+</a>
+```
+
+You can also add an icon without the name of a social networking site, if you want to display more buttons on a small space.
+
+```html example centered separated
+<a href="#" class="btn btn-facebook btn-icon" aria-label="Button">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M7 10v4h3v7h4v-7h3l1 -4h-4v-2a1 1 0 0 1 1 -1h3v-4h-3a5 5 0 0 0 -5 5v2h-3" />
+  </svg>
+</a>
+<a href="#" class="btn btn-twitter btn-icon" aria-label="Button">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M22 4.01c-1 .49 -1.98 .689 -3 .99c-1.121 -1.265 -2.783 -1.335 -4.38 -.737s-2.643 2.06 -2.62 3.737v1c-3.245 .083 -6.135 -1.395 -8 -4c0 0 -4.182 7.433 4 11c-1.872 1.247 -3.739 2.088 -6 2c3.308 1.803 6.913 2.423 10.034 1.517c3.58 -1.04 6.522 -3.723 7.651 -7.742a13.84 13.84 0 0 0 .497 -3.753c-.002 -.249 1.51 -2.772 1.818 -4.013z" />
+  </svg>
+</a>
+<a href="#" class="btn btn-google btn-icon" aria-label="Button">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M17.788 5.108a9 9 0 1 0 3.212 6.892h-8" />
+  </svg>
+</a>
+<a href="#" class="btn btn-youtube btn-icon" aria-label="Button">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <rect x="3" y="5" width="18" height="14" rx="4" />
+    <path d="M10 9l5 3l-5 3z" />
+  </svg>
+</a>
+<a href="#" class="btn btn-vimeo btn-icon" aria-label="Button">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M3 8.5l1 1s1.5 -1.102 2 -.5c.509 .609 1.863 7.65 2.5 9c.556 1.184 1.978 2.89 4 1.5c2 -1.5 7.5 -5.5 8.5 -11.5c.444 -2.661 -1 -4 -2.5 -4c-2 0 -4.047 1.202 -4.5 4c2.05 -1.254 2.551 1.003 1.5 3c-1.052 2.005 -2 3 -2.5 3c-.49 0 -.924 -1.165 -1.5 -3.5c-.59 -2.42 -.5 -6.5 -3 -6.5s-5.5 4.5 -5.5 4.5z" />
+  </svg>
+</a>
+<a href="#" class="btn btn-dribbble btn-icon" aria-label="Button">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <circle cx="12" cy="12" r="9" />
+    <path d="M9 3.6c5 6 7 10.5 7.5 16.2" />
+    <path d="M6.4 19c3.5 -3.5 6 -6.5 14.5 -6.4" />
+    <path d="M3.1 10.75c5 0 9.814 -.38 15.314 -5" />
+  </svg>
+</a>
+<a href="#" class="btn btn-github btn-icon" aria-label="Button">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5" />
+  </svg>
+</a>
+<a href="#" class="btn btn-instagram btn-icon" aria-label="Button">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <rect x="4" y="4" width="16" height="16" rx="4" />
+    <circle cx="12" cy="12" r="3" />
+    <line x1="16.5" y1="7.5" x2="16.5" y2="7.501" />
+  </svg>
+</a>
+<a href="#" class="btn btn-pinterest btn-icon" aria-label="Button">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <line x1="8" y1="20" x2="12" y2="11" />
+    <path d="M10.7 14c.437 1.263 1.43 2 2.55 2c2.071 0 3.75 -1.554 3.75 -4a5 5 0 1 0 -9.7 1.7" />
+    <circle cx="12" cy="12" r="9" />
+  </svg>
+</a>
+<a href="#" class="btn btn-vk btn-icon" aria-label="Button">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M14 19h-4a8 8 0 0 1 -8 -8v-5h4v5a4 4 0 0 0 4 4h0v-9h4v4.5l.03 -.004a4.531 4.531 0 0 0 3.97 -4.496h4l-.342 1.711a6.858 6.858 0 0 1 -3.658 4.789h0a5.34 5.34 0 0 1 3.566 4.111l.434 2.389h0h-4a4.531 4.531 0 0 0 -3.97 -4.496v4.5z" />
+  </svg>
+</a>
+<a href="#" class="btn btn-rss btn-icon" aria-label="Button">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <circle cx="5" cy="19" r="1" />
+    <path d="M4 4a16 16 0 0 1 16 16" />
+    <path d="M4 11a9 9 0 0 1 9 9" />
+  </svg>
+</a>
+<a href="#" class="btn btn-flickr btn-icon" aria-label="Button">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <circle cx="7" cy="12" r="3" />
+    <circle cx="17" cy="12" r="3" />
+  </svg>
+</a>
+<a href="#" class="btn btn-bitbucket btn-icon" aria-label="Button">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M3.648 4a0.64 .64 0 0 0 -.64 .744l3.14 14.528c.07 .417 .43 .724 .852 .728h10a0.644 .644 0 0 0 .642 -.539l3.35 -14.71a0.641 .641 0 0 0 -.64 -.744l-16.704 -.007z" />
+    <path d="M14 15h-4l-1 -6h6z" />
+  </svg>
+</a>
+<a href="#" class="btn btn-tabler btn-icon" aria-label="Button">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M8 9l3 3l-3 3" />
+    <line x1="13" y1="15" x2="16" y2="15" />
+    <rect x="4" y="4" width="16" height="16" rx="4" />
+  </svg>
+</a>
+```
+
+```html
+<a href="#" class="btn btn-facebook btn-icon" aria-label="Button">
+  <!-- SVG icon from http://tabler-icons.io/i/brand-facebook -->
+  <svg>...</svg>
+</a>
+<a href="#" class="btn btn-twitter btn-icon" aria-label="Button">
+  <!-- SVG icon from http://tabler-icons.io/i/brand-twitter -->
+  <svg>...</svg>
+</a>
+<a href="#" class="btn btn-google btn-icon" aria-label="Button">
+  <!-- SVG icon from http://tabler-icons.io/i/brand-google -->
+  <svg>...</svg>
+</a>
+<a href="#" class="btn btn-youtube btn-icon" aria-label="Button">
+  <!-- SVG icon from http://tabler-icons.io/i/brand-youtube -->
+  <svg>...</svg>
+</a>
+<a href="#" class="btn btn-vimeo btn-icon" aria-label="Button">
+  <!-- SVG icon from http://tabler-icons.io/i/brand-vimeo -->
+  <svg>...</svg>
+</a>
+<a href="#" class="btn btn-dribbble btn-icon" aria-label="Button">
+  <!-- SVG icon from http://tabler-icons.io/i/brand-dribbble -->
+  <svg>...</svg>
+</a>
+<a href="#" class="btn btn-github btn-icon" aria-label="Button">
+  <!-- SVG icon from http://tabler-icons.io/i/brand-github -->
+  <svg>...</svg>
+</a>
+<a href="#" class="btn btn-instagram btn-icon" aria-label="Button">
+  <!-- SVG icon from http://tabler-icons.io/i/brand-instagram -->
+  <svg>...</svg>
+</a>
+<a href="#" class="btn btn-pinterest btn-icon" aria-label="Button">
+  <!-- SVG icon from http://tabler-icons.io/i/brand-pinterest -->
+  <svg>...</svg>
+</a>
+<a href="#" class="btn btn-vk btn-icon" aria-label="Button">
+  <!-- SVG icon from http://tabler-icons.io/i/brand-vk -->
+  <svg>...</svg>
+</a>
+<a href="#" class="btn btn-rss btn-icon" aria-label="Button">
+  <!-- SVG icon from http://tabler-icons.io/i/rss -->
+  <svg>...</svg>
+</a>
+<a href="#" class="btn btn-flickr btn-icon" aria-label="Button">
+  <!-- SVG icon from http://tabler-icons.io/i/brand-flickr -->
+  <svg>...</svg>
+</a>
+<a href="#" class="btn btn-bitbucket btn-icon" aria-label="Button">
+  <!-- SVG icon from http://tabler-icons.io/i/brand-bitbucket -->
+  <svg>...</svg>
+</a>
+<a href="#" class="btn btn-tabler btn-icon" aria-label="Button">
+  <!-- SVG icon from http://tabler-icons.io/i/brand-tabler -->
+  <svg>...</svg>
+</a>
+```
+
+## Icon buttons
+
+Add the `.btn-icon` class to remove unnecessary padding from your button and use an icon without any additional label. Thanks to that, you can save space and make the action easy to recognize for international users.
+
+```html example centered separated
+<a href="#" class="btn btn-primary btn-icon" aria-label="Button">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M3 12h4l3 8l4 -16l3 8h4" />
+  </svg>
+</a>
+<a href="#" class="btn btn-github btn-icon" aria-label="Button">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5" />
+  </svg>
+</a>
+<a href="#" class="btn btn-success btn-icon" aria-label="Button">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M10 5a2 2 0 0 1 4 0a7 7 0 0 1 4 6v3a4 4 0 0 0 2 3h-16a4 4 0 0 0 2 -3v-3a7 7 0 0 1 4 -6" />
+    <path d="M9 17v1a3 3 0 0 0 6 0v-1" />
+  </svg>
+</a>
+<a href="#" class="btn btn-warning btn-icon" aria-label="Button">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <path d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z" />
+  </svg>
+</a>
+<a href="#" class="btn btn-danger btn-icon" aria-label="Button">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <line x1="4" y1="7" x2="20" y2="7" />
+    <line x1="10" y1="11" x2="10" y2="17" />
+    <line x1="14" y1="11" x2="14" y2="17" />
+    <path d="M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12" />
+    <path d="M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3" />
+  </svg>
+</a>
+<a href="#" class="btn btn-purple btn-icon" aria-label="Button">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <rect x="3" y="12" width="6" height="8" rx="1" />
+    <rect x="9" y="8" width="6" height="12" rx="1" />
+    <rect x="15" y="4" width="6" height="16" rx="1" />
+    <line x1="4" y1="20" x2="18" y2="20" />
+  </svg>
+</a>
+<a href="#" class="btn btn-icon" aria-label="Button">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+    <circle cx="7" cy="18" r="2" />
+    <circle cx="7" cy="6" r="2" />
+    <circle cx="17" cy="12" r="2" />
+    <line x1="7" y1="8" x2="7" y2="16" />
+    <path d="M7 8a4 4 0 0 0 4 4h4" />
+  </svg>
+</a>
+```
+
+```html
+<a href="#" class="btn btn-primary btn-icon" aria-label="Button">
+  <!-- SVG icon from http://tabler-icons.io/i/activity -->
+  <svg>...</svg>
+</a>
+<a href="#" class="btn btn-github btn-icon" aria-label="Button">
+  <!-- SVG icon from http://tabler-icons.io/i/brand-github -->
+  <svg>...</svg>
+</a>
+<a href="#" class="btn btn-success btn-icon" aria-label="Button">
+  <!-- SVG icon from http://tabler-icons.io/i/bell -->
+  <svg>...</svg>
+</a>
+<a href="#" class="btn btn-warning btn-icon" aria-label="Button">
+  <!-- SVG icon from http://tabler-icons.io/i/star -->
+  <svg>...</svg>
+</a>
+<a href="#" class="btn btn-danger btn-icon" aria-label="Button">
+  <!-- SVG icon from http://tabler-icons.io/i/trash -->
+  <svg>...</svg>
+</a>
+<a href="#" class="btn btn-purple btn-icon" aria-label="Button">
+  <!-- SVG icon from http://tabler-icons.io/i/chart-bar -->
+  <svg>...</svg>
+</a>
+<a href="#" class="btn btn-icon" aria-label="Button">
+  <!-- SVG icon from http://tabler-icons.io/i/git-merge -->
+  <svg>...</svg>
+</a>
+```
+
+## Dropdown buttons
+
+Create a dropdown button that will encourage users to click for more options. You can add a label with an icon or remove the label and add an icon on its own if you want to save space. Choose the option that will best suit your design and improve the user experience.
+
+```html example centered separated
+<div class="dropdown">
+  <button type="button" class="btn dropdown-toggle" data-bs-toggle="dropdown"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+      <rect x="4" y="5" width="16" height="16" rx="2" />
+      <line x1="16" y1="3" x2="16" y2="7" />
+      <line x1="8" y1="3" x2="8" y2="7" />
+      <line x1="4" y1="11" x2="20" y2="11" />
+      <line x1="11" y1="15" x2="12" y2="15" />
+      <line x1="12" y1="15" x2="12" y2="18" />
+    </svg></button>
+  <div class="dropdown-menu">
+    <a class="dropdown-item" href="#">Action</a>
+    <a class="dropdown-item" href="#">Another action</a>
+  </div>
+</div>
+<div class="dropdown">
+  <button type="button" class="btn dropdown-toggle" data-bs-toggle="dropdown"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+      <rect x="4" y="5" width="16" height="16" rx="2" />
+      <line x1="16" y1="3" x2="16" y2="7" />
+      <line x1="8" y1="3" x2="8" y2="7" />
+      <line x1="4" y1="11" x2="20" y2="11" />
+      <line x1="11" y1="15" x2="12" y2="15" />
+      <line x1="12" y1="15" x2="12" y2="18" />
+    </svg> Show calendar</button>
+  <div class="dropdown-menu">
+    <a class="dropdown-item" href="#">Action</a>
+    <a class="dropdown-item" href="#">Another action</a>
+  </div>
+</div>
+<div class="dropdown">
+  <button type="button" class="btn dropdown-toggle" data-bs-toggle="dropdown">Show calendar</button>
+  <div class="dropdown-menu">
+    <a class="dropdown-item" href="#">Action</a>
+    <a class="dropdown-item" href="#">Another action</a>
+  </div>
+</div>
+```
+
+```html
+<div class="dropdown">
+  <button type="button" class="btn dropdown-toggle" data-bs-toggle="dropdown">
+    <!-- SVG icon from http://tabler-icons.io/i/calendar -->
+    <svg>...</svg>
+  </button>
+  <div class="dropdown-menu">
+    <a class="dropdown-item" href="#">
+      Action
+    </a>
+    <a class="dropdown-item" href="#">
+      Another action
+    </a>
+  </div>
+</div>
+<div class="dropdown">
+  <button type="button" class="btn dropdown-toggle" data-bs-toggle="dropdown">
+    <!-- SVG icon from http://tabler-icons.io/i/calendar -->
+    <svg>...</svg>
+    Show calendar
+  </button>
+  <div class="dropdown-menu">
+    <a class="dropdown-item" href="#">
+      Action
+    </a>
+    <a class="dropdown-item" href="#">
+      Another action
+    </a>
+  </div>
+</div>
+<div class="dropdown">
+  <button type="button" class="btn dropdown-toggle" data-bs-toggle="dropdown">
+    Show calendar
+  </button>
+  <div class="dropdown-menu">
+    <a class="dropdown-item" href="#">
+      Action
+    </a>
+    <a class="dropdown-item" href="#">
+      Another action
+    </a>
+  </div>
+</div>
+```
+
+## Loading buttons
+
+Add the `.btn-loading` class to show a button's loading state, which can be useful in the case of operations that take longer to process. Thanks to that, users will be aware of the current state of their action and won't give it up before it's finished.
+
+```html example centered separated
+<a href="#" class="btn btn-primary btn-loading">Button</a>
+<a href="#" class="btn btn-primary btn-loading">Loading button with loooong content</a>
+```
+
+```html
+<a href="#" class="btn btn-primary btn-loading">
+  Button
+</a>
+<a href="#" class="btn btn-primary btn-loading">
+  Loading button with loooong content
+</a>
+```
+
+```html example
+<a href="#" class="btn btn-primary"><span class="spinner-border spinner-border-sm me-2" role="status"></span> Button</a>
+```
+
+```html
+<a href="#" class="btn btn-primary">
+  <span class="spinner-border spinner-border-sm me-2" role="status"></span>
+  Button
+</a>
+```
+
+## List of buttons
+
+Create a list of buttons using the `.btn-list` container to display different actions a user can take. If you add aditional styling, such as colours, you will be able to focus users' attention on a particular action or suggest the result.
+
+```html code example vertical centered columns={3}
+<div class="btn-list">
+  <a href="#" class="btn btn-success">Save changes</a>
+  <a href="#" class="btn">Save and continue</a>
+  <a href="#" class="btn btn-danger">Cancel</a>
+</div>
+```
+
+If the list is long, it will be wrapped and some buttons will be moved to the next line, keeping them all evenly spaced.
+
+```html code example centered
+<div class="btn-list">
+  <a href="#" class="btn">One</a>
+  <a href="#" class="btn">Two</a>
+  <a href="#" class="btn">Three</a>
+  <a href="#" class="btn">Four</a>
+  <a href="#" class="btn">Five</a>
+  <a href="#" class="btn">Six</a>
+  <a href="#" class="btn">Seven</a>
+  <a href="#" class="btn">Eight</a>
+  <a href="#" class="btn">Nine</a>
+  <a href="#" class="btn">Ten</a>
+  <a href="#" class="btn">Eleven</a>
+  <a href="#" class="btn">Twelve</a>
+  <a href="#" class="btn">Thirteen</a>
+  <a href="#" class="btn">Fourteen</a>
+  <a href="#" class="btn">Fifteen</a>
+  <a href="#" class="btn">Sixteen</a>
+  <a href="#" class="btn">Seventeen</a>
+  <a href="#" class="btn">Eighteen</a>
+  <a href="#" class="btn">Nineteen</a>
+</div>
+```
+
+Use the `.text-center` or the `.text-end` modifiers to change the buttons' alignment and place them where they suit best.
+
+```html code example vertical centered columns={3}
+<div class="btn-list justify-content-center">
+  <a href="#" class="btn">Save and continue</a>
+  <a href="#" class="btn btn-primary">Save changes</a>
+</div>
+```
+
+```html code example vertical centered columns={3}
+<div class="btn-list justify-content-end">
+  <a href="#" class="btn">Save and continue</a>
+  <a href="#" class="btn btn-primary">Save changes</a>
+</div>
+```
+
+```html code example vertical centered columns={3}
+<div class="btn-list">
+  <a href="#" class="btn btn-outline-danger me-auto">Delete</a>
+  <a href="#" class="btn">Save and continue</a>
+  <a href="#" class="btn btn-primary">Save changes</a>
+</div>
+```
+
+## Buttons with avatars
+
+Use buttons with avatars to simplify the process of interaction and make your design more personalized. Buttons can contain avatars and labels or only avatars, if displayed on a smaller space.
+
+```html example centered separated
+<a href="#" class="btn"><span class="avatar" style={{ backgroundImage: 'url(https://images.unsplash.com/photo-1542534759-05f6c34a9e63?q=80&fm=jpg&crop=faces&fit=crop&h=100&w=100)'}}></span> Avatar</a>
+<a href="#" class="btn"><span class="avatar" style={{ backgroundImage: 'url(https://images.unsplash.com/photo-1546539782-6fc531453083?q=80&fm=jpg&crop=faces&fit=crop&h=100&w=100)'}}></span> Avatar</a>
+<a href="#" class="btn"><span class="avatar" style={{ backgroundImage: 'url(https://images.unsplash.com/photo-1541585452861-0375331f10bf?q=80&fm=jpg&crop=faces&fit=crop&h=100&w=100)'}}></span> Avatar</a>
+```
+
+```html
+<a href="#" class="btn">
+  <span class="avatar" style="background-image: url(...)"></span> Avatar
+</a>
+<a href="#" class="btn">
+  <span class="avatar" style="background-image: url(...)"></span> Avatar
+</a>
+<a href="#" class="btn">
+  <span class="avatar" style="background-image: url(...)"></span> Avatar
+</a>
+```

+ 345 - 0
docs/components/cards.mdx

@@ -0,0 +1,345 @@
+---
+title: Cards
+description: Cards are flexible user interface elements, which help organize content into meaningful sections and make it easier to display on different screen sizes. Cards contain various smaller components, such as images, text, links and buttons and may act as an entry to more detailed information, helping users scan the page quickly and find the most relevant content.
+bootstrapLink: components/card/
+---
+
+## Table of contents
+
+## Default card
+
+Use the `.card` and `.card-body` classes to create a card and use it as the basis for a more advanced card design. A card is a perfect way to organize content and make it look neat and tidy.
+
+```html example code centered columns={1}
+<div class="card">
+  <div class="card-body">
+    <p>This is some text within a card body.</p>
+  </div>
+</div>
+```
+
+## Card padding
+
+You can change the padding of a newly created card. To do it, use the `.card-sm`, `.card-md` or `.card-lg` classes.
+
+Cards with the `.card-sm` class are well suited for small items such as widgets, etc., while the `.card-lg` class can be used for large blocks of text. Padding will be automatically reduced on small devices, to fit the screen size.
+
+```html example vertical centered separated height={500}
+<div class="card card-sm">
+  <div class="card-body">
+    This is some text within a card body.
+  </div>
+</div>
+<div class="card">
+  <div class="card-body">
+    This is some text within a card body.
+  </div>
+</div>
+<div class="card card-md">
+  <div class="card-body">
+    This is some text within a card body.
+  </div>
+</div>
+<div class="card card-lg">
+  <div class="card-body">
+    This is some text within a card body.
+  </div>
+</div>
+```
+
+```html
+<div class="card card-sm">...</div>
+<div class="card">...</div>
+<div class="card card-md">...</div>
+<div class="card card-lg">...</div>
+```
+
+## Card with title
+
+Add a title to your card by including the `.card-title` class within `.card-body`. You can also place the title inside the `.card-header` element to separate the title from the content with a horizontal line.
+
+```html code example vertical centered separated height={400}
+<div class="card">
+  <div class="card-body">
+    <h3 class="card-title">Card title</h3>
+    <p class="text-muted">This is some text within a card body.</p>
+  </div>
+</div>
+<div class="card">
+  <div class="card-header">
+    <h3 class="card-title">Card title</h3>
+  </div>
+  <div class="card-body">
+    <p class="text-muted">This is some text within a card body.</p>
+  </div>
+</div>
+```
+
+## Card with title and image
+
+To create a more visually appealing card, add a title and an image. Thanks to that, the card will go well with your interface design and draw users' attention.
+
+```html example centered columns={1} height={500} code
+<div class="card">
+  <!-- Photo -->
+  <div class="img-responsive img-responsive-21x9 card-img-top" style="background-image: url(/samples/photos/cup-of-coffee-and-an-open-book.jpg)"></div>
+  <div class="card-body">
+    <h3 class="card-title">Card with title and image</h3>
+    <p class="text-muted">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima
+      neque pariatur perferendis sed suscipit velit vitae voluptatem.</p>
+  </div>
+</div>
+```
+
+## Blog post card
+
+Add an image to your blog post card to make it eye-catching. You can do it by adding the image in the `.card-img-top` class. Thanks to the `.d-flex` and `.flex-column` classes within `.card-body`, the author details will be displayed at the bottom of the card.
+
+```html example centered columns={1} height={600} code
+<div class="card d-flex flex-column">
+  <a href="#">
+    <img class="card-img-top" src="/samples/photos/book-on-the-grass.jpg" alt="" />
+  </a>
+  <div class="card-body d-flex flex-column">
+    <h3 class="card-title"><a href="#">How do you know she is a witch?</a></h3>
+    <div class="text-muted">Are you suggesting that coconuts migrate? No, no, no! Yes, yes. A bit. But she's got a wart. You ...</div>
+    <div class="d-flex align-items-center pt-4 mt-auto">
+      <span class="avatar" style="background-image: url(/samples/avatars/023m.jpg)"></span>
+      <div class="ms-3">
+        <a href="#" class="text-body">Maryjo Lebarree</a>
+        <div class="text-muted">3 days ago</div>
+      </div>
+      <div class="ms-auto">
+        <a href="#" class="icon d-none d-md-inline-block ms-3 text-muted">
+          <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-heart" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+            <path d="M19.5 12.572l-7.5 7.428l-7.5 -7.428a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572"></path>
+          </svg>
+        </a>
+      </div>
+    </div>
+  </div>
+</div>
+```
+
+## Row deck
+
+Add the `.row-deck` class to `.row`, if you want to display several cards next to one another. Thanks to that, they will all have the same height.
+
+```html code example centered
+<div class="row row-deck">
+  <div class="col-md-4">
+    <div class="card">
+      <div class="card-body">Short content</div>
+    </div>
+  </div>
+  <div class="col-md-4">
+    <div class="card">
+      <div class="card-body">Extra long content of card. Lorem ipsum dolor sit amet, consetetur sadipscing elitr</div>
+    </div>
+  </div>
+  <div class="col-md-4">
+    <div class="card">
+      <div class="card-body">Short content</div>
+    </div>
+  </div>
+</div>
+```
+
+## Post card with aside image
+
+You can also add an image on the left side of the card. To do it, add the `.card-aside` class to the element with the `.card` class. Then add the image in the `.card-aside-column` element and it will be automatically centered and scaled to the right size.
+
+```html example columns={2} centered height={400} code
+<div class="card d-flex flex-column">
+  <div class="row row-0 flex-fill">
+    <div class="col-md-3">
+      <a href="#">
+        <img src="/samples/photos/a-woman-works-on-a-laptop-at-home.jpg" class="w-100 h-100 object-cover" alt="Card side image" />
+      </a>
+    </div>
+    <div class="col">
+      <div class="card-body">
+        <h3 class="card-title"><a href="#">Shut up!</a></h3>
+        <div class="text-muted">Burn her! How do you know she is a witch? You don't frighten us, English pig-dogs! Go and boil yo...</div>
+        <div class="d-flex align-items-center pt-4 mt-auto">
+          <span class="avatar" style="background-image: url(/samples/avatars/029m.jpg)"></span>
+          <div class="ms-3">
+            <a href="#" class="text-body">Egan Poetz</a>
+            <div class="text-muted">3 days ago</div>
+          </div>
+          <div class="ms-auto">
+            <a href="#" class="icon d-none d-md-inline-block ms-3 text-red">
+              <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-heart" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+                <path d="M19.5 12.572l-7.5 7.428l-7.5 -7.428a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572"></path>
+              </svg>
+            </a>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+```
+
+## Color variations
+
+Add a status color to your card, either at the top or on the side of the card, to customise it and make it more eye-catching.
+
+```html example columns={2} centered height={400}
+<div class="row row-deck">
+  <div class="col-md-6">
+    <div class="card">
+      <div class="card-status-top bg-danger"></div>
+      <div class="card-body">
+        <h3 class="card-title">Card with top status</h3>
+        <p class="text-muted">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima
+          neque pariatur perferendis sed suscipit velit vitae voluptatem.</p>
+      </div>
+    </div>
+  </div>
+  <div class="col-md-6">
+    <div class="card">
+      <div class="card-status-start bg-green"></div>
+      <div class="card-body">
+        <h3 class="card-title">Card with side status</h3>
+        <p class="text-muted">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima
+          neque pariatur perferendis sed suscipit velit vitae voluptatem.</p>
+      </div>
+    </div>
+  </div>
+</div>
+```
+
+```html
+<div class="card">
+  <div class="card-status-top bg-danger"></div>
+  <div class="card-body">
+	 <h3 class="card-title">Card with top status</h3>
+	 <p class="text-muted">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima
+		neque pariatur perferendis sed suscipit velit vitae voluptatem.</p>
+  </div>
+</div>
+<div class="card">
+  <div class="card-status-start bg-green"></div>
+  <div class="card-body">
+	 <h3 class="card-title">Card with side status</h3>
+	 <p class="text-muted">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima
+		neque pariatur perferendis sed suscipit velit vitae voluptatem.</p>
+  </div>
+</div>
+```
+
+## Stacked card
+
+Use the `card-stacked` class to stack up multiple cards, if you want to save screen space or create a visually appealing effect.
+
+```html code example columns={1} centered height={300}
+<div class="card card-stacked">
+  <div class="card-body">
+    <h3 class="card-title">Stacked card</h3>
+    <p class="text-muted">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima
+      neque pariatur perferendis sed suscipit velit vitae voluptatem.</p>
+  </div>
+</div>
+```
+
+## Tabbed card
+
+Organize multiple cards into tabs to be able to display more content in a well-organized way and allow users to alternate between them easily.
+
+```html example columns={2} centered height={400}
+<div class="card-tabs">
+  <ul class="nav nav-tabs">
+    <li class="nav-item"><a href="#tab-top-1" class="nav-link active" data-bs-toggle="tab">Tab 1</a></li>
+    <li class="nav-item"><a href="#tab-top-2" class="nav-link" data-bs-toggle="tab">Tab 2</a></li>
+    <li class="nav-item"><a href="#tab-top-3" class="nav-link" data-bs-toggle="tab">Tab 3</a></li>
+    <li class="nav-item"><a href="#tab-top-4" class="nav-link" data-bs-toggle="tab">Tab 4</a></li>
+  </ul>
+  <div class="tab-content">
+    <div id="tab-top-1" class="card tab-pane active show">
+      <div class="card-body">
+        <div class="card-title">Content of tab #1</div>
+        <p class="text-muted">
+          Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
+        </p>
+      </div>
+    </div>
+    <div id="tab-top-2" class="card tab-pane">
+      <div class="card-body">
+        <div class="card-title">Content of tab #2</div>
+        <p class="text-muted">
+          Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
+        </p>
+      </div>
+    </div>
+    <div id="tab-top-3" class="card tab-pane">
+      <div class="card-body">
+        <div class="card-title">Content of tab #3</div>
+        <p class="text-muted">
+          Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
+        </p>
+      </div>
+    </div>
+    <div id="tab-top-4" class="card tab-pane">
+      <div class="card-body">
+        <div class="card-title">Content of tab #4</div>
+        <p class="text-muted">
+          Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
+        </p>
+      </div>
+    </div>
+  </div>
+</div>
+```
+
+```html
+<!-- Cards with tabs component -->
+<div class="card-tabs">
+  <!-- Cards navigation -->
+  <ul class="nav nav-tabs">
+    <li class="nav-item"><a href="#tab-top-1" class="nav-link active" data-bs-toggle="tab">Tab 1</a></li>
+    <li class="nav-item"><a href="#tab-top-2" class="nav-link" data-bs-toggle="tab">Tab 2</a></li>
+    <li class="nav-item"><a href="#tab-top-3" class="nav-link" data-bs-toggle="tab">Tab 3</a></li>
+    <li class="nav-item"><a href="#tab-top-4" class="nav-link" data-bs-toggle="tab">Tab 4</a></li>
+  </ul>
+  <div class="tab-content">
+    <!-- Content of card #1 -->
+    <div id="tab-top-1" class="card tab-pane active show">
+      <div class="card-body">
+        <div class="card-title">Content of tab #1</div>
+        <p class="text-muted">
+          Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
+        </p>
+      </div>
+    </div>
+    <!-- Content of card #2 -->
+    <div id="tab-top-2" class="card tab-pane">
+      <div class="card-body">
+        <div class="card-title">Content of tab #2</div>
+        <p class="text-muted">
+          Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
+        </p>
+      </div>
+    </div>
+    <!-- Content of card #3 -->
+    <div id="tab-top-3" class="card tab-pane">
+      <div class="card-body">
+        <div class="card-title">Content of tab #3</div>
+        <p class="text-muted">
+          Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
+        </p>
+      </div>
+    </div>
+    <!-- Content of card #4 -->
+    <div id="tab-top-4" class="card tab-pane">
+      <div class="card-body">
+        <div class="card-title">Content of tab #4</div>
+        <p class="text-muted">
+          Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
+        </p>
+      </div>
+    </div>
+  </div>
+</div>
+```
+

+ 235 - 0
docs/components/carousel.mdx

@@ -0,0 +1,235 @@
+---
+title: Carousel
+description: A carousel is used to display multiple pieces of visual content without taking up too much space. Carousels eliminate the need to scroll down the page to see all content and are a popular method of displaying marketing information.
+bootstrapLink: components/carousel/
+---
+
+## Default markup
+
+Use a carousel to make your website design more visually appealing for users. In the default carousel design, respective elements slide automatically and users can go to the next slide by clicking an arrow.
+
+```html code example centered columns={2} height="35rem"
+<div id="carousel-sample" class="carousel slide" data-bs-ride="carousel">
+  <div class="carousel-indicators">
+    <button type="button" data-bs-target="#carousel-sample" data-bs-slide-to="0" class="active"></button>
+    <button type="button" data-bs-target="#carousel-sample" data-bs-slide-to="1"></button>
+    <button type="button" data-bs-target="#carousel-sample" data-bs-slide-to="2"></button>
+    <button type="button" data-bs-target="#carousel-sample" data-bs-slide-to="3"></button>
+    <button type="button" data-bs-target="#carousel-sample" data-bs-slide-to="4"></button>
+  </div>
+  <div class="carousel-inner">
+    <div class="carousel-item active">
+      <img class="d-block w-100" alt="" src="/samples/photos/city-lights-reflected-in-the-water-at-night.jpg" />
+    </div>
+    <div class="carousel-item">
+      <img class="d-block w-100" alt="" src="/samples/photos/color-palette-guide-sample-colors-catalog-.jpg" />
+    </div>
+    <div class="carousel-item">
+      <img class="d-block w-100" alt="" src="/samples/photos/finances-us-dollars-and-bitcoins-currency-money.jpg" />
+    </div>
+    <div class="carousel-item">
+      <img class="d-block w-100" alt="" src="/samples/photos/tropical-palm-leaves-floral-pattern-background.jpg" />
+    </div>
+    <div class="carousel-item">
+      <img class="d-block w-100" alt="" src="/samples/photos/young-woman-working-in-a-cafe.jpg" />
+    </div>
+  </div>
+  <a class="carousel-control-prev" data-bs-target="#carousel-sample" role="button" data-bs-slide="prev">
+    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
+    <span class="visually-hidden">Previous</span>
+  </a>
+  <a class="carousel-control-next" data-bs-target="#carousel-sample" role="button" data-bs-slide="next">
+    <span class="carousel-control-next-icon" aria-hidden="true"></span>
+    <span class="visually-hidden">Next</span>
+  </a>
+</div>
+```
+
+## Dots indicators
+
+You can replace the standard indicators with dots. Just add the `carousel-indicators-dot` class to your carousel:
+
+```html code example centered columns={2} height="35rem"
+<div id="carousel-indicators-dot" class="carousel slide carousel-fade" data-bs-ride="carousel">
+  <div class="carousel-indicators carousel-indicators-dot">
+    <button type="button" data-bs-target="#carousel-indicators-dot" data-bs-slide-to="0" class="active"></button>
+    <button type="button" data-bs-target="#carousel-indicators-dot" data-bs-slide-to="1"></button>
+    <button type="button" data-bs-target="#carousel-indicators-dot" data-bs-slide-to="2"></button>
+    <button type="button" data-bs-target="#carousel-indicators-dot" data-bs-slide-to="3"></button>
+    <button type="button" data-bs-target="#carousel-indicators-dot" data-bs-slide-to="4"></button>
+  </div>
+  <div class="carousel-inner">
+    <div class="carousel-item active">
+      <img class="d-block w-100" alt="" src="/samples/photos/stylish-workspace-with-macbook-pro.jpg" />
+    </div>
+    <div class="carousel-item">
+      <img class="d-block w-100" alt="" src="/samples/photos/coffee-on-a-table-with-other-items.jpg" />
+    </div>
+    <div class="carousel-item">
+      <img class="d-block w-100" alt="" src="/samples/photos/book-on-the-grass.jpg" />
+    </div>
+    <div class="carousel-item">
+      <img class="d-block w-100" alt="" src="/samples/photos/a-woman-works-at-a-desk-with-a-laptop-and-a-cup-of-coffee.jpg" />
+    </div>
+    <div class="carousel-item">
+      <img class="d-block w-100" alt="" src="/samples/photos/people-by-a-banquet-table-full-with-food.jpg" />
+    </div>
+  </div>
+</div>
+```
+
+## Thumb indicators
+
+The syntax is similar with thumbnails. Add class `carousel-indicators-thumb` and add `background-image` to element `[data-bs-target]`. Default thumbnails have an aspect ratio of 1:1. To change this use `ratio` utils.
+
+```html example code centered columns={2} height="35rem"
+<div id="carousel-indicators-thumb" class="carousel slide carousel-fade" data-bs-ride="carousel">
+  <div class="carousel-indicators carousel-indicators-thumb">
+    <button type="button" data-bs-target="#carousel-indicators-thumb" data-bs-slide-to="0" class="ratio ratio-4x3 active" style="background-image: url(/samples/photos/group-of-people-sightseeing-in-the-city.jpg)"></button>
+    <button type="button" data-bs-target="#carousel-indicators-thumb" data-bs-slide-to="1" class="ratio ratio-4x3" style="background-image: url(/samples/photos/young-woman-working-in-a-cafe.jpg)"></button>
+    <button type="button" data-bs-target="#carousel-indicators-thumb" data-bs-slide-to="2" class="ratio ratio-4x3" style="background-image: url(/samples/photos/soft-photo-of-woman-on-the-bed-with-the-book-and-cup-of-coffee-in-hands.jpg)"></button>
+    <button type="button" data-bs-target="#carousel-indicators-thumb" data-bs-slide-to="3" class="ratio ratio-4x3" style="background-image: url(/samples/photos/stylish-workplace-with-computer-at-home.jpg)"></button>
+    <button type="button" data-bs-target="#carousel-indicators-thumb" data-bs-slide-to="4" class="ratio ratio-4x3" style="background-image: url(/samples/photos/stylish-workspace-with-macbook-pro.jpg)"></button>
+  </div>
+  <div class="carousel-inner">
+    <div class="carousel-item active">
+      <img class="d-block w-100" alt="" src="/samples/photos/group-of-people-sightseeing-in-the-city.jpg" />
+    </div>
+    <div class="carousel-item">
+      <img class="d-block w-100" alt="" src="/samples/photos/young-woman-working-in-a-cafe.jpg" />
+    </div>
+    <div class="carousel-item">
+      <img class="d-block w-100" alt="" src="/samples/photos/soft-photo-of-woman-on-the-bed-with-the-book-and-cup-of-coffee-in-hands.jpg" />
+    </div>
+    <div class="carousel-item">
+      <img class="d-block w-100" alt="" src="/samples/photos/stylish-workplace-with-computer-at-home.jpg" />
+    </div>
+    <div class="carousel-item">
+      <img class="d-block w-100" alt="" src="/samples/photos/stylish-workspace-with-macbook-pro.jpg" />
+    </div>
+  </div>
+</div>
+```
+
+## Vertical indicators
+
+To make the indicators go to the right side, add the `carousel-indicators-vertical` class. You can combine it with other classes that are responsible for dots or thumbnails.
+
+```html code example centered columns={2} height="35rem"
+<div id="carousel-indicators-dot-vertical" class="carousel slide carousel-fade" data-bs-ride="carousel">
+  <div class="carousel-indicators carousel-indicators-vertical carousel-indicators-dot">
+    <button type="button" data-bs-target="#carousel-indicators-dot-vertical" data-bs-slide-to="0" class="active"></button>
+    <button type="button" data-bs-target="#carousel-indicators-dot-vertical" data-bs-slide-to="1"></button>
+    <button type="button" data-bs-target="#carousel-indicators-dot-vertical" data-bs-slide-to="2"></button>
+    <button type="button" data-bs-target="#carousel-indicators-dot-vertical" data-bs-slide-to="3"></button>
+    <button type="button" data-bs-target="#carousel-indicators-dot-vertical" data-bs-slide-to="4"></button>
+  </div>
+  <div class="carousel-inner">
+    <div class="carousel-item active">
+      <img class="d-block w-100" alt="" src="/samples/photos/man-looking-out-to-sea.jpg" />
+    </div>
+    <div class="carousel-item">
+      <img class="d-block w-100" alt="" src="/samples/photos/making-magic-with-fairy-lights.jpg" />
+    </div>
+    <div class="carousel-item">
+      <img class="d-block w-100" alt="" src="/samples/photos/finances-us-dollars-and-bitcoins-currency-money-5.jpg" />
+    </div>
+    <div class="carousel-item">
+      <img class="d-block w-100" alt="" src="/samples/photos/cup-of-coffee-on-table-in-cafe-2.jpg" />
+    </div>
+    <div class="carousel-item">
+      <img class="d-block w-100" alt="" src="/samples/photos/young-woman-sitting-on-the-sofa-and-working-on-her-laptop-2.jpg" />
+    </div>
+  </div>
+</div>
+```
+
+Likewise, you can add thumbnails on the right side:
+
+```html code example centered columns={2} height="35rem"
+<div id="carousel-indicators-thumb-vertical" class="carousel slide carousel-fade" data-bs-ride="carousel">
+  <div class="carousel-indicators carousel-indicators-vertical carousel-indicators-thumb">
+    <button type="button" data-bs-target="#carousel-indicators-thumb-vertical" data-bs-slide-to="0" class="ratio ratio-4x3 active" style="background-image: url(/samples/photos/finances-us-dollars-and-bitcoins-currency-money.jpg)"></button>
+    <button type="button" data-bs-target="#carousel-indicators-thumb-vertical" data-bs-slide-to="1" class="ratio ratio-4x3" style="background-image: url(/samples/photos/businesswoman-working-at-her-laptop.jpg)"></button>
+    <button type="button" data-bs-target="#carousel-indicators-thumb-vertical" data-bs-slide-to="2" class="ratio ratio-4x3" style="background-image: url(/samples/photos/color-palette-guide-sample-colors-catalog-.jpg)"></button>
+    <button type="button" data-bs-target="#carousel-indicators-thumb-vertical" data-bs-slide-to="3" class="ratio ratio-4x3" style="background-image: url(/samples/photos/blue-sofa-with-pillows-in-a-designer-living-room-interior.jpg)"></button>
+    <button type="button" data-bs-target="#carousel-indicators-thumb-vertical" data-bs-slide-to="4" class="ratio ratio-4x3" style="background-image: url(/samples/photos/beautiful-blonde-woman-on-a-wooden-pier-by-the-lake.jpg)"></button>
+  </div>
+  <div class="carousel-inner">
+    <div class="carousel-item active">
+      <img class="d-block w-100" alt="" src="/samples/photos/finances-us-dollars-and-bitcoins-currency-money.jpg" />
+    </div>
+    <div class="carousel-item">
+      <img class="d-block w-100" alt="" src="/samples/photos/businesswoman-working-at-her-laptop.jpg" />
+    </div>
+    <div class="carousel-item">
+      <img class="d-block w-100" alt="" src="/samples/photos/color-palette-guide-sample-colors-catalog-.jpg" />
+    </div>
+    <div class="carousel-item">
+      <img class="d-block w-100" alt="" src="/samples/photos/blue-sofa-with-pillows-in-a-designer-living-room-interior.jpg" />
+    </div>
+    <div class="carousel-item">
+      <img class="d-block w-100" alt="" src="/samples/photos/beautiful-blonde-woman-on-a-wooden-pier-by-the-lake.jpg" />
+    </div>
+  </div>
+</div>
+```
+
+## Carousel with captions
+
+Add captions to your slides easily with the `.carousel-caption` element within any `.carousel-item`. To make the text more readable on the image you can add `carousel-caption-background` which will add a black overlay over the image.
+
+```html code example centered columns={2} height="35rem"
+<div id="carousel-captions" class="carousel slide" data-bs-ride="carousel">
+  <div class="carousel-inner">
+    <div class="carousel-item active">
+      <img class="d-block w-100" alt="" src="/samples/photos/workplace-with-laptop-on-table-at-home-4.jpg" />
+      <div class="carousel-caption-background d-none d-md-block"></div>
+      <div class="carousel-caption d-none d-md-block">
+        <h3>Slide label</h3>
+        <p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
+      </div>
+    </div>
+    <div class="carousel-item">
+      <img class="d-block w-100" alt="" src="/samples/photos/people-watching-a-presentation-in-a-room.jpg" />
+      <div class="carousel-caption-background d-none d-md-block"></div>
+      <div class="carousel-caption d-none d-md-block">
+        <h3>Slide label</h3>
+        <p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
+      </div>
+    </div>
+    <div class="carousel-item">
+      <img class="d-block w-100" alt="" src="/samples/photos/people-by-a-banquet-table-full-with-food.jpg" />
+      <div class="carousel-caption-background d-none d-md-block"></div>
+      <div class="carousel-caption d-none d-md-block">
+        <h3>Slide label</h3>
+        <p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
+      </div>
+    </div>
+    <div class="carousel-item">
+      <img class="d-block w-100" alt="" src="/samples/photos/books-and-purple-flowers-on-a-wooden-stool-by-the-bed.jpg" />
+      <div class="carousel-caption-background d-none d-md-block"></div>
+      <div class="carousel-caption d-none d-md-block">
+        <h3>Slide label</h3>
+        <p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
+      </div>
+    </div>
+    <div class="carousel-item">
+      <img class="d-block w-100" alt="" src="/samples/photos/cup-of-coffee-and-an-open-book.jpg" />
+      <div class="carousel-caption-background d-none d-md-block"></div>
+      <div class="carousel-caption d-none d-md-block">
+        <h3>Slide label</h3>
+        <p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
+      </div>
+    </div>
+  </div>
+  <a class="carousel-control-prev" data-bs-target="#carousel-captions" role="button" data-bs-slide="prev">
+    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
+    <span class="visually-hidden">Previous</span>
+  </a>
+  <a class="carousel-control-next" data-bs-target="#carousel-captions" role="button" data-bs-slide="next">
+    <span class="carousel-control-next-icon" aria-hidden="true"></span>
+    <span class="visually-hidden">Next</span>
+  </a>
+</div>
+```

+ 526 - 0
docs/components/charts.mdx

@@ -0,0 +1,526 @@
+---
+title: Charts
+libs: apexcharts
+description: Tabler uses ApexCharts - a free and open-source modern charting library that helps developers to create beautiful and interactive visualizations for web pages.
+---
+
+To be able to use the charts in your application you will need to install the apexcharts dependency with `npm install apexcharts`.
+
+See also the [ApexCharts](https://apexcharts.com/) documentation.
+
+## Line Chart
+
+Line charts are a typical pictorial representation that depicts trends and behaviors over time.
+
+```html example code centered columns={2} height="25rem"
+<div class="card">
+  <div class="card-body">
+    <div id="chart-demo-line" class="chart-lg"></div>
+  </div>
+</div>
+
+<script src="$TABLER_CDN/dist/libs/apexcharts/dist/apexcharts.min.js" defer></script>
+<script>
+  document.addEventListener("DOMContentLoaded", function() {
+    window.ApexCharts && (new ApexCharts(document.getElementById('chart-demo-line'), {
+      chart: {
+        type: "line",
+        fontFamily: 'inherit',
+        height: 240,
+        parentHeightOffset: 0,
+        toolbar: {
+          show: false,
+        },
+        animations: {
+          enabled: false
+        },
+      },
+      fill: {
+        opacity: 1,
+      },
+      stroke: {
+        width: 2,
+        lineCap: "round",
+        curve: "straight",
+      },
+      series: [{
+        name: "Session Duration",
+        data: [117, 92, 94, 98, 75, 110, 69, 80, 109, 113, 115, 95]
+      }, {
+        name: "Page Views",
+        data: [59, 80, 61, 66, 70, 84, 87, 64, 94, 56, 55, 67]
+      }, {
+        name: "Total Visits",
+        data: [53, 51, 52, 41, 46, 60, 45, 43, 30, 50, 58, 59]
+      }],
+      tooltip: {
+        theme: 'dark'
+      },
+      grid: {
+        padding: {
+          top: -20,
+          right: 0,
+          left: -4,
+          bottom: -4
+        },
+        strokeDashArray: 4,
+      },
+      xaxis: {
+        labels: {
+          padding: 0,
+        },
+        tooltip: {
+          enabled: false
+        },
+        type: 'datetime',
+      },
+      yaxis: {
+        labels: {
+          padding: 4
+        },
+      },
+      labels: [
+        '2020-06-21', '2020-06-22', '2020-06-23', '2020-06-24', '2020-06-25', '2020-06-26', '2020-06-27', '2020-06-28', '2020-06-29', '2020-06-30', '2020-07-01', '2020-07-02'
+      ],
+      colors: [tabler.getColor("yellow"), tabler.getColor("green"), tabler.getColor("primary")],
+      legend: {
+        show: true,
+        position: 'bottom',
+        offsetY: 12,
+        markers: {
+          width: 10,
+          height: 10,
+          radius: 100,
+        },
+        itemMargin: {
+          horizontal: 8,
+          vertical: 8
+        },
+      },
+    })).render();
+  });
+</script>
+```
+
+## Area Chart
+
+Area charts are used to represent quantitative variations.
+
+```html example code centered columns={2} height="25rem"
+<div class="card">
+  <div class="card-body">
+    <div id="chart-demo-area" class="chart-lg"></div>
+  </div>
+</div>
+
+<script src="$TABLER_CDN/dist/libs/apexcharts/dist/apexcharts.min.js" defer></script>
+<script>
+  document.addEventListener("DOMContentLoaded", function() {
+    window.ApexCharts && (new ApexCharts(document.getElementById('chart-demo-area'), {
+      chart: {
+        type: "area",
+        fontFamily: 'inherit',
+        height: 240,
+        parentHeightOffset: 0,
+        toolbar: {
+          show: false,
+        },
+        animations: {
+          enabled: false
+        },
+      },
+      dataLabels: {
+        enabled: false,
+      },
+      fill: {
+        opacity: .16,
+        type: 'solid'
+      },
+      stroke: {
+        width: 2,
+        lineCap: "round",
+        curve: "smooth",
+      },
+      series: [{
+        name: "series1",
+        data: [56, 40, 39, 47, 34, 48, 44]
+      }, {
+        name: "series2",
+        data: [45, 43, 30, 23, 38, 39, 54]
+      }],
+      tooltip: {
+        theme: 'dark'
+      },
+      grid: {
+        padding: {
+          top: -20,
+          right: 0,
+          left: -4,
+          bottom: -4
+        },
+        strokeDashArray: 4,
+      },
+      xaxis: {
+        labels: {
+          padding: 0,
+        },
+        tooltip: {
+          enabled: false
+        },
+        axisBorder: {
+          show: false,
+        },
+        type: 'datetime',
+      },
+      yaxis: {
+        labels: {
+          padding: 4
+        },
+      },
+      labels: [
+        '2020-06-21', '2020-06-22', '2020-06-23', '2020-06-24', '2020-06-25', '2020-06-26', '2020-06-27'
+      ],
+      colors: [tabler.getColor("primary"), tabler.getColor("purple")],
+      legend: {
+        show: true,
+        position: 'bottom',
+        offsetY: 12,
+        markers: {
+          width: 10,
+          height: 10,
+          radius: 100,
+        },
+        itemMargin: {
+          horizontal: 8,
+          vertical: 8
+        },
+      },
+    })).render();
+  });
+</script>
+```
+
+## Bar Chart
+
+A bar chart is the best tool for displaying comparisons between categories of data.
+
+```html example code centered columns={2} height="25rem"
+<div class="card">
+  <div class="card-body">
+    <div id="chart-demo-bar" class="chart-lg"></div>
+  </div>
+</div>
+
+<script src="$TABLER_CDN/dist/libs/apexcharts/dist/apexcharts.min.js" defer></script>
+<script>
+  document.addEventListener("DOMContentLoaded", function() {
+    window.ApexCharts && (new ApexCharts(document.getElementById('chart-demo-bar'), {
+      chart: {
+        type: "bar",
+        fontFamily: 'inherit',
+        height: 240,
+        parentHeightOffset: 0,
+        toolbar: {
+          show: false,
+        },
+        animations: {
+          enabled: false
+        },
+        stacked: true,
+      },
+      plotOptions: {
+        bar: {
+          barHeight: '50%',
+          horizontal: true,
+        }
+      },
+      dataLabels: {
+        enabled: false,
+      },
+      fill: {
+        opacity: 1,
+      },
+      series: [{
+        name: "Container for a Fanta",
+        data: [44, 55, 41, 37, 22, 43, 21]
+      }, {
+        name: "Strange sunglasses",
+        data: [53, 32, 33, 52, 13, 43, 32]
+      }, {
+        name: "Pen Pineapple Apple Pen",
+        data: [12, 17, 11, 9, 15, 11, 20]
+      }, {
+        name: "Binoculars",
+        data: [9, 7, 5, 8, 6, 9, 4]
+      }, {
+        name: "Magical notebook",
+        data: [25, 12, 19, 32, 25, 24, 10]
+      }],
+      tooltip: {
+        theme: 'dark'
+      },
+      grid: {
+        padding: {
+          top: -20,
+          right: 0,
+          left: -4,
+          bottom: -4
+        },
+        strokeDashArray: 4,
+      },
+      xaxis: {
+        labels: {
+          padding: 0,
+          formatter: function(val) {
+            return val + "K"
+          },
+        },
+        tooltip: {
+          enabled: false
+        },
+        axisBorder: {
+          show: false,
+        },
+        categories: ['2008', '2009', '2010', '2011', '2012', '2013', '2014'],
+      },
+      yaxis: {
+        labels: {
+          padding: 4
+        },
+      },
+      colors: [tabler.getColor("purple"), tabler.getColor("green"), tabler.getColor("yellow"), tabler.getColor("red"), tabler.getColor("primary")],
+      legend: {
+        show: true,
+        position: 'bottom',
+        offsetY: 12,
+        markers: {
+          width: 10,
+          height: 10,
+          radius: 100,
+        },
+        itemMargin: {
+          horizontal: 8,
+          vertical: 8
+        },
+      },
+    })).render();
+  });
+</script>
+```
+
+## Pie Chart
+
+Pie charts are an instrumental visualization tool useful in expressing data and information in terms of percentages, ratio.
+
+```html example code centered columns={2} height="25rem"
+<div class="card">
+  <div class="card-body">
+    <div id="chart-demo-pie" class="chart-lg"></div>
+  </div>
+</div>
+
+<script src="$TABLER_CDN/dist/libs/apexcharts/dist/apexcharts.min.js" defer></script>
+<script>
+  document.addEventListener("DOMContentLoaded", function() {
+    window.ApexCharts && (new ApexCharts(document.getElementById('chart-demo-pie'), {
+      chart: {
+        type: "donut",
+        fontFamily: 'inherit',
+        height: 240,
+        sparkline: {
+          enabled: true
+        },
+        animations: {
+          enabled: false
+        },
+      },
+      fill: {
+        opacity: 1,
+      },
+      series: [44, 55, 12, 2],
+      labels: ["Direct", "Affilliate", "E-mail", "Other"],
+      tooltip: {
+        theme: 'dark'
+      },
+      grid: {
+        strokeDashArray: 4,
+      },
+      colors: [tabler.getColor("primary"), tabler.getColor("primary", 0.8), tabler.getColor("primary", 0.6), tabler.getColor("gray-300")],
+      legend: {
+        show: true,
+        position: 'bottom',
+        offsetY: 12,
+        markers: {
+          width: 10,
+          height: 10,
+          radius: 100,
+        },
+        itemMargin: {
+          horizontal: 8,
+          vertical: 8
+        },
+      },
+      tooltip: {
+        fillSeriesColor: false
+      },
+    })).render();
+  });
+</script>
+```
+
+## Heatmap Chart
+
+Heatmap is a visualization tool that employs color the way a bar chart employs height and width in representing data.
+
+```html example code centered columns={2} height="25rem"
+<div class="card">
+  <div class="card-body">
+    <div id="chart-demo-pie" class="chart-lg"></div>
+  </div>
+</div>
+
+<script src="$TABLER_CDN/dist/libs/apexcharts/dist/apexcharts.min.js" defer></script>
+<script>
+  document.addEventListener("DOMContentLoaded", function() {
+    window.ApexCharts && (new ApexCharts(document.getElementById('chart-demo-pie'), {
+      chart: {
+        type: "donut",
+        fontFamily: 'inherit',
+        height: 240,
+        sparkline: {
+          enabled: true
+        },
+        animations: {
+          enabled: false
+        },
+      },
+      fill: {
+        opacity: 1,
+      },
+      series: [44, 55, 12, 2],
+      labels: ["Direct", "Affilliate", "E-mail", "Other"],
+      tooltip: {
+        theme: 'dark'
+      },
+      grid: {
+        strokeDashArray: 4,
+      },
+      colors: [tabler.getColor("primary"), tabler.getColor("primary", 0.8), tabler.getColor("primary", 0.6), tabler.getColor("gray-300")],
+      legend: {
+        show: true,
+        position: 'bottom',
+        offsetY: 12,
+        markers: {
+          width: 10,
+          height: 10,
+          radius: 100,
+        },
+        itemMargin: {
+          horizontal: 8,
+          vertical: 8
+        },
+      },
+      tooltip: {
+        fillSeriesColor: false
+      },
+    })).render();
+  });
+</script>
+```
+
+## Advanced example
+
+```html example code centered columns={2} height="25rem"
+<div class="card">
+  <div class="card-body">
+    <div id="chart-social-referrals" class="chart-lg"></div>
+  </div>
+</div>
+
+<script src="$TABLER_CDN/dist/libs/apexcharts/dist/apexcharts.min.js" defer></script>
+<script>
+  document.addEventListener("DOMContentLoaded", function() {
+    window.ApexCharts && (new ApexCharts(document.getElementById('chart-social-referrals'), {
+      chart: {
+        type: "line",
+        fontFamily: 'inherit',
+        height: 240,
+        parentHeightOffset: 0,
+        toolbar: {
+          show: false,
+        },
+        animations: {
+          enabled: false
+        },
+      },
+      fill: {
+        opacity: 1,
+      },
+      stroke: {
+        width: 2,
+        lineCap: "round",
+        curve: "smooth",
+      },
+      series: [{
+        name: "Facebook",
+        data: [13281, 8521, 15038, 9983, 15417, 8888, 7052, 14270, 5214, 9587, 5950, 16852, 17836, 12217, 17406, 12262, 9147, 14961, 18292, 15230, 13435, 10649, 5140, 13680, 4508, 13271, 13413, 5543, 18727, 18238, 18175, 6246, 5864, 17847, 9170, 6445, 12945, 8142, 8980, 10422, 15535, 11569, 10114, 17621, 16138, 13046, 6652, 9906, 14100, 16495, 6749]
+      }, {
+        name: "Twitter",
+        data: [3680, 1862, 3070, 2252, 5348, 3091, 3000, 3984, 5176, 5325, 2420, 5474, 3098, 1893, 3748, 2879, 4197, 5186, 4213, 4334, 2807, 1594, 4863, 2030, 3752, 4856, 5341, 3954, 3461, 3097, 3404, 4949, 2283, 3227, 3630, 2360, 3477, 4675, 1901, 2252, 3347, 2954, 5029, 2079, 2830, 3292, 4578, 3401, 4104, 3749, 4457, 3734]
+      }, {
+        name: "Dribbble",
+        data: [722, 1866, 961, 1108, 1110, 561, 1753, 1815, 1985, 776, 859, 547, 1488, 766, 702, 621, 1599, 1372, 1620, 963, 759, 764, 739, 789, 1696, 1454, 1842, 734, 551, 1689, 1924, 1875, 908, 1675, 1541, 1953, 534, 502, 1524, 1867, 719, 1472, 1608, 1025, 889, 1150, 654, 1695, 1662, 1285, 1787]
+      }],
+      tooltip: {
+        theme: 'dark'
+      },
+      grid: {
+        padding: {
+          top: -20,
+          right: 0,
+          left: -4,
+          bottom: -4
+        },
+        strokeDashArray: 4,
+        xaxis: {
+          lines: {
+            show: true
+          }
+        },
+      },
+      xaxis: {
+        labels: {
+          padding: 0,
+        },
+        tooltip: {
+          enabled: false
+        },
+        type: 'datetime',
+      },
+      yaxis: {
+        labels: {
+          padding: 4
+        },
+      },
+      labels: [
+        '2020-06-21', '2020-06-22', '2020-06-23', '2020-06-24', '2020-06-25', '2020-06-26', '2020-06-27', '2020-06-28', '2020-06-29', '2020-06-30', '2020-07-01', '2020-07-02', '2020-07-03', '2020-07-04', '2020-07-05', '2020-07-06', '2020-07-07', '2020-07-08', '2020-07-09', '2020-07-10', '2020-07-11', '2020-07-12', '2020-07-13', '2020-07-14', '2020-07-15', '2020-07-16', '2020-07-17', '2020-07-18', '2020-07-19', '2020-07-20', '2020-07-21', '2020-07-22', '2020-07-23', '2020-07-24', '2020-07-25', '2020-07-26', '2020-07-27', '2020-07-28', '2020-07-29', '2020-07-30', '2020-07-31', '2020-08-01', '2020-08-02', '2020-08-03', '2020-08-04', '2020-08-05', '2020-08-06', '2020-08-07', '2020-08-08', '2020-08-09', '2020-08-10'
+      ],
+      colors: [tabler.getColor("facebook"), tabler.getColor("twitter"), tabler.getColor("dribbble")],
+      legend: {
+        show: true,
+        position: 'bottom',
+        offsetY: 12,
+        markers: {
+          width: 10,
+          height: 10,
+          radius: 100,
+        },
+        itemMargin: {
+          horizontal: 8,
+          vertical: 8
+        },
+      },
+    })).render();
+  });
+</script>
+```

+ 63 - 62
src/pages/_docs/countup.md → docs/components/countup.mdx

@@ -1,7 +1,6 @@
 ---
 title: Countup
-description: A countup element is used to display numerical data in an interesting way and make the interface more interactive. All the available options can be found [here](https://inorganik.github.io/countUp.js/)
-menu: help.docs.components.countup
+description: A countup element is used to display numerical data in an interesting way and make the interface more interactive.
 libs: countup
 ---
 
@@ -11,125 +10,127 @@ To be able to use the countup in your application you will need to install the c
 
 To create a countup, add `data-countup` to any HTML text tag and specify the number which is to be reached. The animation will be triggered as soon as the number enters the viewport.
 
-{% capture code %}
-<h1 data-countup>30000</h1>
-{% endcapture %}
-{% include example.html code=code %}
+```html code example
+<script src="$TABLER_CDN/dist/libs/countup.js/dist/countUp.js"></script>
 
+<h1 data-countup>30000</h1>
+```
 
 ## Duration
 
 Set the `duration` to determine how long the animation should take. By default, the duration is set to 2 seconds, but you can modify it as you wish.
 
-{% capture code %}
-<h1 data-countup>30000</h1>
-    <h1 data-countup='{"duration":4}'>30000</h1>
-    <h1 data-countup='{"duration":6}'>30000</h1>
-{% endcapture %}
-{% include example.html code=code %}
+```html code example
+<script src="$TABLER_CDN/dist/libs/countup.js/dist/countUp.js"></script>
 
+<h1 data-countup>30000</h1>
+<h1 data-countup='{"duration":4}'>30000</h1>
+<h1 data-countup='{"duration":6}'>30000</h1>
+```
 
 ## Starting value
 
-By default the countup will start from zero. If you want to set a different start value use `startVal`. 
+By default the countup will start from zero. If you want to set a different start value use `startVal`.
 You can also set the start value to be greater than the final value, so that it counts down instead of up.
 
-{% capture code %}
+```html code example
+<script src="$TABLER_CDN/dist/libs/countup.js/dist/countUp.js"></script>
+
 <h1 data-countup='{"startVal":12345}'>30000</h1>
 <h1 data-countup='{"startVal":47655}'>30000</h1>
-{% endcapture %}
-{% include example.html code=code %}
-
+```
 
 ## Decimal places
 
 Set how many decimal numbers should be displayed using `decimalPlaces`.
 
-{% capture code %}
-<h1 data-countup>3.123</h1>
-    <h1 data-countup='{"decimalPlaces":1}'>3.123</h1>
-    <h1 data-countup='{"decimalPlaces":2}'>3.123</h1>
-    <h1 data-countup='{"decimalPlaces":3}'>3.123</h1>
-{% endcapture %}
-{% include example.html code=code %}
+```html code example
+<script src="$TABLER_CDN/dist/libs/countup.js/dist/countUp.js"></script>
 
+<h1 data-countup>3.123</h1>
+<h1 data-countup='{"decimalPlaces":1}'>3.123</h1>
+<h1 data-countup='{"decimalPlaces":2}'>3.123</h1>
+<h1 data-countup='{"decimalPlaces":3}'>3.123</h1>
+```
 
 ## Easing
 
 Disable easing using `"useEasing": false`. Easing is set to `true` by default, so that the animation speed changes over the course of its duration.
 
-{% capture code %}
-<h1 data-countup>30000</h1>
-    <h1 data-countup='{"useEasing": false}'>30000</h1>
-{% endcapture %}
-{% include example.html code=code %}
+```html code example
+<script src="$TABLER_CDN/dist/libs/countup.js/dist/countUp.js"></script>
 
+<h1 data-countup>30000</h1>
+<h1 data-countup='{"useEasing": false}'>30000</h1>
+```
 
 ## Use grouping
 
 Disable grouping using `"useGrouping": false`. Grouping is set to `true` by default and the default group separator is a comma.
 
-{% capture code %}
-<h1 data-countup>30000</h1>
-    <h1 data-countup='{"useGrouping": false}'>30000</h1>
-{% endcapture %}
-{% include example.html code=code %}
+```html code example
+<script src="$TABLER_CDN/dist/libs/countup.js/dist/countUp.js"></script>
 
+<h1 data-countup>30000</h1>
+<h1 data-countup='{"useGrouping": false}'>30000</h1>
+```
 
 ## Separator
 
 You can change the default comma group separator using `separator` and specifying the one you wish to use.
 
-{% capture code %}
-<h1 data-countup>3000000</h1>
-    <h1 data-countup='{"separator":" "}'>3000000</h1>
-    <h1 data-countup='{"separator":"-"}'>3000000</h1>
-    <h1 data-countup='{"separator":":"}'>3000000</h1>
-{% endcapture %}
-{% include example.html code=code %}
+```html code example
+<script src="$TABLER_CDN/dist/libs/countup.js/dist/countUp.js"></script>
 
+<h1 data-countup>3000000</h1>
+<h1 data-countup='{"separator":" "}'>3000000</h1>
+<h1 data-countup='{"separator":"-"}'>3000000</h1>
+<h1 data-countup='{"separator":":"}'>3000000</h1>
+```
 
 ## Decimal separator
 
 You can also change the decimal separator which is set to a full stop by default. To do it, use `decimal` and specify the decimal separator of your choice.
 
-{% capture code %}
-<h1 data-countup='{"decimalPlaces":2}'>3.12</h1>
-    <h1 data-countup='{"decimalPlaces":2,"decimal":".."}'>3.12</h1>
-    <h1 data-countup='{"decimalPlaces":2,"decimal":"^"}'>3.12</h1>
-    <h1 data-countup='{"decimalPlaces":2,"decimal":":"}'>3.12</h1>
-{% endcapture %}
-{% include example.html code=code %}
+```html code example
+<script src="$TABLER_CDN/dist/libs/countup.js/dist/countUp.js"></script>
 
+<h1 data-countup='{"decimalPlaces":2}'>3.12</h1>
+<h1 data-countup='{"decimalPlaces":2,"decimal":".."}'>3.12</h1>
+<h1 data-countup='{"decimalPlaces":2,"decimal":"^"}'>3.12</h1>
+<h1 data-countup='{"decimalPlaces":2,"decimal":":"}'>3.12</h1>
+```
 
 ## Prefix
 
 Set the countup prefix using `prefix` and specifying the prefix you want to add, for instance a currency symbol.
 
-{% capture code %}
-<h1 data-countup='{"prefix":"$"}'>30000</h1>
-    <h1 data-countup='{"prefix":"€"}'>30000</h1>
-    <h1 data-countup='{"prefix":"£"}'>30000</h1>
-{% endcapture %}
-{% include example.html code=code %}
+```html code example
+<script src="$TABLER_CDN/dist/libs/countup.js/dist/countUp.js"></script>
 
+<h1 data-countup='{"prefix":"$"}'>30000</h1>
+<h1 data-countup='{"prefix":"€"}'>30000</h1>
+<h1 data-countup='{"prefix":"£"}'>30000</h1>
+```
 
 ## Suffix
 
 Set the countup suffix using `suffix`.
 
-{% capture code %}
+```html code example
+<script src="$TABLER_CDN/dist/libs/countup.js/dist/countUp.js"></script>
+
 <h1 data-countup='{"suffix":"%"}'>30</h1>
-    <h1 data-countup='{"suffix":"‰"}'>30</h1>
-    <h1 data-countup='{"suffix":"k"}'>30</h1>
-{% endcapture %}
-{% include example.html code=code %}
+<h1 data-countup='{"suffix":"‰"}'>30</h1>
+<h1 data-countup='{"suffix":"k"}'>30</h1>
+```
 
 Of course you can mix all of these:
 
-{% capture code %}
+```html code example
+<script src="$TABLER_CDN/dist/libs/countup.js/dist/countUp.js"></script>
+
 <h1 data-countup='{"duration":6,"startVal":12345,"decimalPlaces":2,"separator":" ","prefix":"$"}'>64547834.76</h1>
-{% endcapture %}
-{% include example.html code=code %}
+```
 
 For more advanced features of countups, click [**here**](https://inorganik.github.io/countUp.js/) and see what more you can do.

+ 90 - 0
docs/components/datagrid.mdx

@@ -0,0 +1,90 @@
+---
+title: Data grid
+description: Use the data grid component to display detailed information about your product. The data is displayed as a column of items consisting of a title and content.
+---
+
+```html example vcentered height="22rem"
+<div class="datagrid">
+  <div class="datagrid-item">
+    <div class="datagrid-title">Registrar</div>
+    <div class="datagrid-content">Third Party</div>
+  </div>
+  <div class="datagrid-item">
+    <div class="datagrid-title">Nameservers</div>
+    <div class="datagrid-content">Third Party</div>
+  </div>
+  <div class="datagrid-item">
+    <div class="datagrid-title">Port number</div>
+    <div class="datagrid-content">3306</div>
+  </div>
+  <div class="datagrid-item">
+    <div class="datagrid-title">Expiration date</div>
+    <div class="datagrid-content">–</div>
+  </div>
+  <div class="datagrid-item">
+    <div class="datagrid-title">Creator</div>
+    <div class="datagrid-content">
+      <div class="d-flex align-items-center">
+        <span class="avatar avatar-xs me-2 rounded" style="background-image: url(/samples/avatars/027m.jpg)"></span>
+        Paweł Kuna
+      </div>
+    </div>
+  </div>
+  <div class="datagrid-item">
+    <div class="datagrid-title">Age</div>
+    <div class="datagrid-content">15 days</div>
+  </div>
+  <div class="datagrid-item">
+    <div class="datagrid-title">Edge network</div>
+    <div class="datagrid-content">
+      <span class="status status-green">
+        Active
+      </span>
+    </div>
+  </div>
+  <div class="datagrid-item">
+    <div class="datagrid-title">Avatars list</div>
+    <div class="datagrid-content">
+      <div class="avatar-list avatar-list-stacked">
+        <span class="avatar avatar-xs rounded" style="background-image: url(/samples/avatars/029f.jpg)"></span>
+        <span class="avatar avatar-xs rounded">JL</span>
+        <span class="avatar avatar-xs rounded" style="background-image: url(/samples/avatars/015f.jpg)"></span>
+        <span class="avatar avatar-xs rounded" style="background-image: url(/samples/avatars/004m.jpg)"></span>
+        <span class="avatar avatar-xs rounded" style="background-image: url(/samples/avatars/037m.jpg)"></span>
+        <span class="avatar avatar-xs rounded">+3</span>
+      </div>
+    </div>
+  </div>
+  <div class="datagrid-item">
+    <div class="datagrid-title">Checkbox</div>
+    <div class="datagrid-content">
+      <label class="form-check">
+        <input class="form-check-input" type="checkbox" checked />
+        <span class="form-check-label">Click me</span>
+      </label>
+    </div>
+  </div>
+  <div class="datagrid-item">
+    <div class="datagrid-title">Icon</div>
+    <div class="datagrid-content">
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon text-green" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <path d="M5 12l5 5l10 -10" />
+      </svg>
+      Checked
+    </div>
+  </div>
+  <div class="datagrid-item">
+    <div class="datagrid-title">Form control</div>
+    <div class="datagrid-content">
+      <input type="text" class="form-control form-control-flush" placeholder="Input placeholder" />
+    </div>
+  </div>
+  <div class="datagrid-item">
+    <div class="datagrid-title">Longer description</div>
+    <div class="datagrid-content">
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit.
+    </div>
+  </div>
+</div>
+```

+ 18 - 25
src/pages/_docs/divider.md → docs/components/divider.mdx

@@ -1,70 +1,63 @@
 ---
 title: Divider
-description: Dividers help organize content and make the interface layout clear and uncluttered. Greater clarity adds up to better user experience and enhanced interaction with a website or app.  
-bootstrap-link: components/dropdowns/#dividers
-menu: help.docs.components.divider
+description: Dividers help organize content and make the interface layout clear and uncluttered. Greater clarity adds up to better user experience and enhanced interaction with a website or app.
+bootstrapLink: components/dropdowns/#dividers
 ---
 
-
 ## Default markup
 
-Use dividers to visually separate content into parts. You can use a line only or add text that will be centered by default.   
+Use dividers to visually separate content into parts. You can use a line only or add text that will be centered by default.
 
-{% capture code %}
+```html code example
 <p>
   Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alias, dolore dolores doloribus est ex.
 </p>
-{% include ui/hr.html text="See also" %}
+<div class="hr-text">See also</div>
 <p>
   Dicta error hic illo iure necessitatibus nihil officiis omnis perferendis, praesentium repellendus rerum, saepe sed, sit!
 </p>
-{% endcapture %}
-{% include example.html code=code wrapper="demo-dividers" %}
-
+```
 
 ## Text position
 
 You can modify the position of the text which is to be included in a separator and make it left- or right-aligned. Otherwise, the text will remain centered.
 
-{% capture code %}
+```html code example
 <p>
   Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alias, dolore dolores doloribus est ex.
 </p>
-{% include ui/hr.html text="Left divider" position="left" %}
+<div class="hr-text hr-text-left">Left divider</div>
 <p>
   Dicta error hic illo iure necessitatibus nihil officiis omnis perferendis, praesentium repellendus rerum, saepe sed, sit!
 </p>
-{% include ui/hr.html text="Centered divider"  %}
+<div class="hr-text">Centered divider</div>
 <p>
   Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alias, dolore dolores doloribus est ex.
 </p>
-{% include ui/hr.html text="Right divider" position="right" %}
+<div class="hr-text hr-text-right">Right divider</div>
 <p>
   Dicta error hic illo iure necessitatibus nihil officiis omnis perferendis, praesentium repellendus rerum, saepe sed, sit!
 </p>
-{% endcapture %}
-{% include example.html code=code wrapper="demo-dividers" %}
-
+```
 
 ## Divider color
 
-Customize the color of dividers to make them go well with your design. Click [here]({% docs_url colors %}) to see the list of available colors.
+Customize the color of dividers to make them go well with your design. Click [here](colors) to see the list of available colors.
 
-{% capture code %}
+```html code example
 <p>
   Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alias, dolore dolores doloribus est ex.
 </p>
-{% include ui/hr.html text="Green divider" color="green" %}
+<div class="hr-text text-green">Green divider</div>
 <p>
   Dicta error hic illo iure necessitatibus nihil officiis omnis perferendis, praesentium repellendus rerum, saepe sed, sit!
 </p>
-{% include ui/hr.html text="Red divider" color="red" %}
+<div class="hr-text text-red">Red divider</div>
 <p>
   Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alias, dolore dolores doloribus est ex.
 </p>
-{% include ui/hr.html text="Primary divider" color="primary" %}
+<div class="hr-text text-primary">Primary divider</div>
 <p>
-   Dicta error hic illo iure necessitatibus nihil officiis omnis perferendis, praesentium repellendus rerum, saepe sed, sit!
+  Dicta error hic illo iure necessitatibus nihil officiis omnis perferendis, praesentium repellendus rerum, saepe sed, sit!
 </p>
-{% endcapture %}
-{% include example.html code=code wrapper="demo-dividers" %}
+```

+ 245 - 0
docs/components/dropdowns.mdx

@@ -0,0 +1,245 @@
+---
+title: Dropdowns
+description: Use dropdowns to display lists of options or include more positions in a menu without overwhelming users with too many buttons and long lists. Dropdowns facilitate users' interaction with your website or software and make your design look clear.
+bootstrapLink: components/dropdowns
+---
+
+## Default dropdown
+
+With small markup changes, you can turn any `.btn` into a dropdown toggle and use it to display more options for users to choose from. Start with the default dropdown and then use additional classes to make your dropdown more user-friendly.
+
+```html example code height="20rem"
+<div class="dropdown">
+  <a href="#" class="btn dropdown-toggle" data-bs-toggle="dropdown">Open dropdown</a>
+  <div class="dropdown-menu">
+    <a class="dropdown-item" href="#">Action</a>
+    <a class="dropdown-item" href="#">Another action</a>
+    <a class="dropdown-item" href="#">Third action</a>
+  </div>
+</div>
+```
+
+## Dropdown divider
+
+Use dropdown dividers to separate groups of dropdown items for greater clarity.
+
+```html example code height="20rem"
+<div class="dropdown">
+  <a href="#" class="btn dropdown-toggle" data-bs-toggle="dropdown">Open dropdown</a>
+  <div class="dropdown-menu">
+    <a class="dropdown-item" href="#">
+      Action
+    </a>
+    <a class="dropdown-item" href="#">
+      Another action
+    </a>
+    <div class="dropdown-divider"></div>
+    <a class="dropdown-item" href="#">Separated link</a>
+  </div>
+</div>
+```
+
+## Active state
+
+Make a dropdown item look active, so that it highlights when a user hovers over a given option.
+
+```html example code height="20rem"
+<div class="dropdown">
+  <a href="#" class="btn dropdown-toggle" data-bs-toggle="dropdown">Open dropdown</a>
+  <div class="dropdown-menu">
+    <a class="dropdown-item" href="#">
+      Action
+    </a>
+    <a class="dropdown-item" href="#">
+      Another action
+    </a>
+    <a class="dropdown-item active" href="#">Active action</a>
+  </div>
+</div>
+```
+
+## Disabled state
+
+Make a dropdown item look disabled to display options which are currently not available but can activate once certain conditions are met.
+
+```html code example height="20rem"
+<div class="dropdown">
+  <a href="#" class="btn dropdown-toggle" data-bs-toggle="dropdown">Open dropdown</a>
+  <div class="dropdown-menu">
+    <a class="dropdown-item" href="#">
+      Action
+    </a>
+    <a class="dropdown-item" href="#">
+      Another action
+    </a>
+    <a class="dropdown-item disabled" href="#">Disabled action</a>
+  </div>
+</div>
+```
+
+## Dropdown header
+
+Add a dropdown header to group dropdown items into sections and name them accordingly.
+
+```html code example height="20rem"
+<div class="dropdown">
+  <a href="#" class="btn dropdown-toggle" data-bs-toggle="dropdown">Open dropdown</a>
+  <div class="dropdown-menu">
+    <span class="dropdown-header">Dropdown header</span>
+    <a class="dropdown-item" href="#">
+      Action
+    </a>
+    <a class="dropdown-item" href="#">
+      Another action
+    </a>
+  </div>
+</div>
+```
+
+## Dropdown with icons
+
+Use icons in your dropdowns to add more visual content and make the options easy to identify for users.
+
+```html code example height="20rem"
+<div class="dropdown">
+  <a href="#" class="btn dropdown-toggle" data-bs-toggle="dropdown">Open dropdown</a>
+  <div class="dropdown-menu">
+    <span class="dropdown-header">Dropdown header</span>
+    <a class="dropdown-item" href="#">
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon dropdown-item-icon icon-tabler icon-tabler-settings" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+        <path d="M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z"></path>
+        <path d="M12 12m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0"></path>
+      </svg>
+      Action
+    </a>
+    <a class="dropdown-item" href="#">
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon dropdown-item-icon icon-tabler icon-tabler-pencil" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+        <path d="M4 20h4l10.5 -10.5a1.5 1.5 0 0 0 -4 -4l-10.5 10.5v4"></path>
+        <path d="M13.5 6.5l4 4"></path>
+      </svg>
+      Another action
+    </a>
+  </div>
+</div>
+```
+
+## Dropdown with arrow
+
+Add an arrow that points at the dropdown button.
+
+```html code example height="20rem"
+<div class="dropdown">
+  <a href="#" class="btn dropdown-toggle" data-bs-toggle="dropdown">Open dropdown</a>
+  <div class="dropdown-menu dropdown-menu-arrow">
+    <a class="dropdown-item" href="#">
+      Action
+    </a>
+    <a class="dropdown-item" href="#">
+      Another action
+    </a>
+  </div>
+</div>
+```
+
+## Dropdown with badge
+
+Add a badge to your dropdown items to show additional information related to an item or distinguish it from other elements.
+
+```html code example height="20rem"
+<div class="dropdown">
+  <a href="#" class="btn dropdown-toggle" data-bs-toggle="dropdown">Open dropdown</a>
+  <div class="dropdown-menu">
+    <a class="dropdown-item" href="#">
+      Action
+      <span class="badge bg-primary ms-auto">12</span>
+    </a>
+    <a class="dropdown-item" href="#">
+      Another action
+      <span class="badge bg-green ms-auto"></span>
+    </a>
+  </div>
+</div>
+```
+
+## Dropdown with checkboxes
+
+Use dropdowns with checkboxes to allow users to select options from a predefined list. Dropdowns with checkboxes are particularly useful for filtering.
+
+```html code example height="20rem"
+<div class="dropdown">
+  <a href="#" class="btn dropdown-toggle" data-bs-toggle="dropdown">Open dropdown</a>
+  <div class="dropdown-menu">
+    <label class="dropdown-item"><input class="form-check-input m-0 me-2" type="radio" /> Option 1</label>
+    <label class="dropdown-item"><input class="form-check-input m-0 me-2" type="radio" /> Option 2</label>
+    <label class="dropdown-item"><input class="form-check-input m-0 me-2" type="radio" /> Option 3</label>
+  </div>
+</div>
+```
+
+## Dark dropdown
+
+Make your dropdown suit the dark mode of your website or software.
+
+```html code example height="20rem"
+<div class="dropdown">
+  <a href="#" class="btn dropdown-toggle" data-bs-toggle="dropdown">Open dropdown</a>
+  <div class="dropdown-menu dropdown-menu-arrow bg-dark text-white">
+    <span class="dropdown-header">Dropdown header</span>
+    <a class="dropdown-item" href="#">
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon dropdown-item-icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <path d="M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z" />
+        <circle cx="12" cy="12" r="3" />
+      </svg>
+      Action
+    </a>
+    <a class="dropdown-item" href="#">
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon dropdown-item-icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <path d="M7 7h-1a2 2 0 0 0 -2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2 -2v-1" />
+        <path d="M20.385 6.585a2.1 2.1 0 0 0 -2.97 -2.97l-8.415 8.385v3h3l8.385 -8.415z" />
+        <path d="M16 5l3 3" />
+      </svg>
+      Another action
+    </a>
+  </div>
+</div>
+```
+
+## Dropdown with card content
+
+Use a dropdown with card content to make it easy for users to get more information on a given subject and avoid ovewhelming them with too much content at once.
+
+```html example height="35rem"
+<div class="dropdown">
+  <a href="#" class="btn dropdown-toggle" data-bs-toggle="dropdown">Open dropdown</a>
+  <div class="dropdown-menu dropdown-menu-card" style="max-width: 20rem;">
+    <div class="card d-flex flex-column">
+      <a href="#">
+        <img class="card-img-top" src="/samples/photos/friends-at-a-restaurant-drinking-wine.jpg" alt="How do you know she is a witch?" />
+      </a>
+      <div class="card-body d-flex flex-column">
+        <h3 class="card-title"><a href="#">How do you know she is a witch?</a></h3>
+        <div class="text-muted">Are you suggesting that coconuts migrate? No, no, no! Yes, yes. A bit. But she's got a wart. You ...</div>
+        <div class="d-flex align-items-center pt-4 mt-auto">
+          <span class="avatar" style="background-image: url(/samples/avatars/013m.jpg)"></span>
+          <div class="ms-3">
+            <a href="#" class="text-body">Maryjo Lebarree</a>
+            <div class="text-muted">3 days ago</div>
+          </div>
+          <div class="ms-auto">
+            <a href="#" class="icon d-none d-md-inline-block ms-3 text-muted">
+              <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+                <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+                <path d="M19.5 12.572l-7.5 7.428l-7.5 -7.428m0 0a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572" />
+              </svg>
+            </a>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+```

+ 63 - 0
docs/components/dropzone.mdx

@@ -0,0 +1,63 @@
+---
+title: Dropzone
+libs: dropzone
+description: Dropzone is a simple JavaScript library that helps you add file drag and drop functionality to your web forms. It is one of the most popular drag and drop library on the web and is used by millions of people.
+---
+
+## Default Dropzone
+
+```html example code vendors height="240px"
+<form class="dropzone" id="dropzone-default" action="." autocomplete="off" novalidate>
+  <div class="fallback">
+    <input name="file" type="file" />
+  </div>
+</form>
+
+<link href="$TABLER_CDN/dist/libs/dropzone/dist/dropzone.css" rel="stylesheet" />
+<script src="$TABLER_CDN/dist/libs/dropzone/dist/dropzone-min.js"></script>
+<script>
+  document.addEventListener("DOMContentLoaded", function() {
+    new Dropzone("#dropzone-default")
+  })
+</script>
+```
+
+## Add multiple files
+
+```html example code vendors height="240px"
+<form class="dropzone" id="dropzone-mulitple" action="." autocomplete="off" novalidate>
+  <div class="fallback">
+    <input name="file" type="file" multiple />
+  </div>
+</form>
+
+<link href="$TABLER_CDN/dist/libs/dropzone/dist/dropzone.css" rel="stylesheet" />
+<script src="$TABLER_CDN/dist/libs/dropzone/dist/dropzone-min.js"></script>
+<script>
+  document.addEventListener("DOMContentLoaded", function() {
+    new Dropzone("#dropzone-mulitple")
+  })
+</script>
+```
+
+## Custom Dropzone
+
+```html example code vendors height="240px"
+<form class="dropzone" id="dropzone-custom" action="." autocomplete="off" novalidate>
+  <div class="fallback">
+    <input name="file" type="file" />
+  </div>
+  <div class="dz-message">
+    <h3 class="dropzone-msg-title">Your text here</h3>
+    <span class="dropzone-msg-desc">Your custom description here</span>
+  </div>
+</form>
+
+<link href="$TABLER_CDN/dist/libs/dropzone/dist/dropzone.css" rel="stylesheet" />
+<script src="$TABLER_CDN/dist/libs/dropzone/dist/dropzone-min.js"></script>
+<script>
+  document.addEventListener("DOMContentLoaded", function() {
+    new Dropzone("#dropzone-custom")
+  })
+</script>
+```

+ 103 - 0
docs/components/empty.mdx

@@ -0,0 +1,103 @@
+---
+title: Empty states
+description: Empty states or blank pages are commonly used as placeholders for first-use, empty data or error screens. Their aim is to engage users when there is no content to display and that is why their design is extremely important from the point of view of the user experience of your website or app.
+---
+
+## Default markup
+
+Use the default empty state to engage users in the critical moments of their experience with your website or app. A good empty state screen should let users know what is happening and what they should do next as well as encourage them to take action.
+
+```html code example
+<div class="empty">
+  <div class="empty-icon">
+    <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+      <circle cx="12" cy="12" r="9" />
+      <line x1="9" y1="10" x2="9.01" y2="10" />
+      <line x1="15" y1="10" x2="15.01" y2="10" />
+      <path d="M9.5 15.25a3.5 3.5 0 0 1 5 0" />
+    </svg>
+  </div>
+  <p class="empty-title">No results found</p>
+  <p class="empty-subtitle text-muted">
+    Try adjusting your search or filter to find what you're looking for.
+  </p>
+  <div class="empty-action">
+    <a href="#" class="btn btn-primary">
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <circle cx="10" cy="10" r="7" />
+        <line x1="21" y1="21" x2="15" y2="15" />
+      </svg>
+      Search again
+    </a>
+  </div>
+</div>
+```
+
+## Empty state with illustration
+
+Make your empty state screen more attractive and engaging by adding an illustration. Thanks to a more personalized design, you will improve your brand image and make your website or app more user friendly.
+
+```html code example
+<div class="empty">
+  <div class="empty-img"><img src="..." height="128" alt="" />
+  </div>
+  <p class="empty-title">Invoices are managed from here</p>
+  <p class="empty-subtitle text-muted">
+    Try adjusting your search or filter to find what you're looking for.
+  </p>
+  <div class="empty-action">
+    <a href="#" class="btn btn-primary">
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <line x1="12" y1="5" x2="12" y2="19" />
+        <line x1="5" y1="12" x2="19" y2="12" />
+      </svg>
+      New invoice
+    </a>
+  </div>
+</div>
+```
+
+## Empty state with header
+
+Instead of adding an icon or illustration you can simply give the text:
+
+```html example
+<div class="empty">
+  <div class="empty-header">404</div>
+  <p class="empty-title">Oops… You just found an error page</p>
+  <p class="empty-subtitle text-muted">
+    Try adjusting your search or filter to find what you're looking for.
+  </p>
+  <div class="empty-action">
+    <a href="#" class="btn btn-primary">
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <line x1="5" y1="12" x2="19" y2="12" />
+        <line x1="5" y1="12" x2="11" y2="18" />
+        <line x1="5" y1="12" x2="11" y2="6" />
+      </svg>
+      Take me home
+    </a>
+  </div>
+</div>
+```
+
+```html
+<div class="empty">
+  <div class="empty-header">404</div>
+  <p class="empty-title">Oops… You just found an error page</p>
+  <p class="empty-subtitle text-muted">
+    Try adjusting your search or filter to find what you're looking for.
+  </p>
+  <div class="empty-action">
+    <a href="#" class="btn btn-primary">
+      <!-- SVG icon from http://tabler-icons.io/i/arrow-left -->
+      <svg>...</svg>
+      Take me home
+    </a>
+  </div>
+</div>
+```

+ 120 - 0
docs/components/icons.mdx

@@ -0,0 +1,120 @@
+---
+title: Icons
+description: Use one of over 3000 icons created specifically for Tabler and make your dashboard look even more attractive. All icons are under MIT license, so you can use them without any problem both in private and commercial projects.
+banner: icons
+---
+
+## Base icon
+
+```html code example centered separated
+<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-heart" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+  <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+  <path d="M19.5 12.572l-7.5 7.428l-7.5 -7.428a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572"></path>
+</svg>
+<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-ghost-2" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+  <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+  <path d="M10 9h.01"></path>
+  <path d="M14 9h.01"></path>
+  <path d="M12 3a7 7 0 0 1 7 7v1l1 0a2 2 0 1 1 0 4l-1 0v3l2 3h-10a6 6 0 0 1 -6 -5.775l0 -.226l-1 0a2 2 0 0 1 0 -4l1 0v-1a7 7 0 0 1 7 -7z"></path>
+  <path d="M11 14h2a1 1 0 0 0 -2 0z"></path>
+</svg>
+<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-lego" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+  <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+  <path d="M9.5 11l.01 0"></path>
+  <path d="M14.5 11l.01 0"></path>
+  <path d="M9.5 15a3.5 3.5 0 0 0 5 0"></path>
+  <path d="M7 5h1v-2h8v2h1a3 3 0 0 1 3 3v9a3 3 0 0 1 -3 3v1h-10v-1a3 3 0 0 1 -3 -3v-9a3 3 0 0 1 3 -3"></path>
+</svg>
+<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-building-carousel" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+  <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+  <path d="M12 12m-6 0a6 6 0 1 0 12 0a6 6 0 1 0 -12 0"></path>
+  <path d="M5 8m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"></path>
+  <path d="M12 4m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"></path>
+  <path d="M19 8m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"></path>
+  <path d="M5 16m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"></path>
+  <path d="M19 16m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"></path>
+  <path d="M8 22l4 -10l4 10"></path>
+</svg>
+```
+
+## Filled icons
+
+```html code example centered separated
+<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-heart-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+  <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+  <path d="M6.979 3.074a6 6 0 0 1 4.988 1.425l.037 .033l.034 -.03a6 6 0 0 1 4.733 -1.44l.246 .036a6 6 0 0 1 3.364 10.008l-.18 .185l-.048 .041l-7.45 7.379a1 1 0 0 1 -1.313 .082l-.094 -.082l-7.493 -7.422a6 6 0 0 1 3.176 -10.215z" stroke-width="0" fill="currentColor"></path>
+</svg>
+<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-bell-ringing-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+  <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+  <path d="M17.451 2.344a1 1 0 0 1 1.41 -.099a12.05 12.05 0 0 1 3.048 4.064a1 1 0 1 1 -1.818 .836a10.05 10.05 0 0 0 -2.54 -3.39a1 1 0 0 1 -.1 -1.41z" stroke-width="0" fill="currentColor"></path>
+  <path d="M5.136 2.245a1 1 0 0 1 1.312 1.51a10.05 10.05 0 0 0 -2.54 3.39a1 1 0 1 1 -1.817 -.835a12.05 12.05 0 0 1 3.045 -4.065z" stroke-width="0" fill="currentColor"></path>
+  <path d="M14.235 19c.865 0 1.322 1.024 .745 1.668a3.992 3.992 0 0 1 -2.98 1.332a3.992 3.992 0 0 1 -2.98 -1.332c-.552 -.616 -.158 -1.579 .634 -1.661l.11 -.006h4.471z" stroke-width="0" fill="currentColor"></path>
+  <path d="M12 2c1.358 0 2.506 .903 2.875 2.141l.046 .171l.008 .043a8.013 8.013 0 0 1 4.024 6.069l.028 .287l.019 .289v2.931l.021 .136a3 3 0 0 0 1.143 1.847l.167 .117l.162 .099c.86 .487 .56 1.766 -.377 1.864l-.116 .006h-16c-1.028 0 -1.387 -1.364 -.493 -1.87a3 3 0 0 0 1.472 -2.063l.021 -.143l.001 -2.97a8 8 0 0 1 3.821 -6.454l.248 -.146l.01 -.043a3.003 3.003 0 0 1 2.562 -2.29l.182 -.017l.176 -.004z" stroke-width="0" fill="currentColor"></path>
+</svg>
+<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-cherry-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+  <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+  <path d="M16.588 5.191l.058 .045l.078 .074l.072 .084l.013 .018a.998 .998 0 0 1 .182 .727l-.022 .111l-.03 .092c-.99 2.725 -.666 5.158 .679 7.706a4 4 0 1 1 -4.613 4.152l-.005 -.2l.005 -.2a4.002 4.002 0 0 1 2.5 -3.511c-.947 -2.03 -1.342 -4.065 -1.052 -6.207c-.166 .077 -.332 .15 -.499 .218l.094 -.064c-2.243 1.47 -3.552 3.004 -3.98 4.57a4.5 4.5 0 1 1 -7.064 3.906l-.004 -.212l.005 -.212a4.5 4.5 0 0 1 5.2 -4.233c.332 -1.073 .945 -2.096 1.83 -3.069c-1.794 -.096 -3.586 -.759 -5.355 -1.986l-.268 -.19l-.051 -.04l-.046 -.04l-.044 -.044l-.04 -.046l-.04 -.05l-.032 -.047l-.035 -.06l-.053 -.11l-.038 -.116l-.023 -.117l-.005 -.042l-.005 -.118l.01 -.118l.023 -.117l.038 -.115l.03 -.066l.023 -.045l.035 -.06l.032 -.046l.04 -.051l.04 -.046l.044 -.044l.046 -.04l.05 -.04c4.018 -2.922 8.16 -2.922 12.177 0z" stroke-width="0" fill="currentColor"></path>
+</svg>
+<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-circle-key-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+  <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+  <path d="M12 2c5.523 0 10 4.477 10 10a10 10 0 0 1 -20 0c0 -5.523 4.477 -10 10 -10zm2 5a3 3 0 0 0 -2.98 2.65l-.015 .174l-.005 .176l.005 .176c.019 .319 .087 .624 .197 .908l.09 .209l-3.5 3.5l-.082 .094a1 1 0 0 0 0 1.226l.083 .094l1.5 1.5l.094 .083a1 1 0 0 0 1.226 0l.094 -.083l.083 -.094a1 1 0 0 0 0 -1.226l-.083 -.094l-.792 -.793l.585 -.585l.793 .792l.094 .083a1 1 0 0 0 1.403 -1.403l-.083 -.094l-.792 -.793l.792 -.792a3 3 0 1 0 1.293 -5.708zm0 2a1 1 0 1 1 0 2a1 1 0 0 1 0 -2z" stroke-width="0" fill="currentColor"></path>
+</svg>
+```
+
+## Icon colors
+
+```html example code centered separated
+<span class="text-red">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-heart-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+    <path d="M6.979 3.074a6 6 0 0 1 4.988 1.425l.037 .033l.034 -.03a6 6 0 0 1 4.733 -1.44l.246 .036a6 6 0 0 1 3.364 10.008l-.18 .185l-.048 .041l-7.45 7.379a1 1 0 0 1 -1.313 .082l-.094 -.082l-7.493 -7.422a6 6 0 0 1 3.176 -10.215z" stroke-width="0" fill="currentColor"></path>
+  </svg>
+</span>
+<span class="text-yellow">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-star-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+    <path d="M8.243 7.34l-6.38 .925l-.113 .023a1 1 0 0 0 -.44 1.684l4.622 4.499l-1.09 6.355l-.013 .11a1 1 0 0 0 1.464 .944l5.706 -3l5.693 3l.1 .046a1 1 0 0 0 1.352 -1.1l-1.091 -6.355l4.624 -4.5l.078 -.085a1 1 0 0 0 -.633 -1.62l-6.38 -.926l-2.852 -5.78a1 1 0 0 0 -1.794 0l-2.853 5.78z" stroke-width="0" fill="currentColor"></path>
+  </svg>
+</span>
+<span class="text-blue">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-circle" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+    <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path>
+  </svg>
+</span>
+<span class="text-green">
+  <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-square-rounded" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+    <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+    <path d="M12 3c7.2 0 9 1.8 9 9s-1.8 9 -9 9s-9 -1.8 -9 -9s1.8 -9 9 -9z"></path>
+  </svg>
+</span>
+```
+
+## Icon animations
+
+```html example centered separated
+<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-pulse" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+  <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+  <path d="M19.5 12.572l-7.5 7.428l-7.5 -7.428m0 0a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572" />
+</svg>
+<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tada" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+  <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+  <path d="M10 5a2 2 0 0 1 4 0a7 7 0 0 1 4 6v3a4 4 0 0 0 2 3h-16a4 4 0 0 0 2 -3v-3a7 7 0 0 1 4 -6" />
+  <path d="M9 17v1a3 3 0 0 0 6 0v-1" />
+</svg>
+<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-rotate" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+  <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+  <path d="M4.05 11a8 8 0 1 1 .5 4m-.5 5v-5h5" />
+</svg>
+```
+
+```html
+<!-- SVG icon from http://tabler-icons.io/i/heart -->
+<svg class="icon-pulse" ...>...</svg>
+
+<!-- SVG icon from http://tabler-icons.io/i/bell -->
+<svg class="icon-tada" ...>...</svg>
+
+<!-- SVG icon from http://tabler-icons.io/i/rotate-clockwise -->
+<svg class="icon-rotate" ...>...</svg>
+```

+ 31 - 0
docs/components/inline-player.mdx

@@ -0,0 +1,31 @@
+---
+title: Inline player
+libs: plyr
+description: A simple, lightweight, accessible and customizable HTML5, YouTube and Vimeo media player that supports modern browsers.
+---
+
+## Sample demo
+
+```html example code vendors
+<div id="player-youtube" data-plyr-provider="youtube" data-plyr-embed-id="dQw4w9WgXcQ"></div>
+
+<script src="$TABLER_CDN/dist/libs/plyr/dist/plyr.min.js"></script>
+<script>
+  document.addEventListener("DOMContentLoaded", function() {
+    window.Plyr && (new Plyr('#player-youtube'));
+  });
+</script>
+```
+
+## Vimeo file
+
+```html example code vendors
+<div id="player-vimeo" data-plyr-provider="vimeo" data-plyr-embed-id="515937365"></div>
+
+<script src="$TABLER_CDN/dist/libs/plyr/dist/plyr.min.js"></script>
+<script>
+  document.addEventListener("DOMContentLoaded", function() {
+    window.Plyr && (new Plyr('#player-vimeo'));
+  });
+</script>
+```

+ 224 - 0
docs/components/modals.mdx

@@ -0,0 +1,224 @@
+---
+title: Modals
+description: Use Bootstrap’s JavaScript modal plugin to add dialogs to your site for lightboxes, user notifications, or completely custom content.
+---
+
+## Table of contents
+
+## Default markup
+
+```html example code centered height="30rem"
+<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal">
+  Launch demo modal
+</button>
+
+<div class="modal" id="exampleModal" tabindex="-1">
+  <div class="modal-dialog" role="document">
+    <div class="modal-content">
+      <div class="modal-header">
+        <h5 class="modal-title">Modal title</h5>
+        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
+      </div>
+      <div class="modal-body">
+        Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci animi beatae delectus deleniti dolorem eveniet facere fuga iste nemo nesciunt nihil odio perspiciatis, quia quis reprehenderit sit tempora totam unde.
+      </div>
+      <div class="modal-footer">
+        <button type="button" class="btn me-auto" data-bs-dismiss="modal">Close</button>
+        <button type="button" class="btn btn-primary" data-bs-dismiss="modal">Save changes</button>
+      </div>
+    </div>
+  </div>
+</div>
+```
+
+## Prompt and alert
+
+```html example code centered height="30rem"
+<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal">
+  Launch alert modal
+</button>
+
+<div class="modal" id="exampleModal" tabindex="-1">
+  <div class="modal-dialog modal-sm" role="document">
+    <div class="modal-content">
+      <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
+      <div class="modal-status bg-danger"></div>
+      <div class="modal-body text-center py-4">
+        <svg xmlns="http://www.w3.org/2000/svg" class="icon mb-2 text-danger icon-lg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+          <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+          <path d="M12 9v2m0 4v.01" />
+          <path d="M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75" />
+        </svg>
+        <h3>Are you sure?</h3>
+        <div class="text-muted">Do you really want to remove 84 files? What you've done cannot be undone.</div>
+      </div>
+      <div class="modal-footer">
+        <div class="w-100">
+          <div class="row">
+            <div class="col"><a href="#" class="btn w-100" data-bs-dismiss="modal">
+                Cancel
+              </a></div>
+            <div class="col"><a href="#" class="btn btn-danger w-100" data-bs-dismiss="modal">
+                Delete 84 items
+              </a></div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+```
+
+```html example code centered height="30rem"
+<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal">
+  Launch demo modal
+</button>
+
+<div class="modal" id="exampleModal" tabindex="-1">
+  <div class="modal-dialog modal-sm" role="document">
+    <div class="modal-content">
+      <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
+      <div class="modal-status bg-success"></div>
+      <div class="modal-body text-center py-4">
+        <svg xmlns="http://www.w3.org/2000/svg" class="icon mb-2 text-green icon-lg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+          <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+          <circle cx="12" cy="12" r="9" />
+          <path d="M9 12l2 2l4 -4" />
+        </svg>
+        <h3>Payment succedeed</h3>
+        <div class="text-muted">Your payment of $290 has been successfully submitted. Your invoice has been sent to [email protected].</div>
+      </div>
+      <div class="modal-footer">
+        <div class="w-100">
+          <div class="row">
+            <div class="col">
+              <a href="#" class="btn w-100" data-bs-dismiss="modal">
+                Go to dashboard
+              </a>
+            </div>
+            <div class="col">
+              <a href="#" class="btn btn-success w-100" data-bs-dismiss="modal">
+                View invoice
+              </a>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+```
+
+## Modal with form
+
+```html example code centered height="30rem"
+<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal">
+  Launch modal with form
+</button>
+
+<div class="modal" id="exampleModal" tabindex="-1">
+  <div class="modal-dialog modal-lg" role="document">
+    <div class="modal-content">
+      <div class="modal-header">
+        <h5 class="modal-title">New report</h5>
+        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
+      </div>
+      <div class="modal-body">
+        <div class="mb-3">
+          <label class="form-label">Name</label>
+          <input type="text" class="form-control" name="example-text-input" placeholder="Your report name" />
+        </div>
+        <label class="form-label">Report type</label>
+        <div class="form-selectgroup-boxes row mb-3">
+          <div class="col-md-6">
+            <label class="form-selectgroup-item">
+              <input type="radio" name="report-type" value="1" class="form-selectgroup-input" checked />
+              <span class="form-selectgroup-label d-flex align-items-center p-3">
+                <span class="me-3">
+                  <span class="form-selectgroup-check"></span>
+                </span>
+                <span class="form-selectgroup-label-content">
+                  <span class="form-selectgroup-title strong mb-1">Simple</span>
+                  <span class="d-block text-muted">Provide only basic data needed for the report</span>
+                </span>
+              </span>
+            </label>
+          </div>
+          <div class="col-md-6">
+            <label class="form-selectgroup-item">
+              <input type="radio" name="report-type" value="1" class="form-selectgroup-input" />
+              <span class="form-selectgroup-label d-flex align-items-center p-3">
+                <span class="me-3">
+                  <span class="form-selectgroup-check"></span>
+                </span>
+                <span class="form-selectgroup-label-content">
+                  <span class="form-selectgroup-title strong mb-1">Advanced</span>
+                  <span class="d-block text-muted">Insert charts and additional advanced analyses to be inserted in the report</span>
+                </span>
+              </span>
+            </label>
+          </div>
+        </div>
+        <div class="row">
+          <div class="col-lg-8">
+            <div class="mb-3">
+              <label class="form-label">Report url</label>
+              <div class="input-group input-group-flat">
+                <span class="input-group-text">
+                  https://tabler.io/reports/
+                </span>
+                <input type="text" class="form-control ps-0" value="report-01" autocomplete="off" />
+              </div>
+            </div>
+          </div>
+          <div class="col-lg-4">
+            <div class="mb-3">
+              <label class="form-label">Visibility</label>
+              <select class="form-select">
+                <option value="1" selected>Private</option>
+                <option value="2">Public</option>
+                <option value="3">Hidden</option>
+              </select>
+            </div>
+          </div>
+        </div>
+      </div>
+      <div class="modal-body">
+        <div class="row">
+          <div class="col-lg-6">
+            <div class="mb-3">
+              <label class="form-label">Client name</label>
+              <input type="text" class="form-control" />
+            </div>
+          </div>
+          <div class="col-lg-6">
+            <div class="mb-3">
+              <label class="form-label">Reporting period</label>
+              <input type="date" class="form-control" />
+            </div>
+          </div>
+          <div class="col-lg-12">
+            <div>
+              <label class="form-label">Additional information</label>
+              <textarea class="form-control" rows="3"></textarea>
+            </div>
+          </div>
+        </div>
+      </div>
+      <div class="modal-footer">
+        <a href="#" class="btn btn-link link-secondary" data-bs-dismiss="modal">
+          Cancel
+        </a>
+        <a href="#" class="btn btn-primary ms-auto" data-bs-dismiss="modal">
+          <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-plus" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+            <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+            <path d="M12 5l0 14"></path>
+            <path d="M5 12l14 0"></path>
+          </svg>
+          Create new report
+        </a>
+      </div>
+    </div>
+  </div>
+</div>
+```

+ 272 - 0
docs/components/placeholder.mdx

@@ -0,0 +1,272 @@
+---
+title: Placeholder
+description: Placeholder is used to reserve space for content that soon will appear in a layout.
+redirect_from:
+  - /docs/skeleton.html
+---
+
+## Placeholder line
+
+Placeholder lines can contain have lines of text. Their length is different and depends on the `col-` class.
+
+```html code example columns={1}
+<div class="placeholder col-9"></div>
+<div class="placeholder col-11"></div>
+<div class="placeholder col-10"></div>
+<div class="placeholder col-8"></div>
+```
+
+However, it may be useful, however, to specify the full width in order to fit the content more effectively.
+
+```html code example columns={1}
+<div class="placeholder col-12"></div>
+<div class="placeholder col-12"></div>
+<div class="placeholder col-12"></div>
+<div class="placeholder col-12"></div>
+```
+
+You can also move the lines to right or to center:
+
+```html code example columns={1}
+<div class="text-end">
+  <div class="placeholder col-11"></div>
+  <div class="placeholder col-10"></div>
+  <div class="placeholder col-8"></div>
+</div>
+<div class="text-center mt-3">
+  <div class="placeholder col-11"></div>
+  <div class="placeholder col-10"></div>
+  <div class="placeholder col-8"></div>
+</div>
+```
+
+## Placeholder heading
+
+A placeholder can contain also a header element looks like header:
+
+```html code example columns={1}
+<div class="placeholder col-9 mb-3"></div>
+<div class="placeholder placeholder-xs col-10"></div>
+<div class="placeholder placeholder-xs col-11"></div>
+```
+
+## Placeholder avatar
+
+You can make your placeholder item look like an avatar.
+
+```html code example columns={1}
+<div class="row">
+  <div class="col-auto">
+    <div class="avatar placeholder"></div>
+  </div>
+  <div class="col">
+    <div class="placeholder col-9"></div>
+    <div class="placeholder col-11"></div>
+  </div>
+</div>
+```
+
+The size of avatars is exactly the same as a regular avatar.
+
+```html code example centered separated
+<div class="avatar avatar-xl placeholder"></div>
+<div class="avatar avatar-lg placeholder"></div>
+<div class="avatar avatar-md placeholder"></div>
+<div class="avatar placeholder"></div>
+<div class="avatar avatar-sm placeholder"></div>
+<div class="avatar avatar-xs placeholder"></div>
+```
+
+## Placeholder image
+
+You can use a placeholder, which will look like a picture. You can use the `ratio` component, and get the image in the right proportions.
+
+You can also use the `ratio` component, and get the image in the right proportions.
+
+```html code example columns={1}
+<div class="ratio ratio-1x1 placeholder">
+  <div class="placeholder-image"></div>
+</div>
+<div class="ratio ratio-4x3 placeholder">
+  <div class="placeholder-image"></div>
+</div>
+<div class="ratio ratio-16x9 placeholder">
+  <div class="placeholder-image"></div>
+</div>
+<div class="ratio ratio-21x9 placeholder">
+  <div class="placeholder-image"></div>
+</div>
+```
+
+## Placeholder color
+
+By default, the `placeholder` uses `currentColor`. This can be overridden with a custom color or utility class.
+
+```html example columns={1}
+<span class="placeholder col-12"></span>
+<span class="placeholder col-12 bg-primary"></span>
+<span class="placeholder col-12 bg-secondary"></span>
+<span class="placeholder col-12 bg-success"></span>
+<span class="placeholder col-12 bg-danger"></span>
+<span class="placeholder col-12 bg-warning"></span>
+<span class="placeholder col-12 bg-info"></span>
+<span class="placeholder col-12 bg-light"></span>
+<span class="placeholder col-12 bg-dark"></span>
+```
+
+```html
+<span class="placeholder col-12"></span>
+
+<span class="placeholder col-12 bg-primary"></span>
+<span class="placeholder col-12 bg-secondary"></span>
+<span class="placeholder col-12 bg-success"></span>
+<span class="placeholder col-12 bg-danger"></span>
+<span class="placeholder col-12 bg-warning"></span>
+<span class="placeholder col-12 bg-info"></span>
+<span class="placeholder col-12 bg-light"></span>
+<span class="placeholder col-12 bg-dark"></span>
+```
+
+## Placeholder sizing
+
+The size of `.placeholders` are based on the typographic style of the parent element. Customize them with sizing modifiers: `.placeholder-lg`, `.placeholder-sm`, or `.placeholder-xs`.
+
+```html code example columns={1}
+<span class="placeholder col-12 placeholder-lg"></span>
+<span class="placeholder col-12"></span>
+<span class="placeholder col-12 placeholder-sm"></span>
+<span class="placeholder col-12 placeholder-xs"></span>
+```
+
+## Animation
+
+Animate placeholders with `.placeholder-glow` or `.placeholder-wave` to better convey the perception of something being actively loaded.
+
+```html code example columns={1}
+<p class="placeholder-glow">
+  <span class="placeholder col-12"></span>
+</p>
+<p class="placeholder-wave">
+  <span class="placeholder col-12"></span>
+</p>
+```
+
+## Live examples
+
+See in the following examples how else you can use the placeholder component
+
+```html code example columns={1} height={1000} separated vertical
+<div class="card placeholder-glow">
+  <div class="ratio ratio-21x9 card-img-top placeholder"></div>
+  <div class="card-body">
+    <div class="placeholder col-9 mb-3"></div>
+    <div class="placeholder placeholder-xs col-10"></div>
+    <div class="placeholder placeholder-xs col-11"></div>
+    <div class="mt-3">
+      <a href="#" tabindex="-1" class="btn btn-primary disabled placeholder col-4" aria-hidden="true"></a>
+    </div>
+  </div>
+</div>
+<div class="card">
+  <div class="row g-0 align-items-center placeholder-glow">
+    <div class="col-3">
+      <div class="ratio ratio-1x1 card-img-start placeholder"></div>
+    </div>
+    <div class="col">
+      <div class="card-body">
+        <div class="placeholder col-9 mb-3"></div>
+        <div class="placeholder placeholder-xs col-10"></div>
+        <div class="placeholder placeholder-xs col-11"></div>
+      </div>
+    </div>
+  </div>
+</div>
+<div class="card">
+  <div class="card-body">
+    <div class="row">
+      <div class="col-auto">
+        <div class="avatar avatar-rounded placeholder"></div>
+      </div>
+      <div class="col">
+        <div class="placeholder placeholder-xs col-9"></div>
+        <div class="placeholder placeholder-xs col-7"></div>
+      </div>
+    </div>
+  </div>
+</div>
+<div class="card">
+  <div class="card-body py-5 text-center">
+    <div>
+      <div class="avatar avatar-rounded avatar-lg placeholder mb-3"></div>
+    </div>
+    <div class="mt w-75 mx-auto">
+      <div class="placeholder col-9 mb-3"></div>
+      <div class="placeholder placeholder-xs col-10"></div>
+    </div>
+  </div>
+</div>
+<div class="card">
+  <ul class="list-group list-group-flush placeholder-glow">
+    <li class="list-group-item">
+      <div class="row align-items-center">
+        <div class="col-auto">
+          <div class="avatar avatar-rounded placeholder"></div>
+        </div>
+        <div class="col-7">
+          <div class="placeholder placeholder-xs col-9"></div>
+          <div class="placeholder placeholder-xs col-7"></div>
+        </div>
+        <div class="col-2 ms-auto text-end">
+          <div class="placeholder placeholder-xs col-8"></div>
+          <div class="placeholder placeholder-xs col-10"></div>
+        </div>
+      </div>
+    </li>
+    <li class="list-group-item">
+      <div class="row align-items-center">
+        <div class="col-auto">
+          <div class="avatar avatar-rounded placeholder"></div>
+        </div>
+        <div class="col-7">
+          <div class="placeholder placeholder-xs col-9"></div>
+          <div class="placeholder placeholder-xs col-7"></div>
+        </div>
+        <div class="col-2 ms-auto text-end">
+          <div class="placeholder placeholder-xs col-8"></div>
+          <div class="placeholder placeholder-xs col-10"></div>
+        </div>
+      </div>
+    </li>
+    <li class="list-group-item">
+      <div class="row align-items-center">
+        <div class="col-auto">
+          <div class="avatar avatar-rounded placeholder"></div>
+        </div>
+        <div class="col-7">
+          <div class="placeholder placeholder-xs col-9"></div>
+          <div class="placeholder placeholder-xs col-7"></div>
+        </div>
+        <div class="col-2 ms-auto text-end">
+          <div class="placeholder placeholder-xs col-8"></div>
+          <div class="placeholder placeholder-xs col-10"></div>
+        </div>
+      </div>
+    </li>
+    <li class="list-group-item">
+      <div class="row align-items-center">
+        <div class="col-auto">
+          <div class="avatar avatar-rounded placeholder"></div>
+        </div>
+        <div class="col-7">
+          <div class="placeholder placeholder-xs col-9"></div>
+          <div class="placeholder placeholder-xs col-7"></div>
+        </div>
+        <div class="col-2 ms-auto text-end">
+          <div class="placeholder placeholder-xs col-8"></div>
+          <div class="placeholder placeholder-xs col-10"></div>
+        </div>
+      </div>
+    </li>
+  </ul>
+</div>
+```

+ 22 - 12
src/pages/_docs/popover.md → docs/components/popover.mdx

@@ -1,25 +1,29 @@
 ---
 title: Popovers
 description: Popovers are used to provide additional information on elements where a simple tooltip is not sufficient.
-bootstrap-link: components/popovers
-menu: help.docs.components.popover
+bootstrapLink: components/popovers
 ---
 
-
 ## Default markup
 
 To create a default popover use:
 
-{% capture code %}
+```html code example centered
 <button type="button" class="btn" data-bs-toggle="popover" title="Popover title" data-bs-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>
-{% endcapture %}
-{% include example.html code=code %}
+```
 
 ## Four directions
 
 Four options are available: `top`, `right`, `bottom`, and `left` aligned. Directions are mirrored when using Bootstrap in RTL.
 
-{% capture code %}
+```html example centered separated
+<button type="button" class="btn" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="top" data-bs-content="Top popover">Popover on top</button>
+<button type="button" class="btn" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="right" data-bs-content="Right popover">Popover on right</button>
+<button type="button" class="btn" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="bottom" data-bs-content="Bottom popover">Popover on bottom</button>
+<button type="button" class="btn" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="left" data-bs-content="Left popover">Popover on left</button>
+```
+
+```html
 <button type="button" class="btn" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="top" data-bs-content="Top popover">
 Popover on top
 </button>
@@ -32,14 +36,20 @@ Popover on bottom
 <button type="button" class="btn" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="left" data-bs-content="Left popover">
 Popover on left
 </button>
-{% endcapture %}
-{% include example.html code=code %}
+```
 
 ## Popover on hover
 
 Popover can be triggered `manual`, with a `click` and on `focus` and on `hover`. This one reacts on hover.
 
-{% capture code %}
+```html example centered
 <button type="button" class="btn btn-primary" data-bs-trigger="hover" data-bs-toggle="popover" title="Popover title" data-bs-content="And here's some amazing content. It's very engaging. Right?">Hover to toggle popover</button>
-{% endcapture %}
-{% include example.html code=code %}
+```
+
+```html
+<button type="button" class="btn btn-primary" data-bs-trigger="hover" data-bs-toggle="popover"
+  title="Popover title" data-bs-content="And here's some amazing content. It's very engaging. Right?"
+>
+  Hover to toggle popover
+</button>
+```

+ 92 - 0
docs/components/progress.mdx

@@ -0,0 +1,92 @@
+---
+title: Progress bars
+description: Progress bars are used to provide feedback on an action status and inform users of the current progress. Although seemingly small interface elements, they are extremely hepful in managing users' expectations and preventing them from abandoning a process they have initiated.
+bootstrapLink: components/progress
+---
+
+## Default markup
+
+To create a default progress bar, add a `.progress` class to a `<div>` element. Thanks to that, you will be able to notify users how long they have to wait for a process to complete.
+
+```html example columns={1} centered
+<div class="progress">
+  <div class="progress-bar" style="width: 38%"></div>
+</div>
+```
+
+```html
+<div class="progress">
+  <div class="progress-bar" style="width: 38%" role="progressbar" aria-valuenow="38" aria-valuemin="0" aria-valuemax="100" aria-label="38% Complete">
+    <span class="visually-hidden">38% Complete</span>
+  </div>
+</div>
+```
+
+## Progress size
+
+Using Bootstrap’s typical naming structure, you can create a standard progress bar or scale it up or down to different sizes based on what’s needed.
+
+```html code example columns={1} centered
+<div class="progress progress-sm">
+  <div class="progress-bar" style="width: 57%" role="progressbar" aria-valuenow="57" aria-valuemin="0" aria-valuemax="100" aria-label="57% Complete">
+    <span class="visually-hidden">57% Complete</span>
+  </div>
+</div>
+```
+
+## Progress without value
+
+Remove the displayed value by adding the `.visually-hidden` class.
+
+```html code example columns={1} centered
+<div class="progress">
+  <div class="progress-bar" style="width: 75%" role="progressbar" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100" aria-label="75% Complete">
+    <span class="visually-hidden">75% Complete</span>
+  </div>
+</div>
+```
+
+## Indeterminate progress
+
+You can create a progress bar which shows indeterminate progress by adding `.progress-bar-indeterminate` to the `.progress-bar` element.
+
+```html code example columns={1} centered
+<div class="progress progress-sm">
+  <div class="progress-bar progress-bar-indeterminate"></div>
+</div>
+```
+
+## Native progress element
+
+You can also use native HTML5 `<progress>` element.
+
+```html code example columns={1} centered
+<progress class="progress progress-sm" value="15" max="100" />
+```
+
+## Progress color
+
+Customize the color of the progress bar to suit your design. Click [here](colors) to see the list of available colors.
+
+```html code example columns={1} centered separated
+<div class="progress">
+  <div class="progress-bar bg-red" style="width: 24%" role="progressbar" aria-valuenow="24" aria-valuemin="0" aria-valuemax="100" aria-label="24% Complete">
+    <span class="visually-hidden">24% Complete</span>
+  </div>
+</div>
+<div class="progress">
+  <div class="progress-bar bg-green" style="width: 45%" role="progressbar" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100" aria-label="45% Complete">
+    <span class="visually-hidden">45% Complete</span>
+  </div>
+</div>
+<div class="progress">
+  <div class="progress-bar bg-purple" style="width: 64%" role="progressbar" aria-valuenow="64" aria-valuemin="0" aria-valuemax="100" aria-label="64% Complete">
+    <span class="visually-hidden">64% Complete</span>
+  </div>
+</div>
+<div class="progress">
+  <div class="progress-bar bg-blue" style="width: 38%" role="progressbar" aria-valuenow="38" aria-valuemin="0" aria-valuemax="100" aria-label="38% Complete">
+    <span class="visually-hidden">38% Complete</span>
+  </div>
+</div>
+```

+ 16 - 0
docs/components/progressbg.mdx

@@ -0,0 +1,16 @@
+---
+title: Progress background
+description: By using a progress bar component as a background element, designers can create a dynamic and engaging visual experience for users. For example, the progress bar could be used to represent the completion of a long-term goal or project, such as a fundraising campaign or construction project. As users interact with the page, the progress bar could gradually fill up, creating a sense of momentum and progress.
+---
+
+```html code example vertical centered columns={1}
+<div class="progressbg">
+  <div class="progress progressbg-progress">
+    <div class="progress-bar bg-primary-lt" style="width: 35%" role="progressbar" aria-valuenow="35" aria-valuemin="0" aria-valuemax="100" aria-label="35% Complete">
+      <span class="visually-hidden">35% Complete</span>
+    </div>
+  </div>
+  <div class="progressbg-text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ea eos ullam ut. Doloribus est in laborum, ratione recusandae reprehenderit tenetur. Accusantium consectetur ea enim facere ipsam praesentium quas soluta tenetur?</div>
+  <div class="progressbg-value">35%</div>
+</div>
+```

+ 17 - 0
docs/components/range-slider.mdx

@@ -0,0 +1,17 @@
+---
+title: Range slider
+libs: nouislider
+---
+
+To be able to use the range slider in your application you will need to install the nouislider dependency with `npm install nouislider`.
+
+All options and features can be found [**here**](https://refreshless.com/nouislider/).
+
+## Basic range slider
+
+```html code example
+<div data-slider='{"js-name": "slider0","start": 50,"range": {"min": 0,"max": 100}}'></div>
+<p demo-slider="slider0"></p>
+```
+
+That's only the basic features and options of range slider. More possibilities can be found [**here**](https://refreshless.com/nouislider/).

+ 151 - 0
docs/components/ribbons.mdx

@@ -0,0 +1,151 @@
+---
+title: Ribbons
+description: Ribbons are graphical elements which attract users' attention to a given element of an interface and make it stand out.
+---
+
+## Default markup
+
+Use the `ribbon` class to add the default ribbon to any section of your interface.
+
+```html example columns={1} centered
+<div class="card">
+  <div class="card-body" style="height: 5rem">
+  </div>
+  <div class="ribbon">
+    <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+      <path d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z" />
+    </svg>
+  </div>
+</div>
+```
+
+```html
+<div class="card">
+  <div class="card-body">
+  </div>
+  <div class="ribbon">
+    <!-- SVG icon from http://tabler-icons.io/i/star -->
+    <svg>...</svg>
+  </div>
+</div>
+```
+
+## Ribbon position
+
+You can change the position of a ribbon by adding one of the following classes to the element:
+
+- `ribbon-top` - moves it to the top
+- `ribbon-end` - moves it to the right
+- `ribbon-bottom` - moves it to the bottom
+- `ribbon-start` - moves it to the left
+
+Using multiple classes at once will give you more position options. For example, the following class: `.ribbon.ribbon-top.ribbon-left` will move the ribbon to the top left corner.
+
+```html example columns={1} centered
+<div class="card">
+  <div class="card-body" style="height: 5rem">
+  </div>
+  <div class="ribbon ribbon-top ribbon-start">
+    <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+      <path d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z" />
+    </svg>
+  </div>
+</div>
+```
+
+```html
+<div class="card">
+  <div class="card-body">
+  </div>
+  <div class="ribbon ribbon-top ribbon-start">
+    <!-- SVG icon from http://tabler-icons.io/i/star -->
+    <svg>...</svg>
+  </div>
+</div>
+```
+
+## Ribbon color
+
+Customize the ribbon's background color. You can click [here](colors) to see the list of available colors.
+
+```html example columns={1} centered
+<div class="card">
+  <div class="card-body" style="height: 5rem">
+  </div>
+  <div class="ribbon bg-red">
+    <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+      <path d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z" />
+    </svg>
+  </div>
+</div>
+```
+
+```html
+<div class="card">
+  <div class="card-body">
+  </div>
+  <div class="ribbon bg-red">
+    <!-- SVG icon from http://tabler-icons.io/i/star -->
+    <svg>...</svg>
+  </div>
+</div>
+```
+
+## Ribbon text
+
+Add your own text to a ribbon to display any additional information and make it easy to spot for users.
+
+```html example columns={1} centered
+<div class="card">
+  <div class="card-body" style="height: 5rem">
+  </div>
+  <div class="ribbon bg-green">
+    <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+      <path d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z" />
+    </svg>
+  </div>
+</div>
+```
+
+```html
+<div class="card">
+  <div class="card-body">
+  </div>
+  <div class="ribbon bg-green">
+    <!-- SVG icon from http://tabler-icons.io/i/star -->
+    <svg>...</svg>
+  </div>
+</div>
+```
+
+## Ribbon style
+
+Change the style of a ribbon to make it go well with your interface design.
+
+```html example columns={1} centered
+<div class="card w-100">
+  <div class="card-body" style="height: 5rem">
+  </div>
+  <div class="ribbon ribbon-bookmark bg-orange">
+    <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+      <path d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z" />
+    </svg>
+  </div>
+</div>
+```
+
+```html
+<div class="card">
+  <div class="card-body">
+  </div>
+  <div class="ribbon ribbon-bookmark bg-orange">
+    <!-- SVG icon from http://tabler-icons.io/i/star -->
+    <svg>...</svg>
+  </div>
+</div>
+```

+ 119 - 0
docs/components/spinners.mdx

@@ -0,0 +1,119 @@
+---
+title: Spinners
+description: Spinners are used to show the loading state of a component or page. They provide feedback for an action a user has taken, when it takes a bit longer to complete.
+bootstrapLink: components/spinners/
+---
+
+## Default markup
+
+Use the default spinner to notify users that an action they have taken is in progress, helping them avoid confusion.
+
+```html example code centered
+<div class="spinner-border"></div>
+```
+
+## Colors
+
+Choose one of the available colors to customize the spinner and make it suit your design.
+
+```html example centered separated
+<div class="spinner-border text-blue" role="status"></div>
+<div class="spinner-border text-azure" role="status"></div>
+<div class="spinner-border text-indigo" role="status"></div>
+<div class="spinner-border text-purple" role="status"></div>
+<div class="spinner-border text-pink" role="status"></div>
+<div class="spinner-border text-red" role="status"></div>
+<div class="spinner-border text-orange" role="status"></div>
+<div class="spinner-border text-yellow" role="status"></div>
+<div class="spinner-border text-lime" role="status"></div>
+<div class="spinner-border text-green" role="status"></div>
+<div class="spinner-border text-teal" role="status"></div>
+<div class="spinner-border text-cyan" role="status"></div>
+```
+
+```html
+<div class="spinner-border text-blue" role="status"></div>
+<div class="spinner-border text-red" role="status"></div>
+```
+
+## Size
+
+Choose the size of your spinner. You can use the default size or use the `spinner-border-sm` class to display a smaller spinner.
+
+```html example code centered separated
+<div class="spinner-border" role="status"></div>
+<div class="spinner-border spinner-border-sm" role="status"></div>
+```
+
+## Growing spinner
+
+Use the growing spinner, if you are looking for a more original design than a border spinner. The spinner grows to show the loading state.
+
+```html example code centered
+<div class="spinner-grow" role="status"></div>
+```
+
+Growing spinners also come in a variety of colors to choose from.
+
+```html example centered separated
+<div class="spinner-grow text-blue" role="status"></div>
+<div class="spinner-grow text-azure" role="status"></div>
+<div class="spinner-grow text-indigo" role="status"></div>
+<div class="spinner-grow text-purple" role="status"></div>
+<div class="spinner-grow text-pink" role="status"></div>
+<div class="spinner-grow text-red" role="status"></div>
+<div class="spinner-grow text-orange" role="status"></div>
+<div class="spinner-grow text-yellow" role="status"></div>
+<div class="spinner-grow text-lime" role="status"></div>
+<div class="spinner-grow text-green" role="status"></div>
+<div class="spinner-grow text-teal" role="status"></div>
+<div class="spinner-grow text-cyan" role="status"></div>
+```
+
+```html
+<div class="spinner-grow text-blue" role="status"></div>
+<div class="spinner-grow text-azure" role="status"></div>
+```
+
+### Button with spinner
+
+Use buttons with spinners to notify users that an action they have taken by clicking the button is in progress and prevent them from clicking multiple times or giving up.
+
+```html example centered separated code
+<a href="#" class="btn btn-primary">
+  <span class="spinner-border spinner-border-sm me-2" role="status"></span>
+  Button
+</a>
+<a href="#" class="btn btn-danger">
+  <span class="spinner-border spinner-border-sm me-2" role="status"></span>
+  Button
+</a>
+<a href="#" class="btn btn-warning">
+  <span class="spinner-border spinner-border-sm me-2" role="status"></span>
+  Button
+</a>
+<a href="#" class="btn btn-success">
+  <span class="spinner-border spinner-border-sm me-2" role="status"></span>
+  Button
+</a>
+<a href="#" class="btn">
+  <span class="spinner-border spinner-border-sm me-2" role="status"></span>
+  Button
+</a>
+```
+
+## Animated dots
+
+```html example centered code
+<h1>Loading<span class="animated-dots"></span></h1>
+```
+
+```html example centered code separated
+<a href="#" class="btn btn-primary">
+  Loading<span class="animated-dots"></span>
+</a>
+<a href="#" class="btn btn-primary disabled">
+  Loading<span class="animated-dots"></span>
+</a>
+```
+

+ 284 - 0
docs/components/statuses.mdx

@@ -0,0 +1,284 @@
+---
+title: Statuses
+description: Status dots are particularly useful if you want to make an interface element more noticeable regardless of limited space.
+---
+
+## Default markup
+
+```html example
+<span class="status status-blue">Blue</span>
+<span class="status status-azure">Azure</span>
+<span class="status status-indigo">Indigo</span>
+<span class="status status-purple">Purple</span>
+<span class="status status-pink">Pink</span>
+<span class="status status-red">Red</span>
+<span class="status status-orange">Orange</span>
+<span class="status status-yellow">Yellow</span>
+<span class="status status-lime">Lime</span>
+<span class="status status-green">Green</span>
+<span class="status status-teal">Teal</span>
+<span class="status status-cyan">Cyan</span>
+```
+
+```html
+<span class="status status-blue">Blue</span>
+<span class="status status-azure">Azure</span>
+```
+
+## Status with dot
+
+```html code example
+<span class="status status-blue">
+  <span class="status-dot"></span>
+  Blue
+</span>
+<span class="status status-azure">
+  <span class="status-dot"></span>
+  Azure
+</span>
+<span class="status status-indigo">
+  <span class="status-dot"></span>
+  Indigo
+</span>
+<span class="status status-purple">
+  <span class="status-dot"></span>
+  Purple
+</span>
+<span class="status status-pink">
+  <span class="status-dot"></span>
+  Pink
+</span>
+<span class="status status-red">
+  <span class="status-dot"></span>
+  Red
+</span>
+<span class="status status-orange">
+  <span class="status-dot"></span>
+  Orange
+</span>
+<span class="status status-yellow">
+  <span class="status-dot"></span>
+  Yellow
+</span>
+<span class="status status-lime">
+  <span class="status-dot"></span>
+  Lime
+</span>
+<span class="status status-green">
+  <span class="status-dot"></span>
+  Green
+</span>
+<span class="status status-teal">
+  <span class="status-dot"></span>
+  Teal
+</span>
+<span class="status status-cyan">
+  <span class="status-dot"></span>
+  Cyan
+</span>
+```
+
+### Animated dot
+
+```html code example
+<span class="status status-blue">
+  <span class="status-dot status-dot-animated"></span>
+  Blue
+</span>
+<span class="status status-azure">
+  <span class="status-dot status-dot-animated"></span>
+  Azure
+</span>
+<span class="status status-indigo">
+  <span class="status-dot status-dot-animated"></span>
+  Indigo
+</span>
+<span class="status status-purple">
+  <span class="status-dot status-dot-animated"></span>
+  Purple
+</span>
+<span class="status status-pink">
+  <span class="status-dot status-dot-animated"></span>
+  Pink
+</span>
+<span class="status status-red">
+  <span class="status-dot status-dot-animated"></span>
+  Red
+</span>
+<span class="status status-orange">
+  <span class="status-dot status-dot-animated"></span>
+  Orange
+</span>
+<span class="status status-yellow">
+  <span class="status-dot status-dot-animated"></span>
+  Yellow
+</span>
+<span class="status status-lime">
+  <span class="status-dot status-dot-animated"></span>
+  Lime
+</span>
+<span class="status status-green">
+  <span class="status-dot status-dot-animated"></span>
+  Green
+</span>
+<span class="status status-teal">
+  <span class="status-dot status-dot-animated"></span>
+  Teal
+</span>
+<span class="status status-cyan">
+  <span class="status-dot status-dot-animated"></span>
+  Cyan
+</span>
+```
+
+## Lite status
+
+```html code example
+<span class="status status-blue status-lite">
+  <span class="status-dot"></span>
+  Blue
+</span>
+<span class="status status-azure status-lite">
+  <span class="status-dot"></span>
+  Azure
+</span>
+<span class="status status-indigo status-lite">
+  <span class="status-dot"></span>
+  Indigo
+</span>
+<span class="status status-purple status-lite">
+  <span class="status-dot"></span>
+  Purple
+</span>
+<span class="status status-pink status-lite">
+  <span class="status-dot"></span>
+  Pink
+</span>
+<span class="status status-red status-lite">
+  <span class="status-dot"></span>
+  Red
+</span>
+<span class="status status-orange status-lite">
+  <span class="status-dot"></span>
+  Orange
+</span>
+<span class="status status-yellow status-lite">
+  <span class="status-dot"></span>
+  Yellow
+</span>
+<span class="status status-lime status-lite">
+  <span class="status-dot"></span>
+  Lime
+</span>
+<span class="status status-green status-lite">
+  <span class="status-dot"></span>
+  Green
+</span>
+<span class="status status-teal status-lite">
+  <span class="status-dot"></span>
+  Teal
+</span>
+<span class="status status-cyan status-lite">
+  <span class="status-dot"></span>
+  Cyan
+</span>
+```
+
+## Status dots
+
+```html code example
+<span class="status-dot status-blue"></span>
+<span class="status-dot status-azure"></span>
+<span class="status-dot status-indigo"></span>
+<span class="status-dot status-purple"></span>
+<span class="status-dot status-pink"></span>
+<span class="status-dot status-red"></span>
+<span class="status-dot status-orange"></span>
+<span class="status-dot status-yellow"></span>
+<span class="status-dot status-lime"></span>
+<span class="status-dot status-green"></span>
+<span class="status-dot status-teal"></span>
+<span class="status-dot status-cyan"></span>
+```
+
+### Animated dots
+
+```html code example
+<span class="status-dot status-dot-animated status-blue"></span>
+<span class="status-dot status-dot-animated status-azure"></span>
+<span class="status-dot status-dot-animated status-indigo"></span>
+<span class="status-dot status-dot-animated status-purple"></span>
+<span class="status-dot status-dot-animated status-pink"></span>
+<span class="status-dot status-dot-animated status-red"></span>
+<span class="status-dot status-dot-animated status-orange"></span>
+<span class="status-dot status-dot-animated status-yellow"></span>
+<span class="status-dot status-dot-animated status-lime"></span>
+<span class="status-dot status-dot-animated status-green"></span>
+<span class="status-dot status-dot-animated status-teal"></span>
+<span class="status-dot status-dot-animated status-cyan"></span>
+```
+
+## Status indicator
+
+```html code example
+<span class="status-indicator status-blue status-indicator-animated">
+  <span class="status-indicator-circle"></span>
+  <span class="status-indicator-circle"></span>
+  <span class="status-indicator-circle"></span>
+</span>
+<span class="status-indicator status-azure status-indicator-animated">
+  <span class="status-indicator-circle"></span>
+  <span class="status-indicator-circle"></span>
+  <span class="status-indicator-circle"></span>
+</span>
+<span class="status-indicator status-indigo status-indicator-animated">
+  <span class="status-indicator-circle"></span>
+  <span class="status-indicator-circle"></span>
+  <span class="status-indicator-circle"></span>
+</span>
+<span class="status-indicator status-purple status-indicator-animated">
+  <span class="status-indicator-circle"></span>
+  <span class="status-indicator-circle"></span>
+  <span class="status-indicator-circle"></span>
+</span>
+<span class="status-indicator status-pink status-indicator-animated">
+  <span class="status-indicator-circle"></span>
+  <span class="status-indicator-circle"></span>
+  <span class="status-indicator-circle"></span>
+</span>
+<span class="status-indicator status-red status-indicator-animated">
+  <span class="status-indicator-circle"></span>
+  <span class="status-indicator-circle"></span>
+  <span class="status-indicator-circle"></span>
+</span>
+<span class="status-indicator status-orange status-indicator-animated">
+  <span class="status-indicator-circle"></span>
+  <span class="status-indicator-circle"></span>
+  <span class="status-indicator-circle"></span>
+</span>
+<span class="status-indicator status-yellow status-indicator-animated">
+  <span class="status-indicator-circle"></span>
+  <span class="status-indicator-circle"></span>
+  <span class="status-indicator-circle"></span>
+</span>
+<span class="status-indicator status-lime status-indicator-animated">
+  <span class="status-indicator-circle"></span>
+  <span class="status-indicator-circle"></span>
+  <span class="status-indicator-circle"></span>
+</span>
+<span class="status-indicator status-green status-indicator-animated">
+  <span class="status-indicator-circle"></span>
+  <span class="status-indicator-circle"></span>
+  <span class="status-indicator-circle"></span>
+</span>
+<span class="status-indicator status-teal status-indicator-animated">
+  <span class="status-indicator-circle"></span>
+  <span class="status-indicator-circle"></span>
+  <span class="status-indicator-circle"></span>
+</span>
+<span class="status-indicator status-cyan status-indicator-animated">
+  <span class="status-indicator-circle"></span>
+  <span class="status-indicator-circle"></span>
+  <span class="status-indicator-circle"></span>
+</span>
+```

+ 111 - 0
docs/components/steps.mdx

@@ -0,0 +1,111 @@
+---
+title: Steps
+description: Steps are used to guide users through complex processes, making them easier and more intuitive. Breaking a multi-step process into smaller parts and tracking progress along the way helps users complete it successfully.
+new: true
+---
+
+## Default markup
+
+Steps show users where they are within a process, what steps they have already completed and what they are expected to complete. Making multi-step processes more user-friendly facilitates users' interaction with your interface.
+
+Use the `steps` class to create the default progress tracker and name the steps accordingly.
+
+```html code example
+<div class="steps">
+  <a href="#" class="step-item">
+    Step 1
+  </a>
+  <a href="#" class="step-item">
+    Step 2
+  </a>
+  <a href="#" class="step-item active">
+    Step 3
+  </a>
+  <span href="#" class="step-item">
+    Step 4
+  </span>
+</div>
+```
+
+## Tooltips
+
+Add tooltips, if you want to provide users with additional information about the steps they are expected to complete. Tooltips are displayed when a user hovers over a given step and help clarify what might not be clear from the interface.
+
+```html code example
+<div class="steps">
+  <a href="#" class="step-item" data-bs-toggle="tooltip" title="Step 1 description">
+    Step 1
+  </a>
+  <a href="#" class="step-item" data-bs-toggle="tooltip" title="Step 2 description">
+    Step 2
+  </a>
+  <a href="#" class="step-item active" data-bs-toggle="tooltip" title="Step 3 description">
+    Step 3
+  </a>
+  <span href="#" class="step-item" data-bs-toggle="tooltip" title="Step 4 description">
+    Step 4
+  </span>
+</div>
+```
+
+## Color
+
+You can customize the default progress indicator by changing the color to one that better suits your design. Click [here](colors) to see the range of available colors.
+
+```html code example
+<div class="steps steps-green">
+  <a href="#" class="step-item">
+    Step 1
+  </a>
+  <a href="#" class="step-item">
+    Step 2
+  </a>
+  <a href="#" class="step-item active">
+    Step 3
+  </a>
+  <span href="#" class="step-item">
+    Step 4
+  </span>
+</div>
+<div class="steps steps-red">
+  <a href="#" class="step-item">
+    Step 1
+  </a>
+  <a href="#" class="step-item">
+    Step 2
+  </a>
+  <a href="#" class="step-item active">
+    Step 3
+  </a>
+  <span href="#" class="step-item">
+    Step 4
+  </span>
+</div>
+```
+
+## Steps without title
+
+For designs with limited space, use progress indicators without titles and add tooltips to provide the necessary details.
+
+```html code example
+<div class="steps">
+  <a href="#" class="step-item" data-bs-toggle="tooltip" title="Step 1 description"></a>
+  <a href="#" class="step-item" data-bs-toggle="tooltip" title="Step 2 description"></a>
+  <a href="#" class="step-item active" data-bs-toggle="tooltip" title="Step 3 description"></a>
+  <span href="#" class="step-item" data-bs-toggle="tooltip" title="Step 4 description"></span>
+</div>
+```
+
+## Steps with numbers
+
+Use the `steps-counter` class to create a progress tracker with numbers instead of titles and change the color to customize it.
+
+```html code example
+<div class="steps steps-counter steps-lime">
+  <a href="#" class="step-item"></a>
+  <a href="#" class="step-item active"></a>
+  <span href="#" class="step-item"></span>
+  <span href="#" class="step-item"></span>
+  <span href="#" class="step-item"></span>
+</div>
+```

+ 155 - 0
docs/components/switch-icon.mdx

@@ -0,0 +1,155 @@
+---
+title: Switch icon
+description: The Switch Icon component is used to create a transition between two icons. You can use any icon, both line and filled version.
+banner: icons
+---
+
+## Default markup
+
+To replace the icons, all should add `active` class to the `switch-icon` component.
+
+```html code example centered
+<button class="switch-icon" data-bs-toggle="switch-icon">
+  <span class="switch-icon-a text-muted">
+    <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-heart" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+      <path d="M19.5 12.572l-7.5 7.428l-7.5 -7.428a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572"></path>
+    </svg>
+  </span>
+  <span class="switch-icon-b text-red">
+    <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-heart-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+      <path d="M6.979 3.074a6 6 0 0 1 4.988 1.425l.037 .033l.034 -.03a6 6 0 0 1 4.733 -1.44l.246 .036a6 6 0 0 1 3.364 10.008l-.18 .185l-.048 .041l-7.45 7.379a1 1 0 0 1 -1.313 .082l-.094 -.082l-7.493 -7.422a6 6 0 0 1 3.176 -10.215z" stroke-width="0" fill="currentColor"></path>
+    </svg>
+  </span>
+</button>
+```
+
+## Switch animations
+
+You can also add a fancy animation to add variety to your button. See demo below:
+
+```html example code centered separated
+<button class="switch-icon" data-bs-toggle="switch-icon">
+  <span class="switch-icon-a text-muted">
+    <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-circle" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+      <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path>
+    </svg>
+  </span>
+  <span class="switch-icon-b text-primary">
+    <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-circle-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+      <path d="M7 3.34a10 10 0 1 1 -4.995 8.984l-.005 -.324l.005 -.324a10 10 0 0 1 4.995 -8.336z" stroke-width="0" fill="currentColor"></path>
+    </svg>
+  </span>
+</button>
+<button class="switch-icon switch-icon-fade" data-bs-toggle="switch-icon">
+  <span class="switch-icon-a text-muted">
+    <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-heart" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+      <path d="M19.5 12.572l-7.5 7.428l-7.5 -7.428a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572"></path>
+    </svg>
+  </span>
+  <span class="switch-icon-b text-red">
+    <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-heart-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+      <path d="M6.979 3.074a6 6 0 0 1 4.988 1.425l.037 .033l.034 -.03a6 6 0 0 1 4.733 -1.44l.246 .036a6 6 0 0 1 3.364 10.008l-.18 .185l-.048 .041l-7.45 7.379a1 1 0 0 1 -1.313 .082l-.094 -.082l-7.493 -7.422a6 6 0 0 1 3.176 -10.215z" stroke-width="0" fill="currentColor"></path>
+    </svg>
+  </span>
+</button>
+<button class="switch-icon switch-icon-scale" data-bs-toggle="switch-icon">
+  <span class="switch-icon-a text-muted">
+    <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-star" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+      <path d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z"></path>
+    </svg>
+  </span>
+  <span class="switch-icon-b text-yellow">
+    <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-star-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+      <path d="M8.243 7.34l-6.38 .925l-.113 .023a1 1 0 0 0 -.44 1.684l4.622 4.499l-1.09 6.355l-.013 .11a1 1 0 0 0 1.464 .944l5.706 -3l5.693 3l.1 .046a1 1 0 0 0 1.352 -1.1l-1.091 -6.355l4.624 -4.5l.078 -.085a1 1 0 0 0 -.633 -1.62l-6.38 -.926l-2.852 -5.78a1 1 0 0 0 -1.794 0l-2.853 5.78z" stroke-width="0" fill="currentColor"></path>
+    </svg>
+  </span>
+</button>
+<button class="switch-icon switch-icon-flip" data-bs-toggle="switch-icon">
+  <span class="switch-icon-a text-muted">
+    <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-thumb-up" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+      <path d="M7 11v8a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1v-7a1 1 0 0 1 1 -1h3a4 4 0 0 0 4 -4v-1a2 2 0 0 1 4 0v5h3a2 2 0 0 1 2 2l-1 5a2 3 0 0 1 -2 2h-7a3 3 0 0 1 -3 -3"></path>
+    </svg>
+  </span>
+  <span class="switch-icon-b text-facebook">
+    <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-thumb-up-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+      <path d="M13 3a3 3 0 0 1 2.995 2.824l.005 .176v4h2a3 3 0 0 1 2.98 2.65l.015 .174l.005 .176l-.02 .196l-1.006 5.032c-.381 1.626 -1.502 2.796 -2.81 2.78l-.164 -.008h-8a1 1 0 0 1 -.993 -.883l-.007 -.117l.001 -9.536a1 1 0 0 1 .5 -.865a2.998 2.998 0 0 0 1.492 -2.397l.007 -.202v-1a3 3 0 0 1 3 -3z" stroke-width="0" fill="currentColor"></path>
+      <path d="M5 10a1 1 0 0 1 .993 .883l.007 .117v9a1 1 0 0 1 -.883 .993l-.117 .007h-1a2 2 0 0 1 -1.995 -1.85l-.005 -.15v-7a2 2 0 0 1 1.85 -1.995l.15 -.005h1z" stroke-width="0" fill="currentColor"></path>
+    </svg>
+  </span>
+</button>
+<button class="switch-icon switch-icon-slide-up" data-bs-toggle="switch-icon">
+  <span class="switch-icon-a text-muted">
+    <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+      <path d="M22 4.01c-1 .49 -1.98 .689 -3 .99c-1.121 -1.265 -2.783 -1.335 -4.38 -.737s-2.643 2.06 -2.62 3.737v1c-3.245 .083 -6.135 -1.395 -8 -4c0 0 -4.182 7.433 4 11c-1.872 1.247 -3.739 2.088 -6 2c3.308 1.803 6.913 2.423 10.034 1.517c3.58 -1.04 6.522 -3.723 7.651 -7.742a13.84 13.84 0 0 0 .497 -3.753c-.002 -.249 1.51 -2.772 1.818 -4.013z" />
+    </svg>
+  </span>
+  <span class="switch-icon-b text-twitter">
+    <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+      <path d="M22 4.01c-1 .49 -1.98 .689 -3 .99c-1.121 -1.265 -2.783 -1.335 -4.38 -.737s-2.643 2.06 -2.62 3.737v1c-3.245 .083 -6.135 -1.395 -8 -4c0 0 -4.182 7.433 4 11c-1.872 1.247 -3.739 2.088 -6 2c3.308 1.803 6.913 2.423 10.034 1.517c3.58 -1.04 6.522 -3.723 7.651 -7.742a13.84 13.84 0 0 0 .497 -3.753c-.002 -.249 1.51 -2.772 1.818 -4.013z" />
+    </svg>
+  </span>
+</button>
+<button class="switch-icon switch-icon-slide-left" data-bs-toggle="switch-icon">
+  <span class="switch-icon-a text-muted">
+    <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+      <path d="M5 12l5 5l10 -10" />
+    </svg>
+  </span>
+  <span class="switch-icon-b text-red">
+    <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+      <line x1="18" y1="6" x2="6" y2="18" />
+      <line x1="6" y1="6" x2="18" y2="18" />
+    </svg>
+  </span>
+</button>
+<button class="switch-icon switch-icon-slide-down" data-bs-toggle="switch-icon">
+  <span class="switch-icon-a text-muted">
+    <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+      <line x1="12" y1="5" x2="12" y2="19" />
+      <line x1="18" y1="13" x2="12" y2="19" />
+      <line x1="6" y1="13" x2="12" y2="19" />
+    </svg>
+  </span>
+  <span class="switch-icon-b text-muted">
+    <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+      <line x1="12" y1="5" x2="12" y2="19" />
+      <line x1="18" y1="11" x2="12" y2="5" />
+      <line x1="6" y1="11" x2="12" y2="5" />
+    </svg>
+  </span>
+</button>
+<button class="switch-icon switch-icon-slide-right" data-bs-toggle="switch-icon">
+  <span class="switch-icon-a text-muted">
+    <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+      <circle cx="7" cy="17" r="2" />
+      <circle cx="17" cy="17" r="2" />
+      <path d="M5 17h-2v-6l2 -5h9l4 5h1a2 2 0 0 1 2 2v4h-2m-4 0h-6m-6 -6h15m-6 0v-5" />
+    </svg>
+  </span>
+  <span class="switch-icon-b text-muted">
+    <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+      <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+      <circle cx="18" cy="17" r="2" />
+      <circle cx="6" cy="17" r="2" />
+      <path d="M8 17h5a6 6 0 0 1 5 -5v-5a2 2 0 0 0 -2 -2h-1" />
+    </svg>
+  </span>
+</button>
+```

+ 410 - 0
docs/components/tables.mdx

@@ -0,0 +1,410 @@
+---
+title: Tables
+description: Tables are a useful interface element that allows to visualise data and arrange it in a clear way. Thanks to that, users can browse a lot of information at once and a good table design will help you take care of its clarity.
+bootstrapLink: content/tables/
+---
+
+## Basic Table
+
+The basic table design has light padding and the presented data is separated wih horizontal dividers. It helps provide users with all the necessary information, without overwheling them with visuals.
+
+The `.table` class adds basic styling to a table:
+
+```html code example
+<div class="table-responsive">
+  <table class="table table-vcenter">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Title</th>
+        <th>Email</th>
+        <th>Role</th>
+        <th class="w-1"></th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td>Paweł Kuna</td>
+        <td class="text-muted">
+          UI Designer, Training
+        </td>
+        <td class="text-muted"><a href="#" class="text-reset">[email protected]</a></td>
+        <td class="text-muted">
+          User
+        </td>
+        <td>
+          <a href="#">Edit</a>
+        </td>
+      </tr>
+      <tr>
+        <td>Jeffie Lewzey</td>
+        <td class="text-muted">
+          Chemical Engineer, Support
+        </td>
+        <td class="text-muted"><a href="#" class="text-reset">[email protected]</a></td>
+        <td class="text-muted">
+          Admin
+        </td>
+        <td>
+          <a href="#">Edit</a>
+        </td>
+      </tr>
+      <tr>
+        <td>Mallory Hulme</td>
+        <td class="text-muted">
+          Geologist IV, Support
+        </td>
+        <td class="text-muted"><a href="#" class="text-reset">[email protected]</a></td>
+        <td class="text-muted">
+          User
+        </td>
+        <td>
+          <a href="#">Edit</a>
+        </td>
+      </tr>
+      <tr>
+        <td>Dunn Slane</td>
+        <td class="text-muted">
+          Research Nurse, Sales
+        </td>
+        <td class="text-muted"><a href="#" class="text-reset">[email protected]</a></td>
+        <td class="text-muted">
+          Owner
+        </td>
+        <td>
+          <a href="#">Edit</a>
+        </td>
+      </tr>
+      <tr>
+        <td>Emmy Levet</td>
+        <td class="text-muted">
+          VP Product Management, Accounting
+        </td>
+        <td class="text-muted"><a href="#" class="text-reset">[email protected]</a></td>
+        <td class="text-muted">
+          Admin
+        </td>
+        <td>
+          <a href="#">Edit</a>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+```
+
+## Responsive tables
+
+Use the `.table-responsive` class across each breakpoint for horizontal scrolling tables. If you want to create responsive tables up to a specific breakpoint, use `.table-responsive{-sm|-md|-lg|-xl}`. From that breakpoint and up, the table will behave normally, rather than scroll horizontally.
+
+```html code example
+<table class="table table-responsive">
+  <thead>
+    <tr>
+      <th>#</th>
+      <th class="text-nowrap">Heading 1</th>
+      <th class="text-nowrap">Heading 2</th>
+      <th class="text-nowrap">Heading 3</th>
+      <th class="text-nowrap">Heading 4</th>
+      <th class="text-nowrap">Heading 5</th>
+      <th class="text-nowrap">Heading 6</th>
+      <th class="text-nowrap">Heading 7</th>
+      <th class="text-nowrap">Heading 8</th>
+      <th class="text-nowrap">Heading 9</th>
+      <th class="text-nowrap">Heading 10</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <th>1</th>
+      <td>Cell</td>
+      <td>Cell</td>
+      <td>Cell</td>
+      <td>Cell</td>
+      <td>Cell</td>
+      <td>Cell</td>
+      <td>Cell</td>
+      <td>Cell</td>
+      <td>Cell</td>
+      <td>Cell</td>
+    </tr>
+    <tr>
+      <th>2</th>
+      <td>Cell</td>
+      <td>Cell</td>
+      <td>Cell</td>
+      <td>Cell</td>
+      <td>Cell</td>
+      <td>Cell</td>
+      <td>Cell</td>
+      <td>Cell</td>
+      <td>Cell</td>
+      <td>Cell</td>
+    </tr>
+  </tbody>
+</table>
+```
+
+## No wrap
+
+If you don't want the table cell content to wrap to another line, use the `table-nowrap` class.
+
+```html example
+<div class="table-responsive">
+  <table class="table table-vcenter table-nowrap">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Title</th>
+        <th>Email</th>
+        <th>Role</th>
+        <th></th>
+        <th class="w-1"></th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td>Paweł Kuna</td>
+        <td class="text-muted">UI Designer, Training</td>
+        <td class="text-muted">
+          <a href="#" class="text-reset">[email protected]</a>
+        </td>
+        <td class="text-muted">User</td>
+        <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi, commodi cupiditate debitis deserunt
+          expedita hic incidunt iste modi molestiae nesciunt non nostrum perferendis perspiciatis placeat praesentium
+          quaerat quo repellendus, voluptates.</td>
+        <td>
+          <a href="#">Edit</a>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+```
+
+```html
+<div class="table-responsive">
+  <table
+		class="table table-vcenter table-nowrap">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Title</th>
+        <th>Email</th>
+        <th>Role</th>
+        <th></th>
+        <th class="w-1"></th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td>Paweł Kuna</td>
+        <td class="text-muted">
+          UI Designer, Training
+        </td>
+        <td class="text-muted"><a href="#" class="text-reset">[email protected]</a></td>
+        <td class="text-muted">
+          User
+        </td>
+        <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi, commodi cupiditate debitis deserunt
+          expedita hic incidunt iste modi molestiae nesciunt non nostrum perferendis perspiciatis placeat praesentium
+          quaerat quo repellendus, voluptates.
+        </td>
+        <td>
+          <a href="#">Edit</a>
+        </td>
+      </tr>
+      <tr>
+        <td>Jeffie Lewzey</td>
+        <td class="text-muted">
+          Chemical Engineer, Support
+        </td>
+        <td class="text-muted"><a href="#" class="text-reset">[email protected]</a></td>
+        <td class="text-muted">
+          Admin
+        </td>
+        <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi, commodi cupiditate debitis deserunt
+          expedita hic incidunt iste modi molestiae nesciunt non nostrum perferendis perspiciatis placeat praesentium
+          quaerat quo repellendus, voluptates.
+        </td>
+        <td>
+          <a href="#">Edit</a>
+        </td>
+      </tr>
+      <tr>
+        <td>Mallory Hulme</td>
+        <td class="text-muted">
+          Geologist IV, Support
+        </td>
+        <td class="text-muted"><a href="#" class="text-reset">[email protected]</a></td>
+        <td class="text-muted">
+          User
+        </td>
+        <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi, commodi cupiditate debitis deserunt
+          expedita hic incidunt iste modi molestiae nesciunt non nostrum perferendis perspiciatis placeat praesentium
+          quaerat quo repellendus, voluptates.
+        </td>
+        <td>
+          <a href="#">Edit</a>
+        </td>
+      </tr>
+      <tr>
+        <td>Dunn Slane</td>
+        <td class="text-muted">
+          Research Nurse, Sales
+        </td>
+        <td class="text-muted"><a href="#" class="text-reset">[email protected]</a></td>
+        <td class="text-muted">
+          Owner
+        </td>
+        <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi, commodi cupiditate debitis deserunt
+          expedita hic incidunt iste modi molestiae nesciunt non nostrum perferendis perspiciatis placeat praesentium
+          quaerat quo repellendus, voluptates.
+        </td>
+        <td>
+          <a href="#">Edit</a>
+        </td>
+      </tr>
+      <tr>
+        <td>Emmy Levet</td>
+        <td class="text-muted">
+          VP Product Management, Accounting
+        </td>
+        <td class="text-muted"><a href="#" class="text-reset">[email protected]</a></td>
+        <td class="text-muted">
+          Admin
+        </td>
+        <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi, commodi cupiditate debitis deserunt
+          expedita hic incidunt iste modi molestiae nesciunt non nostrum perferendis perspiciatis placeat praesentium
+          quaerat quo repellendus, voluptates.
+        </td>
+        <td>
+          <a href="#">Edit</a>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+```
+
+## Table Variants
+
+```html code example
+<table class="table">
+  <thead>
+    <tr>
+      <th scope="col">Class</th>
+      <th scope="col">Heading</th>
+      <th scope="col">Heading</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <th scope="row">Default</th>
+      <td>Cell</td>
+      <td>Cell</td>
+    </tr>
+    <tr class="table-primary">
+      <th scope="row">Primary</th>
+      <td>Cell</td>
+      <td>Cell</td>
+    </tr>
+    <tr class="table-secondary">
+      <th scope="row">Secondary</th>
+      <td>Cell</td>
+      <td>Cell</td>
+    </tr>
+    <tr class="table-success">
+      <th scope="row">Success</th>
+      <td>Cell</td>
+      <td>Cell</td>
+    </tr>
+    <tr class="table-danger">
+      <th scope="row">Danger</th>
+      <td>Cell</td>
+      <td>Cell</td>
+    </tr>
+    <tr class="table-warning">
+      <th scope="row">Warning</th>
+      <td>Cell</td>
+      <td>Cell</td>
+    </tr>
+    <tr class="table-info">
+      <th scope="row">Info</th>
+      <td>Cell</td>
+      <td>Cell</td>
+    </tr>
+    <tr class="table-light">
+      <th scope="row">Light</th>
+      <td>Cell</td>
+      <td>Cell</td>
+    </tr>
+    <tr class="table-dark">
+      <th scope="row">Dark</th>
+      <td>Cell</td>
+      <td>Cell</td>
+    </tr>
+  </tbody>
+</table>
+```
+
+## Table with sticky header
+
+```html example code scrollable
+<table class="table">
+  <thead class="sticky-top">
+    <tr>
+      <th scope="col">Class</th>
+      <th scope="col">Heading</th>
+      <th scope="col">Heading</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <th scope="row">Default</th>
+      <td>Cell</td>
+      <td>Cell</td>
+    </tr>
+    <tr>
+      <th scope="row">Primary</th>
+      <td>Cell</td>
+      <td>Cell</td>
+    </tr>
+    <tr>
+      <th scope="row">Secondary</th>
+      <td>Cell</td>
+      <td>Cell</td>
+    </tr>
+    <tr>
+      <th scope="row">Success</th>
+      <td>Cell</td>
+      <td>Cell</td>
+    </tr>
+    <tr>
+      <th scope="row">Danger</th>
+      <td>Cell</td>
+      <td>Cell</td>
+    </tr>
+    <tr>
+      <th scope="row">Warning</th>
+      <td>Cell</td>
+      <td>Cell</td>
+    </tr>
+    <tr>
+      <th scope="row">Info</th>
+      <td>Cell</td>
+      <td>Cell</td>
+    </tr>
+    <tr>
+      <th scope="row">Light</th>
+      <td>Cell</td>
+      <td>Cell</td>
+    </tr>
+    <tr class="table-dark">
+      <th scope="row">Dark</th>
+      <td>Cell</td>
+      <td>Cell</td>
+    </tr>
+  </tbody>
+</table>
+```

+ 243 - 0
docs/components/tabs.mdx

@@ -0,0 +1,243 @@
+---
+title: Tabs
+description: Tabs allow users to alternate between equally important views within the same context. By dividing content into meaningful sections, they improve its organization and make it easy for users to navigate.
+bootstrapLink: components/navs/
+---
+
+## Default markup
+
+Use tabs to let users access different sections within one context quickly and with ease. In the default design, the current tab is highlighted, which makes the interface clear and user-friendly.
+
+```html code example centered columns={1} height="20rem"
+<div class="card">
+  <div class="card-header">
+    <ul class="nav nav-tabs card-header-tabs" data-bs-toggle="tabs">
+      <li class="nav-item">
+        <a href="#tabs-home-ex1" class="nav-link active" data-bs-toggle="tab">Home</a>
+      </li>
+      <li class="nav-item">
+        <a href="#tabs-profile-ex1" class="nav-link" data-bs-toggle="tab">Profile</a>
+      </li>
+    </ul>
+  </div>
+  <div class="card-body">
+    <div class="tab-content">
+      <div class="tab-pane active show" id="tabs-home-ex1">
+        <h4>Home tab</h4>
+        <div>Cursus turpis vestibulum, dui in pharetra vulputate id sed non turpis ultricies fringilla at sed facilisis lacus pellentesque purus nibh</div>
+      </div>
+      <div class="tab-pane" id="tabs-profile-ex1">
+        <h4>Profile tab</h4>
+        <div>Fringilla egestas nunc quis tellus diam rhoncus ultricies tristique enim at diam, sem nunc amet, pellentesque id egestas velit sed</div>
+      </div>
+    </div>
+  </div>
+</div>
+```
+
+## Tabs with icons
+
+Add icons to your tab labels, if you want to use a visual element and make the tab content easier to identify.
+
+```html example code centered columns={1} height="20rem"
+<div class="card">
+  <div class="card-header">
+    <ul class="nav nav-tabs card-header-tabs" data-bs-toggle="tabs">
+      <li class="nav-item">
+        <a href="#tabs-home-ex2" class="nav-link active" data-bs-toggle="tab"><svg xmlns="http://www.w3.org/2000/svg" class="icon me-2" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+            <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+            <polyline points="5 12 3 12 12 3 21 12 19 12" />
+            <path d="M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-7" />
+            <path d="M9 21v-6a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v6" />
+          </svg> Home</a>
+      </li>
+      <li class="nav-item">
+        <a href="#tabs-profile-ex2" class="nav-link" data-bs-toggle="tab"><svg xmlns="http://www.w3.org/2000/svg" class="icon me-2" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+            <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+            <circle cx="12" cy="7" r="4" />
+            <path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2" />
+          </svg> Profile</a>
+      </li>
+      <li class="nav-item ms-auto">
+        <a href="#tabs-settings-ex2" class="nav-link" title="Settings" data-bs-toggle="tab"><svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+            <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+            <path d="M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z" />
+            <circle cx="12" cy="12" r="3" />
+          </svg>
+        </a>
+      </li>
+    </ul>
+  </div>
+  <div class="card-body">
+    <div class="tab-content">
+      <div class="tab-pane active show" id="tabs-home-ex2">
+        <h4>Home tab</h4>
+        <div>Cursus turpis vestibulum, dui in pharetra vulputate id sed non turpis ultricies fringilla at sed facilisis lacus pellentesque purus nibh</div>
+      </div>
+      <div class="tab-pane" id="tabs-profile-ex2">
+        <h4>Profile tab</h4>
+        <div>Fringilla egestas nunc quis tellus diam rhoncus ultricies tristique enim at diam, sem nunc amet, pellentesque id egestas velit sed</div>
+      </div>
+      <div class="tab-pane" id="tabs-settings-ex2">
+        <h4>Settings tab</h4>
+        <div>Donec ac vitae diam amet vel leo egestas consequat rhoncus in luctus amet, facilisi sit mauris accumsan nibh habitant senectus</div>
+      </div>
+    </div>
+  </div>
+</div>
+```
+
+## Tabs only with icons
+
+Use tabs without label names to save space and make the tab content easy to recognize for international users.
+
+```html code example centered columns={1} height="20rem"
+<div class="card">
+  <div class="card-header">
+    <ul class="nav nav-tabs card-header-tabs" data-bs-toggle="tabs">
+      <li class="nav-item">
+        <a href="#tabs-home-ex3" class="nav-link active" data-bs-toggle="tab">
+          <svg xmlns="http://www.w3.org/2000/svg" class="icon " width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+            <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+            <polyline points="5 12 3 12 12 3 21 12 19 12" />
+            <path d="M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-7" />
+            <path d="M9 21v-6a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v6" />
+          </svg>
+        </a>
+      </li>
+      <li class="nav-item">
+        <a href="#tabs-profile-ex3" class="nav-link" data-bs-toggle="tab">
+          <svg xmlns="http://www.w3.org/2000/svg" class="icon " width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+            <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+            <circle cx="12" cy="7" r="4" />
+            <path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2" />
+          </svg>
+        </a>
+      </li>
+      <li class="nav-item ms-auto">
+        <a href="#tabs-settings-ex3" class="nav-link" title="Settings" data-bs-toggle="tab">
+          <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+            <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+            <path d="M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z" />
+            <circle cx="12" cy="12" r="3" />
+          </svg>
+        </a>
+      </li>
+    </ul>
+  </div>
+  <div class="card-body">
+    <div class="tab-content">
+      <div class="tab-pane active show" id="tabs-home-ex3">
+        <h4>Home tab</h4>
+        <div>Cursus turpis vestibulum, dui in pharetra vulputate id sed non turpis ultricies fringilla at sed facilisis lacus pellentesque purus nibh</div>
+      </div>
+      <div class="tab-pane" id="tabs-profile-ex3">
+        <h4>Profile tab</h4>
+        <div>Fringilla egestas nunc quis tellus diam rhoncus ultricies tristique enim at diam, sem nunc amet, pellentesque id egestas velit sed</div>
+      </div>
+      <div class="tab-pane" id="tabs-settings-ex3">
+        <h4>Settings tab</h4>
+        <div>Donec ac vitae diam amet vel leo egestas consequat rhoncus in luctus amet, facilisi sit mauris accumsan nibh habitant senectus</div>
+      </div>
+    </div>
+  </div>
+</div>
+```
+
+## Tabs with dropdown
+
+Make one or more of your tabs into a dropdown to add more options within one element.
+
+```html code example centered columns={1} height="20rem"
+<div class="card">
+  <div class="card-header">
+    <ul class="nav nav-tabs card-header-tabs" data-bs-toggle="tabs">
+      <li class="nav-item">
+        <a href="#tabs-home-ex4" class="nav-link active" data-bs-toggle="tab">Home</a>
+      </li>
+      <li class="nav-item">
+        <a href="#tabs-profile-ex4" class="nav-link" data-bs-toggle="tab">Profile</a>
+      </li>
+      <li class="nav-item dropdown">
+        <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown</a>
+        <div class="dropdown-menu">
+          <a class="dropdown-item" href="#">
+            Action
+          </a>
+          <a class="dropdown-item" href="#">
+            Another action
+          </a>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div class="card-body">
+    <div class="tab-content">
+      <div class="tab-pane active show" id="tabs-home-ex4">
+        <h4>Home tab</h4>
+        <div>Cursus turpis vestibulum, dui in pharetra vulputate id sed non turpis ultricies fringilla at sed facilisis lacus pellentesque purus nibh</div>
+      </div>
+      <div class="tab-pane" id="tabs-profile-ex4">
+        <h4>Profile tab</h4>
+        <div>Fringilla egestas nunc quis tellus diam rhoncus ultricies tristique enim at diam, sem nunc amet, pellentesque id egestas velit sed</div>
+      </div>
+    </div>
+  </div>
+</div>
+```
+
+## Full-width tabs
+
+Add the `nav-fill` class to make the tabs take up the full space of the parent element.
+
+```html code example centered columns={1} height="20rem"
+<div class="card">
+  <div class="card-header">
+    <ul class="nav nav-tabs card-header-tabs nav-fill" data-bs-toggle="tabs">
+      <li class="nav-item">
+        <a href="#tabs-home-ex5" class="nav-link active" data-bs-toggle="tab">
+          <svg xmlns="http://www.w3.org/2000/svg" class="icon " width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+            <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+            <polyline points="5 12 3 12 12 3 21 12 19 12" />
+            <path d="M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-7" />
+            <path d="M9 21v-6a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v6" />
+          </svg>
+        </a>
+      </li>
+      <li class="nav-item">
+        <a href="#tabs-profile-ex5" class="nav-link" data-bs-toggle="tab">
+          <svg xmlns="http://www.w3.org/2000/svg" class="icon " width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+            <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+            <circle cx="12" cy="7" r="4" />
+            <path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2" />
+          </svg>
+        </a>
+      </li>
+      <li class="nav-item">
+        <a href="#tabs-activity-ex5" class="nav-link" data-bs-toggle="tab">
+          <svg xmlns="http://www.w3.org/2000/svg" class="icon " width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+            <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+            <path d="M3 12h4l3 8l4 -16l3 8h4" />
+          </svg>
+        </a>
+      </li>
+    </ul>
+  </div>
+  <div class="card-body">
+    <div class="tab-content">
+      <div class="tab-pane active show" id="tabs-home-ex5">
+        <h4>Home tab</h4>
+        <div>Cursus turpis vestibulum, dui in pharetra vulputate id sed non turpis ultricies fringilla at sed facilisis lacus pellentesque purus nibh</div>
+      </div>
+      <div class="tab-pane" id="tabs-profile-ex5">
+        <h4>Profile tab</h4>
+        <div>Fringilla egestas nunc quis tellus diam rhoncus ultricies tristique enim at diam, sem nunc amet, pellentesque id egestas velit sed</div>
+      </div>
+      <div class="tab-pane" id="tabs-activity-ex5">
+        <h4>Activity tab</h4>
+        <div>Donec ac vitae diam amet vel leo egestas consequat rhoncus in luctus amet, facilisi sit mauris accumsan nibh habitant senectus</div>
+      </div>
+    </div>
+  </div>
+</div>
+```

+ 506 - 0
docs/components/timelines.mdx

@@ -0,0 +1,506 @@
+---
+title: Timelines
+description: A timeline is a perfect way to visualize processes and projects, as it's easy to read and attractive for users. You can use it to give an overview of events, present an agenda or point out important points in time.
+---
+
+## Timeline
+
+The available timeline design is comprised of many components that will help you visualize a process or show an outline of events. Thanks to the possibility of adding icons, avatars and links and the way of presenting the elements of content, your timeline will be clear for users and will make yor website or app more attractive.
+
+```html example
+<ul class="timeline">
+  <li class="timeline-event">
+    <div class="timeline-event-icon bg-twitter-lt">
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <path d="M22 4.01c-1 .49 -1.98 .689 -3 .99c-1.121 -1.265 -2.783 -1.335 -4.38 -.737s-2.643 2.06 -2.62 3.737v1c-3.245 .083 -6.135 -1.395 -8 -4c0 0 -4.182 7.433 4 11c-1.872 1.247 -3.739 2.088 -6 2c3.308 1.803 6.913 2.423 10.034 1.517c3.58 -1.04 6.522 -3.723 7.651 -7.742a13.84 13.84 0 0 0 .497 -3.753c-.002 -.249 1.51 -2.772 1.818 -4.013z" />
+      </svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">10 hrs ago</div>
+        <h4>+1150 Followers</h4>
+        <p class="text-muted">You’re getting more and more followers, keep it up!</p>
+      </div>
+    </div>
+  </li>
+  <li class="timeline-event">
+    <div class="timeline-event-icon">
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <rect x="3" y="7" width="18" height="13" rx="2" />
+        <path d="M8 7v-2a2 2 0 0 1 2 -2h4a2 2 0 0 1 2 2v2" />
+        <line x1="12" y1="12" x2="12" y2="12.01" />
+        <path d="M3 13a20 20 0 0 0 18 0" />
+      </svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">2 hrs ago</div>
+        <h4>+3 New Products were added!</h4>
+        <p class="text-muted">Congratulations!</p>
+      </div>
+    </div>
+  </li>
+  <li class="timeline-event">
+    <div class="timeline-event-icon">
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <path d="M5 12l5 5l10 -10" />
+      </svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">1 day ago</div>
+        <h4>Database backup completed!</h4>
+        <p class="text-muted">Download the <a href="#">latest backup</a>.</p>
+      </div>
+    </div>
+  </li>
+  <li class="timeline-event">
+    <div class="timeline-event-icon bg-facebook-lt">
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <path d="M7 10v4h3v7h4v-7h3l1 -4h-4v-2a1 1 0 0 1 1 -1h3v-4h-3a5 5 0 0 0 -5 5v2h-3" />
+      </svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">1 day ago</div>
+        <h4>+290 Page Likes</h4>
+        <p class="text-muted">This is great, keep it up!</p>
+      </div>
+    </div>
+  </li>
+  <li class="timeline-event">
+    <div class="timeline-event-icon">
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <circle cx="9" cy="7" r="4" />
+        <path d="M3 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2" />
+        <path d="M16 11h6m-3 -3v6" />
+      </svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">2 days ago</div>
+        <h4>+3 Friend Requests</h4>
+        <div class="avatar-list mt-3">
+          <span class="avatar" style="background-image: url(...)"><span class="badge bg-success"></span></span>
+          <span class="avatar"><span class="badge bg-success"></span>JL</span>
+          <span class="avatar" style="background-image: url(...)"><span class="badge bg-success"></span></span>
+        </div>
+      </div>
+    </div>
+  </li>
+  <li class="timeline-event">
+    <div class="timeline-event-icon">
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <line x1="15" y1="8" x2="15.01" y2="8" />
+        <rect x="4" y="4" width="16" height="16" rx="3" />
+        <path d="M4 15l4 -4a3 5 0 0 1 3 0l5 5" />
+        <path d="M14 14l1 -1a3 5 0 0 1 3 0l2 2" />
+      </svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">3 days ago</div>
+        <h4>+2 New photos</h4>
+        <div class="mt-3">
+          <div class="row g-2">
+            <div class="col-6">
+              <div class="media media-2x1 rounded">
+                <a class="media-content" style="background-image: url(...)"></a>
+              </div>
+            </div>
+            <div class="col-6">
+              <div class="media media-2x1 rounded">
+                <a class="media-content" style="background-image: url(...)"></a>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </li>
+  <li class="timeline-event">
+    <div class="timeline-event-icon">
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <path d="M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z" />
+        <circle cx="12" cy="12" r="3" />
+      </svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">2 weeks ago</div>
+        <h4>System updated to v2.02</h4>
+        <p class="text-muted">Check the complete changelog at the <a href="#">activity
+            page</a>.</p>
+      </div>
+    </div>
+  </li>
+</ul>
+```
+
+```html
+<ul class="timeline">
+  <li class="timeline-event">
+    <div class="timeline-event-icon bg-twitter-lt"><!-- SVG icon from http://tabler-icons.io/i/brand-twitter -->
+      <svg>...</svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">10 hrs ago</div>
+        <h4>+1150 Followers</h4>
+        <p class="text-muted">You’re getting more and more followers, keep it up!</p>
+      </div>
+    </div>
+  </li>
+  <li class="timeline-event">
+    <div class="timeline-event-icon"><!-- SVG icon from http://tabler-icons.io/i/briefcase -->
+      <svg>...</svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">2 hrs ago</div>
+        <h4>+3 New Products were added!</h4>
+        <p class="text-muted">Congratulations!</p>
+      </div>
+    </div>
+  </li>
+  <li class="timeline-event">
+    <div class="timeline-event-icon"><!-- SVG icon from http://tabler-icons.io/i/check -->
+      <svg>...</svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">1 day ago</div>
+        <h4>Database backup completed!</h4>
+        <p class="text-muted">Download the <a href="#">latest backup</a>.</p>
+      </div>
+    </div>
+  </li>
+  <li class="timeline-event">
+    <div class="timeline-event-icon bg-facebook-lt"><!-- SVG icon from http://tabler-icons.io/i/brand-facebook -->
+      <svg>...</svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">1 day ago</div>
+        <h4>+290 Page Likes</h4>
+        <p class="text-muted">This is great, keep it up!</p>
+      </div>
+    </div>
+  </li>
+  <li class="timeline-event">
+    <div class="timeline-event-icon"><!-- SVG icon from http://tabler-icons.io/i/user-plus -->
+      <svg>...</svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">2 days ago</div>
+        <h4>+3 Friend Requests</h4>
+        <div class="avatar-list mt-3">
+          <span class="avatar" style="background-image: url(...)">
+            <span class="badge bg-success"></span></span>
+          <span class="avatar">
+            <span class="badge bg-success"></span>JL</span>
+          <span class="avatar" style="background-image: url(...)">
+            <span class="badge bg-success"></span></span>
+        </div>
+      </div>
+    </div>
+  </li>
+  <li class="timeline-event">
+    <div class="timeline-event-icon"><!-- SVG icon from http://tabler-icons.io/i/photo -->
+      <svg>...</svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">3 days ago</div>
+        <h4>+2 New photos</h4>
+        <div class="mt-3">
+          <div class="row g-2">
+            <div class="col-6">
+              <div class="media media-2x1 rounded">
+                <a class="media-content" style="background-image: url(...)"></a>
+              </div>
+            </div>
+            <div class="col-6">
+              <div class="media media-2x1 rounded">
+                <a class="media-content" style="background-image: url(...)"></a>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </li>
+  <li class="timeline-event">
+    <div class="timeline-event-icon"><!-- SVG icon from http://tabler-icons.io/i/settings -->
+      <svg>...</svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">2 weeks ago</div>
+        <h4>System updated to v2.02</h4>
+        <p class="text-muted">Check the complete changelog at the <a href="#">activity
+            page</a>.</p>
+      </div>
+    </div>
+  </li>
+</ul>
+```
+
+## Simple timeline
+
+Use a simplified version of the timeline, if it suits your design better. You can still make use of all the available timeline components.
+
+```html example
+<ul class="timeline timeline-simple">
+  <li class="timeline-event">
+    <div class="timeline-event-icon bg-twitter-lt">
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <path d="M22 4.01c-1 .49 -1.98 .689 -3 .99c-1.121 -1.265 -2.783 -1.335 -4.38 -.737s-2.643 2.06 -2.62 3.737v1c-3.245 .083 -6.135 -1.395 -8 -4c0 0 -4.182 7.433 4 11c-1.872 1.247 -3.739 2.088 -6 2c3.308 1.803 6.913 2.423 10.034 1.517c3.58 -1.04 6.522 -3.723 7.651 -7.742a13.84 13.84 0 0 0 .497 -3.753c-.002 -.249 1.51 -2.772 1.818 -4.013z" />
+      </svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">10 hrs ago</div>
+        <h4>+1150 Followers</h4>
+        <p class="text-muted">You’re getting more and more followers, keep it up!</p>
+      </div>
+    </div>
+  </li>
+  <li class="timeline-event">
+    <div class="timeline-event-icon">
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <rect x="3" y="7" width="18" height="13" rx="2" />
+        <path d="M8 7v-2a2 2 0 0 1 2 -2h4a2 2 0 0 1 2 2v2" />
+        <line x1="12" y1="12" x2="12" y2="12.01" />
+        <path d="M3 13a20 20 0 0 0 18 0" />
+      </svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">2 hrs ago</div>
+        <h4>+3 New Products were added!</h4>
+        <p class="text-muted">Congratulations!</p>
+      </div>
+    </div>
+  </li>
+  <li class="timeline-event">
+    <div class="timeline-event-icon">
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <path d="M5 12l5 5l10 -10" />
+      </svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">1 day ago</div>
+        <h4>Database backup completed!</h4>
+        <p class="text-muted">Download the <a href="#">latest backup</a>.</p>
+      </div>
+    </div>
+  </li>
+  <li class="timeline-event">
+    <div class="timeline-event-icon bg-facebook-lt">
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <path d="M7 10v4h3v7h4v-7h3l1 -4h-4v-2a1 1 0 0 1 1 -1h3v-4h-3a5 5 0 0 0 -5 5v2h-3" />
+      </svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">1 day ago</div>
+        <h4>+290 Page Likes</h4>
+        <p class="text-muted">This is great, keep it up!</p>
+      </div>
+    </div>
+  </li>
+  <li class="timeline-event">
+    <div class="timeline-event-icon">
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <circle cx="9" cy="7" r="4" />
+        <path d="M3 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2" />
+        <path d="M16 11h6m-3 -3v6" />
+      </svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">2 days ago</div>
+        <h4>+3 Friend Requests</h4>
+        <div class="avatar-list mt-3">
+          <span class="avatar" style="background-image: url(...)"><span class="badge bg-success"></span></span>
+          <span class="avatar"><span class="badge bg-success"></span>JL</span>
+          <span class="avatar" style="background-image: url(...)"><span class="badge bg-success"></span></span>
+        </div>
+      </div>
+    </div>
+  </li>
+  <li class="timeline-event">
+    <div class="timeline-event-icon">
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <line x1="15" y1="8" x2="15.01" y2="8" />
+        <rect x="4" y="4" width="16" height="16" rx="3" />
+        <path d="M4 15l4 -4a3 5 0 0 1 3 0l5 5" />
+        <path d="M14 14l1 -1a3 5 0 0 1 3 0l2 2" />
+      </svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">3 days ago</div>
+        <h4>+2 New photos</h4>
+        <div class="mt-3">
+          <div class="row g-2">
+            <div class="col-6">
+              <div class="media media-2x1 rounded">
+                <a class="media-content" style="background-image: url(...)"></a>
+              </div>
+            </div>
+            <div class="col-6">
+              <div class="media media-2x1 rounded">
+                <a class="media-content" style="background-image: url(...)"></a>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </li>
+  <li class="timeline-event">
+    <div class="timeline-event-icon">
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <path d="M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z" />
+        <circle cx="12" cy="12" r="3" />
+      </svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">2 weeks ago</div>
+        <h4>System updated to v2.02</h4>
+        <p class="text-muted">Check the complete changelog at the <a href="#">activity
+            page</a>.</p>
+      </div>
+    </div>
+  </li>
+</ul>
+```
+
+```html
+<ul class="timeline timeline-simple">
+  <li class="timeline-event">
+    <div class="timeline-event-icon bg-twitter-lt"><!-- SVG icon from http://tabler-icons.io/i/brand-twitter -->
+      <svg>...</svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">10 hrs ago</div>
+        <h4>+1150 Followers</h4>
+        <p class="text-muted">You’re getting more and more followers, keep it up!</p>
+      </div>
+    </div>
+  </li>
+  <li class="timeline-event">
+    <div class="timeline-event-icon"><!-- SVG icon from http://tabler-icons.io/i/briefcase -->
+      <svg>...</svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">2 hrs ago</div>
+        <h4>+3 New Products were added!</h4>
+        <p class="text-muted">Congratulations!</p>
+      </div>
+    </div>
+  </li>
+  <li class="timeline-event">
+    <div class="timeline-event-icon"><!-- SVG icon from http://tabler-icons.io/i/check -->
+      <svg>...</svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">1 day ago</div>
+        <h4>Database backup completed!</h4>
+        <p class="text-muted">Download the <a href="#">latest backup</a>.</p>
+      </div>
+    </div>
+  </li>
+  <li class="timeline-event">
+    <div class="timeline-event-icon bg-facebook-lt"><!-- SVG icon from http://tabler-icons.io/i/brand-facebook -->
+      <svg>...</svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">1 day ago</div>
+        <h4>+290 Page Likes</h4>
+        <p class="text-muted">This is great, keep it up!</p>
+      </div>
+    </div>
+  </li>
+  <li class="timeline-event">
+    <div class="timeline-event-icon"><!-- SVG icon from http://tabler-icons.io/i/user-plus -->
+      <svg>...</svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">2 days ago</div>
+        <h4>+3 Friend Requests</h4>
+        <div class="avatar-list mt-3">
+          <span class="avatar" style="background-image: url(...)">
+            <span class="badge bg-success"></span></span>
+          <span class="avatar">
+            <span class="badge bg-success"></span>JL</span>
+          <span class="avatar" style="background-image: url(...)">
+            <span class="badge bg-success"></span></span>
+        </div>
+      </div>
+    </div>
+  </li>
+  <li class="timeline-event">
+    <div class="timeline-event-icon"><!-- SVG icon from http://tabler-icons.io/i/photo -->
+      <svg>...</svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">3 days ago</div>
+        <h4>+2 New photos</h4>
+        <div class="mt-3">
+          <div class="row g-2">
+            <div class="col-6">
+              <div class="media media-2x1 rounded">
+                <a class="media-content" style="background-image: url(...)"></a>
+              </div>
+            </div>
+            <div class="col-6">
+              <div class="media media-2x1 rounded">
+                <a class="media-content" style="background-image: url(...)"></a>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </li>
+  <li class="timeline-event">
+    <div class="timeline-event-icon"><!-- SVG icon from http://tabler-icons.io/i/settings -->
+      <svg>...</svg>
+    </div>
+    <div class="card timeline-event-card">
+      <div class="card-body">
+        <div class="text-muted float-end">2 weeks ago</div>
+        <h4>System updated to v2.02</h4>
+        <p class="text-muted">Check the complete changelog at the <a href="#">activity
+            page</a>.</p>
+      </div>
+    </div>
+  </li>
+</ul>
+```

+ 44 - 0
docs/components/tinymce.mdx

@@ -0,0 +1,44 @@
+---
+title: TinyMCE
+libs: tinymce
+description: The WYSIWYG editor that is flexible, customizable, and designed with the user in mind. TinyMCE can handle any challenge, from the most simple implementation through to the most complex use case.
+---
+
+[TinyMCE](https://www.tiny.cloud/docs/) documentation.
+
+## Default text editor
+
+Initialize TinyMCE 6 on any element (or elements) on the web page by passing an object containing a selector value to `tinymce.init()`. The selector value can be any valid CSS selector.
+
+```html example code centered columns={2} height="25rem"
+<form method="post">
+  <textarea id="tinymce-default">Hello, <b>Tabler</b>!</textarea>
+</form>
+
+<script src="$TABLER_CDN/dist/libs/tinymce/tinymce.min.js" defer></script>
+<script>
+  document.addEventListener("DOMContentLoaded", function() {
+    let options = {
+      selector: '#tinymce-default',
+      height: 300,
+      menubar: false,
+      statusbar: false,
+      plugins: [
+        'advlist autolink lists link image charmap print preview anchor',
+        'searchreplace visualblocks code fullscreen',
+        'insertdatetime media table paste code help wordcount'
+      ],
+      toolbar: 'undo redo | formatselect | ' +
+        'bold italic backcolor | alignleft aligncenter ' +
+        'alignright alignjustify | bullist numlist outdent indent | ' +
+        'removeformat',
+      content_style: 'body { font-family: -apple-system, BlinkMacSystemFont, San Francisco, Segoe UI, Roboto, Helvetica Neue, sans-serif; font-size: 14px; -webkit-font-smoothing: antialiased; }'
+    }
+    if (localStorage.getItem("tablerTheme") === 'dark') {
+      options.skin = 'oxide-dark';
+      options.content_css = 'dark';
+    }
+    tinyMCE.init(options);
+  })
+</script>
+```

+ 73 - 0
docs/components/toasts.mdx

@@ -0,0 +1,73 @@
+---
+title: Toasts
+description: Toasts are lightweight alert boxes which display for a few seconds after a user has taken an action, to inform them of the state or outcome. They can be used when a user clicks a button or submits a form and their aim is to provide feedback, rather than encourage to take action.
+bootstrapLink: components/toasts/
+---
+
+## Default markup
+
+Use the default toast message to inform users of the outcome of their action and provide additional information. It contains an `x` close button to make it possible for users to close the toast if they wish.
+
+```html example code
+<div class="toast show" role="alert" aria-live="assertive" aria-atomic="true" data-bs-autohide="false" data-bs-toggle="toast">
+  <div class="toast-header">
+    <span class="avatar avatar-xs me-2" style="background-image: url(/samples/avatars/018f.jpg)"></span>
+    <strong class="me-auto">Mallory Hulme</strong>
+    <small>11 mins ago</small>
+    <button type="button" class="ms-2 btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
+  </div>
+  <div class="toast-body">
+    Hello, world! This is a toast message.
+  </div>
+</div>
+```
+
+## Translucent
+
+Toasts blend over the elements they appear over. If a browser supports the `backdrop-filter` CSS property, the elements under a toast will be blurred.
+
+```html example code
+<div class="toast show" role="alert" aria-live="assertive" aria-atomic="true" data-bs-autohide="false" data-bs-toggle="toast">
+  <div class="toast-header">
+    <span class="avatar avatar-xs me-2" style="background-image: url(/samples/avatars/029m.jpg)"></span>
+    <strong class="me-auto">Mallory Hulme</strong>
+    <small>11 mins ago</small>
+    <button type="button" class="ms-2 btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
+  </div>
+  <div class="toast-body">
+    Hello, world! This is a toast message.
+  </div>
+</div>
+```
+
+## Stacking toasts
+
+Stack multiple toasts together by putting them within one `.toast-container`.
+
+```html example code
+<div class="toast-container">
+  <div class="toast show" role="alert" aria-live="assertive" aria-atomic="true" data-bs-autohide="false" data-bs-toggle="toast">
+    <div class="toast-header">
+      <span class="avatar avatar-xs me-2" style="background-image: url(/samples/avatars/008m.jpg)"></span>
+      <strong class="me-auto">Dunn Slane</strong>
+      <small>11 mins ago</small>
+      <button type="button" class="ms-2 btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
+    </div>
+    <div class="toast-body">
+      Hello, world! This is a toast message.
+    </div>
+  </div>
+  <div class="toast show" role="alert" aria-live="assertive" aria-atomic="true" data-bs-autohide="false" data-bs-toggle="toast">
+    <div class="toast-header">
+      <span class="avatar avatar-xs me-2" style="background-image: url(/samples/avatars/020m.jpg)"></span>
+      <strong class="me-auto">Mallory Hulme</strong>
+      <small>7 mins ago</small>
+      <button type="button" class="ms-2 btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
+    </div>
+    <div class="toast-body">
+      This is another toast message.
+    </div>
+  </div>
+</div>
+```
+

+ 6 - 11
src/pages/_docs/tooltips.md → docs/components/tooltips.mdx

@@ -1,16 +1,14 @@
 ---
 title: Tooltips
-menu: help.docs.components.tooltips
 description: Tooltips are text labels which appear when a user hovers over an interface element. They explain the interface elements that may be unclear for users and guide them when they need help. If used properly, tooltips can significantly enhance user experience and add value to your website or software.
-bootstrap-link: components/tooltips/
+bootstrapLink: components/tooltips/
 ---
 
-
 ## Default markup
 
-Use the default markup to create tooltips that will help users understand particular elements of your interface. You can decide where the text label is to be displayed - at the top, bottom or on either side of the element. 
+Use the default markup to create tooltips that will help users understand particular elements of your interface. You can decide where the text label is to be displayed - at the top, bottom or on either side of the element.
 
-{% capture code %}
+```html code example
 <button type="button" class="btn" data-bs-toggle="tooltip" data-bs-placement="top" title="Tooltip on top">
   Tooltip on top
 </button>
@@ -23,17 +21,14 @@ Use the default markup to create tooltips that will help users understand partic
 <button type="button" class="btn" data-bs-toggle="tooltip" data-bs-placement="left" title="Tooltip on left">
   Tooltip on left
 </button>
-{% endcapture %}
-{% include example.html code=code %}
-
+```
 
 ## Tooltip with HTML
 
 If the default tooltip is not enough, you can add the option to use HTML code in the text to highlight particular bits of information and make the content more attractive.
 
-{% capture code %}
+```html code example
 <button type="button" class="btn" data-bs-toggle="tooltip" data-bs-html="true" title="<em>Tooltip</em> <u>with</u> <b>HTML</b>">
   Tooltip with HTML
 </button>
-{% endcapture %}
-{% include example.html code=code %}
+```

+ 162 - 0
docs/components/tracking.mdx

@@ -0,0 +1,162 @@
+---
+title: Tracking
+description: Component for visualising activity logs or other monitoring-related data. With its ability to show data in a visually appealing and easily understandable way, the tracking component is an essential tool for any organization that relies on data monitoring and analysis to optimize performance and user experience.
+---
+
+## Basic example
+
+```html example centered columns={1}
+<div class="tracking">
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block bg-danger" data-bs-toggle="tooltip" data-bs-placement="top" title="Downtime"></div>
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block bg-warning" data-bs-toggle="tooltip" data-bs-placement="top" title="Big load"></div>
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block bg-danger" data-bs-toggle="tooltip" data-bs-placement="top" title="Downtime"></div>
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block" data-bs-toggle="tooltip" data-bs-placement="top" title="No data"></div>
+  <div class="tracking-block" data-bs-toggle="tooltip" data-bs-placement="top" title="No data"></div>
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+</div>
+```
+
+```html
+<div class="tracking">
+  ...
+  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  <div class="tracking-block" data-bs-toggle="tooltip" data-bs-placement="top" title="No data"></div>
+  <div class="tracking-block bg-failed" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+  ...
+</div>
+```
+
+## Tracking inside a card
+
+You can add a tracking component inside the cards to give your reports a fresh look and visualise the status of your system in an attractive way. If you want to read how to add other elements to card it is worth reading [documentation of card](/docs/components/cards).
+
+```html example centered columns={1}
+<div class="card">
+  <div class="card-body">
+    <div class="d-flex align-items-center">
+      <div class="subheader">Status monitoring</div>
+      <div class="ms-auto lh-1">
+        <div class="dropdown">
+          <a class="dropdown-toggle text-muted" href="#" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Current month</a>
+          <div class="dropdown-menu dropdown-menu-end">
+            <a class="dropdown-item active" href="#">Current month</a>
+            <a class="dropdown-item" href="#">Last month</a>
+            <a class="dropdown-item" href="#">Last 3 months</a>
+          </div>
+        </div>
+      </div>
+    </div>
+    <div class="d-flex align-items-baseline">
+      <div class="h1 mb-3 me-2">99.5%</div>
+      <div class="me-auto">
+        <span class="text-green d-inline-flex align-items-center lh-1">
+          2%
+          <svg xmlns="http://www.w3.org/2000/svg" class="icon ms-1" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+            <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+            <polyline points="3 17 9 11 13 15 21 7" />
+            <polyline points="14 7 21 7 21 14" />
+          </svg>
+        </span>
+      </div>
+    </div>
+    <div class="mt-2">
+      <div class="tracking">
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+        <div class="tracking-block bg-danger" data-bs-toggle="tooltip" data-bs-placement="top" title="Downtime"></div>
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+        <div class="tracking-block bg-warning" data-bs-toggle="tooltip" data-bs-placement="top" title="Big load"></div>
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+        <div class="tracking-block bg-danger" data-bs-toggle="tooltip" data-bs-placement="top" title="Downtime"></div>
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+        <div class="tracking-block" data-bs-toggle="tooltip" data-bs-placement="top" title="No data"></div>
+        <div class="tracking-block" data-bs-toggle="tooltip" data-bs-placement="top" title="No data"></div>
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+        <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+      </div>
+    </div>
+  </div>
+</div>
+```
+
+```html
+<div class="card">
+  <div class="card-body">
+	 <div class="d-flex align-items-center">
+		<div class="subheader">Status monitoring</div>
+		<div class="ms-auto lh-1">
+		  <div class="dropdown">
+			 <a class="dropdown-toggle text-muted" href="#" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Current month</a>
+			 <div class="dropdown-menu dropdown-menu-end">
+				<a class="dropdown-item active" href="#">Current month</a>
+				<a class="dropdown-item" href="#">Last month</a>
+				<a class="dropdown-item" href="#">Last 3 months</a>
+			 </div>
+		  </div>
+		</div>
+	 </div>
+	 <div class="d-flex align-items-baseline">
+		<div class="h1 mb-3 me-2">99.5%</div>
+		<div class="me-auto">
+		<span class="text-green d-inline-flex align-items-center lh-1">
+		  2%
+		  <svg xmlns="http://www.w3.org/2000/svg" class="icon ms-1" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><polyline points="3 17 9 11 13 15 21 7" /><polyline points="14 7 21 7 21 14" /></svg>
+		</span>
+		</div>
+	 </div>
+	 <div class="mt-2">
+		<div class="tracking">
+		  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+		  <div class="tracking-block bg-danger" data-bs-toggle="tooltip" data-bs-placement="top" title="Downtime"></div>
+		  <div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
+		  <div class="tracking-block bg-warning" data-bs-toggle="tooltip" data-bs-placement="top" title="Big load"></div>
+		  <div class="tracking-block" data-bs-toggle="tooltip" data-bs-placement="top" title="No data"></div>
+		  <div class="tracking-block" data-bs-toggle="tooltip" data-bs-placement="top" title="No data"></div>
+		  ...
+		</div>
+	 </div>
+  </div>
+</div>
+```

+ 1487 - 0
docs/config.json

@@ -0,0 +1,1487 @@
+{
+  "libs": {
+    "bootstrap": "bootstrap/dist/js/bootstrap.bundle.min.js",
+    "apexcharts": "apexcharts/dist/apexcharts.min.js",
+    "nouislider": "nouislider/dist/nouislider.min.js",
+    "countup": "countup.js/dist/countUp.js",
+    "lists": "list.js/dist/list.min.js",
+    "masonry": "https://cdnjs.cloudflare.com/ajax/libs/masonry/4.2.2/masonry.pkgd.min.js",
+    "mapbox": "https://api.mapbox.com/mapbox-gl-js/v1.8.0/mapbox-gl.js",
+    "google-maps": "https://maps.googleapis.com/maps/api/js?key=GOOGLE_MAPS_KEY",
+    "litepicker": "litepicker/dist/litepicker.js",
+    "tom-select": "tom-select/dist/js/tom-select.base.min.js",
+    "jsvectormap": "jsvectormap/dist/js/jsvectormap.min.js",
+    "jsvectormap-world": "jsvectormap/dist/maps/world.js",
+    "jsvectormap-world-merc": "jsvectormap/dist/maps/world-merc.js",
+    "fslightbox": "fslightbox/index.js",
+    "tinymce": "tinymce/tinymce.min.js",
+    "plyr": "plyr/dist/plyr.min.js",
+    "dropzone": "dropzone/dist/dropzone-min.js"
+  },
+  "colors": {
+    "base": [
+      {
+        "name": "blue",
+        "variable": "var(--tblr-blue)",
+        "value": "#206bc4"
+      },
+      {
+        "name": "azure",
+        "variable": "var(--tblr-azure)",
+        "value": "#4299e1"
+      },
+      {
+        "name": "indigo",
+        "variable": "var(--tblr-indigo)",
+        "value": "#4263eb"
+      },
+      {
+        "name": "purple",
+        "variable": "var(--tblr-purple)",
+        "value": "#ae3ec9"
+      },
+      {
+        "name": "pink",
+        "variable": "var(--tblr-pink)",
+        "value": "#d6336c"
+      },
+      {
+        "name": "red",
+        "variable": "var(--tblr-red)",
+        "value": "#d63939"
+      },
+      {
+        "name": "orange",
+        "variable": "var(--tblr-orange)",
+        "value": "#f76707"
+      },
+      {
+        "name": "yellow",
+        "variable": "var(--tblr-yellow)",
+        "value": "#f59f00"
+      },
+      {
+        "name": "lime",
+        "variable": "var(--tblr-lime)",
+        "value": "#74b816"
+      },
+      {
+        "name": "green",
+        "variable": "var(--tblr-green)",
+        "value": "#2fb344"
+      },
+      {
+        "name": "teal",
+        "variable": "var(--tblr-teal)",
+        "value": "#0ca678"
+      },
+      {
+        "name": "cyan",
+        "variable": "var(--tblr-cyan)",
+        "value": "#17a2b8"
+      }
+    ],
+    "grays": [
+      {
+        "name": "gray-50",
+        "value": "#f8fafc"
+      },
+      {
+        "name": "gray-100",
+        "value": "#f1f5f9"
+      },
+      {
+        "name": "gray-200",
+        "value": "#e2e8f0"
+      },
+      {
+        "name": "gray-300",
+        "value": "#c8d3e1"
+      },
+      {
+        "name": "gray-400",
+        "value": "#9ba9be"
+      },
+      {
+        "name": "gray-500",
+        "value": "#6c7a91"
+      },
+      {
+        "name": "gray-600",
+        "value": "#49566c"
+      },
+      {
+        "name": "gray-700",
+        "value": "#313c52"
+      },
+      {
+        "name": "gray-800",
+        "value": "#1d273b"
+      },
+      {
+        "name": "gray-900",
+        "value": "#0f172a"
+      }
+    ],
+    "light": [
+      {
+        "name": "blue-lt",
+        "value": "#e9f0f9"
+      },
+      {
+        "name": "azure-lt",
+        "value": "#ecf5fc"
+      },
+      {
+        "name": "indigo-lt",
+        "value": "#eceffd"
+      },
+      {
+        "name": "purple-lt",
+        "value": "#f7ecfa"
+      },
+      {
+        "name": "pink-lt",
+        "value": "#fbebf0"
+      },
+      {
+        "name": "red-lt",
+        "value": "#fbebeb"
+      },
+      {
+        "name": "orange-lt",
+        "value": "#fef0e6"
+      },
+      {
+        "name": "yellow-lt",
+        "value": "#fef5e6"
+      },
+      {
+        "name": "lime-lt",
+        "value": "#f1f8e8"
+      },
+      {
+        "name": "green-lt",
+        "value": "#eaf7ec"
+      },
+      {
+        "name": "teal-lt",
+        "value": "#e7f6f2"
+      },
+      {
+        "name": "cyan-lt",
+        "value": "#e8f6f8"
+      }
+    ],
+    "social": [
+      {
+        "name": "facebook",
+        "value": "#1877F2"
+      },
+      {
+        "name": "twitter",
+        "value": "#1da1f2"
+      },
+      {
+        "name": "linkedin",
+        "value": "#0a66c2"
+      },
+      {
+        "name": "google",
+        "value": "#dc4e41"
+      },
+      {
+        "name": "youtube",
+        "value": "#ff0000"
+      },
+      {
+        "name": "vimeo",
+        "value": "#1ab7ea"
+      },
+      {
+        "name": "dribbble",
+        "value": "#ea4c89"
+      },
+      {
+        "name": "github",
+        "value": "#181717"
+      },
+      {
+        "name": "instagram",
+        "value": "#e4405f"
+      },
+      {
+        "name": "pinterest",
+        "value": "#bd081c"
+      },
+      {
+        "name": "vk",
+        "value": "#6383a8"
+      },
+      {
+        "name": "rss",
+        "value": "#ffa500"
+      },
+      {
+        "name": "flickr",
+        "value": "#0063dc"
+      },
+      {
+        "name": "bitbucket",
+        "value": "#0052cc"
+      },
+      {
+        "name": "tabler",
+        "value": "#206bc4"
+      }
+    ]
+  },
+  "flags": [
+    {
+      "name": "Andorra",
+      "flag": "ad"
+    },
+    {
+      "name": "United Arab Emirates",
+      "flag": "ae"
+    },
+    {
+      "name": "Afghanistan",
+      "flag": "af"
+    },
+    {
+      "name": "Antigua",
+      "flag": "ag"
+    },
+    {
+      "name": "Anguilla",
+      "flag": "ai"
+    },
+    {
+      "name": "Armenia",
+      "flag": "am"
+    },
+    {
+      "name": "Angolan",
+      "flag": "ao"
+    },
+    {
+      "name": "Antarctica",
+      "flag": "aq"
+    },
+    {
+      "name": "Argentina",
+      "flag": "ar"
+    },
+    {
+      "name": "American Samoa",
+      "flag": "as"
+    },
+    {
+      "name": "Austria",
+      "flag": "at"
+    },
+    {
+      "name": "Australia",
+      "flag": "au"
+    },
+    {
+      "name": "Aruba",
+      "flag": "aw"
+    },
+    {
+      "name": "Aslan Islands",
+      "flag": "ax"
+    },
+    {
+      "name": "Azerbaijan",
+      "flag": "az"
+    },
+    {
+      "name": "Bosnian",
+      "flag": "ba"
+    },
+    {
+      "name": "Barbados",
+      "flag": "bb"
+    },
+    {
+      "name": "Belgium",
+      "flag": "be"
+    },
+    {
+      "name": "Burkina Faso",
+      "flag": "bf"
+    },
+    {
+      "name": "Bulgaria",
+      "flag": "bg"
+    },
+    {
+      "name": "Bahrain",
+      "flag": "bh"
+    },
+    {
+      "name": "Burundi",
+      "flag": "bi"
+    },
+    {
+      "name": "Benin",
+      "flag": "bj"
+    },
+    {
+      "name": "Saint-Barthélemy",
+      "flag": "bl"
+    },
+    {
+      "name": "Bermuda",
+      "flag": "bm"
+    },
+    {
+      "name": "Bruneian",
+      "flag": "bn"
+    },
+    {
+      "name": "Bolivia",
+      "flag": "bo"
+    },
+    {
+      "name": "Bonaire",
+      "flag": "bq"
+    },
+    {
+      "name": "Brazil",
+      "flag": "br"
+    },
+    {
+      "name": "Bahamas",
+      "flag": "bs"
+    },
+    {
+      "name": "Bhutan",
+      "flag": "bt"
+    },
+    {
+      "name": "Bouvet Island",
+      "flag": "bv"
+    },
+    {
+      "name": "Batswana",
+      "flag": "bw"
+    },
+    {
+      "name": "Belarus",
+      "flag": "by"
+    },
+    {
+      "name": "Belize",
+      "flag": "bz"
+    },
+    {
+      "name": "Canada",
+      "flag": "ca"
+    },
+    {
+      "name": "Cocos Island",
+      "flag": "cc"
+    },
+    {
+      "name": "Democratic Republic of Congo",
+      "flag": "cd"
+    },
+    {
+      "name": "Central African Republic",
+      "flag": "cf"
+    },
+    {
+      "name": "Republic of the Congo",
+      "flag": "cg"
+    },
+    {
+      "name": "Switzerland",
+      "flag": "ch"
+    },
+    {
+      "name": "Ivory Coast",
+      "flag": "ci"
+    },
+    {
+      "name": "Cook Island",
+      "flag": "ck"
+    },
+    {
+      "name": "Chile",
+      "flag": "cl"
+    },
+    {
+      "name": "Cameroon",
+      "flag": "cm"
+    },
+    {
+      "name": "China",
+      "flag": "cn"
+    },
+    {
+      "name": "Colombia",
+      "flag": "co"
+    },
+    {
+      "name": "Costa Rica",
+      "flag": "cr"
+    },
+    {
+      "name": "Cuba",
+      "flag": "cu"
+    },
+    {
+      "name": "Cape Verde",
+      "flag": "cv"
+    },
+    {
+      "name": "Curacao",
+      "flag": "cw"
+    },
+    {
+      "name": "Christmas Island",
+      "flag": "cx"
+    },
+    {
+      "name": "Cyprus",
+      "flag": "cy"
+    },
+    {
+      "name": "Czech Republic",
+      "flag": "cz"
+    },
+    {
+      "name": "Germany",
+      "flag": "de"
+    },
+    {
+      "name": "Djibouti",
+      "flag": "dj"
+    },
+    {
+      "name": "Denmark",
+      "flag": "dk"
+    },
+    {
+      "name": "Dominica",
+      "flag": "dm"
+    },
+    {
+      "name": "Dominican Republic",
+      "flag": "do"
+    },
+    {
+      "name": "Algeria",
+      "flag": "dz"
+    },
+    {
+      "name": "Ecuador",
+      "flag": "ec"
+    },
+    {
+      "name": "Estonia",
+      "flag": "ee"
+    },
+    {
+      "name": "Egypt",
+      "flag": "eg"
+    },
+    {
+      "name": "Sahrawi",
+      "flag": "eh"
+    },
+    {
+      "name": "Eritrea",
+      "flag": "er"
+    },
+    {
+      "name": "Spain",
+      "flag": "es"
+    },
+    {
+      "name": "Catalonia",
+      "flag": "es-ct"
+    },
+    {
+      "name": "Ethiopia",
+      "flag": "et"
+    },
+    {
+      "name": "European Union",
+      "flag": "eu"
+    },
+    {
+      "name": "Finland",
+      "flag": "fi"
+    },
+    {
+      "name": "Fiji",
+      "flag": "fj"
+    },
+    {
+      "name": "Falkland Islands",
+      "flag": "fk"
+    },
+    {
+      "name": "Federate States of Micronesia",
+      "flag": "fm"
+    },
+    {
+      "name": "Faroe Islands",
+      "flag": "fo"
+    },
+    {
+      "name": "France",
+      "flag": "fr"
+    },
+    {
+      "name": "Gabon",
+      "flag": "ga"
+    },
+    {
+      "name": "Great Britain",
+      "flag": "gb"
+    },
+    {
+      "name": "England",
+      "flag": "gb-eng"
+    },
+    {
+      "name": "Nothern Ireland",
+      "flag": "gb-nir"
+    },
+    {
+      "name": "Scotland",
+      "flag": "gb-sct"
+    },
+    {
+      "name": "Wales",
+      "flag": "gb-wls"
+    },
+    {
+      "name": "Grenada",
+      "flag": "gd"
+    },
+    {
+      "name": "Georgia",
+      "flag": "ge"
+    },
+    {
+      "name": "Guyana",
+      "flag": "gf"
+    },
+    {
+      "name": "Guernsey",
+      "flag": "gg"
+    },
+    {
+      "name": "Ghana",
+      "flag": "gh"
+    },
+    {
+      "name": "Gibraltar",
+      "flag": "gi"
+    },
+    {
+      "name": "Greenland",
+      "flag": "gl"
+    },
+    {
+      "name": "Gambia",
+      "flag": "gm"
+    },
+    {
+      "name": "Guinea",
+      "flag": "gn"
+    },
+    {
+      "name": "Guadeloupe",
+      "flag": "gp"
+    },
+    {
+      "name": "Equatorial Guinea",
+      "flag": "gq"
+    },
+    {
+      "name": "Greece",
+      "flag": "gr"
+    },
+    {
+      "name": "South Georgia",
+      "flag": "gs"
+    },
+    {
+      "name": "Guatemala",
+      "flag": "gt"
+    },
+    {
+      "name": "Guam",
+      "flag": "gu"
+    },
+    {
+      "name": "Guinea-Bissau",
+      "flag": "gw"
+    },
+    {
+      "name": "Guyana",
+      "flag": "gy"
+    },
+    {
+      "name": "Hong Kong",
+      "flag": "hk"
+    },
+    {
+      "name": "Heard and McDonald Islands",
+      "flag": "hm"
+    },
+    {
+      "name": "Honduras",
+      "flag": "hn"
+    },
+    {
+      "name": "Croatia",
+      "flag": "hr"
+    },
+    {
+      "name": "Haiti",
+      "flag": "ht"
+    },
+    {
+      "name": "Hungary",
+      "flag": "hu"
+    },
+    {
+      "name": "Indonesia",
+      "flag": "id"
+    },
+    {
+      "name": "Ireland",
+      "flag": "ie"
+    },
+    {
+      "name": "Israel",
+      "flag": "il"
+    },
+    {
+      "name": "Isle of Man",
+      "flag": "im"
+    },
+    {
+      "name": "India",
+      "flag": "in"
+    },
+    {
+      "name": "British Indian Ocean Territory",
+      "flag": "io"
+    },
+    {
+      "name": "Iraq",
+      "flag": "iq"
+    },
+    {
+      "name": "Iran",
+      "flag": "ir"
+    },
+    {
+      "name": "Iceland",
+      "flag": "is"
+    },
+    {
+      "name": "Italy",
+      "flag": "it"
+    },
+    {
+      "name": "Jersey",
+      "flag": "je"
+    },
+    {
+      "name": "Jamaica",
+      "flag": "jm"
+    },
+    {
+      "name": "Jordan",
+      "flag": "jo"
+    },
+    {
+      "name": "Japan",
+      "flag": "jp"
+    },
+    {
+      "name": "Kenya",
+      "flag": "ke"
+    },
+    {
+      "name": "Kyrgyzstan",
+      "flag": "kg"
+    },
+    {
+      "name": "Cambodia",
+      "flag": "kh"
+    },
+    {
+      "name": "Kiribati",
+      "flag": "ki"
+    },
+    {
+      "name": "Comoros",
+      "flag": "km"
+    },
+    {
+      "name": "Saint Kitts and Nevis",
+      "flag": "kn"
+    },
+    {
+      "name": "North Korea",
+      "flag": "kp"
+    },
+    {
+      "name": "South Korea",
+      "flag": "kr"
+    },
+    {
+      "name": "Kuwait",
+      "flag": "kw"
+    },
+    {
+      "name": "Cayman Islands",
+      "flag": "ky"
+    },
+    {
+      "name": "Kazakhstan",
+      "flag": "kz"
+    },
+    {
+      "name": "Laos",
+      "flag": "la"
+    },
+    {
+      "name": "Lebanese",
+      "flag": "lb"
+    },
+    {
+      "name": "Saint Lucia",
+      "flag": "lc"
+    },
+    {
+      "name": "Liechtenstein",
+      "flag": "li"
+    },
+    {
+      "name": "Sri Lanka",
+      "flag": "lk"
+    },
+    {
+      "name": "Liberia",
+      "flag": "lr"
+    },
+    {
+      "name": "Lesotho",
+      "flag": "ls"
+    },
+    {
+      "name": "Lithuania",
+      "flag": "lt"
+    },
+    {
+      "name": "Luxembourg",
+      "flag": "lu"
+    },
+    {
+      "name": "Latvia",
+      "flag": "lv"
+    },
+    {
+      "name": "Libya",
+      "flag": "ly"
+    },
+    {
+      "name": "Morocco",
+      "flag": "ma"
+    },
+    {
+      "name": "Monaco",
+      "flag": "mc"
+    },
+    {
+      "name": "Moldova",
+      "flag": "md"
+    },
+    {
+      "name": "Montenegro",
+      "flag": "me"
+    },
+    {
+      "name": "Saint Martin",
+      "flag": "mf"
+    },
+    {
+      "name": "Madagascar",
+      "flag": "mg"
+    },
+    {
+      "name": "Marshall Islands",
+      "flag": "mh"
+    },
+    {
+      "name": "Macedonia",
+      "flag": "mk"
+    },
+    {
+      "name": "Mali",
+      "flag": "ml"
+    },
+    {
+      "name": "Myanmar",
+      "flag": "mm"
+    },
+    {
+      "name": "Mongolia",
+      "flag": "mn"
+    },
+    {
+      "name": "Macao",
+      "flag": "mo"
+    },
+    {
+      "name": "Nothern Mariana Islands",
+      "flag": "mp"
+    },
+    {
+      "name": "Martinique",
+      "flag": "mq"
+    },
+    {
+      "name": "Mauritania",
+      "flag": "mr"
+    },
+    {
+      "name": "Montserrat",
+      "flag": "ms"
+    },
+    {
+      "name": "Malta",
+      "flag": "mt"
+    },
+    {
+      "name": "Mauritius",
+      "flag": "mu"
+    },
+    {
+      "name": "Maldives",
+      "flag": "mv"
+    },
+    {
+      "name": "Malawi",
+      "flag": "mw"
+    },
+    {
+      "name": "Mexico",
+      "flag": "mx"
+    },
+    {
+      "name": "Malaysia",
+      "flag": "my"
+    },
+    {
+      "name": "Mozambique",
+      "flag": "mz"
+    },
+    {
+      "name": "Namibia",
+      "flag": "na"
+    },
+    {
+      "name": "New Caledonia",
+      "flag": "nc"
+    },
+    {
+      "name": "Niger",
+      "flag": "ne"
+    },
+    {
+      "name": "Norfolk Island",
+      "flag": "nf"
+    },
+    {
+      "name": "Nigeria",
+      "flag": "ng"
+    },
+    {
+      "name": "Nicaragua",
+      "flag": "ni"
+    },
+    {
+      "name": "Norway",
+      "flag": "no"
+    },
+    {
+      "name": "Nepal",
+      "flag": "np"
+    },
+    {
+      "name": "Nauruan",
+      "flag": "nr"
+    },
+    {
+      "name": "Niger",
+      "flag": "nu"
+    },
+    {
+      "name": "New Zealand",
+      "flag": "nz"
+    },
+    {
+      "name": "Oman",
+      "flag": "om"
+    },
+    {
+      "name": "Panama",
+      "flag": "pa"
+    },
+    {
+      "name": "Peru",
+      "flag": "pe"
+    },
+    {
+      "name": "French Polynesia",
+      "flag": "pf"
+    },
+    {
+      "name": "Papua New Guinea",
+      "flag": "pg"
+    },
+    {
+      "name": "Philippines",
+      "flag": "ph"
+    },
+    {
+      "name": "Pakistan",
+      "flag": "pk"
+    },
+    {
+      "name": "Poland",
+      "flag": "pl"
+    },
+    {
+      "name": "Saint Pierre",
+      "flag": "pm"
+    },
+    {
+      "name": "Pitcairn Islands",
+      "flag": "pn"
+    },
+    {
+      "name": "Puerto Rico",
+      "flag": "pr"
+    },
+    {
+      "name": "Palestine",
+      "flag": "ps"
+    },
+    {
+      "name": "Portugal",
+      "flag": "pt"
+    },
+    {
+      "name": "Palau",
+      "flag": "pw"
+    },
+    {
+      "name": "Paraguay",
+      "flag": "py"
+    },
+    {
+      "name": "Qatar",
+      "flag": "qa"
+    },
+    {
+      "name": "Reunion Island",
+      "flag": "re"
+    },
+    {
+      "name": "Romania",
+      "flag": "ro"
+    },
+    {
+      "name": "Serbia",
+      "flag": "rs"
+    },
+    {
+      "name": "Russia",
+      "flag": "ru"
+    },
+    {
+      "name": "Rwanda",
+      "flag": "rw"
+    },
+    {
+      "name": "Saudi Arabia",
+      "flag": "sa"
+    },
+    {
+      "name": "Solomon Islands",
+      "flag": "sb"
+    },
+    {
+      "name": "Seychelles",
+      "flag": "sc"
+    },
+    {
+      "name": "Sudan",
+      "flag": "sd"
+    },
+    {
+      "name": "Sweden",
+      "flag": "se"
+    },
+    {
+      "name": "Singapore",
+      "flag": "sg"
+    },
+    {
+      "name": "Saint Helena",
+      "flag": "sh"
+    },
+    {
+      "name": "Slovenia",
+      "flag": "si"
+    },
+    {
+      "name": "Svalbard Island",
+      "flag": "sj"
+    },
+    {
+      "name": "Slovakia",
+      "flag": "sk"
+    },
+    {
+      "name": "Sierra Leone",
+      "flag": "sl"
+    },
+    {
+      "name": "San Marino",
+      "flag": "sm"
+    },
+    {
+      "name": "Senegal",
+      "flag": "sn"
+    },
+    {
+      "name": "Somalia",
+      "flag": "so"
+    },
+    {
+      "name": "Suriname",
+      "flag": "sr"
+    },
+    {
+      "name": "South Sudan",
+      "flag": "ss"
+    },
+    {
+      "name": "Sao Tome",
+      "flag": "st"
+    },
+    {
+      "name": "El Salvador",
+      "flag": "sv"
+    },
+    {
+      "name": "Sint Maarten",
+      "flag": "sx"
+    },
+    {
+      "name": "Syria",
+      "flag": "sy"
+    },
+    {
+      "name": "Swaziland",
+      "flag": "sz"
+    },
+    {
+      "name": "Turks and Caicos",
+      "flag": "tc"
+    },
+    {
+      "name": "Chad",
+      "flag": "td"
+    },
+    {
+      "name": "French Southern and Antarctic Lands",
+      "flag": "tf"
+    },
+    {
+      "name": "Togo",
+      "flag": "tg"
+    },
+    {
+      "name": "Thailand",
+      "flag": "th"
+    },
+    {
+      "name": "Tajikistan",
+      "flag": "tj"
+    },
+    {
+      "name": "Tokelau",
+      "flag": "tk"
+    },
+    {
+      "name": "Timor Leste",
+      "flag": "tl"
+    },
+    {
+      "name": "Turkmenistan",
+      "flag": "tm"
+    },
+    {
+      "name": "Tunisia",
+      "flag": "tn"
+    },
+    {
+      "name": "Tonga",
+      "flag": "to"
+    },
+    {
+      "name": "Turkey",
+      "flag": "tr"
+    },
+    {
+      "name": "Trinidad and Tobago",
+      "flag": "tt"
+    },
+    {
+      "name": "Tuvalu",
+      "flag": "tv"
+    },
+    {
+      "name": "Tanzania",
+      "flag": "tz"
+    },
+    {
+      "name": "Ukraine",
+      "flag": "ua"
+    },
+    {
+      "name": "Uganda",
+      "flag": "ug"
+    },
+    {
+      "name": "United States Minor Islands",
+      "flag": "um"
+    },
+    {
+      "name": "United Nations",
+      "flag": "un"
+    },
+    {
+      "name": "United States of America",
+      "flag": "us"
+    },
+    {
+      "name": "Uruguay",
+      "flag": "uy"
+    },
+    {
+      "name": "Uzbekistan",
+      "flag": "uz"
+    },
+    {
+      "name": "Vatican City",
+      "flag": "va"
+    },
+    {
+      "name": "Saint Vincent",
+      "flag": "vc"
+    },
+    {
+      "name": "Venezuela",
+      "flag": "ve"
+    },
+    {
+      "name": "British Virgin Islands",
+      "flag": "vg"
+    },
+    {
+      "name": "Virgiin Islands",
+      "flag": "vi"
+    },
+    {
+      "name": "Vietnam",
+      "flag": "vn"
+    },
+    {
+      "name": "Vanuatu",
+      "flag": "vu"
+    },
+    {
+      "name": "Wallis and Futuna",
+      "flag": "wf"
+    },
+    {
+      "name": "Samoa",
+      "flag": "ws"
+    },
+    {
+      "name": "Yemen",
+      "flag": "ye"
+    },
+    {
+      "name": "South Africa",
+      "flag": "za"
+    },
+    {
+      "name": "Zambia",
+      "flag": "zm"
+    },
+    {
+      "name": "Zimbabwe",
+      "flag": "zw"
+    }
+  ],
+  "payments": [
+    {
+      "name": "2checkout",
+      "logo": "2checkout"
+    },
+    {
+      "name": "Alipay",
+      "logo": "alipay"
+    },
+    {
+      "name": "Amazon",
+      "logo": "amazon"
+    },
+    {
+      "name": "Americanexpress",
+      "logo": "americanexpress"
+    },
+    {
+      "name": "Applepay",
+      "logo": "applepay"
+    },
+    {
+      "name": "Bancontact",
+      "logo": "bancontact"
+    },
+    {
+      "name": "Bitcoin",
+      "logo": "bitcoin"
+    },
+    {
+      "name": "Bitpay",
+      "logo": "bitpay"
+    },
+    {
+      "name": "Blik",
+      "logo": "blik"
+    },
+    {
+      "name": "Cirrus",
+      "logo": "cirrus"
+    },
+    {
+      "name": "Clickandbuy",
+      "logo": "clickandbuy"
+    },
+    {
+      "name": "Coinkite",
+      "logo": "coinkite"
+    },
+    {
+      "name": "Dinersclub",
+      "logo": "dinersclub"
+    },
+    {
+      "name": "Directdebit",
+      "logo": "directdebit"
+    },
+    {
+      "name": "Discover",
+      "logo": "discover"
+    },
+    {
+      "name": "Dotpay",
+      "logo": "dotpay"
+    },
+    {
+      "name": "Dwolla",
+      "logo": "dwolla"
+    },
+    {
+      "name": "Ebay",
+      "logo": "ebay"
+    },
+    {
+      "name": "Epayco",
+      "logo": "epayco"
+    },
+    {
+      "name": "Eway",
+      "logo": "eway"
+    },
+    {
+      "name": "Giropay",
+      "logo": "giropay"
+    },
+    {
+      "name": "Googlewallet",
+      "logo": "googlewallet"
+    },
+    {
+      "name": "Ingenico",
+      "logo": "ingenico"
+    },
+    {
+      "name": "Jcb",
+      "logo": "jcb"
+    },
+    {
+      "name": "Klarna",
+      "logo": "klarna"
+    },
+    {
+      "name": "Laser",
+      "logo": "laser"
+    },
+    {
+      "name": "Maestro",
+      "logo": "maestro"
+    },
+    {
+      "name": "Mastercard",
+      "logo": "mastercard"
+    },
+    {
+      "name": "Mir",
+      "logo": "mir"
+    },
+    {
+      "name": "Monero",
+      "logo": "monero"
+    },
+    {
+      "name": "Neteller",
+      "logo": "neteller"
+    },
+    {
+      "name": "Ogone",
+      "logo": "ogone"
+    },
+    {
+      "name": "Okpay",
+      "logo": "okpay"
+    },
+    {
+      "name": "Paybox",
+      "logo": "paybox"
+    },
+    {
+      "name": "Paymill",
+      "logo": "paymill"
+    },
+    {
+      "name": "Payone",
+      "logo": "payone"
+    },
+    {
+      "name": "Payoneer",
+      "logo": "payoneer"
+    },
+    {
+      "name": "Paypal",
+      "logo": "paypal"
+    },
+    {
+      "name": "Paysafecard",
+      "logo": "paysafecard"
+    },
+    {
+      "name": "Payu",
+      "logo": "payu"
+    },
+    {
+      "name": "Payza",
+      "logo": "payza"
+    },
+    {
+      "name": "Przelewy24",
+      "logo": "przelewy24"
+    },
+    {
+      "name": "Ripple",
+      "logo": "ripple"
+    },
+    {
+      "name": "Sage",
+      "logo": "sage"
+    },
+    {
+      "name": "Sepa",
+      "logo": "sepa"
+    },
+    {
+      "name": "Shopify",
+      "logo": "shopify"
+    },
+    {
+      "name": "Skrill",
+      "logo": "skrill"
+    },
+    {
+      "name": "Solo",
+      "logo": "solo"
+    },
+    {
+      "name": "Square",
+      "logo": "square"
+    },
+    {
+      "name": "Stripe",
+      "logo": "stripe"
+    },
+    {
+      "name": "Switch",
+      "logo": "switch"
+    },
+    {
+      "name": "Tpay",
+      "logo": "tpay"
+    },
+    {
+      "name": "Ukash",
+      "logo": "ukash"
+    },
+    {
+      "name": "Unionpay",
+      "logo": "unionpay"
+    },
+    {
+      "name": "Verifone",
+      "logo": "verifone"
+    },
+    {
+      "name": "Verisign",
+      "logo": "verisign"
+    },
+    {
+      "name": "Visa",
+      "logo": "visa"
+    },
+    {
+      "name": "Webmoney",
+      "logo": "webmoney"
+    },
+    {
+      "name": "Westernunion",
+      "logo": "westernunion"
+    },
+    {
+      "name": "Worldpay",
+      "logo": "worldpay"
+    }
+  ]
+}

+ 179 - 0
docs/forms/form-color-check.mdx

@@ -0,0 +1,179 @@
+---
+title: Color check
+---
+
+Your input controls can come in a variety of colors, depending on your preferences. Click [here](/docs/getting-started/colors) to see the list of available colors.
+
+```html example centered
+<div class="mb-3">
+  <label class="form-label">Color Input</label>
+  <div class="row g-2">
+    <div class="col-auto">
+      <label class="form-colorinput">
+        <input name="color" type="radio" value="dark" class="form-colorinput-input" />
+        <span class="form-colorinput-color bg-dark"></span>
+      </label>
+    </div>
+    <div class="col-auto">
+      <label class="form-colorinput form-colorinput-light">
+        <input name="color" type="radio" value="white" class="form-colorinput-input" checked />
+        <span class="form-colorinput-color bg-white"></span>
+      </label>
+    </div>
+    <div class="col-auto">
+      <label class="form-colorinput">
+        <input name="color" type="radio" value="blue" class="form-colorinput-input" />
+        <span class="form-colorinput-color bg-blue"></span>
+      </label>
+    </div>
+    <div class="col-auto">
+      <label class="form-colorinput">
+        <input name="color" type="radio" value="azure" class="form-colorinput-input" />
+        <span class="form-colorinput-color bg-azure"></span>
+      </label>
+    </div>
+    <div class="col-auto">
+      <label class="form-colorinput">
+        <input name="color" type="radio" value="indigo" class="form-colorinput-input" />
+        <span class="form-colorinput-color bg-indigo"></span>
+      </label>
+    </div>
+    <div class="col-auto">
+      <label class="form-colorinput">
+        <input name="color" type="radio" value="purple" class="form-colorinput-input" />
+        <span class="form-colorinput-color bg-purple"></span>
+      </label>
+    </div>
+    <div class="col-auto">
+      <label class="form-colorinput">
+        <input name="color" type="radio" value="pink" class="form-colorinput-input" />
+        <span class="form-colorinput-color bg-pink"></span>
+      </label>
+    </div>
+    <div class="col-auto">
+      <label class="form-colorinput">
+        <input name="color" type="radio" value="red" class="form-colorinput-input" />
+        <span class="form-colorinput-color bg-red"></span>
+      </label>
+    </div>
+    <div class="col-auto">
+      <label class="form-colorinput">
+        <input name="color" type="radio" value="orange" class="form-colorinput-input" />
+        <span class="form-colorinput-color bg-orange"></span>
+      </label>
+    </div>
+    <div class="col-auto">
+      <label class="form-colorinput">
+        <input name="color" type="radio" value="yellow" class="form-colorinput-input" />
+        <span class="form-colorinput-color bg-yellow"></span>
+      </label>
+    </div>
+    <div class="col-auto">
+      <label class="form-colorinput">
+        <input name="color" type="radio" value="lime" class="form-colorinput-input" />
+        <span class="form-colorinput-color bg-lime"></span>
+      </label>
+    </div>
+  </div>
+</div>
+```
+
+```html
+<label class="form-colorinput">
+  <input name="color" type="radio" value="lime" class="form-colorinput-input" />
+  <span class="form-colorinput-color bg-lime"></span>
+</label>
+```
+
+```html example centered
+<div class="mb-3">
+  <label class="form-label">Color Input</label>
+  <div class="row g-2">
+    <div class="col-auto">
+      <label class="form-colorinput">
+        <input name="color-rounded" type="radio" value="dark" class="form-colorinput-input" />
+        <span class="form-colorinput-color bg-dark rounded-circle"></span>
+      </label>
+    </div>
+    <div class="col-auto">
+      <label class="form-colorinput form-colorinput-light">
+        <input name="color-rounded" type="radio" value="white" class="form-colorinput-input" checked />
+        <span class="form-colorinput-color bg-white rounded-circle"></span>
+      </label>
+    </div>
+    <div class="col-auto">
+      <label class="form-colorinput">
+        <input name="color-rounded" type="radio" value="blue" class="form-colorinput-input" />
+        <span class="form-colorinput-color bg-blue rounded-circle"></span>
+      </label>
+    </div>
+    <div class="col-auto">
+      <label class="form-colorinput">
+        <input name="color-rounded" type="radio" value="azure" class="form-colorinput-input" />
+        <span class="form-colorinput-color bg-azure rounded-circle"></span>
+      </label>
+    </div>
+    <div class="col-auto">
+      <label class="form-colorinput">
+        <input name="color-rounded" type="radio" value="indigo" class="form-colorinput-input" />
+        <span class="form-colorinput-color bg-indigo rounded-circle"></span>
+      </label>
+    </div>
+    <div class="col-auto">
+      <label class="form-colorinput">
+        <input name="color-rounded" type="radio" value="purple" class="form-colorinput-input" />
+        <span class="form-colorinput-color bg-purple rounded-circle"></span>
+      </label>
+    </div>
+    <div class="col-auto">
+      <label class="form-colorinput">
+        <input name="color-rounded" type="radio" value="pink" class="form-colorinput-input" />
+        <span class="form-colorinput-color bg-pink rounded-circle"></span>
+      </label>
+    </div>
+    <div class="col-auto">
+      <label class="form-colorinput">
+        <input name="color-rounded" type="radio" value="red" class="form-colorinput-input" />
+        <span class="form-colorinput-color bg-red rounded-circle"></span>
+      </label>
+    </div>
+    <div class="col-auto">
+      <label class="form-colorinput">
+        <input name="color-rounded" type="radio" value="orange" class="form-colorinput-input" />
+        <span class="form-colorinput-color bg-orange rounded-circle"></span>
+      </label>
+    </div>
+    <div class="col-auto">
+      <label class="form-colorinput">
+        <input name="color-rounded" type="radio" value="yellow" class="form-colorinput-input" />
+        <span class="form-colorinput-color bg-yellow rounded-circle"></span>
+      </label>
+    </div>
+    <div class="col-auto">
+      <label class="form-colorinput">
+        <input name="color-rounded" type="radio" value="lime" class="form-colorinput-input" />
+        <span class="form-colorinput-color bg-lime rounded-circle"></span>
+      </label>
+    </div>
+  </div>
+</div>
+```
+
+```html
+<label class="form-colorinput">
+  <input name="color-rounded" type="radio" value="dark" class="form-colorinput-input" />
+  <span class="form-colorinput-color bg-dark rounded-circle"></span>
+</label>
+```
+
+## Input color picker
+
+Add an color picker to your form to let users customise it according to their preferences.
+
+```html example code centered
+<div class="mb-3">
+  <label class="form-label">Color picker</label>
+  <input type="color" class="form-control form-control-color" value="#206bc4" title="Choose your color">
+</div>
+```
+

+ 570 - 0
docs/forms/form-elements.mdx

@@ -0,0 +1,570 @@
+---
+title: Form elements
+description: Forms are one of the most important types of interaction with a website or app. Since their aim is to enable users to make a purchase, subscribe to a service or sign up to create an account, it's important to make sure they are easy to complete and help increase conversion rates. Use the available elements to create forms which are well-structured and user-friendly.
+bootstrapLink: components/forms/
+libs: nouislider
+---
+
+## Table of contents
+
+## Classic inputs
+
+Use classic, user-friendly inputs, label them appropriately and include input placeholders that will help users avoid confusion when completing a form.
+
+```html code example
+<div class="mb-3">
+  <label class="form-label">Text</label>
+  <input type="text" class="form-control" name="example-text-input" placeholder="Input placeholder" />
+</div>
+<div class="mb-3">
+  <label class="form-label">Password</label>
+  <input type="text" class="form-control" name="example-password-input" placeholder="Input placeholder" />
+</div>
+```
+
+## Form control rounded
+
+Use the ``form-control-rounded`` class if you prefer form controls with rounded corners.
+
+```html example
+<div class="mb-3">
+  <label class="form-label">Form control rounded</label>
+  <input type="text" class="form-control form-control-rounded mb-2" name="Form control rounded" placeholder="Text.." />
+  <div class="input-icon">
+    <input type="text" value="" class="form-control form-control-rounded" placeholder="Search…" />
+    <span class="input-icon-addon">
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <circle cx="10" cy="10" r="7" />
+        <line x1="21" y1="21" x2="15" y2="15" />
+      </svg>
+    </span>
+  </div>
+</div>
+```
+
+```html
+<div class="mb-3">
+  <label class="form-label">Form control rounded</label>
+  <input type="text" class="form-control form-control-rounded mb-2" name="Form control rounded" placeholder="Text.." />
+  <div class="input-icon">
+    <input type="text" value="" class="form-control form-control-rounded" placeholder="Search…" />
+    <span class="input-icon-addon">
+      <!-- SVG icon from http://tabler-icons.io/i/search -->
+      <svg>...</svg>
+    </span>
+  </div>
+</div>
+```
+
+## Form control flush
+
+You can remove borders from your form control by adding the ``form-control-flush`` class.
+
+```html code example
+<div class="mb-3">
+  <label class="form-label">Form control flush</label>
+  <input type="text" class="form-control form-control-flush" name="Form control flush" placeholder="Text.." />
+</div>
+```
+
+## Input with icon
+
+Add icons to your input controls to suggest users what they should enter or inform them of the current state of a form element.
+
+```html example
+<div class="mb-3">
+  <label class="form-label">Icon input</label>
+  <div class="input-icon mb-3">
+    <input type="text" value="" class="form-control" placeholder="Search…" />
+    <span class="input-icon-addon">
+
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <circle cx="10" cy="10" r="7" />
+        <line x1="21" y1="21" x2="15" y2="15" />
+      </svg>
+    </span>
+  </div>
+  <div class="input-icon mb-3">
+    <span class="input-icon-addon">
+
+      <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+        <circle cx="12" cy="7" r="4" />
+        <path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2" />
+      </svg>
+    </span>
+    <input type="text" value="" class="form-control" placeholder="Username" />
+  </div>
+</div>
+<div class="mb-3">
+  <label class="form-label">Loader input</label>
+  <div class="input-icon mb-3">
+    <input type="text" value="" class="form-control" placeholder="Loading…" />
+    <span class="input-icon-addon">
+      <div class="spinner-border spinner-border-sm text-muted" role="status"></div>
+    </span>
+  </div>
+  <div class="input-icon mb-3">
+    <span class="input-icon-addon">
+      <div class="spinner-border spinner-border-sm text-muted" role="status"></div>
+    </span>
+    <input type="text" value="" class="form-control" placeholder="Loading…" />
+  </div>
+</div>
+```
+
+```html
+<div class="mb-3">
+  <label class="form-label">Icon input</label>
+  <div class="input-icon mb-3">
+    <input type="text" value="" class="form-control" placeholder="Search…" />
+    <span class="input-icon-addon">
+      <!-- SVG icon from http://tabler-icons.io/i/search -->
+      <svg>...</svg>
+    </span>
+  </div>
+  <div class="input-icon mb-3">
+    <span class="input-icon-addon">
+      <!-- SVG icon from http://tabler-icons.io/i/user -->
+      <svg>...</svg>
+    </span>
+    <input type="text" value="" class="form-control" placeholder="Username" />
+  </div>
+</div>
+<div class="mb-3">
+  <label class="form-label">Loader input</label>
+  <div class="input-icon mb-3">
+    <input type="text" value="" class="form-control" placeholder="Loading…" />
+    <span class="input-icon-addon">
+      <div class="spinner-border spinner-border-sm text-muted" role="status"></div>
+    </span>
+  </div>
+  <div class="input-icon mb-3">
+    <span class="input-icon-addon">
+      <div class="spinner-border spinner-border-sm text-muted" role="status"></div>
+    </span>
+    <input type="text" value="" class="form-control" placeholder="Loading…" />
+  </div>
+</div>
+```
+
+## Separated inputs
+
+Include an additional element in your input section, such as a button which can be used to submit the information enetered in the input control.
+
+```html example
+<div class="mb-3">
+  <label class="form-label">Separated inputs</label>
+  <div class="row g-2">
+    <div class="col">
+      <input type="text" class="form-control" placeholder="Search for…" />
+    </div>
+    <div class="col-auto">
+      <a href="#" class="btn btn-icon" aria-label="Button">
+
+        <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+          <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+          <circle cx="10" cy="10" r="7" />
+          <line x1="21" y1="21" x2="15" y2="15" />
+        </svg>
+      </a>
+    </div>
+  </div>
+</div>
+```
+
+```html
+<div class="mb-3">
+  <label class="form-label">Separated inputs</label>
+  <div class="row g-2">
+    <div class="col">
+      <input type="text" class="form-control" placeholder="Search for…" />
+    </div>
+    <div class="col-auto">
+      <a href="#" class="btn btn-icon" aria-label="Button">
+        <!-- SVG icon from http://tabler-icons.io/i/search -->
+        <svg>...</svg>
+      </a>
+    </div>
+  </div>
+</div>
+```
+
+## Textarea and select
+
+Use a multi-line text input control to enable users to enter longer pieces of text. The control will automatically adjust to the length of the text entered.
+
+Add one of the available selects - either a dropdown or a multiple choice select - to let users choose from a predefined set of options.
+
+```html code example
+<div class="mb-3">
+  <label class="form-label">Textarea</label>
+  <textarea class="form-control" name="example-textarea" placeholder="Textarea placeholder"></textarea>
+</div>
+<div class="mb-3">
+  <div class="form-label">Select</div>
+  <select class="form-select">
+    <option value="1">One</option>
+    <option value="2">Two</option>
+    <option value="3">Three</option>
+  </select>
+</div>
+<div class="mb-3">
+  <div class="form-label">Select multiple</div>
+  <select class="form-select" multiple>
+    <option value="1">One</option>
+    <option value="2">Two</option>
+    <option value="3">Three</option>
+  </select>
+</div>
+```
+
+## Input size
+
+Choose the size of an input control that will go well with your form design. Apart from the default size, you can also use small and large input controls.
+
+```html code example
+<div class="mb-3">
+  <label class="form-label">Input sizing</label>
+  <input class="form-control form-control-lg mb-2" type="text" placeholder=".form-control-lg" />
+  <input class="form-control mb-2" type="text" placeholder="Default input" />
+  <input class="form-control form-control-sm" type="text" placeholder=".form-control-sm" />
+</div>
+```
+
+## Datalists
+
+Use the ``datalist`` element to add an autocomplete feature to your input control. The list of available options will display once a user starts to type and will make it quicker to complete form sections.
+
+```html exmaple
+<div class="mb-3">
+  <label class="form-label">Datalist example</label>
+  <input class="form-control" list="datalistOptions" placeholder="Type to search..." />
+  <datalist id="datalistOptions">
+    <option value="Aruba" />
+    <option value="Afghanistan" />
+    <option value="Angola" />
+    <option value="Anguilla" />
+    <option value="Albania" />
+    <option value="Andorra" />
+    <option value="United Arab Emirates" />
+    <option value="Argentina" />
+    <option value="Armenia" />
+    <option value="American Samoa" />
+  </datalist>
+</div>
+```
+
+## Toggle switches
+
+Use toggle switches for the elements of your form which require choosing between two opposing states.
+
+```
+<div class="mb-3">
+  <div class="form-label">Toggle switches</div>
+  <label class="form-check form-switch">
+    <input class="form-check-input" type="checkbox" checked />
+    <span class="form-check-label">Option 1</span>
+  </label>
+  <label class="form-check form-switch">
+    <input class="form-check-input" type="checkbox" />
+    <span class="form-check-label">Option 2</span>
+  </label>
+  <label class="form-check form-switch">
+    <input class="form-check-input" type="checkbox" />
+    <span class="form-check-label">Option 3</span>
+  </label>
+</div>
+<div class="mb-3">
+  <div class="form-label">Single switch</div>
+  <label class="form-check form-switch">
+    <input class="form-check-input" type="checkbox" />
+    <span class="form-check-label">I agree with terms and conditions</span>
+  </label>
+</div>
+```
+
+## Radios
+
+Use radio buttons for the parts of your form which require users to choose one option from a set of two or more mutually exclusive options.
+
+```
+<div class="mb-3">
+  <div class="form-label">Radios</div>
+  <div>
+    <label class="form-check">
+      <input class="form-check-input" type="radio" name="radios" checked />
+      <span class="form-check-label">Option 1</span>
+    </label>
+    <label class="form-check">
+      <input class="form-check-input" type="radio" name="radios" />
+      <span class="form-check-label">Option 2</span>
+    </label>
+    <label class="form-check">
+      <input class="form-check-input" type="radio" disabled />
+      <span class="form-check-label">Option 3</span>
+    </label>
+    <label class="form-check">
+      <input class="form-check-input" type="radio" checked disabled />
+      <span class="form-check-label">Option 4</span>
+    </label>
+  </div>
+</div>
+<div class="mb-3">
+  <div class="form-label">Inline Radios</div>
+  <div>
+    <label class="form-check form-check-inline">
+      <input class="form-check-input" type="radio" name="radios-inline" checked />
+      <span class="form-check-label">Option 1</span>
+    </label>
+    <label class="form-check form-check-inline">
+      <input class="form-check-input" type="radio" name="radios-inline" />
+      <span class="form-check-label">Option 2</span>
+    </label>
+    <label class="form-check form-check-inline">
+      <input class="form-check-input" type="radio" name="radios-inline" disabled />
+      <span class="form-check-label">Option 3</span>
+    </label>
+  </div>
+</div>
+```
+
+## Checkboxes
+
+Use checkoxes if you want to allow users to select more than one option from a set of predefined options or to turn an option on or off.
+
+```
+<div class="mb-3">
+  <div class="form-label">Checkboxes</div>
+  <div>
+    <label class="form-check">
+      <input class="form-check-input" type="checkbox" />
+      <span class="form-check-label">Checkbox input</span>
+    </label>
+    <label class="form-check">
+      <input class="form-check-input" type="checkbox" disabled />
+      <span class="form-check-label">Disabled checkbox input</span>
+    </label>
+    <label class="form-check">
+      <input class="form-check-input" type="checkbox" checked />
+      <span class="form-check-label">Checked checkbox input</span>
+    </label>
+  </div>
+</div>
+<div class="mb-3">
+  <div class="form-label">Inline Checkboxes</div>
+  <div>
+    <label class="form-check form-check-inline">
+      <input class="form-check-input" type="checkbox" />
+      <span class="form-check-label">Option 1</span>
+    </label>
+    <label class="form-check form-check-inline">
+      <input class="form-check-input" type="checkbox" disabled />
+      <span class="form-check-label">Option 2</span>
+    </label>
+    <label class="form-check form-check-inline">
+      <input class="form-check-input" type="checkbox" checked />
+      <span class="form-check-label">Option 3</span>
+    </label>
+  </div>
+</div>
+```
+
+## Range input
+
+Add a range slider to make it possible for users to set a value or range, such as a price range or a time frame.
+
+```
+<div class="mb-3">
+  <label class="form-label">Range input</label>
+  <input type="range" class="form-range mb-2" value="40" min="0" max="100" step="10" />
+  <div class="form-range mb-2" id="range-simple"></div>
+  <div class="form-range mb-2" id="range-connect"></div>
+  <div class="form-range mb-2 text-green" id="range-color"></div>
+</div>
+<script>
+  document.addEventListener("DOMContentLoaded", function () {
+  	 window.noUiSlider && (noUiSlider.create(document.getElementById('range-color'), {
+  			  start: 40,
+  			  connect: [true, false],
+  			  step: 10,
+  			  range: {
+  				  min: 0,
+  				  max: 100
+  			  }
+  	 }));
+  });
+</script>
+```
+
+## Input group
+
+Create a group of input controls and place add-ons on either side of an input.
+
+```html code example
+<div class="mb-3">
+  <label class="form-label">Input group</label>
+  <div class="input-group mb-2">
+    <span class="input-group-text">
+      @
+    </span>
+    <input type="text" class="form-control" placeholder="username" autocomplete="off" />
+  </div>
+  <div class="input-group mb-2">
+    <input type="text" class="form-control" placeholder="subdomain" autocomplete="off" />
+    <span class="input-group-text">
+      .tabler.io
+    </span>
+  </div>
+  <div class="input-group">
+    <span class="input-group-text">
+      https://
+    </span>
+    <input type="text" class="form-control" placeholder="subdomain" autocomplete="off" />
+    <span class="input-group-text">
+      .tabler.io
+    </span>
+  </div>
+</div>
+```
+
+## Input with checkboxes or radios
+
+Add checkboxes or radio buttons on either side of your input control.
+
+```html code example
+<div class="mb-3">
+  <label class="form-label">Input with checkbox or radios</label>
+  <div class="input-group mb-2">
+    <span class="input-group-text">
+      <input class="form-check-input m-0" type="checkbox" checked />
+    </span>
+    <input type="text" class="form-control" autocomplete="off" />
+  </div>
+  <div class="input-group">
+    <input type="text" class="form-control" autocomplete="off" />
+    <span class="input-group-text">
+      <input class="form-check-input m-0" type="radio" checked />
+    </span>
+  </div>
+</div>
+```
+
+## Input with prepended or appended text
+
+Add text to your input control, either before or after the text which is to be entered by a user.
+
+```html code example
+<div class="mb-3">
+  <label class="form-label">Input with prepended text</label>
+  <div class="input-group input-group-flat mb-2">
+    <span class="input-group-text">
+      https://tabler.io/users/
+    </span>
+    <input type="text" class="form-control ps-0" value="yourfancyusername" autocomplete="off" />
+  </div>
+  <div class="input-group input-group-flat">
+    <input type="text" class="form-control text-end pe-0" value="yourfancydomain" autocomplete="off" />
+    <span class="input-group-text">
+      .tabler.io
+    </span>
+  </div>
+</div>
+```
+
+## Input with appended link
+
+Include a link in your input control to add a clickable element within the control.
+
+```html code example
+<div class="mb-3">
+  <label class="form-label">Input with appended link</label>
+  <div class="input-group input-group-flat">
+    <input type="password" class="form-control" value="ultrastrongpassword" autocomplete="off" />
+    <span class="input-group-text">
+      <a href="#" class="input-group-link">Show password</a>
+    </span>
+  </div>
+</div>
+```
+
+## Input with appended `<kbd>`
+
+Include a `<kbd>` in your input control to add shortcut to the control.
+
+```html code example
+<div class="mb-3">
+  <label class="form-label">Input with appended link</label>
+  <div class="input-group input-group-flat">
+    <input type="password" class="form-control" value="ultrastrongpassword" autocomplete="off" />
+    <span class="input-group-text">
+      <kbd>ctrl + K</kbd>
+    </span>
+  </div>
+</div>
+```
+
+## Input with appended icon links
+
+Add an icon link which you want to display at the end of your input control to visually represent actions which a user can take.
+
+```html example
+<div class="mb-3">
+  <label class="form-label">Input with appended icon links</label>
+  <div class="input-group input-group-flat">
+    <input type="text" class="form-control" autocomplete="off" />
+    <span class="input-group-text">
+      <a href="#" class="link-secondary" title="Clear search" data-bs-toggle="tooltip">
+        <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+          <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+          <line x1="18" y1="6" x2="6" y2="18" />
+          <line x1="6" y1="6" x2="18" y2="18" />
+        </svg>
+      </a>
+      <a href="#" class="link-secondary ms-2" title="Search settings" data-bs-toggle="tooltip">
+        <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+          <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+          <circle cx="6" cy="10" r="2" />
+          <line x1="6" y1="4" x2="6" y2="8" />
+          <line x1="6" y1="12" x2="6" y2="20" />
+          <circle cx="12" cy="16" r="2" />
+          <line x1="12" y1="4" x2="12" y2="14" />
+          <line x1="12" y1="18" x2="12" y2="20" />
+          <circle cx="18" cy="7" r="2" />
+          <line x1="18" y1="4" x2="18" y2="5" />
+          <line x1="18" y1="9" x2="18" y2="20" />
+        </svg>
+      </a>
+      <a href="#" class="link-secondary ms-2 disabled" title="Add notification" data-bs-toggle="tooltip">
+        <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+          <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+          <path d="M10 5a2 2 0 0 1 4 0a7 7 0 0 1 4 6v3a4 4 0 0 0 2 3h-16a4 4 0 0 0 2 -3v-3a7 7 0 0 1 4 -6" />
+          <path d="M9 17v1a3 3 0 0 0 6 0v-1" />
+        </svg>
+      </a>
+    </span>
+  </div>
+</div>
+```
+
+```html
+<div class="mb-3">
+  <label class="form-label">Input with appended icon links</label>
+  <div class="input-group input-group-flat">
+    <input type="text" class="form-control" autocomplete="off" />
+    <span class="input-group-text">
+      <a href="#" class="link-secondary" title="Clear search" data-bs-toggle="tooltip"><!-- SVG icon from http://tabler-icons.io/i/x -->
+        <svg>...</svg>
+      </a>
+      <a href="#" class="link-secondary ms-2" title="Search settings" data-bs-toggle="tooltip"><!-- SVG icon from http://tabler-icons.io/i/adjustments -->
+        <svg>...</svg>
+      </a>
+      <a href="#" class="link-secondary ms-2 disabled" title="Add notification" data-bs-toggle="tooltip"><!-- SVG icon from http://tabler-icons.io/i/bell -->
+        <svg>...</svg>
+      </a>
+    </span>
+  </div>
+</div>
+```

+ 44 - 0
docs/forms/form-fieldset.mdx

@@ -0,0 +1,44 @@
+---
+title: Form fieldset
+description: By grouping form elements together with the fieldset element, you can improve the organization and accessibility of your forms, making it easier for users to understand the purpose of each input and provide accurate information.
+---
+
+## Default markup
+
+Group parts of your form to make it well-structured and clearer for users, using the ``fieldset`` element.
+
+```html example centered columns="1" height="470" background="white"
+<fieldset class="form-fieldset">
+  <div class="mb-3">
+    <label class="form-label required">Full name</label>
+    <input type="text" class="form-control" autocomplete="off" />
+  </div>
+  <div class="mb-3">
+    <label class="form-label required">Company</label>
+    <input type="text" class="form-control" autocomplete="off" />
+  </div>
+  <div class="mb-3">
+    <label class="form-label required">Email</label>
+    <input type="email" class="form-control" autocomplete="off" />
+  </div>
+  <div class="mb-3">
+    <label class="form-label">Phone number</label>
+    <input type="tel" class="form-control" autocomplete="off" />
+  </div>
+  <label class="form-check">
+    <input type="checkbox" class="form-check-input" />
+    <span class="form-check-label required">I agree to the Terms & Conditions</span>
+  </label>
+</fieldset>
+```
+
+```html
+<fieldset class="form-fieldset">
+  ...
+  <div class="mb-3">
+    <label class="form-label required">Company</label>
+    <input type="text" class="form-control" autocomplete="off"/>
+  </div>
+  ...
+</fieldset>
+```

+ 4 - 7
src/pages/_docs/form-helpers.md → docs/forms/form-helpers.mdx

@@ -1,15 +1,12 @@
 ---
 title: Form helpers
-description: A form helper can be used to provide users with additional information about the elements of a form that may be unclear. 
-menu: help.docs.forms.form-helpers
+description: A form helper can be used to provide users with additional information about the elements of a form that may be unclear.
 ---
 
-
 ## Input help
 
-Use an input helper to display additional information about a form element. The text label will appear once a user hovers over the helper. 
+Use an input helper to display additional information about a form element. The text label will appear once a user hovers over the helper.
 
-{% capture code %}
+```html example code centered
 <span class="form-help" data-bs-toggle="popover" data-bs-placement="top" data-bs-html="true" data-bs-content="<p>ZIP Code must be US or CDN format. You can use an extended ZIP+4 code to determine address more accurately.</p><p class='mb-0'><a href=''>USP ZIP codes lookup tools</a></p>">?</span>
-{% endcapture %}
-{% include example.html code=code %}
+```

+ 162 - 0
docs/forms/form-image-check.mdx

@@ -0,0 +1,162 @@
+---
+title: Image check
+---
+
+Add an image check to your form and give users visually attractive options to choose from.
+
+```html example centered columns="2" height="15rem"
+<div class="mb-3">
+  <label class="form-label">Image Check</label>
+  <div class="row g-2">
+    <div class="col-3">
+      <label class="form-imagecheck">
+        <input name="form-imagecheck" type="checkbox" value="1" class="form-imagecheck-input" />
+        <span class="form-imagecheck-figure">
+          <img src="/samples/photos/everything-you-need-to-work-from-your-bed-2.jpg" alt="" class="form-imagecheck-image" />
+        </span>
+      </label>
+    </div>
+    <div class="col-3">
+      <label class="form-imagecheck">
+        <input name="form-imagecheck" type="checkbox" value="2" class="form-imagecheck-input" checked />
+        <span class="form-imagecheck-figure">
+          <img src="/samples/photos/color-palette-guide-sample-colors-catalog-.jpg" alt="" class="form-imagecheck-image" />
+        </span>
+      </label>
+    </div>
+    <div class="col-3">
+      <label class="form-imagecheck">
+        <input name="form-imagecheck" type="checkbox" value="3" class="form-imagecheck-input" />
+        <span class="form-imagecheck-figure">
+          <img src="/samples/photos/woman-read-book-and-drink-coffee-2.jpg" alt="" class="form-imagecheck-image" />
+        </span>
+      </label>
+    </div>
+    <div class="col-3">
+      <label class="form-imagecheck">
+        <input name="form-imagecheck" type="checkbox" value="4" class="form-imagecheck-input" checked />
+        <span class="form-imagecheck-figure">
+          <img src="/samples/photos/stylish-workspace-with-macbook-pro-2.jpg" alt="" class="form-imagecheck-image" />
+        </span>
+      </label>
+    </div>
+  </div>
+</div>
+```
+
+```html
+<label class="form-imagecheck">
+  <input name="" type="checkbox" value="" class="form-imagecheck-input" checked />
+  <span class="form-imagecheck-figure">
+    <img src="..." alt="" class="form-imagecheck-image" />
+  </span>
+</label>
+```
+
+```html example centered columns="2" height="15rem"
+<div class="mb-3">
+  <label class="form-label">Image Check Radio</label>
+  <div class="row g-2">
+    <div class="col-3">
+      <label class="form-imagecheck mb-2">
+        <input name="form-imagecheck-radio" type="radio" value="1" class="form-imagecheck-input" />
+        <span class="form-imagecheck-figure">
+          <img src="/samples/photos/woman-drinking-hot-tea-in-her-home-office.jpg" alt="" class="form-imagecheck-image" />
+        </span>
+      </label>
+    </div>
+    <div class="col-3">
+      <label class="form-imagecheck mb-2">
+        <input name="form-imagecheck-radio" type="radio" value="2" class="form-imagecheck-input" checked />
+        <span class="form-imagecheck-figure">
+          <img src="/samples/photos/young-woman-sitting-on-the-sofa-and-working-on-her-laptop-3.jpg" alt="" class="form-imagecheck-image" />
+        </span>
+      </label>
+    </div>
+    <div class="col-3">
+      <label class="form-imagecheck mb-2">
+        <input name="form-imagecheck-radio" type="radio" value="3" class="form-imagecheck-input" />
+        <span class="form-imagecheck-figure">
+          <img src="/samples/photos/beautiful-blonde-woman-relaxing-with-a-can-of-coke-on-a-tree-stump-by-the-beach.jpg" alt="" class="form-imagecheck-image" />
+        </span>
+      </label>
+    </div>
+    <div class="col-3">
+      <label class="form-imagecheck mb-2">
+        <input name="form-imagecheck-radio" type="radio" value="4" class="form-imagecheck-input" checked />
+        <span class="form-imagecheck-figure">
+          <img src="/samples/photos/book-on-the-grass.jpg" alt="" class="form-imagecheck-image" />
+        </span>
+      </label>
+    </div>
+  </div>
+</div>
+```
+
+```html
+<label class="form-imagecheck">
+  <input name="form-imagecheck-radio" type="radio" value="1" class="form-imagecheck-input" />
+  <span class="form-imagecheck-figure">
+    <img src="/samples/photos/woman-drinking-hot-tea-in-her-home-office.jpg" alt="" class="form-imagecheck-image" />
+  </span>
+</label>
+```
+
+```html example centered columns="1" height="15rem"
+<div class="mb-3">
+  <label class="form-label">Person Check</label>
+  <div class="row g-2">
+    <div class="col-auto">
+      <label class="form-imagecheck mb-2">
+        <input name="form-imagecheck" type="checkbox" value="1" class="form-imagecheck-input" />
+        <span class="form-imagecheck-figure">
+          <span class="form-imagecheck-image">
+            <span class="avatar avatar-md" style="background-image: url(/samples/avatars/057f.jpg)"></span>
+          </span>
+        </span>
+      </label>
+    </div>
+    <div class="col-auto">
+      <label class="form-imagecheck mb-2">
+        <input name="form-imagecheck" type="checkbox" value="2" class="form-imagecheck-input" checked />
+        <span class="form-imagecheck-figure">
+          <span class="form-imagecheck-image">
+            <span class="avatar avatar-md">HS</span>
+          </span>
+        </span>
+      </label>
+    </div>
+    <div class="col-auto">
+      <label class="form-imagecheck mb-2">
+        <input name="form-imagecheck" type="checkbox" value="3" class="form-imagecheck-input" />
+        <span class="form-imagecheck-figure">
+          <span class="form-imagecheck-image">
+            <span class="avatar avatar-md" style="background-image: url(/samples/avatars/062m.jpg)"></span>
+          </span>
+        </span>
+      </label>
+    </div>
+    <div class="col-auto">
+      <label class="form-imagecheck mb-2">
+        <input name="form-imagecheck" type="checkbox" value="4" class="form-imagecheck-input" checked />
+        <span class="form-imagecheck-figure">
+          <span class="form-imagecheck-image">
+            <span class="avatar avatar-md" style="background-image: url(/samples/avatars/070m.jpg)"></span>
+          </span>
+        </span>
+      </label>
+    </div>
+  </div>
+</div>
+```
+
+```html
+<label class="form-imagecheck">
+  <input name="" type="checkbox" value="" class="form-imagecheck-input" />
+  <span class="form-imagecheck-figure">
+    <span class="form-imagecheck-image">
+      <span class="avatar avatar-md" style="background-image: url(...)"></span>
+    </span>
+  </span>
+</label>
+```

+ 7 - 6
src/pages/_docs/input-mask.md → docs/forms/form-input-mask.mdx

@@ -1,17 +1,18 @@
 ---
 title: Input mask
 description: An input mask is a used to clarify the input format required in a given field and is helpful for users, removing confusion and reducing the number of validation errors.
-menu: help.docs.plugins.input-mask
 ---
 
-To be able to use the input mask in your application you will need to install the imask dependency with `npm install imask`.
+<Callout>
+  To be able to use the input mask in your application you will need to install the imask dependency with `npm install imask`.
+</Callout>
 
 ## Default markup
 
 Use an input mask in the fields where users have to enter their phone number, to make the formatting rules clear and help them avoid confusion.
 
-{% capture code %}
+```html example code centered columns={1}
 <label class="form-label">Telephone mask</label>
-{% include ui/form/input-mask.html mask="(00) 0000-0000" placeholder="(00) 0000-0000" visible=true %}
-{% endcapture %}
-{% include example.html code=code %}
+<input type="text" name="input-mask" class="form-control" data-mask="(00) 0000-0000" data-mask-visible="true" placeholder="(00) 0000-0000" autocomplete="off" />
+```
+

+ 303 - 0
docs/forms/form-selectboxes.mdx

@@ -0,0 +1,303 @@
+---
+title: Form selectboxes
+---
+
+Add selectboxes to make your form more intuitive by providing users with a set of options to choose from. You can add simple selectboxes with a label, use icons only or icons with labels. Alternatively, you can use pill selectboxes if they go well with your design.
+
+```html example
+<div class="mb-3">
+  <label class="form-label">Simple selectgroup</label>
+  <div class="form-selectgroup">
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="HTML" class="form-selectgroup-input" checked />
+      <span class="form-selectgroup-label">HTML</span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="CSS" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label">CSS</span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="PHP" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label">PHP</span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="JavaScript" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label">JavaScript</span>
+    </label>
+  </div>
+</div>
+<div class="mb-3">
+  <label class="form-label">Icon input</label>
+  <div class="form-selectgroup">
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="sun" class="form-selectgroup-input" checked />
+      <span class="form-selectgroup-label">
+        <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+          <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+          <circle cx="12" cy="12" r="4" />
+          <path d="M3 12h1m8 -9v1m8 8h1m-9 8v1m-6.4 -15.4l.7 .7m12.1 -.7l-.7 .7m0 11.4l.7 .7m-12.1 -.7l-.7 .7" />
+        </svg>
+      </span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="moon" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label">
+        <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+          <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+          <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+        </svg>
+      </span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="cloud-rain" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label">
+        <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+          <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+          <path d="M7 18a4.6 4.4 0 0 1 0 -9a5 4.5 0 0 1 11 2h1a3.5 3.5 0 0 1 0 7" />
+          <path d="M11 13v2m0 3v2m4 -5v2m0 3v2" />
+        </svg>
+      </span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="cloud" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label">
+        <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+          <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+          <path d="M6.657 18c-2.572 0 -4.657 -2.007 -4.657 -4.483c0 -2.475 2.085 -4.482 4.657 -4.482c.393 -1.762 1.794 -3.2 3.675 -3.773c1.88 -.572 3.956 -.193 5.444 .996c1.488 1.19 2.162 3.007 1.77 4.769h.99c1.913 0 3.464 1.56 3.464 3.486c0 1.927 -1.551 3.487 -3.465 3.487h-11.878" />
+        </svg>
+      </span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="Other" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label">Other</span>
+    </label>
+  </div>
+</div>
+<div class="mb-3">
+  <label class="form-label">Selectgroup with icons and text</label>
+  <div class="form-selectgroup">
+    <label class="form-selectgroup-item">
+      <input type="radio" name="icons" value="home" class="form-selectgroup-input" checked />
+      <span class="form-selectgroup-label"><svg xmlns="http://www.w3.org/2000/svg" class="icon me-1" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+          <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+          <polyline points="5 12 3 12 12 3 21 12 19 12" />
+          <path d="M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-7" />
+          <path d="M9 21v-6a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v6" />
+        </svg> Home</span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="radio" name="icons" value="user" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label"><svg xmlns="http://www.w3.org/2000/svg" class="icon me-1" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+          <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+          <circle cx="12" cy="7" r="4" />
+          <path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2" />
+        </svg> User</span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="radio" name="icons" value="circle" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label"><svg xmlns="http://www.w3.org/2000/svg" class="icon me-1" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+          <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+          <circle cx="12" cy="12" r="9" />
+        </svg> Circle</span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="radio" name="icons" value="square" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label"><svg xmlns="http://www.w3.org/2000/svg" class="icon me-1" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+          <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+          <rect x="4" y="4" width="16" height="16" rx="2" />
+        </svg> Square</span>
+    </label>
+  </div>
+</div>
+<div class="mb-3">
+  <label class="form-label">Different style</label>
+  <div class="form-selectgroup form-selectgroup-pills">
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="HTML" class="form-selectgroup-input" checked />
+      <span class="form-selectgroup-label">HTML</span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="CSS" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label">CSS</span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="PHP" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label">PHP</span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="JavaScript" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label">JavaScript</span>
+    </label>
+  </div>
+</div>
+```
+
+```html
+<div class="mb-3">
+  <label class="form-label">Simple selectgroup</label>
+  <div class="form-selectgroup">
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="HTML" class="form-selectgroup-input" checked />
+      <span class="form-selectgroup-label">HTML</span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="CSS" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label">CSS</span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="PHP" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label">PHP</span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="JavaScript" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label">JavaScript</span>
+    </label>
+  </div>
+</div>
+<div class="mb-3">
+  <label class="form-label">Icon input</label>
+  <div class="form-selectgroup">
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="sun" class="form-selectgroup-input" checked />
+      <span class="form-selectgroup-label"><!-- SVG icon from http://tabler-icons.io/i/sun -->
+        <svg>...</svg>
+      </span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="moon" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label"><!-- SVG icon from http://tabler-icons.io/i/moon -->
+        <svg>...</svg>
+      </span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="cloud-rain" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label"><!-- SVG icon from http://tabler-icons.io/i/cloud-rain -->
+        <svg>...</svg>
+      </span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="cloud" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label"><!-- SVG icon from http://tabler-icons.io/i/cloud -->
+        <svg>...</svg>
+      </span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="Other" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label">Other</span>
+    </label>
+  </div>
+</div>
+<div class="mb-3">
+  <label class="form-label">Selectgroup with icons and text</label>
+  <div class="form-selectgroup">
+    <label class="form-selectgroup-item">
+      <input type="radio" name="icons" value="home" class="form-selectgroup-input" checked />
+      <span class="form-selectgroup-label"><!-- SVG icon from http://tabler-icons.io/i/home -->
+        <svg>...</svg>
+        Home</span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="radio" name="icons" value="user" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label"><!-- SVG icon from http://tabler-icons.io/i/user -->
+        <svg>...</svg>
+        User</span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="radio" name="icons" value="circle" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label"><!-- SVG icon from http://tabler-icons.io/i/circle -->
+        <svg>...</svg>
+        Circle</span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="radio" name="icons" value="square" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label"><!-- SVG icon from http://tabler-icons.io/i/square -->
+        <svg>...</svg>
+        Square</span>
+    </label>
+  </div>
+</div>
+<div class="mb-3">
+  <label class="form-label">Different style</label>
+  <div class="form-selectgroup form-selectgroup-pills">
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="HTML" class="form-selectgroup-input" checked />
+      <span class="form-selectgroup-label">HTML</span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="CSS" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label">CSS</span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="PHP" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label">PHP</span>
+    </label>
+    <label class="form-selectgroup-item">
+      <input type="checkbox" name="name" value="JavaScript" class="form-selectgroup-input" />
+      <span class="form-selectgroup-label">JavaScript</span>
+    </label>
+  </div>
+</div>
+```
+
+## Advanced selectboxes
+
+Use more advanced selectboxes to display the range of available options. You can choose selectboxes with radio buttons, if you want users to select only one option or with checkboxes, if they are allowed to choose multiple options.
+
+```html example height="300" centered columns="1" plugins="payments"
+<div class="mb-3">
+  <label class="form-label">Payment method</label>
+  <div class="form-selectgroup form-selectgroup-boxes d-flex flex-column">
+    <label class="form-selectgroup-item flex-fill">
+      <input type="radio" name="form-payment" value="visa" class="form-selectgroup-input" />
+      <div class="form-selectgroup-label d-flex align-items-center p-3">
+        <div class="me-3">
+          <span class="form-selectgroup-check"></span>
+        </div>
+        <div>
+          <span class="payment payment-provider-visa payment-xs me-2"></span>
+          ending in <strong>7998</strong>
+        </div>
+      </div>
+    </label>
+    <label class="form-selectgroup-item flex-fill">
+      <input type="radio" name="form-payment" value="mastercard" class="form-selectgroup-input" checked />
+      <div class="form-selectgroup-label d-flex align-items-center p-3">
+        <div class="me-3">
+          <span class="form-selectgroup-check"></span>
+        </div>
+        <div>
+          <span class="payment payment-provider-mastercard payment-xs me-2"></span>
+          ending in <strong>2807</strong>
+        </div>
+      </div>
+    </label>
+    <label class="form-selectgroup-item flex-fill">
+      <input type="radio" name="form-payment" value="paypal" class="form-selectgroup-input" />
+      <div class="form-selectgroup-label d-flex align-items-center p-3">
+        <div class="me-3">
+          <span class="form-selectgroup-check"></span>
+        </div>
+        <div>
+          <span class="payment payment-provider-paypal payment-xs me-2"></span>
+        </div>
+      </div>
+    </label>
+  </div>
+</div>
+```
+
+```html
+<label class="form-selectgroup-item flex-fill">
+  <input type="radio" name="form-payment" value="mastercard" class="form-selectgroup-input" checked />
+  <div class="form-selectgroup-label d-flex align-items-center p-3">
+    <div class="me-3">
+      <span class="form-selectgroup-check"></span>
+    </div>
+    <div>
+      <span class="payment payment-provider-mastercard payment-xs me-2"></span>
+      ending in <strong>2807</strong>
+    </div>
+  </div>
+</label>
+```
+

+ 25 - 0
docs/forms/form-validation.mdx

@@ -0,0 +1,25 @@
+---
+title: Validation states
+description: To inform users whether the entered value is correct or not, use either of the validation states. Thanks to that, users will immediately know which form elements they need to correct and, if the state displays as invalid, why the value is incorrect.
+---
+
+```html example code centered columns="1"
+<div class="mb-3">
+  <label class="form-label">Validation States </label>
+  <input type="text" class="form-control is-valid mb-2" placeholder="Valid State..." />
+  <input type="text" class="form-control is-invalid" placeholder="Invalid State..." />
+  <div class="invalid-feedback">Invalid feedback</div>
+</div>
+```
+
+## Subtle validation states
+
+If you prefer a more subtle manner of informing users of the input control validation state, you can use tick and cross symbols and resign from colored control frames and the validation feedback.
+
+```html example code centered columns="1"
+<div class="mb-3">
+  <label class="form-label">Validation States (lite)</label>
+  <input type="text" class="form-control is-valid is-valid-lite mb-2" placeholder="Valid State..." />
+  <input type="text" class="form-control is-invalid is-invalid-lite" placeholder="Invalid State..." />
+</div>
+```

+ 20 - 0
docs/getting-started/browser-support.mdx

@@ -0,0 +1,20 @@
+---
+title: Browser Support
+---
+
+As of this latest release, Tabler has launched many new features that may not be compatible with all browsers, especially older ones.
+
+For instance, Tabler no longer uses **vendor prefixes** in styles that are known to have some compatibility issues except for a few parts. Tabler also supports new features such as **CSS grid**, **object fit**, and **sticky positioning** which is not yet supported on all browsers. In short, Tabler supports all the latest supported browsers with **only** partial support for Internet Explorer.
+
+## Supported Browsers
+
+Browser|Version
+---|----------
+<img src="/docs/browsers/edge.svg" width="48" height="48" alt=""/>|last 3 versions
+<img src="/docs/browsers/firefox.svg" width="48" height="48" alt=""/>|last 3 versions, ESR
+<img src="/docs/browsers/chrome.svg" width="48" height="48" alt=""/>|last 3 versions
+<img src="/docs/browsers/safari.svg" width="48" height="48" alt=""/>|last 3 versions
+<img src="/docs/browsers/opera.svg" width="48" height="48" alt=""/>|last 3 versions
+<img src="/docs/browsers/electron.svg" width="48" height="48" alt=""/>|last 3 versions
+<img src="/docs/browsers/brave.svg" width="48" height="48" alt=""/>|last 3 versions
+<img src="/docs/browsers/vivaldi.svg" width="48" height="48" alt=""/>|last 3 versions

+ 1 - 2
src/pages/_docs/customize.md → docs/getting-started/customize.mdx

@@ -1,5 +1,4 @@
 ---
-menu: help.docs.content.customize
 title: Customize Tabler
 description: Tabler has been designed so that it can be adjusted to your needs and requirements as much as possible. You can customize your own fonts, colors, font sizes, etc in it.
 ---
@@ -22,4 +21,4 @@ Now you just need to tell Tabler to use your favorite font:
   --tblr-font-sans-serif: 'Inter';
 }
 </style>
-```
+```

+ 9 - 13
src/pages/_docs/download.md → docs/getting-started/download.mdx

@@ -1,27 +1,23 @@
 ---
 title: Download
-menu: help.docs.base.download
 description: Download Tabler to get the compiled CSS and JavaScript, source code, or include it with your favorite package managers like npm, yarn and more.
 ---
 
-
 ## CDN via jsDelivr
 
-All files included in `{{ site.npm-package }}` npm package are available over a jsDelivr CDN. Use it to deliver cached version of Tabler’s compiled CSS and JS to your project.
+All files included in `@tabler/core` npm package are available over a jsDelivr CDN. Use it to deliver cached version of Tabler’s compiled CSS and JS to your project.
 
 ```html
-<script src="https://cdn.jsdelivr.net/npm/{{ site.npm-package }}@{{ site.data.package.version }}/dist/js/tabler.min.js"></script>
-<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/{{ site.npm-package }}@{{ site.data.package.version }}/dist/css/tabler.min.css">
+<script src="$TABLER_CDN/dist/js/tabler.min.js"></script>
+<link rel="stylesheet" href="$TABLER_CDN/dist/css/tabler.min.css">
 ```
 
 You can also include additional Tabler plugins:
 
 ```html
-{% removeemptylines %}
-{% for plugin in site.tabler-css-plugins %}
-<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/{{ site.npm-package }}@{{ site.data.package.version }}/dist/css/{{ plugin }}.min.css">
-{% endfor %}
-{% endremoveemptylines %}
+<link rel="stylesheet" href="$TABLER_CDN/dist/css/tabler-flags.min.css">
+<link rel="stylesheet" href="$TABLER_CDN/dist/css/tabler-payments.min.css">
+<link rel="stylesheet" href="$TABLER_CDN/dist/css/tabler-vendors.min.css">
 ```
 
 ## Package managers
@@ -29,10 +25,10 @@ You can also include additional Tabler plugins:
 Install Tabler in your Node.js powered apps with the npm package:
 
 ```
-npm install {{ site.npm-package }}
+npm install @tabler/core
 ```
 
-Tabler uses other packages to enhance the functionality for example charts and input masks. These are not automatically installed to avoid huge 
+Tabler uses other packages to enhance the functionality for example charts and input masks. These are not automatically installed to avoid huge
 dependency trees and need to be installed by using npm install. We support the following packages as of writing.
 
 - [apexcharts](https://apexcharts.com/)
@@ -45,4 +41,4 @@ dependency trees and need to be installed by using npm install. We support the f
 - [nouislider](https://refreshless.com/nouislider/)
 - [tom-select](https://tom-select.js.org/)
 
-For the complete list of supported packages you can check the peerDependencies section in our [package.json]({{ site.github-url }}/blob/dev/package.json)
+For the complete list of supported packages you can check the peerDependencies section in our [package.json](https://github.com/tabler/tabler/blob/dev/package.json)

+ 23 - 0
docs/getting-started/faq.mdx

@@ -0,0 +1,23 @@
+---
+title: FAQ
+description: Answers to the most frequently asked questions.
+---
+
+## Table of contents
+
+## I found an issue, what can I do?
+
+If you think you have found an issue that can only be fixed by the maintainers, feel free to open an issue on [GitHub](https://github.com/tabler/tabler).
+
+## Will there be a version for Vue or React?
+
+We are evaluating adding support for Vue 3 and React to all of our components, but it is not a top priority at the moment.
+
+## Can I use Tabler in open source projects?
+
+Yes, absolutely.
+
+## Can I use Tabler in commercial projects?
+
+Yes. You can read about our license here: [License](/license)
+

+ 9 - 4
src/pages/_docs/getting-started.md → docs/getting-started/index.mdx

@@ -1,12 +1,18 @@
 ---
-title: Getting started
-menu: help.docs.base.getting-started
+title: Introduction
+description: Free and open-source HTML Dashboard UI Kit built on Bootstrap
 ---
 
+## What is Tabler?
+
+Tabler is fully responsive and compatible with all modern browsers. Thanks to its modern and user-friendly design you can create a fully functional interface that users will love! Choose the layouts and components you need and customize them to make your design consistent and eye-catching. Every component has been created with attention to detail to make your interface beautiful!
+
 ## What are the benefits?
 
 Tabler is a perfect solution if you want to create an interface which is not only user-friendly but also fully responsive. Thanks to the big choice of ready-made components, you can customize your design and adapt it to the needs of even the most demanding users. On top of that, Tabler is an open source solution, continuously developed and improved by the open source community.
 
+![](https://raw.githubusercontent.com/tabler/tabler/dev/src/static/tabler-preview.png)
+
 ## Set up the environment
 
 To use our build system and run our documentation locally, you'll need a copy of Tabler's source files. Follow the steps below:
@@ -29,7 +35,6 @@ Once you've completed the setup, you'll be able to run the various commands prov
 2. Open [http://localhost:3000](http://localhost:3000) in your browser, and voilà.
 3. Any change in `/src` directory will build the application and refresh the page.
 
-
 ## Bugs and feature requests
 
-Found a bug or have a feature request? [Please open a new issue](https://github.com/tabler/tabler/issues/new).
+Found a bug or have a feature request? [Please open a new issue](https://github.com/tabler/tabler/issues/new).

+ 103 - 0
docs/icons/index.mdx

@@ -0,0 +1,103 @@
+---
+title: Tabler Icons
+description: Tabler Icons is a powerful and versatile icon library that offers a huge collection of high quality icons suitable for a wide range of applications. With its clean and modern aesthetic, extensive customisation options, and user-friendly website and plugins, Tabler Icons is an excellent resource for designers and developers looking to enhance their projects with high-quality icons.
+---
+
+```html example centered separated
+<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-lg icon-tabler icon-tabler-ghost" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+  <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+  <path d="M5 11a7 7 0 0 1 14 0v7a1.78 1.78 0 0 1 -3.1 1.4a1.65 1.65 0 0 0 -2.6 0a1.65 1.65 0 0 1 -2.6 0a1.65 1.65 0 0 0 -2.6 0a1.78 1.78 0 0 1 -3.1 -1.4v-7"></path>
+  <path d="M10 10l.01 0"></path>
+  <path d="M14 10l.01 0"></path>
+  <path d="M10 14a3.5 3.5 0 0 0 4 0"></path>
+</svg>
+<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-lg icon-tabler icon-tabler-star" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+  <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+  <path d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z"></path>
+</svg>
+<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-lg icon-tabler icon-tabler-yin-yang" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+  <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+  <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path>
+  <path d="M12 3a4.5 4.5 0 0 0 0 9a4.5 4.5 0 0 1 0 9"></path>
+  <circle cx="12" cy="7.5" r=".5" fill="currentColor"></circle>
+  <circle cx="12" cy="16.5" r=".5" fill="currentColor"></circle>
+</svg>
+<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-lg icon-tabler icon-tabler-heart" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+  <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+  <path d="M19.5 12.572l-7.5 7.428l-7.5 -7.428a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572"></path>
+</svg>
+```
+
+## Customize stroke
+
+The `stroke-width` property is a powerful tool for customizing icons. This property allows you to control the thickness of the stroke used to outline an icon, giving you precise control over its appearance. By adjusting the `stroke-width` property, you can make an icon more or less prominent, change its emphasis, or create unique visual effects. For example, a thinner stroke may be ideal for icons with intricate designs or fine details, while a thicker stroke can add visual weight and impact to simpler, bolder icons.
+
+All icons are designed by default with `2px` stroke.
+
+```html example centered separated
+<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-lg icon-tabler icon-tabler-cherry" width="24" height="24" viewBox="0 0 24 24" stroke-width="1" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" style="stroke-width: 1">
+  <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+  <path d="M7.5 16.5m-3.5 0a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0"></path>
+  <path d="M17 18m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0"></path>
+  <path d="M9 13c.366 -2 1.866 -3.873 4.5 -5.6"></path>
+  <path d="M17 15c-1.333 -2.333 -2.333 -5.333 -1 -9"></path>
+  <path d="M5 6c3.667 -2.667 7.333 -2.667 11 0c-3.667 2.667 -7.333 2.667 -11 0"></path>
+</svg>
+<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-lg icon-tabler icon-tabler-cherry" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" style="stroke-width: 1.5">
+  <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+  <path d="M7.5 16.5m-3.5 0a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0"></path>
+  <path d="M17 18m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0"></path>
+  <path d="M9 13c.366 -2 1.866 -3.873 4.5 -5.6"></path>
+  <path d="M17 15c-1.333 -2.333 -2.333 -5.333 -1 -9"></path>
+  <path d="M5 6c3.667 -2.667 7.333 -2.667 11 0c-3.667 2.667 -7.333 2.667 -11 0"></path>
+</svg>
+<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-lg icon-tabler icon-tabler-cherry" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" style="stroke-width: 2">
+  <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+  <path d="M7.5 16.5m-3.5 0a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0"></path>
+  <path d="M17 18m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0"></path>
+  <path d="M9 13c.366 -2 1.866 -3.873 4.5 -5.6"></path>
+  <path d="M17 15c-1.333 -2.333 -2.333 -5.333 -1 -9"></path>
+  <path d="M5 6c3.667 -2.667 7.333 -2.667 11 0c-3.667 2.667 -7.333 2.667 -11 0"></path>
+</svg>
+```
+
+```html
+<svg stroke-width="1" ...>
+   ...
+</svg>
+<svg stroke-width="1.5" ...>
+   ...
+</svg>
+<svg stroke-width="2" ...>
+   ...
+</svg>
+```
+
+## Filled version of icons
+
+```html example centered separated
+<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-lg icon-tabler icon-tabler-bell-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+  <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+  <path d="M14.235 19c.865 0 1.322 1.024 .745 1.668a3.992 3.992 0 0 1 -2.98 1.332a3.992 3.992 0 0 1 -2.98 -1.332c-.552 -.616 -.158 -1.579 .634 -1.661l.11 -.006h4.471z" stroke-width="0" fill="currentColor"></path>
+  <path d="M12 2c1.358 0 2.506 .903 2.875 2.141l.046 .171l.008 .043a8.013 8.013 0 0 1 4.024 6.069l.028 .287l.019 .289v2.931l.021 .136a3 3 0 0 0 1.143 1.847l.167 .117l.162 .099c.86 .487 .56 1.766 -.377 1.864l-.116 .006h-16c-1.028 0 -1.387 -1.364 -.493 -1.87a3 3 0 0 0 1.472 -2.063l.021 -.143l.001 -2.97a8 8 0 0 1 3.821 -6.454l.248 -.146l.01 -.043a3.003 3.003 0 0 1 2.562 -2.29l.182 -.017l.176 -.004z" stroke-width="0" fill="currentColor"></path>
+</svg>
+<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-lg icon-tabler icon-tabler-diamond-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+  <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+  <path d="M18 4a1 1 0 0 1 .783 .378l.074 .108l3 5a1 1 0 0 1 -.032 1.078l-.08 .103l-8.53 9.533a1.7 1.7 0 0 1 -1.215 .51c-.4 0 -.785 -.14 -1.11 -.417l-.135 -.126l-8.5 -9.5a1 1 0 0 1 -.172 -1.067l.06 -.115l3.013 -5.022l.064 -.09a.982 .982 0 0 1 .155 -.154l.089 -.064l.088 -.05l.05 -.023l.06 -.025l.109 -.032l.112 -.02l.117 -.005h12zm-8.886 3.943a1 1 0 0 0 -1.371 .343l-.6 1l-.06 .116a1 1 0 0 0 .177 1.07l2 2.2l.09 .088a1 1 0 0 0 1.323 -.02l.087 -.09a1 1 0 0 0 -.02 -1.323l-1.501 -1.65l.218 -.363l.055 -.103a1 1 0 0 0 -.398 -1.268z" stroke-width="0" fill="currentColor"></path>
+</svg>
+<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-lg icon-tabler icon-tabler-discount-check-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+  <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+  <path d="M12.01 2.011a3.2 3.2 0 0 1 2.113 .797l.154 .145l.698 .698a1.2 1.2 0 0 0 .71 .341l.135 .008h1a3.2 3.2 0 0 1 3.195 3.018l.005 .182v1c0 .27 .092 .533 .258 .743l.09 .1l.697 .698a3.2 3.2 0 0 1 .147 4.382l-.145 .154l-.698 .698a1.2 1.2 0 0 0 -.341 .71l-.008 .135v1a3.2 3.2 0 0 1 -3.018 3.195l-.182 .005h-1a1.2 1.2 0 0 0 -.743 .258l-.1 .09l-.698 .697a3.2 3.2 0 0 1 -4.382 .147l-.154 -.145l-.698 -.698a1.2 1.2 0 0 0 -.71 -.341l-.135 -.008h-1a3.2 3.2 0 0 1 -3.195 -3.018l-.005 -.182v-1a1.2 1.2 0 0 0 -.258 -.743l-.09 -.1l-.697 -.698a3.2 3.2 0 0 1 -.147 -4.382l.145 -.154l.698 -.698a1.2 1.2 0 0 0 .341 -.71l.008 -.135v-1l.005 -.182a3.2 3.2 0 0 1 3.013 -3.013l.182 -.005h1a1.2 1.2 0 0 0 .743 -.258l.1 -.09l.698 -.697a3.2 3.2 0 0 1 2.269 -.944zm3.697 7.282a1 1 0 0 0 -1.414 0l-3.293 3.292l-1.293 -1.292l-.094 -.083a1 1 0 0 0 -1.32 1.497l2 2l.094 .083a1 1 0 0 0 1.32 -.083l4 -4l.083 -.094a1 1 0 0 0 -.083 -1.32z" stroke-width="0" fill="currentColor"></path>
+</svg>
+<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-lg icon-tabler icon-tabler-shield-check-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+  <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+  <path d="M11.998 2l.118 .007l.059 .008l.061 .013l.111 .034a.993 .993 0 0 1 .217 .112l.104 .082l.255 .218a11 11 0 0 0 7.189 2.537l.342 -.01a1 1 0 0 1 1.005 .717a13 13 0 0 1 -9.208 16.25a1 1 0 0 1 -.502 0a13 13 0 0 1 -9.209 -16.25a1 1 0 0 1 1.005 -.717a11 11 0 0 0 7.531 -2.527l.263 -.225l.096 -.075a.993 .993 0 0 1 .217 -.112l.112 -.034a.97 .97 0 0 1 .119 -.021l.115 -.007zm3.71 7.293a1 1 0 0 0 -1.415 0l-3.293 3.292l-1.293 -1.292l-.094 -.083a1 1 0 0 0 -1.32 1.497l2 2l.094 .083a1 1 0 0 0 1.32 -.083l4 -4l.083 -.094a1 1 0 0 0 -.083 -1.32z" stroke-width="0" fill="currentColor"></path>
+</svg>
+```
+
+## Browse icons
+
+Tabler Icons is a comprehensive icon library that features over <IconsCount rounded /> high-quality icons. These icons are designed with a clean and modern aesthetic, making them suitable for a wide range of applications.
+
+To use Tabler Icons, you can visit their website at https://tabler-icons.io. From there, you can browse the full collection of icons by category or search for a specific icon using the search bar. Once you have found an icon you like, you can download it in various file formats, including SVG, PNG, and Icon Font.
+

+ 224 - 0
docs/layout/page-headers.mdx

@@ -0,0 +1,224 @@
+---
+title: Page headers
+description: Page heading examples for Tabler
+---
+
+## Simple header
+
+```html example code vcentered
+<div class="page-header">
+  <div class="row align-items-center">
+    <div class="col">
+      <div class="page-pretitle">
+        Overview
+      </div>
+      <h2 class="page-title">
+        Dashboard
+      </h2>
+    </div>
+    <div class="col-auto ms-auto">
+      <div class="btn-list">
+        <span class="d-none d-sm-inline">
+          <a href="#" class="btn">
+            New view
+          </a>
+        </span>
+        <a href="#" class="btn btn-primary d-none d-sm-inline-block" data-bs-toggle="modal" data-bs-target="#modal-report">
+          <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+            <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+            <line x1="12" y1="5" x2="12" y2="19" />
+            <line x1="5" y1="12" x2="19" y2="12" />
+          </svg>
+          Create new report
+        </a>
+        <a href="#" class="btn btn-primary d-sm-none btn-icon" data-bs-toggle="modal" data-bs-target="#modal-report" aria-label="Create new report">
+          <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+            <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+            <line x1="12" y1="5" x2="12" y2="19" />
+            <line x1="5" y1="12" x2="19" y2="12" />
+          </svg>
+        </a>
+      </div>
+    </div>
+  </div>
+</div>
+```
+
+## With meta, avatar and actions
+
+```html example code vcentered
+<div class="page-header">
+  <div class="row align-items-center">
+    <div class="col-auto">
+      <span class="avatar avatar-md" style="background-image: url(/samples/avatars/023m.jpg)"></span>
+    </div>
+    <div class="col">
+      <h2 class="page-title">Paweł Kuna</h2>
+      <div class="page-subtitle">
+        <div class="row">
+          <div class="col-auto">
+            <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+              <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+              <line x1="3" y1="21" x2="21" y2="21" />
+              <path d="M5 21v-14l8 -4v18" />
+              <path d="M19 21v-10l-6 -4" />
+              <line x1="9" y1="9" x2="9" y2="9.01" />
+              <line x1="9" y1="12" x2="9" y2="12.01" />
+              <line x1="9" y1="15" x2="9" y2="15.01" />
+              <line x1="9" y1="18" x2="9" y2="18.01" />
+            </svg>
+            <a href="#" class="text-reset">UI Designer at Tabler</a>
+          </div>
+          <div class="col-auto">
+            <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+              <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+              <circle cx="9" cy="7" r="4" />
+              <path d="M3 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2" />
+              <path d="M16 3.13a4 4 0 0 1 0 7.75" />
+              <path d="M21 21v-2a4 4 0 0 0 -3 -3.85" />
+            </svg>
+            <a href="#" class="text-reset">194 friends</a>
+          </div>
+          <div class="col-auto text-success">
+            <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-check" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+              <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+              <path d="M5 12l5 5l10 -10"></path>
+            </svg>
+            Verified
+          </div>
+        </div>
+      </div>
+    </div>
+    <div class="col-auto d-none d-md-flex">
+      <a href="#" class="btn btn-primary">
+        <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+          <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+          <path d="M4 21v-13a3 3 0 0 1 3 -3h10a3 3 0 0 1 3 3v6a3 3 0 0 1 -3 3h-9l-4 4" />
+          <line x1="8" y1="9" x2="16" y2="9" />
+          <line x1="8" y1="13" x2="14" y2="13" />
+        </svg>
+        Send message
+      </a>
+    </div>
+  </div>
+</div>
+```
+
+## With meta, search and actions
+
+```html example code vcentered
+<div class="page-header">
+  <div class="row align-items-center">
+    <div class="col">
+      <h2 class="page-title">Gallery</h2>
+      <div class="text-muted mt-1">1-12 of 241 photos</div>
+    </div>
+    <div class="col-auto ms-auto d-print-none">
+      <div class="d-flex">
+        <div class="me-3 d-none d-md-block">
+          <div class="input-icon">
+            <input type="text" class="form-control" placeholder="Search…" />
+            <span class="input-icon-addon">
+              <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-search" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+                <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+                <path d="M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0"></path>
+                <path d="M21 21l-6 -6"></path>
+              </svg>
+            </span>
+          </div>
+        </div>
+        <a href="#" class="btn btn-primary">
+          <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-plus" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+            <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
+            <path d="M12 5l0 14"></path>
+            <path d="M5 12l14 0"></path>
+          </svg>
+          Add photo
+        </a>
+      </div>
+    </div>
+  </div>
+</div>
+```
+
+## Bordered header
+
+Page header with a border to separate content is an effective way to organize and present information in a clear and visually appealing way.
+
+```html example code vcentered
+<div class="page-header page-header-border">
+  <div class="row align-items-center">
+    <div class="col">
+      <h2 class="page-title">Improve cards with no border</h2>
+      <div class="text-muted mt-1">
+        <a href="#" class="text-reset">#693</a>
+        opened by <a href="#" class="text-body">Jeffie Lewzey</a>
+        in <a href="#" class="text-body">Calendar Page</a>
+      </div>
+    </div>
+    <div class="col-auto">
+      <div class="btn-list">
+        <a href="#" class="btn">
+          <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+            <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+            <path d="M7 7h-1a2 2 0 0 0 -2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2 -2v-1" />
+            <path d="M20.385 6.585a2.1 2.1 0 0 0 -2.97 -2.97l-8.415 8.385v3h3l8.385 -8.415z" />
+            <path d="M16 5l3 3" />
+          </svg>
+          Edit
+        </a>
+        <a href="#" class="btn d-none d-md-inline-flex">
+          <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+            <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+            <path d="M10 5a2 2 0 0 1 4 0a7 7 0 0 1 4 6v3a4 4 0 0 0 2 3h-16a4 4 0 0 0 2 -3v-3a7 7 0 0 1 4 -6" />
+            <path d="M9 17v1a3 3 0 0 0 6 0v-1" />
+          </svg>
+          Subscribe
+        </a>
+      </div>
+    </div>
+  </div>
+</div>
+```
+
+## Header with breadcrumb and actions
+
+A page header with breadcrumb and actions is a common design element found in many websites and applications. The header typically appears at the top of the page and includes a breadcrumb trail, which shows the user the path they have taken to reach the current page. The breadcrumb can be clickable, allowing the user to navigate back to previous pages.
+
+In addition to the breadcrumb, the header often includes actions or buttons that allow the user to perform common tasks related to the current page. These actions may include things like adding a new item, editing existing content, or deleting items.
+
+```html example code vcentered
+<div class="page-header">
+  <div class="row align-items-center mw-100">
+    <div class="col">
+      <div class="mb-1">
+        <ol class="breadcrumb" aria-label="breadcrumbs">
+          <li class="breadcrumb-item"><a href="#">Home</a></li>
+          <li class="breadcrumb-item"><a href="#">Library</a></li>
+          <li class="breadcrumb-item active" aria-current="page"><a href="#">Articles</a></li>
+        </ol>
+      </div>
+      <h2 class="page-title">
+        <span class="text-truncate">Knights of Ni, we are but simple travelers who seek the enchanter who lives beyond these woods.</span>
+      </h2>
+    </div>
+    <div class="col-auto">
+      <div class="btn-list">
+        <a href="#" class="btn d-none d-md-inline-flex">
+          <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+            <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+            <path d="M7 7h-1a2 2 0 0 0 -2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2 -2v-1" />
+            <path d="M20.385 6.585a2.1 2.1 0 0 0 -2.97 -2.97l-8.415 8.385v3h3l8.385 -8.415z" />
+            <path d="M16 5l3 3" />
+          </svg>
+          Edit
+        </a>
+        <a href="#" class="btn btn-primary">
+          Publish
+        </a>
+      </div>
+    </div>
+  </div>
+</div>
+```
+

+ 211 - 0
docs/menu.json

@@ -0,0 +1,211 @@
+{
+  "getting-started": {
+    "title": "Getting started",
+    "pages": {
+      "index": {
+        "title": "Introduction"
+      },
+      "browser-support": {
+        "title": "Browser Support"
+      },
+      "customize": {
+        "title": "Customize Tabler"
+      },
+      "download": {
+        "title": "Download"
+      },
+      "faq": {
+        "title": "FAQ"
+      }
+    }
+  },
+  "base": {
+    "title": "Base",
+    "pages": {
+      "colors": {
+        "title": "Colors",
+        "label": "new"
+      },
+      "typography": {
+        "title": "Typography"
+      }
+    }
+  },
+  "components": {
+    "title": "Components",
+    "pages": {
+      "alerts": {
+        "title": "Alerts"
+      },
+      "autosize": {
+        "title": "Autosize"
+      },
+      "avatars": {
+        "title": "Avatars"
+      },
+      "badges": {
+        "title": "Badges"
+      },
+      "breadcrumb": {
+        "title": "Breadcrumb"
+      },
+      "buttons": {
+        "title": "Buttons"
+      },
+      "cards": {
+        "title": "Cards"
+      },
+      "carousel": {
+        "title": "Carousel"
+      },
+      "charts": {
+        "title": "Charts"
+      },
+      "datagrid": {
+        "title": "Datagrid"
+      },
+      "divider": {
+        "title": "Divider"
+      },
+      "dropdowns": {
+        "title": "Dropdowns"
+      },
+      "dropzone": {
+        "title": "Dropzone"
+      },
+      "empty": {
+        "title": "Empty"
+      },
+      "icons": {
+        "title": "Icons"
+      },
+      "inline-player": {
+        "title": "Inline Player"
+      },
+      "modals": {
+        "title": "Modals"
+      },
+      "placeholder": {
+        "title": "Placeholder"
+      },
+      "popover": {
+        "title": "Popover"
+      },
+      "progress": {
+        "title": "Progress"
+      },
+      "progressbg": {
+        "title": "Progress background"
+      },
+      "range-slider": {
+        "title": "Range slider"
+      },
+      "ribbons": {
+        "title": "Ribbons"
+      },
+      "spinners": {
+        "title": "Spinners"
+      },
+      "statuses": {
+        "title": "Statuses"
+      },
+      "steps": {
+        "title": "Steps"
+      },
+      "switch-icon": {
+        "title": "Switch icon"
+      },
+      "tables": {
+        "title": "Tables"
+      },
+      "tabs": {
+        "title": "Tabs"
+      },
+      "timelines": {
+        "title": "Timelines"
+      },
+      "tinymce": {
+        "title": "Tinymce"
+      },
+      "toasts": {
+        "title": "Toasts"
+      },
+      "tooltips": {
+        "title": "Tooltips"
+      },
+      "tracking": {
+        "title": "Tracking"
+      }
+    }
+  },
+  "forms": {
+    "title": "Forms",
+    "pages": {
+      "form-elements": {
+        "title": "Base elements"
+      },
+      "form-fieldset": {
+        "title": "Fieldset"
+      },
+      "form-color-check": {
+        "title": "Color check"
+      },
+      "form-image-check": {
+        "title": "Image check"
+      },
+      "form-selectboxes": {
+        "title": "Selectbox"
+      },
+      "form-validation": {
+        "title": "Validation"
+      },
+      "form-input-mask": {
+        "title": "Input mask"
+      },
+      "form-helpers": {
+        "title": "Form helpers"
+      }
+    }
+  },
+  "layout": {
+    "title": "Layout",
+    "pages": {
+      "page-headers": {
+        "title": "Page headers"
+      }
+    }
+  },
+  "plugins": {
+    "title": "Plugins",
+    "pages": {
+      "flags": {
+        "title": "Flags"
+      },
+      "payments": {
+        "title": "Payments"
+      }
+    }
+  },
+  "utilities": {
+    "title": "Utilities",
+    "pages": {
+      "borders": {
+        "title": "Borders"
+      },
+      "cursors": {
+        "title": "Cursors"
+      },
+      "interactions": {
+        "title": "Interactions"
+      }
+    }
+  },
+  "icons": {
+    "title": "Icons",
+    "pages": {
+      "index": {
+        "title": "Introduction"
+      }
+    }
+  }
+}

+ 54 - 0
docs/plugins/flags.mdx

@@ -0,0 +1,54 @@
+---
+title: Flags
+description: Thanks to the Tabler flags plugin, you can create flags to visually represent countries or languages. Flags are often used in forms, as an element of a delivery address, phone number dialling code and many more.
+plugin: flags
+libs: tabler-flags
+---
+
+import config from '../config.json'
+
+## Installation
+
+This part of Tabler is distributed as plugin. To enable it you should include `tabler-flags.css` or `tabler-flags.min.css` file to your page.
+
+You can also include plugin via CDN:
+
+```html
+<link rel="stylesheet" href="$TABLER_CDN/dist/css/tabler-flags.min.css">
+```
+
+## Flag
+
+To create a flag, add the `flag` class to a component and choose the country whose flag you want to use. The full list of countries can be found below.
+
+```html code example centered separated plugins="flags"
+<span class="flag flag-country-tg"></span>
+<span class="flag flag-country-br"></span>
+<span class="flag flag-country-pt"></span>
+```
+
+## Flag sizes
+
+Using Bootstrap’s typical naming structure, you can create a standard flag, or scale it up or down to different sizes based on what’s needed.
+
+```html example centered separated plugins="flags"
+<span class="flag flag-xl flag-country-us"></span>
+<span class="flag flag-lg flag-country-us"></span>
+<span class="flag flag-md flag-country-us"></span>
+<span class="flag flag-sm flag-country-us"></span>
+<span class="flag flag-xs flag-country-us"></span>
+```
+
+```html
+<span class="flag flag-xl ..."></span>
+<span class="flag flag-lg ..."></span>
+<span class="flag flag-md ..."></span>
+<span class="flag flag-sm ..."></span>
+<span class="flag flag-xs ..."></span>
+```
+
+## Types
+
+To use the flag of a particular country, add the `flag-country-(country name)` class. For example, to create a flag of Andorra should use the following class: `.flag-country-ad`.
+
+<FlagsTable flags={config.flags}/>

+ 45 - 0
docs/plugins/payments.mdx

@@ -0,0 +1,45 @@
+---
+title: Payments
+description: The Tabler payments plug-in will let you use a set of payment provider icons to facilitate the payment process and make it more-user friendly.
+plugin: payments
+---
+
+import config from '../config.json'
+
+## Installation
+
+This part of Tabler is distributed as plugin. To enable it you should include `tabler-payments.css` or `tabler-payments.min.css` file to your page.
+
+You can also include plugin via CDN:
+
+```html
+<link rel="stylesheet" href="$TABLER_CDN/dist/css/tabler-payments.min.css">
+```
+
+## Payment
+
+To create a payment provider icon, add the `payment` class to a component and specify the payment provider. The full list of payment providers can be found below.
+
+```html example code plugins="payments" separated centered
+<span class="payment payment-provider-shopify"></span>
+<span class="payment payment-provider-visa"></span>
+<span class="payment payment-provider-paypal"></span>
+```
+
+## Payment sizes
+
+Using Bootstrap’s typical naming structure, you can create a standard payment, or scale it up or down to different sizes based on what’s needed.
+
+```html example code plugins="payments" separated centered
+<span class="payment payment-xl payment-provider-shopify"></span>
+<span class="payment payment-lg payment-provider-visa"></span>
+<span class="payment payment-md payment-provider-paypal"></span>
+<span class="payment payment-sm payment-provider-amazon"></span>
+<span class="payment payment-xs payment-provider-blik"></span>
+```
+
+## List of available payment providers
+
+Select an icon from the list of payment providers. Each icon comes in two color variants - light and dark, so you can choose the one that goes well with your design.
+
+<PaymentsTable payments={config.payments} />

+ 114 - 0
docs/utilities/borders.mdx

@@ -0,0 +1,114 @@
+---
+title: Borders
+description: Use border utilities to quickly style the border and border-radius of an element. Great for images, buttons, or any other element.
+---
+
+## Border direction
+
+The following border utilities classes will add border to any side of an element.
+
+```html example centered separated background="white"
+<div class="d-flex align-items-center justify-content-center text-muted w-5 h-5 bg-light border">1</div>
+<div class="d-flex align-items-center justify-content-center text-muted w-5 h-5 bg-light border-top">2</div>
+<div class="d-flex align-items-center justify-content-center text-muted w-5 h-5 bg-light border-end">3</div>
+<div class="d-flex align-items-center justify-content-center text-muted w-5 h-5 bg-light border-bottom">4</div>
+<div class="d-flex align-items-center justify-content-center text-muted w-5 h-5 bg-light border-start">5</div>
+<div class="d-flex align-items-center justify-content-center text-muted w-5 h-5 bg-light border-x">6</div>
+<div class="d-flex align-items-center justify-content-center text-muted w-5 h-5 bg-light border-y">7</div>
+```
+
+```html
+<div class="border">1</div>
+<div class="border-top">2</div>
+<div class="border-end">3</div>
+<div class="border-bottom">4</div>
+<div class="border-start">5</div>
+<div class="border-x">6</div>
+<div class="border-y">7</div>
+```
+
+## Border size
+
+Below are the available border size utilities classes.
+
+```html example centered separated background="white"
+<div class="d-flex align-items-center justify-content-center text-muted w-5 h-5 bg-light border-0">1</div>
+<div class="d-flex align-items-center justify-content-center text-muted w-5 h-5 bg-light border">2</div>
+<div class="d-flex align-items-center justify-content-center text-muted w-5 h-5 bg-light border-wide">3</div>
+```
+
+```html
+<div class="border-0">1</div>
+<div class="border">2</div>
+<div class="border-wide">3</div>
+```
+
+## Remove border
+
+You can remove a border on a single side of an element by using the following border utilities classes.
+
+```html example centered separated background="white"
+<div class="d-flex align-items-center justify-content-center text-muted w-5 h-5 bg-light border border-top-0">1</div>
+<div class="d-flex align-items-center justify-content-center text-muted w-5 h-5 bg-light border border-end-0">2</div>
+<div class="d-flex align-items-center justify-content-center text-muted w-5 h-5 bg-light border border-bottom-0">3</div>
+<div class="d-flex align-items-center justify-content-center text-muted w-5 h-5 bg-light border border-start-0">4</div>
+<div class="d-flex align-items-center justify-content-center text-muted w-5 h-5 bg-light border border-x-0">5</div>
+<div class="d-flex align-items-center justify-content-center text-muted w-5 h-5 bg-light border border-y-0">6</div>
+```
+
+```html
+<div class="border border-top-0">1</div>
+<div class="border border-end-0">2</div>
+<div class="border border-bottom-0">3</div>
+<div class="border border-start-0">4</div>
+<div class="border border-x-0">5</div>
+<div class="border border-y-0">6</div>
+```
+
+## Border color
+
+You can set a border color of any side of an element by adding the following utilities classes below.
+
+```html example centered separated background="white"
+<div class="d-flex align-items-center justify-content-center text-muted w-5 h-5 bg-light border border-primary">1</div>
+<div class="d-flex align-items-center justify-content-center text-muted w-5 h-5 bg-light border border-secondary">2</div>
+<div class="d-flex align-items-center justify-content-center text-muted w-5 h-5 bg-light border border-success">3</div>
+<div class="d-flex align-items-center justify-content-center text-muted w-5 h-5 bg-light border border-warning">4</div>
+<div class="d-flex align-items-center justify-content-center text-muted w-5 h-5 bg-light border border-danger">5</div>
+<div class="d-flex align-items-center justify-content-center text-muted w-5 h-5 bg-light border border-info">6</div>
+<div class="d-flex align-items-center justify-content-center text-muted w-5 h-5 bg-light border border-dark">7</div>
+<div class="d-flex align-items-center justify-content-center text-muted w-5 h-5 bg-light border border-light">8</div>
+```
+
+```html
+<div class="border border-primary">1</div>
+<div class="border border-secondary">2</div>
+<div class="border border-success">3</div>
+<div class="border border-warning">4</div>
+<div class="border border-danger">5</div>
+<div class="border border-info">6</div>
+<div class="border border-dark">7</div>
+<div class="border border-light">8</div>
+```
+
+## Border radius
+
+You can set a border to any element by using the following utilities classes below.
+
+```html example centered separated background="white"
+<div class="d-flex align-items-center justify-content-center text-muted  w-5 h-5 bg-light border rounded-0">1</div>
+<div class="d-flex align-items-center justify-content-center text-muted  w-5 h-5 bg-light border rounded">2</div>
+<div class="d-flex align-items-center justify-content-center text-muted  w-5 h-5 bg-light border rounded-1">3</div>
+<div class="d-flex align-items-center justify-content-center text-muted  w-5 h-5 bg-light border rounded-2">4</div>
+<div class="d-flex align-items-center justify-content-center text-muted  w-5 h-5 bg-light border rounded-3">5</div>
+<div class="d-flex align-items-center justify-content-center text-muted  w-5 h-5 bg-light border rounded-circle">6</div>
+```
+
+```html
+<div class="border rounded-0">1</div>
+<div class="border rounded">2</div>
+<div class="border rounded-1">3</div>
+<div class="border rounded-2">4</div>
+<div class="border rounded-3">5</div>
+<div class="border rounded-circle">6</div>
+```

+ 92 - 0
docs/utilities/cursors.mdx

@@ -0,0 +1,92 @@
+---
+title: Cursors
+description: You can use different cursors to reflect the intended user interaction with particular elements of an interface. The cursor will change when a user hovers over a given element to indicate the action which can be performed.
+---
+
+## Cursor utilities
+
+Use one of the available cursor utilities depending on the action you want to indicate.
+
+- `.cursor-auto`- the cursor style depends on what's inside a given element
+- `.cursor-pointer` - a pointing cursor, used to show that an element is clickable
+- `.cursor-move` - a cursor which shows that a given element can be moved
+- `.cursor-not-allowed` - a cursor which shows that a user is not allowed to perform an action on an element
+- `.cursor-zoom-in` - a cursor which shows that a user can zoom in
+- `.cursor-zoom-out` - a cursor which shows that a user can zoom out
+- `.cursor-default` - the default cursor
+- `.cursor-none` - no cursor
+- `.cursor-help` - a cursor which shows that help information is available
+- `.cursor-progress` - a cursor which shows that an action is in progress
+- `.cursor-wait` - a cursor which shows that a user cannot interact with the element because it is busy
+- `.cursor-text` - a cursor which shows that a user can type
+- `.cursor-v-text` - a cursor which shows that a user can type in a vertical text input
+- `.cursor-grab` - a cursor which shows that a user can grab an element
+- `.cursor-grabbing` - a cursor which shows that a user is grabbing an element
+
+```html example background="white"
+<div class="row row-cards text-center">
+  <div class="col-2">
+    <div class="cursor-auto bg-light py-3">auto</div>
+  </div>
+  <div class="col-2">
+    <div class="cursor-pointer bg-light py-3">pointer</div>
+  </div>
+  <div class="col-2">
+    <div class="cursor-move bg-light py-3">move</div>
+  </div>
+  <div class="col-2">
+    <div class="cursor-not-allowed bg-light py-3">not-allowed</div>
+  </div>
+  <div class="col-2">
+    <div class="cursor-zoom-in bg-light py-3">zoom-in</div>
+  </div>
+  <div class="col-2">
+    <div class="cursor-zoom-out bg-light py-3">zoom-out</div>
+  </div>
+  <div class="col-2">
+    <div class="cursor-default bg-light py-3">default</div>
+  </div>
+  <div class="col-2">
+    <div class="cursor-none bg-light py-3">none</div>
+  </div>
+  <div class="col-2">
+    <div class="cursor-help bg-light py-3">help</div>
+  </div>
+  <div class="col-2">
+    <div class="cursor-progress bg-light py-3">progress</div>
+  </div>
+  <div class="col-2">
+    <div class="cursor-wait bg-light py-3">wait</div>
+  </div>
+  <div class="col-2">
+    <div class="cursor-text bg-light py-3">text</div>
+  </div>
+  <div class="col-2">
+    <div class="cursor-v-text bg-light py-3">vertical-text</div>
+  </div>
+  <div class="col-2">
+    <div class="cursor-grab bg-light py-3">grab</div>
+  </div>
+  <div class="col-2">
+    <div class="cursor-grabbing bg-light py-3">grabbing</div>
+  </div>
+</div>
+```
+
+```html
+<div class="cursor-auto">auto</div>
+<div class="cursor-pointer">pointer</div>
+<div class="cursor-move">move</div>
+<div class="cursor-not-allowed">not-allowed</div>
+<div class="cursor-zoom-in">zoom-in</div>
+<div class="cursor-zoom-out">zoom-out</div>
+<div class="cursor-default">default</div>
+<div class="cursor-none">none</div>
+<div class="cursor-help">help</div>
+<div class="cursor-progress">progress</div>
+<div class="cursor-wait">wait</div>
+<div class="cursor-text">text</div>
+<div class="cursor-v-text">vertical-text</div>
+<div class="cursor-grab">grab</div>
+<div class="cursor-grabbing">grabbing</div>
+```

+ 5 - 8
src/pages/_docs/interactions.md → docs/utilities/interactions.mdx

@@ -1,26 +1,23 @@
 ---
 title: Interactions
 description: Utility classes that change how users interact with contents of a website.
-menu: help.docs.utils.interactions
 ---
 
 ## Text selection
 
 Change the way in which the content is selected when the user interacts with it.
 
-{% capture code %}
+```html code example
 <p class="user-select-all">This paragraph will be entirely selected when clicked by the user.</p>
 <p class="user-select-auto">This paragraph has default select behavior.</p>
 <p class="user-select-none">This paragraph will not be selectable when clicked by the user.</p>
-{% endcapture %}
-{% include example.html code=code %}
+```
 
 ## Pointer events
 
-Tabler provides .pe-none and .pe-auto classes to prevent or add element interactions.
+Tabler provides `.pe-none` and `.pe-auto` classes to prevent or add element interactions.
 
-{% capture code %}
+```html code example
 <p><a href="#" class="pe-none" tabindex="-1" aria-disabled="true">This link</a> can not be clicked.</p>
 <p><a href="#" class="pe-auto">This link</a> can be clicked (this is default behavior).</p>
-{% endcapture %}
-{% include example.html code=code %}
+```

+ 1 - 1
src/pages/_data/menu.yml

@@ -303,7 +303,7 @@ help:
   children:
     docs:
       title: Documentation
-      url: docs/
+      url: https://github.com/tabler/tabler
     changelog:
       url: changelog.html
       title: Changelog

+ 0 - 101
src/pages/_docs/alerts.md

@@ -1,101 +0,0 @@
----
-title: Alerts
-menu: help.docs.components.alerts
-description: Alert messages are used to inform users of the status of their action and help them solve any problems that might have occurred. Good design of alert modals is very important for the overall user experience of a website or app.
-bootstrap-link: components/alerts/
----
-
-
-## Default markup
-
-Depending on the information you need to convey, you can use one of the following types of alert messages - **success**, **info**, **warning** or **danger**. Using the right type of alert modal will help draw users' attention to the message and prompt them to take action. 
-
-{% capture code %}
-{% for alert in site.data.alerts %}
-	{% include ui/alert.html type=alert.color text=alert.text description=alert.description %}
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Alert links
-
-Add a link to your alert message to redirect users to the details they need to complete or additional information they should read.   
-
-{% capture code %}
-{% for variant in site.variants %}
-	{% capture variant-text %}
-		This is a {{ variant.name }} alert — <a href="#" class="alert-link">check it out</a>!
-	{% endcapture %}
-	{% include ui/alert.html type=variant.name text=variant-text %}
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Dismissible alerts
-
-Add the `x` close button to make an alert modal dismissible. Thanks to that, your alert modal will disappear only once the user closes it. 
-
-{% capture code %}
-{% for alert in site.data.alerts %}
-{% include ui/alert.html type=alert.color icon=alert.icon text=alert.text description=alert.description close=true %}
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Alerts with icons
-
-Add an icon to your alert modal to make it more user-friendly and help users easily identify the message.
-
-{% capture code %}
-{% for alert in site.data.alerts %}
-{% include ui/alert.html type=alert.color icon=alert.icon text=alert.text description=alert.description %}
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Alert with avatar
-
-Add an avatar to your alert modal to make it more personalized. 
-
-{% capture code %}
-{% for variant in site.variants %}
-	{% capture variant-text %}
-		Lorem ipsum dolor sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit.
-	{% endcapture %}
-	{% include ui/alert.html type=variant.name text=variant-text person-id=forloop.index %}
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Alert with buttons
-
-Add primary and secondary buttons to your alert modals if you want users to take a particular action based on the information included in the modal message. 
-
-{% capture code %}
-{% capture variant-text %}
-	<h3 class="mb-1">Some Title</h3>
-	<p>Lorem ipsum Minim ad pariatur eiusmod ea ut nulla aliqua est quis id dolore minim voluptate.</p>
-{% endcapture %}
-{% for alert in site.data.alerts %}
-{% include ui/alert.html type=alert.color text=variant-text close=true buttons=true %}
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Important alerts
-
-If you want your alert to be really eye-catching, you can add a class `alert-important`.
-
-{% capture code %}
-{% for alert in site.data.alerts %}
-{% include ui/alert.html type=alert.color text=alert.description close=true important=true icon=alert.icon %}
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code %}
-

+ 0 - 147
src/pages/_docs/avatars.md

@@ -1,147 +0,0 @@
----
-title: Avatars
-menu: help.docs.components.avatars
-description: Avatars help customise various elements of a user interface and make the product experience more personalised. They are often used in communication apps, collaboration tools and social media.
----
-
-
-## Default markup
-
-Use the `avatar` class to add an avatar to your interface design for greater customisation.
-
-{% capture code %}
-{% include ui/avatar.html person-id=1 %}
-{% include ui/avatar.html person-id=2 %}
-{% include ui/avatar.html person-id=3 %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-
-## Avatar image
-
-Set an image as the background to make users easy to indentify and create a personalised experience.
-
-{% capture code %}
-{% include ui/avatar.html person-id=1 %}
-{% include ui/avatar.html person-id=3 %}
-{% include ui/avatar.html person-id=4 %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-
-## Initials
-
-You can also use initials instead of pictures.
-
-{% capture code %}
-{% include ui/avatar.html placeholder="AB" %}
-{% include ui/avatar.html placeholder="CD" %}
-{% include ui/avatar.html placeholder="EF" %}
-{% include ui/avatar.html placeholder="GH" %}
-{% include ui/avatar.html placeholder="IJ" %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-
-## Avatar icons
-
-Apart from pictures and initials, you can also use icons to make the avatars more universal.
-
-{% capture code %}
-{% include ui/avatar.html icon="user" %}
-{% include ui/avatar.html icon="plus" %}
-{% include ui/avatar.html icon="user-plus" %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-
-## Avatar initials color
-
-Customize the color of the avatars' background. You can click [here]({% docs_url colors %}) to see the list of available colors.
-
-{% capture code %}
-{% include ui/avatar.html placeholder="AB" color="green" %}
-{% include ui/avatar.html placeholder="CD" color="red" %}
-{% include ui/avatar.html placeholder="EF" color="yellow" %}
-{% include ui/avatar.html placeholder="GH" color="primary" %}
-{% include ui/avatar.html placeholder="IJ" color="purple" %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-
-## Avatar size
-
-Using Bootstrap’s typical naming structure, you can create a standard avatar or scale it up or down to different sizes based on what you need.
-
-{% capture code %}
-{% include ui/avatar.html person-id=10 size="xl" %}
-{% include ui/avatar.html person-id=9 size="lg" %}
-{% include ui/avatar.html person-id=8 size="md" %}
-{% include ui/avatar.html person-id=7 %}
-{% include ui/avatar.html person-id=6 size="sm" %}
-{% include ui/avatar.html person-id=5 size="xs" %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-
-## Avatar status
-
-Add a status indicator to your avatar to show, for instance, if a users is online or offline or indicate the number of messages they have received.
-
-{% capture code %}
-{% include ui/avatar.html person-id=11 %}
-{% include ui/avatar.html person-id=12 status="danger" %}
-{% include ui/avatar.html person-id=13 status="success" %}
-{% include ui/avatar.html person-id=14 status="warning" %}
-{% include ui/avatar.html person-id=15 status="info" %}
-{% include ui/avatar.html person-id=16 status="gray" status-text="5" %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-
-## Avatar shape
-
-Change the shape of an avatar with the default Bootstrap image classes. You can make them round or square and change their border radius.
-
-{% capture code %}
-{% include ui/avatar.html person-id=17 %}
-{% include ui/avatar.html person-id=18 shape="rounded" %}
-{% include ui/avatar.html person-id=19 shape="rounded-circle" %}
-{% include ui/avatar.html person-id=20 shape="rounded-0" %}
-{% include ui/avatar.html person-id=21 shape="rounded-3" %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-
-## Avatars list
-
-Create a list of avatars within one parent container.
-
-{% capture code %}
-{% include ui/avatar-list.html %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-
-## Stacked list
-
-Make the list stack once a certain number of avatars is reached to make it look clear and display well regardless of the screen size.
-
-{% capture code %}
-<div class="avatar-list avatar-list-stacked">
-  {% for person in site.data.people limit: 5 offset: 30 %}
-  {% include ui/avatar.html person=person element="a" %}
-  {% endfor %}
-  <span class="avatar">+8</span>
-</div>
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-{% capture code %}
-<div class="avatar-list avatar-list-stacked">
-  {% for person in site.data.people limit: 8 offset: 10 %}
-  {% include ui/avatar.html person=person element="a" class="rounded-circle" size="sm" %}
-  {% endfor %}
-</div>
-{% endcapture %}
-{% include example.html code=code centered=true %}

+ 0 - 89
src/pages/_docs/badges.md

@@ -1,89 +0,0 @@
----
-title: Badges
-menu: help.docs.components.badges
-description: Badges are small count and labeling components, which are used to add extra information to an interface element. You can use them to draw users' attention to a new element, notify about unread messages or provide any kind of additional info.
-bootstrap-link: components/badge/
----
-
-
-## Default markup
-
-The default badges are square and come in the basic set of colors.
-
-{% capture code %}
-{% for color in site.colors %}
-<span class="badge bg-{{ color[0] }}">{{ color[1].title }}</span>
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-## Headings
-
-{% capture code %}
-<h1>Example heading <span class="badge bg-secondary">New</span></h1>
-<h2>Example heading <span class="badge bg-secondary">New</span></h2>
-<h3>Example heading <span class="badge bg-secondary">New</span></h3>
-<h4>Example heading <span class="badge bg-secondary">New</span></h4>
-<h5>Example heading <span class="badge bg-secondary">New</span></h5>
-<h6>Example heading <span class="badge bg-secondary">New</span></h6>
-{% endcapture %}
-{% include example.html code=code %}
-
-## Outline badges
-
-{% capture code %}
-{% for color in site.colors %}
-<span class="badge badge-outline text-{{ color[0] }}">{{ color[0] }}</span>
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-## Pill badges
-
-Use the `.badge-pill` class if you want to create a badge with rounded corners. Its width will adjust to the label text.
-
-{% capture code %}
-{% for color in site.colors %}
-<span class="badge badge-pill bg-{{ color[0] }}">{{ forloop.index }}</span>
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-
-## Soft color badges
-
-You can create a soft colour variant of a corresponding contextual badge variation, to make it look more subtle. Click [here]({% docs_url colors %}) to see the list of available colors and choose ones that best suit your design.
-
-{% capture code %}
-{% for color in site.colors %}
-<span class="badge bg-{{ color[0] }}-lt">{{ color[1].title }}</span>
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-
-## Links
-
-Place the badge within an `<a>` element if you want it to perform the function of a link and make it clickable.
-
-{% capture code %}
-{% for color in site.colors %}
-<a href="#" class="badge bg-{{ color[0] }}">{{ color[1].title }}</a>
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-
-## Button with badge
-
-Badges can be used as part of links or buttons to provide a counter.
-
-{% capture code %}
-<button type="button" class="btn">
-  Notifications <span class="badge bg-red ms-2">4</span>
-</button>
-<button type="button" class="btn">
-  Notifications <span class="badge bg-green ms-2">4</span>
-</button>
-{% endcapture %}
-{% include example.html code=code wrapper="btn-list" %}

+ 0 - 72
src/pages/_docs/borders.md

@@ -1,72 +0,0 @@
----
-title: Borders
-menu: help.docs.utils.borders
-description: Use border utilities to quickly style the border and border-radius of an element. Great for images, buttons, or any other element.
----
-
-## Border direction
-
-The following border utilities classes will add border to any side of an element.
-
-{% capture code %}
-<div class="w-5 h-5 bg-light border"></div>
-<div class="w-5 h-5 bg-light border-top"></div>
-<div class="w-5 h-5 bg-light border-end"></div>
-<div class="w-5 h-5 bg-light border-bottom"></div>
-<div class="w-5 h-5 bg-light border-start"></div>
-<div class="w-5 h-5 bg-light border-x"></div>
-<div class="w-5 h-5 bg-light border-y"></div>
-{% endcapture %}
-{% include example.html code=code centered=true wrapper="d-flex space-x-3" %}
-
-## Border size
-
-Below are the available border size utilities classes.
-
-{% capture code %}
-<div class="w-5 h-5 bg-light border-0"></div>
-<div class="w-5 h-5 bg-light border"></div>
-<div class="w-5 h-5 bg-light border-wide"></div>
-{% endcapture %}
-{% include example.html code=code centered=true wrapper="d-flex space-x-3" %}
-
-
-## Remove border
-
-You can remove a border on a single side of an element by using the following border utilities classes.
-
-{% capture code %}
-<div class="w-5 h-5 bg-light border border-top-0"></div>
-<div class="w-5 h-5 bg-light border border-end-0"></div>
-<div class="w-5 h-5 bg-light border border-bottom-0"></div>
-<div class="w-5 h-5 bg-light border border-start-0"></div>
-<div class="w-5 h-5 bg-light border border-x-0"></div>
-<div class="w-5 h-5 bg-light border border-y-0"></div>
-{% endcapture %}
-{% include example.html code=code centered=true wrapper="d-flex space-x-3" %}
-
-## Border color
-
-You can set a border color of any side of an element by adding the following utilities classes below.
-
-{% capture code %}
-{% for color in site.theme-colors %}
-<div class="w-5 h-5 bg-light border border-{{ color[1].class }}"></div>
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code wrapper="btn-list" centered=true %}
-
-
-## Border radius
-
-You can set a border to any element by using the following utilities classes below.
-
-{% capture code %}
-<div class="w-5 h-5 bg-light border rounded-0"></div>
-<div class="w-5 h-5 bg-light border rounded"></div>
-<div class="w-5 h-5 bg-light border rounded-1"></div>
-<div class="w-5 h-5 bg-light border rounded-2"></div>
-<div class="w-5 h-5 bg-light border rounded-3"></div>
-<div class="w-5 h-5 bg-light border rounded-circle"></div>
-{% endcapture %}
-{% include example.html code=code centered=true wrapper="d-flex space-x-3" %}

+ 0 - 45
src/pages/_docs/breadcrumb.md

@@ -1,45 +0,0 @@
----
-title: Breadcrumb
-menu: help.docs.components.breadcrumb
-description: Breadcrumbs are used to show the current website or app location and reduce the number of actions users have to take. Thanks to breadcrumbs, they can easily navigate within the website hierarchy and better understand its structure.
-bootstrap-link: components/breadcrumb/
----
-
-
-## Default markup
-
-Add the `:before` pseudo-element in `li` tags to use the default separators. The `active` modifier in a `li` tag will help you indicate the current page location and facilitate navigation within your website or app. 
-
-{% capture code %}
-{% include ui/breadcrumb.html %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-
-## Breadcrumb variations
-
-If you wish to use different separators, modify the `$breadcrumb-variants` variable in the Tabler config. Depending on the aesthetics of your design, you can choose dots, bullets or arrows.
-
-{% capture code %}
-{% include ui/breadcrumb.html class="breadcrumb-dots" %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-{% capture code %}
-{% include ui/breadcrumb.html class="breadcrumb-arrows" %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-{% capture code %}
-{% include ui/breadcrumb.html class="breadcrumb-bullets" %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-## Breadcrumb in headers
-
-If you wish to use breadcrumbs in headers, place them above the headers.
-
-{% capture code %}
-{% include layout/headers/page-header-4.html %}
-{% endcapture %}
-{% include example.html code=code columns=2 %}

+ 0 - 21
src/pages/_docs/browser-support.md

@@ -1,21 +0,0 @@
----
-title: Browser Support
-menu: help.docs.base.browser-support
----
-
-As of this latest release, Tabler has launched many new features that may not be compatible with all browsers, especially older ones.
-
-For instance, Tabler no longer uses **vendor prefixes** in styles that are known to have some compatibility issues except for a few parts. Tabler also supports new features such as **CSS grid**, **object fit**, and **sticky positioning** which is not yet supported on all browsers. In short, Tabler supports all the latest supported browsers with **only** partial support for Internet Explorer.
-
-## Supported Browsers
-
-Browser|Version
----|----------
-<img src="{{ site.base }}/static/browsers/edge.svg" width="24" height="24" class="me-2" /> Edge|last 3 versions
-<img src="{{ site.base }}/static/browsers/firefox.svg" width="24" height="24" class="me-2" /> Firefox|last 3 versions, ESR
-<img src="{{ site.base }}/static/browsers/chrome.svg" width="24" height="24" class="me-2" /> Chrome|last 3 versions
-<img src="{{ site.base }}/static/browsers/safari.svg" width="24" height="24" class="me-2" /> Safari|last 3 versions
-<img src="{{ site.base }}/static/browsers/opera.svg" width="24" height="24" class="me-2" /> Opera|last 3 versions
-<img src="{{ site.base }}/static/browsers/electron.svg" width="24" height="24" class="me-2" /> Electron|last 3 versions
-<img src="{{ site.base }}/static/browsers/brave.svg" width="24" height="24" class="me-2" /> Brave|last 3 versions
-<img src="{{ site.base }}/static/browsers/vivaldi.svg" width="24" height="24" class="me-2" /> Vivaldi|last 3 versions

+ 0 - 353
src/pages/_docs/buttons.md

@@ -1,353 +0,0 @@
----
-title: Buttons
-description: Use button styles that best suit your designs and encourage users to take the desired actions. You can customize the button's properties to improve the user experience of your website or system, changing the size, shape, color and many more.
-bootstrap-link: components/buttons/
-menu: help.docs.components.buttons
----
-
-
-## Button tag
-
-As one of the most common elements of UI design, buttons have a very important function of engaging users with your website or app and guiding them in their actions. Use the `.btn` classes with the `<button>` element and add additional styling that will make your buttons serve their purpose and draw users' attention. 
-
-{% capture code %}
-<a href="#" class="btn" role="button">Link</a>
-<button class="btn">Button</button>
-<input type="button" class="btn" value="Input"/>
-<input type="submit" class="btn" value="Submit"/>
-<input type="reset" class="btn" value="Reset"/>
-{% endcapture  %}
-{% include example.html code=code wrapper="btn-list" centered=true %}
-
-
-## Default button 
-
-The standard button creates a white background and subtle hover animation. It's meant to look and behave as an interactive element of your page. 
-
-{% capture code %}
-<a href="#" class="btn" role="button">Link</a>
-{% endcapture  %}
-{% include example.html code=code wrapper="btn-list" centered=true %}
-
-## Button variations
-
-Use the button classes that correspond to the function of your button. The big range of available colors will help you show your buttons' purpose and make them easy to spot.
-
-{% capture code %}
-{% for button in site.theme-colors %}
-{% assign btn-color = button[1].class %}
-{% assign btn-title = button[1].title %}
-{% include ui/button.html color=btn-color text=btn-title %}
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code wrapper="btn-list" centered=true %}
-
-
-## Disabled buttons
-
-Make buttons look inactive to show that an action is possible once the user meets certain criteria, such as completing the required fields to submit a form. 
-
-{% capture code %}
-{% for button in site.theme-colors %}
-{% assign btn-color = button[1].class %}
-{% assign btn-title = button[1].title %}
-{% include ui/button.html color=btn-color text=btn-title disabled=true %}
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code wrapper="btn-list" centered=true %}
-
-
-## Color variations
-
-Choose the right color for your button to make it go well with your design and draw users' attention. Button colors can have a big influence on users' decisions, which is why it's important to choose them based on the intended purpose.
-
-{% capture code %}
-{% for button in site.colors %}
-<a href="#" class="btn btn-{{ button[0] }}">{{ button[1].title }}</a>
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code wrapper="btn-list" centered=true %}
-
-
-## Ghost buttons
-
-Use the `.btn-ghost-*` class to make your button look simple yet aesthetically appealing. Ghost buttons help focus users' attention on the website's primary design, at the same time encouraging them to take action. 
-
-{% capture code %}
-{% for button in site.theme-colors %}
-<a href="#" class="btn btn-ghost-{{ button[0] }}">{{ button[1].title }}</a>
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code wrapper="btn-list" centered=true %}
-
-
-## Square buttons
-
-Use the `.btn-square` class to remove the border radius, if you want the corners of your button to be square rather than rounded.
-
-{% capture code %}
-{% include ui/button.html text="White" square=true %}
-{% for button in site.button-variants %}
-{% assign btn-color = button[1].class %}
-{% assign btn-title = button[1].title %}
-{% include ui/button.html color=btn-color text=btn-title square=true %}
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code wrapper="btn-list" centered=true %}
-
-
-## Pill buttons
-
-Add the `.btn-pill` class to your button to make it rounded and give it a modern and attractive look.
-
-{% capture code %}
-{% include ui/button.html text="White" pill=true %}
-{% for button in site.button-variants %}
-{% assign btn-color = button[1].class %}
-{% assign btn-title = button[1].title %}
-{% include ui/button.html color=btn-color text=btn-title pill=true %}
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code wrapper="btn-list" centered=true %}
-
-
-## Outline buttons
-
-Replace the default modifier class with the `.btn-outline-*` class, if you want to remove the color and the background of your button and give it a more subtle look. Outline buttons are perfect to use as secondary buttons, as they don't distract users from the main action.
-
-{% capture code %}
-{% for button in site.theme-colors %}
-{% assign btn-color = button[1].class %}
-{% assign btn-title = button[1].title %}
-{% include ui/button.html text=btn-title color=btn-color outline=true %}
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code wrapper="btn-list" centered=true %}
-
-
-## Button size
-
-Add `.btn-lg` or `.btn-sm` to change the size of your button and differentiate those which should have primary focus from those of secondary importance. Adapt the button size to your design and encourage users to take actions.  
-
-{% capture code %}
-<button type="button" class="btn btn-primary btn-lg">Large button</button>
-<button type="button" class="btn btn-lg">Large button</button>
-{% endcapture %}
-{% include example.html code=code wrapper="btn-list" centered=true %}
-
-{% capture code %}
-<button type="button" class="btn btn-primary btn-sm">Small button</button>
-<button type="button" class="btn btn-sm">Small button</button>
-{% endcapture %}
-{% include example.html code=code wrapper="btn-list" centered=true %}
-
-
-## Buttons with icons
-
-Label your button with text and add an icon to communiacate the action and make it easy to identify for users. Icons are easily recognized and improve the aesthetics of your button design, giving it a modern and atractive look.  
-
-Icons can be found [**here**](/docs/icons.html#icons)
-
-{% capture code %}
-<button type="button" class="btn">
-{% include ui/icon.html icon="upload" %}
-Upload
-</button>
-<button type="button" class="btn btn-warning">
-{% include ui/icon.html icon="heart" %}
-I like
-</button>
-<button type="button" class="btn btn-success">
-{% include ui/icon.html icon="check" %}
-I agree
-</button>
-<button type="button" class="btn btn-primary">
-{% include ui/icon.html icon="plus" %}
-More
-</button>
-<button type="button" class="btn btn-danger">
-{% include ui/icon.html icon="link" %}
-Link
-</button>
-<button type="button" class="btn btn-info">
-{% include ui/icon.html icon="message-circle" %}
-Comment
-</button>
-{% endcapture %}
-{% include example.html code=code wrapper="btn-list" centered=true %}
-
-
-## Social buttons
-
-You can use the icons of popular social networking sites, which users are familiar with. Thanks to buttons with social media icons users can share content or follow a website with just one click, without leaving the website.
-
-{% capture code %}
-{% for button in site.socials %}
-{% assign btn-icon = button[1].icon %}
-{% assign btn-title = button[1].title %}
-{% assign btn-color = button[0] %}
-{% include ui/button.html color=btn-color icon=btn-icon text=btn-title %}
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code wrapper="btn-list" centered=true %}
-
-You can also add an icon without the name of a social networking site, if you want to display more buttons on a small space.
-
-{% capture code %}
-{% for button in site.socials %}
-{% assign btn-icon = button[1].icon %}
-{% assign btn-color = button[0] %}
-{% include ui/button.html color=btn-color icon=btn-icon icon-only=true %}
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code wrapper="btn-list" centered=true %}
-
-
-## Icon buttons
-
-Add the `.btn-icon` class to remove unnecessary padding from your button and use an icon without any additional label. Thanks to that, you can save space and make the action easy to recognize for international users.
-
-{% capture code %}
-{% include ui/button.html icon="activity" color="primary" icon-only=true %}
-{% include ui/button.html icon="brand-github" color="github" icon-only=true %}
-{% include ui/button.html icon="bell" color="success" icon-only=true %}
-{% include ui/button.html icon="star" color="warning" icon-only=true %}
-{% include ui/button.html icon="trash" color="danger" icon-only=true %}
-{% include ui/button.html icon="chart-bar" color="purple" icon-only=true %}
-{% include ui/button.html icon="git-merge"  icon-only=true %}
-{% endcapture %}
-{% include example.html code=code wrapper="btn-list" centered=true %}
-
-
-## Dropdown buttons
-
-Create a dropdown button that will encourage users to click for more options. You can add a label with an icon or remove the label and add an icon on its own if you want to save space. Choose the option that will best suit your design and improve the user experience. 
-
-{% capture code %}
-<div class="dropdown">
-  <button type="button" class="btn dropdown-toggle" data-bs-toggle="dropdown">
-     {% include ui/icon.html icon="calendar" %}
-  </button>
-  {% include ui/dropdown-menu.html %}
-</div>
-
-<div class="dropdown">
-  <button type="button" class="btn dropdown-toggle" data-bs-toggle="dropdown">
-     {% include ui/icon.html icon="calendar" %}Show calendar
-  </button>
-  {% include ui/dropdown-menu.html %}
-</div>
-
-<div class="dropdown">
-  <button type="button" class="btn dropdown-toggle" data-bs-toggle="dropdown">
-     Show calendar
-  </button>
-  {% include ui/dropdown-menu.html %}
-</div>
-{% endcapture %}
-{% include example.html code=code wrapper="btn-list" centered=true %}
-
-
-## Loading buttons
-
-Add the `.btn-loading` class to show a button's loading state, which can be useful in the case of operations that take longer to process. Thanks to that, users will be aware of the current state of their action and won't give it up before it's finished.
-
-
-{% capture code %}
-{% include ui/button.html color="primary" text="Button" loading=true %}
-{% include ui/button.html color="primary" text="Loading button with loooong content" loading=true %}
-{% endcapture %}
-{% include example.html code=code wrapper="btn-list" centered=true %}
-
-
-
-{% capture code %}
-{% include ui/button.html color="primary" text="Button" spinner=true %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-
-## List of buttons
-
-Create a list of buttons using the `.btn-list` container to display different actions a user can take. If you add aditional styling, such as colours, you will be able to focus users' attention on a particular action or suggest the result. 
-
-{% capture code %}
-<div class="btn-list">
-  <a href="#" class="btn btn-success">Save changes</a>
-  <a href="#" class="btn">Save and continue</a>
-  <a href="#" class="btn btn-danger">Cancel</a>
-</div>
-{% endcapture %}
-{% include example.html code=code %}
-
-If the list is long, it will be wrapped and some buttons will be moved to the next line, keeping them all evenly spaced.
-
-{% capture code %}
-<div class="btn-list">
-  <a href="#" class="btn">One</a>
-  <a href="#" class="btn">Two</a>
-  <a href="#" class="btn">Three</a>
-  <a href="#" class="btn">Four</a>
-  <a href="#" class="btn">Five</a>
-  <a href="#" class="btn">Six</a>
-  <a href="#" class="btn">Seven</a>
-  <a href="#" class="btn">Eight</a>
-  <a href="#" class="btn">Nine</a>
-  <a href="#" class="btn">Ten</a>
-  <a href="#" class="btn">Eleven</a>
-  <a href="#" class="btn">Twelve</a>
-  <a href="#" class="btn">Thirteen</a>
-  <a href="#" class="btn">Fourteen</a>
-  <a href="#" class="btn">Fifteen</a>
-  <a href="#" class="btn">Sixteen</a>
-  <a href="#" class="btn">Seventeen</a>
-  <a href="#" class="btn">Eighteen</a>
-  <a href="#" class="btn">Nineteen</a>
-</div>
-{% endcapture %}
-{% include example.html code=code %}
-
-Use the `.text-center` or the `.text-end` modifiers to change the buttons' alignment and place them where they suit best.
-
-{% capture code %}
-<div class="btn-list justify-content-center">
-  <a href="#" class="btn">Save and continue</a>
-  <a href="#" class="btn btn-primary">Save changes</a>
-</div>
-{% endcapture %}
-{% include example.html code=code %}
-
-{% capture code %}
-<div class="btn-list justify-content-end">
-  <a href="#" class="btn">Save and continue</a>
-  <a href="#" class="btn btn-primary">Save changes</a>
-</div>
-{% endcapture %}
-{% include example.html code=code %}
-
-{% capture code %}
-<div class="btn-list">
-  <a href="#" class="btn btn-outline-danger me-auto">Delete</a>
-  <a href="#" class="btn">Save and continue</a>
-  <a href="#" class="btn btn-primary">Save changes</a>
-</div>
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Buttons with avatars
-
-Use buttons with avatars to simplify the process of interaction and make your design more personalized. Buttons can contain avatars and labels or only avatars, if displayed on a smaller space. 
-
-{% capture code %}
-<a href="#" class="btn">
-  {% include ui/avatar.html person-id="4" %} Avatar
-</a>
-<a href="#" class="btn">
-  {% include ui/avatar.html person-id="5" %} Avatar
-</a>
-<a href="#" class="btn">
-  {% include ui/avatar.html person-id="6" %} Avatar
-</a>
-{% endcapture %}
-{% include example.html code=code wrapper="btn-list" centered=true %}

+ 0 - 136
src/pages/_docs/cards.md

@@ -1,136 +0,0 @@
----
-title: Cards
-menu: help.docs.components.cards
-description: Cards are flexible user interface elements, which help organize content into meaningful sections and make it easier to display on different screen sizes. Cards contain various smaller components, such as images, text, links and buttons and may act as an entry to more detailed information, helping users scan the page quickly and find the most relevant content.
-bootstrap-link: components/card/
----
-
-
-## Default card
-
-Use the `.card` and `.card-body` classes to create a card and use it as the basis for a more advanced card design. A card is a perfect way to organize content and make it look neat and tidy. 
-
-{% capture code %}
-{% include cards/card.html body="This is some text within a card body." %}
-{% endcapture %}
-{% include example.html code=code columns=1 %}
-
-
-## Card padding
-
-You can change the padding of a newly created card. To do it, use the `.card-sm`, `.card-md` or `.card-lg` classes. 
-
-Cards with the `.card-sm` class are well suited for small items such as widgets, etc., while the `.card-lg` class can be used for large blocks of text. Padding will be automatically reduced on small devices, to fit the screen size.
-
-{% capture code %}
-{% include cards/card.html class="card-sm" body="This is some text within a card body." %}
-{% include cards/card.html body="This is some text within a card body." %}
-{% include cards/card.html class="card-md" body="This is some text within a card body." %}
-{% include cards/card.html class="card-lg" body="This is some text within a card body." %}
-{% endcapture %}
-{% include example.html code=code columns=2 wrapper="space-y" %}
-
-
-## Card with title
-
-Add a title to your card by including the `.card-title` class within `.card-body`. You can also place the title inside the `.card-header` element to separate the title from the content with a horizontal line.
-
-{% capture code %}
-{% include cards/card.html title="Card title" body="This is some text within a card body." %}
-{% include cards/card.html header-title="Card title" body="This is some text within a card body." %}
-{% endcapture %}
-{% include example.html code=code columns=1 wrapper="space-y" %}
-
-
-## Card with title and image
-
-To create a more visually appealing card, add a title and an image. Thanks to that, the card will go well with your interface design and draw users' attention.  
-
-{% capture code %}
-{% include cards/card.html img-top=true title="Card with title and image" %}
-{% endcapture %}
-{% include example.html code=code columns=1 %}
-
-
-## Blog post card
-
-Add an image to your blog post card to make it eye-catching. You can do it by adding the image in the `.card-img-top` class. Thanks to the `.d-flex` and `.flex-column` classes within `.card-body`, the author details will be displayed at the bottom of the card.
-
-{% capture code %}
-{% include cards/blog-single.html type="image" %}
-{% endcapture %}
-{% include example.html code=code columns=1 %}
-
-
-## Row deck
-
-Add the `.row-deck` class to `.row`, if you want to display several cards next to one another. Thanks to that, they will all have the same height.
-
-{% capture code %}
-<div class="row row-deck">
-    <div class="col-md-4">
-        <div class="card">
-            <div class="card-body">Short content</div>
-        </div>
-    </div>
-    <div class="col-md-4">
-        <div class="card">
-            <div class="card-body">Extra long content of card. Lorem ipsum dolor sit amet, consetetur sadipscing elitr</div>
-        </div>
-    </div>
-    <div class="col-md-4">
-        <div class="card">
-            <div class="card-body">Short content</div>
-        </div>
-    </div>
-</div>
-{% endcapture %}
-{% include example.html code=code columns=2 %}
-
-
-## Post card with aside image
-
-You can also add an image on the left side of the card. To do it, add the `.card-aside` class to the element with the `.card` class. Then add the image in the `.card-aside-column` element and it will be automatically centered and scaled to the right size.
-
-{% capture code %}
-{% include cards/blog-single.html type="aside" liked=1 article-id=3 %}
-{% endcapture %}
-{% include example.html code=code columns=2 %}
-
-
-## Color variations
-
-Add a status color to your card, either at the top or on the side of the card, to customise it and make it more eye-catching. 
-
-{% capture code %}
-<div class="row row-deck">
-    <div class="col-md-6">
-        {% include cards/card.html status-top="danger" title="Card with top status" %}
-    </div>
-    <div class="col-md-6">
-        {% include cards/card.html status-left="green" title="Card with side status" %}
-    </div>
-</div>
-{% endcapture %}
-{% include example.html code=code columns=2 %}
-
-
-## Stacked card
-
-Use the `card-stacked` class to stack up multiple cards, if you want to save screen space or create a visually appealing effect.
-
-{% capture code %}
-{% include cards/card.html class="card-stacked" title="Stacked card" %}
-{% endcapture %}
-{% include example.html code=code columns=1 %}
-
-
-## Tabbed card
-
-Organize multiple cards into tabs to be able to display more content in a well-organized way and allow users to alternate between them easily.
-
-{% capture code %}
-{% include cards/card-tabs.html count=4 %}
-{% endcapture %}
-{% include example.html code=code columns=2 %}
-

+ 0 - 59
src/pages/_docs/carousel.md

@@ -1,59 +0,0 @@
----
-title: Carousel
-menu: help.docs.components.carousel
-description: A carousel is used to display multiple pieces of visual content without taking up too much space. Carousels eliminate the need to scroll down the page to see all content and are a popular method of displaying marketing information.  
-bootstrap-link: components/carousel/
----
-
-
-## Default markup
-
-Use a carousel to make your website design more visually appealing for users. In the default carousel design, respective elements slide automatically and users can go to the next slide by clicking an arrow.
-
-{% capture code %}
-{% include ui/carousel.html indicators=true controls=true id="carousel-sample" %}
-{% endcapture %}
-{% include example.html code=code max-width="30rem" centered=true %}
-
-## Dots indicators
-
-You can replace the standard indicators with dots. Just add the `carousel-indicators-dot` class to your carousel:
-
-{% capture code %}
-{% include ui/carousel.html id="carousel-indicators-dot" title="Carousel with dot indicators" indicators=true indicators-dot=true offset=20 fade=true %}
-{% endcapture %}
-{% include example.html code=code max-width="30rem" centered=true %}
-
-## Thumb indicators
-
-The syntax is similar with thumbnails. Add class `carousel-indicators-thumb` and add `background-image` to element `[data-bs-target]`. Default thumbnails have an aspect ratio of 1:1. To change this use `ratio` utils.
-
-{% capture code %}
-{% include ui/carousel.html id="carousel-indicators-thumb" title="Carousel with thumbnail indicators" indicators=true indicators-thumb=true indicators-thumb-ratio=true offset=25 fade=true %}
-{% endcapture %}
-{% include example.html code=code max-width="30rem" centered=true %}
-
-## Vertical indicators
-
-To make the indicators go to the right side, add the `carousel-indicators-vertical` class. You can combine it with other classes that are responsible for dots or thumbnails.
-
-{% capture code %}
-{% include ui/carousel.html id="carousel-indicators-dot-vertical" title="Carousel with vertical dot indicators" indicators=true indicators-vertical=true indicators-dot=true offset=30 fade=true %}
-{% endcapture %}
-{% include example.html code=code max-width="30rem" centered=true %}
-
-Likewise, you can add thumbnails on the right side:
-
-{% capture code %}
-{% include ui/carousel.html id="carousel-indicators-thumb-vertical" title="Carousel with thumbnail indicators" indicators=true indicators-vertical=true indicators-thumb=true indicators-thumb-ratio=true offset=22 fade=true %}
-{% endcapture %}
-{% include example.html code=code max-width="30rem" centered=true %}
-
-## Carousel with captions
-
-Add captions to your slides easily with the `.carousel-caption` element within any `.carousel-item`. To make the text more readable on the image you can add `carousel-caption-background` which will add a black overlay over the image.
-
-{% capture code %}
-{% include ui/carousel.html id="carousel-captions" title="Carousel with captions" captions=true controls=true offset=15 %}
-{% endcapture %}
-{% include example.html code=code max-width="30rem" centered=true %}

+ 0 - 62
src/pages/_docs/charts.md

@@ -1,62 +0,0 @@
----
-title: Charts
-menu: help.docs.plugins.charts
-libs: apexcharts
-description: Tabler uses ApexCharts - a free and open-source modern charting library that helps developers to create beautiful and interactive visualizations for web pages.
----
-
-To be able to use the charts in your application you will need to install the apexcharts dependency with `npm install apexcharts`. 
-
-See also the [ApexCharts](https://apexcharts.com/) documentation.
-
-## Line Chart
-
-Line charts are a typical pictorial representation that depicts trends and behaviors over time.
-
-{% capture code %}
-{% include docs/chart.html chart="demo-line" %}
-{% endcapture %}
-{% include example.html code=code columns=1 %}
-
-## Area Chart
-
-Area charts are used to represent quantitative variations.
-
-{% capture code %}
-{% include docs/chart.html chart="demo-area" %}
-{% endcapture %}
-{% include example.html code=code columns=1 %}
-
-## Bar Chart
-
-A bar chart is the best tool for displaying comparisons between categories of data.
-
-{% capture code %}
-{% include docs/chart.html chart="demo-bar" %}
-{% endcapture %}
-{% include example.html code=code columns=2 %}
-
-## Pie Chart
-
-Pie charts are an instrumental visualization tool useful in expressing data and information in terms of percentages, ratio.
-
-{% capture code %}
-{% include docs/chart.html chart="demo-pie" %}
-{% endcapture %}
-{% include example.html code=code columns=1 %}
-
-# Heatmap Chart
-
-Heatmap is a visualization tool that employs color the way a bar chart employs height and width in representing data.
-
-{% capture code %}
-{% include docs/chart.html chart="heatmap-basic" heatmap=true %}
-{% endcapture %}
-{% include example.html code=code columns=2 %}
-
-# Advanced example
-
-{% capture code %}
-{% include docs/chart.html chart="social-referrals" %}
-{% endcapture %}
-{% include example.html code=code columns=2 %}

+ 0 - 76
src/pages/_docs/cursors.md

@@ -1,76 +0,0 @@
----
-title: Cursors
-description: You can use different cursors to reflect the intended user interaction with particular elements of an interface. The cursor will change when a user hovers over a given element to indicate the action which can be performed.
-menu: help.docs.utils.cursors
----
-
-## Cursor utilities 
-
-Use one of the available cursor utilities depending on the action you want to indicate.
-
-- `.cursor-auto`- the cursor style depends on what's inside a given element
-- `.cursor-pointer` - a pointing cursor, used to show that an element is clickable
-- `.cursor-move` - a cursor which shows that a given element can be moved 
-- `.cursor-not-allowed` - a cursor which shows that a user is not allowed to perform an action on an element
-- `.cursor-zoom-in` - a cursor which shows that a user can zoom in 
-- `.cursor-zoom-out` - a cursor which shows that a user can zoom out
-- `.cursor-default` - the default cursor
-- `.cursor-none` - no cursor
-- `.cursor-help` - a cursor which shows that help information is available
-- `.cursor-progress` - a cursor which shows that an action is in progress
-- `.cursor-wait` - a cursor which shows that a user cannot interact with the element because it is busy
-- `.cursor-text` - a cursor which shows that a user can type
-- `.cursor-v-text` - a cursor which shows that a user can type in a vertical text input
-- `.cursor-grab` - a cursor which shows that a user can grab an element
-- `.cursor-grabbing` - a cursor which shows that a user is grabbing an element
-
-{% capture code %}
-<div class="row text-center">
-  <div class="col-4 mb-3">
-    <div class="cursor-auto bg-light py-3">Cursor auto</div>
-  </div>
-  <div class="col-4 mb-3">
-    <div class="cursor-pointer bg-light py-3">Cursor pointer</div>
-  </div>
-  <div class="col-4 mb-3">
-    <div class="cursor-move bg-light py-3">Cursor move</div>
-  </div>
-  <div class="col-4 mb-3">
-    <div class="cursor-not-allowed bg-light py-3">Cursor not allowed</div>
-  </div>
-  <div class="col-4 mb-3">
-    <div class="cursor-zoom-in bg-light py-3">Cursor zoom in</div>
-  </div>
-  <div class="col-4 mb-3">
-    <div class="cursor-zoom-out bg-light py-3">Cursor zoom out</div>
-  </div>
-  <div class="col-4 mb-3">
-    <div class="cursor-default bg-light py-3">Cursor default</div>
-  </div>
-  <div class="col-4 mb-3">
-    <div class="cursor-none bg-light py-3">Cursor none</div>
-  </div>
-  <div class="col-4 mb-3">
-    <div class="cursor-help bg-light py-3">Cursor help</div>
-  </div>
-  <div class="col-4 mb-3">
-    <div class="cursor-progress bg-light py-3">Cursor progress</div>
-  </div>
-  <div class="col-4 mb-3">
-    <div class="cursor-wait bg-light py-3">Cursor wait</div>
-  </div>
-  <div class="col-4 mb-3">
-    <div class="cursor-text bg-light py-3">Cursor text</div>
-  </div>
-  <div class="col-4">
-    <div class="cursor-v-text bg-light py-3">Cursor vertical text</div>
-  </div>
-  <div class="col-4">
-    <div class="cursor-grab bg-light py-3">Cursor grab</div>
-  </div>
-  <div class="col-4">
-    <div class="cursor-grabbing bg-light py-3">Cursor grabbing</div>
-  </div>
-</div>
-{% endcapture %}
-{% include example.html code=code %}

+ 0 - 10
src/pages/_docs/datagrid.md

@@ -1,10 +0,0 @@
----
-title: Data grid
-menu: help.docs.components.datagrid
-description: Use the data grid component to display detailed information about your product. The data is displayed as a column of items consisting of a title and content.
----
-
-{% capture code %}
-{% include parts/datagrid.html %}
-{% endcapture %}
-{% include example.html code=code wrapper="demo-dividers" %}

+ 0 - 127
src/pages/_docs/dropdowns.md

@@ -1,127 +0,0 @@
----
-title: Dropdowns
-description: Use dropdowns to display lists of options or include more positions in a menu without overwhelming users with too many buttons and long lists. Dropdowns facilitate users' interaction with your website or software and make your design look clear.
-bootstrap-link: components/dropdowns
-menu: help.docs.components.dropdowns
----
-
-
-## Default dropdown
-
-With small markup changes, you can turn any `.btn` into a dropdown toggle and use it to display more options for users to choose from. Start with the default dropdown and then use additional classes to make your dropdown more user-friendly.
-
-{% capture code %}
-{% include ui/dropdown-menu.html show=true %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-
-## Dropdown divider
-
-Use dropdown dividers to separate groups of dropdown items for greater clarity.
-
-{% capture code %}
-{% include ui/dropdown-menu.html show=true separated=true %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-
-## Active state
-
-Make a dropdown item look active, so that it highlights when a user hovers over a given option.
-
-{% capture code %}
-{% include ui/dropdown-menu.html show=true active=true %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-
-## Disabled state
-
-Make a dropdown item look disabled to display options which are currently not available but can activate once certain conditions are met.
-
-{% capture code %}
-{% include ui/dropdown-menu.html show=true disabled=true %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-
-## Dropdown header
-
-Add a dropdown header to group dropdown items into sections and name them accordingly. 
-
-{% capture code %}
-{% include ui/dropdown-menu.html show=true header=true %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-
-## Dropdown with icons
-
-Use icons in your dropdowns to add more visual content and make the options easy to identify for users.
-
-{% capture code %}
-{% include ui/dropdown-menu.html show=true icons=true header=true %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-
-## Dropdown with arrow
-
-Add an arrow that points at the dropdown button.
-
-{% capture code %}
-{% include ui/dropdown-menu.html show=true arrow=true %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-
-## Dropdown with badge
-
-Add a badge to your dropdown items to show additional information related to an item or distinguish it from other elements.
-
-{% capture code %}
-{% include ui/dropdown-menu.html show=true badge=true %}
-{% endcapture %}
-{% include example.html code=code centered=true %}
-
-
-## Dropdown with checkboxes
-
-Use dropdowns with checkboxes to allow users to select options from a predefined list. Dropdowns with checkboxes are particularly useful for filtering. 
-
-{% 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
-
-Make your dropdown suit the dark mode of your website or software. 
-
-{% 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
-
-Use a dropdown with card content to make it easy for users to get more information on a given subject and avoid ovewhelming them with too much content at once.
-
-{% capture code %}
-{% include ui/button.html  text="Button" %}
-<div class="dropdown{% hide %} show{% endhide %}">
-    <a href="#" class="btn btn-primary dropdown-toggle">Dropdown</a>
-    <div class="dropdown-menu dropdown-menu-card{% hide %} show position-static{% endhide %}" style="max-width: 20rem;">
-        {% include cards/blog-single.html type="image" %}
-    </div>
-</div>
-{% endcapture %}
-{% include example.html code=code centered=true wrapper="btn-list align-items-start" %}

+ 0 - 27
src/pages/_docs/dropzone.md

@@ -1,27 +0,0 @@
----
-title: Dropzone
-menu: help.docs.plugins.dropzone
-libs: dropzone
-description: Dropzone is a simple JavaScript library that helps you add file drag and drop functionality to your web forms. It is one of the most popular drag and drop library on the web and is used by millions of people.
----
-
-## Default Dropzone
-
-{% capture code %}
-{% include ui/dropzone.html id="default" %}
-{% endcapture %}
-{% include example.html code=code %}
-
-## Add multiple files
-
-{% capture code %}
-{% include ui/dropzone.html id="mulitple" multiple=true %}
-{% endcapture %}
-{% include example.html code=code %}
-
-## Custom Dropzone
-
-{% capture code %}
-{% include ui/dropzone.html id="custom" custom="true" text='Your text here' description="Your custom description here"%}
-{% endcapture %}
-{% include example.html code=code %}

+ 0 - 34
src/pages/_docs/empty.md

@@ -1,34 +0,0 @@
----
-title: Empty states
-description: Empty states or blank pages are commonly used as placeholders for first-use, empty data or error screens. Their aim is to engage users when there is no content to display and that is why their design is extremely important from the point of view of the user experience of your website or app.
-menu: help.docs.components.empty
----
-
-
-## Default markup
-
-Use the default empty state to engage users in the critical moments of their experience with your website or app. A good empty state screen should let users know what is happening and what they should do next as well as encourage them to take action.
-
-{% capture code %}
-{% include ui/empty.html %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Empty state with illustration
-
-Make your empty state screen more attractive and engaging by adding an illustration. Thanks to a more personalized design, you will improve your brand image and make your website or app more user friendly.
-
-{% capture code %}
-{% include ui/empty.html illustration=true title="Invoices are managed from here" description="You can see which ones are sent, viewed, partially or fully paid." button-icon="plus" button-text="New invoice" %}
-{% endcapture %}
-{% include example.html code=code %}
-
-## Empty state with header
-
-Instead of adding an icon or illustration you can simply give the text:
-
-{% capture code %}
-{% include ui/empty.html icon-text="404" title="Oops… You just found an error page" description="We are sorry but the page you are looking for was not found" button-text="Take me home" button-icon="arrow-left" %}
-{% endcapture %}
-{% include example.html code=code %}

+ 0 - 48
src/pages/_docs/flags.md

@@ -1,48 +0,0 @@
----
-title: Flags
-menu: help.docs.plugins.flags
-description: Thanks to the Tabler flags plug-in, you can create flags to visually represent countries or languages. Flags are often used in forms, as an element of a delivery address, phone number dialling code and many more. 
-plugin: flags
-libs: tabler-flags
----
-
-
-## Flag
-
-To create a flag, add the `flag` class to a component and choose the country whose flag you want to use. The full list of countries can be found below. 
-
-{% capture code %}
-{% include ui/flag.html flag="tg" class="me-1" %}
-{% include ui/flag.html flag="br" class="me-1" %}
-{% include ui/flag.html flag="pt" %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Flag sizes
-
-Using Bootstrap’s typical naming structure, you can create a standard flag, or scale it up or down to different sizes based on what’s needed.
-
-{% capture code %}
-{% include ui/flag.html flag="pl" size="xl" class="me-1" %}
-{% include ui/flag.html flag="pl" size="lg" class="me-1" %}
-{% include ui/flag.html flag="pl" size="md" %}
-{% include ui/flag.html flag="pl" size="sm" class="me-1" %}
-{% include ui/flag.html flag="pl" size="xs" class="me-1" %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Types
-
-To use the flag of a particular country, add the `flag-country-(country name)` class. For example, to create a flag of Andorra should use the following class: `.flag-country-ad`.
-
-<table>
-{% for flag in site.data.flags %}
-<tr>
-<td>{% include ui/flag.html flag=flag.flag %}</td>
-<td><code>{{ flag.flag }}</code></td>
-<td>{{ flag.name }}</td>
-</tr>
-{% endfor %}
-</table>

+ 0 - 27
src/pages/_docs/form-color-check.md

@@ -1,27 +0,0 @@
----
-title: Color check
-menu: help.docs.forms.color-check
----
-
-Your input controls can come in a variety of colors, depending on your preferences. Click [here]({% docs_url colors %}) to see the list of available colors.
-
-{% capture code %}
-{% include parts/form/input-color.html %}
-{% endcapture %}
-{% include example.html code=code %}
-
-{% capture code %}
-{% include parts/form/input-color.html name="color-rounded" rounded=true %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Input color picker
-
-Add an color picker to your form to let users customise it according to their preferences.
-
-{% capture code %}
-{% include parts/form/input-colorpicker.html %}
-{% endcapture %}
-{% include example.html code=code %}
-

+ 0 - 225
src/pages/_docs/form-elements.md

@@ -1,225 +0,0 @@
----
-title: Form elements
-description: Forms are one of the most important types of interaction with a website or app. Since their aim is to enable users to make a purchase, subscribe to a service or sign up to create an account, it's important to make sure they are easy to complete and help increase conversion rates. Use the available elements to create forms which are well-structured and user-friendly.
-bootstrap-link: components/forms/
-libs: nouislider
-menu: help.docs.forms.form-elements
----
-
-
-## Classic inputs
-
-Use classic, user-friendly inputs, label them appropriately and include input placeholders that will help users avoid confusion when completing a form.
-
-{% capture code %}
-{% include parts/form/input.html type="text" hint="Here's some more info." %}
-{% include parts/form/input.html type="password" hint="Here's some more info." %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Form control rounded
-
-Use the ``form-control-rounded`` class if you prefer form controls with rounded corners.
-
-{% capture code %}
-<div class="mb-3">
-	<label class="form-label">Form control rounded</label>
-	<input type="text" class="form-control form-control-rounded mb-2" name="Form control rounded" placeholder="Text..">
-	{% include ui/form/input-icon.html input-class="form-control-rounded" %}
-</div>
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Form control flush
-
-You can remove borders from your form control by adding the ``form-control-flush`` class.
-
-{% capture code %}
-<div class="mb-3">
-	<label class="form-label">Form control flush</label>
-	<input type="text" class="form-control form-control-flush" name="Form control flush" placeholder="Text..">
-</div>
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Input with icon
-
-Add icons to your input controls to suggest users what they should enter or inform them of the current state of a form element.
-
-{% capture code %}
-{% include parts/form/input-icon.html %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Separated inputs
-
-Include an additional element in your input section, such as a button which can be used to submit the information enetered in the input control. 
-
-{% capture code %}
-{% include parts/form/input-icon-separated.html %}
-{% endcapture %}
-{% include example.html code=code %}
-
-## Textarea and select
-
-Use a multi-line text input control to enable users to enter longer pieces of text. The control will automatically adjust to the length of the text entered.
-
-Add one of the available selects - either a dropdown or a multiple choice select - to let users choose from a predefined set of options.
-
-{% capture code %}
-{% include parts/form/input.html type="textarea" %}
-
-{% include parts/form/select.html %}
-{% include parts/form/select.html label="Select multiple" multiple=true %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Input size
-
-Choose the size of an input control that will go well with your form design. Apart from the default size, you can also use small and large input controls.
-
-{% capture code %}
-{% include parts/form/input-sizes.html %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-
-## Datalists
-
-Use the ``datalist`` element to add an autocomplete feature to your input control. The list of available options will display once a user starts to type and will make it quicker to complete form sections. 
-
-{% capture code %}
-{% include parts/form/input-datalist.html %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Toggle switches
-
-Use toggle switches for the elements of your form which require choosing between two opposing states.  
-
-{% capture code %}
-{% include parts/form/input-toggle.html %}
-{% include parts/form/input-toggle-single.html %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Radios
-
-Use radio buttons for the parts of your form which require users to choose one option from a set of two or more mutually exclusive options.  
-
-{% capture code %}
-{% include parts/form/input-radios.html %}
-{% include parts/form/input-radios-inline.html %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Checkboxes
-
-Use checkoxes if you want to allow users to select more than one option from a set of predefined options or to turn an option on or off.
-
-{% capture code %}
-{% include parts/form/input-checkboxes.html %}
-{% include parts/form/input-checkboxes-inline.html %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Range input
-
-Add a range slider to make it possible for users to set a value or range, such as a price range or a time frame.
-
-{% capture code %}
-{% include parts/form/input-range.html %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Input group
-
-Create a group of input controls and place add-ons on either side of an input.
-
-{% capture code %}
-<div class="mb-3">
-	<label class="form-label">Input group</label>
-	{% include ui/form/input-group.html prepend="@" placeholder="username" class="mb-2" %}
-	{% include ui/form/input-group.html append=".tabler.io" placeholder="subdomain" class="mb-2" %}
-	{% include ui/form/input-group.html prepend="https://" append=".tabler.io" placeholder="subdomain" %}
-</div>
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Input with checkboxes or radios
-
-Add checkboxes or radio buttons on either side of your input control. 
-
-{% capture code %}
-<div class="mb-3">
-	<label class="form-label">Input with checkbox or radios</label>
-	{% include ui/form/input-group.html prepend="checkbox" class="mb-2" %}
-	{% include ui/form/input-group.html append="radio" %}
-</div>
-{% endcapture %}
-{% include example.html code=code %}
-
-## Input with prepended or appended text
-
-Add text to your input control, either before or after the text which is to be entered by a user. 
-
-{% capture code %}
-<div class="mb-3">
-	<label class="form-label">Input with prepended text</label>
-	{% include ui/form/input-group.html prepend="https://tabler.io/users/" flat=true input-class="ps-0" value="yourfancyusername" class="mb-2" %}
-	{% include ui/form/input-group.html append=".tabler.io" input-class="text-end pe-0" flat=true value="yourfancydomain" %}
-</div>
-{% endcapture %}
-{% include example.html code=code %}
-
-## Input with appended link
-
-Include a link in your input control to add a clickable element within the control.
-
-{% capture code %}
-<div class="mb-3">
-	<label class="form-label">Input with appended link</label>
-	{% include ui/form/input-group.html append-link="Show password" flat=true type="password" value="ultrastrongpassword" %}
-</div>
-{% endcapture %}
-{% include example.html code=code %}
-
-## Input with appended `<kbd>`
-
-Include a `<kbd>` in your input control to add shortcut to the control.
-
-{% capture html %}
-<kbd>ctrl + K</kbd>
-{% endcapture %}
-{% capture code %}
-<div class="mb-3">
-	<label class="form-label">Input with appended link</label>
-	{% include ui/form/input-group.html append-html=html flat=true type="password" value="ultrastrongpassword" %}
-</div>
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Input with appended icon links
-
-Add an icon link which you want to display at the end of your input control to visually represent actions which a user can take.
-
-{% capture code %}
-<div class="mb-3">
-	<label class="form-label">Input with appended icon links</label>
-	{% include ui/form/input-group.html append-button="x:Clear search,adjustments:Search settings,bell:Add notification" flat=true %}
-</div>
-{% endcapture %}
-{% include example.html code=code %}

+ 0 - 11
src/pages/_docs/form-fieldset.md

@@ -1,11 +0,0 @@
----
-title: Form fieldset
-menu: help.docs.forms.fieldset
----
-
-Group parts of your form to make it well-structured and clearer for users, using the ``fieldset`` element.
-
-{% capture code %}
-{% include parts/form/fieldset.html %}
-{% endcapture %}
-{% include example.html code=code %}

+ 0 - 22
src/pages/_docs/form-image-check.md

@@ -1,22 +0,0 @@
----
-title: Image check
-menu: help.docs.forms.image-check
----
-
-Add an image check to your form and give users visually attractive options to choose from.
-
-{% capture code %}
-{% include parts/form/input-image.html %}
-{% endcapture %}
-{% include example.html code=code max-width="25rem" %}
-
-{% capture code %}
-{% include parts/form/input-image-radio.html offset=10 %}
-{% endcapture %}
-{% include example.html code=code max-width="25rem" %}
-
-
-{% capture code %}
-{% include parts/form/input-image-people.html %}
-{% endcapture %}
-{% include example.html code=code %}

+ 0 - 23
src/pages/_docs/form-selectboxes.md

@@ -1,23 +0,0 @@
----
-title: Form selectboxes
-menu: help.docs.forms.selectboxes
----
-
-Add selectboxes to make your form more intuitive by providing users with a set of options to choose from. You can add simple selectboxes with a label, use icons only or icons with labels. Alternatively, you can use pill selectboxes if they go well with your design.
-
-{% capture code %}
-{% include parts/form/input-selectgroups.html %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Advanced selectboxes
-
-Use more advanced selectboxes to display the range of available options. You can choose selectboxes with radio buttons, if you want users to select only one option or with checkboxes, if they are allowed to choose multiple options.
-
-{% capture code %}
-{% include parts/form/selectgroup-payments.html %}
-{% include parts/form/selectgroup-project-manager.html %}
-{% endcapture %}
-{% include example.html code=code %}
-

+ 0 - 20
src/pages/_docs/form-validation.md

@@ -1,20 +0,0 @@
----
-title: Validation states
-menu: help.docs.forms.validation-states
-description: To inform users whether the entered value is correct or not, use either of the validation states. Thanks to that, users will immediately know which form elements they need to correct and, if the state displays as invalid, why the value is incorrect.
----
-
-{% capture code %}
-{% include parts/form/validation-states.html %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Subtle validation states
-
-If you prefer a more subtle manner of informing users of the input control validation state, you can use tick and cross symbols and resign from colored control frames and the validation feedback.
-
-{% capture code %}
-{% include parts/form/validation-states.html lite=true %}
-{% endcapture %}
-{% include example.html code=code %}

+ 0 - 53
src/pages/_docs/icons.md

@@ -1,53 +0,0 @@
----
-title: Icons
-menu: help.docs.content.icons
-description: Use one of over 1500 icons created specifically for Tabler and make your dashboard look even more attractive. All icons are under MIT license, so you can use them without any problem both in private and commercial projects.
-banner: icons
----
-
-## Base icon
-
-{% capture code %}
-  {% include ui/icon.html icon="heart" %}
-  {% include ui/icon.html icon="ghost" %}
-  {% include ui/icon.html icon="star" %}
-  {% include ui/icon.html icon="bike" %}
-{% endcapture %}
-{% include example.html code=code %}
-
-## Filled icons 
-
-{% capture code %}
-  {% include ui/icon.html icon="heart" class="icon-filled" %}
-  {% include ui/icon.html icon="circle" class="icon-filled" %}
-  {% include ui/icon.html icon="star" class="icon-filled" %}
-  {% include ui/icon.html icon="square" class="icon-filled" %}
-{% endcapture %}
-{% include example.html code=code %}
-
-## Icon colors
-
-{% capture code %}
-  <span class="text-red">
-    {% include ui/icon.html icon="heart" class="icon-filled" %}
-  </span>
-  <span class="text-yellow">
-    {% include ui/icon.html icon="star" class="icon-filled" %}
-  </span>
-  <span class="text-blue">
-    {% include ui/icon.html icon="circle" %}
-  </span>
-  <span class="text-green">
-    {% include ui/icon.html icon="square" %}
-  </span>
-{% endcapture %}
-{% include example.html code=code %}
-
-## Icon animations
-
-{% capture code %}
-  {% include ui/icon.html icon="heart" class="icon-pulse" %}
-  {% include ui/icon.html icon="bell" class="icon-tada" %}
-  {% include ui/icon.html icon="rotate-clockwise" class="icon-rotate" %}
-{% endcapture %}
-{% include example.html code=code %}

+ 0 - 27
src/pages/_docs/index.html

@@ -1,27 +0,0 @@
----
-title: Introduction
-menu: help.docs.index
-redirect_from: docs.html
----
-
-<p>Tabler is a UI kit that speeds up the development process and makes it easier than ever! Built on the latest version of Bootstrap, it helps you create templates based on fully customizable and ready-to-use UI components, which can be used by both simple websites and sophisticated systems. With basic knowledge of HTML and CSS, you’ll be able to create dashboards that are fully functional and beautifully designed!</p>
-
-<div class="mt-4">
-	<div class="row">
-		{% for doc in site.data.docs %}
-		{% unless doc[1].hide-in-index %}
-		<div class="{% if doc[1].columns == 2 %}col-12{% else %}col-sm-6{% endif %}">
-			<h3>{{ doc[1].title }}</h3>
-
-			<ul class="list-unstyled{% if doc[1].columns %} columns-md-{{ doc[1].columns }}{% endif %}">
-				{% for item in doc[1].children %}
-				<li>
-					- <a href="{{ site.base }}{{ item[1].url | relative_url }}">{{ item[1].title }}</a>
-				</li>
-				{% endfor %}
-			</ul>
-		</div>
-		{% endunless %}
-		{% endfor %}
-	</div>
-</div>

+ 0 - 21
src/pages/_docs/inline-player.md

@@ -1,21 +0,0 @@
----
-title: Inline player
-menu: help.docs.plugins.plyr
-libs: plyr
-description: A simple, lightweight, accessible and customizable HTML5, YouTube and Vimeo media player that supports modern browsers.
----
-
-## Sample demo
-
-{% capture code %}
-{% include ui/inline-player.html id="youtube" embed-id="dQw4w9WgXcQ" %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Vimeo file
-
-{% capture code %}
-{% include ui/inline-player.html id="vimeo" type="vimeo" embed-id="515937365" %}
-{% endcapture %}
-{% include example.html code=code %}

+ 0 - 57
src/pages/_docs/modals.md

@@ -1,57 +0,0 @@
----
-title: Modals
-description: Use Bootstrap’s JavaScript modal plugin to add dialogs to your site for lightboxes, user notifications, or completely custom content.
-menu: help.docs.components.modals
----
-
-## Default markup
-
-{% capture code %}
-<div class="modal{% hide %} d-block position-relative{% endhide %}" tabindex="-1">
-    <div class="modal-dialog" role="document">
-        <div class="modal-content">
-            {% include parts/modals/simple.html %}
-        </div>
-    </div>
-</div>
-{% endcapture %}
-{% include example.html code=code modal=true %}
-
-
-## Prompt and alert
-
-{% capture code %}
-<div class="modal{% hide %} d-block position-relative{% endhide %}" tabindex="-1">
-    <div class="modal-dialog modal-sm" role="document">
-        <div class="modal-content">
-            {% include parts/modals/danger.html %}
-        </div>
-    </div>
-</div>
-{% endcapture %}
-{% include example.html code=code modal=true %}
-
-{% capture code %}
-<div class="modal{% hide %} d-block position-relative{% endhide %}" tabindex="-1">
-    <div class="modal-dialog modal-sm" role="document">
-        <div class="modal-content">
-            {% include parts/modals/success.html %}
-        </div>
-    </div>
-</div>
-{% endcapture %}
-{% include example.html code=code modal=true %}
-
-
-## Modal with form
-
-{% capture code %}
-<div class="modal{% hide %} d-block position-relative{% endhide %}" tabindex="-1">
-    <div class="modal-dialog modal-lg" role="document">
-        <div class="modal-content">
-            {% include parts/modals/report.html %}
-        </div>
-    </div>
-</div>
-{% endcapture %}
-{% include example.html code=code modal=true %}

+ 0 - 40
src/pages/_docs/page-headers.md

@@ -1,40 +0,0 @@
----
-title: Page headers
-menu: help.docs.layout.headers
-description: Page heading examples for Tabler
----
-
-## Simple header
-
-{% capture code %}
-{% include layout/headers/page-header-5.html %}
-{% endcapture %}
-{% include example.html code=code columns=2 %}
-
-## With meta, avatar and actions
-
-{% capture code %}
-{% include layout/headers/page-header-1.html %}
-{% endcapture %}
-{% include example.html code=code columns=2 %}
-
-## With meta, search and actions
-
-{% capture code %}
-{% include layout/headers/page-header-2.html %}
-{% endcapture %}
-{% include example.html code=code columns=2 %}
-
-## Bordered header
-
-{% capture code %}
-{% include layout/headers/page-header-3.html %}
-{% endcapture %}
-{% include example.html code=code columns=2 %}
-
-## Header with breadcrumb and actions
-
-{% capture code %}
-{% include layout/headers/page-header-4.html %}
-{% endcapture %}
-{% include example.html code=code columns=2 %}

+ 0 - 46
src/pages/_docs/payments.md

@@ -1,46 +0,0 @@
----
-title: Payments
-menu: help.docs.plugins.payments
-description: The Tabler payments plug-in will let you use a set of payment provider icons to facilitate the payment process and make it more-user friendly.
-plugin: payments
----
-
-## Payment
-
-To create a payment provider icon, add the `payment` class to a component and specify the payment provider. The full list of payment providers can be found below.
-
-{% capture code %}
-{% include ui/payment.html class="me-3" payment="shopify"%}
-{% include ui/payment.html class="me-3" payment="visa" %}
-{% include ui/payment.html class="me-3" payment="paypal"%}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Payment sizes
-
-Using Bootstrap’s typical naming structure, you can create a standard payment, or scale it up or down to different sizes based on what’s needed.
-
-{% capture code %}
-{% include ui/payment.html class="me-3" payment="shopify" size="xl" %}
-{% include ui/payment.html class="me-3" payment="visa" size="lg" %}
-{% include ui/payment.html class="me-3" payment="paypal" size="md" %}
-{% include ui/payment.html class="me-3" payment="amazon" size="sm" %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Types
-
-Select an icon from the list of payment providers. Each icon comes in two color variants - light and dark, so you can choose the one that goes well with your design.
-
-<table class="table-vcenter">
-{% for payment in site.data.payments %}
-<tr>
-    <td>{{ payment.name }}</td>
-    <td><code>{{ payment.logo }}</code></td>
-    <td class="w-1">{% include ui/payment.html payment=payment.logo %}</td>
-    <td class="w-1">{% include ui/payment.html payment=payment.logo dark=true %}</td>
-</tr>
-{% endfor %}
-</table>

+ 0 - 166
src/pages/_docs/placeholder.md

@@ -1,166 +0,0 @@
----
-title: Placeholder
-menu: help.docs.components.placeholder
-description: Placeholder is used to reserve space for content that soon will appear in a layout.
-redirect_from:
-    - /docs/skeleton.html
----
-
-## Placeholder line
-
-Placeholder lines can contain have lines of text. Their length is different and depends on the `col-` class.
-
-{% capture code %}
-<div class="placeholder col-9"></div>
-<div class="placeholder col-11"></div>
-<div class="placeholder col-10"></div>
-<div class="placeholder col-8"></div>
-{% endcapture %}
-{% include example.html code=code %}
-
-However, it may be useful, however, to specify the full width in order to fit the content more effectively.
-
-{% capture code %}
-<div class="placeholder col-12"></div>
-<div class="placeholder col-12"></div>
-<div class="placeholder col-12"></div>
-<div class="placeholder col-12"></div>
-{% endcapture %}
-{% include example.html code=code %}
-
-You can also move the lines to right or to center:
-
-{% capture code %}
-<div class="text-end">
-  <div class="placeholder col-11"></div>
-  <div class="placeholder col-10"></div>
-  <div class="placeholder col-8"></div>
-</div>
-<div class="text-center mt-3">
-  <div class="placeholder col-11"></div>
-  <div class="placeholder col-10"></div>
-  <div class="placeholder col-8"></div>
-</div>
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Placeholder heading
-
-A placeholder can contain also a header element looks like header:
-
-{% capture code %}
-<div class="placeholder col-9 mb-3"></div>
-<div class="placeholder placeholder-xs col-10"></div>
-<div class="placeholder placeholder-xs col-11"></div>
-{% endcapture %}
-{% include example.html code=code %}
-
-## Placeholder avatar
-
-You can make your placeholder item look like an avatar.
-
-{% capture code %}
-<div class="row">
-  <div class="col-auto">
-    <div class="avatar placeholder"></div>
-  </div>
-  <div class="col">
-    <div class="placeholder col-9"></div>
-    <div class="placeholder col-11"></div>
-  </div>
-</div>
-{% endcapture %}
-{% include example.html code=code %}
-
-The size of avatars is exactly the same as a regular avatar.
-
-{% capture code %}
-<div class="avatar avatar-xl placeholder"></div>
-<div class="avatar avatar-lg placeholder"></div>
-<div class="avatar avatar-md placeholder"></div>
-<div class="avatar placeholder"></div>
-<div class="avatar avatar-sm placeholder"></div>
-<div class="avatar avatar-xs placeholder"></div>
-{% endcapture %}
-{% include example.html code=code %}
-
-## Placeholder image
-
-You can use a placeholder, which will look like a picture. You can use the `ratio` component, and get the image in the right proportions.
-
-
-You can also use the `ratio` component, and get the image in the right proportions.
-
-{% capture code %}
-<div class="ratio ratio-1x1 placeholder">
-  <div class="placeholder-image"></div>
-</div>
-<div class="ratio ratio-4x3 placeholder">
-  <div class="placeholder-image"></div>
-</div>
-<div class="ratio ratio-16x9 placeholder">
-  <div class="placeholder-image"></div>
-</div>
-<div class="ratio ratio-21x9 placeholder">
-  <div class="placeholder-image"></div>
-</div>
-{% endcapture %}
-{% include example.html code=code max-width="200px" wrapper="space-y" %}
-
-## Placeholder color
-
-By default, the `placeholder` uses `currentColor`. This can be overridden with a custom color or utility class.
-
-{% capture code %}
-<span class="placeholder col-12"></span>
-
-<span class="placeholder col-12 bg-primary"></span>
-<span class="placeholder col-12 bg-secondary"></span>
-<span class="placeholder col-12 bg-success"></span>
-<span class="placeholder col-12 bg-danger"></span>
-<span class="placeholder col-12 bg-warning"></span>
-<span class="placeholder col-12 bg-info"></span>
-<span class="placeholder col-12 bg-light"></span>
-<span class="placeholder col-12 bg-dark"></span>
-{% endcapture %}
-{% include example.html code=code wrapper="space-y" %}
-
-## Placeholder sizing
-
-The size of `.placeholders` are based on the typographic style of the parent element. Customize them with sizing modifiers: `.placeholder-lg`, `.placeholder-sm`, or `.placeholder-xs`.
-
-{% capture code %}
-<span class="placeholder col-12 placeholder-lg"></span>
-<span class="placeholder col-12"></span>
-<span class="placeholder col-12 placeholder-sm"></span>
-<span class="placeholder col-12 placeholder-xs"></span>
-{% endcapture %}
-{% include example.html code=code wrapper="space-y" %}
-
-## Animation
-
-Animate placeholders with `.placeholder-glow` or `.placeholder-wave` to better convey the perception of something being actively loaded.
-
-{% capture code %}
-<p class="placeholder-glow">
-  <span class="placeholder col-12"></span>
-</p>
-<p class="placeholder-wave">
-  <span class="placeholder col-12"></span>
-</p>
-{% endcapture %}
-{% include example.html code=code wrapper="space-y" %}
-
-## Live examples
-
-See in the following examples how else you can use the placeholder component
-
-{% capture code %}
-{% include cards/placeholder/card-1.html %}
-{% include cards/placeholder/card-2.html %}
-{% include cards/placeholder/card-3.html %}
-{% include cards/placeholder/card-4.html %}
-{% include cards/placeholder/card-6.html %}
-{% endcapture %}
-{% include example.html code=code columns=1 wrapper="space-y" %}

+ 0 - 69
src/pages/_docs/progress.md

@@ -1,69 +0,0 @@
----
-title: Progress bars
-description: Progress bars are used to provide feedback on an action status and inform users of the current progress. Although seemingly small interface elements, they are extremely hepful in managing users' expectations and preventing them from abandoning a process they have initiated.
-bootstrap-link: components/progress
-menu: help.docs.components.progress
----
-
-
-## Default markup
-
-To create a default progress bar, add a `.progress` class to a `<div>` element. Thanks to that, you will be able to notify users how long they have to wait for a process to complete.
-
-{% capture code %}
-{% include ui/progress.html %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Progress size
-
-Using Bootstrap’s typical naming structure, you can create a standard progress bar or scale it up or down to different sizes based on what’s needed.
-
-{% capture code %}
-{% include ui/progress.html value=57 size="sm" %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Progress without value
-
-Remove the displayed value by adding the `.visually-hidden` class.
-
-{% capture code %}
-{% include ui/progress.html value=75 show-value=false %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Indeterminate progress
-
-You can create a progress bar which shows indeterminate progress by adding `.progress-bar-indeterminate` to the `.progress-bar` element.
-
-{% capture code %}
-{% include ui/progress.html indeterminate=true size="sm" %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Native progress element
-
-You can also use native HTML5 `<progress>` element.
-
-{% capture code %}
-<progress class="progress progress-sm" value="15" max="100"/>
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Progress color
-
-Customize the color of the progress bar to suit your design. Click [here]({% docs_url colors %}) to see the list of available colors.
-
-{% capture code %}
-{% include ui/progress.html size="sm" color="red" class="mb-2" value=24 %} 
-{% include ui/progress.html size="sm" color="green" class="mb-2" value=45 %} 
-{% include ui/progress.html size="sm" color="purple" class="mb-2" value=64 %} 
-{% include ui/progress.html size="sm" color="pink" %} 
-{% endcapture %}
-{% include example.html code=code %}

+ 0 - 13
src/pages/_docs/progressbg.md

@@ -1,13 +0,0 @@
----
-title: Progressbg
-menu: help.docs.components.progressbg
----
-
-{% capture code %}
-<div class="progressbg">
-  {% include ui/progress.html value=35 class="progressbg-progress" color="primary-lt" %}
-  <div class="progressbg-text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ea eos ullam ut. Doloribus est in laborum, ratione recusandae reprehenderit tenetur. Accusantium consectetur ea enim facere ipsam praesentium quas soluta tenetur?</div>
-  <div class="progressbg-value">35%</div>
-</div>
-{% endcapture %}
-{% include example.html code=code %}

+ 0 - 150
src/pages/_docs/range-slider.md

@@ -1,150 +0,0 @@
----
-title: Range slider
-menu: help.docs.components.range-slider
-libs: nouislider
----
-
-To be able to use the range slider in your application you will need to install the nouislider dependency with `npm install nouislider`.
-
-All options and features can be found [**here**](https://refreshless.com/nouislider/).
-
-
-## Basic range slider
-
-{% capture code %}
-<div data-slider='{"js-name": "slider0","start": 50,"range": {"min": 0,"max": 100}}'></div>
-    <p demo-slider="slider0"></p>
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Basic options
-
-Basic range slider options.
-
-
-## js-name
-
-By setting `js-name` you can access slider in your js code. **Remember to use it in your code after the page has loaded.**
-```js
-/* Example */
-
-window.onload = slider;
-
-function slider(){
-    let sliderText = document.getElementById('sliderText');
-    slider1.on('update',function(values,handle){
-        sliderText.innerHTML = values[handle];
-    });
-}
-```
-
-{% capture code %}
-<div data-slider='{"js-name": "slider1","start": 50,"range": {"min": 0,"max": 100}}'></div>
-    <p id="sliderText" demo-slider="slider1"></p>
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## start
-
-The `start` option sets the number of handles and corresponding start positions.
-
-The `start` option uses the slider's `'format'` option to decode the input. Number input will be cast to string and decoded.
-
-{% capture code %}
-<div data-slider='{"js-name": "slider2","start": 30,"range": {"min": 0,"max": 100}}'></div>
-    <p demo-slider="slider2"></p>
-    <div data-slider='{"js-name": "slider3","start": [40,65],"range": {"min": 0,"max": 100}}'></div>
-    <p demo-slider="slider3"></p>
-    <div data-slider='{"js-name": "slider4","start": [25,50,75],"range": {"min": 0,"max": 100}}'></div>
-    <p demo-slider="slider4"></p>
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## range
-
-All values on the slider are part of a range. The range has a minimum and maximum value. **The minimum value cannot be equal to the maximum value.**
-
-{% capture code %}
-<div data-slider='{"js-name": "slider5","start": 500,"range": {"min": -2000,"max": 10000}}'></div>
-    <p demo-slider="slider5"></p>
-    <div data-slider='{"js-name": "slider6","start": [-250,800],"range": {"min": -500,"max": 1000}}'></div>
-    <p demo-slider="slider6"></p>
-    <div data-slider='{"js-name": "slider7","start": [0.1,0.4,0.9],"range": {"min": 0.1,"max": 1}}'></div>
-    <p demo-slider="slider7"></p>
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## step
-
-By default, the slider slides fluently. In order to make the handles jump between intervals, you can use the step option.
-
-{% capture code %}
-<div data-slider='{"js-name": "slider8","start": 5000,"range": {"min": 1000,"max": 10000},"step": 1000}'></div>
-    <p demo-slider="slider8"></p>
-    <div data-slider='{"js-name": "slider9","start": 500,"range": {"min": 100,"max": 1000},"step": 125}'></div>
-    <p demo-slider="slider9"></p>
-    <div data-slider='{"js-name": "slider10","start": 50,"range": {"min": 10,"max": 100},"step": 5}'></div>
-    <p demo-slider="slider10"></p>
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## connect
-
-The connect option can be used to control the bar between the handles or the edges of the slider.
-
-If you are using one handle, set the value to either `'upper'` or `'lower'`.
-For sliders with 2 or more handles, pass an array with a boolean for every connecting element, including the edges of the slider. The length of this array must match the handle count + 1.
-
-Setting true sets the bars between the handles, but not between the handles and the sliders edges.
-
-{% capture code %}
-<div data-slider='{"js-name": "slider11","start": 8000,"connect": "lower","range": {"min": [2000],"max": [20000]}}'></div>
-    <p demo-slider="slider11"></p>
-    <div data-slider='{"js-name": "slider12","start": 8000,"connect": "upper","range": {"min": [2000],"max": [20000]}}'></div>
-    <p demo-slider="slider12"></p>
-    <div data-slider='{"js-name": "slider13","start": [4000, 8000, 12000, 16000],"connect": [false, true, true, false, true],"range": {"min": [2000],"max": [20000]}}'></div>
-    <p demo-slider="slider13"></p>
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## margin
-
-When using two handles, the minimum distance between the handles can be set using the margin option. The margin value is relative to the value set in 'range'. This option is only available on linear sliders.
-
-{% capture code %}
-<div data-slider='{"js-name": "slider14","start": [20,80],"range": {"min": 0,"max": 100},"margin":30}'></div>
-    <p demo-slider="slider14"></p>
-    <div data-slider='{"js-name": "slider15","start": [20,80],"range": {"min": 0,"max": 100},"margin":50}'></div>
-    <p demo-slider="slider15"></p>
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## limit
-
-The `limit` option is the oposite of the margin option, limiting the maximum distance between two handles. As with the margin option, the `limit` option can only be used on linear sliders.
-
-{% capture code %}
-<div data-slider='{"js-name": "slider16","start": [10,120],"connect":true,"range": {"min": 0,"max": 100},"limit":40,"behaviour":"drag"}'></div>
-    <p demo-slider="slider16"></p>
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## padding
-
-Padding limits how close to the slider edges handles can be.
-
-{% capture code %}
-<div data-slider='{"js-name": "slider17","start": [20,80],"range": {"min": 0,"max": 100},"padding":[10,15]}'></div>
-    <p demo-slider="slider17"></p>
-{% endcapture %}
-{% include example.html code=code %}
-
-That's only the basic features and options of range slider. More possibilities can be found [**here**](https://refreshless.com/nouislider/).

+ 0 - 62
src/pages/_docs/ribbons.md

@@ -1,62 +0,0 @@
----
-title: Ribbons
-menu: help.docs.components.ribbons
-description: Ribbons are graphical elements which attract users' attention to a given element of an interface and make it stand out. 
----
-
-
-## Default markup
-
-Use the `ribbon` class to add the default ribbon to any section of your interface.   
-
-{% capture code %}
-{% include cards/ribbon.html %}
-{% endcapture %}
-{% include example.html code=code columns=1 %}
-
-
-## Ribbon position
-
-You can change the position of a ribbon by adding one of the following classes to the element:
-
-- `ribbon-top` - moves it to the top
-- `ribbon-end` - moves it to the right
-- `ribbon-bottom` - moves it to the bottom
-- `ribbon-start` - moves it to the left
-
-Using multiple classes at once will give you more position options. For example, the following class: `.ribbon.ribbon-top.ribbon-left` will move the ribbon to the top left corner.
-
-{% capture code %}
-{% include cards/ribbon.html top=true left=true %}
-{% endcapture %}
-{% include example.html code=code columns=1 %}
-
-
-## Ribbon color
-
-Customize the ribbon's background color. You can click [here]({% docs_url colors %}) to see the list of available colors.
-
-{% capture code %}
-{% include cards/ribbon.html color="red" %}
-{% endcapture %}
-{% include example.html code=code columns=1 %}
-
-
-## Ribbon text
-
-Add your own text to a ribbon to display any additional information and make it easy to spot for users.
-
-{% capture code %}
-{% include cards/ribbon.html color="green" text="-50%" %}
-{% endcapture %}
-{% include example.html code=code columns=1 %}
-
-
-## Ribbon style
-
-Change the style of a ribbon to make it go well with your interface design. 
-
-{% capture code %}
-{% include cards/ribbon.html bookmark=true color="orange" text="-50%" %}
-{% endcapture %}
-{% include example.html code=code columns=1 %}

+ 0 - 87
src/pages/_docs/spinners.md

@@ -1,87 +0,0 @@
----
-title: Spinners
-menu: help.docs.components.spinners
-description: Spinners are used to show the loading state of a component or page. They provide feedback for an action a user has taken, when it takes a bit longer to complete.
-bootstrap-link: components/spinners/
----
-
-
-## Default markup
-
-Use the default spinner to notify users that an action they have taken is in progress, helping them avoid confusion. 
-
-{% capture code %}
-{% include ui/spinner.html %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Colors
-
-Choose one of the available colors to customize the spinner and make it suit your design.
-
-{% capture code %}
-{% for color in site.colors %}
-{% assign c = color[0] %}
-{% include ui/spinner.html color=c %}
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Size
-
-Choose the size of your spinner. You can use the default size or use the `spinner-border-sm` class to display a smaller spinner.
-
-{% capture code %}
-{% include ui/spinner.html %}
-{% include ui/spinner.html size="sm" %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Growing spinner
-
-Use the growing spinner, if you are looking for a more original design than a border spinner. The spinner grows to show the loading state. 
-
-{% capture code %}
-{% include ui/spinner.html type="grow" %}
-{% endcapture %}
-{% include example.html code=code %}
-
-Growing spinners also come in a variety of colors to choose from.
-
-{% capture code %}
-{% for color in site.colors %}
-{% assign c = color[0] %}
-{% include ui/spinner.html color=c type="grow" %}
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-### Button with spinner
-
-Use buttons with spinners to notify users that an action they have taken by clicking the button is in progress and prevent them from clicking multiple times or giving up.  
-
-{% capture code %}
-{% include ui/button.html spinner=true text="Button" color="primary" %}
-{% include ui/button.html spinner=true text="Button" color="danger" %}
-{% include ui/button.html spinner=true text="Button" color="warning" %}
-{% include ui/button.html spinner=true text="Button" color="success" %}
-{% include ui/button.html spinner=true text="Button" %}
-{% endcapture %}
-{% include example.html code=code %}
-
-## Animated dots
-
-{% capture code %}
-<h1>Loading<span class="animated-dots"></span></h1>
-{% endcapture %}
-{% include example.html code=code wrapper="text-center" %}
-
-{% capture code %}
-{% include ui/button.html dots=true text='Loading' color="primary" %}
-{% include ui/button.html dots=true text='Loading' disabled=true color="primary" %}
-{% endcapture %}
-{% include example.html code=code %}

+ 0 - 77
src/pages/_docs/statuses.md

@@ -1,77 +0,0 @@
----
-title: Statuses
-menu: help.docs.components.statuses
-description: Status dots are particularly useful if you want to make an interface element more noticeable regardless of limited space.
----
-
-## Default markup
-
-{% capture code %}
-{% for color in site.colors %}
-{% assign c = color[0] %}
-{% assign t = color[1].title %}
-{% include ui/status.html color=c text=t %}
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code centered=true wrapper="btn-list" %}
-
-## Status with dot
-
-{% capture code %}
-{% for color in site.colors %}
-{% assign c = color[0] %}
-{% assign t = color[1].title %}
-{% include ui/status.html color=c text=t dot=true %}
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code centered=true wrapper="btn-list" %}
-
-### Animated dot
-
-{% capture code %}
-{% for color in site.colors %}
-{% assign c = color[0] %}
-{% assign t = color[1].title %}
-{% include ui/status.html color=c text=t dot=true animated=true %}
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code centered=true wrapper="btn-list" %}
-
-## Lite status
-
-{% capture code %}
-{% for color in site.colors %}
-{% assign c = color[0] %}
-{% assign t = color[1].title %}
-{% include ui/status.html color=c text=t dot=true lite=true %}
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code centered=true wrapper="btn-list" %}
-
-## Status dots
-
-{% capture code %}
-{% for color in site.colors %}
-<span class="status-dot status-{{ color[0] }}"></span>
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code centered=true wrapper="btn-list" %}
-
-### Animated dots
-
-{% capture code %}
-{% for color in site.colors %}
-<span class="status-dot status-dot-animated status-{{ color[0] }}"></span>
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code centered=true wrapper="btn-list" %}
-
-## Status indicator 
-
-{% capture code %}
-{% for color in site.colors %}
-{% assign c = color[0] %}
-{% include ui/status-indicator.html animated=true color=c %}
-{% endfor %}
-{% endcapture %}
-{% include example.html code=code centered=true wrapper="btn-list" %}

+ 0 - 59
src/pages/_docs/steps.md

@@ -1,59 +0,0 @@
----
-title: Steps
-menu: help.docs.components.steps
-description: Steps are used to guide users through complex processes, making them easier and more intuitive. Breaking a multi-step process into smaller parts and tracking progress along the way helps users complete it successfully.
-new: true
----
-
-
-## Default markup
-
-Steps show users where they are within a process, what steps they have already completed and what they are expected to complete. Making multi-step processes more user-friendly facilitates users' interaction with your interface. 
-
-Use the `steps` class to create the default progress tracker and name the steps accordingly.     
-
-{% capture code %}
-{% include ui/steps.html show-title=true %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Tooltips
-
-Add tooltips, if you want to provide users with additional information about the steps they are expected to complete. Tooltips are displayed when a user hovers over a given step and help clarify what might not be clear from the interface.
-
-{% capture code %}
-{% include ui/steps.html show-title=true show-tooltip=true %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Color
-
-You can customize the default progress indicator by changing the color to one that better suits your design. Click [here]({% docs_url colors %}) to see the range of available colors.
-
-{% capture code %}
-{% include ui/steps.html color="green" show-title=true %}
-{% include ui/steps.html color="red" show-title=true %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Steps without title
-
-For designs with limited space, use progress indicators without titles and add tooltips to provide the necessary details.
-
-{% capture code %}
-{% include ui/steps.html show-tooltip=true %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Steps with numbers
-
-Use the `steps-counter` class to create a progress tracker with numbers instead of titles and change the color to customize it.
-
-{% capture code %}
-{% include ui/steps.html count=5 active=2 numbers=true color="lime" %}
-{% endcapture %}
-{% include example.html code=code %}

+ 0 - 31
src/pages/_docs/switch-icon.md

@@ -1,31 +0,0 @@
----
-title: Switch icon
-menu: help.docs.components.switch-icon
-description: The Switch Icon component is used to create a transition between two icons. You can use any icon, both line and filled version.
-banner: icons
----
-
-## Default markup
-
-To replace the icons, all should add `active` class to the `switch-icon` component.
-
-{% capture code %}
-{% include ui/switch-icon.html icon="circle" icon-b="square" icon-b-color="primary"  %}
-{% endcapture %}
-{% include example.html code=code wrapper="d-flex space-x-2" %}
-
-## Switch animations
-
-You can also add a fancy animation to add variety to your button. See demo below:
-
-{% capture code %}
-{% include ui/switch-icon.html icon="circle" icon-b-class="icon-filled" icon-b-color="primary"  %}
-{% include ui/switch-icon.html variant="fade" icon-b-class="icon-filled"  %}
-{% include ui/switch-icon.html variant="scale" icon="star" icon-b-class="icon-filled" icon-b-color="yellow" %}
-{% include ui/switch-icon.html variant="flip" icon="thumb-up" icon-b-color="facebook" %}
-{% include ui/switch-icon.html variant="slide-up" icon="brand-twitter" icon-b-color="twitter" %}
-{% include ui/switch-icon.html variant="slide-left" icon="check" icon-b="x" icon-b-color="red" %}
-{% include ui/switch-icon.html variant="slide-down" icon="arrow-down" icon-b="arrow-up" icon-a-color="muted" icon-b-color="muted" %}
-{% include ui/switch-icon.html variant="slide-right" icon="car" icon-b="scooter" icon-b-color="muted" %}
-{% endcapture %}
-{% include example.html code=code wrapper="d-flex space-x-2" %}

+ 0 - 118
src/pages/_docs/tables.md

@@ -1,118 +0,0 @@
----
-title: Tables
-menu: help.docs.components.tables
-description: Tables are a useful interface element that allows to visualise data and arrange it in a clear way. Thanks to that, users can browse a lot of information at once and a good table design will help you take care of its clarity.
-bootstrap-link: content/tables/
----
-
-
-## Basic Table
-
-The basic table design has light padding and the presented data is separated wih horizontal dividers. It helps provide users with all the necessary information, without overwheling them with visuals.
-
-The `.table` class adds basic styling to a table:
-
-{% capture code %}
-{% include ui/table.html %}
-{% endcapture %}
-{% include example.html code=code %}
-
-
-## Responsive tables
-
-Use the `.table-responsive` class across each breakpoint for horizontal scrolling tables. If you want to create responsive tables up to a specific breakpoint, use `.table-responsive{-sm|-md|-lg|-xl}`. From that breakpoint and up, the table will behave normally, rather than scroll horizontally.
-
-{% capture code %}
-<table class="table table-responsive">
-    <thead>
-    <tr>
-        <th>#</th>
-        {% for i in (1..10) %}
-        <th class="text-nowrap">Heading {{ i }}</th>
-        {% endfor %}
-    </tr>
-    </thead>
-    <tbody>
-    {% for j in (1..2) %}
-    <tr>
-        <th>{{ j }}</th>
-        {% for i in (1..10) %}
-        <td>Cell</td>
-        {% endfor %}
-    </tr>
-    {% endfor %}
-    </tbody>
-</table>
-{% endcapture %}
-{% include example.html code=code %}
-
-## No wrap
-
-If you don't want the table cell content to wrap to another line, use the `table-nowrap` class. 
-
-{% capture code %}
-{% include ui/table.html nowrap=true responsive=true %}
-{% endcapture %}
-{% include example.html code=code %}
-
-## Table Variants
-
-{% capture code %}
-<table class="table">
-    <thead>
-      <tr>
-        <th scope="col">Class</th>
-        <th scope="col">Heading</th>
-        <th scope="col">Heading</th>
-      </tr>
-    </thead>
-    <tbody>
-      <tr>
-        <th scope="row">Default</th>
-        <td>Cell</td>
-        <td>Cell</td>
-      </tr>
-        <tr class="table-primary">
-          <th scope="row">Primary</th>
-          <td>Cell</td>
-          <td>Cell</td>
-        </tr>
-        <tr class="table-secondary">
-          <th scope="row">Secondary</th>
-          <td>Cell</td>
-          <td>Cell</td>
-        </tr>
-        <tr class="table-success">
-          <th scope="row">Success</th>
-          <td>Cell</td>
-          <td>Cell</td>
-        </tr>
-        <tr class="table-danger">
-          <th scope="row">Danger</th>
-          <td>Cell</td>
-          <td>Cell</td>
-        </tr>
-        <tr class="table-warning">
-          <th scope="row">Warning</th>
-          <td>Cell</td>
-          <td>Cell</td>
-        </tr>
-        <tr class="table-info">
-          <th scope="row">Info</th>
-          <td>Cell</td>
-          <td>Cell</td>
-        </tr>
-        <tr class="table-light">
-          <th scope="row">Light</th>
-          <td>Cell</td>
-          <td>Cell</td>
-        </tr>
-        <tr class="table-dark">
-          <th scope="row">Dark</th>
-          <td>Cell</td>
-          <td>Cell</td>
-        </tr>
-    </tbody>
-  </table>
-{% endcapture %}
-{% include example.html code=code %}

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно