@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,40 @@
1
- # `src/components/circular-progress/CircularProgress.ts`:
2
-
3
- ## class: `CircularProgress`, `btu-circular-progress`
4
-
5
- ### Superclass
6
-
7
- | Name | Module | Package |
8
- | ------------ | ------ | ------- |
9
- | `LitElement` | | lit |
10
-
11
- ### Mixins
12
-
13
- | Name | Module | Package |
14
- | ------------------- | ------------------------------ | ------- |
15
- | `ProgressMixin` | /src/util/ProgressMixin.js | |
16
- | `EventEmitterMixin` | /src/util/EventEmitterMixin.js | |
17
- | `ReadyMixin` | /src/util/ReadyMixin.js | |
18
-
19
- ### Fields
20
-
21
- | Name | Privacy | Type | Default | Description | Inherited From |
22
- | ------------------------- | ------- | -------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
23
- | `indeterminate` | | `boolean` | `true` | Whether the progress indicator is indeterminate (animated spinner).
When false, shows determinate progress based on the progress value. | |
24
- | `size` | | `'sm' \| 'md' \| 'lg'` | `'sm'` | Size variant.
- 'sm': Small (16px) - default
- 'md': Medium (32px)
- 'lg': Large (48px) | |
25
- | `color` | | `ProgressColors` | `'primary'` | Color theme of the progress indicator.
Supports: black, white, primary, teal, gray, purple, rose, error, warning, success | ProgressMixin |
26
- | `thickness` | | `number \| undefined` | | Stroke width of the progress indicator. | ProgressMixin |
27
- | `_progress` | private | `number` | `0` | | ProgressMixin |
28
- | `progress` | | `number` | | Progress value for determinate variant. Clamped to 0–100. | ProgressMixin |
29
- | `label` | | `string \| undefined` | | Optional label text to display with the progress indicator. | ProgressMixin |
30
- | `initialAnimation` | | `boolean` | `true` | Whether to animate progress from 0 to target value when component first becomes visible. | ProgressMixin |
31
- | `ariaLabel` | | `string \| null` | `null` | Optional aria-label attribute for screen readers.
Describes what the progress indicator represents. | ProgressMixin |
32
- | `ariaLabelledBy` | | `string \| null` | `null` | Optional aria-labelledby attribute for screen readers.
References the ID of an element that labels the progress indicator. | ProgressMixin |
33
- | `ariaValueText` | | `string \| null` | `null` | Optional aria-valuetext attribute for screen readers.
Provides human-readable text alternative for progress value. | ProgressMixin |
34
- | `completionAnnouncement` | | `string \| undefined` | | Optional message to announce to screen readers when progress reaches 100%.
If not provided, no announcement will be made on completion. | ProgressMixin |
35
- | `_isAnimationInitialized` | private | `boolean` | `false` | | ProgressMixin |
36
- | `_intersectionObserver` | private | `IntersectionObserver \| undefined` | | | ProgressMixin |
37
- | `_hasCompletedAt100` | private | `boolean` | `false` | | ProgressMixin |
38
- | `_hostTag` | private | `'btu-linear-progress' \| 'btu-circular-progress'` | | | ProgressMixin |
39
-
40
- ### Methods
41
-
42
- | Name | Privacy | Description | Parameters | Return | Inherited From |
43
- | ------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | --------- | ----------------- |
44
- | `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 |
45
-
46
- ### Events
47
-
48
- | Name | Type | Description | Inherited From |
49
- | -------------------------------- | ------------- | ------------------------------------------- | -------------- |
50
- | `btu-circular-progress-ready` | `CustomEvent` | Fired after first render and initialization | |
51
- | `btu-circular-progress-complete` | `CustomEvent` | Fired when determinate progress reaches 100 | |
52
-
53
- ### Attributes
54
-
55
- | Name | Field | Inherited From |
56
- | ------------------------- | ---------------------- | -------------- |
57
- | `indeterminate` | indeterminate | |
58
- | `size` | size | |
59
- | `color` | color | ProgressMixin |
60
- | `thickness` | thickness | ProgressMixin |
61
- | `progress` | progress | ProgressMixin |
62
- | `label` | label | ProgressMixin |
63
- | `initial-animation` | initialAnimation | ProgressMixin |
64
- | `aria-label` | ariaLabel | ProgressMixin |
65
- | `aria-labelledby` | ariaLabelledBy | ProgressMixin |
66
- | `aria-valuetext` | ariaValueText | ProgressMixin |
67
- | `completion-announcement` | completionAnnouncement | ProgressMixin |
68
-
69
- ### CSS Properties
70
-
71
- | Name | Default | Description |
72
- | ------------------ | ------- | ------------------------------------------------------- |
73
- | `--progress-color` | | Custom progress indicator color (overrides theme color) |
74
- | `--track-color` | | Track/background color (overrides default gray-100) |
75
- | `--progress-size` | | Custom size in pixels (overrides size preset) |
76
-
77
- <hr/>
78
-
79
- ## Exports
80
-
81
- | Kind | Name | Declaration | Module | Package |
82
- | --------------------------- | ----------------------- | ---------------- | ---------------------------------------------------- | ------- |
83
- | `js` | `default` | CircularProgress | src/components/circular-progress/CircularProgress.ts | |
84
- | `custom-element-definition` | `btu-circular-progress` | CircularProgress | src/components/circular-progress/CircularProgress.ts | |
1
+ # `<btu-circular-progress>`
2
+
3
+ A circular progress indicator for showing loading states or progress.
4
+
5
+ ```js
6
+ import '@brightspot/ui/components/circular-progress/CircularProgress.js'
7
+ ```
8
+
9
+ Interactive examples: https://ui.brightspot.com/?path=/docs/components-circular-progress--docs
10
+
11
+ ## Attributes
12
+
13
+ | Attribute | Property | Type | Default | Description |
14
+ | --- | --- | --- | --- | --- |
15
+ | `indeterminate` | `indeterminate` | `boolean` | `true` | Whether the progress indicator is indeterminate (animated spinner). When false, shows determinate progress based on the progress value. |
16
+ | `size` | `size` | `'sm' \| 'md' \| 'lg'` | `'sm'` | Size variant. - 'sm': Small (16px) - default - 'md': Medium (32px) - 'lg': Large (48px) |
17
+ | `color` | `color` | `ProgressColors` | `'primary'` | Color theme of the progress indicator. Supports: black, white, primary, teal, gray, purple, rose, error, warning, success |
18
+ | `thickness` | `thickness` | `number \| undefined` | | Stroke width of the progress indicator. |
19
+ | `progress` | `progress` | `number` | | Progress value for determinate variant. Clamped to 0–100. |
20
+ | `label` | `label` | `string \| undefined` | | Optional label text to display with the progress indicator. |
21
+ | `initial-animation` | `initialAnimation` | `boolean` | `true` | Whether to animate progress from 0 to target value when component first becomes visible. |
22
+ | `aria-label` | `ariaLabel` | `string \| null` | `null` | Optional aria-label attribute for screen readers. Describes what the progress indicator represents. |
23
+ | `aria-labelledby` | `ariaLabelledBy` | `string \| null` | `null` | Optional aria-labelledby attribute for screen readers. References the ID of an element that labels the progress indicator. |
24
+ | `aria-valuetext` | `ariaValueText` | `string \| null` | `null` | Optional aria-valuetext attribute for screen readers. Provides human-readable text alternative for progress value. |
25
+ | `completion-announcement` | `completionAnnouncement` | `string \| undefined` | | Optional message to announce to screen readers when progress reaches 100%. If not provided, no announcement will be made on completion. |
26
+
27
+ ## Events
28
+
29
+ | Event | Detail | Description |
30
+ | --- | --- | --- |
31
+ | `btu-circular-progress-ready` | | Fired after first render and initialization |
32
+ | `btu-circular-progress-complete` | | Fired when determinate progress reaches 100 |
33
+
34
+ ## CSS custom properties
35
+
36
+ | Property | Description |
37
+ | --- | --- |
38
+ | `--progress-color` | Custom progress indicator color (overrides theme color) |
39
+ | `--track-color` | Track/background color (overrides default gray-100) |
40
+ | `--progress-size` | Custom size in pixels (overrides size preset) |
@@ -1,56 +1,51 @@
1
- # `src/components/copy-to-clipboard/CopyToClipboard.ts`:
1
+ # `<btu-copy-to-clipboard>`
2
2
 
3
- ## class: `CopyToClipboard`, `btu-copy-to-clipboard`
3
+ A button component that copies text to the system clipboard.
4
4
 
5
- ### Superclass
5
+ Provides visual feedback when text is successfully copied by applying
6
+ a temporary state that can be styled with CSS.
6
7
 
7
- | Name | Module | Package |
8
- | ------------ | ------ | ------- |
9
- | `LitElement` | | lit |
8
+ Button styling is inherited from `btu-button-*` classes. Override appearance
9
+ by passing custom classes via the `buttonclasses` attribute.
10
10
 
11
- ### Mixins
11
+ ```js
12
+ import '@brightspot/ui/components/copy-to-clipboard/CopyToClipboard.js'
13
+ ```
12
14
 
13
- | Name | Module | Package |
14
- | ---------------------- | --------------------------------- | ------- |
15
- | `ClipboardMixin` | /src/util/ClipboardMixin.js | |
16
- | `ComponentStatesMixin` | /src/util/ComponentStatesMixin.js | |
17
- | `EventEmitterMixin` | /src/util/EventEmitterMixin.js | |
18
- | `ReadyMixin` | /src/util/ReadyMixin.js | |
15
+ The CMS page defines this element itself, so a plugin can use it there without the import.
19
16
 
20
- ### Fields
17
+ Interactive examples: https://ui.brightspot.com/?path=/docs/components-copy-to-clipboard--docs
21
18
 
22
- | Name | Privacy | Type | Default | Description | Inherited From |
23
- | ---------------- | ------- | -------------------------------- | ------- | ------------------------------------------------------------------------------- | -------------- |
24
- | `copydata` | | `string \| undefined` | | The text to be copied to the system clipboard. | |
25
- | `buttonClasses` | | `string \| undefined` | | Custom CSS classes for the button. If provided, replaces the default classes. | |
26
- | `copiedStateKey` | | `'btu-copy-to-clipboard-copied'` | | Custom state applied briefly after a successful copy; also emitted as an event. | ClipboardMixin |
19
+ ## Attributes
27
20
 
28
- ### Methods
21
+ | Attribute | Property | Type | Default | Description |
22
+ | --- | --- | --- | --- | --- |
23
+ | `copydata` | `copydata` | `string \| undefined` | | The text to be copied to the system clipboard. |
24
+ | `buttonclasses` | `buttonClasses` | `string \| undefined` | | Custom CSS classes for the button. If provided, replaces the default classes. |
29
25
 
30
- | Name | Privacy | Description | Parameters | Return | Inherited From |
31
- | ------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | --------- | ----------------- |
32
- | `copy` | | Copies the copydata to the system clipboard.&#xA;Displays a success state for 3 seconds after copying. | `text: string, timeout` | | ClipboardMixin |
33
- | `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 |
26
+ ## Properties
34
27
 
