@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,108 @@
1
+ import { LitElement } from 'lit';
2
+ import '../badge/Badge.js';
3
+ import '../icon/Icon.js';
4
+ export interface TabProps {
5
+ name?: string;
6
+ label?: string;
7
+ description?: string;
8
+ disabled?: boolean;
9
+ symbol?: string;
10
+ iconPosition?: 'leading' | 'trailing';
11
+ iconOnly?: boolean;
12
+ error?: boolean;
13
+ badge?: string;
14
+ }
15
+ declare const Tab_base: (new (...args: any[]) => import("../../util/EventEmitterMixin.js").EventEmitterMixinInterface) & (new (...args: any[]) => import("../../util/ReadyMixin.js").ReadyMixinInterface) & typeof LitElement;
16
+ /**
17
+ * An individual tab within a tab group.
18
+ *
19
+ * Renders a button with role="tab" that participates in keyboard navigation
20
+ * and selection state managed by the parent `btu-tabs` container.
21
+ *
22
+ * @element btu-tab
23
+ *
24
+ * @fires {CustomEvent} btu-tab-ready - Fired after first render
25
+ * @fires {CustomEvent<{name: string}>} btu-tab-change - Fired when a non-disabled tab with a name is clicked
26
+ *
27
+ * @cssprop --badge-color-background - Background color of the count indicator badge (default: gray-50)
28
+ * @cssprop --badge-color-foreground - Text color of the count indicator badge (default: gray-700)
29
+ *
30
+ * @example
31
+ * ```html
32
+ * <btu-tabs>
33
+ * <btu-tab name="main" label="Main"></btu-tab>
34
+ * <btu-tab name="seo" label="SEO"></btu-tab>
35
+ * <btu-tab name="styles" label="Styles" disabled></btu-tab>
36
+ * </btu-tabs>
37
+ * ```
38
+ */
39
+ export default class Tab extends Tab_base {
40
+ static get tagName(): string;
41
+ /**
42
+ * Value that identifies this tab and links it to panel elements that share the same `name` attribute.
43
+ * @attr name
44
+ */
45
+ name?: string;
46
+ /**
47
+ * Text displayed in the tab.
48
+ * @attr
49
+ */
50
+ label?: string;
51
+ /**
52
+ * Accessibility description for screen readers.
53
+ * @attr
54
+ */
55
+ description?: string;
56
+ /**
57
+ * Whether the tab is disabled and non-interactive.
58
+ * @attr
59
+ */
60
+ disabled: boolean;
61
+ /**
62
+ * Lucide icon symbol to display.
63
+ * @attr
64
+ */
65
+ symbol?: string;
66
+ /**
67
+ * Placement of the icon relative to the label.
68
+ * @attr icon-position
69
+ */
70
+ iconPosition: 'leading' | 'trailing';
71
+ /**
72
+ * When true, hides the label visually while maintaining accessibility.
73
+ * @attr icon-only
74
+ */
75
+ iconOnly: boolean;
76
+ /**
77
+ * When true, displays an error badge on the tab.
78
+ * @attr
79
+ */
80
+ error: boolean;
81
+ /**
82
+ * Displays a badge with the given value alongside the label.
83
+ * @attr
84
+ */
85
+ badge?: string;
86
+ /** @internal Active state set by parent btu-tabs */
87
+ _active: boolean;
88
+ /** @internal Roving tabindex value set by parent btu-tabs */
89
+ _tabindex: number;
90
+ /** @internal Set by parent btu-tabs */
91
+ size: 'xs' | 'sm' | 'md' | 'lg';
92
+ /** @internal */
93
+ private initialClasses;
94
+ connectedCallback(): void;
95
+ createRenderRoot(): this;
96
+ willUpdate(): void;
97
+ firstUpdated(): void;
98
+ /** @internal */
99
+ private handleClick;
100
+ render(): import("lit-html").TemplateResult<1>;
101
+ }
102
+ declare global {
103
+ interface HTMLElementTagNameMap {
104
+ 'btu-tab': Tab;
105
+ }
106
+ }
107
+ export {};
108
+ //# sourceMappingURL=Tab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tab.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/Tab.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,MAAM,KAAK,CAAA;AAK/C,OAAO,mBAAmB,CAAA;AAC1B,OAAO,iBAAiB,CAAA;AAExB,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,SAAS,GAAG,UAAU,CAAA;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,QAAyC;IACxE,MAAM,KAAK,OAAO,WAEjB;IAED;;;OAGG;IAEH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;;OAGG;IAEH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;;OAGG;IAEH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;OAGG;IAEH,QAAQ,UAAQ;IAEhB;;;OAGG;IAEH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IAEH,YAAY,EAAE,SAAS,GAAG,UAAU,CAAY;IAEhD;;;OAGG;IAEH,QAAQ,UAAQ;IAEhB;;;OAGG;IAEH,KAAK,UAAQ;IAEb;;;OAGG;IAEH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,oDAAoD;IACpD,OAAO,UAAQ;IAEf,6DAA6D;IAC7D,SAAS,SAAK;IAEd,uCAAuC;IACvC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAO;IAEtC,gBAAgB;IAChB,OAAO,CAAC,cAAc,CAAe;IAErC,iBAAiB,IAAI,IAAI;IAOzB,gBAAgB;IAIhB,UAAU,IAAI,IAAI;IAIlB,YAAY,IAAI,IAAI;IAIpB,gBAAgB;IAChB,OAAO,CAAC,WAAW;IAKnB,MAAM;CAkCP;AAMD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,GAAG,CAAA;KACf;CACF"}
@@ -0,0 +1,152 @@
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, nothing } from 'lit';
8
+ import { property } from 'lit/decorators.js';
9
+ import { styleMap } from 'lit/directives/style-map.js';
10
+ import { EventEmitterMixin } from '../../util/EventEmitterMixin.js';
11
+ import { ReadyMixin } from '../../util/ReadyMixin.js';
12
+ import '../badge/Badge.js';
13
+ import '../icon/Icon.js';
14
+ /**
15
+ * An individual tab within a tab group.
16
+ *
17
+ * Renders a button with role="tab" that participates in keyboard navigation
18
+ * and selection state managed by the parent `btu-tabs` container.
19
+ *
20
+ * @element btu-tab
21
+ *
22
+ * @fires {CustomEvent} btu-tab-ready - Fired after first render
23
+ * @fires {CustomEvent<{name: string}>} btu-tab-change - Fired when a non-disabled tab with a name is clicked
24
+ *
25
+ * @cssprop --badge-color-background - Background color of the count indicator badge (default: gray-50)
26
+ * @cssprop --badge-color-foreground - Text color of the count indicator badge (default: gray-700)
27
+ *
28
+ * @example
29
+ * ```html
30
+ * <btu-tabs>
31
+ * <btu-tab name="main" label="Main"></btu-tab>
32
+ * <btu-tab name="seo" label="SEO"></btu-tab>
33
+ * <btu-tab name="styles" label="Styles" disabled></btu-tab>
34
+ * </btu-tabs>
35
+ * ```
36
+ */
37
+ export default class Tab extends EventEmitterMixin(ReadyMixin(LitElement)) {
38
+ constructor() {
39
+ super(...arguments);
40
+ /**
41
+ * Whether the tab is disabled and non-interactive.
42
+ * @attr
43
+ */
44
+ this.disabled = false;
45
+ /**
46
+ * Placement of the icon relative to the label.
47
+ * @attr icon-position
48
+ */
49
+ this.iconPosition = 'leading';
50
+ /**
51
+ * When true, hides the label visually while maintaining accessibility.
52
+ * @attr icon-only
53
+ */
54
+ this.iconOnly = false;
55
+ /**
56
+ * When true, displays an error badge on the tab.
57
+ * @attr
58
+ */
59
+ this.error = false;
60
+ /** @internal Active state set by parent btu-tabs */
61
+ this._active = false;
62
+ /** @internal Roving tabindex value set by parent btu-tabs */
63
+ this._tabindex = -1;
64
+ /** @internal Set by parent btu-tabs */
65
+ this.size = 'md';
66
+ /** @internal */
67
+ this.initialClasses = [];
68
+ }
69
+ static get tagName() {
70
+ return 'BTU-TAB';
71
+ }
72
+ connectedCallback() {
73
+ super.connectedCallback();
74
+ if (this.className) {
75
+ this.initialClasses = this.className.split(' ').filter(c => c.trim());
76
+ }
77
+ }
78
+ createRenderRoot() {
79
+ return this;
80
+ }
81
+ willUpdate() {
82
+ this.className = [...this.initialClasses, 'btu-tab'].filter(Boolean).join(' ');
83
+ }
84
+ firstUpdated() {
85
+ this.emit('btu-tab-ready');
86
+ }
87
+ /** @internal */
88
+ handleClick() {
89
+ if (this.disabled || !this.name)
90
+ return;
91
+ this.emit('btu-tab-change', { name: this.name });
92
+ }
93
+ render() {
94
+ const iconTemplate = this.symbol
95
+ ? html `<btu-icon symbol="${this.symbol}" size="${this.size === 'lg' ? 'md' : 'sm'}"></btu-icon>`
96
+ : nothing;
97
+ const labelTemplate = this.iconOnly && this.symbol ? nothing : html `<span>${this.label}</span>`;
98
+ const badgeTemplate = this.badge != null ? html `<btu-badge size="sm">${this.badge}</btu-badge>` : nothing;
99
+ const errorDot = this.error ? html `<btu-badge size="sm" variant="error">!</btu-badge>` : nothing;
100
+ const indicator = this._active && !this.disabled
101
+ ? html `<span
102
+ class="btu-tab-indicator"
103
+ style=${styleMap(this.error ? { background: 'oklch(var(--btu-theme-error-600))' } : {})}
104
+ ></span>`
105
+ : nothing;
106
+ return html `<button
107
+ type="button"
108
+ role="tab"
109
+ class="btu-tab-button btu-tab-button-${this.size}"
110
+ aria-selected="${this._active}"
111
+ aria-disabled="${this.disabled || nothing}"
112
+ aria-description="${this.description || nothing}"
113
+ aria-label="${this.iconOnly && this.label ? this.label : nothing}"
114
+ tabindex="${this._tabindex}"
115
+ @click=${this.handleClick}
116
+ >
117
+ ${this.iconPosition === 'leading' ? iconTemplate : nothing} ${labelTemplate}
118
+ ${this.iconPosition === 'trailing' ? iconTemplate : nothing} ${badgeTemplate} ${errorDot} ${indicator}
119
+ </button>`;
120
+ }
121
+ }
122
+ __decorate([
123
+ property({ type: String, attribute: 'name', reflect: true })
124
+ ], Tab.prototype, "name", void 0);
125
+ __decorate([
126
+ property({ type: String })
127
+ ], Tab.prototype, "label", void 0);
128
+ __decorate([
129
+ property({ type: String })
130
+ ], Tab.prototype, "description", void 0);
131
+ __decorate([
132
+ property({ type: Boolean, reflect: true })
133
+ ], Tab.prototype, "disabled", void 0);
134
+ __decorate([
135
+ property({ type: String })
136
+ ], Tab.prototype, "symbol", void 0);
137
+ __decorate([
138
+ property({ type: String, attribute: 'icon-position' })
139
+ ], Tab.prototype, "iconPosition", void 0);
140
+ __decorate([
141
+ property({ type: Boolean, attribute: 'icon-only' })
142
+ ], Tab.prototype, "iconOnly", void 0);
143
+ __decorate([
144
+ property({ type: Boolean, attribute: 'error' })
145
+ ], Tab.prototype, "error", void 0);
146
+ __decorate([
147
+ property({ attribute: 'badge' })
148
+ ], Tab.prototype, "badge", void 0);
149
+ if (!customElements.get('btu-tab')) {
150
+ customElements.define('btu-tab', Tab);
151
+ }
152
+ //# sourceMappingURL=Tab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tab.js","sourceRoot":"","sources":["../../../src/components/tabs/Tab.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,126 @@
1
+ import { LitElement } from 'lit';
2
+ import '../badge/Badge.js';
3
+ import '../dropdown/Dropdown.js';
4
+ import '../dropdown/DropdownItem.js';
5
+ import '../dropdown/DropdownMenu.js';
6
+ import '../icon/Icon.js';
7
+ export interface TabsProps {
8
+ size?: 'xs' | 'sm' | 'md' | 'lg';
9
+ activeTab?: string;
10
+ variant?: 'full' | 'menu';
11
+ }
12
+ declare const Tabs_base: (new (...args: any[]) => import("../../util/RovingTabindexMixin.js").RovingTabindexInterface) & (new (...args: any[]) => import("../../util/EventEmitterMixin.js").EventEmitterMixinInterface) & (new (...args: any[]) => import("../../util/ReadyMixin.js").ReadyMixinInterface) & typeof LitElement;
13
+ /**
14
+ * A container component for managing a group of tabs.
15
+ *
16
+ * Provides selection state management, size propagation to child tabs,
17
+ * and keyboard navigation following the WAI-ARIA Tabs pattern.
18
+ *
19
+ * When a tab becomes active, direct sibling elements that share the same
20
+ * `name` value are shown; other siblings with a `name` attribute are
21
+ * hidden. Only direct siblings are managed — nested tab groups control their
22
+ * own panels independently.
23
+ *
24
+ * @element btu-tabs
25
+ *
26
+ * @fires {CustomEvent} btu-tabs-ready - Fired after first render and initialization
27
+ * @fires {CustomEvent<{name: string}>} btu-tabs-show - Fired when a tab becomes active
28
+ * @fires {CustomEvent<{name: string}>} btu-tabs-hide - Fired when a tab is deactivated
29
+ * @fires {CustomEvent<{name: string}>} btu-tab-change - Fired when a tab is selected (bubbles from btu-tab)
30
+ * @fires {CustomEvent} btu-tab-ready - Fired when a child tab finishes initialization (bubbles from btu-tab)
31
+ *
32
+ * @cssprop --tabs-active-color - Text and icon color of the active tab (default: gray-700)
33
+ * @cssprop --tabs-active-indicator-color - Color of the active tab underline indicator (default: primary-500 → primary-700 → primary-900 gradient)
34
+ * @cssprop --tabs-border-color - Color of the bottom border divider (default: gray-200)
35
+ * @cssprop --tabs-color - Text and icon color for all tabs (default: gray-500; active/hover tabs use gray-700)
36
+ * @cssprop --tabs-background - Background color for all tab buttons (default: transparent)
37
+ * @cssprop --tabs-container-background - Background color of the tabs container (default: theme white)
38
+ * @cssprop --tabs-hover-background - Background color of a tab on hover (default: gray-100)
39
+ * @cssprop --tabs-hover-color - Text and icon color of a tab on hover (default: gray-700)
40
+ * @cssprop --tabs-gap - Spacing between tabs (default: 1rem)
41
+ *
42
+ * @example
43
+ * ```html
44
+ * <div>
45
+ * <btu-tabs size="md" active-tab="main">
46
+ * <btu-tab name="main" label="Main"></btu-tab>
47
+ * <btu-tab name="seo" label="SEO"></btu-tab>
48
+ * <btu-tab name="overrides" label="Overrides"></btu-tab>
49
+ * </btu-tabs>
50
+ * <div name="main" role="tabpanel">Main content</div>
51
+ * <div name="seo" role="tabpanel">SEO content</div>
52
+ * <div name="overrides" role="tabpanel">Overrides content</div>
53
+ * </div>
54
+ * ```
55
+ */
56
+ export default class Tabs extends Tabs_base {
57
+ static get tagName(): string;
58
+ /**
59
+ * Size variant applied to all child tabs.
60
+ * @attr
61
+ */
62
+ size: 'xs' | 'sm' | 'md' | 'lg';
63
+ /**
64
+ * The `name` value of the currently active tab.
65
+ * @attr active-tab
66
+ */
67
+ activeTab?: string;
68
+ /**
69
+ * Layout variant.
70
+ * - 'full': tabs scroll horizontally when they overflow (default)
71
+ * - 'menu': all tabs are hidden; the active tab label and a chevron dropdown are shown instead
72
+ * @attr
73
+ */
74
+ variant: 'full' | 'menu';
75
+ /** @internal */
76
+ private initialClasses;
77
+ /** @internal Bound event handler for cleanup */
78
+ private boundHandleTabChange;
79
+ /** @internal Bound event handler for cleanup */
80
+ private boundHandleKeyDown;
81
+ /** @internal */
82
+ _getRovingTargets(): HTMLElement[];
83
+ /** @internal Menu variant state */
84
+ private rafId;
85
+ private menuWrapper;
86
+ private menuDropdown;
87
+ private menuLabel;
88
+ private menuIcon;
89
+ private menuErrorBadge;
90
+ private get _dropdownSize();
91
+ private get _menuIconSize();
92
+ connectedCallback(): void;
93
+ disconnectedCallback(): void;
94
+ createRenderRoot(): this;
95
+ willUpdate(): void;
96
+ firstUpdated(): void;
97
+ updated(changedProperties: Map<string, unknown>): void;
98
+ /** @internal Tear down a variant's DOM and state before switching to another */
99
+ private teardownVariant;
100
+ /** @internal */
101
+ private syncTabs;
102
+ /** @internal Show/hide panel elements that are direct siblings with a matching name value */
103
+ private syncPanels;
104
+ /** @internal */
105
+ private getTabs;
106
+ /** @internal */
107
+ private activateTab;
108
+ /** @internal */
109
+ private handleTabChange;
110
+ /** @internal Keyboard navigation following WAI-ARIA Tabs pattern */
111
+ private handleKeyDown;
112
+ /** @internal */
113
+ private initMenu;
114
+ /** @internal */
115
+ private updateMenuItems;
116
+ /** @internal */
117
+ private syncMenuState;
118
+ render(): import("lit-html").TemplateResult<1>;
119
+ }
120
+ declare global {
121
+ interface HTMLElementTagNameMap {
122
+ 'btu-tabs': Tabs;
123
+ }
124
+ }
125
+ export {};
126
+ //# sourceMappingURL=Tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/Tabs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAA;AAKtC,OAAO,mBAAmB,CAAA;AAC1B,OAAO,yBAAyB,CAAA;AAEhC,OAAO,6BAA6B,CAAA;AAEpC,OAAO,6BAA6B,CAAA;AAEpC,OAAO,iBAAiB,CAAA;AAGxB,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAC1B;;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,SAA8D;IAC9F,MAAM,KAAK,OAAO,WAEjB;IAED;;;OAGG;IAEH,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAO;IAEtC;;;OAGG;IAEH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;;;OAKG;IAEH,OAAO,EAAE,MAAM,GAAG,MAAM,CAAS;IAEjC,gBAAgB;IAChB,OAAO,CAAC,cAAc,CAAe;IAErC,gDAAgD;IAChD,OAAO,CAAC,oBAAoB,CAAkC;IAC9D,gDAAgD;IAChD,OAAO,CAAC,kBAAkB,CAAgC;IAE1D,gBAAgB;IAChB,iBAAiB,IAAI,WAAW,EAAE;IAUlC,mCAAmC;IACnC,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,cAAc,CAA2B;IAGjD,OAAO,KAAK,aAAa,GAExB;IAGD,OAAO,KAAK,aAAa,GAExB;IAED,iBAAiB,IAAI,IAAI;IAUzB,oBAAoB,IAAI,IAAI;IAU5B,gBAAgB;IAIhB,UAAU,IAAI,IAAI;IAWlB,YAAY,IAAI,IAAI;IAcpB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAoBtD,gFAAgF;IAChF,OAAO,CAAC,eAAe;IAYvB,gBAAgB;IAChB,OAAO,CAAC,QAAQ;IAYhB,6FAA6F;IAC7F,OAAO,CAAC,UAAU;IAWlB,gBAAgB;IAChB,OAAO,CAAC,OAAO;IAIf,gBAAgB;IAChB,OAAO,CAAC,WAAW;IAsBnB,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAIvB,oEAAoE;IACpE,OAAO,CAAC,aAAa;IAuBrB,gBAAgB;IAChB,OAAO,CAAC,QAAQ;IA+DhB,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAsBvB,gBAAgB;IAChB,OAAO,CAAC,aAAa;IA4BrB,MAAM;CAGP;AAMD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,IAAI,CAAA;KACjB;CACF"}