@brightspot/ui 1.10.0 → 3.0.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 (264) hide show
  1. package/dist/components/action-bar/ActionBar.d.ts +163 -0
  2. package/dist/components/action-bar/ActionBar.d.ts.map +1 -0
  3. package/dist/components/action-bar/ActionBar.js +479 -0
  4. package/dist/components/action-bar/ActionBar.js.map +1 -0
  5. package/dist/components/action-bar/ActionItem.d.ts +103 -0
  6. package/dist/components/action-bar/ActionItem.d.ts.map +1 -0
  7. package/dist/components/action-bar/ActionItem.js +237 -0
  8. package/dist/components/action-bar/ActionItem.js.map +1 -0
  9. package/dist/components/avatar/AvatarGroup.d.ts +3 -0
  10. package/dist/components/avatar/AvatarGroup.d.ts.map +1 -1
  11. package/dist/components/avatar/AvatarGroup.js +3 -0
  12. package/dist/components/avatar/AvatarGroup.js.map +1 -1
  13. package/dist/components/badge/Badge.d.ts +3 -1
  14. package/dist/components/badge/Badge.d.ts.map +1 -1
  15. package/dist/components/badge/Badge.js +2 -0
  16. package/dist/components/badge/Badge.js.map +1 -1
  17. package/dist/components/button-group/ButtonGroup.d.ts +138 -0
  18. package/dist/components/button-group/ButtonGroup.d.ts.map +1 -0
  19. package/dist/components/button-group/ButtonGroup.js +436 -0
  20. package/dist/components/button-group/ButtonGroup.js.map +1 -0
  21. package/dist/components/checkbox/Checkbox.d.ts +107 -0
  22. package/dist/components/checkbox/Checkbox.d.ts.map +1 -0
  23. package/dist/components/checkbox/Checkbox.js +224 -0
  24. package/dist/components/checkbox/Checkbox.js.map +1 -0
  25. package/dist/components/circular-progress/CircularProgress.d.ts +2 -2
  26. package/dist/components/circular-progress/CircularProgress.js +2 -2
  27. package/dist/components/copy-to-clipboard/CopyToClipboard.d.ts +7 -2
  28. package/dist/components/copy-to-clipboard/CopyToClipboard.d.ts.map +1 -1
  29. package/dist/components/copy-to-clipboard/CopyToClipboard.js +10 -5
  30. package/dist/components/copy-to-clipboard/CopyToClipboard.js.map +1 -1
  31. package/dist/components/dropdown/Dropdown.d.ts +8 -6
  32. package/dist/components/dropdown/Dropdown.d.ts.map +1 -1
  33. package/dist/components/dropdown/Dropdown.js +33 -22
  34. package/dist/components/dropdown/Dropdown.js.map +1 -1
  35. package/dist/components/dropdown/DropdownItem.d.ts +28 -7
  36. package/dist/components/dropdown/DropdownItem.d.ts.map +1 -1
  37. package/dist/components/dropdown/DropdownItem.js +41 -16
  38. package/dist/components/dropdown/DropdownItem.js.map +1 -1
  39. package/dist/components/dropdown/DropdownMenu.d.ts +6 -8
  40. package/dist/components/dropdown/DropdownMenu.d.ts.map +1 -1
  41. package/dist/components/dropdown/DropdownMenu.js +22 -37
  42. package/dist/components/dropdown/DropdownMenu.js.map +1 -1
  43. package/dist/components/empty-state/EmptyState.css +4 -0
  44. package/dist/components/empty-state/EmptyState.d.ts +103 -0
  45. package/dist/components/empty-state/EmptyState.d.ts.map +1 -0
  46. package/dist/components/empty-state/EmptyState.js +209 -0
  47. package/dist/components/empty-state/EmptyState.js.map +1 -0
  48. package/dist/components/icon/Icon.d.ts +23 -10
  49. package/dist/components/icon/Icon.d.ts.map +1 -1
  50. package/dist/components/icon/Icon.js +40 -9
  51. package/dist/components/icon/Icon.js.map +1 -1
  52. package/dist/components/icon-button/IconButton.d.ts +7 -21
  53. package/dist/components/icon-button/IconButton.d.ts.map +1 -1
  54. package/dist/components/icon-button/IconButton.js +12 -18
  55. package/dist/components/icon-button/IconButton.js.map +1 -1
  56. package/dist/components/linear-progress/LinearProgress.d.ts +2 -2
  57. package/dist/components/linear-progress/LinearProgress.js +2 -2
  58. package/dist/components/pagination/Pagination.d.ts +33 -4
  59. package/dist/components/pagination/Pagination.d.ts.map +1 -1
  60. package/dist/components/pagination/Pagination.js +88 -24
  61. package/dist/components/pagination/Pagination.js.map +1 -1
  62. package/dist/components/popover/Popover.d.ts +6 -0
  63. package/dist/components/popover/Popover.d.ts.map +1 -1
  64. package/dist/components/popover/Popover.js +6 -0
  65. package/dist/components/popover/Popover.js.map +1 -1
  66. package/dist/components/switch/Switch.d.ts +5 -1
  67. package/dist/components/switch/Switch.d.ts.map +1 -1
  68. package/dist/components/switch/Switch.js +10 -6
  69. package/dist/components/switch/Switch.js.map +1 -1
  70. package/dist/components/tabs/Tab.d.ts +108 -0
  71. package/dist/components/tabs/Tab.d.ts.map +1 -0
  72. package/dist/components/tabs/Tab.js +152 -0
  73. package/dist/components/tabs/Tab.js.map +1 -0
  74. package/dist/components/tabs/Tabs.d.ts +126 -0
  75. package/dist/components/tabs/Tabs.d.ts.map +1 -0
  76. package/dist/components/tabs/Tabs.js +390 -0
  77. package/dist/components/tabs/Tabs.js.map +1 -0
  78. package/dist/components/upload/Upload.d.ts +157 -0
  79. package/dist/components/upload/Upload.d.ts.map +1 -0
  80. package/dist/components/upload/Upload.js +538 -0
  81. package/dist/components/upload/Upload.js.map +1 -0
  82. package/dist/components/upload/UploadItem.d.ts +73 -0
  83. package/dist/components/upload/UploadItem.d.ts.map +1 -0
  84. package/dist/components/upload/UploadItem.js +180 -0
  85. package/dist/components/upload/UploadItem.js.map +1 -0
  86. package/dist/components/widget/Widget.d.ts +1 -6
  87. package/dist/components/widget/Widget.d.ts.map +1 -1
  88. package/dist/components/widget/Widget.js +1 -6
  89. package/dist/components/widget/Widget.js.map +1 -1
  90. package/dist/custom-elements.json +8445 -1989
  91. package/dist/storybook/assets/ActionBar.stories-DRIVI-W2.js +408 -0
  92. package/dist/storybook/assets/ActionItem.stories-5qlgxYNB.js +203 -0
  93. package/dist/storybook/assets/{Avatar.stories-B26mRkkZ.js → Avatar.stories-B3VkhRhP.js} +2 -2
  94. package/dist/storybook/assets/{AvatarGroup.stories-J7lVGsMY.js → AvatarGroup.stories-DOfim2NY.js} +5 -5
  95. package/dist/storybook/assets/{Badge.stories-BpTIV61M.js → Badge.stories-B04VNAcc.js} +2 -2
  96. package/dist/storybook/assets/{Button-Dg-fIrzT.js → Button-CILTcGRT.js} +1 -1
  97. package/dist/storybook/assets/{Button.stories-gPKRVbxk.js → Button.stories-CzWAltrX.js} +1 -1
  98. package/dist/storybook/assets/ButtonGroup.stories-1uAJf79o.js +588 -0
  99. package/dist/storybook/assets/{Celebrate.stories-DbY-sKEe.js → Celebrate.stories-BEqj0VnW.js} +7 -7
  100. package/dist/storybook/assets/Checkbox.stories-DXAGFS0M.js +141 -0
  101. package/dist/storybook/assets/{CircularProgress.stories-DeH5JYX_.js → CircularProgress.stories-D4rftw22.js} +7 -7
  102. package/dist/storybook/assets/{ClipboardMixin.stories-C-lZ4uuw.js → ClipboardMixin.stories-z2n2HWt1.js} +31 -28
  103. package/dist/storybook/assets/{Color-6BZIO3FS-Cu6zVIuG.js → Color-6BZIO3FS-C6KyMgZz.js} +1 -1
  104. package/dist/storybook/assets/{Colors.stories-D6XYMrTD.js → Colors.stories-CX-Ny3B_.js} +1 -1
  105. package/dist/storybook/assets/{CombinedEffects.stories-jFekKTYg.js → CombinedEffects.stories-BkqtiVHp.js} +33 -33
  106. package/dist/storybook/assets/{ComponentStatesMixin-g50hRCPT.js → ComponentStatesMixin-DLd0feFg.js} +1 -1
  107. package/dist/storybook/assets/{ComponentStatesMixin.stories-D3Q5pR38.js → ComponentStatesMixin.stories-D6Yc5Jgl.js} +3 -3
  108. package/dist/storybook/assets/{CopyToClipboard.stories-COZZ1VC2.js → CopyToClipboard.stories-B-omwDDJ.js} +16 -16
  109. package/dist/storybook/assets/{Debounce.stories-Dl10LAnx.js → Debounce.stories-B2vE5QIx.js} +9 -9
  110. package/dist/storybook/assets/{DocsRenderer-LL677BLK-CFLtMbUx.js → DocsRenderer-LL677BLK-DNUlRvMg.js} +3 -3
  111. package/dist/storybook/assets/{Dropdown.stories-Drwq-0Z2.js → Dropdown.stories-_bx4WDLr.js} +95 -68
  112. package/dist/storybook/assets/EmptyState.stories-CGMbmo77.js +318 -0
  113. package/dist/storybook/assets/{Events.stories-dODeR-g-.js → Events.stories-CkQYKcoZ.js} +1 -1
  114. package/dist/storybook/assets/{Heading.stories-CH7_-_q3.js → Heading.stories-BU5Do_od.js} +1 -1
  115. package/dist/storybook/assets/{HueRipple.stories-CH1Y739k.js → HueRipple.stories-Di2zmxo3.js} +11 -11
  116. package/dist/storybook/assets/Icon.stories-Dk4ZXhhJ.js +441 -0
  117. package/dist/storybook/assets/{IconButton.stories-DuzqvcnN.js → IconButton.stories-BSCiXPXa.js} +126 -146
  118. package/dist/storybook/assets/{LinearProgress.stories-C7IdnJd3.js → LinearProgress.stories-BGxPZuni.js} +7 -7
  119. package/dist/storybook/assets/Pagination.stories-z3Zq8b4f.js +252 -0
  120. package/dist/storybook/assets/{Popover.stories-Ca1F-wrI.js → Popover.stories-C9GxWcax.js} +33 -62
  121. package/dist/storybook/assets/ReadyMixin-CQw8N6P9.js +1 -0
  122. package/dist/storybook/assets/RovingTabindexMixin.stories-ByxLBi6m.js +192 -0
  123. package/dist/storybook/assets/{Rtc.stories-BVJc1vCA.js → Rtc.stories-DQJlCXWR.js} +3 -3
  124. package/dist/storybook/assets/ScrollShadow.stories-gjTIAbUA.js +17 -0
  125. package/dist/storybook/assets/{Switch.stories-BEEHP8mD.js → Switch.stories-BEeqPZiP.js} +21 -21
  126. package/dist/storybook/assets/Tab.stories-DpB3I-WZ.js +218 -0
  127. package/dist/storybook/assets/Tabs.stories-C6mG6Xi7.js +211 -0
  128. package/dist/storybook/assets/{Throttle.stories-C4xsYeAb.js → Throttle.stories-x9tpGeQh.js} +10 -10
  129. package/dist/storybook/assets/{Tooltip.stories-Ccm4AnSv.js → Tooltip.stories-CqcLqdmc.js} +2 -2
  130. package/dist/storybook/assets/Upload.stories-CMaAbCSH.js +447 -0
  131. package/dist/storybook/assets/UploadItem.stories-GB98L3JQ.js +167 -0
  132. package/dist/storybook/assets/{Welcome.stories-Degjk-M0.js → Welcome.stories-6h9cUZ7v.js} +1 -1
  133. package/dist/storybook/assets/{Widget.stories-OKnZ9sDs.js → Widget.stories-DiA1PR6Y.js} +13 -13
  134. package/dist/storybook/assets/{WithTooltip-65CFNBJE-CXL3TyJ2.js → WithTooltip-65CFNBJE-DTsHhBb_.js} +2 -2
  135. package/dist/storybook/assets/{blocks-DLdUKG_W.js → blocks-IXdn9TGW.js} +5 -5
  136. package/dist/storybook/assets/{formatter-EIJCOSYU-29NCxjfM.js → formatter-EIJCOSYU-Cum4J6N4.js} +1 -1
  137. package/dist/storybook/assets/if-defined-CgfCxQoV.js +1 -0
  138. package/dist/storybook/assets/iframe-BgFj0b5u.css +1 -0
  139. package/dist/storybook/assets/{iframe-BqvwP3or.js → iframe-Sf9RHZFu.js} +200 -200
  140. package/dist/storybook/assets/{index-BIyTv1BF.js → index-D605PvQH.js} +1 -1
  141. package/dist/storybook/assets/onFind-C41m8c_a.js +1 -0
  142. package/dist/storybook/assets/{onFind.stories-D64-QZqf.js → onFind.stories-MOTfGlJd.js} +53 -77
  143. package/dist/storybook/assets/{onRemove.stories-BICsnIJL.js → onRemove.stories-DX58Bf6f.js} +6 -10
  144. package/dist/storybook/assets/{onVisible.stories-DpDZP9_5.js → onVisible.stories-NNFeFeD8.js} +3 -3
  145. package/dist/storybook/assets/style-map-B99QiqCo.js +1 -0
  146. package/dist/storybook/assets/{syntaxhighlighter-ED5Y7EFY-Bz_DuQj8.js → syntaxhighlighter-ED5Y7EFY-BqQ-o9mS.js} +1 -1
  147. package/dist/storybook/box-illustration.svg +51 -0
  148. package/dist/storybook/cloud-illustration.svg +49 -0
  149. package/dist/storybook/docs-illustration.svg +92 -0
  150. package/dist/storybook/iframe.html +2 -2
  151. package/dist/storybook/index.json +1 -1
  152. package/dist/storybook/project.json +1 -1
  153. package/dist/tailwind-plugin-action-bar.d.ts +2 -0
  154. package/dist/tailwind-plugin-action-bar.d.ts.map +1 -0
  155. package/dist/tailwind-plugin-action-bar.js +120 -0
  156. package/dist/tailwind-plugin-action-bar.js.map +1 -0
  157. package/dist/tailwind-plugin-action-bar.ts +134 -0
  158. package/dist/tailwind-plugin-badge.js +5 -6
  159. package/dist/tailwind-plugin-badge.js.map +1 -1
  160. package/dist/tailwind-plugin-badge.ts +5 -6
  161. package/dist/tailwind-plugin-button-group.d.ts +2 -0
  162. package/dist/tailwind-plugin-button-group.d.ts.map +1 -0
  163. package/dist/tailwind-plugin-button-group.js +215 -0
  164. package/dist/tailwind-plugin-button-group.js.map +1 -0
  165. package/dist/tailwind-plugin-button-group.ts +238 -0
  166. package/dist/tailwind-plugin-button.js +2 -1
  167. package/dist/tailwind-plugin-button.js.map +1 -1
  168. package/dist/tailwind-plugin-button.ts +2 -1
  169. package/dist/tailwind-plugin-checkbox.d.ts +2 -0
  170. package/dist/tailwind-plugin-checkbox.d.ts.map +1 -0
  171. package/dist/tailwind-plugin-checkbox.js +246 -0
  172. package/dist/tailwind-plugin-checkbox.js.map +1 -0
  173. package/dist/tailwind-plugin-checkbox.ts +281 -0
  174. package/dist/tailwind-plugin-empty-state.d.ts +2 -0
  175. package/dist/tailwind-plugin-empty-state.d.ts.map +1 -0
  176. package/dist/tailwind-plugin-empty-state.js +113 -0
  177. package/dist/tailwind-plugin-empty-state.js.map +1 -0
  178. package/dist/tailwind-plugin-empty-state.ts +124 -0
  179. package/dist/tailwind-plugin-icon.js +122 -18
  180. package/dist/tailwind-plugin-icon.js.map +1 -1
  181. package/dist/tailwind-plugin-icon.ts +131 -18
  182. package/dist/tailwind-plugin-loader.js +3 -3
  183. package/dist/tailwind-plugin-loader.ts +3 -3
  184. package/dist/tailwind-plugin-pagination.js +13 -23
  185. package/dist/tailwind-plugin-pagination.js.map +1 -1
  186. package/dist/tailwind-plugin-pagination.ts +15 -25
  187. package/dist/tailwind-plugin-tabs.d.ts +2 -0
  188. package/dist/tailwind-plugin-tabs.d.ts.map +1 -0
  189. package/dist/tailwind-plugin-tabs.js +158 -0
  190. package/dist/tailwind-plugin-tabs.js.map +1 -0
  191. package/dist/tailwind-plugin-tabs.ts +169 -0
  192. package/dist/tailwind-plugin-upload.d.ts +2 -0
  193. package/dist/tailwind-plugin-upload.d.ts.map +1 -0
  194. package/dist/tailwind-plugin-upload.js +322 -0
  195. package/dist/tailwind-plugin-upload.js.map +1 -0
  196. package/dist/tailwind-plugin-upload.ts +362 -0
  197. package/dist/tailwind.config.d.ts.map +1 -1
  198. package/dist/tailwind.config.js +1 -0
  199. package/dist/tailwind.config.js.map +1 -1
  200. package/dist/tailwind.config.ts +1 -0
  201. package/dist/util/ClipboardMixin.d.ts +7 -2
  202. package/dist/util/ClipboardMixin.d.ts.map +1 -1
  203. package/dist/util/ClipboardMixin.js +15 -13
  204. package/dist/util/ClipboardMixin.js.map +1 -1
  205. package/dist/util/ComponentStatesMixin.d.ts +2 -1
  206. package/dist/util/ComponentStatesMixin.d.ts.map +1 -1
  207. package/dist/util/ComponentStatesMixin.js +4 -0
  208. package/dist/util/ComponentStatesMixin.js.map +1 -1
  209. package/dist/util/EventEmitterMixin.d.ts +58 -4
  210. package/dist/util/EventEmitterMixin.d.ts.map +1 -1
  211. package/dist/util/EventEmitterMixin.js +5 -2
  212. package/dist/util/EventEmitterMixin.js.map +1 -1
  213. package/dist/util/ProgressMixin.d.ts +9 -2
  214. package/dist/util/ProgressMixin.d.ts.map +1 -1
  215. package/dist/util/ProgressMixin.js +22 -18
  216. package/dist/util/ProgressMixin.js.map +1 -1
  217. package/dist/util/RovingTabindexMixin.d.ts +46 -0
  218. package/dist/util/RovingTabindexMixin.d.ts.map +1 -0
  219. package/dist/util/RovingTabindexMixin.js +83 -0
  220. package/dist/util/RovingTabindexMixin.js.map +1 -0
  221. package/dist/util/TetherLayout.d.ts.map +1 -1
  222. package/dist/util/TetherLayout.js +3 -0
  223. package/dist/util/TetherLayout.js.map +1 -1
  224. package/dist/util/TooltipMixin.d.ts.map +1 -1
  225. package/dist/util/TooltipMixin.js +5 -4
  226. package/dist/util/TooltipMixin.js.map +1 -1
  227. package/dist/util/upload.d.ts +53 -0
  228. package/dist/util/upload.d.ts.map +1 -0
  229. package/dist/util/upload.js +113 -0
  230. package/dist/util/upload.js.map +1 -0
  231. package/docs/components/ActionBar.md +77 -0
  232. package/docs/components/ActionItem.md +101 -0
  233. package/docs/components/Avatar.md +42 -12
  234. package/docs/components/AvatarGroup.md +4 -3
  235. package/docs/components/Badge.md +13 -1
  236. package/docs/components/ButtonGroup.md +91 -0
  237. package/docs/components/Checkbox.md +91 -0
  238. package/docs/components/CircularProgress.md +41 -12
  239. package/docs/components/CopyToClipboard.md +13 -11
  240. package/docs/components/Dropdown.md +51 -26
  241. package/docs/components/DropdownItem.md +44 -27
  242. package/docs/components/DropdownMenu.md +14 -14
  243. package/docs/components/EmptyState.md +75 -0
  244. package/docs/components/Icon.md +22 -14
  245. package/docs/components/IconButton.md +46 -21
  246. package/docs/components/LinearProgress.md +43 -4
  247. package/docs/components/Pagination.md +38 -34
  248. package/docs/components/Popover.md +16 -0
  249. package/docs/components/README.md +9 -0
  250. package/docs/components/Switch.md +21 -16
  251. package/docs/components/Tab.md +79 -0
  252. package/docs/components/Tabs.md +85 -0
  253. package/docs/components/Upload.md +112 -0
  254. package/docs/components/UploadItem.md +61 -0
  255. package/docs/components/Widget.md +12 -6
  256. package/package.json +4 -2
  257. package/dist/storybook/assets/Icon.stories-CPjM-jTU.js +0 -264
  258. package/dist/storybook/assets/Pagination.stories-C4cLjS_9.js +0 -272
  259. package/dist/storybook/assets/ReadyMixin-DNZ5dCsZ.js +0 -1
  260. package/dist/storybook/assets/ScrollShadow.stories-C3W5o9ZW.js +0 -17
  261. package/dist/storybook/assets/if-defined-BZFPaJjl.js +0 -1
  262. package/dist/storybook/assets/iframe-C5bIZMJ5.css +0 -1
  263. package/dist/storybook/assets/onFind-1l3EPW-I.js +0 -1
  264. package/dist/storybook/assets/style-map-CBrSnxRe.js +0 -1
