Bläddra i källkod

Clean up HTML syntax and remove unused dependencies in documentation and package.json

codecalm 6 månader sedan
förälder
incheckning
f06cce0300
61 ändrade filer med 6022 tillägg och 1868 borttagningar
  1. 37 10
      build/reformat-mdx.mjs
  2. 1 1
      docs/icons/libraries/svelte.mdx
  3. 4 1
      docs/icons/libraries/webfont.mdx
  4. 12 1
      docs/icons/static-files/svg.mdx
  5. 788 164
      docs/illustrations/introduction/customization.mdx
  6. 41 21
      docs/ui/base/typography.mdx
  7. 30 10
      docs/ui/components/alerts.mdx
  8. 65 13
      docs/ui/components/avatars.mdx
  9. 9 15
      docs/ui/components/badges.mdx
  10. 30 4
      docs/ui/components/breadcrumb.mdx
  11. 623 89
      docs/ui/components/buttons.mdx
  12. 94 41
      docs/ui/components/cards.mdx
  13. 270 47
      docs/ui/components/carousel.mdx
  14. 585 399
      docs/ui/components/charts.mdx
  15. 34 12
      docs/ui/components/datagrid.mdx
  16. 10 5
      docs/ui/components/divider.mdx
  17. 89 41
      docs/ui/components/dropdowns.mdx
  18. 12 12
      docs/ui/components/dropzone.mdx
  19. 48 4
      docs/ui/components/empty.mdx
  20. 263 30
      docs/ui/components/icons.mdx
  21. 6 6
      docs/ui/components/inline-player.mdx
  22. 86 46
      docs/ui/components/modals.mdx
  23. 20 5
      docs/ui/components/offcanvas.mdx
  24. 6 1
      docs/ui/components/placeholder.mdx
  25. 99 11
      docs/ui/components/popover.mdx
  26. 54 6
      docs/ui/components/progress.mdx
  27. 11 10
      docs/ui/components/range-slider.mdx
  28. 85 30
      docs/ui/components/ribbons.mdx
  29. 320 120
      docs/ui/components/segmented-control.mdx
  30. 3 8
      docs/ui/components/spinners.mdx
  31. 80 60
      docs/ui/components/steps.mdx
  32. 258 28
      docs/ui/components/switch-icon.mdx
  33. 45 78
      docs/ui/components/tables.mdx
  34. 180 33
      docs/ui/components/tabs.mdx
  35. 224 52
      docs/ui/components/timelines.mdx
  36. 17 15
      docs/ui/components/tinymce.mdx
  37. 76 24
      docs/ui/components/toasts.mdx
  38. 35 5
      docs/ui/components/tooltips.mdx
  39. 454 73
      docs/ui/components/tracking.mdx
  40. 108 110
      docs/ui/components/vector-maps.mdx
  41. 19 3
      docs/ui/forms/form-color-check.mdx
  42. 165 46
      docs/ui/forms/form-elements.mdx
  43. 21 9
      docs/ui/forms/form-helpers.mdx
  44. 47 10
      docs/ui/forms/form-image-check.mdx
  45. 17 2
      docs/ui/forms/form-input-mask.mdx
  46. 128 20
      docs/ui/forms/form-selectboxes.mdx
  47. 4 8
      docs/ui/forms/form-validation.mdx
  48. 7 4
      docs/ui/getting-started/customize.mdx
  49. 5 5
      docs/ui/getting-started/download.mdx
  50. 19 19
      docs/ui/getting-started/installation.mdx
  51. 10 6
      docs/ui/layout/navbars.mdx
  52. 19 5
      docs/ui/layout/navs-tabls.mdx
  53. 162 30
      docs/ui/layout/page-headers.mdx
  54. 23 18
      docs/ui/layout/page-layouts.mdx
  55. 1 1
      docs/ui/plugins/flags.mdx
  56. 1 1
      docs/ui/plugins/payments.mdx
  57. 1 1
      docs/ui/plugins/social-icons.mdx
  58. 159 33
      docs/ui/utilities/borders.mdx
  59. 1 3
      docs/ui/utilities/interactions.mdx
  60. 1 1
      docs/ui/utilities/vertical-align.mdx
  61. 0 2
      package.json

+ 37 - 10
build/reformat-mdx.mjs

@@ -6,33 +6,60 @@ import { readFileSync, writeFileSync } from 'node:fs';
 import { join, dirname } from 'node:path';
 import { fileURLToPath } from 'node:url'
 import { sync } from 'glob';
-import beautify from 'js-beautify';
+import * as prettier from "prettier";
 
 const __dirname = dirname(fileURLToPath(import.meta.url))
 
 const docs = sync(join(__dirname, '..', 'docs', '**', '*.mdx'))
 
