@brightspot/ui 6.8.1 → 6.8.3-rc.1

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 (197) hide show
  1. package/CHANGELOG.md +680 -0
  2. package/README.md +18 -2
  3. package/dist/storybook/CHANGELOG.md +680 -0
  4. package/dist/storybook/README.md +195 -0
  5. package/dist/storybook/assets/{ActionBar.stories-BOXYJYXy.js → ActionBar.stories-TlhuCumU.js} +1 -1
  6. package/dist/storybook/assets/{ActionItem-WoDvowFu.js → ActionItem-CjtyGLd5.js} +1 -1
  7. package/dist/storybook/assets/{ActionItem.stories-CVFoWP54.js → ActionItem.stories-BVlNQvfP.js} +1 -1
  8. package/dist/storybook/assets/{AiSparkle.stories-Psv9jNpy.js → AiSparkle.stories-DMzc8JUe.js} +2 -2
  9. package/dist/storybook/assets/{Avatar-CIQcHS8b.js → Avatar-C6Li1sPI.js} +1 -1
  10. package/dist/storybook/assets/{Avatar.stories-BE2Xn8fx.js → Avatar.stories-COj6XrPn.js} +1 -1
  11. package/dist/storybook/assets/{AvatarGroup-Chs0VKPg.js → AvatarGroup-DgxRTZBe.js} +1 -1
  12. package/dist/storybook/assets/{AvatarGroup.stories-2ar6gCeX.js → AvatarGroup.stories-Dh3e7iN2.js} +1 -1
  13. package/dist/storybook/assets/{Badge-AV20mCMJ.js → Badge-bWrvpEgX.js} +1 -1
  14. package/dist/storybook/assets/{Badge.stories-w9LqNw0A.js → Badge.stories-KXpmEXpt.js} +1 -1
  15. package/dist/storybook/assets/{Banner.stories-Clhh1bBs.js → Banner.stories-Cnhm3dXK.js} +1 -1
  16. package/dist/storybook/assets/{Button-B7fn_wd5.js → Button-DE0s-gat.js} +1 -1
  17. package/dist/storybook/assets/{Button.stories-5h4M8nd2.js → Button.stories-Cwg1YZEb.js} +1 -1
  18. package/dist/storybook/assets/{ButtonGroup-BmndBsBy.js → ButtonGroup-CoLI5nGO.js} +1 -1
  19. package/dist/storybook/assets/{ButtonGroup.stories-CR1H4H7u.js → ButtonGroup.stories-VhnKPP1n.js} +1 -1
  20. package/dist/storybook/assets/{Card.stories-Bz5vXq5y.js → Card.stories-BgpL90zB.js} +1 -1
  21. package/dist/storybook/assets/{Celebrate.stories-Bu3CNw0k.js → Celebrate.stories-D3NJgYcX.js} +1 -1
  22. package/dist/storybook/assets/{Checkbox-BALsanB1.js → Checkbox-BC1T_KxW.js} +1 -1
  23. package/dist/storybook/assets/{Checkbox.stories-BdvCht5c.js → Checkbox.stories-AFQNz7dQ.js} +1 -1
  24. package/dist/storybook/assets/{CircularProgress-BeE2fWON.js → CircularProgress-eqVb2jUD.js} +1 -1
  25. package/dist/storybook/assets/{CircularProgress.stories-CL8Lc6eU.js → CircularProgress.stories-B6t8VhmJ.js} +1 -1
  26. package/dist/storybook/assets/{ClipboardMixin-C6wcbXIO.js → ClipboardMixin-DcxrOy5B.js} +1 -1
  27. package/dist/storybook/assets/{ClipboardMixin.stories-BsjzC7wd.js → ClipboardMixin.stories-BqtQMjmS.js} +1 -1
  28. package/dist/storybook/assets/{Color-6BZIO3FS-Dsd6EVV9.js → Color-6BZIO3FS-CDluohEc.js} +1 -1
  29. package/dist/storybook/assets/{Colors.stories-CkCdNN9Y.js → Colors.stories-CqTniDIa.js} +1 -1
  30. package/dist/storybook/assets/{CombinedEffects.stories-QG78pIiG.js → CombinedEffects.stories-FwW0chy5.js} +1 -1
  31. package/dist/storybook/assets/{ComponentStatesMixin-CG-Dx_Vk.js → ComponentStatesMixin-hUqOL2aW.js} +1 -1
  32. package/dist/storybook/assets/{ComponentStatesMixin.stories-B1yuAqua.js → ComponentStatesMixin.stories-CwGoq685.js} +1 -1
  33. package/dist/storybook/assets/{CopyToClipboard.stories-CyKcumJ9.js → CopyToClipboard.stories-DUGjgtQx.js} +1 -1
  34. package/dist/storybook/assets/{Debounce.stories-BuNskQ33.js → Debounce.stories-CrWfXhKS.js} +1 -1
  35. package/dist/storybook/assets/{DocsRenderer-LL677BLK-BrPyc8XX.js → DocsRenderer-LL677BLK-9e51z9Xc.js} +3 -3
  36. package/dist/storybook/assets/{Dropdown.stories-DHXeP07z.js → Dropdown.stories-BsBxV0wp.js} +1 -1
  37. package/dist/storybook/assets/{DropdownMenu-WoWnJiQk.js → DropdownMenu-B-LvOIGj.js} +1 -1
  38. package/dist/storybook/assets/{EmptyState.stories-BRoVusey.js → EmptyState.stories-CJ1w8Tp2.js} +1 -1
  39. package/dist/storybook/assets/{EscaAvatar.stories-CWAE-4Uz.js → EscaAvatar.stories-BoLLSj9q.js} +2 -2
  40. package/dist/storybook/assets/{Events.stories-D-npDwlx.js → Events.stories-C3sTBwPJ.js} +1 -1
  41. package/dist/storybook/assets/{Heading.stories-D7hmvFEN.js → Heading.stories-jmXDRBmM.js} +1 -1
  42. package/dist/storybook/assets/{HueRipple.stories-Dx3ozdHi.js → HueRipple.stories-BPx5aSYd.js} +1 -1
  43. package/dist/storybook/assets/{Icon-DPQKiWDz.js → Icon-CWyJRQf7.js} +1 -1
  44. package/dist/storybook/assets/{Icon.stories-CVsQvcwd.js → Icon.stories-iYBxmv2x.js} +1 -1
  45. package/dist/storybook/assets/{IconButton-Dp4Z06bL.js → IconButton-Di5Rgs7F.js} +1 -1
  46. package/dist/storybook/assets/{IconButton.stories-DTbfHfcQ.js → IconButton.stories-DENLoxVk.js} +1 -1
  47. package/dist/storybook/assets/{LinearProgress-DG3tPlGH.js → LinearProgress-D9ngIVlv.js} +1 -1
  48. package/dist/storybook/assets/{LinearProgress.stories-VIU6OqYd.js → LinearProgress.stories-u90B_VJR.js} +1 -1
  49. package/dist/storybook/assets/{Message-BzkpGg8z.js → Message-nFAa55c_.js} +1 -1
  50. package/dist/storybook/assets/{Message.stories-C9bzoQes.js → Message.stories-B4rpz5rI.js} +1 -1
  51. package/dist/storybook/assets/{OnFindMixin-CeeYfx9k.js → OnFindMixin-oL1bvTFj.js} +1 -1
  52. package/dist/storybook/assets/{OnFindMixin.stories-Dq06nuVf.js → OnFindMixin.stories-CdeS5sFA.js} +1 -1
  53. package/dist/storybook/assets/{Pagination-CnWa6AX5.js → Pagination-CSWcjuDU.js} +1 -1
  54. package/dist/storybook/assets/{Pagination.stories-BsH2eN2W.js → Pagination.stories-Da2WzJkv.js} +1 -1
  55. package/dist/storybook/assets/{Popover.stories-CLnzpgEE.js → Popover.stories-CVljlVHc.js} +1 -1
  56. package/dist/storybook/assets/{ProgressMixin-D1atDw3n.js → ProgressMixin-CeSrn0_P.js} +1 -1
  57. package/dist/storybook/assets/{Radio-B6Aq6K0V.js → Radio-rvfGhZwK.js} +1 -1
  58. package/dist/storybook/assets/{Radio.stories-BCVbISmb.js → Radio.stories-B0wHdJuc.js} +1 -1
  59. package/dist/storybook/assets/{RadioGroup.stories-B-TGP_-v.js → RadioGroup.stories-D8krOSlP.js} +1 -1
  60. package/dist/storybook/assets/{ReadyMixin-C8HW2nGE.js → ReadyMixin-CvX_eidU.js} +1 -1
  61. package/dist/storybook/assets/{RovingTabindexMixin-DI5rmyR7.js → RovingTabindexMixin-9z8lwaM9.js} +1 -1
  62. package/dist/storybook/assets/{RovingTabindexMixin.stories-DVKCC_R7.js → RovingTabindexMixin.stories-Y8vBWjJp.js} +1 -1
  63. package/dist/storybook/assets/{Rtc.stories-bBYHOszW.js → Rtc.stories-D3Y-z8y_.js} +1 -1
  64. package/dist/storybook/assets/{ScrollShadow.stories-BIK8YINt.js → ScrollShadow.stories-1KD0lWHX.js} +1 -1
  65. package/dist/storybook/assets/{Switch.stories-COEk74kM.js → Switch.stories-Bsqvm_HE.js} +1 -1
  66. package/dist/storybook/assets/{Tab.stories-Dbt9JvSx.js → Tab.stories-CzcTisNs.js} +1 -1
  67. package/dist/storybook/assets/{Tabs-BIScOPS0.js → Tabs-DdpYNZSW.js} +1 -1
  68. package/dist/storybook/assets/{Tabs.stories-CodKgVf2.js → Tabs.stories-UOS3V0J4.js} +1 -1
  69. package/dist/storybook/assets/{Throttle.stories-BhIqWWrQ.js → Throttle.stories-C8jgzh6e.js} +1 -1
  70. package/dist/storybook/assets/{Tooltip.stories-DKD8nBM1.js → Tooltip.stories-B5BoI0cH.js} +1 -1
  71. package/dist/storybook/assets/{TooltipMixin-CRNNusJ7.js → TooltipMixin-CVKslCDt.js} +1 -1
  72. package/dist/storybook/assets/{Upload.stories-WTO15ST1.js → Upload.stories-BsQDCDqo.js} +1 -1
  73. package/dist/storybook/assets/{UploadItem-DejgZ5A0.js → UploadItem-CYQqNwUF.js} +1 -1
  74. package/dist/storybook/assets/{UploadItem.stories-Pk3ghOcI.js → UploadItem.stories-_le7XBTV.js} +1 -1
  75. package/dist/storybook/assets/{Welcome.stories-DrNnxvt9.js → Welcome.stories-rramKkhd.js} +33 -3
  76. package/dist/storybook/assets/{Widget.stories-CYC5Qdac.js → Widget.stories-DtbAaklk.js} +1 -1
  77. package/dist/storybook/assets/{WithTooltip-65CFNBJE-DK6PZNaa.js → WithTooltip-65CFNBJE-DK6GcBuR.js} +1 -1
  78. package/dist/storybook/assets/{blocks-Dzcxb014.js → blocks-DHnzPh43.js} +5 -5
  79. package/dist/storybook/assets/{formatter-EIJCOSYU-PioIuXjk.js → formatter-EIJCOSYU-qig-qWlG.js} +1 -1
  80. package/dist/storybook/assets/if-defined-DerKRcyC.js +1 -0
  81. package/dist/storybook/assets/{iframe-Byo_x5o2.js → iframe-DlBK9Drk.js} +3 -3
  82. package/dist/storybook/assets/{index-gox-Wle0.js → index-CItQyB37.js} +1 -1
  83. package/dist/storybook/assets/{lottie_svg-3t2UJxjZ.js → lottie_svg-C3v6xdng.js} +1 -1
  84. package/dist/storybook/assets/{onFind-BWiaccUj.js → onFind-Ci35eu2y.js} +1 -1
  85. package/dist/storybook/assets/{onFind.stories-CC_XTN2G.js → onFind.stories-BmbwWWo1.js} +1 -1
  86. package/dist/storybook/assets/{onRemove.stories-CXxpL4ud.js → onRemove.stories-DFWCIgE4.js} +1 -1
  87. package/dist/storybook/assets/{onVisible.stories-DKA9cexx.js → onVisible.stories-B-onpgE-.js} +1 -1
  88. package/dist/storybook/assets/{property-_few0Xe5.js → property-Bmq4RTSP.js} +1 -1
  89. package/dist/storybook/assets/{ref-BaIdO8Sk.js → ref-BhKk4SDh.js} +1 -1
  90. package/dist/storybook/assets/state-DVIUS0Gf.js +1 -0
  91. package/dist/storybook/assets/{style-map-DxZm5Cj7.js → style-map-DE4G47KD.js} +1 -1
  92. package/dist/storybook/assets/{syntaxhighlighter-ED5Y7EFY-B0_bSGZz.js → syntaxhighlighter-ED5Y7EFY-Dfgnal1d.js} +1 -1
  93. package/dist/storybook/custom-elements.json +11835 -0
  94. package/dist/storybook/docs/components/ActionBar.md +55 -0
  95. package/dist/storybook/docs/components/ActionItem.md +50 -0
  96. package/dist/storybook/docs/components/AiSparkle.md +33 -0
  97. package/dist/storybook/docs/components/Avatar.md +45 -0
  98. package/dist/storybook/docs/components/AvatarGroup.md +34 -0
  99. package/dist/storybook/docs/components/Badge.md +47 -0
  100. package/dist/storybook/docs/components/Banner.md +35 -0
  101. package/dist/storybook/docs/components/ButtonGroup.md +65 -0
  102. package/dist/storybook/docs/components/Card.md +67 -0
  103. package/dist/storybook/docs/components/Checkbox.md +49 -0
  104. package/dist/storybook/docs/components/CircularProgress.md +40 -0
  105. package/dist/storybook/docs/components/CopyToClipboard.md +51 -0
  106. package/dist/storybook/docs/components/Dropdown.md +74 -0
  107. package/dist/storybook/docs/components/DropdownItem.md +45 -0
  108. package/dist/storybook/docs/components/DropdownMenu.md +41 -0
  109. package/dist/storybook/docs/components/EmptyState.md +62 -0
  110. package/dist/storybook/docs/components/EscaAvatar.md +40 -0
  111. package/dist/storybook/docs/components/Icon.md +40 -0
  112. package/dist/storybook/docs/components/IconButton.md +36 -0
  113. package/dist/storybook/docs/components/LinearProgress.md +37 -0
  114. package/dist/storybook/docs/components/Message.md +50 -0
  115. package/dist/storybook/docs/components/Pagination.md +70 -0
  116. package/dist/storybook/docs/components/Popover.md +59 -0
  117. package/dist/storybook/docs/components/README.md +48 -0
  118. package/dist/storybook/docs/components/Radio.md +55 -0
  119. package/dist/storybook/docs/components/RadioGroup.md +34 -0
  120. package/dist/storybook/docs/components/Switch.md +48 -0
  121. package/dist/storybook/docs/components/Tab.md +40 -0
  122. package/dist/storybook/docs/components/Tabs.md +49 -0
  123. package/dist/storybook/docs/components/Upload.md +63 -0
  124. package/dist/storybook/docs/components/UploadItem.md +30 -0
  125. package/dist/storybook/docs/components/Widget.md +88 -0
  126. package/dist/storybook/docs/dari-elements.md +55 -0
  127. package/dist/storybook/iframe.html +1 -1
  128. package/dist/storybook/index.html +29 -2
  129. package/dist/storybook/llms-full.txt +1721 -0
  130. package/dist/storybook/llms.txt +65 -0
  131. package/dist/storybook/project.json +1 -1
  132. package/dist/storybook/robots.txt +7 -0
  133. package/dist/storybook/sb-addons/storybook-3/manager-bundle.js +1 -1
  134. package/dist/storybook/sitemap.xml +90 -0
  135. package/docs/components/ActionBar.md +41 -64
  136. package/docs/components/ActionItem.md +50 -96
  137. package/docs/components/AiSparkle.md +23 -60
  138. package/docs/components/Avatar.md +45 -88
  139. package/docs/components/AvatarGroup.md +24 -44
  140. package/docs/components/Badge.md +34 -62
  141. package/docs/components/Banner.md +25 -39
  142. package/docs/components/ButtonGroup.md +65 -99
  143. package/docs/components/Card.md +67 -83
  144. package/docs/components/Checkbox.md +49 -91
  145. package/docs/components/CircularProgress.md +40 -84
  146. package/docs/components/CopyToClipboard.md +35 -40
  147. package/docs/components/Dropdown.md +74 -120
  148. package/docs/components/DropdownItem.md +45 -81
  149. package/docs/components/DropdownMenu.md +30 -70
  150. package/docs/components/EmptyState.md +45 -62
  151. package/docs/components/EscaAvatar.md +30 -61
  152. package/docs/components/Icon.md +29 -62
  153. package/docs/components/IconButton.md +36 -83
  154. package/docs/components/LinearProgress.md +28 -70
  155. package/docs/components/Message.md +38 -63
  156. package/docs/components/Pagination.md +70 -100
  157. package/docs/components/Popover.md +46 -79
  158. package/docs/components/README.md +34 -40
  159. package/docs/components/Radio.md +55 -105
  160. package/docs/components/RadioGroup.md +26 -55
  161. package/docs/components/Switch.md +48 -84
  162. package/docs/components/Tab.md +30 -70
  163. package/docs/components/Tabs.md +49 -86
  164. package/docs/components/Upload.md +63 -112
  165. package/docs/components/UploadItem.md +22 -53
  166. package/docs/components/Widget.md +66 -67
  167. package/llms.txt +63 -0
  168. package/package.json +8 -6
  169. package/src/legacy/tool-ui/src/Avatar.css +9 -0
  170. package/src/legacy/tool-ui/src/ContentInputGroup.css +12 -0
  171. package/src/legacy/tool-ui/src/ContentSummary.css +11 -1
  172. package/src/legacy/tool-ui/src/ContentSummary.ts +24 -0
  173. package/src/legacy/tool-ui/src/Dialog.css +15 -4
  174. package/src/legacy/tool-ui/src/Diff.css +16 -0
  175. package/src/legacy/tool-ui/src/Diff.ts +76 -45
  176. package/src/legacy/tool-ui/src/MenuView.css +9 -4
  177. package/src/legacy/tool-ui/src/ProseMirrorEnhancementMenu.css +9 -1
  178. package/src/legacy/tool-ui/src/SearchResult.css +3 -3
  179. package/src/legacy/tool-ui/src/TimedContent.css +5 -1
  180. package/src/legacy/tool-ui/src/ViewPreview.css +11 -0
  181. package/src/legacy/tool-ui/src/ViewWatchers.css +1 -1
  182. package/src/legacy/tool-ui/src/Viewers.css +10 -1
  183. package/src/legacy/tool-ui/src/main/webapp/dist/RTEProseMirror.bad66c5f4a7498accca1.js +504 -0
  184. package/src/legacy/tool-ui/src/main/webapp/dist/v4.0cdcad634e3e9cc66dd3.css +3 -0
  185. package/src/legacy/tool-ui/src/main/webapp/dist/{v4.5311585e2e77268a6386.js → v4.fe59d96d43251aa03766.js} +5 -5
  186. package/src/legacy/tool-ui/src/main/webapp/dist/v5.268d53cadab4ed4b68a8.css +140 -0
  187. package/src/legacy/tool-ui/src/main/webapp/dist/{v5.c96a164f24a2a102bde0.js → v5.3eb7662648c301f10aff.js} +5 -5
  188. package/src/legacy/tool-ui/src/main/webapp/v4/Diff.less +17 -0
  189. package/src/legacy/tool-ui/src/v5.ts +6 -0
  190. package/dist/storybook/assets/if-defined-DL7cQU7O.js +0 -1
  191. package/dist/storybook/assets/state-BBcPmYaV.js +0 -1
  192. package/src/legacy/tool-ui/src/main/webapp/dist/RTEProseMirror.8773fe3756519d83608e.js +0 -504
  193. package/src/legacy/tool-ui/src/main/webapp/dist/v4.19a7871e6043c2ea6433.css +0 -3
  194. package/src/legacy/tool-ui/src/main/webapp/dist/v5.990bf181d01e0cbb18e8.css +0 -140
  195. /package/src/legacy/tool-ui/src/main/webapp/dist/{RTEProseMirror.8773fe3756519d83608e.js.LICENSE.txt → RTEProseMirror.bad66c5f4a7498accca1.js.LICENSE.txt} +0 -0
  196. /package/src/legacy/tool-ui/src/main/webapp/dist/{v4.5311585e2e77268a6386.js.LICENSE.txt → v4.fe59d96d43251aa03766.js.LICENSE.txt} +0 -0
  197. /package/src/legacy/tool-ui/src/main/webapp/dist/{v5.c96a164f24a2a102bde0.js.LICENSE.txt → v5.3eb7662648c301f10aff.js.LICENSE.txt} +0 -0