@@ -0,0 +1,209 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { LitElement, html } from 'lit';
8
+ import { property } from 'lit/decorators.js';
9
+ import { EventEmitterMixin } from '../../util/EventEmitterMixin.js';
10
+ import onFind from '../../util/onFind.js';
11
+ import { ReadyMixin } from '../../util/ReadyMixin.js';
12
+ import '../button-group/ButtonGroup.js';
13
+ import './EmptyState.css';
14
+ const HEADING_LEVEL_BY_SIZE = {
15
+ sm: 5,
16
+ md: 4,
17
+ lg: 3,
18
+ };
19
+ const ICON_SIZE_BY_EMPTY_STATE_SIZE = {
20
+ sm: 'md',
21
+ md: 'lg',
22
+ lg: 'xl',
23
+ };
24
+ const MANAGED_CLASSES = new Set([
25
+ 'btu-empty-state',
26
+ 'btu-empty-state-sm',
27
+ 'btu-empty-state-md',
28
+ 'btu-empty-state-lg',
29
+ ]);
30
+ const isHeadingLevel = (n) => typeof n === 'number' && Number.isInteger(n) && n >= 1 && n <= 6;
31
+ /**
32
+ * An empty state component for displaying placeholder content when no data is available.
33
+ *
34
+ * Supports a graphic slot for icons/images/pictures/SVGs, a heading, a description,
35
+ * and an actions slot for buttons or links. Available in three sizes (sm, md, lg)
36
+ * with semantic heading levels.
37
+ *
38
+ * ## Architecture: Light DOM + Pseudo-Slots
39
+ *
40
+ * This component uses **Light DOM** (no Shadow Root) with pseudo-slots:
41
+ * - User-provided children are physically moved into internal containers
42
+ * - Movement is based on `slot` attributes
43
+ * - The `onFind` utility detects and redistributes newly-added children (one-time per element)
44
+ *
45
+ * ### Node Redistribution Rules
46
+ * - `slot="graphic"` - Moved to graphic container (icon, image, picture, or SVG)
47
+ * - `slot="actions"` - Moved to an internal `btu-button-group` (variant="spaced")
48
+ *
49
+ * ### Actions composition
50
+ *
51
+ * The actions container IS a `btu-button-group` with `variant="spaced"`. Its `size`
52
+ * is mapped from the empty-state `size` prop (sm→small, md→medium, lg→large) so all
53
+ * child `btu-button` / `btu-icon-button` elements get consistent sizing and group
54
+ * semantics (`role="group"`, roving tabindex, disabled propagation) for free.
55
+ *
56
+ * @element btu-empty-state
57
+ *
58
+ * @fires {CustomEvent} btu-empty-state-ready - Fired after first render and initialization
59
+ * @fires {CustomEvent} btu-button-group-ready - Bubbles from the internal actions button-group
60
+ *
61
+ * @cssprop --empty-state-max-width - Maximum width of the content block (default: min(75cqw, 360px))
62
+ * @cssprop --empty-state-color-heading - Heading text color (default: gray-900)
63
+ * @cssprop --empty-state-color-description - Description text color (default: gray-500)
64
+ *
65
+ * @slot graphic - Pseudo-slot for icon, image, picture, or SVG graphic.
66
+ * When the child is a `btu-icon`, the component overrides its `size` attribute
67
+ * based on the empty-state `size` prop (sm→md, md→lg, lg→xl). Use an `img`,
68
+ * `picture`, or inline `svg` for full size control.
69
+ * @slot actions - Pseudo-slot for action buttons. Children are moved into an internal
70
+ * `btu-button-group` (variant="spaced"), so size and disabled state are managed
71
+ * by the group.
72
+ *
73
+ * @example
74
+ * ```html
75
+ * <btu-empty-state heading="No results found" description="Try adjusting your search criteria.">
76
+ * <btu-icon slot="graphic" symbol="search" size="xl"></btu-icon>
77
+ * <button slot="actions">Clear filters</button>
78
+ * </btu-empty-state>
79
+ * ```
80
+ */
81
+ export default class EmptyState extends EventEmitterMixin(ReadyMixin(LitElement)) {
82
+ constructor() {
83
+ super(...arguments);
84
+ /**
85
+ * Heading text displayed in the empty state.
86
+ * @attr
87
+ */
88
+ this.heading = '';
89
+ /**
90
+ * Size variant of the empty state. Affects spacing, description text, graphic size,
91
+ * and — when `heading-level` is unset — the default heading level (sm→5, md→4, lg→3).
92
+ * @attr
93
+ */
94
+ this.size = 'md';
95
+ this.initialClasses = [];
96
+ }
97
+ createRenderRoot() {
98
+ return this;
99
+ }
100
+ connectedCallback() {
101
+ super.connectedCallback();
102
+ if (this.className) {
103
+ this.initialClasses = this.className.split(' ').filter(c => c.trim() && !MANAGED_CLASSES.has(c));
104
+ }
105
+ }
106
+ willUpdate(changedProperties) {
107
+ super.willUpdate(changedProperties);
108
+ const classes = [...this.initialClasses, 'btu-empty-state', `btu-empty-state-${this.size}`];
109
+ this.className = classes.filter(Boolean).join(' ');
110
+ if (changedProperties.has('headingLevel') && this.headingLevel != null && !isHeadingLevel(this.headingLevel)) {
111
+ console.warn(`EmptyState: Invalid heading-level="${this.headingLevel}". Valid values are 1-6. Falling back to size-based default.`);
112
+ }
113
+ }
114
+ firstUpdated() {
115
+ const graphicContainer = this.querySelector('.btu-empty-state-graphic');
116
+ const actionsContainer = this.querySelector('.btu-empty-state-actions');
117
+ if (graphicContainer && actionsContainer) {
118
+ onFind(this, ':scope > :not([data-empty-state-internal])', el => {
119
+ const slot = el.getAttribute('slot');
120
+ if (slot === 'graphic') {
121
+ graphicContainer.appendChild(el);
122
+ if (el.tagName === 'BTU-ICON') {
123
+ this.syncGraphicIconSize();
124
+ }
125
+ }
126
+ else if (slot === 'actions') {
127
+ actionsContainer.appendChild(el);
128
+ }
129
+ else if (slot) {
130
+ console.warn(`EmptyState: Unrecognized slot="${slot}". Valid slots are "graphic" and "actions".`, el);
131
+ }
132
+ else {
133
+ console.warn('EmptyState: Child element has no slot attribute. Use slot="graphic" or slot="actions".', el);
134
+ }
135
+ });
136
+ }
137
+ this.emit('btu-empty-state-ready');
138
+ }
139
+ updated(changedProperties) {
140
+ super.updated(changedProperties);
141
+ if (changedProperties.has('size')) {
142
+ this.syncGraphicIconSize();
143
+ }
144
+ }
145
+ syncGraphicIconSize() {
146
+ const icon = this.querySelector('.btu-empty-state-graphic btu-icon');
147
+ if (icon) {
148
+ icon.setAttribute('size', ICON_SIZE_BY_EMPTY_STATE_SIZE[this.size]);
149
+ }
150
+ }
151
+ resolveHeadingLevel() {
152
+ return isHeadingLevel(this.headingLevel) ? this.headingLevel : HEADING_LEVEL_BY_SIZE[this.size];
153
+ }
154
+ renderHeading(level, className) {
155
+ if (!this.heading)
156
+ return '';
157
+ switch (level) {
158
+ case 1:
159
+ return html `<h1 class="${className}" data-empty-state-internal>${this.heading}</h1>`;
160
+ case 2:
161
+ return html `<h2 class="${className}" data-empty-state-internal>${this.heading}</h2>`;
162
+ case 3:
163
+ return html `<h3 class="${className}" data-empty-state-internal>${this.heading}</h3>`;
164
+ case 4:
165
+ return html `<h4 class="${className}" data-empty-state-internal>${this.heading}</h4>`;
166
+ case 5:
167
+ return html `<h5 class="${className}" data-empty-state-internal>${this.heading}</h5>`;
168
+ case 6:
169
+ return html `<h6 class="${className}" data-empty-state-internal>${this.heading}</h6>`;
170
+ }
171
+ }
172
+ render() {
173
+ const level = this.resolveHeadingLevel();
174
+ const headingClass = `btu-empty-state-title btu-heading-${level}`;
175
+ return html `
176
+ <div class="btu-empty-state-graphic" data-empty-state-internal></div>
177
+ <div class="btu-empty-state-content" data-empty-state-internal>
178
+ ${this.renderHeading(level, headingClass)}
179
+ ${this.description
180
+ ? html `<p class="btu-empty-state-description" data-empty-state-internal>${this.description}</p>`
181
+ : ''}
182
+ </div>
183
+ <btu-button-group
184
+ class="btu-empty-state-actions"
185
+ variant="spaced"
186
+ size="${this.size}"
187
+ data-empty-state-internal
188
+ ></btu-button-group>
189
+ `;
190
+ }
191
+ }
192
+ __decorate([
193
+ property({ type: String })
194
+ ], EmptyState.prototype, "heading", void 0);
195
+ __decorate([
196
+ property({ type: String })
197
+ ], EmptyState.prototype, "description", void 0);
198
+ __decorate([
199
+ property({ type: String })
200
+ ], EmptyState.prototype, "size", void 0);
201
+ __decorate([
202
+ property({ type: Number, attribute: 'heading-level' })
203
+ ], EmptyState.prototype, "headingLevel", void 0);
204
+ // Register custom element with guard to prevent double registration
205
+ // (common with yarn link, HMR, or webpack bundle duplication)
206
+ if (!customElements.get('btu-empty-state')) {
207
+ customElements.define('btu-empty-state', EmptyState);
208
+ }
209
+ //# sourceMappingURL=EmptyState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyState.js","sourceRoot":"","sources":["../../../src/components/empty-state/EmptyState.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
- import { LitElement } from 'lit';
1
+ import { LitElement, type PropertyValues } from 'lit';
2
+ import type { ThemeColors } from '../../tailwind-plugin-theme.js';
3
+ export type IconGradientColor = Exclude<ThemeColors, 'black' | 'white'>;
2
4
  export interface IconProps {
3
5
  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
4
6
  symbol?: string;
5
- gradient?: 'ai' | 'error' | 'gray' | 'primary' | 'purple' | 'rose' | 'success' | 'teal' | 'warning';
7
+ gradient?: IconGradientColor;
8
+ emphasize?: boolean | 'pulse';
6
9
  }
