@brightspot/ui 1.7.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/LucideDynamicLoader.js +1 -1
  2. package/dist/LucideDynamicLoader.js.map +1 -1
  3. package/dist/LucideDynamicLoader.ts +1 -1
  4. package/dist/components/icon/Icon.d.ts +1 -0
  5. package/dist/components/icon/Icon.d.ts.map +1 -1
  6. package/dist/components/icon/Icon.js +2 -1
  7. package/dist/components/icon/Icon.js.map +1 -1
  8. package/dist/components/icon-button/IconButton.d.ts +85 -0
  9. package/dist/components/icon-button/IconButton.d.ts.map +1 -0
  10. package/dist/components/icon-button/IconButton.js +171 -0
  11. package/dist/components/icon-button/IconButton.js.map +1 -0
  12. package/dist/components/pagination/Pagination.d.ts +0 -1
  13. package/dist/components/pagination/Pagination.d.ts.map +1 -1
  14. package/dist/components/pagination/Pagination.js +22 -22
  15. package/dist/components/pagination/Pagination.js.map +1 -1
  16. package/dist/custom-elements.json +321 -102
  17. package/dist/storybook/assets/{Avatar.stories-BAaSlDF7.js → Avatar.stories-Du1qM73U.js} +1 -1
  18. package/dist/storybook/assets/{AvatarGroup.stories-CgoDB4N4.js → AvatarGroup.stories-DxwZQE-q.js} +1 -1
  19. package/dist/storybook/assets/{Badge.stories-uexxdmo6.js → Badge.stories-CfvkMIx2.js} +1 -1
  20. package/dist/storybook/assets/{Button.stories-T9UJUPHI.js → Button.stories-hDMDDh81.js} +1 -1
  21. package/dist/storybook/assets/{CircularProgress.stories-DW-VJA5j.js → CircularProgress.stories-rPzKwQYD.js} +1 -1
  22. package/dist/storybook/assets/{ClipboardMixin.stories-DzU4vxu5.js → ClipboardMixin.stories-BlUeYDSi.js} +1 -1
  23. package/dist/storybook/assets/{Color-6BZIO3FS-DRk2xjoN.js → Color-6BZIO3FS-C_nQSB2u.js} +1 -1
  24. package/dist/storybook/assets/{Colors.stories-_UPdvuhY.js → Colors.stories-BspfjZ5q.js} +1 -1
  25. package/dist/storybook/assets/{ComponentStatesMixin-BIu5SKeV.js → ComponentStatesMixin-eTV7XXqB.js} +1 -1
  26. package/dist/storybook/assets/{ComponentStatesMixin.stories-C0FLaqLu.js → ComponentStatesMixin.stories-BbLSY3df.js} +1 -1
  27. package/dist/storybook/assets/{CopyToClipboard.stories-D31zoUVI.js → CopyToClipboard.stories-B2ailiFF.js} +1 -1
  28. package/dist/storybook/assets/{Debounce.stories-CgPPl5Ee.js → Debounce.stories-DJmp4eNo.js} +1 -1
  29. package/dist/storybook/assets/{DocsRenderer-LL677BLK-iwiwOzX9.js → DocsRenderer-LL677BLK-56Pige1J.js} +6 -6
  30. package/dist/storybook/assets/{Dropdown.stories-CDcl6rmG.js → Dropdown.stories-Dd6vKiDd.js} +1 -1
  31. package/dist/storybook/assets/{Events.stories-DS6UC9dZ.js → Events.stories-Byj-VOM9.js} +1 -1
  32. package/dist/storybook/assets/{Heading.stories-CAQfEGE2.js → Heading.stories-Dqw-wzpx.js} +1 -1
  33. package/dist/storybook/assets/{Icon.stories-C7msWlHs.js → Icon.stories-Bp1nvWER.js} +32 -13
  34. package/dist/storybook/assets/IconButton.stories-o9g9mGdh.js +748 -0
  35. package/dist/storybook/assets/{LinearProgress.stories-DBGJ5a2-.js → LinearProgress.stories-DnXQVpzX.js} +1 -1
  36. package/dist/storybook/assets/LucideDynamicLoader-jmdq8YDM.js +1 -0
  37. package/dist/storybook/assets/{Pagination.stories-C58bGOdf.js → Pagination.stories-DQD8uvDc.js} +1 -1
  38. package/dist/storybook/assets/{Popover.stories-C9zU0sEX.js → Popover.stories-BvavsRfq.js} +1 -1
  39. package/dist/storybook/assets/{ReadyMixin-qf8SAjMu.js → ReadyMixin-6On1MFFr.js} +1 -1
  40. package/dist/storybook/assets/{Rtc.stories-k9tKHNhD.js → Rtc.stories-Bb5Y-908.js} +1 -1
  41. package/dist/storybook/assets/{ScrollShadow.stories-Bp42zyLH.js → ScrollShadow.stories-ZovRXpte.js} +1 -1
  42. package/dist/storybook/assets/{Throttle.stories-B5YU-Nms.js → Throttle.stories-DmP-yKke.js} +1 -1
  43. package/dist/storybook/assets/{Tooltip.stories-COQcvOnL.js → Tooltip.stories-Dl6xHBaM.js} +1 -1
  44. package/dist/storybook/assets/{Widget.stories-D3Sq5-_A.js → Widget.stories-BjXfgNjZ.js} +1 -1
  45. package/dist/storybook/assets/{WithTooltip-65CFNBJE-Cox81aM_.js → WithTooltip-65CFNBJE-CGB5q-AN.js} +1 -1
  46. package/dist/storybook/assets/{formatter-EIJCOSYU-3ErcoV9q.js → formatter-EIJCOSYU-BhNtSFM9.js} +1 -1
  47. package/dist/storybook/assets/if-defined-BFyUeSVF.js +1 -0
  48. package/dist/storybook/assets/{iframe-CM6gBkqA.js → iframe-BeKreX-l.js} +100 -100
  49. package/dist/storybook/assets/{iframe-D3r2Ciu8.css → iframe-CNxIA3cQ.css} +1 -1
  50. package/dist/storybook/assets/{index-iwfnMgqg.js → index-Uz2kGy8J.js} +1 -1
  51. package/dist/storybook/assets/{onFind.stories-CDtoTN6S.js → onFind.stories-B2GYLrjV.js} +1 -1
  52. package/dist/storybook/assets/{onRemove.stories-CSTeFCLU.js → onRemove.stories-CoLJFkWa.js} +1 -1
  53. package/dist/storybook/assets/{onVisible.stories-C-yiw9n4.js → onVisible.stories-DOeZx7wi.js} +1 -1
  54. package/dist/storybook/assets/{style-map-BJGdSb_D.js → style-map-CmHqpCu1.js} +1 -1
  55. package/dist/storybook/assets/{syntaxhighlighter-ED5Y7EFY-BEudYlVi.js → syntaxhighlighter-ED5Y7EFY-BqFfcc7x.js} +1 -1
  56. package/dist/storybook/iframe.html +2 -2
  57. package/dist/storybook/index.json +1 -1
  58. package/dist/storybook/project.json +1 -1
  59. package/dist/tailwind-plugin-pagination.js +9 -21
  60. package/dist/tailwind-plugin-pagination.js.map +1 -1
  61. package/dist/tailwind-plugin-pagination.ts +10 -21
  62. package/dist/util/EventEmitterMixin.d.ts +4 -0
  63. package/dist/util/EventEmitterMixin.d.ts.map +1 -1
  64. package/dist/util/EventEmitterMixin.js.map +1 -1
  65. package/docs/components/Icon.md +6 -5
  66. package/docs/components/IconButton.md +63 -0
  67. package/docs/components/Pagination.md +9 -9
  68. package/docs/components/README.md +1 -0
  69. package/package.json +1 -1
  70. package/dist/storybook/assets/if-defined-Bv2_qPJg.js +0 -1