-docs.forEach((file, i) => {
+async function formatHTML(htmlString) {
+	try {
+		const formattedHtml = await prettier.format(htmlString, {
+			parser: "html",
+			printWidth: 100,
+		});
+		return formattedHtml;
+	} catch (error) {
+		console.error("Error formatting HTML:", error);
+		return htmlString; // Return original in case of an error
+	}
+}
+
+async function replaceAsync(str, regex, asyncFn) {
+	const matches = [...str.matchAll(regex)];
+
+	const replacements = await Promise.all(
+		matches.map(async (match) => asyncFn(...match))
+	);
+
+	let result = str;
+	matches.forEach((match, i) => {
+		result = result.replace(match[0], replacements[i]);
+	});
+
+	return result;
+}
+
+for (const file of docs) {
 	const oldContent = readFileSync(file, 'utf8')
 
 	// get codeblocks from markdown
-	const content = oldContent.replace(/(```([a-z0-9]+).*?\n)(.*?)(```)/gs, (m, m1, m2, m3, m4) => {
+	const content = await replaceAsync(oldContent, /(```([a-z0-9]+).*?\n)(.*?)(```)/gs, async (m, m1, m2, m3, m4) => {
 		if (m2 === 'html') {
-			// m3 = beautify.default.html(m3, {
-			// 	"indent_size": 2,
-			// 	"indent_char": " ",
-			// }).trim();
+			m3 = await formatHTML(m3);
+
+			console.log(m3);
 
 			// remove empty lines
 			m3 = m3.replace(/^\s*[\r\n]/gm, '');
 
-			return m1 + m3 + "\n" + m4;
+			return m1 + m3.trim() + "\n" + m4;
 		}
-		return m
+		return m.trim();
 	})
 
 	if (content !== oldContent) {
 		writeFileSync(file, content, 'utf8')
 		console.log(`Reformatted ${file}`)
 	}
-})
+}

+ 1 - 1
docs/icons/libraries/svelte.mdx

@@ -29,7 +29,7 @@ import { IconHeart } from '@tabler/icons-svelte';
 
 You can pass additional props to adjust the icon.
 
-```html
+```sveltehtml
 <IconHeart size={48} stroke={1} />
 ```
 

+ 4 - 1
docs/icons/libraries/webfont.mdx

@@ -30,7 +30,10 @@ or just [download from Github](https://github.com/tabler/tabler-icons/releases).
 ### CDN
 
 ```html
-<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@$ICONS_VERSION/dist/tabler-icons.min.css">
+<link
+  rel="stylesheet"
+  href="https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@$ICONS_VERSION/dist/tabler-icons.min.css"
+/>
 ```
 
 Instead of a specific version, you can use `latest` to always get the newest icons.

+ 12 - 1
docs/icons/static-files/svg.mdx

@@ -29,7 +29,18 @@ You can paste the content of the icon file into your HTML code to display it on
 
 ```html
 <a href="">
-  <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-disabled" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.25" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
+  <svg
+    xmlns="http://www.w3.org/2000/svg"
+    class="icon icon-tabler icon-tabler-disabled"
+    width="24"
+    height="24"
+    viewBox="0 0 24 24"
+    stroke-width="1.25"
+    stroke="currentColor"
+    fill="none"
+    stroke-linecap="round"
+    stroke-linejoin="round"
+  >
     ...
   </svg>
   Click me

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 788 - 164
docs/illustrations/introduction/customization.mdx


+ 41 - 21
docs/ui/base/typography.mdx

@@ -42,7 +42,10 @@ If you use a second paragraph, it will be separated from the first one by a blan
 
 ```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>
+    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>
 ```
@@ -65,8 +68,7 @@ Use a variety of semantic text elements, depending on how you want to display pa
 <mark>Highlighted</mark>
 <s>Strikethrough</s>
 <samp>Sample</samp>
-Text <sub>Subscripted</sub>
-Text <sup>Superscripted</sup>
+Text <sub>Subscripted</sub> Text <sup>Superscripted</sup>
 <time>20:00</time>
 <u>Underline</u>
 <var>x</var> = <var>y</var> + 2
@@ -109,19 +111,15 @@ Here are examples of semantic text elements:
 <div>
   <samp>Sample</samp>
 </div>
-<div>Text <sub>Subscripted</sub>
-</div>
-<div>Text <sup>Superscripted</sup>
-</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>
+<div><var>x</var> = <var>y</var> + 2</div>
 ```
 
 
@@ -132,9 +130,17 @@ Use the `hr` tag to represent a thematic break between paragraphs within one sec
 
 ```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>
+  <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>
+  <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>
 ```
 
@@ -148,25 +154,29 @@ You can also add a label to a horizontal rule and align it as you see fit.
 
 ```html 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.
+  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.
+  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.
+  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.
+  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>
 ```
 
@@ -262,9 +272,7 @@ Use the `.antialiased` utility to render text using subpixel antialiasing or use
 Use the `<kbd>` to indicate input that is typically entered via keyboard.
 
 ```html example vertical centered
-<div>
-  To edit settings, press <kbd>ctrl</kbd> + <kbd>,</kbd> or <kbd>ctrl</kbd> + <kbd>C</kbd>.
-</div>
+<div>To edit settings, press <kbd>ctrl</kbd> + <kbd>,</kbd> or <kbd>ctrl</kbd> + <kbd>C</kbd>.</div>
 ```
 
 ```html
@@ -278,9 +286,21 @@ If you can't use the CSS classes you want, or you just want to use HTML tags, us
 ```html 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>
+  <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>
+  <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>

+ 30 - 10
docs/ui/components/alerts.mdx

@@ -37,7 +37,9 @@ Alert classes affect the color of all the text inside an alert. Use another clas
 Add a link to your alert message to redirect users to the details they need to complete or additional information they should read. Use `alert-link` class to style the link and match the text color.
 
 ```html example vertical background="surface" columns={2} centered height="120px"
-<div class="alert alert-danger m-0">This is a danger alert — <a href="#" class="alert-link">check it out</a>!</div>
+<div class="alert alert-danger m-0">
+  This is a danger alert — <a href="#" class="alert-link">check it out</a>!
+</div>
 ```
 
 ## Dismissible alerts
@@ -155,7 +157,9 @@ Use the `alert-icon` class on an `<svg>` (or on an `<i>` when using the webfont)
       >
         <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" />
+        <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>
@@ -201,10 +205,14 @@ Add an avatar to your alert modal to make it more personalized.
 <div class="alert alert-success" role="alert">
   <div class="d-flex">
     <div>
-      <span class="avatar me-3" style="background-image: url(/static/samples/avatars/039m.jpg)"></span>
+      <span
+        class="avatar me-3"
+        style="background-image: url(/static/samples/avatars/039m.jpg)"
+      ></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.
+      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>
@@ -214,27 +222,36 @@ Add an avatar to your alert modal to make it more personalized.
       <span class="avatar 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.
+      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 me-3" style="background-image: url(/static/samples/avatars/035f.jpg)"></span>
+      <span
+        class="avatar me-3"
+        style="background-image: url(/static/samples/avatars/035f.jpg)"
+      ></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.
+      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 me-3" style="background-image: url(/static/samples/avatars/056f.jpg)"></span>
+      <span
+        class="avatar me-3"
+        style="background-image: url(/static/samples/avatars/056f.jpg)"
+      ></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.
+      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>
@@ -374,7 +391,10 @@ You're not limited to the 4 default alert colors. You can use any [base or socia
 <div class="alert alert-instagram alert-dismissible alert-important" role="alert">
   <div class="d-flex">
     <div>
-      <span class="avatar me-3" style="background-image: url(/static/samples/avatars/035f.jpg)"></span>
+      <span
+        class="avatar me-3"
+        style="background-image: url(/static/samples/avatars/035f.jpg)"
+      ></span>
     </div>
     <div>
       <h4 class="alert-title">Sophia just added a new post on Instagram</h4>

+ 65 - 13
docs/ui/components/avatars.mdx

@@ -42,21 +42,54 @@ Besides pictures and initials, you can also use icons to make the avatars more u
 
 ```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">
+  <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">
+  <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">
+  <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" />
@@ -109,9 +142,7 @@ Add a status indicator to your avatar to show, for instance, if a user is online
 <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"> <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>
@@ -163,13 +194,34 @@ Make the list stack once a certain number of avatars is reached to make it look
 
 ```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"
+    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>
+  <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>
 ```

+ 9 - 15
docs/ui/components/badges.mdx

@@ -27,18 +27,12 @@ The default badges are square and come in the basic set of colors.
 ## Headings
 
 ```html example columns={1} height="20rem" centered
-<h1>Example heading <span class="badge">New</span>
-</h1>
-<h2>Example heading <span class="badge">New</span>
-</h2>
-<h3>Example heading <span class="badge">New</span>
-</h3>
-<h4>Example heading <span class="badge">New</span>
-</h4>
-<h5>Example heading <span class="badge">New</span>
-</h5>
-<h6>Example heading <span class="badge">New</span>
-</h6>
+<h1>Example heading <span class="badge">New</span></h1>
+<h2>Example heading <span class="badge">New</span></h2>
+<h3>Example heading <span class="badge">New</span></h3>
+<h4>Example heading <span class="badge">New</span></h4>
+<h5>Example heading <span class="badge">New</span></h5>
+<h6>Example heading <span class="badge">New</span></h6>
 ```
 
 ## Outline badges
@@ -111,8 +105,8 @@ Badges can be used as part of links or buttons to provide a counter.
 The results can be seen in the example below.
 
 ```html example centered separated
-<button type="button" class="btn">Notifications <span class="badge bg-red-lt ms-2">4</span>
-</button>
-<button type="button" class="btn">Notifications <span class="badge bg-green-lt ms-2">4</span>
+<button type="button" class="btn">Notifications <span class="badge bg-red-lt ms-2">4</span></button>
+<button type="button" class="btn">
+  Notifications <span class="badge bg-green-lt ms-2">4</span>
 </button>
 ```

+ 30 - 4
docs/ui/components/breadcrumb.mdx

@@ -92,7 +92,18 @@ You can use icons in breadcrumbs to make them more visually appealing. The examp
 <ol class="breadcrumb">
   <li class="breadcrumb-item">
     <a href="#">
-      <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">
+      <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 12v8a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-8" />
@@ -151,18 +162,33 @@ You can use breadcrumbs in headers to show the current page location and provide
         </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>
+        <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">
+          <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
+          </svg>
+          Edit
         </a>
         <a href="#" class="btn btn-primary">Publish</a>
       </div>

+ 623 - 89
docs/ui/components/buttons.mdx

@@ -145,52 +145,126 @@ Icons can be found [**here**](/docs/components/icons)
 ```html example centered separated height="7rem"
 <button type="button" class="btn">
   <!-- SVG icon from http://tabler.io/icons/icon/upload -->
-  <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">
+  <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
+  </svg>
+  Upload
 </button>
 <button type="button" class="btn btn-warning">
   <!-- SVG icon from http://tabler.io/icons/icon/heart -->
-  <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">
+  <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
+  </svg>
+  I like
 </button>
 <button type="button" class="btn btn-success">
   <!-- SVG icon from http://tabler.io/icons/icon/check -->
-  <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">
+  <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
+  </svg>
+  I agree
 </button>
 <button type="button" class="btn btn-primary">
   <!-- SVG icon from http://tabler.io/icons/icon/plus -->
-  <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">
+  <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
+  </svg>
+  More
 </button>
 <button type="button" class="btn btn-danger">
   <!-- SVG icon from http://tabler.io/icons/icon/link -->
-  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-link">
-    <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+  <svg
+    xmlns="http://www.w3.org/2000/svg"
+    width="24"
+    height="24"
+    viewBox="0 0 24 24"
+    fill="none"
+    stroke="currentColor"
+    stroke-width="2"
+    stroke-linecap="round"
+    stroke-linejoin="round"
+    class="icon icon-tabler icons-tabler-outline icon-tabler-link"
+  >
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
     <path d="M9 15l6 -6" />
     <path d="M11 6l.463 -.536a5 5 0 0 1 7.071 7.072l-.534 .464" />
     <path d="M13 18l-.397 .534a5.068 5.068 0 0 1 -7.127 0a4.972 4.972 0 0 1 0 -7.071l.524 -.463" />
-  </svg> Link
+  </svg>
+  Link
 </button>
 <button type="button" class="btn btn-info">
   <!-- SVG icon from http://tabler.io/icons/icon/message -->
-  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-message">
-    <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+  <svg
+    xmlns="http://www.w3.org/2000/svg"
+    width="24"
+    height="24"
+    viewBox="0 0 24 24"
+    fill="none"
+    stroke="currentColor"
+    stroke-width="2"
+    stroke-linecap="round"
+    stroke-linejoin="round"
+    class="icon icon-tabler icons-tabler-outline icon-tabler-message"
+  >
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
     <path d="M8 9h8" />
     <path d="M8 13h6" />
-    <path d="M18 4a3 3 0 0 1 3 3v8a3 3 0 0 1 -3 3h-5l-5 3v-3h-2a3 3 0 0 1 -3 -3v-8a3 3 0 0 1 3 -3h12z" />
-  </svg> Comment
+    <path
+      d="M18 4a3 3 0 0 1 3 3v8a3 3 0 0 1 -3 3h-5l-5 3v-3h-2a3 3 0 0 1 -3 -3v-8a3 3 0 0 1 3 -3h12z"
+    />
+  </svg>
+  Comment
 </button>
 ```
 
@@ -201,115 +275,293 @@ You can use the icons of popular social networking sites, which users are famili
 ```html example vertical centered separated scrollable height="15rem"
 <a href="#" class="btn btn-facebook">
   <!-- SVG icon from http://tabler.io/icons/icon/brand-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">
+  <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
+  </svg>
+  Facebook
 </a>
 <a href="#" class="btn btn-twitter">
   <!-- SVG icon from http://tabler.io/icons/icon/brand-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">
+  <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
+    <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 icon from http://tabler.io/icons/icon/brand-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">
+  <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
+  </svg>
+  Google
 </a>
 <a href="#" class="btn btn-youtube">
   <!-- SVG icon from http://tabler.io/icons/icon/brand-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">
+  <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
+  </svg>
+  Youtube
 </a>
 <a href="#" class="btn btn-vimeo">
   <!-- SVG icon from http://tabler.io/icons/icon/brand-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">
+  <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
+    <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 icon from http://tabler.io/icons/icon/brand-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">
+  <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
+  </svg>
+  Dribbble
 </a>
 <a href="#" class="btn btn-github">
   <!-- SVG icon from http://tabler.io/icons/icon/brand-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">
+  <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
+    <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 icon from http://tabler.io/icons/icon/brand-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">
+  <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
+  </svg>
+  Instagram
 </a>
 <a href="#" class="btn btn-pinterest">
   <!-- SVG icon from http://tabler.io/icons/icon/brand-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">
+  <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
+  </svg>
+  Pinterest
 </a>
 <a href="#" class="btn btn-vk">
   <!-- SVG icon from http://tabler.io/icons/icon/brand-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">
+  <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
+    <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 icon from http://tabler.io/icons/icon/brand-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">
+  <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
+  </svg>
+  RSS
 </a>
 <a href="#" class="btn btn-flickr">
   <!-- SVG icon from http://tabler.io/icons/icon/brand-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">
+  <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
+  </svg>
+  Flickr
 </a>
 <a href="#" class="btn btn-bitbucket">
   <!-- SVG icon from http://tabler.io/icons/icon/brand-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">
+  <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="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
+  </svg>
+  Bitbucket
 </a>
 <a href="#" class="btn btn-tabler">
   <!-- SVG icon from http://tabler.io/icons/icon/brand-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">
+  <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
+  </svg>
+  Tabler
 </a>
 ```
 
@@ -325,29 +577,73 @@ You can also add an icon without the name of a social networking site, if you wa
 ```html example separated scrollable height="7rem"
 <a href="#" class="btn btn-facebook btn-icon" aria-label="Button">
   <!-- SVG icon from http://tabler.io/icons/icon/brand-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">
+  <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-x btn-icon" aria-label="Button">
   <!-- SVG icon from http://tabler.io/icons/icon/brand-x -->
-  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-x">
-    <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+  <svg
+    xmlns="http://www.w3.org/2000/svg"
+    width="24"
+    height="24"
+    viewBox="0 0 24 24"
+    fill="none"
+    stroke="currentColor"
+    stroke-width="2"
+    stroke-linecap="round"
+    stroke-linejoin="round"
+    class="icon icon-tabler icons-tabler-outline icon-tabler-brand-x"
+  >
+    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
     <path d="M4 4l11.733 16h4.267l-11.733 -16z" />
     <path d="M4 20l6.768 -6.768m2.46 -2.46l6.772 -6.772" />
   </svg>
 </a>
 <a href="#" class="btn btn-google btn-icon" aria-label="Button">
   <!-- SVG icon from http://tabler.io/icons/icon/brand-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">
+  <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 icon from http://tabler.io/icons/icon/brand-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">
+  <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" />
@@ -355,14 +651,38 @@ You can also add an icon without the name of a social networking site, if you wa
 </a>
 <a href="#" class="btn btn-vimeo btn-icon" aria-label="Button">
   <!-- SVG icon from http://tabler.io/icons/icon/brand-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">
+  <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" />
+    <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 icon from http://tabler.io/icons/icon/brand-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">
+  <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" />
@@ -372,14 +692,38 @@ You can also add an icon without the name of a social networking site, if you wa
 </a>
 <a href="#" class="btn btn-github btn-icon" aria-label="Button">
   <!-- SVG icon from http://tabler.io/icons/icon/brand-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">
+  <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" />
+    <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 icon from http://tabler.io/icons/icon/brand-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">
+  <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" />
@@ -388,7 +732,18 @@ You can also add an icon without the name of a social networking site, if you wa
 </a>
 <a href="#" class="btn btn-pinterest btn-icon" aria-label="Button">
   <!-- SVG icon from http://tabler.io/icons/icon/brand-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">
+  <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" />
@@ -397,14 +752,38 @@ You can also add an icon without the name of a social networking site, if you wa
 </a>
 <a href="#" class="btn btn-vk btn-icon" aria-label="Button">
   <!-- SVG icon from http://tabler.io/icons/icon/brand-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">
+  <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" />
+    <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 icon from http://tabler.io/icons/icon/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">
+  <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" />
@@ -413,7 +792,18 @@ You can also add an icon without the name of a social networking site, if you wa
 </a>
 <a href="#" class="btn btn-flickr btn-icon" aria-label="Button">
   <!-- SVG icon from http://tabler.io/icons/icon/brand-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">
+  <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" />
@@ -421,15 +811,39 @@ You can also add an icon without the name of a social networking site, if you wa
 </a>
 <a href="#" class="btn btn-bitbucket btn-icon" aria-label="Button">
   <!-- SVG icon from http://tabler.io/icons/icon/brand-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">
+  <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="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 icon from http://tabler.io/icons/icon/brand-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">
+  <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" />
@@ -451,36 +865,97 @@ Add the `.btn-icon` class to remove unnecessary padding from your button and use
 ```html example centered separated height="7rem"
 <a href="#" class="btn btn-primary btn-icon" aria-label="Button">
   <!-- SVG icon from http://tabler.io/icons/icon/activity -->
-  <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">
+  <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 icon from http://tabler.io/icons/icon/brand-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">
+  <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" />
+    <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 icon from http://tabler.io/icons/icon/bell -->
-  <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">
+  <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="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 icon from http://tabler.io/icons/icon/star -->
-  <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">
+  <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" />
+    <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 icon from http://tabler.io/icons/icon/trash -->
-  <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">
+  <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" />
@@ -491,7 +966,18 @@ Add the `.btn-icon` class to remove unnecessary padding from your button and use
 </a>
 <a href="#" class="btn btn-purple btn-icon" aria-label="Button">
   <!-- SVG icon from http://tabler.io/icons/icon/chart-bar -->
-  <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">
+  <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" />
@@ -501,7 +987,18 @@ Add the `.btn-icon` class to remove unnecessary padding from your button and use
 </a>
 <a href="#" class="btn btn-icon" aria-label="Button">
   <!-- SVG icon from http://tabler.io/icons/icon/git-merge -->
-  <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">
+  <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" />
@@ -526,7 +1023,18 @@ Create a dropdown button that will encourage users to click for more options. Yo
 <div class="dropdown">
   <button type="button" class="btn dropdown-toggle" data-bs-toggle="dropdown">
     <!-- SVG icon from http://tabler.io/icons/icon/calendar -->
-    <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">
+    <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" />
@@ -544,7 +1052,18 @@ Create a dropdown button that will encourage users to click for more options. Yo
 <div class="dropdown">
   <button type="button" class="btn dropdown-toggle" data-bs-toggle="dropdown">
     <!-- SVG icon from http://tabler.io/icons/icon/calendar -->
-    <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">
+    <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" />
@@ -552,7 +1071,8 @@ Create a dropdown button that will encourage users to click for more options. Yo
       <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
+    </svg>
+    Show calendar
   </button>
   <div class="dropdown-menu">
     <a class="dropdown-item" href="#">Action</a>
@@ -585,12 +1105,8 @@ Create a dropdown button that will encourage users to click for more options. Yo
 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 height="7rem"
-<a href="#" class="btn btn-primary btn-loading">
-  Button
-</a>
-<a href="#" class="btn btn-primary btn-loading">
-  Loading button with loooong content
-</a>
+<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 centered height="7rem"
@@ -668,12 +1184,30 @@ Use buttons with avatars to simplify the process of interaction and make your de
 
 ```html example centered separated height="7rem"
 <a href="#" class="btn">
-  <span class="avatar" style="background-image: url(https://images.unsplash.com/photo-1542534759-05f6c34a9e63?q=80&fm=jpg&crop=faces&fit=crop&h=100&w=100)"></span> Avatar
+  <span
+    class="avatar"
+    style="
+      background-image: 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="background-image: url(https://images.unsplash.com/photo-1546539782-6fc531453083?q=80&fm=jpg&crop=faces&fit=crop&h=100&w=100)"></span> Avatar
+  <span
+    class="avatar"
+    style="
+      background-image: 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="background-image: url(https://images.unsplash.com/photo-1541585452861-0375331f10bf?q=80&fm=jpg&crop=faces&fit=crop&h=100&w=100)"></span> Avatar
+  <span
+    class="avatar"
+    style="
+      background-image: url(https://images.unsplash.com/photo-1541585452861-0375331f10bf?q=80&fm=jpg&crop=faces&fit=crop&h=100&w=100);
+    "
+  ></span>
+  Avatar
 </a>
 ```

+ 94 - 41
docs/ui/components/cards.mdx

@@ -25,24 +25,16 @@ Cards with the `.card-sm` class are well suited for small items such as widgets,
 
 ```html example vertical centered separated height={500} background="base"
 <div class="card card-sm">
-  <div class="card-body">
-    This is some text within a card body.
-  </div>
+  <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 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 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 class="card-body">This is some text within a card body.</div>
 </div>
 ```
 
@@ -81,11 +73,16 @@ To create a more visually appealing card, add a title and an image. Thanks to th
 ```html example centered columns={1} height={500} background="base"
 <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="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-secondary">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima
-      neque pariatur perferendis sed suscipit velit vitae voluptatem.</p>
+    <p class="text-secondary">
+      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>
 ```
@@ -103,7 +100,10 @@ Add an image to your blog post card to make it eye-catching. You can do it by ad
     <h3 class="card-title">
       <a href="#">How do you know she is a witch?</a>
     </h3>
-    <div class="text-secondary">Are you suggesting that coconuts migrate? No, no, no! Yes, yes. A bit. But she's got a wart. You ...</div>
+    <div class="text-secondary">
+      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">
@@ -112,8 +112,21 @@ Add an image to your blog post card to make it eye-catching. You can do it by ad
       </div>
       <div class="ms-auto">
         <a href="#" class="icon d-none d-md-inline-block ms-3 text-secondary">
-          <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
+            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>
@@ -135,7 +148,9 @@ Add the `.row-deck` class to `.row`, if you want to display several cards next t
   </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 class="card-body">
+        Extra long content of card. Lorem ipsum dolor sit amet, consetetur sadipscing elitr
+      </div>
     </div>
   </div>
   <div class="col-md-4">
@@ -155,7 +170,11 @@ You can also add an image on the left side of the card. To do it, add the `.card
   <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" />
+        <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">
@@ -163,7 +182,10 @@ You can also add an image on the left side of the card. To do it, add the `.card
         <h3 class="card-title">
           <a href="#">Shut up!</a>
         </h3>
-        <div class="text-secondary">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="text-secondary">
+          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">
@@ -172,8 +194,21 @@ You can also add an image on the left side of the card. To do it, add the `.card
           </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
+                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>
@@ -195,8 +230,10 @@ Add a status color to your card, either at the top or on the side of the card, t
       <div class="card-status-top bg-danger"></div>
       <div class="card-body">
         <h3 class="card-title">Card with top status</h3>
-        <p class="text-secondary">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima
-          neque pariatur perferendis sed suscipit velit vitae voluptatem.</p>
+        <p class="text-secondary">
+          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>
@@ -205,8 +242,10 @@ Add a status color to your card, either at the top or on the side of the card, t
       <div class="card-status-start bg-green"></div>
       <div class="card-body">
         <h3 class="card-title">Card with side status</h3>
-        <p class="text-secondary">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima
-          neque pariatur perferendis sed suscipit velit vitae voluptatem.</p>
+        <p class="text-secondary">
+          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>
@@ -218,16 +257,20 @@ Add a status color to your card, either at the top or on the side of the card, t
   <div class="card-status-top bg-danger"></div>
   <div class="card-body">
     <h3 class="card-title">Card with top status</h3>
-    <p class="text-secondary">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima
-      neque pariatur perferendis sed suscipit velit vitae voluptatem.</p>
+    <p class="text-secondary">
+      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-secondary">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima
-      neque pariatur perferendis sed suscipit velit vitae voluptatem.</p>
+    <p class="text-secondary">
+      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>
 ```
@@ -240,8 +283,10 @@ Use the `card-stacked` class to stack up multiple cards, if you want to save scr
 <div class="card card-stacked">
   <div class="card-body">
     <h3 class="card-title">Stacked card</h3>
-    <p class="text-secondary">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima
-      neque pariatur perferendis sed suscipit velit vitae voluptatem.</p>
+    <p class="text-secondary">
+      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>
 ```
@@ -271,7 +316,8 @@ Organize multiple cards into tabs to be able to display more content in a well-o
       <div class="card-body">
         <div class="card-title">Content of tab #1</div>
         <p class="text-secondary">
-          Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
+          Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid
+          distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
         </p>
       </div>
     </div>
@@ -279,7 +325,8 @@ Organize multiple cards into tabs to be able to display more content in a well-o
       <div class="card-body">
         <div class="card-title">Content of tab #2</div>
         <p class="text-secondary">
-          Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
+          Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid
+          distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
         </p>
       </div>
     </div>
@@ -287,7 +334,8 @@ Organize multiple cards into tabs to be able to display more content in a well-o
       <div class="card-body">
         <div class="card-title">Content of tab #3</div>
         <p class="text-secondary">
-          Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
+          Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid
+          distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
         </p>
       </div>
     </div>
@@ -295,7 +343,8 @@ Organize multiple cards into tabs to be able to display more content in a well-o
       <div class="card-body">
         <div class="card-title">Content of tab #4</div>
         <p class="text-secondary">
-          Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
+          Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid
+          distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
         </p>
       </div>
     </div>
@@ -327,7 +376,8 @@ Organize multiple cards into tabs to be able to display more content in a well-o
       <div class="card-body">
         <div class="card-title">Content of tab #1</div>
         <p class="text-secondary">
-          Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
+          Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid
+          distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
         </p>
       </div>
     </div>
@@ -336,7 +386,8 @@ Organize multiple cards into tabs to be able to display more content in a well-o
       <div class="card-body">
         <div class="card-title">Content of tab #2</div>
         <p class="text-secondary">
-          Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
+          Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid
+          distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
         </p>
       </div>
     </div>
@@ -345,7 +396,8 @@ Organize multiple cards into tabs to be able to display more content in a well-o
       <div class="card-body">
         <div class="card-title">Content of tab #3</div>
         <p class="text-secondary">
-          Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
+          Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid
+          distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
         </p>
       </div>
     </div>
@@ -354,7 +406,8 @@ Organize multiple cards into tabs to be able to display more content in a well-o
       <div class="card-body">
         <div class="card-title">Content of tab #4</div>
         <p class="text-secondary">
-          Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
+          Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid
+          distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
         </p>
       </div>
     </div>

+ 270 - 47
docs/ui/components/carousel.mdx

@@ -12,7 +12,12 @@ Use a carousel to make your website design more visually appealing for users. In
 ```html 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="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>
@@ -20,26 +25,52 @@ Use a carousel to make your website design more visually appealing for users. In
   </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" />
+      <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" />
+      <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" />
+      <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" />
+      <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">
+  <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">
+  <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>
@@ -53,7 +84,12 @@ You can replace the standard indicators with dots. Just add the `carousel-indica
 ```html 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="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>
@@ -61,19 +97,35 @@ You can replace the standard indicators with dots. Just add the `carousel-indica
   </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" />
+      <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" />
+      <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" />
+      <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" />
+      <img
+        class="d-block w-100"
+        alt=""
+        src="/samples/photos/people-by-a-banquet-table-full-with-food.jpg"
+      />
     </div>
   </div>
 </div>
@@ -86,27 +138,75 @@ The syntax is similar for thumbnails. Add class `carousel-indicators-thumb` and
 ```html example 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>
+    <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" />
+      <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" />
+      <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" />
+      <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" />
+      <img
+        class="d-block w-100"
+        alt=""
+        src="/samples/photos/stylish-workspace-with-macbook-pro.jpg"
+      />
     </div>
   </div>
 </div>
@@ -117,13 +217,38 @@ The syntax is similar for thumbnails. Add class `carousel-indicators-thumb` and
 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 example centered columns={2} height="35rem"
-<div id="carousel-indicators-dot-vertical" class="carousel slide carousel-fade" data-bs-ride="carousel">
+<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>
+    <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">
@@ -133,13 +258,25 @@ To make the indicators go to the right side, add the `carousel-indicators-vertic
       <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" />
+      <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" />
+      <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" />
+      <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>
@@ -148,29 +285,89 @@ To make the indicators go to the right side, add the `carousel-indicators-vertic
 An example of adding thumbnails on the right side:
 
 ```html example centered columns={2} height="35rem"
-<div id="carousel-indicators-thumb-vertical" class="carousel slide carousel-fade" data-bs-ride="carousel">
+<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>
+    <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" />
+      <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" />
+      <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" />
+      <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" />
+      <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" />
+      <img
+        class="d-block w-100"
+        alt=""
+        src="/samples/photos/beautiful-blonde-woman-on-a-wooden-pier-by-the-lake.jpg"
+      />
     </div>
   </div>
 </div>
@@ -184,7 +381,11 @@ Add captions to your slides easily with the `.carousel-caption` element within a
 <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" />
+      <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>
@@ -192,7 +393,11 @@ Add captions to your slides easily with the `.carousel-caption` element within a
       </div>
     </div>
     <div class="carousel-item">
-      <img class="d-block w-100" alt="" src="/samples/photos/people-watching-a-presentation-in-a-room.jpg" />
+      <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>
@@ -200,7 +405,11 @@ Add captions to your slides easily with the `.carousel-caption` element within a
       </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" />
+      <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>
@@ -208,7 +417,11 @@ Add captions to your slides easily with the `.carousel-caption` element within a
       </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" />
+      <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>
@@ -224,11 +437,21 @@ Add captions to your slides easily with the `.carousel-caption` element within a
       </div>
     </div>
   </div>
-  <a class="carousel-control-prev" data-bs-target="#carousel-captions" role="button" data-bs-slide="prev">
+  <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">
+  <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>

+ 585 - 399
docs/ui/components/charts.mdx

@@ -20,83 +20,99 @@ Line charts are an essential tool for visualizing data trends over time. They ar
   </div>
 </div>
 <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,
+  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: {
-          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();
+          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>
 ```
@@ -112,87 +128,97 @@ Area charts are ideal for representing cumulative data over time. They add visua
   </div>
 </div>
 <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,
+  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: 0.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: {
-          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();
+          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>
 ```
@@ -208,97 +234,110 @@ Bar charts are highly effective for comparing data across different categories.
   </div>
 </div>
 <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"
+  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: {
-          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();
+          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>
 ```
@@ -314,46 +353,52 @@ Pie charts are a simple and effective way to visualize proportions and ratios. T
   </div>
 </div>
 <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
-        },
-      }
-    })).render();
+  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,
+          },
+        },
+      }).render();
   });
 </script>
 ```
@@ -369,46 +414,113 @@ Heatmaps provide a graphical representation of data where individual values are
   </div>
 </div>
 <script>
-  document.addEventListener("DOMContentLoaded", function() {
-    window.ApexCharts && (new ApexCharts(document.getElementById('chart-demo-heatmap'), {
-      chart: {
-        type: "heatmap",
-        fontFamily: 'inherit',
-        height: 240,
-        animations: {
-          enabled: false
-        },
-		  toolbar: {
-			 show: false
-		  }
-      },
-      tooltip: {
-        theme: 'dark'
-      },
-      fill: {
-        opacity: 1,
-      },
-       series: [
-        { name: 'New York', data: [{ x: 'Monday', y: 22 }, { x: 'Tuesday', y: 24 }, { x: 'Wednesday', y: 19 }, { x: 'Thursday', y: 23 }, { x: 'Friday', y: 25 }, { x: 'Saturday', y: 27 }, { x: 'Sunday', y: 26 }] },
-        { name: 'Los Angeles', data: [{ x: 'Monday', y: 28 }, { x: 'Tuesday', y: 30 }, { x: 'Wednesday', y: 27 }, { x: 'Thursday', y: 29 }, { x: 'Friday', y: 31 }, { x: 'Saturday', y: 32 }, { x: 'Sunday', y: 33 }] },
-        { name: 'Chicago', data: [{ x: 'Monday', y: 18 }, { x: 'Tuesday', y: 20 }, { x: 'Wednesday', y: 17 }, { x: 'Thursday', y: 19 }, { x: 'Friday', y: 21 }, { x: 'Saturday', y: 22 }, { x: 'Sunday', y: 23 }] },
-        { name: 'Houston', data: [{ x: 'Monday', y: 25 }, { x: 'Tuesday', y: 27 }, { x: 'Wednesday', y: 24 }, { x: 'Thursday', y: 26 }, { x: 'Friday', y: 28 }, { x: 'Saturday', y: 29 }, { x: 'Sunday', y: 30 }] },
-        { name: 'Phoenix', data: [{ x: 'Monday', y: 33 }, { x: 'Tuesday', y: 35 }, { x: 'Wednesday', y: 32 }, { x: 'Thursday', y: 34 }, { x: 'Friday', y: 36 }, { x: 'Saturday', y: 37 }, { x: 'Sunday', y: 38 }] },
-        { name: 'Philadelphia', data: [{ x: 'Monday', y: 20 }, { x: 'Tuesday', y: 22 }, { x: 'Wednesday', y: 19 }, { x: 'Thursday', y: 21 }, { x: 'Friday', y: 23 }, { x: 'Saturday', y: 24 }, { x: 'Sunday', y: 25 }] }
-      ],
-      colors: [tabler.getColor("primary")],
-      dataLabels: {
-        enabled: false
-      },
-      xaxis: {
+  document.addEventListener("DOMContentLoaded", function () {
+    window.ApexCharts &&
+      new ApexCharts(document.getElementById("chart-demo-heatmap"), {
+        chart: {
+          type: "heatmap",
+          fontFamily: "inherit",
+          height: 240,
+          animations: {
+            enabled: false,
+          },
+          toolbar: {
+            show: false,
+          },
+        },
         tooltip: {
-          enabled: false
+          theme: "dark",
+        },
+        fill: {
+          opacity: 1,
+        },
+        series: [
+          {
+            name: "New York",
+            data: [
+              { x: "Monday", y: 22 },
+              { x: "Tuesday", y: 24 },
+              { x: "Wednesday", y: 19 },
+              { x: "Thursday", y: 23 },
+              { x: "Friday", y: 25 },
+              { x: "Saturday", y: 27 },
+              { x: "Sunday", y: 26 },
+            ],
+          },
+          {
+            name: "Los Angeles",
+            data: [
+              { x: "Monday", y: 28 },
+              { x: "Tuesday", y: 30 },
+              { x: "Wednesday", y: 27 },
+              { x: "Thursday", y: 29 },
+              { x: "Friday", y: 31 },
+              { x: "Saturday", y: 32 },
+              { x: "Sunday", y: 33 },
+            ],
+          },
+          {
+            name: "Chicago",
+            data: [
+              { x: "Monday", y: 18 },
+              { x: "Tuesday", y: 20 },
+              { x: "Wednesday", y: 17 },
+              { x: "Thursday", y: 19 },
+              { x: "Friday", y: 21 },
+              { x: "Saturday", y: 22 },
+              { x: "Sunday", y: 23 },
+            ],
+          },
+          {
+            name: "Houston",
+            data: [
+              { x: "Monday", y: 25 },
+              { x: "Tuesday", y: 27 },
+              { x: "Wednesday", y: 24 },
+              { x: "Thursday", y: 26 },
+              { x: "Friday", y: 28 },
+              { x: "Saturday", y: 29 },
+              { x: "Sunday", y: 30 },
+            ],
+          },
+          {
+            name: "Phoenix",
+            data: [
+              { x: "Monday", y: 33 },
+              { x: "Tuesday", y: 35 },
+              { x: "Wednesday", y: 32 },
+              { x: "Thursday", y: 34 },
+              { x: "Friday", y: 36 },
+              { x: "Saturday", y: 37 },
+              { x: "Sunday", y: 38 },
+            ],
+          },
+          {
+            name: "Philadelphia",
+            data: [
+              { x: "Monday", y: 20 },
+              { x: "Tuesday", y: 22 },
+              { x: "Wednesday", y: 19 },
+              { x: "Thursday", y: 21 },
+              { x: "Friday", y: 23 },
+              { x: "Saturday", y: 24 },
+              { x: "Sunday", y: 25 },
+            ],
+          },
+        ],
+        colors: [tabler.getColor("primary")],
+        dataLabels: {
+          enabled: false,
+        },
+        xaxis: {
+          tooltip: {
+            enabled: false,
+          },
         },
-      },
-      title: {
-        text: 'Average Temperature by Day and City',
-      },
-    })).render();
+        title: {
+          text: "Average Temperature by Day and City",
+        },
+      }).render();
   });
 </script>
 ```