7
10
  declare const Icon_base: (new (...args: any[]) => import("../../util/EventEmitterMixin.js").EventEmitterMixinInterface) & (new (...args: any[]) => import("../../util/ReadyMixin.js").ReadyMixinInterface) & typeof LitElement;
8
11
  /**
@@ -16,10 +19,10 @@ declare const Icon_base: (new (...args: any[]) => import("../../util/EventEmitte
16
19
  *
17
20
  * @fires {CustomEvent} btu-icon-ready - Fired after first render and initialization
18
21
  *
19
- * @cssprop --Icon-size - Icon size (overrides size default)
20
- * @cssprop --Icon-stroke-width - SVG stroke width as a unitless number in viewBox units; scales visually with icon size (default: 2)
21
- * @cssprop --Icon-fill - Icon fill color for filled icons (e.g., "currentColor")
22
- * @cssprop --Icon-svg - SVG data URI for mask-based rendering
22
+ * @cssprop --icon-size - Icon size (overrides size default)
23
+ * @cssprop --icon-stroke-width - SVG stroke width as a unitless number in viewBox units; scales visually with icon size (default: 2)
24
+ * @cssprop --icon-fill - Icon fill color for filled icons (e.g., "currentColor")
25
+ * @cssprop --icon-svg - SVG data URI for mask-based rendering
23
26
  *
24
27
  * @example
25
28
  * ```html
@@ -30,10 +33,10 @@ declare const Icon_base: (new (...args: any[]) => import("../../util/EventEmitte
30
33
  * <btu-icon symbol="star" size="lg" gradient="primary"></btu-icon>
31
34
  *
32
35
  * <!-- Custom size via CSS -->
33
- * <btu-icon symbol="check" style="--Icon-size: 3rem"></btu-icon>
36
+ * <btu-icon symbol="check" style="--icon-size: 3rem"></btu-icon>
34
37
  *
35
38
  * <!-- Filled icon via CSS (advanced usage) -->
36
- * <btu-icon symbol="heart" style="--Icon-fill: currentColor"></btu-icon>
39
+ * <btu-icon symbol="heart" style="--icon-fill: currentColor"></btu-icon>
37
40
  * ```
38
41
  *
39
42
  * @example
@@ -68,12 +71,22 @@ export default class Icon extends Icon_base {
68
71
  * When set, icon displays with gradient. When undefined, icon inherits parent text color.
69
72
  * @attr
70
73
  */