35
- ### Events
28
+ These have no attribute; set them from JavaScript.
36
29
 
37
- | Name | Type | Description | Inherited From |
38
- | ------------------------------ | ------------- | --------------------------------------------------- | -------------- |
39
- | `btu-copy-to-clipboard-ready` | `CustomEvent` | Fired after first render and initialization | |
40
- | `btu-copy-to-clipboard-copied` | `CustomEvent` | Fired when text is successfully copied to clipboard | |
30
+ | Property | Type | Default | Description |
31
+ | --- | --- | --- | --- |
32
+ | `copiedStateKey` (read-only) | `'btu-copy-to-clipboard-copied'` | | Custom state applied briefly after a successful copy; also emitted as an event. |
41
33
 
42
- ### Attributes
34
+ ## Methods
43
35
 
44
- | Name | Field | Inherited From |
45
- | --------------- | ------------- | -------------- |
46
- | `copydata` | copydata | |
47
- | `buttonclasses` | buttonClasses | |
36
+ | Method | Description |
37
+ | --- | --- |
38
+ | `copy(text: string, timeout: unknown)` | Copies the copydata to the system clipboard. Displays a success state for 3 seconds after copying. |
48
39
 
49
- <hr/>
40
+ ## Events
50
41
 
51
- ## Exports
42
+ | Event | Detail | Description |
43
+ | --- | --- | --- |
44
+ | `btu-copy-to-clipboard-ready` | | Fired after first render and initialization |
45
+ | `btu-copy-to-clipboard-copied` | | Fired when text is successfully copied to clipboard |
52
46
 