@@ -1,84 +1,48 @@
1
- # `src/components/switch/Switch.ts`:
2
-
3
- ## class: `Switch`, `btu-switch`
4
-
5
- ### Superclass
6
-
7
- | Name | Module | Package |
8
- | ------------ | ------ | ------- |
9
- | `LitElement` | | lit |
10
-
11
- ### Mixins
12
-
13
- | Name | Module | Package |
14
- | ------------------- | ------------------------------ | ------- |
15
- | `EventEmitterMixin` | /src/util/EventEmitterMixin.js | |
16
- | `ReadyMixin` | /src/util/ReadyMixin.js | |
17
-
18
- ### Fields
19
-
20
- | Name | Privacy | Type | Default | Description | Inherited From |
21
- | --------------- | ------- | ---------------------- | ------- | ----------------------------------------------------------------------------------- | -------------- |
22
- | `size` | | `'sm' \| 'md' \| 'lg'` | `'sm'` | Controls the physical dimensions of the switch and the associated label typography. | |
23
- | `label` | | `string \| undefined` | | The primary text displayed next to the toggle. | |
24
- | `description` | | `string \| undefined` | | Optional helper text or secondary information displayed below the label. | |
25
- | `checked` | | `boolean` | `false` | The current state of the switch (on/off). | |
26
- | `disabled` | | `boolean` | `false` | If true, the toggle is non-interactive and visually muted. | |
27
- | `name` | | `string \| undefined` | | Name of the control for form participation. | |
28
- | `labelPosition` | | `'start' \| 'end'` | `'end'` | Determines if the label appears to the left or right of the switch. | |
29
- | `onIcon` | | `string \| undefined` | | Lucide icon name shown on the track when the switch is checked (on). | |
30
- | `offIcon` | | `string \| undefined` | | Lucide icon name shown on the track when the switch is unchecked (off). | |
31
-
32
- ### Methods
33
-
34
- | Name | Privacy | Description | Parameters | Return | Inherited From |
35
- | ---------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | --------- | ----------------- |
36
- | `_onInputChange` | private | | `e: Event` | `void` | |
37
- | `_onFocus` | private | | | `void` | |
38
- | `_toggleInput` | private | | | `void` | |
39
- | `emit` | | Dispatches a type-safe CustomEvent with standardized configuration.&#xA;&#xA;All events are configured with:&#xA;- bubbles: true (event propagates up the DOM tree)&#xA;- cancelable: false (event cannot be cancelled)&#xA;- composed: true (event crosses shadow DOM boundaries) | `type: K, detail: UnpackCustomEvent<CustomEventMap[K]>` | `boolean` | EventEmitterMixin |
40
-
41
- ### Events
42
-
43
- | Name | Type | Description | Inherited From |
44
- | ------------------- | ----------------------------------- | -------------------------------------------------------- | -------------- |
45
- | `btu-switch-ready` | `CustomEvent` | Fired after the toggle is first rendered and initialized | |
46
- | `btu-switch-change` | `CustomEvent<{ checked: boolean }>` | Fired when the user toggles the switch | |
47
- | `btu-switch-focus` | `CustomEvent` | Fired when the component gains focus | |
48
-
49
- ### Attributes
50
-
51
- | Name | Field | Inherited From |
52
- | ---------------- | ------------- | -------------- |
53
- | `size` | size | |
54
- | `label` | label | |
55
- | `description` | description | |
56
- | `checked` | checked | |
57
- | `disabled` | disabled | |
58
- | `name` | name | |
59
- | `label-position` | labelPosition | |
60
- | `on-icon` | onIcon | |
61
- | `off-icon` | offIcon | |
62
-
63
- ### CSS Properties
64
-
65
- | Name | Default | Description |
66
- | -------------------------- | ------- | ----------------------------------------------------------------------------------- |
67
- | `--switch-color-track-on` | | Background color when the toggle is checked (default: var(--btu-theme-primary-700)) |
68
- | `--switch-color-track-off` | | Background color when the toggle is unchecked (default: var(--btu-theme-gray-300)) |
69
- | `--switch-color-knob` | | Color of the sliding circular handle (default: var(--btu-theme-white)) |
70
- | `--switch-label-spacing` | | Distance between the switch and the text label (default: 0.75rem) |
71
- | `--switch-track-width` | | Track width (default: sm 1.75rem, md 2.25rem, lg 2.75rem) |
72
- | `--switch-track-height` | | Track height (default: sm 1rem, md 1.25rem, lg 1.5rem) |
73
- | `--switch-knob-size` | | Knob diameter (default: sm 0.75rem, md 1rem, lg 1.25rem) |
74
- | `--switch-knob-padding` | | Space between knob and track edges (default: 0.125rem) |
75
- | `--switch-track-icon-size` | | Size of the track icons (default: sm 0.5rem, md 0.625rem, lg 0.75rem) |
76
-
77
- <hr/>
78
-
79
- ## Exports
80
-
81
- | Kind | Name | Declaration | Module | Package |
82
- | --------------------------- | ------------ | ----------- | ------------------------------- | ------- |
83
- | `js` | `default` | Switch | src/components/switch/Switch.ts | |
84
- | `custom-element-definition` | `btu-switch` | Switch | src/components/switch/Switch.ts | |
1
+ # `<btu-switch>`
2
+
3
+ A toggle switch component for binary on/off states.
4
+
5
+ Uses a hidden checkbox internally for accessibility, styled via the
6
+ `btu-switch` Tailwind plugin classes.
7
+
8
+ ```js
9
+ import '@brightspot/ui/components/switch/Switch.js'
10
+ ```
11
+
12
+ Interactive examples: https://ui.brightspot.com/?path=/docs/components-switch--docs
13
+
14
+ ## Attributes
15
+
16
+ | Attribute | Property | Type | Default | Description |
17
+ | --- | --- | --- | --- | --- |
18
+ | `size` | `size` | `'sm' \| 'md' \| 'lg'` | `'sm'` | Controls the physical dimensions of the switch and the associated label typography. |
19
+ | `label` | `label` | `string \| undefined` | | The primary text displayed next to the toggle. |
20
+ | `description` | `description` | `string \| undefined` | | Optional helper text or secondary information displayed below the label. |
21
+ | `checked` | `checked` | `boolean` | `false` | The current state of the switch (on/off). |
22
+ | `disabled` | `disabled` | `boolean` | `false` | If true, the toggle is non-interactive and visually muted. |
23
+ | `name` | `name` | `string \| undefined` | | Name of the control for form participation. |
24
+ | `label-position` | `labelPosition` | `'start' \| 'end'` | `'end'` | Determines if the label appears to the left or right of the switch. |
25
+ | `on-icon` | `onIcon` | `string \| undefined` | | Lucide icon name shown on the track when the switch is checked (on). |
26
+ | `off-icon` | `offIcon` | `string \| undefined` | | Lucide icon name shown on the track when the switch is unchecked (off). |
27
+
28
+ ## Events
29
+
30
+ | Event | Detail | Description |
31
+ | --- | --- | --- |
32
+ | `btu-switch-ready` | | Fired after the toggle is first rendered and initialized |
33
+ | `btu-switch-change` | `{ checked: boolean }` | Fired when the user toggles the switch |
34
+ | `btu-switch-focus` | | Fired when the component gains focus |
35
+
36
+ ## CSS custom properties
37
+
38
+ | Property | Description |
39
+ | --- | --- |
40
+ | `--switch-color-track-on` | Background color when the toggle is checked (default: var(--btu-theme-primary-700)) |
41
+ | `--switch-color-track-off` | Background color when the toggle is unchecked (default: var(--btu-theme-gray-300)) |
42
+ | `--switch-color-knob` | Color of the sliding circular handle (default: var(--btu-theme-white)) |
43
+ | `--switch-label-spacing` | Distance between the switch and the text label (default: 0.75rem) |
44
+ | `--switch-track-width` | Track width (default: sm 1.75rem, md 2.25rem, lg 2.75rem) |
45
+ | `--switch-track-height` | Track height (default: sm 1rem, md 1.25rem, lg 1.5rem) |
46
+ | `--switch-knob-size` | Knob diameter (default: sm 0.75rem, md 1rem, lg 1.25rem) |
47
+ | `--switch-knob-padding` | Space between knob and track edges (default: 0.125rem) |
48
+ | `--switch-track-icon-size` | Size of the track icons (default: sm 0.5rem, md 0.625rem, lg 0.75rem) |
@@ -1,80 +1,40 @@
1
- # `src/components/tabs/Tab.ts`:
1
+ # `<btu-tab>`
2
2
 