@@ -424,88 +536,162 @@ For more complex data visualizations, you can create advanced charts with multip
   </div>
 </div>
 <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,
+  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: {
-          lines: {
-            show: true
-          }
+          labels: {
+            padding: 0,
+          },
+          tooltip: {
+            enabled: false,
+          },
+          type: "datetime",
         },
-      },
-      xaxis: {
-        labels: {
-          padding: 0,
+        yaxis: {
+          labels: {
+            padding: 4,
+          },
         },
-        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();
+        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>
 ```

+ 34 - 12
docs/ui/components/datagrid.mdx

@@ -26,7 +26,10 @@ description: Detailed product information in grids.
     <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>
+        <span
+          class="avatar avatar-xs me-2 rounded"
+          style="background-image: url(/samples/avatars/027m.jpg)"
+        ></span>
         Paweł Kuna
       </div>
     </div>
@@ -38,20 +41,30 @@ description: Detailed product information in grids.
   <div class="datagrid-item">
     <div class="datagrid-title">Edge network</div>
     <div class="datagrid-content">
-      <span class="status status-green">
-        Active
-      </span>
+      <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"
+          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"
+          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>
@@ -68,7 +81,18 @@ description: Detailed product information in grids.
   <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">
+      <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>
@@ -83,9 +107,7 @@ description: Detailed product information in grids.
   </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 class="datagrid-content">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</div>
   </div>
 </div>
 ```

+ 10 - 5
docs/ui/components/divider.mdx

@@ -14,7 +14,8 @@ Use dividers to visually separate content into parts. You can use a line only or
 </p>
 <div class="hr-text">See also</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>
 ```
 
@@ -28,7 +29,8 @@ You can modify the position of the text which is to be included in a separator a
 </p>
 <div class="hr-text hr-text-start">Start 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>
 <div class="hr-text">Centered divider</div>
 <p>
@@ -36,7 +38,8 @@ You can modify the position of the text which is to be included in a separator a
 </p>
 <div class="hr-text hr-text-end">End 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>
 ```
 
@@ -50,7 +53,8 @@ Customize the color of dividers to make them go well with your design. Click [he
 </p>
 <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!
+  Dicta error hic illo iure necessitatibus nihil officiis omnis perferendis, praesentium repellendus
+  rerum, saepe sed, sit!
 </p>
 <div class="hr-text text-red">Red divider</div>
 <p>
@@ -58,6 +62,7 @@ Customize the color of dividers to make them go well with your design. Click [he
 </p>
 <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>
 ```

+ 89 - 41
docs/ui/components/dropdowns.mdx

@@ -28,12 +28,8 @@ Use dropdown dividers to separate groups of dropdown items for greater clarity.
 <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="#"> Action </a>
+    <a class="dropdown-item" href="#"> Another action </a>
     <div class="dropdown-divider"></div>
     <a class="dropdown-item" href="#">Separated link</a>
   </div>
@@ -48,12 +44,8 @@ Make a dropdown item look active, so that it highlights when a user hovers over
 <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="#"> Action </a>
+    <a class="dropdown-item" href="#"> Another action </a>
     <a class="dropdown-item active" href="#">Active action</a>
   </div>
 </div>
@@ -67,12 +59,8 @@ Make a dropdown item look disabled to display options which are currently not av
 <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="#"> Action </a>
+    <a class="dropdown-item" href="#"> Another action </a>
     <a class="dropdown-item disabled" href="#">Disabled action</a>
   </div>
 </div>
@@ -87,12 +75,8 @@ Add a dropdown header to group dropdown items into sections and name them accord
   <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>
+    <a class="dropdown-item" href="#"> Action </a>
+    <a class="dropdown-item" href="#"> Another action </a>
   </div>
 </div>
 ```
@@ -107,15 +91,39 @@ Use icons in your dropdowns to add more visual content and make the options easy
   <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">
+      <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="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">
+      <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>
@@ -134,12 +142,8 @@ Add an arrow that points at the dropdown button.
 <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>
+    <a class="dropdown-item" href="#"> Action </a>
+    <a class="dropdown-item" href="#"> Another action </a>
   </div>
 </div>
 ```
@@ -195,15 +199,39 @@ Make your dropdown suit the dark mode of your website or software.
   <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">
+      <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" />
+        <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">
+      <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" />
@@ -222,16 +250,23 @@ Use a dropdown with card content to make it easy for users to get more informati
 ```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: 16rem;">
+  <div class="dropdown-menu dropdown-menu-card" style="max-width: 16rem">
     <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?" />
+        <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-secondary">Are you suggesting that coconuts migrate? No, no, no! Yes, yes. A bit. But she's got a wart. You ...</div>
+        <div class="text-secondary">
+          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">
@@ -240,9 +275,22 @@ Use a dropdown with card content to make it easy for users to get more informati
           </div>
           <div class="ms-auto">
             <a href="#" class="icon d-none d-md-inline-block ms-3 text-secondary">
-              <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">
+              <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" />
+                <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>

+ 12 - 12
docs/ui/components/dropzone.mdx

@@ -20,9 +20,9 @@ To initialize the Dropzone form, you need to create a new instance of the Dropzo
 
 ```html
 <script>
-  document.addEventListener("DOMContentLoaded", function() {
-    new Dropzone("#dropzone-default")
-  })
+  document.addEventListener("DOMContentLoaded", function () {
+    new Dropzone("#dropzone-default");
+  });
 </script>
 ```
 
@@ -35,9 +35,9 @@ The Dropzone form will now be active and ready to accept file uploads. When a us
   </div>
 </form>
 <script>
-  document.addEventListener("DOMContentLoaded", function() {
-    new Dropzone("#dropzone-default")
-  })
+  document.addEventListener("DOMContentLoaded", function () {
+    new Dropzone("#dropzone-default");
+  });
 </script>
 ```
 
@@ -58,9 +58,9 @@ By adding the `multiple` attribute to the input field, users can select multiple
   </div>
 </form>
 <script>
-  document.addEventListener("DOMContentLoaded", function() {
-    new Dropzone("#dropzone-mulitple")
-  })
+  document.addEventListener("DOMContentLoaded", function () {
+    new Dropzone("#dropzone-mulitple");
+  });
 </script>
 ```
 
@@ -79,9 +79,9 @@ You can further enhance the user experience by customizing the Dropzone interfac
   </div>
 </form>
 <script>
-  document.addEventListener("DOMContentLoaded", function() {
-    new Dropzone("#dropzone-custom")
-  })
+  document.addEventListener("DOMContentLoaded", function () {
+    new Dropzone("#dropzone-custom");
+  });
 </script>
 ```
 

+ 48 - 4
docs/ui/components/empty.mdx

@@ -11,7 +11,18 @@ Use the default empty state to engage users in the critical moments of their exp
 ```html example height="300px"
 <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">
+    <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" />
@@ -25,7 +36,18 @@ Use the default empty state to engage users in the critical moments of their exp
   </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">
+      <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" />
@@ -51,7 +73,18 @@ Make your empty state screen more attractive and engaging by adding an illustrat
   </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">
+      <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" />
@@ -75,7 +108,18 @@ Instead of adding an icon or illustration you can simply give the text:
   </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">
+      <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" />

+ 263 - 30
docs/ui/components/icons.mdx

@@ -12,7 +12,18 @@ If you need to add icons to your website, you can use the Tabler Icons library.
 To add an icon to your code copy the SVG code from the Tabler Icons website and paste it into your HTML file.
 
 ```html
-<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">
+<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>
@@ -21,25 +32,73 @@ To add an icon to your code copy the SVG code from the Tabler Icons website and
 Results can be seen in the example below.
 
 ```html 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">
+<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">
+<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="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">
+<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>
+  <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">
+<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>
@@ -56,33 +115,120 @@ Results can be seen in the example below.
 To use filled icons, you need to copy the SVG code from the Tabler Icons website and paste it into your HTML file. 
 
 ```html
-<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">
+<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>
+  <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>
 ```
 
 Look at the example below to see the filled icons.
 
 ```html 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">
+<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>
+  <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">
+<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>
+  <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">
+<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>
+  <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">
+<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>
+  <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>
 ```
 
@@ -101,25 +247,77 @@ Look at the example below to see how the color of the icon changes.
 
 ```html example 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">
+  <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>
+    <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">
+  <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>
+    <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">
+  <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">
+  <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>
@@ -142,16 +340,51 @@ To add an animation to the icon, you need to add the `icon-pulse`, `icon-tada`,
 Look at the example below to see the animated icons.
 
 ```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">
+<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">
+<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="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">
+<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>

+ 6 - 6
docs/ui/components/inline-player.mdx

@@ -25,8 +25,8 @@ Integrating the Inline Player into your website is straightforward. Below is a s
 ```html
 <div id="player-youtube" data-plyr-provider="youtube" data-plyr-embed-id="dQw4w9WgXcQ"></div>
 <script>
-  document.addEventListener("DOMContentLoaded", function() {
-    window.Plyr && (new Plyr('#player-youtube'));
+  document.addEventListener("DOMContentLoaded", function () {
+    window.Plyr && new Plyr("#player-youtube");
   });
 </script>
 ```
@@ -37,8 +37,8 @@ Look at the example below to see how the Inline Player works with a YouTube vide
 <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'));
+  document.addEventListener("DOMContentLoaded", function () {
+    window.Plyr && new Plyr("#player-youtube");
   });
 </script>
 ```
@@ -51,8 +51,8 @@ Here’s how to embed a Vimeo video using the Inline Player:
 <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'));
+  document.addEventListener("DOMContentLoaded", function () {
+    window.Plyr && new Plyr("#player-vimeo");
   });
 </script>
 ```

+ 86 - 46
docs/ui/components/modals.mdx

@@ -14,15 +14,9 @@ To create a modal, you need to add a `.modal` element to the document. Inside th
 <div class="modal" tabindex="-1">
   <div class="modal-dialog" role="document">
     <div class="modal-content">
-      <div class="modal-header">
-        ...
-      </div>
-      <div class="modal-body">
-        ...
-      </div>
-      <div class="modal-footer">
-        ...
-      </div>
+      <div class="modal-header">...</div>
+      <div class="modal-body">...</div>
+      <div class="modal-footer">...</div>
     </div>
   </div>
 </div>
@@ -42,7 +36,9 @@ Look at the example below to see how the modal looks.
         <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.
+        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>
@@ -64,26 +60,37 @@ You can use the modal to create a prompt or alert. Look at the example below to
       <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">
+        <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" />
+          <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-secondary">Do you really want to remove 84 files? What you've done cannot be undone.</div>
+        <div class="text-secondary">
+          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>
+              <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>
+              <a href="#" class="btn btn-danger w-100" data-bs-dismiss="modal"> Delete 84 items </a>
             </div>
           </div>
         </div>
@@ -92,10 +99,10 @@ You can use the modal to create a prompt or alert. Look at the example below to
   </div>
 </div>
 <script>
-  document.addEventListener("DOMContentLoaded", function() {
-    var myModal = new bootstrap.Modal(document.getElementById('exampleModal'))
-    myModal.show()
-  })
+  document.addEventListener("DOMContentLoaded", function () {
+    var myModal = new bootstrap.Modal(document.getElementById("exampleModal"));
+    myModal.show();
+  });
 </script>
 ```
 
@@ -106,26 +113,36 @@ You can use the modal to create a prompt or alert. Look at the example below to
       <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">
+        <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 succeeded</h3>
-        <div class="text-secondary">Your payment of $290 has been successfully submitted. Your invoice has been sent to [email protected].</div>
+        <div class="text-secondary">
+          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>
+              <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>
+              <a href="#" class="btn btn-success w-100" data-bs-dismiss="modal"> View invoice </a>
             </div>
           </div>
         </div>
@@ -134,10 +151,10 @@ You can use the modal to create a prompt or alert. Look at the example below to
   </div>
 </div>
 <script>
-  document.addEventListener("DOMContentLoaded", function() {
-    var myModal = new bootstrap.Modal(document.getElementById('exampleModal'))
-    myModal.show()
-  })
+  document.addEventListener("DOMContentLoaded", function () {
+    var myModal = new bootstrap.Modal(document.getElementById("exampleModal"));
+    myModal.show();
+  });
 </script>
 ```
 
@@ -159,20 +176,33 @@ You can use the modal to create a form. Look at the example below to see how the
       <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" />
+          <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 />
+              <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-secondary">Provide only basic data needed for the report</span>
+                  <span class="d-block text-secondary"
+                    >Provide only basic data needed for the report</span
+                  >
                 </span>
               </span>
             </label>
@@ -186,7 +216,10 @@ You can use the modal to create a form. Look at the example below to see how the
                 </span>
                 <span class="form-selectgroup-label-content">
                   <span class="form-selectgroup-title strong mb-1">Advanced</span>
-                  <span class="d-block text-secondary">Insert charts and additional advanced analyses to be inserted in the report</span>
+                  <span class="d-block text-secondary"
+                    >Insert charts and additional advanced analyses to be inserted in the
+                    report</span
+                  >
                 </span>
               </span>
             </label>
@@ -197,9 +230,7 @@ You can use the modal to create a form. Look at the example below to see how the
             <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>
+                <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>
@@ -239,11 +270,20 @@ You can use the modal to create a form. Look at the example below to see how the
         </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-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">
+          <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>

+ 20 - 5
docs/ui/components/offcanvas.mdx

@@ -11,7 +11,8 @@ To create an offcanvas, add the `.offcanvas` class to a container element. You c
 ```html
 <div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvas">
   <div class="offcanvas-body">
-    Content for the offcanvas goes here. You can place just about any Tabler component or custom elements here.
+    Content for the offcanvas goes here. You can place just about any Tabler component or custom
+    elements here.
   </div>
 </div>
 ```
@@ -19,9 +20,15 @@ To create an offcanvas, add the `.offcanvas` class to a container element. You c
 Look at the example below to see how the offcanvas works.
 
 ```html example vendors height="25rem"
-<div class="offcanvas offcanvas-start show" tabindex="-1" id="offcanvas" aria-labelledby="offcanvasLabel">
+<div
+  class="offcanvas offcanvas-start show"
+  tabindex="-1"
+  id="offcanvas"
+  aria-labelledby="offcanvasLabel"
+>
   <div class="offcanvas-body">
-    Content for the offcanvas goes here. You can place just about any Tabler component or custom elements here.
+    Content for the offcanvas goes here. You can place just about any Tabler component or custom
+    elements here.
   </div>
 </div>
 ```
@@ -31,12 +38,20 @@ Look at the example below to see how the offcanvas works.
 The offcanvas component is used to display a cookies banner. It is a great way to inform users about the use of cookies on your website and to get their consent.
 
 ```html example vendors height="25rem"
-<div class="offcanvas offcanvas-bottom h-auto show" tabindex="-1" id="offcanvasBottom" aria-modal="true" role="dialog">
+<div
+  class="offcanvas offcanvas-bottom h-auto show"
+  tabindex="-1"
+  id="offcanvasBottom"
+  aria-modal="true"
+  role="dialog"
+>
   <div class="offcanvas-body">
     <div class="container">
       <div class="row align-items-center">
         <div class="col">
-          <strong>Do you like cookies?</strong> 🍪 We use cookies to ensure you get the best experience on our website. <a href="./terms-of-service.html" target="_blank">Learn more</a>
+          <strong>Do you like cookies?</strong> 🍪 We use cookies to ensure you get the best
+          experience on our website.
+          <a href="./terms-of-service.html" target="_blank">Learn more</a>
         </div>
         <div class="col-auto">
           <button type="button" class="btn btn-primary" data-bs-dismiss="offcanvas">

+ 6 - 1
docs/ui/components/placeholder.mdx

@@ -159,7 +159,12 @@ See in the following examples how else you can use the placeholder component
     <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>
+      <a
+        href="#"
+        tabindex="-1"
+        class="btn btn-primary disabled placeholder col-4"
+        aria-hidden="true"
+      ></a>
     </div>
   </div>
 </div>

+ 99 - 11
docs/ui/components/popover.mdx

@@ -10,7 +10,15 @@ description: Provide extra information with popovers.
 To create a default popover use:
 
 ```html 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>
+<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>
 ```
 
 ## Four directions
@@ -18,23 +26,87 @@ To create a default popover use:
 Four options are available: `top`, `right`, `bottom`, and `left` aligned. Directions are mirrored when using Bootstrap in RTL.
 
 ```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>
+<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">
+<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">
+<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">
+<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">
+<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>
 ```
@@ -44,11 +116,27 @@ Four options are available: `top`, `right`, `bottom`, and `left` aligned. Direct
 Popover can be triggered in one or more of the following styles: `manual`, with a `click`, on `focus`, and on `hover`. This one reacts on hover. See more details on the Popover component page of [Bootstrap's documentation](https://getbootstrap.com/docs)
 
 ```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>
+<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>
 ```
 
 ```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?">
+<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>
 ```

+ 54 - 6
docs/ui/components/progress.mdx

@@ -17,7 +17,15 @@ To create a default progress bar, add a `.progress` class to a `<div>` element.
 
 ```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">
+  <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>
@@ -35,7 +43,15 @@ Look at the example below to see how it works:
 
 ```html 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">
+  <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>
@@ -73,22 +89,54 @@ Full list of available colors can be found [here](/docs/ui/base/colors).
 
 ```html 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">
+  <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">
+  <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">
+  <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">
+  <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>

+ 11 - 10
docs/ui/components/range-slider.mdx

@@ -14,16 +14,17 @@ All options and features can be found [**here**](https://refreshless.com/nouisli
 ```html example centered vendors libs="nouislider" columns={1}
 <div id="range-simple"></div>
 <script>
-  document.addEventListener("DOMContentLoaded", function() {
-    window.noUiSlider && (noUiSlider.create(document.getElementById('range-simple'), {
-      start: 20,
-      connect: [true, false],
-      step: 10,
-      range: {
-        min: 0,
-        max: 100
-      }
-    }));
+  document.addEventListener("DOMContentLoaded", function () {
+    window.noUiSlider &&
+      noUiSlider.create(document.getElementById("range-simple"), {
+        start: 20,
+        connect: [true, false],
+        step: 10,
+        range: {
+          min: 0,
+          max: 100,
+        },
+      });
   });
 </script>
 ```

+ 85 - 30
docs/ui/components/ribbons.mdx

@@ -10,12 +10,24 @@ Use the `ribbon` class to add the default ribbon to any section of your interfac
 
 ```html example columns={1} centered background="base"
 <div class="card">
-  <div class="card-body" style="height: 5rem">
-  </div>
+  <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">
+    <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" />
+      <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>
@@ -23,8 +35,7 @@ Use the `ribbon` class to add the default ribbon to any section of your interfac
 
 ```html
 <div class="card">
-  <div class="card-body">
-  </div>
+  <div class="card-body"></div>
   <div class="ribbon">
     <!-- SVG icon from http://tabler.io/icons/icon/star -->
     <svg>...</svg>
@@ -45,12 +56,24 @@ Using multiple classes at once will give you more position options. For example,
 
 ```html example columns={1} centered background="base"
 <div class="card">
-  <div class="card-body" style="height: 5rem">
-  </div>
+  <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">
+    <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" />
+      <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>
@@ -58,8 +81,7 @@ Using multiple classes at once will give you more position options. For example,
 
 ```html
 <div class="card">
-  <div class="card-body">
-  </div>
+  <div class="card-body"></div>
   <div class="ribbon ribbon-top ribbon-start">
     <!-- SVG icon from http://tabler.io/icons/icon/star -->
     <svg>...</svg>
@@ -73,12 +95,24 @@ Customize the ribbon's background color. You can click [here](/docs/ui/base/colo
 
 ```html example columns={1} centered background="base"
 <div class="card">
-  <div class="card-body" style="height: 5rem">
-  </div>
+  <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">
+    <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" />
+      <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>
@@ -86,8 +120,7 @@ Customize the ribbon's background color. You can click [here](/docs/ui/base/colo
 
 ```html
 <div class="card">
-  <div class="card-body">
-  </div>
+  <div class="card-body"></div>
   <div class="ribbon bg-red">
     <!-- SVG icon from http://tabler.io/icons/icon/star -->
     <svg>...</svg>
@@ -101,12 +134,24 @@ Add your own text to a ribbon to display any additional information and make it
 
 ```html example columns={1} centered background="base"
 <div class="card">
-  <div class="card-body" style="height: 5rem">
-  </div>
+  <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">
+    <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" />
+      <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>
@@ -114,8 +159,7 @@ Add your own text to a ribbon to display any additional information and make it
 
 ```html
 <div class="card">
-  <div class="card-body">
-  </div>
+  <div class="card-body"></div>
   <div class="ribbon bg-green">
     <!-- SVG icon from http://tabler.io/icons/icon/star -->
     <svg>...</svg>
@@ -129,12 +173,24 @@ Change the style of a ribbon to make it go well with your interface design.
 
 ```html example columns={1} centered background="base"
 <div class="card w-100">
-  <div class="card-body" style="height: 5rem">
-  </div>
+  <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">
+    <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" />
+      <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>
@@ -142,8 +198,7 @@ Change the style of a ribbon to make it go well with your interface design.
 
 ```html
 <div class="card">
-  <div class="card-body">
-  </div>
+  <div class="card-body"></div>
   <div class="ribbon ribbon-bookmark bg-orange">
     <!-- SVG icon from http://tabler.io/icons/icon/star -->
     <svg>...</svg>

+ 320 - 120
docs/ui/components/segmented-control.mdx

@@ -7,10 +7,10 @@ To create a segmented control, use the `nav` element with the `nav-segmented` cl
 
 ```html
 <nav class="nav nav-segmented" role="tablist">
-	<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="true" aria-current="page">
-		First
-	</button>
-	...
+  <button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="true" aria-current="page">
+    First
+  </button>
+  ...
 </nav>
 ```
 
@@ -18,15 +18,28 @@ See the example below to see how the segmented control looks.
 
 ```html example centered background="white"
 <nav class="nav nav-segmented" role="tablist">
-	<button class="nav-link active" role="tab" data-bs-toggle="tab" aria-selected="true" aria-current="page">
-		First
-	</button>
-	<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
-		Second
-	</button>
-	<button class="nav-link" disabled role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
-		Disabled
-	</button>
+  <button
+    class="nav-link active"
+    role="tab"
+    data-bs-toggle="tab"
+    aria-selected="true"
+    aria-current="page"
+  >
+    First
+  </button>
+  <button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
+    Second
+  </button>
+  <button
+    class="nav-link"
+    disabled
+    role="tab"
+    data-bs-toggle="tab"
+    aria-selected="false"
+    tabindex="-1"
+  >
+    Disabled
+  </button>
 </nav>
 ```
 
@@ -35,30 +48,34 @@ See the example below to see how the segmented control looks.
 To make the segmented control full width, add the `w-100` class to the `nav` element. It will take up the full width of its parent container.
 
 ```html
-<nav class="nav nav-segmented w-100" role="tablist">
-	...
-</nav>
+<nav class="nav nav-segmented w-100" role="tablist">...</nav>
 ```
 
 The results can be seen in the example below.
 
 ```html example vcentered background="white"
 <nav class="nav nav-segmented w-100" role="tablist">
-	<button class="nav-link active" role="tab" data-bs-toggle="tab" aria-selected="true" aria-current="page">
-		Daily
-	</button>
-	<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
-		Weekly
-	</button>
-	<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
-		Monthly
-	</button>
-	<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
-		Quarterly
-	</button>
-	<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
-		Yearly
-	</button>
+  <button
+    class="nav-link active"
+    role="tab"
+    data-bs-toggle="tab"
+    aria-selected="true"
+    aria-current="page"
+  >
+    Daily
+  </button>
+  <button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
+    Weekly
+  </button>
+  <button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
+    Monthly
+  </button>
+  <button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
+    Quarterly
+  </button>
+  <button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
+    Yearly
+  </button>
 </nav>
 ```
 
@@ -68,24 +85,30 @@ You can also use emojis in the segmented control. To do this, add the emoji insi
 
 ```html example centered background="white"
 <nav class="nav nav-segmented nav-1" role="tablist">
-	<button class="nav-link active" role="tab" data-bs-toggle="tab" aria-selected="true" aria-current="page">
-		👦
-	</button>
-	<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
-		👦🏿
-	</button>
-	<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
-		👦🏾
-	</button>
-	<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
-		👦🏽
-	</button>
-	<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
-		👦🏼
-	</button>
-	<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
-		👦🏻
-	</button>
+  <button
+    class="nav-link active"
+    role="tab"
+    data-bs-toggle="tab"
+    aria-selected="true"
+    aria-current="page"
+  >
+    👦
+  </button>
+  <button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
+    👦🏿
+  </button>
+  <button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
+    👦🏾
+  </button>
+  <button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
+    👦🏽
+  </button>
+  <button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
+    👦🏼
+  </button>
+  <button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
+    👦🏻
+  </button>
 </nav>
 ```
 
@@ -96,26 +119,104 @@ You can also use icons in the segmented control. To do this, add the icon inside
 
 ```html example centered background="white"
 <nav class="nav nav-segmented" role="tablist">
-	<button class="nav-link active" role="tab" data-bs-toggle="tab" aria-selected="true" aria-current="page">
-		<!-- Download SVG icon from http://tabler.io/icons/icon/list -->
-		<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon nav-link-icon icon-2"><path d="M9 6l11 0"></path><path d="M9 12l11 0"></path><path d="M9 18l11 0"></path><path d="M5 6l0 .01"></path><path d="M5 12l0 .01"></path><path d="M5 18l0 .01"></path></svg>
-		List
-	</button>
-	<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
-	<!-- Download SVG icon from http://tabler.io/icons/icon/layout -->
-	<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon nav-link-icon icon-2"><path d="M4 4m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v1a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z"></path><path d="M4 13m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v3a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z"></path><path d="M14 4m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z"></path></svg>
-		Kanban
-	</button>
-	<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
-		<!-- Download SVG icon from http://tabler.io/icons/icon/calendar -->
-		<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon nav-link-icon icon-2"><path d="M4 7a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12z"></path><path d="M16 3v4"></path><path d="M8 3v4"></path><path d="M4 11h16"></path><path d="M11 15h1"></path><path d="M12 15v3"></path></svg>
-		Calendar
-	</button>
-	<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
-		<!-- Download SVG icon from http://tabler.io/icons/icon/files -->
-		<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon nav-link-icon icon-2"><path d="M15 3v4a1 1 0 0 0 1 1h4"></path><path d="M18 17h-7a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h4l5 5v7a2 2 0 0 1 -2 2z"></path><path d="M16 17v2a2 2 0 0 1 -2 2h-7a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h2"></path></svg>
-		Files
-	</button>
+  <button
+    class="nav-link active"
+    role="tab"
+    data-bs-toggle="tab"
+    aria-selected="true"
+    aria-current="page"
+  >
+    <!-- Download SVG icon from http://tabler.io/icons/icon/list -->
+    <svg
+      xmlns="http://www.w3.org/2000/svg"
+      width="24"
+      height="24"
+      viewBox="0 0 24 24"
+      fill="none"
+      stroke="currentColor"
+      stroke-width="2"
+      stroke-linecap="round"
+      stroke-linejoin="round"
+      class="icon nav-link-icon icon-2"
+    >
+      <path d="M9 6l11 0"></path>
+      <path d="M9 12l11 0"></path>
+      <path d="M9 18l11 0"></path>
+      <path d="M5 6l0 .01"></path>
+      <path d="M5 12l0 .01"></path>
+      <path d="M5 18l0 .01"></path>
+    </svg>
+    List
+  </button>
+  <button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
+    <!-- Download SVG icon from http://tabler.io/icons/icon/layout -->
+    <svg
+      xmlns="http://www.w3.org/2000/svg"
+      width="24"
+      height="24"
+      viewBox="0 0 24 24"
+      fill="none"
+      stroke="currentColor"
+      stroke-width="2"
+      stroke-linecap="round"
+      stroke-linejoin="round"
+      class="icon nav-link-icon icon-2"
+    >
+      <path d="M4 4m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v1a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z"></path>
+      <path
+        d="M4 13m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v3a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z"
+      ></path>
+      <path
+        d="M14 4m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z"
+      ></path>
+    </svg>
+    Kanban
+  </button>
+  <button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
+    <!-- Download SVG icon from http://tabler.io/icons/icon/calendar -->
+    <svg
+      xmlns="http://www.w3.org/2000/svg"
+      width="24"
+      height="24"
+      viewBox="0 0 24 24"
+      fill="none"
+      stroke="currentColor"
+      stroke-width="2"
+      stroke-linecap="round"
+      stroke-linejoin="round"
+      class="icon nav-link-icon icon-2"
+    >
+      <path
+        d="M4 7a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12z"
+      ></path>
+      <path d="M16 3v4"></path>
+      <path d="M8 3v4"></path>
+      <path d="M4 11h16"></path>
+      <path d="M11 15h1"></path>
+      <path d="M12 15v3"></path>
+    </svg>
+    Calendar
+  </button>
+  <button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
+    <!-- Download SVG icon from http://tabler.io/icons/icon/files -->
+    <svg
+      xmlns="http://www.w3.org/2000/svg"
+      width="24"
+      height="24"
+      viewBox="0 0 24 24"
+      fill="none"
+      stroke="currentColor"
+      stroke-width="2"
+      stroke-linecap="round"
+      stroke-linejoin="round"
+      class="icon nav-link-icon icon-2"
+    >
+      <path d="M15 3v4a1 1 0 0 0 1 1h4"></path>
+      <path d="M18 17h-7a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h4l5 5v7a2 2 0 0 1 -2 2z"></path>
+      <path d="M16 17v2a2 2 0 0 1 -2 2h-7a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h2"></path>
+    </svg>
+    Files
+  </button>
 </nav>
 ```
 
@@ -124,35 +225,111 @@ You can also use icons in the segmented control. To do this, add the icon inside
 To create a vertical segmented control, add the `nav-segmented-vertical` class to the `nav` element.
 
 ```html
-<nav class="nav nav-segmented-vertical" role="tablist">
-	...
-</nav>
+<nav class="nav nav-segmented-vertical" role="tablist">...</nav>
 ```
 
 The results can be seen in the example below.
 
 ```html example centered background="white"
 <nav class="nav nav-segmented nav-segmented-vertical" role="tablist">
-		<button class="nav-link active" role="tab" data-bs-toggle="tab" aria-selected="true" aria-current="page">
-	<!-- Download SVG icon from http://tabler.io/icons/icon/list -->
-	<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon nav-link-icon icon-2"><path d="M9 6l11 0"></path><path d="M9 12l11 0"></path><path d="M9 18l11 0"></path><path d="M5 6l0 .01"></path><path d="M5 12l0 .01"></path><path d="M5 18l0 .01"></path></svg>
-				List
-		</button>
-		<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
-	<!-- Download SVG icon from http://tabler.io/icons/icon/layout -->
-	<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon nav-link-icon icon-2"><path d="M4 4m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v1a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z"></path><path d="M4 13m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v3a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z"></path><path d="M14 4m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z"></path></svg>
-				Kanban
-		</button>
-		<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
-	<!-- Download SVG icon from http://tabler.io/icons/icon/calendar -->
-	<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon nav-link-icon icon-2"><path d="M4 7a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12z"></path><path d="M16 3v4"></path><path d="M8 3v4"></path><path d="M4 11h16"></path><path d="M11 15h1"></path><path d="M12 15v3"></path></svg>
-				Calendar
-		</button>
-		<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
-	<!-- Download SVG icon from http://tabler.io/icons/icon/files -->
-	<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon nav-link-icon icon-2"><path d="M15 3v4a1 1 0 0 0 1 1h4"></path><path d="M18 17h-7a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h4l5 5v7a2 2 0 0 1 -2 2z"></path><path d="M16 17v2a2 2 0 0 1 -2 2h-7a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h2"></path></svg>
-				Files
-		</button>
+  <button
+    class="nav-link active"
+    role="tab"
+    data-bs-toggle="tab"
+    aria-selected="true"
+    aria-current="page"
+  >
+    <!-- Download SVG icon from http://tabler.io/icons/icon/list -->
+    <svg
+      xmlns="http://www.w3.org/2000/svg"
+      width="24"
+      height="24"
+      viewBox="0 0 24 24"
+      fill="none"
+      stroke="currentColor"
+      stroke-width="2"
+      stroke-linecap="round"
+      stroke-linejoin="round"
+      class="icon nav-link-icon icon-2"
+    >
+      <path d="M9 6l11 0"></path>
+      <path d="M9 12l11 0"></path>
+      <path d="M9 18l11 0"></path>
+      <path d="M5 6l0 .01"></path>
+      <path d="M5 12l0 .01"></path>
+      <path d="M5 18l0 .01"></path>
+    </svg>
+    List
+  </button>
+  <button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
+    <!-- Download SVG icon from http://tabler.io/icons/icon/layout -->
+    <svg
+      xmlns="http://www.w3.org/2000/svg"
+      width="24"
+      height="24"
+      viewBox="0 0 24 24"
+      fill="none"
+      stroke="currentColor"
+      stroke-width="2"
+      stroke-linecap="round"
+      stroke-linejoin="round"
+      class="icon nav-link-icon icon-2"
+    >
+      <path d="M4 4m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v1a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z"></path>
+      <path
+        d="M4 13m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v3a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z"
+      ></path>
+      <path
+        d="M14 4m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z"
+      ></path>
+    </svg>
+    Kanban
+  </button>
+  <button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
+    <!-- Download SVG icon from http://tabler.io/icons/icon/calendar -->
+    <svg
+      xmlns="http://www.w3.org/2000/svg"
+      width="24"
+      height="24"
+      viewBox="0 0 24 24"
+      fill="none"
+      stroke="currentColor"
+      stroke-width="2"
+      stroke-linecap="round"
+      stroke-linejoin="round"
+      class="icon nav-link-icon icon-2"
+    >
+      <path
+        d="M4 7a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12z"
+      ></path>
+      <path d="M16 3v4"></path>
+      <path d="M8 3v4"></path>
+      <path d="M4 11h16"></path>
+      <path d="M11 15h1"></path>
+      <path d="M12 15v3"></path>
+    </svg>
+    Calendar
+  </button>
+  <button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
+    <!-- Download SVG icon from http://tabler.io/icons/icon/files -->
+    <svg
+      xmlns="http://www.w3.org/2000/svg"
+      width="24"
+      height="24"
+      viewBox="0 0 24 24"
+      fill="none"
+      stroke="currentColor"
+      stroke-width="2"
+      stroke-linecap="round"
+      stroke-linejoin="round"
+      class="icon nav-link-icon icon-2"
+    >
+      <path d="M15 3v4a1 1 0 0 0 1 1h4"></path>
+      <path d="M18 17h-7a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h4l5 5v7a2 2 0 0 1 -2 2z"></path>
+      <path d="M16 17v2a2 2 0 0 1 -2 2h-7a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h2"></path>
+    </svg>
+    Files
+  </button>
 </nav>
 ```
 
@@ -161,41 +338,64 @@ The results can be seen in the example below.
 You can also change the size of the segmented control. To do this, add the `nav-sm` or `nv-lg` class to the `nav` element. The `nav-sm` class will make the segmented control smaller, while the `nav-lg` class will make it larger.
 
 ```html
-<nav class="nav nav-segmented nav-sm" role="tablist">
-	...
-</nav>
+<nav class="nav nav-segmented nav-sm" role="tablist">...</nav>
 ```
 
 The results can be seen in the examples below.
 
 ```html example vertical centered background="white" separated
 <nav class="nav nav-segmented nav-sm" role="tablist">
-	<button class="nav-link active" role="tab" data-bs-toggle="tab" aria-selected="true" aria-current="page">
-		List
-	</button>
-	<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
-		Kanban
-	</button>
-	<button class="nav-link disabled" role="tab" data-bs-toggle="tab" aria-selected="false" aria-disabled="true" tabindex="-1">
-		Calendar
-	</button>
-	<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
-		Files
-	</button>
+  <button
+    class="nav-link active"
+    role="tab"
+    data-bs-toggle="tab"
+    aria-selected="true"
+    aria-current="page"
+  >
+    List
+  </button>
+  <button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
+    Kanban
+  </button>
+  <button
+    class="nav-link disabled"
+    role="tab"
+    data-bs-toggle="tab"
+    aria-selected="false"
+    aria-disabled="true"
+    tabindex="-1"
+  >
+    Calendar
+  </button>
+  <button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
+    Files
+  </button>
 </nav>
-
 <nav class="nav nav-segmented nav-lg" role="tablist">
-	<button class="nav-link active" role="tab" data-bs-toggle="tab" aria-selected="true" aria-current="page">
-		List
-	</button>
-	<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
-		Kanban
-	</button>
-	<button class="nav-link disabled" role="tab" data-bs-toggle="tab" aria-selected="false" aria-disabled="true" tabindex="-1">
-		Calendar
-	</button>
-	<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
-		Files
-	</button>
+  <button
+    class="nav-link active"
+    role="tab"
+    data-bs-toggle="tab"
+    aria-selected="true"
+    aria-current="page"
+  >
+    List
+  </button>
+  <button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
+    Kanban
+  </button>
+  <button
+    class="nav-link disabled"
+    role="tab"
+    data-bs-toggle="tab"
+    aria-selected="false"
+    aria-disabled="true"
+    tabindex="-1"
+  >
+    Calendar
+  </button>
+  <button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
+    Files
+  </button>
 </nav>
 ```

+ 3 - 8
docs/ui/components/spinners.mdx

@@ -123,18 +123,13 @@ Look at the example below to see how the button with a spinner works:
 Use animated dots to show the loading state of a component. They provide feedback for an action a user has taken, when it takes a bit longer to complete. To do it you need to use the `.animated-dots` class on a `span` element.
 
 ```html example centered code
-<h1>Loading<span class="animated-dots"></span>
-</h1>
+<h1>Loading<span class="animated-dots"></span></h1>
 ```
 
 Use buttons with animated dots 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
-<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>
+<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>
 ```
 

+ 80 - 60
docs/ui/components/steps.mdx

@@ -13,15 +13,9 @@ To create a default progress tracker, use the `.steps` class and define each ste
 
 ```html
 <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>
+  <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>
 </div>
 ```
 
@@ -29,18 +23,10 @@ The example below demonstrates a simple progress tracker with four steps, where
 
 ```html example centered
 <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>
+  <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>
 ```
 
@@ -51,7 +37,13 @@ Add tooltips if you want to provide users with additional information about the
 To add a tooltip, use the `data-bs-toggle="tooltip"` attribute and specify the tooltip content with the `title` attribute.
 
 ```html
-<a href="#" class="step-item" data-bs-toggle="tooltip" data-bs-placement="top" title="Step 1 description">
+<a
+  href="#"
+  class="step-item"
+  data-bs-toggle="tooltip"
+  data-bs-placement="top"
+  title="Step 1 description"
+>
   Step 1
 </a>
 ```
@@ -60,16 +52,40 @@ The example below demonstrates a progress tracker with tooltips for each step.
 
 ```html example centered height="20rem"
 <div class="steps">
-  <a href="#" class="step-item" data-bs-toggle="tooltip" data-bs-placement="top" title="Step 1 description">
+  <a
+    href="#"
+    class="step-item"
+    data-bs-toggle="tooltip"
+    data-bs-placement="top"
+    title="Step 1 description"
+  >
     Step 1
   </a>
-  <a href="#" class="step-item" data-bs-toggle="tooltip" data-bs-placement="top" title="Step 2 description">
+  <a
+    href="#"
+    class="step-item"
+    data-bs-toggle="tooltip"
+    data-bs-placement="top"
+    title="Step 2 description"
+  >
     Step 2
   </a>
-  <a href="#" class="step-item active" data-bs-toggle="tooltip" data-bs-placement="top" title="Step 3 description">
+  <a
+    href="#"
+    class="step-item active"
+    data-bs-toggle="tooltip"
+    data-bs-placement="top"
+    title="Step 3 description"
+  >
     Step 3
   </a>
-  <span href="#" class="step-item" data-bs-toggle="tooltip" data-bs-placement="top" title="Step 4 description">
+  <span
+    href="#"
+    class="step-item"
+    data-bs-toggle="tooltip"
+    data-bs-placement="top"
+    title="Step 4 description"
+  >
     Step 4
   </span>
 </div>
@@ -80,41 +96,23 @@ The example below demonstrates a progress tracker with tooltips for each step.
 You can customize the default progress indicator by changing the color to one that better suits your design. Click [here](/docs/ui/base/colors) to see the range of available colors.
 
 ```html
-<div class="steps steps-green">
-  ...
-</div>
+<div class="steps steps-green">...</div>
 ```
 
 The example below demonstrates a progress tracker with two different color schemes.
 
 ```html example centered
 <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>
+  <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>
+  <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>
 ```
 
@@ -124,10 +122,34 @@ For designs with limited space, use progress indicators without titles and add t
 
 ```html example centered
 <div class="steps">
-  <a href="#" class="step-item" data-bs-toggle="tooltip" data-bs-placement="top" title="Step 1 description"></a>
-  <a href="#" class="step-item" data-bs-toggle="tooltip" data-bs-placement="top" title="Step 2 description"></a>
-  <a href="#" class="step-item active" data-bs-toggle="tooltip" data-bs-placement="top" title="Step 3 description"></a>
-  <span href="#" class="step-item" data-bs-toggle="tooltip" data-bs-placement="top" title="Step 4 description"></span>
+  <a
+    href="#"
+    class="step-item"
+    data-bs-toggle="tooltip"
+    data-bs-placement="top"
+    title="Step 1 description"
+  ></a>
+  <a
+    href="#"
+    class="step-item"
+    data-bs-toggle="tooltip"
+    data-bs-placement="top"
+    title="Step 2 description"
+  ></a>
+  <a
+    href="#"
+    class="step-item active"
+    data-bs-toggle="tooltip"
+    data-bs-placement="top"
+    title="Step 3 description"
+  ></a>
+  <span
+    href="#"
+    class="step-item"
+    data-bs-toggle="tooltip"
+    data-bs-placement="top"
+    title="Step 4 description"
+  ></span>
 </div>
 ```
 
@@ -136,9 +158,7 @@ For designs with limited space, use progress indicators without titles and add t
 Use the `steps-counter` class to create a progress tracker with numbers instead of titles and change the color to customize it. 
 
 ```html
-<div class="steps steps-counter">
-  ...
-</div>
+<div class="steps steps-counter">...</div>
 ```
 
 The example below demonstrates a progress tracker with numbers and a different color scheme.

+ 258 - 28
docs/ui/components/switch-icon.mdx

@@ -12,15 +12,41 @@ The icon transition is triggered by adding an `.active` class to the `switch-ico
 ```html example centered
 <button class="switch-icon" data-bs-toggle="switch-icon">
   <span class="switch-icon-a text-secondary">
-    <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">
+    <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">
+    <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>
+      <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>
@@ -33,84 +59,244 @@ You can also add a fancy animation to add variety to your button. See demo below
 ```html example centered separated
 <button class="switch-icon" data-bs-toggle="switch-icon">
   <span class="switch-icon-a text-secondary">
-    <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">
+    <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">
+    <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>
+      <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-secondary">
-    <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">
+    <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">
+    <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>
+      <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-secondary">
-    <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">
+    <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>
+      <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">
+    <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>
+      <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-secondary">
-    <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">
+    <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>
+      <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">
+    <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>
+      <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-secondary">
-    <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">
+    <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" />
+      <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">
+    <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" />
+      <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-secondary">
-    <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">
+    <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">
+    <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" />
@@ -119,7 +305,18 @@ You can also add a fancy animation to add variety to your button. See demo below
 </button>
 <button class="switch-icon switch-icon-slide-down" data-bs-toggle="switch-icon">
   <span class="switch-icon-a text-secondary">
-    <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">
+    <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" />
@@ -127,7 +324,18 @@ You can also add a fancy animation to add variety to your button. See demo below
     </svg>
   </span>
   <span class="switch-icon-b text-secondary">
-    <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">
+    <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" />
@@ -137,7 +345,18 @@ You can also add a fancy animation to add variety to your button. See demo below
 </button>
 <button class="switch-icon switch-icon-slide-right" data-bs-toggle="switch-icon">
   <span class="switch-icon-a text-secondary">
-    <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">
+    <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" />
@@ -145,7 +364,18 @@ You can also add a fancy animation to add variety to your button. See demo below
     </svg>
   </span>
   <span class="switch-icon-b text-secondary">
-    <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">
+    <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" />

+ 45 - 78
docs/ui/components/tables.mdx

@@ -26,75 +26,55 @@ The `.table` class adds basic styling to a table:
     <tbody>
       <tr>
         <td>Paweł Kuna</td>
-        <td class="text-secondary">
-          UI Designer, Training
-        </td>
+        <td class="text-secondary">UI Designer, Training</td>
         <td class="text-secondary">
           <a href="#" class="text-reset">[email protected]</a>
         </td>
-        <td class="text-secondary">
-          User
-        </td>
+        <td class="text-secondary">User</td>
         <td>
           <a href="#">Edit</a>
         </td>
       </tr>
       <tr>
         <td>Jeffie Lewzey</td>
-        <td class="text-secondary">
-          Chemical Engineer, Support
-        </td>
+        <td class="text-secondary">Chemical Engineer, Support</td>
         <td class="text-secondary">
           <a href="#" class="text-reset">[email protected]</a>
         </td>
-        <td class="text-secondary">
-          Admin
-        </td>
+        <td class="text-secondary">Admin</td>
         <td>
           <a href="#">Edit</a>
         </td>
       </tr>
       <tr>
         <td>Mallory Hulme</td>
-        <td class="text-secondary">
-          Geologist IV, Support
-        </td>
+        <td class="text-secondary">Geologist IV, Support</td>
         <td class="text-secondary">
           <a href="#" class="text-reset">[email protected]</a>
         </td>
-        <td class="text-secondary">
-          User
-        </td>
+        <td class="text-secondary">User</td>
         <td>
           <a href="#">Edit</a>
         </td>
       </tr>
       <tr>
         <td>Dunn Slane</td>
-        <td class="text-secondary">
-          Research Nurse, Sales
-        </td>
+        <td class="text-secondary">Research Nurse, Sales</td>
         <td class="text-secondary">
           <a href="#" class="text-reset">[email protected]</a>
         </td>
-        <td class="text-secondary">
-          Owner
-        </td>
+        <td class="text-secondary">Owner</td>
         <td>
           <a href="#">Edit</a>
         </td>
       </tr>
       <tr>
         <td>Emmy Levet</td>
-        <td class="text-secondary">
-          VP Product Management, Accounting
-        </td>
+        <td class="text-secondary">VP Product Management, Accounting</td>
         <td class="text-secondary">
           <a href="#" class="text-reset">[email protected]</a>
         </td>
-        <td class="text-secondary">
-          Admin
-        </td>
+        <td class="text-secondary">Admin</td>
         <td>
           <a href="#">Edit</a>
         </td>
@@ -181,9 +161,11 @@ If you don't want the table cell content to wrap to another line, use the `table
           <a href="#" class="text-reset">[email protected]</a>
         </td>
         <td class="text-secondary">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>
+          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>
@@ -209,18 +191,15 @@ If you don't want the table cell content to wrap to another line, use the `table
     <tbody>
       <tr>
         <td>Paweł Kuna</td>
-        <td class="text-secondary">
-          UI Designer, Training
-        </td>
+        <td class="text-secondary">UI Designer, Training</td>
         <td class="text-secondary">
           <a href="#" class="text-reset">[email protected]</a>
         </td>
-        <td class="text-secondary">
-          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 class="text-secondary">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>
@@ -228,18 +207,15 @@ If you don't want the table cell content to wrap to another line, use the `table
       </tr>
       <tr>
         <td>Jeffie Lewzey</td>
-        <td class="text-secondary">
-          Chemical Engineer, Support
-        </td>
+        <td class="text-secondary">Chemical Engineer, Support</td>
         <td class="text-secondary">
           <a href="#" class="text-reset">[email protected]</a>
         </td>
-        <td class="text-secondary">
-          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 class="text-secondary">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>
@@ -247,18 +223,15 @@ If you don't want the table cell content to wrap to another line, use the `table
       </tr>
       <tr>
         <td>Mallory Hulme</td>
-        <td class="text-secondary">
-          Geologist IV, Support
-        </td>
+        <td class="text-secondary">Geologist IV, Support</td>
         <td class="text-secondary">
           <a href="#" class="text-reset">[email protected]</a>
         </td>
-        <td class="text-secondary">
-          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 class="text-secondary">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>
@@ -266,18 +239,15 @@ If you don't want the table cell content to wrap to another line, use the `table
       </tr>
       <tr>
         <td>Dunn Slane</td>
-        <td class="text-secondary">
-          Research Nurse, Sales
-        </td>
+        <td class="text-secondary">Research Nurse, Sales</td>
         <td class="text-secondary">
           <a href="#" class="text-reset">[email protected]</a>
         </td>
-        <td class="text-secondary">
-          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 class="text-secondary">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>
@@ -285,18 +255,15 @@ If you don't want the table cell content to wrap to another line, use the `table
       </tr>
       <tr>
         <td>Emmy Levet</td>
-        <td class="text-secondary">
-          VP Product Management, Accounting
-        </td>
+        <td class="text-secondary">VP Product Management, Accounting</td>
         <td class="text-secondary">
           <a href="#" class="text-reset">[email protected]</a>
         </td>
-        <td class="text-secondary">
-          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 class="text-secondary">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>

+ 180 - 33
docs/ui/components/tabs.mdx

@@ -25,11 +25,17 @@ Use tabs to let users access different sections within one context quickly and w
     <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>
+          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>
+          Fringilla egestas nunc quis tellus diam rhoncus ultricies tristique enim at diam, sem nunc
+          amet, pellentesque id egestas velit sed
+        </div>
       </div>
     </div>
   </div>
@@ -46,28 +52,65 @@ Add icons to your tab labels, if you want to use a visual element and make the t
     <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">
+          <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
+          </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">
+          <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
+          </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">
+          <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" />
+            <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>
@@ -78,15 +121,24 @@ Add icons to your tab labels, if you want to use a visual element and make the t
     <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>
+          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>
+          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>
+          Donec ac vitae diam amet vel leo egestas consequat rhoncus in luctus amet, facilisi sit
+          mauris accumsan nibh habitant senectus
+        </div>
       </div>
     </div>
   </div>
@@ -103,7 +155,18 @@ Use tabs without label names to save space and make the tab content easy to reco
     <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">
+          <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" />
@@ -113,7 +176,18 @@ Use tabs without label names to save space and make the tab content easy to reco
       </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">
+          <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" />
@@ -122,9 +196,22 @@ Use tabs without label names to save space and make the tab content easy to reco
       </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">
+          <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" />
+            <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>
@@ -135,15 +222,24 @@ Use tabs without label names to save space and make the tab content easy to reco
     <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>
+          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>
+          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>
+          Donec ac vitae diam amet vel leo egestas consequat rhoncus in luctus amet, facilisi sit
+          mauris accumsan nibh habitant senectus
+        </div>
       </div>
     </div>
   </div>
@@ -165,14 +261,17 @@ Make one or more of your tabs into a dropdown to add more options within one ele
         <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>
+        <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>
+          <a class="dropdown-item" href="#"> Action </a>
+          <a class="dropdown-item" href="#"> Another action </a>
         </div>
       </li>
     </ul>
@@ -181,11 +280,17 @@ Make one or more of your tabs into a dropdown to add more options within one ele
     <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>
+          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>
+          Fringilla egestas nunc quis tellus diam rhoncus ultricies tristique enim at diam, sem nunc
+          amet, pellentesque id egestas velit sed
+        </div>
       </div>
     </div>
   </div>
@@ -202,7 +307,18 @@ Add the `.nav-fill` class to make the tabs take up the full space of the parent
     <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">
+          <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" />
@@ -212,7 +328,18 @@ Add the `.nav-fill` class to make the tabs take up the full space of the parent
       </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">
+          <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" />
@@ -221,7 +348,18 @@ Add the `.nav-fill` class to make the tabs take up the full space of the parent
       </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">
+          <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>
@@ -233,15 +371,24 @@ Add the `.nav-fill` class to make the tabs take up the full space of the parent
     <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>
+          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>
+          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>
+          Donec ac vitae diam amet vel leo egestas consequat rhoncus in luctus amet, facilisi sit
+          mauris accumsan nibh habitant senectus
+        </div>
       </div>
     </div>
   </div>

+ 224 - 52
docs/ui/components/timelines.mdx

@@ -12,9 +12,22 @@ The available timeline design is composed of many components that will help you
 <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">
+      <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" />
+        <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">
@@ -27,7 +40,18 @@ The available timeline design is composed of many components that will help you
   </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">
+      <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" />
@@ -45,7 +69,18 @@ The available timeline design is composed of many components that will help you
   </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">
+      <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>
@@ -60,7 +95,18 @@ The available timeline design is composed of many components that will help you
   </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">
+      <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>
@@ -75,7 +121,18 @@ The available timeline design is composed of many components that will help you
   </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">
+      <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" />
@@ -90,9 +147,7 @@ The available timeline design is composed of many components that will help you
           <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"> <span class="badge bg-success"></span>JL </span>
           <span class="avatar" style="background-image: url(...)">
             <span class="badge bg-success"></span>
           </span>
@@ -102,7 +157,18 @@ The available timeline design is composed of many components that will help you
   </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">
+      <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" />
@@ -133,9 +199,22 @@ The available timeline design is composed of many components that will help you
   </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">
+      <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" />
+        <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>
@@ -143,8 +222,9 @@ The available timeline design is composed of many components that will help you
       <div class="card-body">
         <div class="text-secondary float-end">2 weeks ago</div>
         <h4>System updated to v2.02</h4>
-        <p class="text-secondary">Check the complete changelog at the <a href="#">activity
-            page</a>.</p>
+        <p class="text-secondary">
+          Check the complete changelog at the <a href="#">activity page</a>.
+        </p>
       </div>
     </div>
   </li>
@@ -154,7 +234,8 @@ The available timeline design is composed of many components that will help you
 ```html
 <ul class="timeline">
   <li class="timeline-event">
-    <div class="timeline-event-icon bg-twitter-lt"><!-- SVG icon from http://tabler.io/icons/icon/brand-twitter -->
+    <div class="timeline-event-icon bg-twitter-lt">
+      <!-- SVG icon from http://tabler.io/icons/icon/brand-twitter -->
       <svg>...</svg>
     </div>
     <div class="card timeline-event-card">
@@ -166,7 +247,8 @@ The available timeline design is composed of many components that will help you
     </div>
   </li>
   <li class="timeline-event">
-    <div class="timeline-event-icon"><!-- SVG icon from http://tabler.io/icons/icon/briefcase -->
+    <div class="timeline-event-icon">
+      <!-- SVG icon from http://tabler.io/icons/icon/briefcase -->
       <svg>...</svg>
     </div>
     <div class="card timeline-event-card">
@@ -178,7 +260,8 @@ The available timeline design is composed of many components that will help you
     </div>
   </li>
   <li class="timeline-event">
-    <div class="timeline-event-icon"><!-- SVG icon from http://tabler.io/icons/icon/check -->
+    <div class="timeline-event-icon">
+      <!-- SVG icon from http://tabler.io/icons/icon/check -->
       <svg>...</svg>
     </div>
     <div class="card timeline-event-card">
@@ -190,7 +273,8 @@ The available timeline design is composed of many components that will help you
     </div>
   </li>
   <li class="timeline-event">
-    <div class="timeline-event-icon bg-facebook-lt"><!-- SVG icon from http://tabler.io/icons/icon/brand-facebook -->
+    <div class="timeline-event-icon bg-facebook-lt">
+      <!-- SVG icon from http://tabler.io/icons/icon/brand-facebook -->
       <svg>...</svg>
     </div>
     <div class="card timeline-event-card">
@@ -202,7 +286,8 @@ The available timeline design is composed of many components that will help you
     </div>
   </li>
   <li class="timeline-event">
-    <div class="timeline-event-icon"><!-- SVG icon from http://tabler.io/icons/icon/user-plus -->
+    <div class="timeline-event-icon">
+      <!-- SVG icon from http://tabler.io/icons/icon/user-plus -->
       <svg>...</svg>
     </div>
     <div class="card timeline-event-card">
@@ -213,9 +298,7 @@ The available timeline design is composed of many components that will help you
           <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"> <span class="badge bg-success"></span>JL </span>
           <span class="avatar" style="background-image: url(...)">
             <span class="badge bg-success"></span>
           </span>
@@ -224,7 +307,8 @@ The available timeline design is composed of many components that will help you
     </div>
   </li>
   <li class="timeline-event">
-    <div class="timeline-event-icon"><!-- SVG icon from http://tabler.io/icons/icon/photo -->
+    <div class="timeline-event-icon">
+      <!-- SVG icon from http://tabler.io/icons/icon/photo -->
       <svg>...</svg>
     </div>
     <div class="card timeline-event-card">
@@ -249,15 +333,17 @@ The available timeline design is composed of many components that will help you
     </div>
   </li>
   <li class="timeline-event">
-    <div class="timeline-event-icon"><!-- SVG icon from http://tabler.io/icons/icon/settings -->
+    <div class="timeline-event-icon">
+      <!-- SVG icon from http://tabler.io/icons/icon/settings -->
       <svg>...</svg>
     </div>
     <div class="card timeline-event-card">
       <div class="card-body">
         <div class="text-secondary float-end">2 weeks ago</div>
         <h4>System updated to v2.02</h4>
-        <p class="text-secondary">Check the complete changelog at the <a href="#">activity
-            page</a>.</p>
+        <p class="text-secondary">
+          Check the complete changelog at the <a href="#">activity page</a>.
+        </p>
       </div>
     </div>
   </li>
@@ -272,9 +358,22 @@ Use a simplified version of the timeline, if it suits your design better. You ca
 <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">
+      <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" />
+        <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">
@@ -287,7 +386,18 @@ Use a simplified version of the timeline, if it suits your design better. You ca
   </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">
+      <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" />
@@ -305,7 +415,18 @@ Use a simplified version of the timeline, if it suits your design better. You ca
   </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">
+      <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>
@@ -320,7 +441,18 @@ Use a simplified version of the timeline, if it suits your design better. You ca
   </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">
+      <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>
@@ -335,7 +467,18 @@ Use a simplified version of the timeline, if it suits your design better. You ca
   </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">
+      <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" />
@@ -350,9 +493,7 @@ Use a simplified version of the timeline, if it suits your design better. You ca
           <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"> <span class="badge bg-success"></span>JL </span>
           <span class="avatar" style="background-image: url(...)">
             <span class="badge bg-success"></span>
           </span>
@@ -362,7 +503,18 @@ Use a simplified version of the timeline, if it suits your design better. You ca
   </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">
+      <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" />
@@ -393,9 +545,22 @@ Use a simplified version of the timeline, if it suits your design better. You ca
   </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">
+      <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" />
+        <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>
@@ -403,8 +568,9 @@ Use a simplified version of the timeline, if it suits your design better. You ca
       <div class="card-body">
         <div class="text-secondary float-end">2 weeks ago</div>
         <h4>System updated to v2.02</h4>
-        <p class="text-secondary">Check the complete changelog at the <a href="#">activity
-            page</a>.</p>
+        <p class="text-secondary">
+          Check the complete changelog at the <a href="#">activity page</a>.
+        </p>
       </div>
     </div>
   </li>
@@ -414,7 +580,8 @@ Use a simplified version of the timeline, if it suits your design better. You ca
 ```html
 <ul class="timeline timeline-simple">
   <li class="timeline-event">
-    <div class="timeline-event-icon bg-twitter-lt"><!-- SVG icon from http://tabler.io/icons/icon/brand-twitter -->
+    <div class="timeline-event-icon bg-twitter-lt">
+      <!-- SVG icon from http://tabler.io/icons/icon/brand-twitter -->
       <svg>...</svg>
     </div>
     <div class="card timeline-event-card">
@@ -426,7 +593,8 @@ Use a simplified version of the timeline, if it suits your design better. You ca
     </div>
   </li>
   <li class="timeline-event">
-    <div class="timeline-event-icon"><!-- SVG icon from http://tabler.io/icons/icon/briefcase -->
+    <div class="timeline-event-icon">
+      <!-- SVG icon from http://tabler.io/icons/icon/briefcase -->
       <svg>...</svg>
     </div>
     <div class="card timeline-event-card">
@@ -438,7 +606,8 @@ Use a simplified version of the timeline, if it suits your design better. You ca
     </div>
   </li>
   <li class="timeline-event">
-    <div class="timeline-event-icon"><!-- SVG icon from http://tabler.io/icons/icon/check -->
+    <div class="timeline-event-icon">
+      <!-- SVG icon from http://tabler.io/icons/icon/check -->
       <svg>...</svg>
     </div>
     <div class="card timeline-event-card">
@@ -450,7 +619,8 @@ Use a simplified version of the timeline, if it suits your design better. You ca
     </div>
   </li>
   <li class="timeline-event">
-    <div class="timeline-event-icon bg-facebook-lt"><!-- SVG icon from http://tabler.io/icons/icon/brand-facebook -->
+    <div class="timeline-event-icon bg-facebook-lt">
+      <!-- SVG icon from http://tabler.io/icons/icon/brand-facebook -->
       <svg>...</svg>
     </div>
     <div class="card timeline-event-card">
@@ -462,7 +632,8 @@ Use a simplified version of the timeline, if it suits your design better. You ca
     </div>
   </li>
   <li class="timeline-event">
-    <div class="timeline-event-icon"><!-- SVG icon from http://tabler.io/icons/icon/user-plus -->
+    <div class="timeline-event-icon">
+      <!-- SVG icon from http://tabler.io/icons/icon/user-plus -->
       <svg>...</svg>
     </div>
     <div class="card timeline-event-card">
@@ -473,9 +644,7 @@ Use a simplified version of the timeline, if it suits your design better. You ca
           <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"> <span class="badge bg-success"></span>JL </span>
           <span class="avatar" style="background-image: url(...)">
             <span class="badge bg-success"></span>
           </span>
@@ -484,7 +653,8 @@ Use a simplified version of the timeline, if it suits your design better. You ca
     </div>
   </li>
   <li class="timeline-event">
-    <div class="timeline-event-icon"><!-- SVG icon from http://tabler.io/icons/icon/photo -->
+    <div class="timeline-event-icon">
+      <!-- SVG icon from http://tabler.io/icons/icon/photo -->
       <svg>...</svg>
     </div>
     <div class="card timeline-event-card">
@@ -509,15 +679,17 @@ Use a simplified version of the timeline, if it suits your design better. You ca
     </div>
   </li>
   <li class="timeline-event">
-    <div class="timeline-event-icon"><!-- SVG icon from http://tabler.io/icons/icon/settings -->
+    <div class="timeline-event-icon">
+      <!-- SVG icon from http://tabler.io/icons/icon/settings -->
       <svg>...</svg>
     </div>
     <div class="card timeline-event-card">
       <div class="card-body">
         <div class="text-secondary float-end">2 weeks ago</div>
         <h4>System updated to v2.02</h4>
-        <p class="text-secondary">Check the complete changelog at the <a href="#">activity
-            page</a>.</p>
+        <p class="text-secondary">
+          Check the complete changelog at the <a href="#">activity page</a>.
+        </p>
       </div>
     </div>
   </li>

+ 17 - 15
docs/ui/components/tinymce.mdx

@@ -17,28 +17,30 @@ Initialize TinyMCE 6 on any element (or elements) on the web page by passing an
 </form>
 <script src="$TABLER_CDN/dist/libs/tinymce/tinymce.min.js" defer></script>
 <script>
-  document.addEventListener("DOMContentLoaded", function() {
+  document.addEventListener("DOMContentLoaded", function () {
     let options = {
-      selector: '#tinymce-default',
+      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'
+        "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';
+      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>
 ```

+ 76 - 24
docs/ui/components/toasts.mdx

@@ -10,16 +10,29 @@ description: Display lightweight alert notifications.
 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 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>
+    <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.
+    <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>
 ```
 
@@ -28,16 +41,29 @@ Use the default toast message to inform users of the outcome of their action and
 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 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>
+    <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.
+    <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>
 ```
 
@@ -47,27 +73,53 @@ Stack multiple toasts together by putting them within one `.toast-container`.
 
 ```html example height="260px"
 <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 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>
+      <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.
+      <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 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>
+      <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.
+      <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>
 ```

+ 35 - 5
docs/ui/components/tooltips.mdx

@@ -10,16 +10,40 @@ description: Guide users with informative tooltips.
 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.
 
 ```html example centered separated
-<button type="button" class="btn" data-bs-toggle="tooltip" data-bs-placement="top" title="Tooltip on top">
+<button
+  type="button"
+  class="btn"
+  data-bs-toggle="tooltip"
+  data-bs-placement="top"
+  title="Tooltip on top"
+>
   Tooltip on top
 </button>
-<button type="button" class="btn" data-bs-toggle="tooltip" data-bs-placement="right" title="Tooltip on right">
+<button
+  type="button"
+  class="btn"
+  data-bs-toggle="tooltip"
+  data-bs-placement="right"
+  title="Tooltip on right"
+>
   Tooltip on right
 </button>
-<button type="button" class="btn" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Tooltip on bottom">
+<button
+  type="button"
+  class="btn"
+  data-bs-toggle="tooltip"
+  data-bs-placement="bottom"
+  title="Tooltip on bottom"
+>
   Tooltip on bottom
 </button>
-<button type="button" class="btn" data-bs-toggle="tooltip" data-bs-placement="left" title="Tooltip on left">
+<button
+  type="button"
+  class="btn"
+  data-bs-toggle="tooltip"
+  data-bs-placement="left"
+  title="Tooltip on left"
+>
   Tooltip on left
 </button>
 ```
@@ -29,7 +53,13 @@ Use the default markup to create tooltips that will help users understand partic
 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.
 
 ```html example height="7rem"
-<button type="button" class="btn" data-bs-toggle="tooltip" data-bs-html="true" title="<em>Tooltip</em> <u>with</u> <b>HTML</b>">
+<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>
 ```

+ 454 - 73
docs/ui/components/tracking.mdx

@@ -8,45 +8,210 @@ description: Monitor data activity visually.
 
 ```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
+    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
+    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>
 ```
@@ -62,7 +227,14 @@ You can add a tracking component inside the cards to give your reports a fresh l
       <div class="subheader">Status monitoring</div>
       <div class="ms-auto lh-1">
         <div class="dropdown">
-          <a class="dropdown-toggle text-secondary" href="#" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Current month</a>
+          <a
+            class="dropdown-toggle text-secondary"
+            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>
@@ -76,7 +248,18 @@ You can add a tracking component inside the cards to give your reports a fresh l
       <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">
+          <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" />
@@ -86,36 +269,186 @@ You can add a tracking component inside the cards to give your reports a fresh l
     </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
+          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>
@@ -129,7 +462,14 @@ You can add a tracking component inside the cards to give your reports a fresh l
       <div class="subheader">Status monitoring</div>
       <div class="ms-auto lh-1">
         <div class="dropdown">
-          <a class="dropdown-toggle text-secondary" href="#" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Current month</a>
+          <a
+            class="dropdown-toggle text-secondary"
+            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>
@@ -143,7 +483,18 @@ You can add a tracking component inside the cards to give your reports a fresh l
       <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">
+          <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" />
@@ -153,12 +504,42 @@ You can add a tracking component inside the cards to give your reports a fresh l
     </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
+          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>

+ 108 - 110
docs/ui/components/vector-maps.mdx

@@ -20,12 +20,12 @@ Integrating the vector map into your website is straightforward. Below is a samp
 ```html
 <div id="map-world" class="w-100 h-100"></div>
 <script>
-document.addEventListener("DOMContentLoaded", function() {
-	const map = new jsVectorMap({
-		selector: '#map-world',
-		map: 'world',
-	});
-});
+  document.addEventListener("DOMContentLoaded", function () {
+    const map = new jsVectorMap({
+      selector: "#map-world",
+      map: "world",
+    });
+  });
 </script>
 ```
 
@@ -41,27 +41,26 @@ Look at the example below to see how the vector map works with a world map.
     </div>
   </div>
 </div>
-
 <script>
-document.addEventListener("DOMContentLoaded", function() {
-	const map = new jsVectorMap({
-		selector: '#map-world',
-		map: 'world',
-		backgroundColor: 'transparent',
-		regionStyle: {
-			initial: {
-				fill: tabler.getColor('body-bg'),
-				stroke: tabler.getColor('border-color'),
-				strokeWidth: 2,
-			}
-		},
-		zoomOnScroll: false,
-		zoomButtons: false,
-	});
-	window.addEventListener("resize", () => {
-		map.updateSize();
-	});
-});
+  document.addEventListener("DOMContentLoaded", function () {
+    const map = new jsVectorMap({
+      selector: "#map-world",
+      map: "world",
+      backgroundColor: "transparent",
+      regionStyle: {
+        initial: {
+          fill: tabler.getColor("body-bg"),
+          stroke: tabler.getColor("border-color"),
+          strokeWidth: 2,
+        },
+      },
+      zoomOnScroll: false,
+      zoomButtons: false,
+    });
+    window.addEventListener("resize", () => {
+      map.updateSize();
+    });
+  });
 </script>
 ```
 
@@ -79,90 +78,89 @@ You can add markers to the map to highlight specific locations. Below is a sampl
     </div>
   </div>
 </div>
-
 <script>
-document.addEventListener("DOMContentLoaded", function() {
-	const map = new jsVectorMap({
-		selector: '#map-world-markers',
-		map: 'world_merc',
-		backgroundColor: 'transparent',
-		regionStyle: {
-			initial: {
-				fill: tabler.getColor('body-bg'),
-				stroke: tabler.getColor('border-color'),
-				strokeWidth: 2,
-			}
-		},
-		zoomOnScroll: false,
-		zoomButtons: false,
-		markers: [
-			{
-				coords: [61.524, 105.3188],
-				name: "Russia",
-			},
-			{
-				coords: [56.1304, -106.3468],
-				name: "Canada",
-			},
-			{
-				coords: [71.7069, -42.6043],
-				name: "Greenland",
-			},
-			{
-				coords: [26.8206, 30.8025],
-				name: "Egypt",
-			},
-			{
-				coords: [-14.235, -51.9253],
-				name: "Brazil",
-			},
-			{
-				coords: [35.8617, 104.1954],
-				name: "China",
-			},
-			{
-				coords: [37.0902, -95.7129],
-				name: "United States",
-			},
-			{
-				coords: [60.472024, 8.468946],
-				name: "Norway",
-			},
-			{
-				coords: [48.379433, 31.16558],
-				name: "Ukraine",
-			},
-		],
-		markerStyle: {
-			initial: {
-				r: 4,
-				stroke: '#fff',
-				opacity: 1,
-				strokeWidth: 3,
-				stokeOpacity: .5,
-				fill: tabler.getColor('blue')
-			},
-			hover: {
-				fill: tabler.getColor('blue'),
-				stroke: tabler.getColor('blue')
-			}
-		},
-		markerLabelStyle: {
-			initial: {
-				fontSize: 10
-			},
-		},
-		labels: {
-			markers: {
-				render: function(marker) {
-					return marker.name
-				},
-			},
-		},
-	});
-	window.addEventListener("resize", () => {
-		map.updateSize();
-	});
-});
+  document.addEventListener("DOMContentLoaded", function () {
+    const map = new jsVectorMap({
+      selector: "#map-world-markers",
+      map: "world_merc",
+      backgroundColor: "transparent",
+      regionStyle: {
+        initial: {
+          fill: tabler.getColor("body-bg"),
+          stroke: tabler.getColor("border-color"),
+          strokeWidth: 2,
+        },
+      },
+      zoomOnScroll: false,
+      zoomButtons: false,
+      markers: [
+        {
+          coords: [61.524, 105.3188],
+          name: "Russia",
+        },
+        {
+          coords: [56.1304, -106.3468],
+          name: "Canada",
+        },
+        {
+          coords: [71.7069, -42.6043],
+          name: "Greenland",
+        },
+        {
+          coords: [26.8206, 30.8025],
+          name: "Egypt",
+        },
+        {
+          coords: [-14.235, -51.9253],
+          name: "Brazil",
+        },
+        {
+          coords: [35.8617, 104.1954],
+          name: "China",
+        },
+        {
+          coords: [37.0902, -95.7129],
+          name: "United States",
+        },
+        {
+          coords: [60.472024, 8.468946],
+          name: "Norway",
+        },
+        {
+          coords: [48.379433, 31.16558],
+          name: "Ukraine",
+        },
+      ],
+      markerStyle: {
+        initial: {
+          r: 4,
+          stroke: "#fff",
+          opacity: 1,
+          strokeWidth: 3,
+          stokeOpacity: 0.5,
+          fill: tabler.getColor("blue"),
+        },
+        hover: {
+          fill: tabler.getColor("blue"),
+          stroke: tabler.getColor("blue"),
+        },
+      },
+      markerLabelStyle: {
+        initial: {
+          fontSize: 10,
+        },
+      },
+      labels: {
+        markers: {
+          render: function (marker) {
+            return marker.name;
+          },
+        },
+      },
+    });
+    window.addEventListener("resize", () => {
+      map.updateSize();
+    });
+  });
 </script>
 ```

+ 19 - 3
docs/ui/forms/form-color-check.mdx

@@ -110,7 +110,13 @@ If you need to select only one color, you can use the radio input type:
     </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 />
+        <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>
@@ -190,7 +196,12 @@ If you need to select only one color, you can use the radio input type:
 Add an color picker to your form to let users customize it according to their preferences.
 
 ```html
-<input type="color" class="form-control form-control-color" value="#066fd1" title="Choose your color">
+<input
+  type="color"
+  class="form-control form-control-color"
+  value="#066fd1"
+  title="Choose your color"
+/>
 ```
 
 There is also an example of a color picker input:
@@ -198,7 +209,12 @@ There is also an example of a color picker input:
 ```html example centered
 <div class="mb-3">
   <label class="form-label">Color picker</label>
-  <input type="color" class="form-control form-control-color" value="#066fd1" title="Choose your color">
+  <input
+    type="color"
+    class="form-control form-control-color"
+    value="#066fd1"
+    title="Choose your color"
+  />
 </div>
 ```
 

+ 165 - 46
docs/ui/forms/form-elements.mdx

@@ -20,19 +20,41 @@ All variants of the input control are available in the examples below:
 ```html example columns={1} height="25rem"
 <div class="mb-3">
   <label class="form-label">Text</label>
-  <input type="text" class="form-control" name="example-text-input" placeholder="Input placeholder" />
+  <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="password" class="form-control" name="example-password-input" placeholder="Input placeholder" />
+  <input
+    type="password"
+    class="form-control"
+    name="example-password-input"
+    placeholder="Input placeholder"
+  />
 </div>
 <div class="mb-3">
   <label class="form-label">Disabled</label>
-  <input type="text" class="form-control" name="example-password-input" placeholder="Input placeholder" disabled />
+  <input
+    type="text"
+    class="form-control"
+    name="example-password-input"
+    placeholder="Input placeholder"
+    disabled
+  />
 </div>
 <div class="mb-3">
   <label class="form-label">Readonly</label>
-  <input type="text" class="form-control" name="example-password-input" value="Readolny value" readonly />
+  <input
+    type="text"
+    class="form-control"
+    name="example-password-input"
+    value="Readolny value"
+    readonly
+  />
 </div>
 ```
 
@@ -43,11 +65,27 @@ Use the `form-control-rounded` class if you prefer form controls with rounded co
 ```html example centered columns={1} height="20rem"
 <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.." />
+  <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">
+      <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" />
@@ -60,7 +98,12 @@ Use the `form-control-rounded` class if you prefer form controls with rounded co
 ```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.." />
+  <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">
@@ -78,7 +121,12 @@ You can remove borders from your form control by adding the `form-control-flush`
 ```html example centered columns={1} height="20rem"
 <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.." />
+  <input
+    type="text"
+    class="form-control form-control-flush"
+    name="Form control flush"
+    placeholder="Text.."
+  />
 </div>
 ```
 
@@ -92,7 +140,18 @@ Add icons to your input controls to suggest users what they should enter or info
   <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">
+      <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" />
@@ -101,7 +160,18 @@ Add icons to your input controls to suggest users what they should enter or info
   </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">
+      <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" />
@@ -140,7 +210,18 @@ Include an additional element in your input section, such as a button which can
     </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">
+        <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" />
@@ -160,7 +241,11 @@ Add one of the available selects - either a dropdown or a multiple choice select
 ```html example centered columns={1} height="30rem"
 <div class="mb-3">
   <label class="form-label">Textarea</label>
-  <textarea class="form-control" name="example-textarea" placeholder="Textarea placeholder"></textarea>
+  <textarea
+    class="form-control"
+    name="example-textarea"
+    placeholder="Textarea placeholder"
+  ></textarea>
 </div>
 <div class="mb-3">
   <div class="form-label">Select</div>
@@ -347,16 +432,17 @@ Add a range slider to make it possible for users to set a value or range, such a
   <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
-      }
-    }));
+  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>
 ```
@@ -369,25 +455,17 @@ Create a group of input controls and place add-ons on either side of an input.
 <div class="mb-3">
   <label class="form-label">Input group</label>
   <div class="input-group mb-2">
-    <span class="input-group-text">
-      @
-    </span>
+    <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>
+    <span class="input-group-text"> .tabler.io </span>
   </div>
   <div class="input-group">
-    <span class="input-group-text">
-      https://
-    </span>
+    <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>
+    <span class="input-group-text"> .tabler.io </span>
   </div>
 </div>
 ```
@@ -422,16 +500,17 @@ Add text to your input control, either before or after the text which is to be e
 <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>
+    <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>
+    <input
+      type="text"
+      class="form-control text-end pe-0"
+      value="yourfancydomain"
+      autocomplete="off"
+    />
+    <span class="input-group-text"> .tabler.io </span>
   </div>
 </div>
 ```
@@ -479,14 +558,36 @@ Add an icon link which you want to display at the end of your input control to v
     <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">
+        <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">
+        <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" />
@@ -499,10 +600,28 @@ Add an icon link which you want to display at the end of your input control to v
           <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">
+      <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="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>

+ 21 - 9
docs/ui/forms/form-helpers.mdx

@@ -9,7 +9,14 @@ description: Provide additional guidance in forms.
 Use an input helper to display additional information about a form element. The text label will appear once a user hovers over the helper. To add an input helper, use the `.form-help` class.
 
 ```html
-<span class="form-help" data-bs-toggle="popover" data-bs-placement="top" data-bs-html="true" data-bs-content="<p>...</p>">?</span>
+<span
+  class="form-help"
+  data-bs-toggle="popover"
+  data-bs-placement="top"
+  data-bs-html="true"
+  data-bs-content="<p>...</p>"
+  >?</span
+>
 ```
 
 Look at the example below to see how the input help works:
@@ -18,9 +25,16 @@ Look at the example below to see how the input help works:
 <div>
   <label class="form-label">
     ZIP Code
-    <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>
+    <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
+    >
   </label>
-  <input type="text" class="form-control" placeholder="Your ZIP Code">
+  <input type="text" class="form-control" placeholder="Your ZIP Code" />
 </div>
 ```
 
@@ -37,7 +51,7 @@ Look at the example below to see how the required field works:
 ```html example centered columns={1}
 <div>
   <label class="form-label required">Required</label>
-  <input type="text" class="form-control" name="..." placeholder="Required...">
+  <input type="text" class="form-control" name="..." placeholder="Required..." />
 </div>
 ```
 
@@ -54,7 +68,7 @@ Look at the example below to see how the form hint works:
 ```html example centered columns={1}
 <div>
   <label class="form-label">Email address</label>
-  <input type="email" class="form-control" placeholder="Enter your email address">
+  <input type="email" class="form-control" placeholder="Enter your email address" />
   <div class="form-hint">We'll never share your email with anyone else.</div>
 </div>
 ```
@@ -64,16 +78,14 @@ Look at the example below to see how the form hint works:
 Use the `.form-label-description` class to add additional information to the label. The text will appear next to the label. You can use it to add for example a character counter.
 
 ```html
-<label class="form-label">Textarea <span class="form-label-description">56/100</span>
-</label>
+<label class="form-label">Textarea <span class="form-label-description">56/100</span> </label>
 ```
 
 This example shows how to use the additional info inside the label:
 
 ```html example centered columns={1} height="15rem"
 <div>
-  <label class="form-label">Textarea <span class="form-label-description">56/100</span>
-  </label>
+  <label class="form-label">Textarea <span class="form-label-description">56/100</span> </label>
   <textarea class="form-control" name="" rows="3" placeholder="Content.."></textarea>
 </div>
 ```

+ 47 - 10
docs/ui/forms/form-image-check.mdx

@@ -27,7 +27,11 @@ Look at the examples below to see how the image check works:
       <label class="form-imagecheck">
         <input name="image" 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" />
+          <img
+            src="/samples/photos/everything-you-need-to-work-from-your-bed-2.jpg"
+            alt=""
+            class="form-imagecheck-image"
+          />
         </span>
       </label>
     </div>
@@ -35,7 +39,11 @@ Look at the examples below to see how the image check works:
       <label class="form-imagecheck">
         <input name="image" 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" />
+          <img
+            src="/samples/photos/color-palette-guide-sample-colors-catalog-.jpg"
+            alt=""
+            class="form-imagecheck-image"
+          />
         </span>
       </label>
     </div>
@@ -43,7 +51,11 @@ Look at the examples below to see how the image check works:
       <label class="form-imagecheck">
         <input name="image" 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" />
+          <img
+            src="/samples/photos/woman-read-book-and-drink-coffee-2.jpg"
+            alt=""
+            class="form-imagecheck-image"
+          />
         </span>
       </label>
     </div>
@@ -51,7 +63,11 @@ Look at the examples below to see how the image check works:
       <label class="form-imagecheck">
         <input name="image" 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" />
+          <img
+            src="/samples/photos/stylish-workspace-with-macbook-pro-2.jpg"
+            alt=""
+            class="form-imagecheck-image"
+          />
         </span>
       </label>
     </div>
@@ -71,7 +87,11 @@ If you want to use the image check as a radio button, you can change the input t
       <label class="form-imagecheck mb-2">
         <input name="image" 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" />
+          <img
+            src="/samples/photos/woman-drinking-hot-tea-in-her-home-office.jpg"
+            alt=""
+            class="form-imagecheck-image"
+          />
         </span>
       </label>
     </div>
@@ -79,7 +99,11 @@ If you want to use the image check as a radio button, you can change the input t
       <label class="form-imagecheck mb-2">
         <input name="image" 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" />
+          <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>
@@ -87,7 +111,11 @@ If you want to use the image check as a radio button, you can change the input t
       <label class="form-imagecheck mb-2">
         <input name="image" 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" />
+          <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>
@@ -125,7 +153,10 @@ If you want to use the image check with avatars, you can use an [avatar componen
         <input name="image" type="checkbox" value="1" class="form-imagecheck-input" />
         <span class="form-imagecheck-figure">
           <span class="form-imagecheck-image">
-            <span class="avatar avatar-xl" style="background-image: url(/samples/avatars/057f.jpg)"></span>
+            <span
+              class="avatar avatar-xl"
+              style="background-image: url(/samples/avatars/057f.jpg)"
+            ></span>
           </span>
         </span>
       </label>
@@ -145,7 +176,10 @@ If you want to use the image check with avatars, you can use an [avatar componen
         <input name="image" type="checkbox" value="3" class="form-imagecheck-input" />
         <span class="form-imagecheck-figure">
           <span class="form-imagecheck-image">
-            <span class="avatar avatar-xl" style="background-image: url(/samples/avatars/062m.jpg)"></span>
+            <span
+              class="avatar avatar-xl"
+              style="background-image: url(/samples/avatars/062m.jpg)"
+            ></span>
           </span>
         </span>
       </label>
@@ -155,7 +189,10 @@ If you want to use the image check with avatars, you can use an [avatar componen
         <input name="image" type="checkbox" value="4" class="form-imagecheck-input" checked />
         <span class="form-imagecheck-figure">
           <span class="form-imagecheck-image">
-            <span class="avatar avatar-xl" style="background-image: url(/samples/avatars/070m.jpg)"></span>
+            <span
+              class="avatar avatar-xl"
+              style="background-image: url(/samples/avatars/070m.jpg)"
+            ></span>
           </span>
         </span>
       </label>

+ 17 - 2
docs/ui/forms/form-input-mask.mdx

@@ -31,14 +31,29 @@ Use an input mask in the fields where users have to enter their phone number, to
 To create an input mask, add the `data-mask` attribute to the input element:
 
 ```html
-<input type="text" name="input-mask" class="form-control" data-mask="(00) 0000-0000" placeholder="(00) 0000-0000" autocomplete="off" />
+<input
+  type="text"
+  name="input-mask"
+  class="form-control"
+  data-mask="(00) 0000-0000"
+  placeholder="(00) 0000-0000"
+  autocomplete="off"
+/>
 ```
 
 Look at the example below to see how the input mask works:
 
 ```html example centered columns={1}
 <label class="form-label">Telephone mask</label>
-<input type="text" name="input-mask" class="form-control" data-mask="(00) 0000-0000" data-mask-visible="true" placeholder="(00) 0000-0000" autocomplete="off" />
+<input
+  type="text"
+  name="input-mask"
+  class="form-control"
+  data-mask="(00) 0000-0000"
+  data-mask-visible="true"
+  placeholder="(00) 0000-0000"
+  autocomplete="off"
+/>
 ```
 
 ## More examples

+ 128 - 20
docs/ui/forms/form-selectboxes.mdx

@@ -98,26 +98,63 @@ We recommend you use Tabler Icons for the best experience. You can find over <Ic
     <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">
+        <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" />
+          <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">
+        <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" />
+          <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">
+        <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" />
@@ -127,9 +164,22 @@ We recommend you use Tabler Icons for the best experience. You can find over <Ic
     <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">
+        <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" />
+          <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>
@@ -150,40 +200,88 @@ You can also add text to the element. Look at the example below to see how it wo
     <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">
+        <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
+        </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">
+        <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
+        </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">
+        <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
+        </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">
+        <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
+        </svg>
+        Square
       </span>
     </label>
   </div>
@@ -195,9 +293,7 @@ You can also add text to the element. Look at the example below to see how it wo
 If you want to use pill selectgroup, use the `.form-selectgroup-pills` class. All the other classes are the same as in the simple selectgroup.
 
 ```html
-<div class="form-selectgroup form-selectgroup-pills">
-  ...
-</div>
+<div class="form-selectgroup form-selectgroup-pills">...</div>
 ```
 
 Look at the example below to see how the pill selectgroup works:
@@ -247,7 +343,13 @@ Use more advanced selectboxes to display the range of available options. You can
       </div>
     </label>
     <label class="form-selectgroup-item flex-fill">
-      <input type="radio" name="form-payment" value="mastercard" class="form-selectgroup-input" checked />
+      <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>
@@ -275,7 +377,13 @@ Use more advanced selectboxes to display the range of available options. You can
 
 ```html
 <label class="form-selectgroup-item flex-fill">
-  <input type="radio" name="form-payment" value="mastercard" class="form-selectgroup-input" checked />
+  <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>

+ 4 - 8
docs/ui/forms/form-validation.mdx

@@ -29,10 +29,8 @@ This is how it works in the example below:
 ```html example centered columns="1" height="20rem"
 <div>
   <label class="form-label required">City</label>
-  <input type="text" class="form-control is-invalid" required>
-  <div class="invalid-feedback">
-    Please provide a valid city.
-  </div>
+  <input type="text" class="form-control is-invalid" required />
+  <div class="invalid-feedback">Please provide a valid city.</div>
 </div>
 ```
 
@@ -41,10 +39,8 @@ You can also use the `.valid-feedback` to provide users with positive feedback.
 ```html example centered columns="1" height="20rem"
 <div>
   <label class="form-label required">City</label>
-  <input type="text" class="form-control is-valid" value="Warsaw">
-  <div class="valid-feedback">
-    Looks good!
-  </div>
+  <input type="text" class="form-control is-valid" value="Warsaw" />
+  <div class="valid-feedback">Looks good!</div>
 </div>
 ```
 

+ 7 - 4
docs/ui/getting-started/customize.mdx

@@ -9,9 +9,12 @@ description: Adjust fonts, colors, and styles.
 To use a custom Google Fonts font in Tabler you must import the font in the `<head>` section of the page. In this example we will use the _Inter_ font:
 
 ```html
-<link rel="preconnect" href="https://fonts.googleapis.com">
-<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
-<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap" rel="stylesheet">
+<link rel="preconnect" href="https://fonts.googleapis.com" />
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
+<link
+  href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap"
+  rel="stylesheet"
+/>
 ```
 
 Now you just need to tell Tabler to use your favorite font:
@@ -19,7 +22,7 @@ Now you just need to tell Tabler to use your favorite font:
 ```html
 <style>
   :root {
-    --tblr-font-sans-serif: 'Inter';
+    --tblr-font-sans-serif: "Inter";
   }
 </style>
 ```

+ 5 - 5
docs/ui/getting-started/download.mdx

@@ -10,16 +10,16 @@ All files included in the `@tabler/core` npm package are available over a jsDeli
 
 ```html
 <script src="$TABLER_CDN/dist/js/tabler.min.js"></script>
-<link rel="stylesheet" href="$TABLER_CDN/dist/css/tabler.min.css">
+<link rel="stylesheet" href="$TABLER_CDN/dist/css/tabler.min.css" />
 ```
 
 You can also include additional Tabler plugins:
 
 ```html
-<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-social.min.css">
-<link rel="stylesheet" href="$TABLER_CDN/dist/css/tabler-vendors.min.css">
+<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-social.min.css" />
+<link rel="stylesheet" href="$TABLER_CDN/dist/css/tabler-vendors.min.css" />
 ```
 
 ## Package managers

+ 19 - 19
docs/ui/getting-started/installation.mdx

@@ -16,14 +16,14 @@ Begin by creating a new `index.html` file in the root of your project. This file
 ```html
 <!doctype html>
 <html lang="en">
-<head>
-  <meta charset="utf-8">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <title>Tabler demo</title>
-</head>
-<body>
-  <h1>Hello, world!</h1>
-</body>
+  <head>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <title>Tabler demo</title>
+  </head>
+  <body>
+    <h1>Hello, world!</h1>
+  </body>
 </html>
 ```
 
@@ -32,7 +32,7 @@ Begin by creating a new `index.html` file in the root of your project. This file
 Enhance your page by including Tabler's CSS and JavaScript files. Use the following links to load the core Tabler styles and scripts from the CDN:
 
 ```html
-<link rel="stylesheet" href="$TABLER_CDN/dist/css/tabler.min.css">
+<link rel="stylesheet" href="$TABLER_CDN/dist/css/tabler.min.css" />
 <script src="$TABLER_CDN/dist/js/tabler.min.js"></script>
 ```
 
@@ -41,16 +41,16 @@ Update your HTML file to include these resources:
 ```html
 <!doctype html>
 <html lang="en">
-<head>
-  <meta charset="utf-8">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <title>Tabler Demo</title>
-  <link rel="stylesheet" href="$TABLER_CDN/dist/css/tabler.min.css">
-</head>
-<body>
-  <h1>Hello, Tabler!</h1>
-  <script src="$TABLER_CDN/dist/js/tabler.min.js"></script>
-</body>
+  <head>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <title>Tabler Demo</title>
+    <link rel="stylesheet" href="$TABLER_CDN/dist/css/tabler.min.css" />
+  </head>
+  <body>
+    <h1>Hello, Tabler!</h1>
+    <script src="$TABLER_CDN/dist/js/tabler.min.js"></script>
+  </body>
 </html>
 ```
 

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 10 - 6
docs/ui/layout/navbars.mdx


+ 19 - 5
docs/ui/layout/navs-tabls.mdx

@@ -49,7 +49,7 @@ To create a vertical navigation bar, add the `.flex-column` class to the `.nav`
 
 ```html
 <ul class="nav flex-column">
-	...
+  ...
 </ul>
 ```
 
@@ -78,7 +78,7 @@ To create a tabbed navigation interface, use the `.nav-tabs` class. This is idea
 
 ```html
 <ul class="nav nav-tabs">
-	...
+  ...
 </ul>
 ```
 
@@ -151,7 +151,14 @@ You can enhance tabs by adding dropdown menus using the `.dropdown` class inside
 <ul class="nav nav-tabs">
   ...
   <li class="nav-item dropdown">
-    <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-expanded="false">Dropdown</a>
+    <a
+      class="nav-link dropdown-toggle"
+      data-bs-toggle="dropdown"
+      href="#"
+      role="button"
+      aria-expanded="false"
+      >Dropdown</a
+    >
     <ul class="dropdown-menu">
       ...
     </ul>
@@ -168,12 +175,19 @@ Example below shows how tabs with dropdown menus are displayed.
     <a class="nav-link active" aria-current="page" href="#">Active</a>
   </li>
   <li class="nav-item dropdown">
-    <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-expanded="false">Dropdown</a>
+    <a
+      class="nav-link dropdown-toggle"
+      data-bs-toggle="dropdown"
+      href="#"
+      role="button"
+      aria-expanded="false"
+      >Dropdown</a
+    >
     <ul class="dropdown-menu">
       <li><a class="dropdown-item" href="#">Action</a></li>
       <li><a class="dropdown-item" href="#">Another action</a></li>
       <li><a class="dropdown-item" href="#">Something else here</a></li>
-      <li><hr class="dropdown-divider"></li>
+      <li><hr class="dropdown-divider" /></li>
       <li><a class="dropdown-item" href="#">Separated link</a></li>
     </ul>
   </li>

+ 162 - 30
docs/ui/layout/page-headers.mdx

@@ -10,30 +10,57 @@ description: Examples of Tabler page headers.
 <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 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>
+          <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">
+        <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">
+        <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" />
@@ -51,14 +78,28 @@ description: Examples of Tabler page headers.
 <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>
+      <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">
+            <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" />
@@ -71,7 +112,18 @@ description: Examples of Tabler page headers.
             <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">
+            <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" />
@@ -81,7 +133,18 @@ description: Examples of Tabler page headers.
             <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">
+            <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>
@@ -92,7 +155,18 @@ description: Examples of Tabler page headers.
     </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">
+        <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" />
@@ -120,7 +194,18 @@ description: Examples of Tabler page headers.
           <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">
+              <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>
@@ -129,7 +214,18 @@ description: Examples of Tabler page headers.
           </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">
+          <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>
@@ -154,14 +250,25 @@ A page header with a border to separate content is an effective way to organize
         <h2 class="page-title">Improve cards with no border</h2>
         <div class="text-secondary 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>
+          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">
+            <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" />
@@ -170,9 +277,22 @@ A page header with a border to separate content is an effective way to organize
             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">
+            <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="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
@@ -208,13 +328,27 @@ In addition to the breadcrumb, the header often includes actions or buttons that
         </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>
+        <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">
+          <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" />
@@ -222,9 +356,7 @@ In addition to the breadcrumb, the header often includes actions or buttons that
           </svg>
           Edit
         </a>
-        <a href="#" class="btn btn-primary">
-          Publish
-        </a>
+        <a href="#" class="btn btn-primary"> Publish </a>
       </div>
     </div>
   </div>

+ 23 - 18
docs/ui/layout/page-layouts.mdx

@@ -18,13 +18,22 @@ To create a sample version of the dashboard, you can use the following code snip
     <div class="container-xl">
       <h1 class="navbar-brand navbar-brand-autodark d-none-navbar-horizontal pe-0 pe-md-3">
         <a href="#">
-          <img src="https://preview.tabler.io/static/logo.svg" width="110" height="32" alt="Tabler" class="navbar-brand-image" />
+          <img
+            src="https://preview.tabler.io/static/logo.svg"
+            width="110"
+            height="32"
+            alt="Tabler"
+            class="navbar-brand-image"
+          />
         </a>
       </h1>
       <div class="navbar-nav flex-row order-md-last">
         <div class="nav-item">
           <a href="#" class="nav-link d-flex lh-1 text-reset p-0">
-            <span class="avatar avatar-sm" style="background-image: url(/samples/avatars/002m.jpg)"></span>
+            <span
+              class="avatar avatar-sm"
+              style="background-image: url(/samples/avatars/002m.jpg)"
+            ></span>
             <div class="d-none d-xl-block ps-2">
               <div>Paweł Kuna</div>
               <div class="mt-1 small text-secondary">UI Designer</div>
@@ -79,37 +88,35 @@ To create a sidebar layout, you can use the following code snippet. This code sn
       </button>
       <h1 class="navbar-brand navbar-brand-autodark">
         <a href="#">
-          <img src="https://preview.tabler.io/static/logo-white.svg" width="110" height="32" alt="Tabler" class="navbar-brand-image">
+          <img
+            src="https://preview.tabler.io/static/logo-white.svg"
+            width="110"
+            height="32"
+            alt="Tabler"
+            class="navbar-brand-image"
+          />
         </a>
       </h1>
       <div class="collapse navbar-collapse" id="sidebar-menu">
         <ul class="navbar-nav pt-lg-3">
           <li class="nav-item">
             <a class="nav-link" href="./">
-              <span class="nav-link-title">
-                Home
-              </span>
+              <span class="nav-link-title"> Home </span>
             </a>
           </li>
           <li class="nav-item">
             <a class="nav-link" href="#">
-              <span class="nav-link-title">
-                Link 1
-              </span>
+              <span class="nav-link-title"> Link 1 </span>
             </a>
           </li>
           <li class="nav-item">
             <a class="nav-link" href="#">
-              <span class="nav-link-title">
-                Link 2
-              </span>
+              <span class="nav-link-title"> Link 2 </span>
             </a>
           </li>
           <li class="nav-item">
             <a class="nav-link" href="#">
-              <span class="nav-link-title">
-                Link 3
-              </span>
+              <span class="nav-link-title"> Link 3 </span>
             </a>
           </li>
         </ul>
@@ -121,9 +128,7 @@ To create a sidebar layout, you can use the following code snippet. This code sn
       <div class="container-xl">
         <div class="row g-2 align-items-center">
           <div class="col">
-            <h2 class="page-title">
-              Vertical layout
-            </h2>
+            <h2 class="page-title">Vertical layout</h2>
           </div>
         </div>
       </div>

+ 1 - 1
docs/ui/plugins/flags.mdx

@@ -13,7 +13,7 @@ This part of Tabler is distributed as a plugin. To enable it you should include
 You can also include the plugin via CDN:
 
 ```html
-<link rel="stylesheet" href="$TABLER_CDN/dist/css/tabler-flags.min.css">
+<link rel="stylesheet" href="$TABLER_CDN/dist/css/tabler-flags.min.css" />
 ```
 
 ## Flag

+ 1 - 1
docs/ui/plugins/payments.mdx

@@ -12,7 +12,7 @@ This part of Tabler is distributed as a plugin. To enable it you should include
 You can also include the plugin via CDN:
 
 ```html
-<link rel="stylesheet" href="$TABLER_CDN/dist/css/tabler-payments.min.css">
+<link rel="stylesheet" href="$TABLER_CDN/dist/css/tabler-payments.min.css" />
 ```
 
 ## Payment

+ 1 - 1
docs/ui/plugins/social-icons.mdx

@@ -13,7 +13,7 @@ This part of Tabler is distributed as a plugin. To enable it you should include
 You can also include the plugin via CDN:
 
 ```html
-<link rel="stylesheet" href="$TABLER_CDN/dist/css/tabler-socials.min.css">
+<link rel="stylesheet" href="$TABLER_CDN/dist/css/tabler-socials.min.css" />
 ```
 
 ## Social icons

+ 159 - 33
docs/ui/utilities/borders.mdx

@@ -19,13 +19,41 @@ Borders can be applied to specific sides of an element using utility classes. Th
 ```
 
 ```html example centered separated background="white"
-<div class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border">1</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border-top">2</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border-end">3</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border-bottom">4</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border-start">5</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border-x">6</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border-y">7</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border"
+>
+  1
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border-top"
+>
+  2
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border-end"
+>
+  3
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border-bottom"
+>
+  4
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border-start"
+>
+  5
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border-x"
+>
+  6
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border-y"
+>
+  7
+</div>
 ```
 
 
@@ -40,9 +68,21 @@ Border size utilities allow you to control the thickness of borders, providing f
 ```
 
 ```html example centered separated background="white"
-<div class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border-0">1</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border">2</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border-wide">3</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border-0"
+>
+  1
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border"
+>
+  2
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border-wide"
+>
+  3
+</div>
 ```
 
 ## Remove border
@@ -59,12 +99,36 @@ If you want to selectively remove borders from specific sides of an element, you
 ```
 
 ```html example centered separated background="white"
-<div class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-top-0">1</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-end-0">2</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-bottom-0">3</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-start-0">4</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-x-0">5</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-y-0">6</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-top-0"
+>
+  1
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-end-0"
+>
+  2
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-bottom-0"
+>
+  3
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-start-0"
+>
+  4
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-x-0"
+>
+  5
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-y-0"
+>
+  6
+</div>
 ```
 
 
@@ -84,14 +148,46 @@ Customizing the border color helps to enhance the visual appeal and consistency
 ```
 
 ```html example centered separated background="white"
-<div class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-primary">1</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-secondary">2</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-success">3</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-warning">4</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-danger">5</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-info">6</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-dark">7</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-light">8</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-primary"
+>
+  1
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-secondary"
+>
+  2
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-success"
+>
+  3
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-warning"
+>
+  4
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-danger"
+>
+  5
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-info"
+>
+  6
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-dark"
+>
+  7
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-5 h-5 bg-light border border-light"
+>
+  8
+</div>
 ```
 
 ## Border radius
@@ -108,12 +204,36 @@ Adding border radius gives elements smooth, rounded edges, which can make design
 ```
 
 ```html example centered separated background="white"
-<div class="d-flex align-items-center justify-content-center text-secondary w-6 h-6 bg-light border rounded-0">1</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-6 h-6 bg-light border rounded">2</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-6 h-6 bg-light border rounded-1">3</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-6 h-6 bg-light border rounded-2">4</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-6 h-6 bg-light border rounded-3">5</div>
-<div class="d-flex align-items-center justify-content-center text-secondary w-6 h-6 bg-light border rounded-circle">6</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-6 h-6 bg-light border rounded-0"
+>
+  1
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-6 h-6 bg-light border rounded"
+>
+  2
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-6 h-6 bg-light border rounded-1"
+>
+  3
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-6 h-6 bg-light border rounded-2"
+>
+  4
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-6 h-6 bg-light border rounded-3"
+>
+  5
+</div>
+<div
+  class="d-flex align-items-center justify-content-center text-secondary w-6 h-6 bg-light border rounded-circle"
+>
+  6
+</div>
 ```
 
 
@@ -127,8 +247,14 @@ You can adjust the opacity of borders to create subtle visual effects or to blen
 
 ```html example 
 <div class="border border-success p-2 mb-2">This is default success border</div>
-<div class="border border-success p-2 mb-2 border-opacity-75">This is 75% opacity success border</div>
-<div class="border border-success p-2 mb-2 border-opacity-50">This is 50% opacity success border</div>
-<div class="border border-success p-2 mb-2 border-opacity-25">This is 25% opacity success border</div>
+<div class="border border-success p-2 mb-2 border-opacity-75">
+  This is 75% opacity success border
+</div>
+<div class="border border-success p-2 mb-2 border-opacity-50">
+  This is 50% opacity success border
+</div>
+<div class="border border-success p-2 mb-2 border-opacity-25">
+  This is 25% opacity success border
+</div>
 <div class="border border-success p-2 border-opacity-10">This is 10% opacity success border</div>
 ```

+ 1 - 3
docs/ui/utilities/interactions.mdx

@@ -22,7 +22,5 @@ Tabler provides `.pe-none` and `.pe-auto` classes to prevent or add element inte
 <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>
+<p><a href="#" class="pe-auto">This link</a> can be clicked (this is default behavior).</p>
 ```

+ 1 - 1
docs/ui/utilities/vertical-align.mdx

@@ -51,7 +51,7 @@ Vertical alignment utilities are also applicable to table cells, allowing you to
 ```
 
 ```html example
-<table style="height: 100px;">
+<table style="height: 100px">
   <tbody>
     <tr>
       <td class="align-baseline">baseline</td>

+ 0 - 2
package.json

@@ -30,8 +30,6 @@
     "concurrently": "^9.1.2",
     "cross-env": "^7.0.3",
     "glob": "^11.0.1",
-    "htmlfy": "^0.6.0",
-    "js-beautify": "^1.15.1",
     "nodemon": "^3.1.9",
     "pnpm": "9.15.4",
     "postcss": "^8.5.1",

Vissa filer visades inte eftersom för många filer har ändrats