71
- gradient?: 'ai' | 'error' | 'gray' | 'primary' | 'purple' | 'rose' | 'success' | 'teal' | 'warning';
74
+ gradient?: IconGradientColor;
75
+ /**
76
+ * Emphasize mode — renders a tonal circle with ring behind the icon.
77
+ * Colors are derived from `currentColor` via oklch relative color syntax.
78
+ * Defaults to primary; override with Tailwind `text-*` classes or `style="color: ..."`.
79
+ * Set as a boolean for the static circle, or `"pulse"` for a one-shot ring animation.
80
+ * Not intended for use with `gradient` — the two features target
81
+ * conflicting rendering modes.
82
+ * @attr
83
+ */
84
+ emphasize?: boolean | 'pulse';
72
85
  /** @internal */
73
86
  private initialClasses;
74
87
  connectedCallback(): void;
75
88
  createRenderRoot(): this;
76
- willUpdate(): void;
89
+ willUpdate(changedProperties: PropertyValues): void;
77
90
  firstUpdated(): void;
78
91
  /**
79
92
  * Escape HTML special characters to prevent XSS attacks in comments.
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../src/components/icon/Icon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAA;AAWtC,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACvC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAA;CACpG;;AASD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,SAAyC;IACzE,MAAM,KAAK,OAAO,WAEjB;IAED;;;;;;;;OAQG;IAEH,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAO;IAE7C;;;;OAIG;IAEH,MAAM,EAAE,MAAM,CAAkB;IAEhC;;;;OAIG;IAEH,QAAQ,CAAC,EAAE,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAA;IAEnG,gBAAgB;IAChB,OAAO,CAAC,cAAc,CAAe;IAErC,iBAAiB,IAAI,IAAI;IAQzB,gBAAgB;IAIhB,UAAU,IAAI,IAAI;IAclB,YAAY,IAAI,IAAI;IAIpB;;;OAGG;IACH,OAAO,CAAC,UAAU;IASlB,MAAM;CA+CP;AAQD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,IAAI,CAAA;KACjB;CACF"}
1
+ {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../src/components/icon/Icon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAQ,MAAM,KAAK,CAAA;AAM3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAMjE,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,CAAA;AAEvE,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACvC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAC5B,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;CAC9B;;AASD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,SAAyC;IACzE,MAAM,KAAK,OAAO,WAEjB;IAED;;;;;;;;OAQG;IAEH,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAO;IAE7C;;;;OAIG;IAEH,MAAM,EAAE,MAAM,CAAkB;IAEhC;;;;OAIG;IAEH,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAE5B;;;;;;;;OAQG;IAgBH,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IAE7B,gBAAgB;IAChB,OAAO,CAAC,cAAc,CAAe;IAErC,iBAAiB,IAAI,IAAI;IAQzB,gBAAgB;IAIhB,UAAU,CAAC,iBAAiB,EAAE,cAAc,GAAG,IAAI;IA6BnD,YAAY,IAAI,IAAI;IAIpB;;;OAGG;IACH,OAAO,CAAC,UAAU;IASlB,MAAM;CA+CP;AAQD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,IAAI,CAAA;KACjB;CACF"}
@@ -31,10 +31,10 @@ for (const [key, value] of Object.entries(LucideExports)) {
31
31
  *
32
32
  * @fires {CustomEvent} btu-icon-ready - Fired after first render and initialization
33
33
  *
34
- * @cssprop --Icon-size - Icon size (overrides size default)
35
- * @cssprop --Icon-stroke-width - SVG stroke width as a unitless number in viewBox units; scales visually with icon size (default: 2)
36
- * @cssprop --Icon-fill - Icon fill color for filled icons (e.g., "currentColor")
37
- * @cssprop --Icon-svg - SVG data URI for mask-based rendering
34
+ * @cssprop --icon-size - Icon size (overrides size default)
35
+ * @cssprop --icon-stroke-width - SVG stroke width as a unitless number in viewBox units; scales visually with icon size (default: 2)
36
+ * @cssprop --icon-fill - Icon fill color for filled icons (e.g., "currentColor")
37
+ * @cssprop --icon-svg - SVG data URI for mask-based rendering
38
38
  *
39
39
  * @example
40
40
  * ```html
@@ -45,10 +45,10 @@ for (const [key, value] of Object.entries(LucideExports)) {
45
45
  * <btu-icon symbol="star" size="lg" gradient="primary"></btu-icon>
46
46
  *
47
47
  * <!-- Custom size via CSS -->
48
- * <btu-icon symbol="check" style="--Icon-size: 3rem"></btu-icon>
48
+ * <btu-icon symbol="check" style="--icon-size: 3rem"></btu-icon>
49
49
  *
50
50
  * <!-- Filled icon via CSS (advanced usage) -->
51
- * <btu-icon symbol="heart" style="--Icon-fill: currentColor"></btu-icon>
51
+ * <btu-icon symbol="heart" style="--icon-fill: currentColor"></btu-icon>
52
52
  * ```
53
53
  *
54
54
  * @example
@@ -95,7 +95,7 @@ export default class Icon extends EventEmitterMixin(ReadyMixin(LitElement)) {
95
95
  createRenderRoot() {
96
96
  return this;
97
97
  }
98
- willUpdate() {
98
+ willUpdate(changedProperties) {
99
99
  const classes = [...this.initialClasses, 'btu-icon', `btu-icon-${this.size}`];
100
100
  // Add gradient class if gradient is set
101
101
  if (this.gradient) {
@@ -104,6 +104,16 @@ export default class Icon extends EventEmitterMixin(ReadyMixin(LitElement)) {
104
104
  classes.push(`btu-icon-gradient-${this.gradient}`);
105
105
  classes.push(`btu-icon-via-mask-${kebabName}`);
106
106
  }
107
+ // Warn once when the conflict is introduced, not on every re-render
108
+ if (this.emphasize && this.gradient && (changedProperties.has('emphasize') || changedProperties.has('gradient'))) {
109
+ console.warn('[btu-icon] "emphasize" and "gradient" target conflicting rendering modes. "gradient" takes precedence.', this);
110
+ }
111
+ if (this.emphasize && !this.gradient) {
112
+ classes.push('btu-icon-emphasize');
113
+ if (this.emphasize === 'pulse') {
114
+ classes.push('btu-icon-emphasize-pulse');
115
+ }
116
+ }
107
117
  this.className = classes.filter(Boolean).join(' ');
108
118
  }
109
119
  firstUpdated() {
@@ -151,8 +161,8 @@ export default class Icon extends EventEmitterMixin(ReadyMixin(LitElement)) {
151
161
  return html `${unsafeHTML(debugComment)}${unsafeSVG(maskedSvg)}`;
152
162
  }
153
163
  // Non-gradient path: render SVG with sizing
154
- const fillAttr = this.style.getPropertyValue('--Icon-fill') ? `fill="var(--Icon-fill)"` : ''; // Optional fill
155
- const styledSvg = decodedSvg.replace('<svg', `<svg ${fillAttr} style="width: var(--Icon-size); height: var(--Icon-size); display: inline-block; stroke-width: var(--Icon-stroke-width, 2);"`);
164
+ const fillAttr = this.style.getPropertyValue('--icon-fill') ? `fill="var(--icon-fill)"` : ''; // Optional fill
165
+ const styledSvg = decodedSvg.replace('<svg', `<svg ${fillAttr} style="width: var(--icon-size); height: var(--icon-size); display: inline-block; stroke-width: var(--icon-stroke-width, 2);"`);
156
166
  return html `${unsafeHTML(debugComment)}${unsafeSVG(styledSvg)}`;
157
167
  }
158
168
  }
@@ -165,6 +175,27 @@ __decorate([
165
175
  __decorate([
166
176
  property({ type: String })
167
177
  ], Icon.prototype, "gradient", void 0);
178
+ __decorate([
179
+ property({
180
+ converter: {
181
+ fromAttribute(value) {
182
+ if (value === null)
183
+ return undefined;
184
+ if (value === 'pulse')
185
+ return 'pulse';
186
+ return true;
187
+ },
188
+ toAttribute(value) {
189
+ if (!value)
190
+ return null;
191
+ if (value === 'pulse')
192
+ return 'pulse';
193
+ return '';
194
+ },
195
+ },
196
+ reflect: true,
197
+ })
198
+ ], Icon.prototype, "emphasize", void 0);
168
199
  // Register custom element with guard to prevent double registration
169
200
  // (common with yarn link, HMR, or webpack bundle duplication)
170
201
  if (!customElements.get('btu-icon')) {
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../src/components/icon/Icon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../src/components/icon/Icon.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAuB,IAAI,EAAE,MAAM,KAAK,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AACxD,OAAO,KAAK,aAAa,MAAM,sCAAsC,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAW3C,MAAM,IAAI,GAA2B,EAAE,CAAA;AACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;IACzD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAA3E;;QAKE;;;;;;;;WAQG;QAEH,SAAI,GAAqC,IAAI,CAAA;QAE7C;;;;WAIG;QAEH,WAAM,GAAW,eAAe,CAAA;QAoChC,gBAAgB;QACR,mBAAc,GAAa,EAAE,CAAA;IA2GvC,CAAC;IAtKC,MAAM,KAAK,OAAO;QAChB,OAAO,UAAU,CAAA;IACnB,CAAC;IA2DD,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAA;QACzB,4CAA4C;QAC5C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QACvE,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAA;IACb,CAAC;IAED,UAAU,CAAC,iBAAiC;QAC1C,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAE7E,wCAAwC;QACxC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAA;YACzF,MAAM,SAAS,GAAG,aAAa,CAAC,QAAkB,CAAC,CAAA;YACnD,OAAO,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;YAClD,OAAO,CAAC,IAAI,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAA;QAChD,CAAC;QAED,oEAAoE;QACpE,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YACjH,OAAO,CAAC,IAAI,CACV,wGAAwG,EACxG,IAAI,CACL,CAAA;QACH,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;YAClC,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpD,CAAC;IAED,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAC7B,CAAC;IAED;;;OAGG;IACK,UAAU,CAAC,IAAY;QAC7B,OAAO,IAAI;aACR,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;aACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;aACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;aACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;aACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC3B,CAAC;IAED,MAAM;QACJ,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAA;QACzF,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC9B,IAAI,UAAU,GAAG,IAAI,EAAE,OAAO,IAAI,EAAE,CAAA;QACpC,IAAI,SAAS,GAAG,KAAK,CAAA;QAErB,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,+CAA+C;YAC/C,SAAS,GAAG,IAAI,CAAA;YAChB,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;YAC7C,UAAU,GAAG,YAAY,EAAE,OAAO,IAAI,EAAE,CAAA;YAExC,uCAAuC;YACvC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAA,GAAG,UAAU,CACtB,wBAAwB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,qCAAqC,CAC1F,EAAE,CAAA;YACL,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAA;QAEjD,oDAAoD;QACpD,MAAM,YAAY,GAAG,SAAS;YAC5B,CAAC,CAAC,wBAAwB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,yGAAyG;YAC/J,CAAC,CAAC,EAAE,CAAA;QAEN,8EAA8E;QAC9E,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,aAAa,CAAC,QAAkB,CAAC,CAAA;YAEnD,gDAAgD;YAChD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,SAAS,GAAG,CAAC,CAAA;YAE1D,kEAAkE;YAClE,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;YAChD,OAAO,IAAI,CAAA,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,CAAA;QACjE,CAAC;QAED,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAA,CAAC,gBAAgB;QAC7G,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAClC,MAAM,EACN,QAAQ,QAAQ,+HAA+H,CAChJ,CAAA;QACD,OAAO,IAAI,CAAA,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,CAAA;IACjE,CAAC;CACF;AAxJC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kCACkB;AAQ7C;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oCACK;AAQhC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sCACC;AA0B5B;IAfC,QAAQ,CAAC;QACR,SAAS,EAAE;YACT,aAAa,CAAC,KAAoB;gBAChC,IAAI,KAAK,KAAK,IAAI;oBAAE,OAAO,SAAS,CAAA;gBACpC,IAAI,KAAK,KAAK,OAAO;oBAAE,OAAO,OAAO,CAAA;gBACrC,OAAO,IAAI,CAAA;YACb,CAAC;YACD,WAAW,CAAC,KAAoC;gBAC9C,IAAI,CAAC,KAAK;oBAAE,OAAO,IAAI,CAAA;gBACvB,IAAI,KAAK,KAAK,OAAO;oBAAE,OAAO,OAAO,CAAA;gBACrC,OAAO,EAAE,CAAA;YACX,CAAC;SACF;QACD,OAAO,EAAE,IAAI;KACd,CAAC;uCAC2B;AAgH/B,oEAAoE;AACpE,8DAA8D;AAC9D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;IACpC,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;AACzC,CAAC"}
@@ -1,21 +1,7 @@
1
1
  import { LitElement } from 'lit';
2
2
  import '../icon/Icon.js';
3
3
  export type IconButtonType = 'primary' | 'primary-clear' | 'primary-stroke' | 'secondary' | 'secondary-clear' | 'secondary-stroke' | 'tertiary' | 'tertiary-clear' | 'tertiary-stroke';
4
- declare const SIZE_MAP: {
5
- readonly small: {
6
- readonly buttonSize: "sm";
7
- readonly iconSize: "sm";
8
- };
9
- readonly medium: {
10
- readonly buttonSize: "md";
11
- readonly iconSize: "md";
12
- };
13
- readonly large: {
14
- readonly buttonSize: "lg";
15
- readonly iconSize: "lg";
16
- };
17
- };
18
- export type IconButtonSize = keyof typeof SIZE_MAP;
4
+ export type IconButtonSize = 'sm' | 'md' | 'lg';
19
5
  declare const IconButton_base: (new (...args: any[]) => import("../../util/TooltipMixin.js").TooltipMixinInterface) & (new (...args: any[]) => import("../../util/EventEmitterMixin.js").EventEmitterMixinInterface) & (new (...args: any[]) => import("../../util/ReadyMixin.js").ReadyMixinInterface) & typeof LitElement;
20
6
  /**
21
7
  * Surfaces the different actions someone can perform in an interface where space is limited.
@@ -30,9 +16,9 @@ declare const IconButton_base: (new (...args: any[]) => import("../../util/Toolt
30
16
  *
31
17
  * @example
32
18
  * ```html
33
- * <btu-icon-button icon-symbol="trash-2" tooltip="Delete" aria-label="Delete item"></btu-icon-button>
34
- * <btu-icon-button icon-symbol="pencil" type="secondary" size="small" aria-label="Edit"></btu-icon-button>
35
- * <btu-icon-button icon-symbol="x" type="primary" destructive aria-label="Remove"></btu-icon-button>
19
+ * <btu-icon-button symbol="trash-2" tooltip="Delete" aria-label="Delete item"></btu-icon-button>
20
+ * <btu-icon-button symbol="pencil" type="secondary" size="sm" aria-label="Edit"></btu-icon-button>
21
+ * <btu-icon-button symbol="x" type="primary" destructive aria-label="Remove"></btu-icon-button>
36
22
  * ```
37
23
  */