53
- | Kind | Name | Declaration | Module | Package |
54
- | --------------------------- | ----------------------- | --------------- | --------------------------------------------------- | ------- |
55
- | `js` | `default` | CopyToClipboard | src/components/copy-to-clipboard/CopyToClipboard.ts | |
56
- | `custom-element-definition` | `btu-copy-to-clipboard` | CopyToClipboard | src/components/copy-to-clipboard/CopyToClipboard.ts | |
47
+ ## CSS states
48
+
49
+ | State | Description |
50
+ | --- | --- |
51
+ | `:state(btu-copy-to-clipboard-copied)` | Applied briefly after a successful copy, targetable via :state(btu-copy-to-clipboard-copied) |
@@ -1,120 +1,74 @@
1
- # `src/components/dropdown/Dropdown.ts`:
2
-
3
- ## class: `Dropdown`, `btu-dropdown`
4
-
5
- ### Superclass
6
-
7
- | Name | Module | Package |
8
- | ------------ | ------ | ------- |
9
- | `LitElement` | | lit |
10
-
11
- ### Mixins
12
-
13
- | Name | Module | Package |
14
- | ------------------- | ------------------------------ | ------- |
15
- | `TooltipMixin` | /src/util/TooltipMixin.js | |
16
- | `EventEmitterMixin` | /src/util/EventEmitterMixin.js | |
17
- | `ReadyMixin` | /src/util/ReadyMixin.js | |
18
-
19
- ### Fields
20
-
21
- | Name | Privacy | Type | Default | Description | Inherited From |
22
- | ------------------ | ------- | ---------------------------------------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
23
- | `label` | | `string` | `''` | Trigger button text. | |
24
- | `open` | | `boolean` | `false` | Panel visibility state. Can be set programmatically (e.g., for tour UIs)&#xA;— syncs to \`showPopover()\`/\`hidePopover()\` in \`updated()\`. | |
25
- | `placement` | | `Placement` | `'bottom-start'` | Panel placement: 'bottom-start', 'bottom-end', 'top-start', 'top-end'. | |
26
- | `size` | | `Size` | `'md'` | Button size: 'sm', 'md', 'lg'. | |
27
- | `disabled` | | `boolean` | `false` | Prevents opening. | |
28
- | `variant` | | `Variant` | `'secondary'` | Button variant: 'primary', 'secondary', 'tertiary', 'primary-clear', 'secondary-clear', 'tertiary-clear'. | |
29
- | `symbol` | | `string` | `''` | Lucide icon symbol for the trigger. | |
30
- | `iconPosition` | | `'leading' \| 'trailing'` | `'leading'` | Icon position: 'leading' or 'trailing'. | |
31
- | `iconOnly` | | `boolean` | `false` | Hides label, shows icon only. | |
32
- | `stayOpenOnSelect` | | `boolean` | `false` | Keeps panel open on item click. | |
33
- | `noChevron` | | `boolean` | `false` | Hides the chevron icon on the trigger button. | |
34
- | `tooltip` | | `string` | `''` | Tooltip text content. Set to empty string to remove the tooltip. | TooltipMixin |
35
- | `tooltipPosition` | | `'top' \| 'bottom' \| 'left' \| 'right'` | `'top'` | Position relative to the host element. Auto-flips when constrained by the viewport. | TooltipMixin |
36
- | `tooltipDelay` | | `number` | `300` | Show delay in milliseconds (hover trigger only). | TooltipMixin |
37
- | `tooltipOffset` | | `TooltipOffset \| null` | `null` | Gap between host and tooltip (sm=4px, md=8px, lg=12px, xl=16px). | TooltipMixin |
38
- | `tooltipNoArrow` | | `boolean` | `false` | Hide the arrow pseudo-element. | TooltipMixin |
39
- | `tooltipTrigger` | | `string` | `'hover focus'` | Space-separated trigger types: 'hover', 'focus', 'click'. | TooltipMixin |
40
- | `_onMouseLeave` | private | | | | TooltipMixin |
41
- | `_onFocusIn` | private | | | | TooltipMixin |
42
- | `_onFocusOut` | private | | | | TooltipMixin |
43
- | `_onClick` | private | | | | TooltipMixin |
44
- | `_onNativeToggle` | private | | | | TooltipMixin |
45
- | `_onKeyDown` | private | | | | TooltipMixin |
46
- | `_onDocumentClick` | private | `((e: MouseEvent) => void) \| null` | `null` | | TooltipMixin |
47
-
48
- ### Methods
49
-
50
- | Name | Privacy | Description | Parameters | Return | Inherited From |
51
- | ------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | --------- | ----------------- |
52
- | `_getButtonClasses` | private | Build the button class string based on variant and size | | `string` | |
53
- | `_showPanel` | private | Show the dropdown panel | | `void` | |
54
- | `_hidePanel` | private | Hide the dropdown panel | | `void` | |
55
- | `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 |
56
-
57
- ### Events
58
-
59
- | Name | Type | Description | Inherited From |
60
- | ---------------------------- | ---------------------------------------------------------------- | ----------------------------------------------------------------------------- | -------------- |
61
- | `btu-dropdown-ready` | `CustomEvent` | Fired after first render and initialization | |
62
- | `btu-dropdown-show` | `CustomEvent` | Fired when the dropdown panel opens | |
63
- | `btu-dropdown-hide` | `CustomEvent` | Fired when the dropdown panel closes | |
64
- | `btu-dropdown-item-select` | `CustomEvent<{label: string, value: string, selected: boolean}>` | Fired when a menu item is activated (bubbles from btu-dropdown-item) | |
65
- | `btu-dropdown-item-favorite` | `CustomEvent<{label: string, favorited: boolean}>` | Fired when a menu item's favorite is toggled (bubbles from btu-dropdown-item) | |
66
-
67
- ### Attributes
68
-
69
- | Name | Field | Inherited From |
70
- | --------------------- | ---------------- | -------------- |
71
- | `label` | label | |
72
- | `open` | open | |
73
- | `placement` | placement | |
74
- | `size` | size | |
75
- | `disabled` | disabled | |
76
- | `variant` | variant | |
77
- | `symbol` | symbol | |
78
- | `icon-position` | iconPosition | |
79
- | `icon-only` | iconOnly | |
80
- | `stay-open-on-select` | stayOpenOnSelect | |
81
- | `no-chevron` | noChevron | |
82
- | `tooltip` | tooltip | TooltipMixin |
83
- | `tooltip-position` | tooltipPosition | TooltipMixin |
84
- | `tooltip-delay` | tooltipDelay | TooltipMixin |
85
- | `tooltip-offset` | tooltipOffset | TooltipMixin |
86
- | `tooltip-no-arrow` | tooltipNoArrow | TooltipMixin |
87
- | `tooltip-trigger` | tooltipTrigger | TooltipMixin |
88
-
89
- ### CSS Properties
90
-
91
- | Name | Default | Description |
92
- | ------------------------------------- | ------- | ------------------------------------------------------------- |
93
- | `--dropdown-panel-background` | | Panel background color (default: white) |
94
- | `--dropdown-panel-border-color` | | Panel border color (default: gray-200) |
95
- | `--dropdown-panel-border-radius` | | Panel border radius (default: borderRadius.lg) |
96
- | `--dropdown-panel-min-width` | | Panel minimum width (default: max(12rem, anchor-size(width))) |
97
- | `--dropdown-item-background` | | Item background color (default: transparent) |
98
- | `--dropdown-item-color` | | Item text color (default: gray-700) |
99
- | `--dropdown-item-hover-background` | | Item hover background (default: gray-100) |
100
- | `--dropdown-item-hover-color` | | Item hover text color (default: gray-900) |
101
- | `--dropdown-item-selected-background` | | Selected item background (default: primary-50) |
102
- | `--dropdown-item-selected-color` | | Selected item text color (default: primary-700) |
103
- | `--dropdown-item-font-size` | | Item font size (default: fontSize.sm) |
104
- | `--dropdown-divider-color` | | Divider line color (default: gray-200) |
105
- | `--dropdown-empty-color` | | Empty state text color (default: gray-400) |
106
-
107
- ### Slots
108
-
109
- | Name | Description |
110
- | ---- | ------------------------------------------------------------------------- |
111
- | | A \`btu-dropdown-menu\` element containing \`btu-dropdown-item\` children |
112
-
113
- <hr/>
114
-
115
- ## Exports
116
-
117
- | Kind | Name | Declaration | Module | Package |
118
- | --------------------------- | -------------- | ----------- | ----------------------------------- | ------- |
119
- | `js` | `default` | Dropdown | src/components/dropdown/Dropdown.ts | |
120
- | `custom-element-definition` | `btu-dropdown` | Dropdown | src/components/dropdown/Dropdown.ts | |
1
+ # `<btu-dropdown>`
2
+
3
+ A dropdown component that renders a trigger button and manages a floating panel
4
+ containing a `btu-dropdown-menu`.
5
+
6
+ Uses the native Popover API and CSS anchor positioning for panel management.
7
+ The trigger button is built with existing `btu-button-*` classes.
8
+
9
+ **Trigger button styling:** Set `--button-*` CSS custom properties on `<btu-dropdown>`
10
+ or a parent element to customize the trigger via CSS inheritance (e.g.,
11
+ `--button-border-radius`, `--button-color-background`). See
12
+ `tailwind-plugin-button.ts` for available props.
13
+
14
+ ```js
15
+ import '@brightspot/ui/components/dropdown/Dropdown.js'
16
+ ```
17
+
18
+ Interactive examples: https://ui.brightspot.com/?path=/docs/components-dropdown--docs
19
+
20
+ ## Attributes
21
+
22
+ | Attribute | Property | Type | Default | Description |
23
+ | --- | --- | --- | --- | --- |
24
+ | `label` | `label` | `string` | `''` | Trigger button text. |
25
+ | `open` | `open` | `boolean` | `false` | Panel visibility state. Can be set programmatically (e.g., for tour UIs) — syncs to `showPopover()`/`hidePopover()` in `updated()`. |
26
+ | `placement` | `placement` | `'bottom-start' \| 'bottom-end' \| 'top-start' \| 'top-end'` | `'bottom-start'` | Panel placement: 'bottom-start', 'bottom-end', 'top-start', 'top-end'. |
27
+ | `size` | `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | Button size: 'sm', 'md', 'lg'. |
28
+ | `disabled` | `disabled` | `boolean` | `false` | Prevents opening. |
29
+ | `variant` | `variant` | `'primary' \| 'secondary' \| 'tertiary' \| 'primary-clear' \| 'secondary-clear' \| 'tertiary-clear'` | `'secondary'` | Button variant: 'primary', 'secondary', 'tertiary', 'primary-clear', 'secondary-clear', 'tertiary-clear'. |
30
+ | `symbol` | `symbol` | `string` | `''` | Lucide icon symbol for the trigger. |
31
+ | `icon-position` | `iconPosition` | `'leading' \| 'trailing'` | `'leading'` | Icon position: 'leading' or 'trailing'. |
32
+ | `icon-only` | `iconOnly` | `boolean` | `false` | Hides label, shows icon only. |
33
+ | `stay-open-on-select` | `stayOpenOnSelect` | `boolean` | `false` | Keeps panel open on item click. |
34
+ | `no-chevron` | `noChevron` | `boolean` | `false` | Hides the chevron icon on the trigger button. |
35
+ | `tooltip` | `tooltip` | `string` | `''` | Tooltip text content. Set to empty string to remove the tooltip. |
36
+ | `tooltip-position` | `tooltipPosition` | `'top' \| 'bottom' \| 'left' \| 'right'` | `'top'` | Position relative to the host element. Auto-flips when constrained by the viewport. |
37
+ | `tooltip-delay` | `tooltipDelay` | `number` | `300` | Show delay in milliseconds (hover trigger only). |
38
+ | `tooltip-offset` | `tooltipOffset` | `'sm' \| 'md' \| 'lg' \| 'xl' \| null` | `null` | Gap between host and tooltip (sm=4px, md=8px, lg=12px, xl=16px). |
39
+ | `tooltip-no-arrow` | `tooltipNoArrow` | `boolean` | `false` | Hide the arrow pseudo-element. |
40
+ | `tooltip-trigger` | `tooltipTrigger` | `string` | `'hover focus'` | Space-separated trigger types: 'hover', 'focus', 'click'. |
41
+
42
+ ## Events
43
+
44
+ | Event | Detail | Description |
45
+ | --- | --- | --- |
46
+ | `btu-dropdown-ready` | | Fired after first render and initialization |
47
+ | `btu-dropdown-show` | | Fired when the dropdown panel opens |
48
+ | `btu-dropdown-hide` | | Fired when the dropdown panel closes |
49
+ | `btu-dropdown-item-select` | `{label: string, value: string, selected: boolean}` | Fired when a menu item is activated (bubbles from btu-dropdown-item) |
50
+ | `btu-dropdown-item-favorite` | `{label: string, favorited: boolean}` | Fired when a menu item's favorite is toggled (bubbles from btu-dropdown-item) |
51
+
52
+ ## Slots
53
+
54
+ | Slot | Description |
55
+ | --- | --- |
56
+ | (default) | A `btu-dropdown-menu` element containing `btu-dropdown-item` children |
57
+
58
+ ## CSS custom properties
59
+
60
+ | Property | Description |
61
+ | --- | --- |
62
+ | `--dropdown-panel-background` | Panel background color (default: white) |
63
+ | `--dropdown-panel-border-color` | Panel border color (default: gray-200) |
64
+ | `--dropdown-panel-border-radius` | Panel border radius (default: borderRadius.lg) |
65
+ | `--dropdown-panel-min-width` | Panel minimum width (default: max(12rem, anchor-size(width))) |
66
+ | `--dropdown-item-background` | Item background color (default: transparent) |
67
+ | `--dropdown-item-color` | Item text color (default: gray-700) |
68
+ | `--dropdown-item-hover-background` | Item hover background (default: gray-100) |
69
+ | `--dropdown-item-hover-color` | Item hover text color (default: gray-900) |
70
+ | `--dropdown-item-selected-background` | Selected item background (default: primary-50) |
71
+ | `--dropdown-item-selected-color` | Selected item text color (default: primary-700) |
72
+ | `--dropdown-item-font-size` | Item font size (default: fontSize.sm) |
73
+ | `--dropdown-divider-color` | Divider line color (default: gray-200) |
74
+ | `--dropdown-empty-color` | Empty state text color (default: gray-400) |
@@ -1,81 +1,45 @@
1
- # `src/components/dropdown/DropdownItem.ts`:
2
-
3
- ## class: `DropdownItem`, `btu-dropdown-item`
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
- | `label` | | `string` | `''` | Display text for the item. | |
23
- | `type` | | `'default' \| 'divider' \| 'subhead'` | `'default'` | Item type: 'default', 'divider', or 'subhead'. | |
24
- | `symbol` | | `string` | `''` | Lucide icon symbol. | |
25
- | `shortcut` | | `string` | `''` | Keyboard shortcut display text. | |
26
- | `value` | | `string` | `''` | Optional data value associated with the item. | |
27
- | `disabled` | | `boolean` | `false` | Whether the item is disabled. | |
28
- | `selected` | | `boolean` | `false` | Whether the item is selected/checked. | |
29
- | `favorited` | | `boolean` | `false` | Whether the item is favorited. | |
30
- | `error` | | `boolean` | `false` | Whether the item has an error. | |
31
-
32
- ### Methods
33
-
34
- | Name | Privacy | Description | Parameters | Return | Inherited From |
35
- | ----------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | --------- | ----------------- |
36
- | `_toggleFavorite` | private | Toggle favorite state | `e: Event` | `void` | |
37
- | `_handleClick` | private | | | `void` | |
38
- | `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 |
39
-
40
- ### Events
41
-
42
- | Name | Type | Description | Inherited From |
43
- | ---------------------------- | ---------------------------------------------------------------- | ------------------------------ | -------------- |
44
- | `btu-dropdown-item-ready` | `CustomEvent` | Fired after first render | |
45
- | `btu-dropdown-item-select` | `CustomEvent<{label: string, value: string, selected: boolean}>` | Fired when item is activated | |
46
- | `btu-dropdown-item-favorite` | `CustomEvent<{label: string, favorited: boolean}>` | Fired when favorite is toggled | |
47
-
48
- ### Attributes
49
-
50
- | Name | Field | Inherited From |
51
- | ----------- | --------- | -------------- |
52
- | `label` | label | |
53
- | `type` | type | |
54
- | `symbol` | symbol | |
55
- | `shortcut` | shortcut | |
56
- | `value` | value | |
57
- | `disabled` | disabled | |
58
- | `selected` | selected | |
59
- | `favorited` | favorited | |
60
- | `error` | error | |
61
-
62
- ### CSS Properties
63
-
64
- | Name | Default | Description |
65
- | ------------------------------------- | ------- | ----------------------------------------------- |
66
- | `--dropdown-item-font-size` | | Item font size (default: theme fontSize.sm) |
67
- | `--dropdown-item-color` | | Item text color (default: gray-700) |
68
- | `--dropdown-item-background` | | Item background color (default: transparent) |
69
- | `--dropdown-item-hover-background` | | Background on hover (default: gray-100) |
70
- | `--dropdown-item-hover-color` | | Text color on hover (default: gray-900) |
71
- | `--dropdown-item-selected-background` | | Background when selected (default: primary-50) |
72
- | `--dropdown-item-selected-color` | | Text color when selected (default: primary-700) |
73
-
74
- <hr/>
75
-
76
- ## Exports
77
-
78
- | Kind | Name | Declaration | Module | Package |
79
- | --------------------------- | ------------------- | ------------ | --------------------------------------- | ------- |
80
- | `js` | `default` | DropdownItem | src/components/dropdown/DropdownItem.ts | |
81
- | `custom-element-definition` | `btu-dropdown-item` | DropdownItem | src/components/dropdown/DropdownItem.ts | |
1
+ # `<btu-dropdown-item>`
2
+
3
+ A menu item component for use inside `btu-dropdown-menu`.
4
+
5
+ Renders as a menu item, divider, or subhead depending on the `type` property.
6
+ Supports checkbox mode (inherited from parent menu), icons, keyboard shortcuts,
7
+ and favorite toggles.
8
+
9
+ ```js
10
+ import '@brightspot/ui/components/dropdown/DropdownItem.js'
11
+ ```
12
+
13
+ ## Attributes
14
+
15
+ | Attribute | Property | Type | Default | Description |
16
+ | --- | --- | --- | --- | --- |
17
+ | `label` | `label` | `string` | `''` | Display text for the item. |
18
+ | `type` | `type` | `'default' \| 'divider' \| 'subhead'` | `'default'` | Item type: 'default', 'divider', or 'subhead'. |
19
+ | `symbol` | `symbol` | `string` | `''` | Lucide icon symbol. |
20
+ | `shortcut` | `shortcut` | `string` | `''` | Keyboard shortcut display text. |
21
+ | `value` | `value` | `string` | `''` | Optional data value associated with the item. |
22
+ | `disabled` | `disabled` | `boolean` | `false` | Whether the item is disabled. |
23
+ | `selected` | `selected` | `boolean` | `false` | Whether the item is selected/checked. |
24
+ | `favorited` | `favorited` | `boolean` | `false` | Whether the item is favorited. |
25
+ | `error` | `error` | `boolean` | `false` | Whether the item has an error. |
26
+
27
+ ## Events
28
+
29
+ | Event | Detail | Description |
30
+ | --- | --- | --- |
31
+ | `btu-dropdown-item-ready` | | Fired after first render |
32
+ | `btu-dropdown-item-select` | `{label: string, value: string, selected: boolean}` | Fired when item is activated |
33
+ | `btu-dropdown-item-favorite` | `{label: string, favorited: boolean}` | Fired when favorite is toggled |
34
+
35
+ ## CSS custom properties
36
+
37
+ | Property | Description |
38
+ | --- | --- |
39
+ | `--dropdown-item-font-size` | Item font size (default: theme fontSize.sm) |
40
+ | `--dropdown-item-color` | Item text color (default: gray-700) |
41
+ | `--dropdown-item-background` | Item background color (default: transparent) |
42
+ | `--dropdown-item-hover-background` | Background on hover (default: gray-100) |
43
+ | `--dropdown-item-hover-color` | Text color on hover (default: gray-900) |
44
+ | `--dropdown-item-selected-background` | Background when selected (default: primary-50) |
45
+ | `--dropdown-item-selected-color` | Text color when selected (default: primary-700) |