3
- ## class: `Tab`, `btu-tab`
3
+ An individual tab within a tab group.
4
4
 
5
- ### Superclass
5
+ Renders a button with role="tab" that participates in keyboard navigation
6
+ and selection state managed by the parent `btu-tabs` container.
6
7
 
7
- | Name | Module | Package |
8
- | ------------ | ------ | ------- |
9
- | `LitElement` | | lit |
8
+ ```js
9
+ import '@brightspot/ui/components/tabs/Tab.js'
10
+ ```
10
11
 
11
- ### Mixins
12
+ Interactive examples: https://ui.brightspot.com/?path=/docs/components-tabs-tab--docs
12
13
 
13
- | Name | Module | Package |
14
- | ------------------- | ------------------------------ | ------- |
15
- | `EventEmitterMixin` | /src/util/EventEmitterMixin.js | |
16
- | `ReadyMixin` | /src/util/ReadyMixin.js | |
14
+ ## Attributes
17
15
 
18
- ### Static Fields
16
+ | Attribute | Property | Type | Default | Description |
17
+ | --- | --- | --- | --- | --- |
18
+ | `name` | `name` | `string \| undefined` | | Value that identifies this tab and links it to panel elements that share the same `name` attribute. |
19
+ | `label` | `label` | `string \| undefined` | | Text displayed in the tab. |
20
+ | `description` | `description` | `string \| undefined` | | Accessibility description for screen readers. |
21
+ | `disabled` | `disabled` | `boolean` | `false` | Whether the tab is disabled and non-interactive. |
22
+ | `symbol` | `symbol` | `string \| undefined` | | Lucide icon symbol to display. |
23
+ | `icon-position` | `iconPosition` | `'leading' \| 'trailing'` | `'leading'` | Placement of the icon relative to the label. |
24
+ | `icon-only` | `iconOnly` | `boolean` | `false` | When true, hides the label visually while maintaining accessibility. |
25
+ | `error` | `error` | `boolean` | `false` | When true, displays an error badge on the tab. |
26
+ | `badge` | `badge` | `string \| undefined` | | Displays a badge with the given value alongside the label. |
19
27
 