@@ -1,4 +1,4 @@
1
- import{g as f,x as t}from"./iframe-CM6gBkqA.js";import{o as v}from"./style-map-BJGdSb_D.js";import"./preload-helper-PPVm8Dsz.js";const{events:S,args:C,argTypes:n}=f("btu-dropdown"),k={title:"Components/Dropdown",component:"btu-dropdown",tags:["autodocs"],parameters:{docs:{subtitle:"btu-dropdown",description:{component:`
1
+ import{g as f,x as t}from"./iframe-BeKreX-l.js";import{o as v}from"./style-map-CmHqpCu1.js";import"./preload-helper-PPVm8Dsz.js";const{events:S,args:C,argTypes:n}=f("btu-dropdown"),k={title:"Components/Dropdown",component:"btu-dropdown",tags:["autodocs"],parameters:{docs:{subtitle:"btu-dropdown",description:{component:`
2
2
  A dropdown menu component that renders a trigger button and manages a floating panel
3
3
  containing a \`btu-dropdown-menu\` with \`btu-dropdown-item\` children.
4
4
 
@@ -1,4 +1,4 @@
1
- import{x as d}from"./iframe-CM6gBkqA.js";import"./preload-helper-PPVm8Dsz.js";var n=Object.freeze,r=Object.defineProperty,s=(t,i)=>n(r(t,"raw",{value:n(t.slice())})),o;const l={title:"Mixins/Events",tags:["autodocs"],parameters:{docs:{subtitle:"Events inherited from EventEmitterMixin",description:{component:`
1
+ import{x as d}from"./iframe-BeKreX-l.js";import"./preload-helper-PPVm8Dsz.js";var n=Object.freeze,r=Object.defineProperty,s=(t,i)=>n(r(t,"raw",{value:n(t.slice())})),o;const l={title:"Mixins/Events",tags:["autodocs"],parameters:{docs:{subtitle:"Events inherited from EventEmitterMixin",description:{component:`
2
2
  <h3>EventEmitterMixin Events</h3>
3
3
 
4
4
  <p>All Brightspot UI components that extend EventEmitterMixin emit the following lifecycle events in addition to those inherited from LitElement. These events use CustomEvent and bubble through the DOM with <code>composed: true</code>, meaning they cross shadow DOM boundaries.</p>
@@ -1,3 +1,3 @@
1
- import{x as s}from"./iframe-CM6gBkqA.js";import"./preload-helper-PPVm8Dsz.js";const r=({size:t})=>s` <div class=${[`btu-heading-${t}`].join(" ")}>Heading</div> `,o={title:"CSS Plugins/Heading",component:"btu-heading",tags:["autodocs"],parameters:{docs:{subtitle:"This Tailwind CSS plugin provides the `.btu-heading` utility class for styling headings. It supports five different sizes, from 1 (largest) to 5 (smallest). Apply the class to `<h1>` through `<h5>` elements to style them accordingly."},controls:{expanded:!0}},render:t=>r(t),argTypes:{size:{control:{type:"range",min:1,max:5,step:1},description:"Heading size from 1 to 5, where 1 is the largest and 5 is the smallest."}},args:{size:1}},e={args:{}};e.parameters={...e.parameters,docs:{...e.parameters?.docs,source:{originalSource:`{
1
+ import{x as s}from"./iframe-BeKreX-l.js";import"./preload-helper-PPVm8Dsz.js";const r=({size:t})=>s` <div class=${[`btu-heading-${t}`].join(" ")}>Heading</div> `,o={title:"CSS Plugins/Heading",component:"btu-heading",tags:["autodocs"],parameters:{docs:{subtitle:"This Tailwind CSS plugin provides the `.btu-heading` utility class for styling headings. It supports five different sizes, from 1 (largest) to 5 (smallest). Apply the class to `<h1>` through `<h5>` elements to style them accordingly."},controls:{expanded:!0}},render:t=>r(t),argTypes:{size:{control:{type:"range",min:1,max:5,step:1},description:"Heading size from 1 to 5, where 1 is the largest and 5 is the smallest."}},args:{size:1}},e={args:{}};e.parameters={...e.parameters,docs:{...e.parameters?.docs,source:{originalSource:`{
2
2
  args: {}
3
3
  }`,...e.parameters?.docs?.source}}};const n=["Default"];export{e as Default,n as __namedExportsOrder,o as default};
@@ -1,4 +1,4 @@
1
- import{g as c,x as a}from"./iframe-CM6gBkqA.js";import{o as d}from"./style-map-BJGdSb_D.js";import"./preload-helper-PPVm8Dsz.js";const p="0.508.0",b={version:p},l=b.version,{events:u,args:m,argTypes:t}=c("btu-icon"),g=["xs","sm","md","lg","xl"],x=["ai","error","gray","primary","purple","rose","success","teal","warning"],h={title:"Components/Icon",component:"btu-icon",tags:["autodocs"],parameters:{docs:{subtitle:"An icon component using Lucide icons with built-in support for custom colors and sizes.",description:{component:`
1
+ import{g as d,x as t}from"./iframe-BeKreX-l.js";import{o as p}from"./style-map-CmHqpCu1.js";import{L as c}from"./LucideDynamicLoader-jmdq8YDM.js";import"./preload-helper-PPVm8Dsz.js";const{events:u,args:b,argTypes:s}=d("btu-icon"),m=["xs","sm","md","lg","xl"],g=["ai","error","gray","primary","purple","rose","success","teal","warning"],v={title:"Components/Icon",component:"btu-icon",tags:["autodocs"],parameters:{docs:{subtitle:"An icon component using Lucide icons with built-in support for custom colors and sizes.",description:{component:`
2
2
  <strong>When to use:</strong>
3
3
  <ul>
4
4
  <li>To visually reinforce actions, states, or categories</li>
@@ -14,19 +14,24 @@ import{g as c,x as a}from"./iframe-CM6gBkqA.js";import{o as d}from"./style-map-B
14
14
  </ul>
15
15
 
16
16
  <h3>Icon Library:</h3>
17
- <p>All icons are from <a href="https://lucide.dev/icons/" target="_blank">Lucide</a>. Note that the Lucide library is updated regularly, but the Brightspot UI library uses <strong>Lucide v${l}</strong>. Keep this in mind when choosing icons for your project, as icon names and styles may differ between versions.</p>
18
- `}},actions:{handles:u},controls:{expanded:!0}},args:{...m,symbol:"heart",size:"md"},argTypes:{...t,"--Icon-size":{table:{disable:!0}},"--Icon-fill":{table:{disable:!0}},"--Icon-svg":{table:{disable:!0}},symbol:{...t.symbol,control:{type:"text"},description:'<a href="https://lucide.dev/icons/" target="_blank">Lucide</a> icon name. Note that only icons available in Lucide v'+l+" are supported.",table:{...t.symbol?.table,type:{summary:"string"}}},size:{...t.size,control:{type:"select"},options:g,description:"Icon size preset"},gradient:{...t.gradient,control:{type:"select"},options:x,description:"Gradient theme icon fill. When not set, icon inherits parent text color."},customSize:{name:"--Icon-size",control:{type:"text"},description:'Custom icon size - overrides the size preset (e.g., "3rem", "48px")',table:{category:"CSS Properties"}},customFill:{name:"--Icon-fill",control:{type:"text"},description:'An advanced option for creating filled-in icons via built-in CSS SVG styling. Works best with simple icons like "heart" or "star".',table:{category:"CSS Properties"}}},render:e=>{const r={};return e.customSize&&(r["--Icon-size"]=e.customSize),e.customFill&&(r["--Icon-fill"]=e.customFill),a`<btu-icon
17
+ <p>All icons are from <a href="https://lucide.dev/icons/" target="_blank">Lucide</a>. Note that the Lucide library is updated regularly, but the Brightspot UI library uses <strong>Lucide v${c}</strong>. Keep this in mind when choosing icons for your project, as icon names and styles may differ between versions.</p>
18
+ `}},actions:{handles:u},controls:{expanded:!0}},args:{...b,symbol:"heart",size:"md"},argTypes:{...s,"--Icon-size":{table:{disable:!0}},"--Icon-fill":{table:{disable:!0}},"--Icon-stroke-width":{table:{disable:!0}},"--Icon-svg":{table:{disable:!0}},symbol:{...s.symbol,control:{type:"text"},description:'<a href="https://lucide.dev/icons/" target="_blank">Lucide</a> icon name. Note that only icons available in Lucide v'+c+" are supported.",table:{...s.symbol?.table,type:{summary:"string"}}},size:{...s.size,control:{type:"select"},options:m,description:"Icon size preset"},gradient:{...s.gradient,control:{type:"select"},options:g,description:"Gradient theme icon fill. When not set, icon inherits parent text color."},customSize:{name:"--Icon-size",control:{type:"text"},description:'Custom icon size - overrides the size preset (e.g., "3rem", "48px")',table:{category:"CSS Properties"}},customFill:{name:"--Icon-fill",control:{type:"text"},description:'An advanced option for creating filled-in icons via built-in CSS SVG styling. Works best with simple icons like "heart" or "star".',table:{category:"CSS Properties"}},customStrokeWidth:{name:"--Icon-stroke-width",control:{type:"range",min:.5,max:4,step:.25},description:"SVG stroke width as a unitless number in viewBox units; scales visually with icon size (default: 2).",table:{category:"CSS Properties"}}},render:e=>{const n={};return e.customSize&&(n["--Icon-size"]=e.customSize),e.customFill&&(n["--Icon-fill"]=e.customFill),e.customStrokeWidth&&(n["--Icon-stroke-width"]=e.customStrokeWidth),t`<btu-icon
19
19
  symbol="${e.symbol}"
20
20
  size="${e.size}"
21
21
  gradient="${e.gradient||""}"
22
- style=${d(r)}
23
- ></btu-icon>`}},s={args:{}},n={render:()=>a`<div class="flex items-center gap-4">
22
+ style=${p(n)}
23
+ ></btu-icon>`}},i={args:{}},o={render:()=>t`<div class="flex items-center gap-4">
24
24
  <btu-icon symbol="heart" size="xs"></btu-icon>
25
25
  <btu-icon symbol="heart" size="sm"></btu-icon>
26
26
  <btu-icon symbol="heart" size="md"></btu-icon>
27
27
  <btu-icon symbol="heart" size="lg"></btu-icon>
28
28
  <btu-icon symbol="heart" size="xl"></btu-icon>
29
- </div>`,parameters:{docs:{description:{story:"Icons come in five preset sizes: xs, sm, md, lg, and xl. Choose the size that best fits your design context."}}}},i={render:()=>a`<div class="flex flex-wrap items-center justify-between gap-4 px-4">
29
+ </div>`,parameters:{docs:{description:{story:"Icons come in five preset sizes: xs, sm, md, lg, and xl. Choose the size that best fits your design context."}}}},a={render:()=>t`<div class="flex items-center gap-6">
30
+ ${[1,1.5,2,2.5,3].map(e=>t`<div class="flex flex-col items-center gap-2">
31
+ <btu-icon symbol="heart" size="xl" style="--Icon-stroke-width: ${e}"></btu-icon>
32
+ <span class="text-xs font-bold">${e}</span>
33
+ </div>`)}
34
+ </div>`,parameters:{docs:{description:{story:"Control stroke thickness via the `--Icon-stroke-width` CSS custom property. The value is a unitless number in SVG viewBox units (the icons use a 24×24 coordinate system). Because the stroke is defined in viewBox units, it scales proportionally with the icon — a stroke-width of 2 will appear visually thicker on a larger icon. Note: this property does not affect gradient icons, which use a static mask image where stroke-width is baked in."}}}},r={render:()=>t`<div class="flex flex-wrap items-center justify-between gap-4 px-4">
30
35
  <div class="flex flex-col items-center gap-2">
31
36
  <btu-icon symbol="zap" size="xl" gradient="primary"></btu-icon>
32
37
  <span class="text-xs font-bold">primary</span>
@@ -59,7 +64,7 @@ import{g as c,x as a}from"./iframe-CM6gBkqA.js";import{o as d}from"./style-map-B
59
64
  <btu-icon symbol="flower" size="xl" gradient="rose"></btu-icon>
60
65
  <span class="text-xs font-bold">rose</span>
61
66
  </div>
62
- </div>`,parameters:{docs:{description:{story:"Icons support gradient fills using the following theme colors. Set the `gradient` attribute to one of the theme colors and watch the icon's color come to life! Note that gradient icons use mask-based rendering for smooth color transitions."}}}},o={render:()=>a`<div class="flex flex-col gap-6">
67
+ </div>`,parameters:{docs:{description:{story:"Icons support gradient fills using the following theme colors. Set the `gradient` attribute to one of the theme colors and watch the icon's color come to life! Note that gradient icons use mask-based rendering for smooth color transitions."}}}},l={render:()=>t`<div class="flex flex-col gap-6">
63
68
  <div class="flex items-center gap-2">
64
69
  <strong>Custom sizing:</strong>
65
70
  <btu-icon symbol="trophy" size="md" style="--Icon-size: 4rem" class="text-warning-500"></btu-icon>
@@ -112,9 +117,9 @@ import{g as c,x as a}from"./iframe-CM6gBkqA.js";import{o as d}from"./style-map-B
112
117
  <span class="ml-1">Favorite</span>
113
118
  </button>
114
119
  </div>
115
- </div>`,parameters:{docs:{description:{story:'\n- **Custom sizing** is available via the `--Icon-size` CSS property for precise control. \n- You can create **filled icons** by setting the `--Icon-fill: currentColor` CSS property. Note that this works best with simple icons like "heart" or "star".\n\n- **RTL language support:** Directional icons can be flipped for right-to-left languages using Tailwind\'s `rtl:-scale-x-100` utility class. This ensures icons like panels, arrows, and navigation elements point in the correct direction.\n\n**Accessibility best practices:**\n- If an icon conveys information and there is no visible text to accompany it (e.g., a delete button with only a trash can icon), add an `aria-label` attribute to the component to help users using screen readers understand its purpose.\n- If an icon is purely decorative (e.g. a sparkle icon, accompanying text that already conveys meaning), add `aria-hidden="true"` to the icon to hide it from screen readers.\n- You may consider adding a tooltip (via `title` attribute) to icon buttons for better discoverability.'}}}};s.parameters={...s.parameters,docs:{...s.parameters?.docs,source:{originalSource:`{
120
+ </div>`,parameters:{docs:{description:{story:'\n- **Custom sizing** is available via the `--Icon-size` CSS property for precise control.\n- You can create **filled icons** by setting the `--Icon-fill: currentColor` CSS property. Note that this works best with simple icons like "heart" or "star".\n\n- **RTL language support:** Directional icons can be flipped for right-to-left languages using Tailwind\'s `rtl:-scale-x-100` utility class. This ensures icons like panels, arrows, and navigation elements point in the correct direction.\n\n**Accessibility best practices:**\n- If an icon conveys information and there is no visible text to accompany it (e.g., a delete button with only a trash can icon), add an `aria-label` attribute to the component to help users using screen readers understand its purpose.\n- If an icon is purely decorative (e.g. a sparkle icon, accompanying text that already conveys meaning), add `aria-hidden="true"` to the icon to hide it from screen readers.\n- You may consider adding a tooltip (via `title` attribute) to icon buttons for better discoverability.'}}}};i.parameters={...i.parameters,docs:{...i.parameters?.docs,source:{originalSource:`{
116
121
  args: {}
117
- }`,...s.parameters?.docs?.source}}};n.parameters={...n.parameters,docs:{...n.parameters?.docs,source:{originalSource:`{
122
+ }`,...i.parameters?.docs?.source}}};o.parameters={...o.parameters,docs:{...o.parameters?.docs,source:{originalSource:`{
118
123
  render: () => html\`<div class="flex items-center gap-4">
119
124
  <btu-icon symbol="heart" size="xs"></btu-icon>
120
125
  <btu-icon symbol="heart" size="sm"></btu-icon>
@@ -129,7 +134,21 @@ import{g as c,x as a}from"./iframe-CM6gBkqA.js";import{o as d}from"./style-map-B
129
134
  }
130
135
  }
131
136
  }
132
- }`,...n.parameters?.docs?.source}}};i.parameters={...i.parameters,docs:{...i.parameters?.docs,source:{originalSource:`{
137
+ }`,...o.parameters?.docs?.source}}};a.parameters={...a.parameters,docs:{...a.parameters?.docs,source:{originalSource:`{
138
+ render: () => html\`<div class="flex items-center gap-6">
139
+ \${[1, 1.5, 2, 2.5, 3].map(w => html\`<div class="flex flex-col items-center gap-2">
140
+ <btu-icon symbol="heart" size="xl" style="--Icon-stroke-width: \${w}"></btu-icon>
141
+ <span class="text-xs font-bold">\${w}</span>
142
+ </div>\`)}
143
+ </div>\`,
144
+ parameters: {
145
+ docs: {
146
+ description: {
147
+ story: \`Control stroke thickness via the \\\`--Icon-stroke-width\\\` CSS custom property. The value is a unitless number in SVG viewBox units (the icons use a 24\\u00d724 coordinate system). Because the stroke is defined in viewBox units, it scales proportionally with the icon — a stroke-width of 2 will appear visually thicker on a larger icon. Note: this property does not affect gradient icons, which use a static mask image where stroke-width is baked in.\`
148
+ }
149
+ }
150
+ }
151
+ }`,...a.parameters?.docs?.source}}};r.parameters={...r.parameters,docs:{...r.parameters?.docs,source:{originalSource:`{
133
152
  render: () => html\`<div class="flex flex-wrap items-center justify-between gap-4 px-4">
134
153
  <div class="flex flex-col items-center gap-2">
135
154
  <btu-icon symbol="zap" size="xl" gradient="primary"></btu-icon>
@@ -171,7 +190,7 @@ import{g as c,x as a}from"./iframe-CM6gBkqA.js";import{o as d}from"./style-map-B
171
190
  }
172
191
  }
173
192
  }
174
- }`,...i.parameters?.docs?.source}}};o.parameters={...o.parameters,docs:{...o.parameters?.docs,source:{originalSource:`{
193
+ }`,...r.parameters?.docs?.source}}};l.parameters={...l.parameters,docs:{...l.parameters?.docs,source:{originalSource:`{
175
194
  render: () => html\`<div class="flex flex-col gap-6">
176
195
  <div class="flex items-center gap-2">
177
196
  <strong>Custom sizing:</strong>
@@ -230,7 +249,7 @@ import{g as c,x as a}from"./iframe-CM6gBkqA.js";import{o as d}from"./style-map-B
230
249
  docs: {
231
250
  description: {
232
251
  story: \`
233
- - **Custom sizing** is available via the \\\`--Icon-size\\\` CSS property for precise control.
252
+ - **Custom sizing** is available via the \\\`--Icon-size\\\` CSS property for precise control.
234
253
  - You can create **filled icons** by setting the \\\`--Icon-fill: currentColor\\\` CSS property. Note that this works best with simple icons like "heart" or "star".
235
254
 
236
255
  - **RTL language support:** Directional icons can be flipped for right-to-left languages using Tailwind's \\\`rtl:-scale-x-100\\\` utility class. This ensures icons like panels, arrows, and navigation elements point in the correct direction.
@@ -242,4 +261,4 @@ import{g as c,x as a}from"./iframe-CM6gBkqA.js";import{o as d}from"./style-map-B
242
261
  }
243
262
  }
244
263
  }
245
- }`,...o.parameters?.docs?.source}}};const z=["Default","Sizes","GradientIcons","AdvancedUsage"];export{o as AdvancedUsage,s as Default,i as GradientIcons,n as Sizes,z as __namedExportsOrder,h as default};
264
+ }`,...l.parameters?.docs?.source}}};const z=["Default","Sizes","StrokeWidths","GradientIcons","AdvancedUsage"];export{l as AdvancedUsage,i as Default,r as GradientIcons,o as Sizes,a as StrokeWidths,z as __namedExportsOrder,v as default};