38
24
  export default class IconButton extends IconButton_base {
@@ -47,10 +33,10 @@ export default class IconButton extends IconButton_base {
47
33
  */
48
34
  type: IconButtonType;
49
35
  /**
50
- * Lucide icon name.
51
- * @attr icon-symbol
36
+ * Lucide icon symbol.
37
+ * @attr
52
38
  */
53
- iconSymbol: string | undefined;
39
+ symbol: string | undefined;
54
40
  /**
55
41
  * Specifies the size of icon-button.
56
42
  * @attr
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/components/icon-button/IconButton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAA;AAMtC,OAAO,iBAAiB,CAAA;AAExB,MAAM,MAAM,cAAc,GACtB,SAAS,GACT,eAAe,GACf,gBAAgB,GAChB,WAAW,GACX,iBAAiB,GACjB,kBAAkB,GAClB,UAAU,GACV,gBAAgB,GAChB,iBAAiB,CAAA;AAerB,QAAA,MAAM,QAAQ;;;;;;;;;;;;;CAIJ,CAAA;AAEV,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,QAAQ,CAAA;;AAElD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,eAAuD;IAC7F;;;OAGG;IAEH,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IAExB;;;OAGG;IAEH,IAAI,EAAE,cAAc,CAAY;IAEhC;;;OAGG;IAEH,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAE9B;;;OAGG;IAEH,IAAI,EAAE,cAAc,CAAW;IAE/B;;;;OAIG;IAEH,WAAW,UAAQ;IAEnB;;;OAGG;IAEH,QAAQ,UAAQ;IAEhB,gBAAgB;IAIhB,UAAU,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAc3E,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAQxE,OAAO,CAAC,kBAAkB;IAqB1B,YAAY,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAW7E,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,mBAAmB;IAW3B,MAAM;CAiBP;AAMD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,UAAU,CAAA;KAC9B;CACF"}
1
+ {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/components/icon-button/IconButton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAA;AAMtC,OAAO,iBAAiB,CAAA;AAExB,MAAM,MAAM,cAAc,GACtB,SAAS,GACT,eAAe,GACf,gBAAgB,GAChB,WAAW,GACX,iBAAiB,GACjB,kBAAkB,GAClB,UAAU,GACV,gBAAgB,GAChB,iBAAiB,CAAA;AAerB,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;;AAI/C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,eAAuD;IAC7F;;;OAGG;IAEH,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IAExB;;;OAGG;IAEH,IAAI,EAAE,cAAc,CAAY;IAEhC;;;OAGG;IAEH,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAE1B;;;OAGG;IAEH,IAAI,EAAE,cAAc,CAAO;IAE3B;;;;OAIG;IAEH,WAAW,UAAQ;IAEnB;;;OAGG;IAEH,QAAQ,UAAQ;IAEhB,gBAAgB;IAIhB,UAAU,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAc3E,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAQxE,OAAO,CAAC,kBAAkB;IAqB1B,YAAY,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAW7E,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,mBAAmB;IAU3B,MAAM;CAgBP;AAMD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,UAAU,CAAA;KAC9B;CACF"}
@@ -23,11 +23,7 @@ const TYPE_COLOR_CLASSES = {
23
23
  'tertiary-clear': ['btu-button-teal', 'btu-button-fill-none'],
24
24
  'tertiary-stroke': ['btu-button-teal', 'btu-button-fill-none', 'btu-button-outline'],
25
25
  };
26
- const SIZE_MAP = {
27
- small: { buttonSize: 'sm', iconSize: 'sm' },
28
- medium: { buttonSize: 'md', iconSize: 'md' },
29
- large: { buttonSize: 'lg', iconSize: 'lg' },
30
- };
26
+ const VALID_SIZES = new Set(['sm', 'md', 'lg']);
31
27
  /**
32
28
  * Surfaces the different actions someone can perform in an interface where space is limited.
33
29
  *
@@ -41,9 +37,9 @@ const SIZE_MAP = {
41
37
  *
42
38
  * @example
43
39
  * ```html
44
- * <btu-icon-button icon-symbol="trash-2" tooltip="Delete" aria-label="Delete item"></btu-icon-button>
45
- * <btu-icon-button icon-symbol="pencil" type="secondary" size="small" aria-label="Edit"></btu-icon-button>
46
- * <btu-icon-button icon-symbol="x" type="primary" destructive aria-label="Remove"></btu-icon-button>
40
+ * <btu-icon-button symbol="trash-2" tooltip="Delete" aria-label="Delete item"></btu-icon-button>
41
+ * <btu-icon-button symbol="pencil" type="secondary" size="sm" aria-label="Edit"></btu-icon-button>
42
+ * <btu-icon-button symbol="x" type="primary" destructive aria-label="Remove"></btu-icon-button>
47
43
  * ```
48
44
  */
49
45
  export default class IconButton extends TooltipMixin(EventEmitterMixin(ReadyMixin(LitElement))) {
@@ -58,7 +54,7 @@ export default class IconButton extends TooltipMixin(EventEmitterMixin(ReadyMixi
58
54
  * Specifies the size of icon-button.
59
55
  * @attr
60
56
  */
61
- this.size = 'medium';
57
+ this.size = 'md';
62
58
  /**
63
59
  * Specifies an icon-button will be used to take any destructive action overriding the
64
60
  * default color used for the icon-button type with the error color.
@@ -80,9 +76,9 @@ export default class IconButton extends TooltipMixin(EventEmitterMixin(ReadyMixi
80
76
  console.warn(`[btu-icon-button] Unrecognized type: "${this.type}". Falling back to "primary".`);
81
77
  this.type = 'primary';
82
78
  }
83
- if (changedProperties.has('size') && !(this.size in SIZE_MAP)) {
84
- console.warn(`[btu-icon-button] Unrecognized size: "${this.size}". Falling back to "medium".`);
85
- this.size = 'medium';
79
+ if (changedProperties.has('size') && !VALID_SIZES.has(this.size)) {
80
+ console.warn(`[btu-icon-button] Unrecognized size: "${this.size}". Falling back to "md".`);
81
+ this.size = 'md';
86
82
  }
87
83
  }
88
84
  updated(changedProperties) {
@@ -122,16 +118,14 @@ export default class IconButton extends TooltipMixin(EventEmitterMixin(ReadyMixi
122
118
  this.emit('btu-icon-button-click', { name: this.name });
123
119
  }
124
120
  _buildButtonClasses() {
125
- const { buttonSize } = SIZE_MAP[this.size] ?? SIZE_MAP.medium;
126
121
  const typeConfig = TYPE_COLOR_CLASSES[this.type] ?? TYPE_COLOR_CLASSES.primary;
127
122
  const colorClass = this.destructive ? 'btu-button-error' : typeConfig[0];
128
123
  const modifiers = typeConfig.slice(1);
129
- return ['btu-button', 'btu-button-text-hidden', colorClass, ...modifiers, `btu-button-${buttonSize}`]
124
+ return ['btu-button', 'btu-button-text-hidden', colorClass, ...modifiers, `btu-button-${this.size}`]
130
125
  .filter(Boolean)
131
126
  .join(' ');
132
127
  }
133
128
  render() {
134
- const { iconSize } = SIZE_MAP[this.size] ?? SIZE_MAP.medium;
135
129
  const ariaLabel = this.getAttribute('aria-label')?.trim() || this.tooltip?.trim() || undefined;
136
130
  return html `
137
131
  <button
@@ -142,7 +136,7 @@ export default class IconButton extends TooltipMixin(EventEmitterMixin(ReadyMixi
142
136
  ?disabled=${this.disabled}
143
137
  @click="${this._handleClick}"
144
138
  >
145
- <btu-icon symbol="${ifDefined(this.iconSymbol)}" size="${iconSize}"></btu-icon>
139
+ <btu-icon symbol="${ifDefined(this.symbol)}" size="${this.size}"></btu-icon>
146
140
  </button>
147
141
  `;
148
142
  }
@@ -154,8 +148,8 @@ __decorate([
154
148
  property()
155
149
  ], IconButton.prototype, "type", void 0);
156
150
  __decorate([
157
- property({ attribute: 'icon-symbol' })
158
- ], IconButton.prototype, "iconSymbol", void 0);
151
+ property({ type: String })
152
+ ], IconButton.prototype, "symbol", void 0);
159
153
  __decorate([
160
154
  property()
161
155
  ], IconButton.prototype, "size", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.js","sourceRoot":"","sources":["../../../src/components/icon-button/IconButton.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IconButton.js","sourceRoot":"","sources":["../../../src/components/icon-button/IconButton.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@ declare const LinearProgress_base: (new (...args: any[]) => import("../../util/P
5
5
  *
6
6
  * @element btu-linear-progress
7
7
  *
8
- * @fires {CustomEvent} btu-progress-ready - Fired after first render and initialization
9
- * @fires {CustomEvent} btu-progress-complete - Fired when progress reaches 100
8
+ * @fires {CustomEvent} btu-linear-progress-ready - Fired after first render and initialization
9
+ * @fires {CustomEvent} btu-linear-progress-complete - Fired when progress reaches 100
10
10
  *
11
11
  * @cssprop --progress-color - Custom progress bar color (overrides theme color)
12
12
  * @cssprop --track-color - Track/background color (overrides default gray-100)
@@ -7,8 +7,8 @@ import { ReadyMixin } from '../../util/ReadyMixin.js';
7
7
  *
8
8
  * @element btu-linear-progress
9
9
  *
10
- * @fires {CustomEvent} btu-progress-ready - Fired after first render and initialization
11
- * @fires {CustomEvent} btu-progress-complete - Fired when progress reaches 100
10
+ * @fires {CustomEvent} btu-linear-progress-ready - Fired after first render and initialization
11
+ * @fires {CustomEvent} btu-linear-progress-complete - Fired when progress reaches 100
12
12
  *
13
13
  * @cssprop --progress-color - Custom progress bar color (overrides theme color)
14
14
  * @cssprop --track-color - Track/background color (overrides default gray-100)