20
- | Name | Privacy | Type | Default | Description | Inherited From |
21
- | --------- | ------- | ---- | ------- | ----------- | -------------- |
22
- | `tagName` | | | | | |
28
+ ## Events
23
29
 
24
- ### Fields
30
+ | Event | Detail | Description |
31
+ | --- | --- | --- |
32
+ | `btu-tab-ready` | | Fired after first render |
33
+ | `btu-tab-change` | `{name: string}` | Fired when a non-disabled tab with a name is clicked |
25
34
 
26
- | Name | Privacy | Type | Default | Description | Inherited From |
27
- | ------------------------- | ------- | ------------------------- | ----------- | ----------------------------------------------------------------------------------------------------- | -------------- |
28
- | `name` | | `string \| undefined` | | Value that identifies this tab and links it to panel elements that share the same \`name\` attribute. | |
29
- | `label` | | `string \| undefined` | | Text displayed in the tab. | |
30
- | `description` | | `string \| undefined` | | Accessibility description for screen readers. | |
31
- | `disabled` | | `boolean` | `false` | Whether the tab is disabled and non-interactive. | |
32
- | `symbol` | | `string \| undefined` | | Lucide icon symbol to display. | |
33
- | `iconPosition` | | `'leading' \| 'trailing'` | `'leading'` | Placement of the icon relative to the label. | |
34
- | `iconOnly` | | `boolean` | `false` | When true, hides the label visually while maintaining accessibility. | |
35
- | `error` | | `boolean` | `false` | When true, displays an error badge on the tab. | |
36
- | `badge` | | `string \| undefined` | | Displays a badge with the given value alongside the label. | |
37
- | `_initialClassesCaptured` | private | `boolean` | `false` | | |
35
+ ## CSS custom properties
38
36
 
39
- ### Methods
40
-
41
- | Name | Privacy | Description | Parameters | Return | Inherited From |
42
- | ------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | --------- | ----------------- |
43
- | `emit` | | Dispatches a type-safe CustomEvent with standardized configuration.&#xA;&#xA;All events are configured with:&#xA;- bubbles: true (event propagates up the DOM tree)&#xA;- cancelable: false (event cannot be cancelled)&#xA;- composed: true (event crosses shadow DOM boundaries) | `type: K, detail: UnpackCustomEvent<CustomEventMap[K]>` | `boolean` | EventEmitterMixin |
44
-
45
- ### Events
46
-
47
- | Name | Type | Description | Inherited From |
48
- | ---------------- | ----------------------------- | ---------------------------------------------------- | -------------- |
49
- | `btu-tab-ready` | `CustomEvent` | Fired after first render | |
50
- | `btu-tab-change` | `CustomEvent<{name: string}>` | Fired when a non-disabled tab with a name is clicked | |
51
-
52
- ### Attributes
53
-
54
- | Name | Field | Inherited From |
55
- | --------------- | ------------ | -------------- |
56
- | `name` | name | |
57
- | `label` | label | |
58
- | `description` | description | |
59
- | `disabled` | disabled | |
60
- | `symbol` | symbol | |
61
- | `icon-position` | iconPosition | |
62
- | `icon-only` | iconOnly | |
63
- | `error` | error | |
64
- | `badge` | badge | |
65
-
66
- ### CSS Properties
67
-
68
- | Name | Default | Description |
69
- | -------------------------- | ------- | ---------------------------------------------------------------- |
70
- | `--badge-color-background` | | Background color of the count indicator badge (default: gray-50) |
71
- | `--badge-color-foreground` | | Text color of the count indicator badge (default: gray-800) |
72
-
73
- <hr/>
74
-
75
- ## Exports
76
-
77
- | Kind | Name | Declaration | Module | Package |
78
- | --------------------------- | --------- | ----------- | -------------------------- | ------- |
79
- | `js` | `default` | Tab | src/components/tabs/Tab.ts | |
80
- | `custom-element-definition` | `btu-tab` | Tab | src/components/tabs/Tab.ts | |
37
+ | Property | Description |
38
+ | --- | --- |
39
+ | `--badge-color-background` | Background color of the count indicator badge (default: gray-50) |
40
+ | `--badge-color-foreground` | Text color of the count indicator badge (default: gray-800) |
@@ -1,86 +1,49 @@
1
- # `src/components/tabs/Tabs.ts`:
2
-
3
- ## class: `Tabs`, `btu-tabs`
4
-
5
- ### Superclass
6
-
7
- | Name | Module | Package |
8
- | ------------ | ------ | ------- |
9
- | `LitElement` | | lit |
10
-
11
- ### Mixins
12
-
13
- | Name | Module | Package |
14
- | --------------------- | -------------------------------- | ------- |
15
- | `RovingTabindexMixin` | /src/util/RovingTabindexMixin.js | |
16
- | `EventEmitterMixin` | /src/util/EventEmitterMixin.js | |
17
- | `ReadyMixin` | /src/util/ReadyMixin.js | |
18
-
19
- ### Static Fields
20
-
21
- | Name | Privacy | Type | Default | Description | Inherited From |
22
- | --------- | ------- | ---- | ------- | ----------- | -------------- |
23
- | `tagName` | | | | | |
24
-
25
- ### Fields
26
-
27
- | Name | Privacy | Type | Default | Description | Inherited From |
28
- | ------------------------- | ------- | ------------------------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------- |
29
- | `size` | | `'xs' \| 'sm' \| 'md' \| 'lg'` | `'md'` | Size variant applied to all child tabs. | |
30
- | `activeTab` | | `string \| undefined` | | The \`name\` value of the currently active tab. | |
31
- | `variant` | | `'full' \| 'menu'` | `'full'` | Layout variant.&#xA;- 'full': tabs scroll horizontally when they overflow (default)&#xA;- 'menu': all tabs are hidden; the active tab label and a chevron dropdown are shown instead | |
32
- | `_initialClassesCaptured` | private | `boolean` | `false` | | |
33
- | `menuWrapper` | private | `HTMLElement \| null` | `null` | | |
34
- | `menuDropdown` | private | `Dropdown \| null` | `null` | | |
35
- | `menuLabel` | private | `HTMLSpanElement \| null` | `null` | | |
36
- | `menuIcon` | private | `HTMLElement \| null` | `null` | | |
37
- | `menuErrorBadge` | private | `HTMLElement \| null` | `null` | | |
38
- | `_dropdownSize` | private | `'sm' \| 'md' \| 'lg'` | | | |
39
- | `_menuIconSize` | private | `'sm' \| 'md'` | | | |
40
-
41
- ### Methods
42
-
43
- | Name | Privacy | Description | Parameters | Return | Inherited From |
44
- | ------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | --------- | ----------------- |
45
- | `emit` | | Dispatches a type-safe CustomEvent with standardized configuration.&#xA;&#xA;All events are configured with:&#xA;- bubbles: true (event propagates up the DOM tree)&#xA;- cancelable: false (event cannot be cancelled)&#xA;- composed: true (event crosses shadow DOM boundaries) | `type: K, detail: UnpackCustomEvent<CustomEventMap[K]>` | `boolean` | EventEmitterMixin |
46
-
47
- ### Events
48
-
49
- | Name | Type | Description | Inherited From |
50
- | ---------------- | ----------------------------- | --------------------------------------------------------------------- | -------------- |
51
- | `btu-tabs-ready` | `CustomEvent` | Fired after first render and initialization | |
52
- | `btu-tabs-show` | `CustomEvent<{name: string}>` | Fired when a tab becomes active | |
53
- | `btu-tabs-hide` | `CustomEvent<{name: string}>` | Fired when a tab is deactivated | |
54
- | `btu-tab-change` | `CustomEvent<{name: string}>` | Fired when a tab is selected (bubbles from btu-tab) | |
55
- | `btu-tab-ready` | `CustomEvent` | Fired when a child tab finishes initialization (bubbles from btu-tab) | |
56
-
57
- ### Attributes
58
-
59
- | Name | Field | Inherited From |
60
- | ------------ | --------- | -------------- |
61
- | `size` | size | |
62
- | `active-tab` | activeTab | |
63
- | `variant` | variant | |
64
-
65
- ### CSS Properties
66
-
67
- | Name | Default | Description |
68
- | ------------------------------- | ------- | ------------------------------------------------------------------------------------------------------- |
69
- | `--tabs-active-color` | | Text and icon color of the active tab (default: gray-700) |
70
- | `--tabs-active-indicator-color` | | Color of the active tab underline indicator (default: primary-500 → primary-700 → primary-900 gradient) |
71
- | `--tabs-border-color` | | Color of the bottom border divider (default: gray-200) |
72
- | `--tabs-color` | | Text and icon color for all tabs (default: gray-500; active/hover tabs use gray-700) |
73
- | `--tabs-background` | | Background color for all tab buttons (default: transparent) |
74
- | `--tabs-container-background` | | Background color of the tabs container (default: theme white) |
75
- | `--tabs-hover-background` | | Background color of a tab on hover (default: gray-100) |
76
- | `--tabs-hover-color` | | Text and icon color of a tab on hover (default: gray-700) |
77
- | `--tabs-gap` | | Spacing between tabs (default: 1rem) |
78
-
79
- <hr/>
80
-
81
- ## Exports
82
-
83
- | Kind | Name | Declaration | Module | Package |
84
- | --------------------------- | ---------- | ----------- | --------------------------- | ------- |
85
- | `js` | `default` | Tabs | src/components/tabs/Tabs.ts | |
86
- | `custom-element-definition` | `btu-tabs` | Tabs | src/components/tabs/Tabs.ts | |
1
+ # `<btu-tabs>`
2
+
3
+ A container component for managing a group of tabs.
4
+
5
+ Provides selection state management, size propagation to child tabs,
6
+ and keyboard navigation following the WAI-ARIA Tabs pattern.
7
+
8
+ When a tab becomes active, direct sibling elements that share the same
9
+ `name` value are shown; other siblings with a `name` attribute are
10
+ hidden. Only direct siblings are managed — nested tab groups control their
11
+ own panels independently.
12
+
13
+ ```js
14
+ import '@brightspot/ui/components/tabs/Tabs.js'
15
+ ```
16
+
17
+ Interactive examples: https://ui.brightspot.com/?path=/docs/components-tabs--docs
18
+
19
+ ## Attributes
20
+
21
+ | Attribute | Property | Type | Default | Description |
22
+ | --- | --- | --- | --- | --- |
23
+ | `size` | `size` | `'xs' \| 'sm' \| 'md' \| 'lg'` | `'md'` | Size variant applied to all child tabs. |
24
+ | `active-tab` | `activeTab` | `string \| undefined` | | The `name` value of the currently active tab. |
25
+ | `variant` | `variant` | `'full' \| 'menu'` | `'full'` | Layout variant. - 'full': tabs scroll horizontally when they overflow (default) - 'menu': all tabs are hidden; the active tab label and a chevron dropdown are shown instead |
26
+
27
+ ## Events
28
+
29
+ | Event | Detail | Description |
30
+ | --- | --- | --- |
31
+ | `btu-tabs-ready` | | Fired after first render and initialization |
32
+ | `btu-tabs-show` | `{name: string}` | Fired when a tab becomes active |
33
+ | `btu-tabs-hide` | `{name: string}` | Fired when a tab is deactivated |
34
+ | `btu-tab-change` | `{name: string}` | Fired when a tab is selected (bubbles from btu-tab) |
35
+ | `btu-tab-ready` | | Fired when a child tab finishes initialization (bubbles from btu-tab) |
36
+
37
+ ## CSS custom properties
38
+
39
+ | Property | Description |
40
+ | --- | --- |
41
+ | `--tabs-active-color` | Text and icon color of the active tab (default: gray-700) |
42
+ | `--tabs-active-indicator-color` | Color of the active tab underline indicator (default: primary-500 → primary-700 → primary-900 gradient) |
43
+ | `--tabs-border-color` | Color of the bottom border divider (default: gray-200) |
44
+ | `--tabs-color` | Text and icon color for all tabs (default: gray-500; active/hover tabs use gray-700) |
45
+ | `--tabs-background` | Background color for all tab buttons (default: transparent) |
46
+ | `--tabs-container-background` | Background color of the tabs container (default: theme white) |
47
+ | `--tabs-hover-background` | Background color of a tab on hover (default: gray-100) |
48
+ | `--tabs-hover-color` | Text and icon color of a tab on hover (default: gray-700) |
49
+ | `--tabs-gap` | Spacing between tabs (default: 1rem) |