@brightspot/ui 3.0.1-cms-ui-migration.0 → 3.0.1-cms-ui-migration.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 (719) hide show
  1. package/dist/custom-elements.json +1508 -1508
  2. package/dist/storybook/assets/{ActionBar.stories-CXEvFUN5.js → ActionBar.stories-BhdqLyzJ.js} +1 -1
  3. package/dist/storybook/assets/{ActionItem.stories-8-qQmVGz.js → ActionItem.stories-17zjMCkO.js} +1 -1
  4. package/dist/storybook/assets/{Avatar.stories-LOTCiTgV.js → Avatar.stories-C5m3-zOH.js} +1 -1
  5. package/dist/storybook/assets/{AvatarGroup.stories-N17TVn4O.js → AvatarGroup.stories-DE88PJ6w.js} +1 -1
  6. package/dist/storybook/assets/{Badge.stories-2IRfk8Ri.js → Badge.stories-D905HmvO.js} +1 -1
  7. package/dist/storybook/assets/{Button-CQ2CjiFm.js → Button-ANyLESGb.js} +1 -1
  8. package/dist/storybook/assets/{Button.stories-DwyviUHj.js → Button.stories-DbH6q5L3.js} +1 -1
  9. package/dist/storybook/assets/{ButtonGroup.stories-D6nkkXxD.js → ButtonGroup.stories-loqgAB7p.js} +1 -1
  10. package/dist/storybook/assets/{Celebrate.stories-DtKNptXA.js → Celebrate.stories-CRO3rSgp.js} +1 -1
  11. package/dist/storybook/assets/{Checkbox.stories--fetKLgV.js → Checkbox.stories-SZtgfbFe.js} +1 -1
  12. package/dist/storybook/assets/{CircularProgress.stories-vK3MWdEg.js → CircularProgress.stories-VayPxO4M.js} +1 -1
  13. package/dist/storybook/assets/{ClipboardMixin.stories-BXOX2e9A.js → ClipboardMixin.stories-0EB2O2zT.js} +1 -1
  14. package/dist/storybook/assets/{Color-6BZIO3FS-DIO6ExZa.js → Color-6BZIO3FS-CFpcD80i.js} +1 -1
  15. package/dist/storybook/assets/{Colors.stories-Z-o0Dmyi.js → Colors.stories-BJGM6xnp.js} +1 -1
  16. package/dist/storybook/assets/{CombinedEffects.stories-BIvRmEL2.js → CombinedEffects.stories-DUwocYcn.js} +1 -1
  17. package/dist/storybook/assets/{ComponentStatesMixin-BeLIKOsg.js → ComponentStatesMixin-MUqdPCf7.js} +1 -1
  18. package/dist/storybook/assets/{ComponentStatesMixin.stories-u03jgLUU.js → ComponentStatesMixin.stories-DjrxNwE7.js} +1 -1
  19. package/dist/storybook/assets/{CopyToClipboard.stories-D23guAYu.js → CopyToClipboard.stories-DptOcPq6.js} +1 -1
  20. package/dist/storybook/assets/{Debounce.stories-Bz3JaQJY.js → Debounce.stories-BbcIWmhD.js} +1 -1
  21. package/dist/storybook/assets/{DocsRenderer-LL677BLK-CaEKjMeC.js → DocsRenderer-LL677BLK-Yy8fjeNG.js} +3 -3
  22. package/dist/storybook/assets/{Dropdown.stories-CNxtx8UX.js → Dropdown.stories-Du3LrBR6.js} +1 -1
  23. package/dist/storybook/assets/{EmptyState.stories-Ck5T6q1T.js → EmptyState.stories-Dy9P8aOY.js} +1 -1
  24. package/dist/storybook/assets/{Events.stories-Cx10pvVB.js → Events.stories-DvdVQxDf.js} +1 -1
  25. package/dist/storybook/assets/{Heading.stories-mbkSoA5r.js → Heading.stories-BQ1jFOKn.js} +1 -1
  26. package/dist/storybook/assets/{HueRipple.stories-B-DDviMh.js → HueRipple.stories-CrZFjnRl.js} +1 -1
  27. package/dist/storybook/assets/{Icon.stories-Dodo1jjZ.js → Icon.stories-C2Tj8Lx1.js} +1 -1
  28. package/dist/storybook/assets/{IconButton.stories-eAU6vNiX.js → IconButton.stories-DFqouOJb.js} +1 -1
  29. package/dist/storybook/assets/{LinearProgress.stories-BqAUCgwy.js → LinearProgress.stories-DtNw3QX3.js} +1 -1
  30. package/dist/storybook/assets/{Pagination.stories-CVK8mlEU.js → Pagination.stories-CFiZ9APs.js} +1 -1
  31. package/dist/storybook/assets/{Popover.stories-CC2R-jiv.js → Popover.stories-DkkTuYag.js} +1 -1
  32. package/dist/storybook/assets/{ReadyMixin-CAkCCAOH.js → ReadyMixin-BA01Vm_B.js} +1 -1
  33. package/dist/storybook/assets/{RovingTabindexMixin.stories-Dgm5izU_.js → RovingTabindexMixin.stories-BesAqt48.js} +1 -1
  34. package/dist/storybook/assets/{Rtc.stories-D9uVCq71.js → Rtc.stories-iTw43rjp.js} +1 -1
  35. package/dist/storybook/assets/{ScrollShadow.stories-D5GJ6Zes.js → ScrollShadow.stories-QYqQCcAo.js} +1 -1
  36. package/dist/storybook/assets/{Switch.stories-D7HV0v6i.js → Switch.stories-BKArq9Mk.js} +1 -1
  37. package/dist/storybook/assets/{Tab.stories-CwHBngmO.js → Tab.stories-8UdDPvE5.js} +1 -1
  38. package/dist/storybook/assets/{Tabs.stories-D87ILflp.js → Tabs.stories-BPGMZ552.js} +1 -1
  39. package/dist/storybook/assets/{Throttle.stories-C13Vl7yt.js → Throttle.stories-CYl5d0r6.js} +1 -1
  40. package/dist/storybook/assets/{Tooltip.stories-BRmAKppC.js → Tooltip.stories-cZ0zSlwX.js} +1 -1
  41. package/dist/storybook/assets/{Upload.stories-CvceXasD.js → Upload.stories-CPC7N0Ed.js} +1 -1
  42. package/dist/storybook/assets/{UploadItem.stories-BF6c7tVM.js → UploadItem.stories-D0LClT0a.js} +1 -1
  43. package/dist/storybook/assets/{Welcome.stories-Ciht_H8A.js → Welcome.stories-C8JUaRas.js} +1 -1
  44. package/dist/storybook/assets/{Widget.stories-30UYw1gn.js → Widget.stories-C1FxF24-.js} +1 -1
  45. package/dist/storybook/assets/{WithTooltip-65CFNBJE-Q8AG_oZS.js → WithTooltip-65CFNBJE-BMBo-fie.js} +1 -1
  46. package/dist/storybook/assets/{blocks-DIrsUt2U.js → blocks-BTsuXRXZ.js} +5 -5
  47. package/dist/storybook/assets/{formatter-EIJCOSYU-BcNb3EA1.js → formatter-EIJCOSYU-BJ1Cwrpx.js} +1 -1
  48. package/dist/storybook/assets/if-defined-BPCd2NXs.js +1 -0
  49. package/dist/storybook/assets/{iframe-D5Uwm8Zd.js → iframe-B3YWTqkR.js} +4 -4
  50. package/dist/storybook/assets/{index-BOlx3-q7.js → index-BBUTVEdP.js} +1 -1
  51. package/dist/storybook/assets/{onFind-Cp2DO8R2.js → onFind-NC0lGo-r.js} +1 -1
  52. package/dist/storybook/assets/{onFind.stories-BDK06xaW.js → onFind.stories-CqbwQgQF.js} +1 -1
  53. package/dist/storybook/assets/{onRemove.stories-TSKvqih3.js → onRemove.stories-Y8Ycs77o.js} +1 -1
  54. package/dist/storybook/assets/{onVisible.stories-DiOPobn8.js → onVisible.stories-CcLUE35q.js} +1 -1
  55. package/dist/storybook/assets/{style-map-Cy6U2K_U.js → style-map-MSB_ngx3.js} +1 -1
  56. package/dist/storybook/assets/{syntaxhighlighter-ED5Y7EFY-NNCQVsSv.js → syntaxhighlighter-ED5Y7EFY-BjkjEDMG.js} +1 -1
  57. package/dist/storybook/iframe.html +1 -1
  58. package/dist/storybook/project.json +1 -1
  59. package/package.json +2 -2
  60. package/src/legacy/tool-ui/src/AIInline.css +123 -0
  61. package/src/legacy/tool-ui/src/ActionBar.css +41 -0
  62. package/src/legacy/tool-ui/src/Admin.css +258 -0
  63. package/src/legacy/tool-ui/src/AdobeStock.css +3 -0
  64. package/src/legacy/tool-ui/src/AnalyticsWidget.css +34 -0
  65. package/src/legacy/tool-ui/src/AnalyticsWidget.ts +158 -0
  66. package/src/legacy/tool-ui/src/Apis.css +31 -0
  67. package/src/legacy/tool-ui/src/AppetizeioEmbedded.css +58 -0
  68. package/src/legacy/tool-ui/src/AssociatedContentWidget.css +68 -0
  69. package/src/legacy/tool-ui/src/AutoExpand.css +33 -0
  70. package/src/legacy/tool-ui/src/Avatar.css +31 -0
  71. package/src/legacy/tool-ui/src/BackgroundTasks.css +29 -0
  72. package/src/legacy/tool-ui/src/Base.css +80 -0
  73. package/src/legacy/tool-ui/src/Board.css +160 -0
  74. package/src/legacy/tool-ui/src/Board.ts +515 -0
  75. package/src/legacy/tool-ui/src/BroadcastAlertBanner.ts +93 -0
  76. package/src/legacy/tool-ui/src/BulkUpload.css +51 -0
  77. package/src/legacy/tool-ui/src/BulkWorkflow.css +47 -0
  78. package/src/legacy/tool-ui/src/BulkWorkflow.ts +110 -0
  79. package/src/legacy/tool-ui/src/BulletedList.css +11 -0
  80. package/src/legacy/tool-ui/src/CIGCluster/README.md +32 -0
  81. package/src/legacy/tool-ui/src/CIGCluster/index.ts +144 -0
  82. package/src/legacy/tool-ui/src/CIGCluster.css +60 -0
  83. package/src/legacy/tool-ui/src/Calendar.css +110 -0
  84. package/src/legacy/tool-ui/src/Card.css +28 -0
  85. package/src/legacy/tool-ui/src/Celebrate.ts +87 -0
  86. package/src/legacy/tool-ui/src/Chart.ts +53 -0
  87. package/src/legacy/tool-ui/src/ChartCompat.ts +413 -0
  88. package/src/legacy/tool-ui/src/ChartTable.ts +22 -0
  89. package/src/legacy/tool-ui/src/Checkbox.css +22 -0
  90. package/src/legacy/tool-ui/src/CodeMirror.css +161 -0
  91. package/src/legacy/tool-ui/src/Collections.css +74 -0
  92. package/src/legacy/tool-ui/src/ColorInputSpectrum.css +140 -0
  93. package/src/legacy/tool-ui/src/ComboInput.css +253 -0
  94. package/src/legacy/tool-ui/src/Compat.css +383 -0
  95. package/src/legacy/tool-ui/src/ComponentStatesMixin.ts +27 -0
  96. package/src/legacy/tool-ui/src/ContentColors.css +19 -0
  97. package/src/legacy/tool-ui/src/ContentEdit.css +1065 -0
  98. package/src/legacy/tool-ui/src/ContentEditDrawer.css +274 -0
  99. package/src/legacy/tool-ui/src/ContentEditDrawer.ts +217 -0
  100. package/src/legacy/tool-ui/src/ContentEditPanel.ts +188 -0
  101. package/src/legacy/tool-ui/src/ContentEditSites.ts +101 -0
  102. package/src/legacy/tool-ui/src/ContentForm.css +87 -0
  103. package/src/legacy/tool-ui/src/ContentForm.ts +104 -0
  104. package/src/legacy/tool-ui/src/ContentInputGroup.css +678 -0
  105. package/src/legacy/tool-ui/src/ContentInputGroup.ts +86 -0
  106. package/src/legacy/tool-ui/src/ContentReporting.css +54 -0
  107. package/src/legacy/tool-ui/src/ContentSelector.css +215 -0
  108. package/src/legacy/tool-ui/src/ContentSelectorActions.ts +428 -0
  109. package/src/legacy/tool-ui/src/ContentSummary.css +176 -0
  110. package/src/legacy/tool-ui/src/ContentSummary.ts +223 -0
  111. package/src/legacy/tool-ui/src/ContentTemplatesWidget.css +54 -0
  112. package/src/legacy/tool-ui/src/ContentTools.css +109 -0
  113. package/src/legacy/tool-ui/src/ContentType.css +27 -0
  114. package/src/legacy/tool-ui/src/Conversation.css +325 -0
  115. package/src/legacy/tool-ui/src/Conversation.ts +836 -0
  116. package/src/legacy/tool-ui/src/CopySiteWidget.css +8 -0
  117. package/src/legacy/tool-ui/src/CopyToClipboard/README.md +23 -0
  118. package/src/legacy/tool-ui/src/CopyToClipboard/index.ts +54 -0
  119. package/src/legacy/tool-ui/src/CopyToClipboard.css +10 -0
  120. package/src/legacy/tool-ui/src/Crosslinker.css +486 -0
  121. package/src/legacy/tool-ui/src/Crosslinker.ts +46 -0
  122. package/src/legacy/tool-ui/src/CustomKeyboard.css +25 -0
  123. package/src/legacy/tool-ui/src/DashboardRow.css +54 -0
  124. package/src/legacy/tool-ui/src/DashboardWidget.css +444 -0
  125. package/src/legacy/tool-ui/src/DateStringField.css +78 -0
  126. package/src/legacy/tool-ui/src/DateTimeInput.css +11 -0
  127. package/src/legacy/tool-ui/src/Dialog.css +441 -0
  128. package/src/legacy/tool-ui/src/Diff.css +280 -0
  129. package/src/legacy/tool-ui/src/Diff.ts +89 -0
  130. package/src/legacy/tool-ui/src/Downloads.css +7 -0
  131. package/src/legacy/tool-ui/src/Dropdown.css +63 -0
  132. package/src/legacy/tool-ui/src/EditFieldUpdateCache.ts +129 -0
  133. package/src/legacy/tool-ui/src/EmbeddedInputGroup/README.md +3 -0
  134. package/src/legacy/tool-ui/src/EmbeddedInputGroup/index.ts +189 -0
  135. package/src/legacy/tool-ui/src/EmbeddedInputGroup.css +75 -0
  136. package/src/legacy/tool-ui/src/Enhancement.css +135 -0
  137. package/src/legacy/tool-ui/src/Entry.ts +875 -0
  138. package/src/legacy/tool-ui/src/EventEmitterMixin.ts +71 -0
  139. package/src/legacy/tool-ui/src/ExternalCalendars.ts +34 -0
  140. package/src/legacy/tool-ui/src/ExternalItemObjects.ts +36 -0
  141. package/src/legacy/tool-ui/src/FileInput.css +150 -0
  142. package/src/legacy/tool-ui/src/FocusRegions.ts +530 -0
  143. package/src/legacy/tool-ui/src/FormFilter.css +93 -0
  144. package/src/legacy/tool-ui/src/FullscreenView.css +152 -0
  145. package/src/legacy/tool-ui/src/GCA.css +9 -0
  146. package/src/legacy/tool-ui/src/Global.d.ts +219 -0
  147. package/src/legacy/tool-ui/src/GraphQL.css +74 -0
  148. package/src/legacy/tool-ui/src/GraphQLApis.css +4 -0
  149. package/src/legacy/tool-ui/src/Guide.css +193 -0
  150. package/src/legacy/tool-ui/src/GuideField.css +25 -0
  151. package/src/legacy/tool-ui/src/Hierarchy.css +68 -0
  152. package/src/legacy/tool-ui/src/Icon/index.css +11 -0
  153. package/src/legacy/tool-ui/src/Icon/index.ts +69 -0
  154. package/src/legacy/tool-ui/src/ImageEditor.css +522 -0
  155. package/src/legacy/tool-ui/src/ImageRecognition.css +11 -0
  156. package/src/legacy/tool-ui/src/Incompatible.css +42 -0
  157. package/src/legacy/tool-ui/src/InputRow.css +26 -0
  158. package/src/legacy/tool-ui/src/Label.css +33 -0
  159. package/src/legacy/tool-ui/src/LabeledCheckbox.css +13 -0
  160. package/src/legacy/tool-ui/src/Link.css +4 -0
  161. package/src/legacy/tool-ui/src/LinkCarousel.css +77 -0
  162. package/src/legacy/tool-ui/src/LinkList.css +53 -0
  163. package/src/legacy/tool-ui/src/LinkTable.css +105 -0
  164. package/src/legacy/tool-ui/src/ListManager.css +27 -0
  165. package/src/legacy/tool-ui/src/LiveBlog.css +290 -0
  166. package/src/legacy/tool-ui/src/LiveBlog.ts +47 -0
  167. package/src/legacy/tool-ui/src/Loader.svg +16 -0
  168. package/src/legacy/tool-ui/src/LocationMap.css +25 -0
  169. package/src/legacy/tool-ui/src/LookingGlass.css +31 -0
  170. package/src/legacy/tool-ui/src/LucideDynamicLoader.ts +31 -0
  171. package/src/legacy/tool-ui/src/MailPublishing.css +32 -0
  172. package/src/legacy/tool-ui/src/Mention.css +34 -0
  173. package/src/legacy/tool-ui/src/MenuView.css +659 -0
  174. package/src/legacy/tool-ui/src/Message.css +239 -0
  175. package/src/legacy/tool-ui/src/Month.css +65 -0
  176. package/src/legacy/tool-ui/src/NavRail/index.css +47 -0
  177. package/src/legacy/tool-ui/src/NavRail/index.ts +40 -0
  178. package/src/legacy/tool-ui/src/Notification.css +197 -0
  179. package/src/legacy/tool-ui/src/Notifications.ts +139 -0
  180. package/src/legacy/tool-ui/src/Page.css +884 -0
  181. package/src/legacy/tool-ui/src/PageNav.ts +108 -0
  182. package/src/legacy/tool-ui/src/PaginatedResult.css +20 -0
  183. package/src/legacy/tool-ui/src/Pagination.css +119 -0
  184. package/src/legacy/tool-ui/src/PastePopup.css +11 -0
  185. package/src/legacy/tool-ui/src/PlaceholderEditableMixin.ts +86 -0
  186. package/src/legacy/tool-ui/src/Popup.css +413 -0
  187. package/src/legacy/tool-ui/src/PostPublish.ts +12 -0
  188. package/src/legacy/tool-ui/src/PrePublish.ts +63 -0
  189. package/src/legacy/tool-ui/src/Preview.css +134 -0
  190. package/src/legacy/tool-ui/src/PrivilegeAccessWidget.css +27 -0
  191. package/src/legacy/tool-ui/src/ProfileDropdown.css +95 -0
  192. package/src/legacy/tool-ui/src/ProseMirror-table.css +159 -0
  193. package/src/legacy/tool-ui/src/ProseMirror.css +180 -0
  194. package/src/legacy/tool-ui/src/ProseMirrorContainer.css +40 -0
  195. package/src/legacy/tool-ui/src/ProseMirrorEnhancementMenu.css +68 -0
  196. package/src/legacy/tool-ui/src/ProseMirrorFindReplace.css +132 -0
  197. package/src/legacy/tool-ui/src/QueryField.css +77 -0
  198. package/src/legacy/tool-ui/src/README.md +235 -0
  199. package/src/legacy/tool-ui/src/RadialProgressBar.css +11 -0
  200. package/src/legacy/tool-ui/src/RadialProgressBar.ts +73 -0
  201. package/src/legacy/tool-ui/src/Radio.css +22 -0
  202. package/src/legacy/tool-ui/src/RepeatableContentInputGroup.css +470 -0
  203. package/src/legacy/tool-ui/src/RepeatableContentSelector.css +177 -0
  204. package/src/legacy/tool-ui/src/RepeatableTextInput.css +71 -0
  205. package/src/legacy/tool-ui/src/Revision.css +70 -0
  206. package/src/legacy/tool-ui/src/Revisions.css +292 -0
  207. package/src/legacy/tool-ui/src/RichText.css +15 -0
  208. package/src/legacy/tool-ui/src/SearchControlsToggle.ts +90 -0
  209. package/src/legacy/tool-ui/src/SearchFields.css +109 -0
  210. package/src/legacy/tool-ui/src/SearchInput.css +27 -0
  211. package/src/legacy/tool-ui/src/SearchResult.css +523 -0
  212. package/src/legacy/tool-ui/src/SearchWidget.css +441 -0
  213. package/src/legacy/tool-ui/src/SearchWidget.ts +154 -0
  214. package/src/legacy/tool-ui/src/SearchWidgetAdvanced.css +109 -0
  215. package/src/legacy/tool-ui/src/SharePreview.css +71 -0
  216. package/src/legacy/tool-ui/src/SkipLinks.css +23 -0
  217. package/src/legacy/tool-ui/src/SkipLinks.ts +112 -0
  218. package/src/legacy/tool-ui/src/SlackAuthentication.css +9 -0
  219. package/src/legacy/tool-ui/src/Sortable.css +50 -0
  220. package/src/legacy/tool-ui/src/Spellcheck.css +34 -0
  221. package/src/legacy/tool-ui/src/StyleEmbeddedContent.css +62 -0
  222. package/src/legacy/tool-ui/src/Suggestions.css +53 -0
  223. package/src/legacy/tool-ui/src/Suggestions.ts +209 -0
  224. package/src/legacy/tool-ui/src/TabBar.css +174 -0
  225. package/src/legacy/tool-ui/src/TabContainer.css +40 -0
  226. package/src/legacy/tool-ui/src/Table.css +107 -0
  227. package/src/legacy/tool-ui/src/TableSizerPopup.css +42 -0
  228. package/src/legacy/tool-ui/src/Taxonomy.css +60 -0
  229. package/src/legacy/tool-ui/src/TextInput.css +40 -0
  230. package/src/legacy/tool-ui/src/Theme.css +64 -0
  231. package/src/legacy/tool-ui/src/ThemeBundleEditor.css +93 -0
  232. package/src/legacy/tool-ui/src/TimedContent.css +74 -0
  233. package/src/legacy/tool-ui/src/Toggleable/README.md +90 -0
  234. package/src/legacy/tool-ui/src/Toggleable/index.ts +230 -0
  235. package/src/legacy/tool-ui/src/Translation.css +115 -0
  236. package/src/legacy/tool-ui/src/Translation.ts +20 -0
  237. package/src/legacy/tool-ui/src/TreeList.css +45 -0
  238. package/src/legacy/tool-ui/src/Types.ts +44 -0
  239. package/src/legacy/tool-ui/src/Utilities.css +7 -0
  240. package/src/legacy/tool-ui/src/ViewMirror.css +7 -0
  241. package/src/legacy/tool-ui/src/ViewPreview.css +59 -0
  242. package/src/legacy/tool-ui/src/ViewWatchers.css +69 -0
  243. package/src/legacy/tool-ui/src/Viewers.css +21 -0
  244. package/src/legacy/tool-ui/src/Week.css +23 -0
  245. package/src/legacy/tool-ui/src/Widget.css +622 -0
  246. package/src/legacy/tool-ui/src/WorkStreams.css +97 -0
  247. package/src/legacy/tool-ui/src/Workflow.css +100 -0
  248. package/src/legacy/tool-ui/src/Workstreams.ts +52 -0
  249. package/src/legacy/tool-ui/src/WrappingMixin.ts +77 -0
  250. package/src/legacy/tool-ui/src/additional-tailwind-classes.txt +205 -0
  251. package/src/legacy/tool-ui/src/bsp-tracking.d.ts +27 -0
  252. package/src/legacy/tool-ui/src/dialog/README.md +83 -0
  253. package/src/legacy/tool-ui/src/dialog/index.ts +465 -0
  254. package/src/legacy/tool-ui/src/dom/README.md +63 -0
  255. package/src/legacy/tool-ui/src/dom/Tether.ts +135 -0
  256. package/src/legacy/tool-ui/src/dom/TetherLayout.ts +149 -0
  257. package/src/legacy/tool-ui/src/dom/aria.ts +123 -0
  258. package/src/legacy/tool-ui/src/dom/closest.ts +5 -0
  259. package/src/legacy/tool-ui/src/dom/create.ts +46 -0
  260. package/src/legacy/tool-ui/src/dom/find.ts +5 -0
  261. package/src/legacy/tool-ui/src/dom/findAll.ts +5 -0
  262. package/src/legacy/tool-ui/src/dom/focusable.ts +29 -0
  263. package/src/legacy/tool-ui/src/dom/ifClick.ts +18 -0
  264. package/src/legacy/tool-ui/src/dom/ifMatches.ts +17 -0
  265. package/src/legacy/tool-ui/src/dom/ifUnmodified.ts +16 -0
  266. package/src/legacy/tool-ui/src/dom/insertBefore.ts +4 -0
  267. package/src/legacy/tool-ui/src/dom/insertFirst.ts +4 -0
  268. package/src/legacy/tool-ui/src/dom/insertLast.ts +4 -0
  269. package/src/legacy/tool-ui/src/dom/keyboard.ts +176 -0
  270. package/src/legacy/tool-ui/src/dom/onFind.ts +277 -0
  271. package/src/legacy/tool-ui/src/dom/onFindOnce.ts +31 -0
  272. package/src/legacy/tool-ui/src/dom/onRTEReady.ts +105 -0
  273. package/src/legacy/tool-ui/src/dom/onRemove.ts +27 -0
  274. package/src/legacy/tool-ui/src/dom/onVisible.ts +29 -0
  275. package/src/legacy/tool-ui/src/dom/popupMenu.d.ts +6 -0
  276. package/src/legacy/tool-ui/src/dom/popupMenu.js +282 -0
  277. package/src/legacy/tool-ui/src/dom/previousUntil.ts +22 -0
  278. package/src/legacy/tool-ui/src/dropdown/README.md +9 -0
  279. package/src/legacy/tool-ui/src/dropdown/index.ts +105 -0
  280. package/src/legacy/tool-ui/src/form/CodeInput/CodeMirror.less +168 -0
  281. package/src/legacy/tool-ui/src/form/CodeInput/CodeMirror.ts +15 -0
  282. package/src/legacy/tool-ui/src/form/CodeInput/index.ts +86 -0
  283. package/src/legacy/tool-ui/src/form/FormFilter/README.md +31 -0
  284. package/src/legacy/tool-ui/src/form/FormFilter/index.ts +340 -0
  285. package/src/legacy/tool-ui/src/form/Input/index.less +43 -0
  286. package/src/legacy/tool-ui/src/form/Input/index.ts +92 -0
  287. package/src/legacy/tool-ui/src/form/SearchInput/README.md +23 -0
  288. package/src/legacy/tool-ui/src/form/SearchInput/index.ts +89 -0
  289. package/src/legacy/tool-ui/src/form/TextAreaInput/index.less +11 -0
  290. package/src/legacy/tool-ui/src/form/TextAreaInput/index.ts +36 -0
  291. package/src/legacy/tool-ui/src/graphql/GraphQL.ts +49 -0
  292. package/src/legacy/tool-ui/src/graphql/GraphQLPreview.ts +23 -0
  293. package/src/legacy/tool-ui/src/main/resources/settings.properties +1 -0
  294. package/src/legacy/tool-ui/src/main/webapp/WEB-INF/web.xml +81 -0
  295. package/src/legacy/tool-ui/src/main/webapp/script/bsp-uploader.js +170 -0
  296. package/src/legacy/tool-ui/src/main/webapp/script/bsp-utils.js +393 -0
  297. package/src/legacy/tool-ui/src/main/webapp/script/content/layout-element.js +141 -0
  298. package/src/legacy/tool-ui/src/main/webapp/script/input/query.js +78 -0
  299. package/src/legacy/tool-ui/src/main/webapp/script/input/workflow.js +718 -0
  300. package/src/legacy/tool-ui/src/main/webapp/script/jquery.extra.js +633 -0
  301. package/src/legacy/tool-ui/src/main/webapp/script/v3/Dropbox.js +18 -0
  302. package/src/legacy/tool-ui/src/main/webapp/script/v3/EditFieldUpdate.js +406 -0
  303. package/src/legacy/tool-ui/src/main/webapp/script/v3/EditFieldUpdateCache.js +1 -0
  304. package/src/legacy/tool-ui/src/main/webapp/script/v3/Notification.js +151 -0
  305. package/src/legacy/tool-ui/src/main/webapp/script/v3/content/edit.js +194 -0
  306. package/src/legacy/tool-ui/src/main/webapp/script/v3/content/state.js +785 -0
  307. package/src/legacy/tool-ui/src/main/webapp/script/v3/csrf.js +35 -0
  308. package/src/legacy/tool-ui/src/main/webapp/script/v3/dashboard.js +65 -0
  309. package/src/legacy/tool-ui/src/main/webapp/script/v3/input/dataTransfer.js +129 -0
  310. package/src/legacy/tool-ui/src/main/webapp/script/v3/input/file.js +433 -0
  311. package/src/legacy/tool-ui/src/main/webapp/script/v3/input/object.js +743 -0
  312. package/src/legacy/tool-ui/src/main/webapp/script/v3/input/read-only.js +17 -0
  313. package/src/legacy/tool-ui/src/main/webapp/script/v3/jquery.frame.js +478 -0
  314. package/src/legacy/tool-ui/src/main/webapp/script/v3/jquery.repeatable.js +2406 -0
  315. package/src/legacy/tool-ui/src/main/webapp/script/v3/plugin/popup.d.ts +2 -0
  316. package/src/legacy/tool-ui/src/main/webapp/script/v3/plugin/popup.js +446 -0
  317. package/src/legacy/tool-ui/src/main/webapp/script/v3/search-filters.js +62 -0
  318. package/src/legacy/tool-ui/src/main/webapp/script/v3/search.js +53 -0
  319. package/src/legacy/tool-ui/src/main/webapp/script/v3.js +1049 -0
  320. package/src/legacy/tool-ui/src/main/webapp/style/v3/ExternalPreviewFrame.less +6 -0
  321. package/src/legacy/tool-ui/src/main/webapp/style/v3/WidgetSearchAdvancedQuery.less +24 -0
  322. package/src/legacy/tool-ui/src/main/webapp/style/v3/element.less +11 -0
  323. package/src/legacy/tool-ui/src/main/webapp/style/v3/icon/ajax-loader.gif +0 -0
  324. package/src/legacy/tool-ui/src/main/webapp/style/v3/index.less +98 -0
  325. package/src/legacy/tool-ui/src/main/webapp/style/v3/repeatable.less +89 -0
  326. package/src/legacy/tool-ui/src/main/webapp/style/v3/variables.less +53 -0
  327. package/src/legacy/tool-ui/src/main/webapp/v4/ActionBar.less +44 -0
  328. package/src/legacy/tool-ui/src/main/webapp/v4/Admin.js +16 -0
  329. package/src/legacy/tool-ui/src/main/webapp/v4/Admin.less +253 -0
  330. package/src/legacy/tool-ui/src/main/webapp/v4/AdobeStock.less +20 -0
  331. package/src/legacy/tool-ui/src/main/webapp/v4/Apis.less +43 -0
  332. package/src/legacy/tool-ui/src/main/webapp/v4/AutoExpand.js +84 -0
  333. package/src/legacy/tool-ui/src/main/webapp/v4/AutoExpand.less +36 -0
  334. package/src/legacy/tool-ui/src/main/webapp/v4/AutoSubmit.js +68 -0
  335. package/src/legacy/tool-ui/src/main/webapp/v4/Avatar.less +30 -0
  336. package/src/legacy/tool-ui/src/main/webapp/v4/BackgroundTasks.less +52 -0
  337. package/src/legacy/tool-ui/src/main/webapp/v4/Badge.less +10 -0
  338. package/src/legacy/tool-ui/src/main/webapp/v4/Board.less +311 -0
  339. package/src/legacy/tool-ui/src/main/webapp/v4/Bridge.js +536 -0
  340. package/src/legacy/tool-ui/src/main/webapp/v4/BulletedList.less +17 -0
  341. package/src/legacy/tool-ui/src/main/webapp/v4/Button.less +105 -0
  342. package/src/legacy/tool-ui/src/main/webapp/v4/CIGCluster.less +55 -0
  343. package/src/legacy/tool-ui/src/main/webapp/v4/Card.less +53 -0
  344. package/src/legacy/tool-ui/src/main/webapp/v4/Checkbox.less +99 -0
  345. package/src/legacy/tool-ui/src/main/webapp/v4/CheckboxInput.js +22 -0
  346. package/src/legacy/tool-ui/src/main/webapp/v4/Collections.less +49 -0
  347. package/src/legacy/tool-ui/src/main/webapp/v4/ColorInput.js +5 -0
  348. package/src/legacy/tool-ui/src/main/webapp/v4/ColorInputSpectrum.js +107 -0
  349. package/src/legacy/tool-ui/src/main/webapp/v4/ColorInputSpectrum.less +319 -0
  350. package/src/legacy/tool-ui/src/main/webapp/v4/ComboInput.js +1491 -0
  351. package/src/legacy/tool-ui/src/main/webapp/v4/ComboInput.less +403 -0
  352. package/src/legacy/tool-ui/src/main/webapp/v4/CommunityWidget.js +29 -0
  353. package/src/legacy/tool-ui/src/main/webapp/v4/CommunityWidget.less +73 -0
  354. package/src/legacy/tool-ui/src/main/webapp/v4/Compat.less +7 -0
  355. package/src/legacy/tool-ui/src/main/webapp/v4/ContentEdit.js +2427 -0
  356. package/src/legacy/tool-ui/src/main/webapp/v4/ContentEdit.less +1512 -0
  357. package/src/legacy/tool-ui/src/main/webapp/v4/ContentEditDrawer.less +329 -0
  358. package/src/legacy/tool-ui/src/main/webapp/v4/ContentEditSites.less +5 -0
  359. package/src/legacy/tool-ui/src/main/webapp/v4/ContentForm.less +174 -0
  360. package/src/legacy/tool-ui/src/main/webapp/v4/ContentInputGroup.less +669 -0
  361. package/src/legacy/tool-ui/src/main/webapp/v4/ContentLock.js +470 -0
  362. package/src/legacy/tool-ui/src/main/webapp/v4/ContentReporting.js +32 -0
  363. package/src/legacy/tool-ui/src/main/webapp/v4/ContentReporting.less +39 -0
  364. package/src/legacy/tool-ui/src/main/webapp/v4/ContentSelector.less +268 -0
  365. package/src/legacy/tool-ui/src/main/webapp/v4/ContentSummary.less +238 -0
  366. package/src/legacy/tool-ui/src/main/webapp/v4/ContentTools.less +73 -0
  367. package/src/legacy/tool-ui/src/main/webapp/v4/ContentType.less +24 -0
  368. package/src/legacy/tool-ui/src/main/webapp/v4/CopyToClipboard.less +20 -0
  369. package/src/legacy/tool-ui/src/main/webapp/v4/DashboardRow.less +40 -0
  370. package/src/legacy/tool-ui/src/main/webapp/v4/DashboardWidget.less +193 -0
  371. package/src/legacy/tool-ui/src/main/webapp/v4/DataTable.js +31 -0
  372. package/src/legacy/tool-ui/src/main/webapp/v4/DataTable.less +52 -0
  373. package/src/legacy/tool-ui/src/main/webapp/v4/DateStringField.js +485 -0
  374. package/src/legacy/tool-ui/src/main/webapp/v4/DateStringField.less +148 -0
  375. package/src/legacy/tool-ui/src/main/webapp/v4/DateTimeInput.less +58 -0
  376. package/src/legacy/tool-ui/src/main/webapp/v4/Diff.less +322 -0
  377. package/src/legacy/tool-ui/src/main/webapp/v4/Downloads.css +11 -0
  378. package/src/legacy/tool-ui/src/main/webapp/v4/Draggable.less +42 -0
  379. package/src/legacy/tool-ui/src/main/webapp/v4/Dropdown.less +76 -0
  380. package/src/legacy/tool-ui/src/main/webapp/v4/EmbeddedInputGroup.less +141 -0
  381. package/src/legacy/tool-ui/src/main/webapp/v4/Entry.js +264 -0
  382. package/src/legacy/tool-ui/src/main/webapp/v4/Entry.less +157 -0
  383. package/src/legacy/tool-ui/src/main/webapp/v4/ExternalItemAuth.js +16 -0
  384. package/src/legacy/tool-ui/src/main/webapp/v4/ExternalItemImport.less +3 -0
  385. package/src/legacy/tool-ui/src/main/webapp/v4/FileInput.less +194 -0
  386. package/src/legacy/tool-ui/src/main/webapp/v4/Form.js +31 -0
  387. package/src/legacy/tool-ui/src/main/webapp/v4/FormFilter.less +189 -0
  388. package/src/legacy/tool-ui/src/main/webapp/v4/Frame.less +26 -0
  389. package/src/legacy/tool-ui/src/main/webapp/v4/GraphQLApis.less +4 -0
  390. package/src/legacy/tool-ui/src/main/webapp/v4/Grid.less +48 -0
  391. package/src/legacy/tool-ui/src/main/webapp/v4/Guide.less +209 -0
  392. package/src/legacy/tool-ui/src/main/webapp/v4/GuideField.less +108 -0
  393. package/src/legacy/tool-ui/src/main/webapp/v4/Hierarchy.js +100 -0
  394. package/src/legacy/tool-ui/src/main/webapp/v4/Hierarchy.less +89 -0
  395. package/src/legacy/tool-ui/src/main/webapp/v4/Highlight.less +5 -0
  396. package/src/legacy/tool-ui/src/main/webapp/v4/Icon.less +53 -0
  397. package/src/legacy/tool-ui/src/main/webapp/v4/Icon.ts +49 -0
  398. package/src/legacy/tool-ui/src/main/webapp/v4/IconButton.less +111 -0
  399. package/src/legacy/tool-ui/src/main/webapp/v4/ImageEditor.js +2403 -0
  400. package/src/legacy/tool-ui/src/main/webapp/v4/ImageEditor.less +922 -0
  401. package/src/legacy/tool-ui/src/main/webapp/v4/ImageEditorBundle.js +5 -0
  402. package/src/legacy/tool-ui/src/main/webapp/v4/Input.less +15 -0
  403. package/src/legacy/tool-ui/src/main/webapp/v4/InputRow.less +35 -0
  404. package/src/legacy/tool-ui/src/main/webapp/v4/Label.less +12 -0
  405. package/src/legacy/tool-ui/src/main/webapp/v4/LabeledCheckbox.less +35 -0
  406. package/src/legacy/tool-ui/src/main/webapp/v4/Link.less +93 -0
  407. package/src/legacy/tool-ui/src/main/webapp/v4/LinkCarousel.js +40 -0
  408. package/src/legacy/tool-ui/src/main/webapp/v4/LinkCarousel.less +143 -0
  409. package/src/legacy/tool-ui/src/main/webapp/v4/LinkList.js +14 -0
  410. package/src/legacy/tool-ui/src/main/webapp/v4/LinkList.less +150 -0
  411. package/src/legacy/tool-ui/src/main/webapp/v4/LinkTable.js +123 -0
  412. package/src/legacy/tool-ui/src/main/webapp/v4/LinkTable.less +112 -0
  413. package/src/legacy/tool-ui/src/main/webapp/v4/Location.js +19 -0
  414. package/src/legacy/tool-ui/src/main/webapp/v4/LocationMap.js +148 -0
  415. package/src/legacy/tool-ui/src/main/webapp/v4/LocationMap.less +62 -0
  416. package/src/legacy/tool-ui/src/main/webapp/v4/LookingGlass.js +24 -0
  417. package/src/legacy/tool-ui/src/main/webapp/v4/LookingGlass.less +30 -0
  418. package/src/legacy/tool-ui/src/main/webapp/v4/Message.js +14 -0
  419. package/src/legacy/tool-ui/src/main/webapp/v4/Message.less +189 -0
  420. package/src/legacy/tool-ui/src/main/webapp/v4/Month.less +102 -0
  421. package/src/legacy/tool-ui/src/main/webapp/v4/Notification.less +278 -0
  422. package/src/legacy/tool-ui/src/main/webapp/v4/NumberBar.js +32 -0
  423. package/src/legacy/tool-ui/src/main/webapp/v4/NumberBar.less +21 -0
  424. package/src/legacy/tool-ui/src/main/webapp/v4/NumberedList.less +17 -0
  425. package/src/legacy/tool-ui/src/main/webapp/v4/Page.js +890 -0
  426. package/src/legacy/tool-ui/src/main/webapp/v4/Page.less +922 -0
  427. package/src/legacy/tool-ui/src/main/webapp/v4/PaginatedResult.less +89 -0
  428. package/src/legacy/tool-ui/src/main/webapp/v4/Pagination.less +80 -0
  429. package/src/legacy/tool-ui/src/main/webapp/v4/Popup.less +415 -0
  430. package/src/legacy/tool-ui/src/main/webapp/v4/PrePublish.less +5 -0
  431. package/src/legacy/tool-ui/src/main/webapp/v4/Preview.js +758 -0
  432. package/src/legacy/tool-ui/src/main/webapp/v4/Preview.less +495 -0
  433. package/src/legacy/tool-ui/src/main/webapp/v4/PreviewEditor.js +86 -0
  434. package/src/legacy/tool-ui/src/main/webapp/v4/PreviewOverlay.js +1005 -0
  435. package/src/legacy/tool-ui/src/main/webapp/v4/ProfileDropdown.less +66 -0
  436. package/src/legacy/tool-ui/src/main/webapp/v4/PubSub.js +47 -0
  437. package/src/legacy/tool-ui/src/main/webapp/v4/QueryField.js +211 -0
  438. package/src/legacy/tool-ui/src/main/webapp/v4/QueryField.less +147 -0
  439. package/src/legacy/tool-ui/src/main/webapp/v4/RadialProgressBar.less +20 -0
  440. package/src/legacy/tool-ui/src/main/webapp/v4/RegionMap.js +215 -0
  441. package/src/legacy/tool-ui/src/main/webapp/v4/Repeatable.less +102 -0
  442. package/src/legacy/tool-ui/src/main/webapp/v4/RepeatableContentInputGroup.js +160 -0
  443. package/src/legacy/tool-ui/src/main/webapp/v4/RepeatableContentInputGroup.less +731 -0
  444. package/src/legacy/tool-ui/src/main/webapp/v4/RepeatableContentSelector.less +296 -0
  445. package/src/legacy/tool-ui/src/main/webapp/v4/RepeatableTextInput.less +156 -0
  446. package/src/legacy/tool-ui/src/main/webapp/v4/Reset.less +373 -0
  447. package/src/legacy/tool-ui/src/main/webapp/v4/Revision.less +50 -0
  448. package/src/legacy/tool-ui/src/main/webapp/v4/RichText.less +32 -0
  449. package/src/legacy/tool-ui/src/main/webapp/v4/RichTextEditor.js +154 -0
  450. package/src/legacy/tool-ui/src/main/webapp/v4/RichTextEditor.less +197 -0
  451. package/src/legacy/tool-ui/src/main/webapp/v4/SearchFields.js +281 -0
  452. package/src/legacy/tool-ui/src/main/webapp/v4/SearchFields.less +403 -0
  453. package/src/legacy/tool-ui/src/main/webapp/v4/SearchInput.less +65 -0
  454. package/src/legacy/tool-ui/src/main/webapp/v4/SearchResult.js +255 -0
  455. package/src/legacy/tool-ui/src/main/webapp/v4/SearchResult.less +479 -0
  456. package/src/legacy/tool-ui/src/main/webapp/v4/SearchWidget.less +697 -0
  457. package/src/legacy/tool-ui/src/main/webapp/v4/SearchWidgetAdvanced.less +115 -0
  458. package/src/legacy/tool-ui/src/main/webapp/v4/SharePreview.js +56 -0
  459. package/src/legacy/tool-ui/src/main/webapp/v4/SharePreview.less +95 -0
  460. package/src/legacy/tool-ui/src/main/webapp/v4/Sortable.js +874 -0
  461. package/src/legacy/tool-ui/src/main/webapp/v4/Sortable.less +242 -0
  462. package/src/legacy/tool-ui/src/main/webapp/v4/StandardForm.less +12 -0
  463. package/src/legacy/tool-ui/src/main/webapp/v4/StyleEmbeddedContent.js +100 -0
  464. package/src/legacy/tool-ui/src/main/webapp/v4/StyleEmbeddedContent.less +131 -0
  465. package/src/legacy/tool-ui/src/main/webapp/v4/StyleguidePresets.js +357 -0
  466. package/src/legacy/tool-ui/src/main/webapp/v4/Suggestions.less +121 -0
  467. package/src/legacy/tool-ui/src/main/webapp/v4/TabBar.less +258 -0
  468. package/src/legacy/tool-ui/src/main/webapp/v4/TabContainer.js +360 -0
  469. package/src/legacy/tool-ui/src/main/webapp/v4/TabContainer.less +26 -0
  470. package/src/legacy/tool-ui/src/main/webapp/v4/Taxonomy.js +27 -0
  471. package/src/legacy/tool-ui/src/main/webapp/v4/Taxonomy.less +84 -0
  472. package/src/legacy/tool-ui/src/main/webapp/v4/Text.less +41 -0
  473. package/src/legacy/tool-ui/src/main/webapp/v4/TextInput.less +32 -0
  474. package/src/legacy/tool-ui/src/main/webapp/v4/ThemeBundleEditor.js +224 -0
  475. package/src/legacy/tool-ui/src/main/webapp/v4/ThemeBundleEditor.less +106 -0
  476. package/src/legacy/tool-ui/src/main/webapp/v4/TimedContent.js +147 -0
  477. package/src/legacy/tool-ui/src/main/webapp/v4/TimedContent.less +202 -0
  478. package/src/legacy/tool-ui/src/main/webapp/v4/TimedContentBundle.js +8 -0
  479. package/src/legacy/tool-ui/src/main/webapp/v4/TreeList.less +93 -0
  480. package/src/legacy/tool-ui/src/main/webapp/v4/Utils.css +14 -0
  481. package/src/legacy/tool-ui/src/main/webapp/v4/VideoEditor.js +2417 -0
  482. package/src/legacy/tool-ui/src/main/webapp/v4/VideoEditor.less +737 -0
  483. package/src/legacy/tool-ui/src/main/webapp/v4/VideoEditorBundle.js +8 -0
  484. package/src/legacy/tool-ui/src/main/webapp/v4/ViewMirror.js +52 -0
  485. package/src/legacy/tool-ui/src/main/webapp/v4/ViewMirror.less +42 -0
  486. package/src/legacy/tool-ui/src/main/webapp/v4/ViewPreview.d.ts +13 -0
  487. package/src/legacy/tool-ui/src/main/webapp/v4/ViewPreview.js +177 -0
  488. package/src/legacy/tool-ui/src/main/webapp/v4/ViewPreview.less +147 -0
  489. package/src/legacy/tool-ui/src/main/webapp/v4/Viewers.less +70 -0
  490. package/src/legacy/tool-ui/src/main/webapp/v4/Week.less +32 -0
  491. package/src/legacy/tool-ui/src/main/webapp/v4/Widget.js +90 -0
  492. package/src/legacy/tool-ui/src/main/webapp/v4/Widget.less +224 -0
  493. package/src/legacy/tool-ui/src/main/webapp/v4/Workflow.less +153 -0
  494. package/src/legacy/tool-ui/src/main/webapp/v4/__mocks__/fileMock.js +1 -0
  495. package/src/legacy/tool-ui/src/main/webapp/v4/__mocks__/styleMock.js +1 -0
  496. package/src/legacy/tool-ui/src/main/webapp/v4/__mocks__/textArea.mock.js +20 -0
  497. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/globals.js +770 -0
  498. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/ProseMirror.test.js +16 -0
  499. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/index.html +54 -0
  500. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/comment_manager/CommentManager.test.js +29 -0
  501. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/comment_manager/index.html +35 -0
  502. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/custom_keyboard/CustomKeyboard.js +42 -0
  503. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/custom_keyboard/index.html +37 -0
  504. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/enhancement_manager/EnhancementManager.test.js +288 -0
  505. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/enhancement_manager/block.html +38 -0
  506. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/enhancement_manager/inline.html +38 -0
  507. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/enhancement_manager/no-popups.html +38 -0
  508. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/list_manager/ListManager.js +257 -0
  509. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/list_manager/index.html +38 -0
  510. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/menubar/hierarchal.html +33 -0
  511. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/menubar/index.html +33 -0
  512. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/menubar/menubar.test.js +195 -0
  513. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/menubar/small.html +34 -0
  514. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/menubar/tags.html +34 -0
  515. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/placeholder_manager/PlaceholderManager.test.js +134 -0
  516. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/placeholder_manager/has-editable-placeholder.html +32 -0
  517. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/placeholder_manager/has-text.html +34 -0
  518. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/placeholder_manager/index.html +31 -0
  519. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/table_manager/TableManager.test.js +63 -0
  520. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/table_manager/existing.html +48 -0
  521. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/track_manager/TrackManager.test.js +291 -0
  522. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/track_manager/existing.html +39 -0
  523. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/track_manager/insert.html +37 -0
  524. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/Sortable.test.js +105 -0
  525. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/ProseMirror.test.js +41 -0
  526. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/codemirror-shim.test.js +72 -0
  527. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/plugins/collab_manager/CollabManager.test.js +46 -0
  528. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/plugins/enhancement_manager/EnhancementManager.test.js +84 -0
  529. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/plugins/list_manager/ListManager.test.js +54 -0
  530. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/plugins/menubar/menubar.test.js +183 -0
  531. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/plugins/spellcheck/SpellCheck.test.js +45 -0
  532. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/settings/BSSerializer.test.js +346 -0
  533. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/settings/menuItemsBuilder.test.js +226 -0
  534. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/utilities.test.js +118 -0
  535. package/src/legacy/tool-ui/src/main/webapp/v4/appetizeio/Appetizeio.js +5 -0
  536. package/src/legacy/tool-ui/src/main/webapp/v4/appetizeio/AppetizeioEmbedded.js +113 -0
  537. package/src/legacy/tool-ui/src/main/webapp/v4/appetizeio/AppetizeioEmbedded.less +77 -0
  538. package/src/legacy/tool-ui/src/main/webapp/v4/bsp-rings-bg.svg +9 -0
  539. package/src/legacy/tool-ui/src/main/webapp/v4/compat/Fetch.js +16 -0
  540. package/src/legacy/tool-ui/src/main/webapp/v4/compat/jquery.js +32 -0
  541. package/src/legacy/tool-ui/src/main/webapp/v4/compat/requirejs.js +13 -0
  542. package/src/legacy/tool-ui/src/main/webapp/v4/dom/Tether.js +1 -0
  543. package/src/legacy/tool-ui/src/main/webapp/v4/dom/TetherLayout.js +1 -0
  544. package/src/legacy/tool-ui/src/main/webapp/v4/dom/closest.js +1 -0
  545. package/src/legacy/tool-ui/src/main/webapp/v4/dom/create.js +1 -0
  546. package/src/legacy/tool-ui/src/main/webapp/v4/dom/find.js +1 -0
  547. package/src/legacy/tool-ui/src/main/webapp/v4/dom/findAll.js +1 -0
  548. package/src/legacy/tool-ui/src/main/webapp/v4/dom/ifClick.js +1 -0
  549. package/src/legacy/tool-ui/src/main/webapp/v4/dom/ifMatches.js +1 -0
  550. package/src/legacy/tool-ui/src/main/webapp/v4/dom/ifUnmodified.js +1 -0
  551. package/src/legacy/tool-ui/src/main/webapp/v4/dom/index.js +5 -0
  552. package/src/legacy/tool-ui/src/main/webapp/v4/dom/insertBefore.js +1 -0
  553. package/src/legacy/tool-ui/src/main/webapp/v4/dom/insertFirst.js +1 -0
  554. package/src/legacy/tool-ui/src/main/webapp/v4/dom/insertLast.js +1 -0
  555. package/src/legacy/tool-ui/src/main/webapp/v4/dom/onFind.js +1 -0
  556. package/src/legacy/tool-ui/src/main/webapp/v4/dom/onFindOnce.js +1 -0
  557. package/src/legacy/tool-ui/src/main/webapp/v4/dom/onRTEReady.js +1 -0
  558. package/src/legacy/tool-ui/src/main/webapp/v4/dom/onRemove.js +1 -0
  559. package/src/legacy/tool-ui/src/main/webapp/v4/dom/onVisible.js +1 -0
  560. package/src/legacy/tool-ui/src/main/webapp/v4/dom/previousUntil.js +1 -0
  561. package/src/legacy/tool-ui/src/main/webapp/v4/dom/resolveIconCompat.js +40 -0
  562. package/src/legacy/tool-ui/src/main/webapp/v4/graphql/GraphQL.less +171 -0
  563. package/src/legacy/tool-ui/src/main/webapp/v4/mail-publishing/MailPublishing.less +38 -0
  564. package/src/legacy/tool-ui/src/main/webapp/v4/rtc/Socket.js +1 -0
  565. package/src/legacy/tool-ui/src/main/webapp/v4/rtc/index.js +1 -0
  566. package/src/legacy/tool-ui/src/main/webapp/v4/rte/Mention.less +35 -0
  567. package/src/legacy/tool-ui/src/main/webapp/v4/rte/ProseMirror.js +909 -0
  568. package/src/legacy/tool-ui/src/main/webapp/v4/rte/ProseMirror.less +759 -0
  569. package/src/legacy/tool-ui/src/main/webapp/v4/rte/ProseMirrorContainer.less +29 -0
  570. package/src/legacy/tool-ui/src/main/webapp/v4/rte/README.md +68 -0
  571. package/src/legacy/tool-ui/src/main/webapp/v4/rte/codemirror-shim.d.ts +8 -0
  572. package/src/legacy/tool-ui/src/main/webapp/v4/rte/codemirror-shim.js +274 -0
  573. package/src/legacy/tool-ui/src/main/webapp/v4/rte/collab-workflow.jpeg +0 -0
  574. package/src/legacy/tool-ui/src/main/webapp/v4/rte/interchangeable.ts +250 -0
  575. package/src/legacy/tool-ui/src/main/webapp/v4/rte/mention.js +90 -0
  576. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/PluginProvider.js +124 -0
  577. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/README.md +46 -0
  578. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/ai_inline_manager/AIInlineManager.ts +124 -0
  579. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/ai_inline_manager/views/AIInline.less +244 -0
  580. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/ai_inline_manager/views/AIInlineView.ts +1019 -0
  581. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/ai_manager/AiManager.ts +199 -0
  582. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/collab_manager/CollabManager.js +339 -0
  583. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/collab_manager/views/AvatarView.js +96 -0
  584. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/collab_manager/views/AvatarView.less +11 -0
  585. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/collab_manager/views/CollabEditing.less +18 -0
  586. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/comment_manager/CommentManager.js +348 -0
  587. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/custom_keyboard/CustomKeyboard.js +110 -0
  588. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/custom_keyboard/CustomKeyboard.less +21 -0
  589. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/custom_keyboard/README.md +29 -0
  590. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/EnhancementManager.js +428 -0
  591. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/README.md +63 -0
  592. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/commands.js +690 -0
  593. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/constants.js +12 -0
  594. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/enhancement-creation.jpeg +0 -0
  595. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/index.js +15 -0
  596. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/rte-flow.jpeg +0 -0
  597. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/views/ActionButtonView.js +86 -0
  598. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/views/BlockSubmenuView.js +60 -0
  599. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/views/Enhancement.less +67 -0
  600. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/views/EnhancementView.js +208 -0
  601. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/views/PreviewView.js +102 -0
  602. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/views/PreviewView.less +45 -0
  603. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/views/ProsemirrorEnhancementMenu.less +113 -0
  604. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/views/SubmenuView.js +365 -0
  605. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/find_replace_manager/FindReplaceManager.js +239 -0
  606. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/find_replace_manager/views/FindView.js +604 -0
  607. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/find_replace_manager/views/ProseMirrorFindReplace.less +174 -0
  608. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/fullscreen_manager/FullscreenManager.js +57 -0
  609. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/fullscreen_manager/README.md +26 -0
  610. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/fullscreen_manager/commands.js +16 -0
  611. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/fullscreen_manager/index.js +4 -0
  612. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/fullscreen_manager/views/FullscreenView.js +474 -0
  613. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/fullscreen_manager/views/FullscreenView.less +383 -0
  614. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/html_editor_manager/htmlEditorManager.js +66 -0
  615. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/html_editor_manager/views/HtmlEditorView.js +97 -0
  616. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/list_manager/ListManager.js +342 -0
  617. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/list_manager/ListManager.less +42 -0
  618. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/list_manager/README.md +50 -0
  619. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/list_manager/commands.js +207 -0
  620. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/list_manager/constants.js +26 -0
  621. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/list_manager/index.js +4 -0
  622. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/menubar/Menubar.js +485 -0
  623. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/menubar/README.md +40 -0
  624. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/menubar/views/MenuView.js +842 -0
  625. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/menubar/views/MenuView.less +821 -0
  626. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/paste_manager/PasteManager.js +368 -0
  627. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/paste_manager/views/PastePopup.less +5 -0
  628. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/placeholder_manager/PlaceHolderManager.js +128 -0
  629. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/raw_text_manager/README.md +13 -0
  630. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/raw_text_manager/RawTextManager.js +96 -0
  631. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/spellcheck/index.js +3 -0
  632. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/spellcheck/spellcheck-plugin.js +280 -0
  633. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/spellcheck/spellcheck-service.js +94 -0
  634. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/spellcheck/spellcheck.less +73 -0
  635. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/table_manager/TableManager.js +57 -0
  636. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/table_manager/commands.js +97 -0
  637. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/table_manager/views/ProseMirror-table.less +137 -0
  638. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/table_manager/views/TableSizerPopup.less +19 -0
  639. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/table_manager/views/TableSizerView.js +88 -0
  640. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/table_manager/views/TableView.js +613 -0
  641. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/track_manager/README.md +13 -0
  642. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/track_manager/TrackManager.js +905 -0
  643. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/BSSerializer.js +819 -0
  644. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/README.md +80 -0
  645. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/commands.js +98 -0
  646. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/constants.d.ts +84 -0
  647. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/constants.js +87 -0
  648. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/index.js +13 -0
  649. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/keymapBuilder.js +223 -0
  650. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/menuItemsBuilder.js +559 -0
  651. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/schemaBuilder.js +1281 -0
  652. package/src/legacy/tool-ui/src/main/webapp/v4/rte/utilities.d.ts +4 -0
  653. package/src/legacy/tool-ui/src/main/webapp/v4/rte/utilities.js +359 -0
  654. package/src/legacy/tool-ui/src/main/webapp/v4/theme/ColorRotator.js +1 -0
  655. package/src/legacy/tool-ui/src/main/webapp/v4/theme/Theme.less +224 -0
  656. package/src/legacy/tool-ui/src/main/webapp/v4/translation/Translation.less +114 -0
  657. package/src/legacy/tool-ui/src/main/webapp/v4/util/debounce.js +1 -0
  658. package/src/legacy/tool-ui/src/main/webapp/v4/util/getComponentKey.js +1 -0
  659. package/src/legacy/tool-ui/src/main/webapp/v4/util/noise.js +1 -0
  660. package/src/legacy/tool-ui/src/main/webapp/v4/util/repaint.js +1 -0
  661. package/src/legacy/tool-ui/src/main/webapp/v4/util/storage.js +1 -0
  662. package/src/legacy/tool-ui/src/main/webapp/v4/util/throttle.js +1 -0
  663. package/src/legacy/tool-ui/src/main/webapp/v4/widget/AnalyticsWidget.less +18 -0
  664. package/src/legacy/tool-ui/src/main/webapp/v4/widget/AssignmentContent.js +33 -0
  665. package/src/legacy/tool-ui/src/main/webapp/v4/widget/AssignmentContent.less +19 -0
  666. package/src/legacy/tool-ui/src/main/webapp/v4/widget/AssignmentDeskDashboard.js +217 -0
  667. package/src/legacy/tool-ui/src/main/webapp/v4/widget/AssignmentDeskDashboard.less +410 -0
  668. package/src/legacy/tool-ui/src/main/webapp/v4/widget/AssignmentDeskRelatedWidget.less +3 -0
  669. package/src/legacy/tool-ui/src/main/webapp/v4/widget/AssignmentFilters.less +23 -0
  670. package/src/legacy/tool-ui/src/main/webapp/v4/widget/AssociatedContentWidget.js +7 -0
  671. package/src/legacy/tool-ui/src/main/webapp/v4/widget/AssociatedContentWidget.less +92 -0
  672. package/src/legacy/tool-ui/src/main/webapp/v4/widget/BulkUpload.js +19 -0
  673. package/src/legacy/tool-ui/src/main/webapp/v4/widget/BulkUpload.less +65 -0
  674. package/src/legacy/tool-ui/src/main/webapp/v4/widget/BulkWorkflow.less +103 -0
  675. package/src/legacy/tool-ui/src/main/webapp/v4/widget/Calendar.js +7 -0
  676. package/src/legacy/tool-ui/src/main/webapp/v4/widget/Calendar.less +109 -0
  677. package/src/legacy/tool-ui/src/main/webapp/v4/widget/CalendarAccessOverview.less +26 -0
  678. package/src/legacy/tool-ui/src/main/webapp/v4/widget/CalendarEventSummary.less +15 -0
  679. package/src/legacy/tool-ui/src/main/webapp/v4/widget/ClosableWindow.js +13 -0
  680. package/src/legacy/tool-ui/src/main/webapp/v4/widget/ClosableWindow.less +3 -0
  681. package/src/legacy/tool-ui/src/main/webapp/v4/widget/ContentColors.less +17 -0
  682. package/src/legacy/tool-ui/src/main/webapp/v4/widget/ContentTemplatesWidget.less +123 -0
  683. package/src/legacy/tool-ui/src/main/webapp/v4/widget/Conversation.less +537 -0
  684. package/src/legacy/tool-ui/src/main/webapp/v4/widget/CopySiteWidget.less +13 -0
  685. package/src/legacy/tool-ui/src/main/webapp/v4/widget/FormSubmission.less +3 -0
  686. package/src/legacy/tool-ui/src/main/webapp/v4/widget/LiveBlog.less +158 -0
  687. package/src/legacy/tool-ui/src/main/webapp/v4/widget/PitchAssignments.js +25 -0
  688. package/src/legacy/tool-ui/src/main/webapp/v4/widget/PitchAssignments.less +16 -0
  689. package/src/legacy/tool-ui/src/main/webapp/v4/widget/PitchContent.js +33 -0
  690. package/src/legacy/tool-ui/src/main/webapp/v4/widget/PitchContent.less +10 -0
  691. package/src/legacy/tool-ui/src/main/webapp/v4/widget/Revisions.js +61 -0
  692. package/src/legacy/tool-ui/src/main/webapp/v4/widget/Revisions.less +280 -0
  693. package/src/legacy/tool-ui/src/main/webapp/v4/widget/SavedSearch.less +13 -0
  694. package/src/legacy/tool-ui/src/main/webapp/v4/widget/SemRushDashboardWidget.less +6 -0
  695. package/src/legacy/tool-ui/src/main/webapp/v4/widget/SlackAuthentication.less +13 -0
  696. package/src/legacy/tool-ui/src/main/webapp/v4/widget/WorkStreams.less +39 -0
  697. package/src/legacy/tool-ui/src/platform.ts +25 -0
  698. package/src/legacy/tool-ui/src/rtc/Socket.ts +205 -0
  699. package/src/legacy/tool-ui/src/rtc/index.ts +276 -0
  700. package/src/legacy/tool-ui/src/table/README.md +3 -0
  701. package/src/legacy/tool-ui/src/table/index.ts +107 -0
  702. package/src/legacy/tool-ui/src/theme/ColorRotator.ts +32 -0
  703. package/src/legacy/tool-ui/src/theme/Theme.ts +516 -0
  704. package/src/legacy/tool-ui/src/theme/index.ts +7 -0
  705. package/src/legacy/tool-ui/src/util/README.md +42 -0
  706. package/src/legacy/tool-ui/src/util/debounce.ts +22 -0
  707. package/src/legacy/tool-ui/src/util/getComponentKey.ts +25 -0
  708. package/src/legacy/tool-ui/src/util/noise.ts +51 -0
  709. package/src/legacy/tool-ui/src/util/repaint.ts +17 -0
  710. package/src/legacy/tool-ui/src/util/storage.ts +21 -0
  711. package/src/legacy/tool-ui/src/util/string.ts +15 -0
  712. package/src/legacy/tool-ui/src/util/svg.ts +46 -0
  713. package/src/legacy/tool-ui/src/util/throttle.ts +37 -0
  714. package/src/legacy/tool-ui/src/util/transition.ts +5 -0
  715. package/src/legacy/tool-ui/src/v5.css +149 -0
  716. package/src/legacy/tool-ui/src/v5.ts +2059 -0
  717. package/src/legacy/tool-ui/src/widget/README.md +27 -0
  718. package/src/legacy/tool-ui/src/widget/index.ts +160 -0
  719. package/dist/storybook/assets/if-defined-C1_PRAyA.js +0 -1
@@ -1712,96 +1712,92 @@
1712
1712
  },
1713
1713
  {
1714
1714
  "kind": "javascript-module",
1715
- "path": "src/components/button-group/ButtonGroup.ts",
1715
+ "path": "src/components/checkbox/Checkbox.ts",
1716
1716
  "declarations": [
1717
1717
  {
1718
1718
  "kind": "class",
1719
- "description": "A semantic container for grouping related buttons together.\n\nSupports connected (joined) and spaced layouts, horizontal and vertical\norientation, group-level size and disabled propagation, and optional\ntoggle/selection modes (single-select or multi-select).",
1720
- "name": "ButtonGroup",
1719
+ "description": "A checkbox component for selecting one or more options from a set.\n\nUses a hidden native checkbox internally for accessibility and form\nparticipation. Styled via the `btu-checkbox` Tailwind plugin classes.\nThe component manages its own `className` — do not modify it externally\nafter initialization (classes present at connection time are preserved).",
1720
+ "name": "Checkbox",
1721
1721
  "cssProperties": [
1722
1722
  {
1723
- "description": "Space between buttons when variant=\"spaced\" (default: spacing.sm)",
1724
- "name": "--button-group-gap"
1723
+ "description": "Background and border color when checked or indeterminate, and tinted background/border on unchecked hover (default: oklch(var(--btu-theme-primary-700)))",
1724
+ "name": "--checkbox-color-primary"
1725
1725
  },
1726
1726
  {
1727
- "description": "Corner radius of outer edges when variant=\"connected\" (default: 0.5rem)",
1728
- "name": "--button-group-border-radius"
1727
+ "description": "Border color in the unchecked state (default: oklch(var(--btu-theme-gray-300)))",
1728
+ "name": "--checkbox-color-border"
1729
1729
  },
1730
1730
  {
1731
- "description": "Internal divider color between connected buttons (default: gray-300)",
1732
- "name": "--button-group-border-color"
1731
+ "description": "Border and text color in the error state (default: oklch(var(--btu-theme-error-600)))",
1732
+ "name": "--checkbox-color-error"
1733
1733
  },
1734
1734
  {
1735
- "description": "Background of a toggled/selected child (default: primary-50)",
1736
- "name": "--button-group-selection-bg"
1735
+ "description": "Corner rounding of the checkbox square (default: 4px)",
1736
+ "name": "--checkbox-border-radius"
1737
1737
  },
1738
1738
  {
1739
- "description": "Text/icon color of a toggled/selected child (default: primary-700)",
1740
- "name": "--button-group-selection-color"
1739
+ "description": "Distance between the checkbox and the label (default: 0.75rem)",
1740
+ "name": "--checkbox-label-spacing"
1741
1741
  },
1742
1742
  {
1743
- "description": "Highlight color of the selection shimmer effect (default: primary-200)",
1744
- "name": "--button-group-shimmer-highlight"
1745
- }
1746
- ],
1747
- "slots": [
1748
- {
1749
- "description": "One or more btu-button or btu-icon-button elements to display in the group",
1750
- "name": ""
1743
+ "description": "[Internal] Width and height of the checkbox square, set by the size variant (sm: 1rem, md: 1.25rem). Use the `size` attribute instead of overriding directly — the icon must scale in tandem.",
1744
+ "name": "--checkbox-box-size"
1751
1745
  },
1752
1746
  {
1753
- "description": "Pushes the child to the end of the group via auto-margin (vertical: bottom, horizontal: right)",
1754
- "name": "end"
1747
+ "description": "[Internal] Width and height of the icon inside the box, set by the size variant (sm: 0.75rem, md: 0.875rem). Use the `size` attribute instead of overriding directly.",
1748
+ "name": "--checkbox-icon-size"
1755
1749
  }
1756
1750
  ],
1757
1751
  "members": [
1758
1752
  {
1759
1753
  "kind": "field",
1760
- "name": "tagName",
1761
- "static": true,
1762
- "readonly": true
1754
+ "name": "label",
1755
+ "type": {
1756
+ "text": "string | undefined"
1757
+ },
1758
+ "description": "The text label displayed next to the checkbox.",
1759
+ "attribute": "label"
1763
1760
  },
1764
1761
  {
1765
1762
  "kind": "field",
1766
- "name": "label",
1763
+ "name": "description",
1767
1764
  "type": {
1768
- "text": "string"
1765
+ "text": "string | undefined"
1769
1766
  },
1770
- "default": "''",
1771
- "description": "Accessible name for the group, announced by assistive devices via aria-label.",
1772
- "attribute": "label"
1767
+ "description": "Optional helper text displayed below the label.",
1768
+ "attribute": "description"
1773
1769
  },
1774
1770
  {
1775
1771
  "kind": "field",
1776
- "name": "orientation",
1772
+ "name": "size",
1777
1773
  "type": {
1778
- "text": "'horizontal' | 'vertical'"
1774
+ "text": "'sm' | 'md'"
1779
1775
  },
1780
- "default": "'horizontal'",
1781
- "description": "Layout direction of the buttons.",
1782
- "attribute": "orientation",
1776
+ "default": "'sm'",
1777
+ "description": "Controls the scale of the checkbox and associated typography.",
1778
+ "attribute": "size",
1783
1779
  "reflects": true
1784
1780
  },
1785
1781
  {
1786
1782
  "kind": "field",
1787
- "name": "variant",
1783
+ "name": "checked",
1788
1784
  "type": {
1789
- "text": "'connected' | 'spaced'"
1785
+ "text": "boolean"
1790
1786
  },
1791
- "default": "'connected'",
1792
- "description": "`connected` collapses shared borders for a joined appearance.\n`spaced` renders buttons with a gap.",
1793
- "attribute": "variant",
1787
+ "default": "false",
1788
+ "description": "Whether the checkbox is currently selected.",
1789
+ "attribute": "checked",
1794
1790
  "reflects": true
1795
1791
  },
1796
1792
  {
1797
1793
  "kind": "field",
1798
- "name": "size",
1794
+ "name": "indeterminate",
1799
1795
  "type": {
1800
- "text": "'sm' | 'md' | 'lg'"
1796
+ "text": "boolean"
1801
1797
  },
1802
- "default": "'md'",
1803
- "description": "Propagates a uniform size to all child buttons.",
1804
- "attribute": "size",
1798
+ "default": "false",
1799
+ "description": "Whether the checkbox is in a partially selected state. Sets `aria-checked='mixed'`\nand activates the native `:indeterminate` pseudo-class. Cleared automatically when\nthe user clicks the checkbox.",
1800
+ "attribute": "indeterminate",
1805
1801
  "reflects": true
1806
1802
  },
1807
1803
  {
@@ -1811,41 +1807,140 @@
1811
1807
  "text": "boolean"
1812
1808
  },
1813
1809
  "default": "false",
1814
- "description": "When true, disables all child buttons as a group.",
1815
- "attribute": "disabled"
1810
+ "description": "If true, the checkbox is non-interactive and visually muted.",
1811
+ "attribute": "disabled",
1812
+ "reflects": true
1816
1813
  },
1817
1814
  {
1818
1815
  "kind": "field",
1819
- "name": "selection",
1816
+ "name": "invalid",
1820
1817
  "type": {
1821
- "text": "'none' | 'single' | 'multiple'"
1818
+ "text": "boolean"
1822
1819
  },
1823
- "default": "'none'",
1824
- "description": "Enables toggle/selection behavior.\n`single` allows one active button; `multiple` allows many.",
1825
- "attribute": "selection",
1820
+ "default": "false",
1821
+ "description": "If true, displays error styling on the checkbox.",
1822
+ "attribute": "invalid",
1826
1823
  "reflects": true
1827
1824
  },
1828
1825
  {
1829
1826
  "kind": "field",
1830
- "name": "value",
1827
+ "name": "error",
1831
1828
  "type": {
1832
- "text": "string"
1829
+ "text": "string | undefined"
1833
1830
  },
1834
- "default": "''",
1835
- "description": "Reflects the currently selected button value(s).\nFor `single`, the value of the active button.\nFor `multiple`, a comma-delimited list of active values.",
1836
- "attribute": "value",
1831
+ "description": "Error message text displayed below the checkbox when validation fails.\nSetting this also activates error styling without needing to set invalid.",
1832
+ "attribute": "error"
1833
+ },
1834
+ {
1835
+ "kind": "field",
1836
+ "name": "required",
1837
+ "type": {
1838
+ "text": "boolean"
1839
+ },
1840
+ "default": "false",
1841
+ "description": "Marks the field as mandatory for form submission.",
1842
+ "attribute": "required",
1837
1843
  "reflects": true
1838
1844
  },
1839
1845
  {
1840
1846
  "kind": "field",
1841
1847
  "name": "name",
1842
1848
  "type": {
1843
- "text": "string"
1849
+ "text": "string | undefined"
1844
1850
  },
1845
- "default": "''",
1846
- "description": "When set, creates hidden input(s) for native form participation.",
1851
+ "description": "Name of the form control submitted with the form data.",
1847
1852
  "attribute": "name"
1848
1853
  },
1854
+ {
1855
+ "kind": "field",
1856
+ "name": "value",
1857
+ "type": {
1858
+ "text": "string"
1859
+ },
1860
+ "default": "'on'",
1861
+ "description": "Value associated with the checkbox when submitted.",
1862
+ "attribute": "value"
1863
+ },
1864
+ {
1865
+ "kind": "field",
1866
+ "name": "_userInitiated",
1867
+ "type": {
1868
+ "text": "boolean"
1869
+ },
1870
+ "privacy": "private",
1871
+ "default": "false"
1872
+ },
1873
+ {
1874
+ "kind": "field",
1875
+ "name": "_initialClasses",
1876
+ "type": {
1877
+ "text": "string[]"
1878
+ },
1879
+ "privacy": "private",
1880
+ "default": "[]"
1881
+ },
1882
+ {
1883
+ "kind": "field",
1884
+ "name": "_initialClassesCaptured",
1885
+ "type": {
1886
+ "text": "boolean"
1887
+ },
1888
+ "privacy": "private",
1889
+ "default": "false"
1890
+ },
1891
+ {
1892
+ "kind": "field",
1893
+ "name": "_descId",
1894
+ "privacy": "private",
1895
+ "default": "`checkbox-desc-${crypto.randomUUID()}`"
1896
+ },
1897
+ {
1898
+ "kind": "field",
1899
+ "name": "_errorId",
1900
+ "privacy": "private",
1901
+ "default": "`checkbox-error-${crypto.randomUUID()}`"
1902
+ },
1903
+ {
1904
+ "kind": "method",
1905
+ "name": "_onInputChange",
1906
+ "privacy": "private",
1907
+ "return": {
1908
+ "type": {
1909
+ "text": "void"
1910
+ }
1911
+ },
1912
+ "parameters": [
1913
+ {
1914
+ "name": "e",
1915
+ "type": {
1916
+ "text": "Event"
1917
+ }
1918
+ }
1919
+ ]
1920
+ },
1921
+ {
1922
+ "kind": "field",
1923
+ "name": "_handleClick",
1924
+ "privacy": "private"
1925
+ },
1926
+ {
1927
+ "kind": "field",
1928
+ "name": "_describedBy",
1929
+ "type": {
1930
+ "text": "string | undefined"
1931
+ },
1932
+ "privacy": "private",
1933
+ "readonly": true
1934
+ },
1935
+ {
1936
+ "kind": "field",
1937
+ "name": "_iconSymbol",
1938
+ "type": {
1939
+ "text": "'minus' | 'check'"
1940
+ },
1941
+ "privacy": "private",
1942
+ "readonly": true
1943
+ },
1849
1944
  {
1850
1945
  "kind": "method",
1851
1946
  "name": "emit",
@@ -1883,64 +1978,65 @@
1883
1978
  "type": {
1884
1979
  "text": "CustomEvent"
1885
1980
  },
1886
- "description": "Fired after first render and initialization",
1887
- "name": "btu-button-group-ready"
1888
- },
1889
- {
1890
- "type": {
1891
- "text": "CustomEvent<{value: string}>"
1892
- },
1893
- "description": "Fired when selection changes (single/multiple modes only)",
1894
- "name": "btu-button-group-change"
1981
+ "description": "Fired after the checkbox is first rendered and initialized",
1982
+ "name": "btu-checkbox-ready"
1895
1983
  },
1896
1984
  {
1897
1985
  "type": {
1898
- "text": "CustomEvent<{name: string | undefined}>"
1986
+ "text": "CustomEvent<{ checked: boolean }>"
1899
1987
  },
1900
- "description": "Bubbles from child btu-icon-button elements when clicked",
1901
- "name": "btu-icon-button-click"
1988
+ "description": "Fired when the user toggles the checked state",
1989
+ "name": "btu-checkbox-change"
1902
1990
  }
1903
1991
  ],
1904
1992
  "attributes": [
1905
1993
  {
1906
1994
  "name": "label",
1907
1995
  "type": {
1908
- "text": "string"
1996
+ "text": "string | undefined"
1909
1997
  },
1910
- "default": "''",
1911
- "description": "Accessible name for the group, announced by assistive devices via aria-label.",
1998
+ "description": "The text label displayed next to the checkbox.",
1912
1999
  "fieldName": "label",
1913
2000
  "attribute": "label"
1914
2001
  },
1915
2002
  {
1916
- "name": "orientation",
2003
+ "name": "description",
1917
2004
  "type": {
1918
- "text": "'horizontal' | 'vertical'"
2005
+ "text": "string | undefined"
1919
2006
  },
1920
- "default": "'horizontal'",
1921
- "description": "Layout direction of the buttons.",
1922
- "fieldName": "orientation",
1923
- "attribute": "orientation"
2007
+ "description": "Optional helper text displayed below the label.",
2008
+ "fieldName": "description",
2009
+ "attribute": "description"
1924
2010
  },
1925
2011
  {
1926
- "name": "variant",
2012
+ "name": "size",
1927
2013
  "type": {
1928
- "text": "'connected' | 'spaced'"
2014
+ "text": "'sm' | 'md'"
1929
2015
  },
1930
- "default": "'connected'",
1931
- "description": "`connected` collapses shared borders for a joined appearance.\n`spaced` renders buttons with a gap.",
1932
- "fieldName": "variant",
1933
- "attribute": "variant"
2016
+ "default": "'sm'",
2017
+ "description": "Controls the scale of the checkbox and associated typography.",
2018
+ "fieldName": "size",
2019
+ "attribute": "size"
1934
2020
  },
1935
2021
  {
1936
- "name": "size",
2022
+ "name": "checked",
1937
2023
  "type": {
1938
- "text": "'sm' | 'md' | 'lg'"
2024
+ "text": "boolean"
1939
2025
  },
1940
- "default": "'md'",
1941
- "description": "Propagates a uniform size to all child buttons.",
1942
- "fieldName": "size",
1943
- "attribute": "size"
2026
+ "default": "false",
2027
+ "description": "Whether the checkbox is currently selected.",
2028
+ "fieldName": "checked",
2029
+ "attribute": "checked"
2030
+ },
2031
+ {
2032
+ "name": "indeterminate",
2033
+ "type": {
2034
+ "text": "boolean"
2035
+ },
2036
+ "default": "false",
2037
+ "description": "Whether the checkbox is in a partially selected state. Sets `aria-checked='mixed'`\nand activates the native `:indeterminate` pseudo-class. Cleared automatically when\nthe user clicks the checkbox.",
2038
+ "fieldName": "indeterminate",
2039
+ "attribute": "indeterminate"
1944
2040
  },
1945
2041
  {
1946
2042
  "name": "disabled",
@@ -1948,72 +2044,60 @@
1948
2044
  "text": "boolean"
1949
2045
  },
1950
2046
  "default": "false",
1951
- "description": "When true, disables all child buttons as a group.",
2047
+ "description": "If true, the checkbox is non-interactive and visually muted.",
1952
2048
  "fieldName": "disabled",
1953
2049
  "attribute": "disabled"
1954
2050
  },
1955
2051
  {
1956
- "name": "selection",
2052
+ "name": "invalid",
1957
2053
  "type": {
1958
- "text": "'none' | 'single' | 'multiple'"
2054
+ "text": "boolean"
1959
2055
  },
1960
- "default": "'none'",
1961
- "description": "Enables toggle/selection behavior.\n`single` allows one active button; `multiple` allows many.",
1962
- "fieldName": "selection",
1963
- "attribute": "selection"
2056
+ "default": "false",
2057
+ "description": "If true, displays error styling on the checkbox.",
2058
+ "fieldName": "invalid",
2059
+ "attribute": "invalid"
1964
2060
  },
1965
2061
  {
1966
- "name": "value",
2062
+ "name": "error",
1967
2063
  "type": {
1968
- "text": "string"
2064
+ "text": "string | undefined"
1969
2065
  },
1970
- "default": "''",
1971
- "description": "Reflects the currently selected button value(s).\nFor `single`, the value of the active button.\nFor `multiple`, a comma-delimited list of active values.",
1972
- "fieldName": "value",
1973
- "attribute": "value"
2066
+ "description": "Error message text displayed below the checkbox when validation fails.\nSetting this also activates error styling without needing to set invalid.",
2067
+ "fieldName": "error",
2068
+ "attribute": "error"
2069
+ },
2070
+ {
2071
+ "name": "required",
2072
+ "type": {
2073
+ "text": "boolean"
2074
+ },
2075
+ "default": "false",
2076
+ "description": "Marks the field as mandatory for form submission.",
2077
+ "fieldName": "required",
2078
+ "attribute": "required"
1974
2079
  },
1975
2080
  {
1976
2081
  "name": "name",
1977
2082
  "type": {
1978
- "text": "string"
2083
+ "text": "string | undefined"
1979
2084
  },
1980
- "default": "''",
1981
- "description": "When set, creates hidden input(s) for native form participation.",
2085
+ "description": "Name of the form control submitted with the form data.",
1982
2086
  "fieldName": "name",
1983
2087
  "attribute": "name"
1984
- }
1985
- ],
1986
- "cssStates": [
1987
- {
1988
- "description": "Applied when variant=\"connected\", targetable via :state(btu-connected)",
1989
- "name": "btu-connected"
1990
- },
1991
- {
1992
- "description": "Applied when variant=\"spaced\", targetable via :state(btu-spaced)",
1993
- "name": "btu-spaced"
1994
- },
1995
- {
1996
- "description": "Applied when orientation=\"horizontal\", targetable via :state(btu-horizontal)",
1997
- "name": "btu-horizontal"
1998
- },
1999
- {
2000
- "description": "Applied when orientation=\"vertical\", targetable via :state(btu-vertical)",
2001
- "name": "btu-vertical"
2002
2088
  },
2003
2089
  {
2004
- "description": "Applied when the group is disabled, targetable via :state(btu-disabled)",
2005
- "name": "btu-disabled"
2090
+ "name": "value",
2091
+ "type": {
2092
+ "text": "string"
2093
+ },
2094
+ "default": "'on'",
2095
+ "description": "Value associated with the checkbox when submitted.",
2096
+ "fieldName": "value",
2097
+ "attribute": "value"
2006
2098
  }
2007
2099
  ],
2008
2100
  "mixins": [
2009
- {
2010
- "name": "RovingTabindexMixin",
2011
- "module": "/src/util/RovingTabindexMixin.js"
2012
- },
2013
- {
2014
- "name": "ComponentStatesMixin",
2015
- "module": "/src/util/ComponentStatesMixin.js"
2016
- },
2017
2101
  {
2018
2102
  "name": "EventEmitterMixin",
2019
2103
  "module": "/src/util/EventEmitterMixin.js"
@@ -2027,7 +2111,7 @@
2027
2111
  "name": "LitElement",
2028
2112
  "package": "lit"
2029
2113
  },
2030
- "tagName": "btu-button-group",
2114
+ "tagName": "btu-checkbox",
2031
2115
  "customElement": true
2032
2116
  }
2033
2117
  ],
@@ -2036,250 +2120,245 @@
2036
2120
  "kind": "js",
2037
2121
  "name": "default",
2038
2122
  "declaration": {
2039
- "name": "ButtonGroup",
2040
- "module": "src/components/button-group/ButtonGroup.ts"
2123
+ "name": "Checkbox",
2124
+ "module": "src/components/checkbox/Checkbox.ts"
2041
2125
  }
2042
2126
  },
2043
2127
  {
2044
2128
  "kind": "custom-element-definition",
2045
- "name": "btu-button-group",
2129
+ "name": "btu-checkbox",
2046
2130
  "declaration": {
2047
- "name": "ButtonGroup",
2048
- "module": "src/components/button-group/ButtonGroup.ts"
2131
+ "name": "Checkbox",
2132
+ "module": "src/components/checkbox/Checkbox.ts"
2049
2133
  }
2050
2134
  }
2051
2135
  ]
2052
2136
  },
2053
2137
  {
2054
2138
  "kind": "javascript-module",
2055
- "path": "src/components/checkbox/Checkbox.ts",
2139
+ "path": "src/components/circular-progress/CircularProgress.ts",
2056
2140
  "declarations": [
2057
2141
  {
2058
2142
  "kind": "class",
2059
- "description": "A checkbox component for selecting one or more options from a set.\n\nUses a hidden native checkbox internally for accessibility and form\nparticipation. Styled via the `btu-checkbox` Tailwind plugin classes.\nThe component manages its own `className` — do not modify it externally\nafter initialization (classes present at connection time are preserved).",
2060
- "name": "Checkbox",
2143
+ "description": "A circular progress indicator for showing loading states or progress.",
2144
+ "name": "CircularProgress",
2061
2145
  "cssProperties": [
2062
2146
  {
2063
- "description": "Background and border color when checked or indeterminate, and tinted background/border on unchecked hover (default: oklch(var(--btu-theme-primary-700)))",
2064
- "name": "--checkbox-color-primary"
2065
- },
2066
- {
2067
- "description": "Border color in the unchecked state (default: oklch(var(--btu-theme-gray-300)))",
2068
- "name": "--checkbox-color-border"
2069
- },
2070
- {
2071
- "description": "Border and text color in the error state (default: oklch(var(--btu-theme-error-600)))",
2072
- "name": "--checkbox-color-error"
2073
- },
2074
- {
2075
- "description": "Corner rounding of the checkbox square (default: 4px)",
2076
- "name": "--checkbox-border-radius"
2077
- },
2078
- {
2079
- "description": "Distance between the checkbox and the label (default: 0.75rem)",
2080
- "name": "--checkbox-label-spacing"
2147
+ "description": "Custom progress indicator color (overrides theme color)",
2148
+ "name": "--progress-color"
2081
2149
  },
2082
2150
  {
2083
- "description": "[Internal] Width and height of the checkbox square, set by the size variant (sm: 1rem, md: 1.25rem). Use the `size` attribute instead of overriding directly — the icon must scale in tandem.",
2084
- "name": "--checkbox-box-size"
2151
+ "description": "Track/background color (overrides default gray-100)",
2152
+ "name": "--track-color"
2085
2153
  },
2086
2154
  {
2087
- "description": "[Internal] Width and height of the icon inside the box, set by the size variant (sm: 0.75rem, md: 0.875rem). Use the `size` attribute instead of overriding directly.",
2088
- "name": "--checkbox-icon-size"
2155
+ "description": "Custom size in pixels (overrides size preset)",
2156
+ "name": "--progress-size"
2089
2157
  }
2090
2158
  ],
2091
2159
  "members": [
2092
2160
  {
2093
2161
  "kind": "field",
2094
- "name": "label",
2095
- "type": {
2096
- "text": "string | undefined"
2097
- },
2098
- "description": "The text label displayed next to the checkbox.",
2099
- "attribute": "label"
2100
- },
2101
- {
2102
- "kind": "field",
2103
- "name": "description",
2162
+ "name": "indeterminate",
2104
2163
  "type": {
2105
- "text": "string | undefined"
2164
+ "text": "boolean"
2106
2165
  },
2107
- "description": "Optional helper text displayed below the label.",
2108
- "attribute": "description"
2166
+ "default": "true",
2167
+ "description": "Whether the progress indicator is indeterminate (animated spinner).\nWhen false, shows determinate progress based on the progress value.",
2168
+ "attribute": "indeterminate"
2109
2169
  },
2110
2170
  {
2111
2171
  "kind": "field",
2112
2172
  "name": "size",
2113
2173
  "type": {
2114
- "text": "'sm' | 'md'"
2174
+ "text": "'sm' | 'md' | 'lg'"
2115
2175
  },
2116
2176
  "default": "'sm'",
2117
- "description": "Controls the scale of the checkbox and associated typography.",
2118
- "attribute": "size",
2119
- "reflects": true
2177
+ "description": "Size variant.\n- 'sm': Small (16px) - default\n- 'md': Medium (32px)\n- 'lg': Large (48px)",
2178
+ "attribute": "size"
2120
2179
  },
2121
2180
  {
2122
2181
  "kind": "field",
2123
- "name": "checked",
2182
+ "name": "color",
2124
2183
  "type": {
2125
- "text": "boolean"
2184
+ "text": "ProgressColors"
2126
2185
  },
2127
- "default": "false",
2128
- "description": "Whether the checkbox is currently selected.",
2129
- "attribute": "checked",
2130
- "reflects": true
2186
+ "default": "'primary'",
2187
+ "description": "Color theme of the progress indicator.\nSupports: black, white, primary, teal, gray, purple, rose, error, warning, success",
2188
+ "attribute": "color",
2189
+ "inheritedFrom": {
2190
+ "name": "ProgressMixin",
2191
+ "module": "src/util/ProgressMixin.ts"
2192
+ }
2131
2193
  },
2132
2194
  {
2133
2195
  "kind": "field",
2134
- "name": "indeterminate",
2196
+ "name": "thickness",
2135
2197
  "type": {
2136
- "text": "boolean"
2198
+ "text": "number | undefined"
2137
2199
  },
2138
- "default": "false",
2139
- "description": "Whether the checkbox is in a partially selected state. Sets `aria-checked='mixed'`\nand activates the native `:indeterminate` pseudo-class. Cleared automatically when\nthe user clicks the checkbox.",
2140
- "attribute": "indeterminate",
2141
- "reflects": true
2200
+ "description": "Stroke width of the progress indicator.",
2201
+ "attribute": "thickness",
2202
+ "inheritedFrom": {
2203
+ "name": "ProgressMixin",
2204
+ "module": "src/util/ProgressMixin.ts"
2205
+ }
2142
2206
  },
2143
2207
  {
2144
2208
  "kind": "field",
2145
- "name": "disabled",
2209
+ "name": "_progress",
2146
2210
  "type": {
2147
- "text": "boolean"
2211
+ "text": "number"
2148
2212
  },
2149
- "default": "false",
2150
- "description": "If true, the checkbox is non-interactive and visually muted.",
2151
- "attribute": "disabled",
2152
- "reflects": true
2213
+ "privacy": "private",
2214
+ "default": "0",
2215
+ "inheritedFrom": {
2216
+ "name": "ProgressMixin",
2217
+ "module": "src/util/ProgressMixin.ts"
2218
+ }
2153
2219
  },
2154
2220
  {
2155
2221
  "kind": "field",
2156
- "name": "invalid",
2157
- "type": {
2158
- "text": "boolean"
2159
- },
2160
- "default": "false",
2161
- "description": "If true, displays error styling on the checkbox.",
2162
- "attribute": "invalid",
2163
- "reflects": true
2222
+ "name": "progress",
2223
+ "description": "Progress value for determinate variant. Clamped to 0–100.",
2224
+ "attribute": "progress",
2225
+ "inheritedFrom": {
2226
+ "name": "ProgressMixin",
2227
+ "module": "src/util/ProgressMixin.ts"
2228
+ }
2164
2229
  },
2165
2230
  {
2166
2231
  "kind": "field",
2167
- "name": "error",
2232
+ "name": "label",
2168
2233
  "type": {
2169
2234
  "text": "string | undefined"
2170
2235
  },
2171
- "description": "Error message text displayed below the checkbox when validation fails.\nSetting this also activates error styling without needing to set invalid.",
2172
- "attribute": "error"
2236
+ "description": "Optional label text to display with the progress indicator.",
2237
+ "attribute": "label",
2238
+ "inheritedFrom": {
2239
+ "name": "ProgressMixin",
2240
+ "module": "src/util/ProgressMixin.ts"
2241
+ }
2173
2242
  },
2174
2243
  {
2175
2244
  "kind": "field",
2176
- "name": "required",
2245
+ "name": "initialAnimation",
2177
2246
  "type": {
2178
2247
  "text": "boolean"
2179
2248
  },
2180
- "default": "false",
2181
- "description": "Marks the field as mandatory for form submission.",
2182
- "attribute": "required",
2183
- "reflects": true
2249
+ "default": "true",
2250
+ "description": "Whether to animate progress from 0 to target value when component first becomes visible.",
2251
+ "attribute": "initial-animation",
2252
+ "inheritedFrom": {
2253
+ "name": "ProgressMixin",
2254
+ "module": "src/util/ProgressMixin.ts"
2255
+ }
2184
2256
  },
2185
2257
  {
2186
2258
  "kind": "field",
2187
- "name": "name",
2259
+ "name": "ariaLabel",
2188
2260
  "type": {
2189
- "text": "string | undefined"
2261
+ "text": "string | null"
2190
2262
  },
2191
- "description": "Name of the form control submitted with the form data.",
2192
- "attribute": "name"
2263
+ "default": "null",
2264
+ "description": "Optional aria-label attribute for screen readers.\nDescribes what the progress indicator represents.",
2265
+ "attribute": "aria-label",
2266
+ "inheritedFrom": {
2267
+ "name": "ProgressMixin",
2268
+ "module": "src/util/ProgressMixin.ts"
2269
+ }
2193
2270
  },
2194
2271
  {
2195
2272
  "kind": "field",
2196
- "name": "value",
2273
+ "name": "ariaLabelledBy",
2197
2274
  "type": {
2198
- "text": "string"
2275
+ "text": "string | null"
2199
2276
  },
2200
- "default": "'on'",
2201
- "description": "Value associated with the checkbox when submitted.",
2202
- "attribute": "value"
2277
+ "default": "null",
2278
+ "description": "Optional aria-labelledby attribute for screen readers.\nReferences the ID of an element that labels the progress indicator.",
2279
+ "attribute": "aria-labelledby",
2280
+ "inheritedFrom": {
2281
+ "name": "ProgressMixin",
2282
+ "module": "src/util/ProgressMixin.ts"
2283
+ }
2203
2284
  },
2204
2285
  {
2205
2286
  "kind": "field",
2206
- "name": "_userInitiated",
2287
+ "name": "ariaValueText",
2207
2288
  "type": {
2208
- "text": "boolean"
2289
+ "text": "string | null"
2209
2290
  },
2210
- "privacy": "private",
2211
- "default": "false"
2291
+ "default": "null",
2292
+ "description": "Optional aria-valuetext attribute for screen readers.\nProvides human-readable text alternative for progress value.",
2293
+ "attribute": "aria-valuetext",
2294
+ "inheritedFrom": {
2295
+ "name": "ProgressMixin",
2296
+ "module": "src/util/ProgressMixin.ts"
2297
+ }
2212
2298
  },
2213
2299
  {
2214
2300
  "kind": "field",
2215
- "name": "_initialClasses",
2301
+ "name": "completionAnnouncement",
2216
2302
  "type": {
2217
- "text": "string[]"
2303
+ "text": "string | undefined"
2218
2304
  },
2219
- "privacy": "private",
2220
- "default": "[]"
2305
+ "description": "Optional message to announce to screen readers when progress reaches 100%.\nIf not provided, no announcement will be made on completion.",
2306
+ "attribute": "completion-announcement",
2307
+ "inheritedFrom": {
2308
+ "name": "ProgressMixin",
2309
+ "module": "src/util/ProgressMixin.ts"
2310
+ }
2221
2311
  },
2222
2312
  {
2223
2313
  "kind": "field",
2224
- "name": "_initialClassesCaptured",
2314
+ "name": "_isAnimationInitialized",
2225
2315
  "type": {
2226
2316
  "text": "boolean"
2227
2317
  },
2228
2318
  "privacy": "private",
2229
- "default": "false"
2230
- },
2231
- {
2232
- "kind": "field",
2233
- "name": "_descId",
2234
- "privacy": "private",
2235
- "default": "`checkbox-desc-${crypto.randomUUID()}`"
2319
+ "default": "false",
2320
+ "inheritedFrom": {
2321
+ "name": "ProgressMixin",
2322
+ "module": "src/util/ProgressMixin.ts"
2323
+ }
2236
2324
  },
2237
2325
  {
2238
2326
  "kind": "field",
2239
- "name": "_errorId",
2240
- "privacy": "private",
2241
- "default": "`checkbox-error-${crypto.randomUUID()}`"
2242
- },
2243
- {
2244
- "kind": "method",
2245
- "name": "_onInputChange",
2246
- "privacy": "private",
2247
- "return": {
2248
- "type": {
2249
- "text": "void"
2250
- }
2327
+ "name": "_intersectionObserver",
2328
+ "type": {
2329
+ "text": "IntersectionObserver | undefined"
2251
2330
  },
2252
- "parameters": [
2253
- {
2254
- "name": "e",
2255
- "type": {
2256
- "text": "Event"
2257
- }
2258
- }
2259
- ]
2260
- },
2261
- {
2262
- "kind": "field",
2263
- "name": "_handleClick",
2264
- "privacy": "private"
2331
+ "privacy": "private",
2332
+ "inheritedFrom": {
2333
+ "name": "ProgressMixin",
2334
+ "module": "src/util/ProgressMixin.ts"
2335
+ }
2265
2336
  },
2266
2337
  {
2267
2338
  "kind": "field",
2268
- "name": "_describedBy",
2339
+ "name": "_hasCompletedAt100",
2269
2340
  "type": {
2270
- "text": "string | undefined"
2341
+ "text": "boolean"
2271
2342
  },
2272
2343
  "privacy": "private",
2273
- "readonly": true
2344
+ "default": "false",
2345
+ "inheritedFrom": {
2346
+ "name": "ProgressMixin",
2347
+ "module": "src/util/ProgressMixin.ts"
2348
+ }
2274
2349
  },
2275
2350
  {
2276
2351
  "kind": "field",
2277
- "name": "_iconSymbol",
2352
+ "name": "_hostTag",
2278
2353
  "type": {
2279
- "text": "'minus' | 'check'"
2354
+ "text": "'btu-linear-progress' | 'btu-circular-progress'"
2280
2355
  },
2281
2356
  "privacy": "private",
2282
- "readonly": true
2357
+ "readonly": true,
2358
+ "inheritedFrom": {
2359
+ "name": "ProgressMixin",
2360
+ "module": "src/util/ProgressMixin.ts"
2361
+ }
2283
2362
  },
2284
2363
  {
2285
2364
  "kind": "method",
@@ -2318,126 +2397,163 @@
2318
2397
  "type": {
2319
2398
  "text": "CustomEvent"
2320
2399
  },
2321
- "description": "Fired after the checkbox is first rendered and initialized",
2322
- "name": "btu-checkbox-ready"
2400
+ "description": "Fired after first render and initialization",
2401
+ "name": "btu-circular-progress-ready"
2323
2402
  },
2324
2403
  {
2325
2404
  "type": {
2326
- "text": "CustomEvent<{ checked: boolean }>"
2405
+ "text": "CustomEvent"
2327
2406
  },
2328
- "description": "Fired when the user toggles the checked state",
2329
- "name": "btu-checkbox-change"
2407
+ "description": "Fired when determinate progress reaches 100",
2408
+ "name": "btu-circular-progress-complete"
2330
2409
  }
2331
2410
  ],
2332
2411
  "attributes": [
2333
2412
  {
2334
- "name": "label",
2335
- "type": {
2336
- "text": "string | undefined"
2337
- },
2338
- "description": "The text label displayed next to the checkbox.",
2339
- "fieldName": "label",
2340
- "attribute": "label"
2341
- },
2342
- {
2343
- "name": "description",
2413
+ "name": "indeterminate",
2344
2414
  "type": {
2345
- "text": "string | undefined"
2415
+ "text": "boolean"
2346
2416
  },
2347
- "description": "Optional helper text displayed below the label.",
2348
- "fieldName": "description",
2349
- "attribute": "description"
2417
+ "default": "true",
2418
+ "description": "Whether the progress indicator is indeterminate (animated spinner).\nWhen false, shows determinate progress based on the progress value.",
2419
+ "fieldName": "indeterminate",
2420
+ "attribute": "indeterminate"
2350
2421
  },
2351
2422
  {
2352
2423
  "name": "size",
2353
2424
  "type": {
2354
- "text": "'sm' | 'md'"
2425
+ "text": "'sm' | 'md' | 'lg'"
2355
2426
  },
2356
2427
  "default": "'sm'",
2357
- "description": "Controls the scale of the checkbox and associated typography.",
2428
+ "description": "Size variant.\n- 'sm': Small (16px) - default\n- 'md': Medium (32px)\n- 'lg': Large (48px)",
2358
2429
  "fieldName": "size",
2359
2430
  "attribute": "size"
2360
2431
  },
2361
2432
  {
2362
- "name": "checked",
2363
- "type": {
2364
- "text": "boolean"
2365
- },
2366
- "default": "false",
2367
- "description": "Whether the checkbox is currently selected.",
2368
- "fieldName": "checked",
2369
- "attribute": "checked"
2370
- },
2371
- {
2372
- "name": "indeterminate",
2433
+ "name": "color",
2373
2434
  "type": {
2374
- "text": "boolean"
2435
+ "text": "ProgressColors"
2375
2436
  },
2376
- "default": "false",
2377
- "description": "Whether the checkbox is in a partially selected state. Sets `aria-checked='mixed'`\nand activates the native `:indeterminate` pseudo-class. Cleared automatically when\nthe user clicks the checkbox.",
2378
- "fieldName": "indeterminate",
2379
- "attribute": "indeterminate"
2437
+ "default": "'primary'",
2438
+ "description": "Color theme of the progress indicator.\nSupports: black, white, primary, teal, gray, purple, rose, error, warning, success",
2439
+ "fieldName": "color",
2440
+ "attribute": "color",
2441
+ "inheritedFrom": {
2442
+ "name": "ProgressMixin",
2443
+ "module": "src/util/ProgressMixin.ts"
2444
+ }
2380
2445
  },
2381
2446
  {
2382
- "name": "disabled",
2447
+ "name": "thickness",
2383
2448
  "type": {
2384
- "text": "boolean"
2449
+ "text": "number | undefined"
2385
2450
  },
2386
- "default": "false",
2387
- "description": "If true, the checkbox is non-interactive and visually muted.",
2388
- "fieldName": "disabled",
2389
- "attribute": "disabled"
2451
+ "description": "Stroke width of the progress indicator.",
2452
+ "fieldName": "thickness",
2453
+ "attribute": "thickness",
2454
+ "inheritedFrom": {
2455
+ "name": "ProgressMixin",
2456
+ "module": "src/util/ProgressMixin.ts"
2457
+ }
2390
2458
  },
2391
2459
  {
2392
- "name": "invalid",
2393
- "type": {
2394
- "text": "boolean"
2395
- },
2396
- "default": "false",
2397
- "description": "If true, displays error styling on the checkbox.",
2398
- "fieldName": "invalid",
2399
- "attribute": "invalid"
2460
+ "name": "progress",
2461
+ "description": "Progress value for determinate variant. Clamped to 0–100.",
2462
+ "fieldName": "progress",
2463
+ "attribute": "progress",
2464
+ "inheritedFrom": {
2465
+ "name": "ProgressMixin",
2466
+ "module": "src/util/ProgressMixin.ts"
2467
+ }
2400
2468
  },
2401
2469
  {
2402
- "name": "error",
2470
+ "name": "label",
2403
2471
  "type": {
2404
2472
  "text": "string | undefined"
2405
2473
  },
2406
- "description": "Error message text displayed below the checkbox when validation fails.\nSetting this also activates error styling without needing to set invalid.",
2407
- "fieldName": "error",
2408
- "attribute": "error"
2474
+ "description": "Optional label text to display with the progress indicator.",
2475
+ "fieldName": "label",
2476
+ "attribute": "label",
2477
+ "inheritedFrom": {
2478
+ "name": "ProgressMixin",
2479
+ "module": "src/util/ProgressMixin.ts"
2480
+ }
2409
2481
  },
2410
2482
  {
2411
- "name": "required",
2483
+ "name": "initial-animation",
2412
2484
  "type": {
2413
2485
  "text": "boolean"
2414
2486
  },
2415
- "default": "false",
2416
- "description": "Marks the field as mandatory for form submission.",
2417
- "fieldName": "required",
2418
- "attribute": "required"
2487
+ "default": "true",
2488
+ "description": "Whether to animate progress from 0 to target value when component first becomes visible.",
2489
+ "fieldName": "initialAnimation",
2490
+ "attribute": "initial-animation",
2491
+ "inheritedFrom": {
2492
+ "name": "ProgressMixin",
2493
+ "module": "src/util/ProgressMixin.ts"
2494
+ }
2419
2495
  },
2420
2496
  {
2421
- "name": "name",
2497
+ "name": "aria-label",
2422
2498
  "type": {
2423
- "text": "string | undefined"
2499
+ "text": "string | null"
2424
2500
  },
2425
- "description": "Name of the form control submitted with the form data.",
2426
- "fieldName": "name",
2427
- "attribute": "name"
2501
+ "default": "null",
2502
+ "description": "Optional aria-label attribute for screen readers.\nDescribes what the progress indicator represents.",
2503
+ "fieldName": "ariaLabel",
2504
+ "attribute": "aria-label",
2505
+ "inheritedFrom": {
2506
+ "name": "ProgressMixin",
2507
+ "module": "src/util/ProgressMixin.ts"
2508
+ }
2428
2509
  },
2429
2510
  {
2430
- "name": "value",
2511
+ "name": "aria-labelledby",
2431
2512
  "type": {
2432
- "text": "string"
2513
+ "text": "string | null"
2433
2514
  },
2434
- "default": "'on'",
2435
- "description": "Value associated with the checkbox when submitted.",
2436
- "fieldName": "value",
2437
- "attribute": "value"
2515
+ "default": "null",
2516
+ "description": "Optional aria-labelledby attribute for screen readers.\nReferences the ID of an element that labels the progress indicator.",
2517
+ "fieldName": "ariaLabelledBy",
2518
+ "attribute": "aria-labelledby",
2519
+ "inheritedFrom": {
2520
+ "name": "ProgressMixin",
2521
+ "module": "src/util/ProgressMixin.ts"
2522
+ }
2523
+ },
2524
+ {
2525
+ "name": "aria-valuetext",
2526
+ "type": {
2527
+ "text": "string | null"
2528
+ },
2529
+ "default": "null",
2530
+ "description": "Optional aria-valuetext attribute for screen readers.\nProvides human-readable text alternative for progress value.",
2531
+ "fieldName": "ariaValueText",
2532
+ "attribute": "aria-valuetext",
2533
+ "inheritedFrom": {
2534
+ "name": "ProgressMixin",
2535
+ "module": "src/util/ProgressMixin.ts"
2536
+ }
2537
+ },
2538
+ {
2539
+ "name": "completion-announcement",
2540
+ "type": {
2541
+ "text": "string | undefined"
2542
+ },
2543
+ "description": "Optional message to announce to screen readers when progress reaches 100%.\nIf not provided, no announcement will be made on completion.",
2544
+ "fieldName": "completionAnnouncement",
2545
+ "attribute": "completion-announcement",
2546
+ "inheritedFrom": {
2547
+ "name": "ProgressMixin",
2548
+ "module": "src/util/ProgressMixin.ts"
2549
+ }
2438
2550
  }
2439
2551
  ],
2440
2552
  "mixins": [
2553
+ {
2554
+ "name": "ProgressMixin",
2555
+ "module": "/src/util/ProgressMixin.js"
2556
+ },
2441
2557
  {
2442
2558
  "name": "EventEmitterMixin",
2443
2559
  "module": "/src/util/EventEmitterMixin.js"
@@ -2451,7 +2567,7 @@
2451
2567
  "name": "LitElement",
2452
2568
  "package": "lit"
2453
2569
  },
2454
- "tagName": "btu-checkbox",
2570
+ "tagName": "btu-circular-progress",
2455
2571
  "customElement": true
2456
2572
  }
2457
2573
  ],
@@ -2460,542 +2576,571 @@
2460
2576
  "kind": "js",
2461
2577
  "name": "default",
2462
2578
  "declaration": {
2463
- "name": "Checkbox",
2464
- "module": "src/components/checkbox/Checkbox.ts"
2579
+ "name": "CircularProgress",
2580
+ "module": "src/components/circular-progress/CircularProgress.ts"
2465
2581
  }
2466
2582
  },
2467
2583
  {
2468
2584
  "kind": "custom-element-definition",
2469
- "name": "btu-checkbox",
2585
+ "name": "btu-circular-progress",
2470
2586
  "declaration": {
2471
- "name": "Checkbox",
2472
- "module": "src/components/checkbox/Checkbox.ts"
2587
+ "name": "CircularProgress",
2588
+ "module": "src/components/circular-progress/CircularProgress.ts"
2473
2589
  }
2474
2590
  }
2475
2591
  ]
2476
2592
  },
2477
2593
  {
2478
2594
  "kind": "javascript-module",
2479
- "path": "src/components/circular-progress/CircularProgress.ts",
2595
+ "path": "src/components/copy-to-clipboard/CopyToClipboard.ts",
2480
2596
  "declarations": [
2481
2597
  {
2482
2598
  "kind": "class",
2483
- "description": "A circular progress indicator for showing loading states or progress.",
2484
- "name": "CircularProgress",
2485
- "cssProperties": [
2486
- {
2487
- "description": "Custom progress indicator color (overrides theme color)",
2488
- "name": "--progress-color"
2489
- },
2490
- {
2491
- "description": "Track/background color (overrides default gray-100)",
2492
- "name": "--track-color"
2493
- },
2494
- {
2495
- "description": "Custom size in pixels (overrides size preset)",
2496
- "name": "--progress-size"
2497
- }
2498
- ],
2599
+ "description": "A button component that copies text to the system clipboard.\n\nProvides visual feedback when text is successfully copied by applying\na temporary state that can be styled with CSS.\n\nButton styling is inherited from `btu-button-*` classes. Override appearance\nby passing custom classes via the `buttonClasses` attribute.",
2600
+ "name": "CopyToClipboard",
2499
2601
  "members": [
2500
2602
  {
2501
2603
  "kind": "field",
2502
- "name": "indeterminate",
2604
+ "name": "copydata",
2503
2605
  "type": {
2504
- "text": "boolean"
2606
+ "text": "string | undefined"
2505
2607
  },
2506
- "default": "true",
2507
- "description": "Whether the progress indicator is indeterminate (animated spinner).\nWhen false, shows determinate progress based on the progress value.",
2508
- "attribute": "indeterminate"
2608
+ "description": "The text to be copied to the system clipboard.",
2609
+ "attribute": "copydata"
2509
2610
  },
2510
2611
  {
2511
2612
  "kind": "field",
2512
- "name": "size",
2613
+ "name": "buttonClasses",
2513
2614
  "type": {
2514
- "text": "'sm' | 'md' | 'lg'"
2615
+ "text": "string | undefined"
2515
2616
  },
2516
- "default": "'sm'",
2517
- "description": "Size variant.\n- 'sm': Small (16px) - default\n- 'md': Medium (32px)\n- 'lg': Large (48px)",
2518
- "attribute": "size"
2617
+ "description": "Custom CSS classes for the button. If provided, replaces the default classes.",
2618
+ "attribute": "buttonClasses"
2519
2619
  },
2520
2620
  {
2521
- "kind": "field",
2522
- "name": "color",
2523
- "type": {
2524
- "text": "ProgressColors"
2621
+ "kind": "method",
2622
+ "name": "copy",
2623
+ "return": {
2624
+ "type": {
2625
+ "text": ""
2626
+ }
2525
2627
  },
2526
- "default": "'primary'",
2527
- "description": "Color theme of the progress indicator.\nSupports: black, white, primary, teal, gray, purple, rose, error, warning, success",
2528
- "attribute": "color",
2628
+ "parameters": [
2629
+ {
2630
+ "name": "text",
2631
+ "type": {
2632
+ "text": "string"
2633
+ },
2634
+ "description": "The text to copy to clipboard"
2635
+ },
2636
+ {
2637
+ "name": "timeout",
2638
+ "default": "3000",
2639
+ "description": "Duration in milliseconds to show success state (default: 3000)"
2640
+ }
2641
+ ],
2642
+ "description": "Copies the copydata to the system clipboard.\nDisplays a success state for 3 seconds after copying.",
2529
2643
  "inheritedFrom": {
2530
- "name": "ProgressMixin",
2531
- "module": "src/util/ProgressMixin.ts"
2644
+ "name": "ClipboardMixin",
2645
+ "module": "src/util/ClipboardMixin.ts"
2532
2646
  }
2533
2647
  },
2534
2648
  {
2535
2649
  "kind": "field",
2536
- "name": "thickness",
2650
+ "name": "copiedStateKey",
2537
2651
  "type": {
2538
- "text": "number | undefined"
2652
+ "text": "'btu-copy-to-clipboard-copied'"
2539
2653
  },
2540
- "description": "Stroke width of the progress indicator.",
2541
- "attribute": "thickness",
2654
+ "description": "Custom state applied briefly after a successful copy; also emitted as an event.",
2655
+ "readonly": true,
2542
2656
  "inheritedFrom": {
2543
- "name": "ProgressMixin",
2544
- "module": "src/util/ProgressMixin.ts"
2657
+ "name": "ClipboardMixin",
2658
+ "module": "src/util/ClipboardMixin.ts"
2545
2659
  }
2546
2660
  },
2547
2661
  {
2548
- "kind": "field",
2549
- "name": "_progress",
2550
- "type": {
2551
- "text": "number"
2662
+ "kind": "method",
2663
+ "name": "emit",
2664
+ "parameters": [
2665
+ {
2666
+ "name": "type",
2667
+ "type": {
2668
+ "text": "K"
2669
+ },
2670
+ "description": "Event name from CustomEventMap"
2671
+ },
2672
+ {
2673
+ "name": "detail",
2674
+ "optional": true,
2675
+ "type": {
2676
+ "text": "UnpackCustomEvent<CustomEventMap[K]>"
2677
+ },
2678
+ "description": "Optional event detail payload"
2679
+ }
2680
+ ],
2681
+ "description": "Dispatches a type-safe CustomEvent with standardized configuration.\n\nAll events are configured with:\n- bubbles: true (event propagates up the DOM tree)\n- cancelable: false (event cannot be cancelled)\n- composed: true (event crosses shadow DOM boundaries)",
2682
+ "return": {
2683
+ "type": {
2684
+ "text": "boolean"
2685
+ }
2552
2686
  },
2553
- "privacy": "private",
2554
- "default": "0",
2555
- "inheritedFrom": {
2556
- "name": "ProgressMixin",
2557
- "module": "src/util/ProgressMixin.ts"
2558
- }
2559
- },
2560
- {
2561
- "kind": "field",
2562
- "name": "progress",
2563
- "description": "Progress value for determinate variant. Clamped to 0–100.",
2564
- "attribute": "progress",
2565
2687
  "inheritedFrom": {
2566
- "name": "ProgressMixin",
2567
- "module": "src/util/ProgressMixin.ts"
2688
+ "name": "EventEmitterMixin",
2689
+ "module": "src/util/EventEmitterMixin.ts"
2568
2690
  }
2569
- },
2691
+ }
2692
+ ],
2693
+ "events": [
2570
2694
  {
2571
- "kind": "field",
2572
- "name": "label",
2573
2695
  "type": {
2574
- "text": "string | undefined"
2696
+ "text": "CustomEvent"
2575
2697
  },
2576
- "description": "Optional label text to display with the progress indicator.",
2577
- "attribute": "label",
2578
- "inheritedFrom": {
2579
- "name": "ProgressMixin",
2580
- "module": "src/util/ProgressMixin.ts"
2581
- }
2698
+ "description": "Fired after first render and initialization",
2699
+ "name": "btu-copy-to-clipboard-ready"
2582
2700
  },
2583
2701
  {
2584
- "kind": "field",
2585
- "name": "initialAnimation",
2586
2702
  "type": {
2587
- "text": "boolean"
2703
+ "text": "CustomEvent"
2588
2704
  },
2589
- "default": "true",
2590
- "description": "Whether to animate progress from 0 to target value when component first becomes visible.",
2591
- "attribute": "initial-animation",
2592
- "inheritedFrom": {
2593
- "name": "ProgressMixin",
2594
- "module": "src/util/ProgressMixin.ts"
2595
- }
2596
- },
2705
+ "description": "Fired when text is successfully copied to clipboard",
2706
+ "name": "btu-copy-to-clipboard-copied"
2707
+ }
2708
+ ],
2709
+ "attributes": [
2597
2710
  {
2598
- "kind": "field",
2599
- "name": "ariaLabel",
2711
+ "name": "copydata",
2600
2712
  "type": {
2601
- "text": "string | null"
2713
+ "text": "string | undefined"
2602
2714
  },
2603
- "default": "null",
2604
- "description": "Optional aria-label attribute for screen readers.\nDescribes what the progress indicator represents.",
2605
- "attribute": "aria-label",
2606
- "inheritedFrom": {
2607
- "name": "ProgressMixin",
2608
- "module": "src/util/ProgressMixin.ts"
2609
- }
2715
+ "description": "The text to be copied to the system clipboard.",
2716
+ "fieldName": "copydata",
2717
+ "attribute": "copydata"
2610
2718
  },
2611
2719
  {
2612
- "kind": "field",
2613
- "name": "ariaLabelledBy",
2720
+ "name": "buttonClasses",
2614
2721
  "type": {
2615
- "text": "string | null"
2722
+ "text": "string | undefined"
2616
2723
  },
2617
- "default": "null",
2618
- "description": "Optional aria-labelledby attribute for screen readers.\nReferences the ID of an element that labels the progress indicator.",
2619
- "attribute": "aria-labelledby",
2620
- "inheritedFrom": {
2621
- "name": "ProgressMixin",
2622
- "module": "src/util/ProgressMixin.ts"
2623
- }
2724
+ "description": "Custom CSS classes for the button. If provided, replaces the default classes.",
2725
+ "fieldName": "buttonClasses",
2726
+ "attribute": "buttonClasses"
2727
+ }
2728
+ ],
2729
+ "cssStates": [
2730
+ {
2731
+ "description": "Applied briefly after a successful copy, targetable via :state(btu-copy-to-clipboard-copied)",
2732
+ "name": "btu-copy-to-clipboard-copied"
2733
+ }
2734
+ ],
2735
+ "mixins": [
2736
+ {
2737
+ "name": "ClipboardMixin",
2738
+ "module": "/src/util/ClipboardMixin.js"
2624
2739
  },
2625
2740
  {
2626
- "kind": "field",
2627
- "name": "ariaValueText",
2628
- "type": {
2629
- "text": "string | null"
2630
- },
2631
- "default": "null",
2632
- "description": "Optional aria-valuetext attribute for screen readers.\nProvides human-readable text alternative for progress value.",
2633
- "attribute": "aria-valuetext",
2634
- "inheritedFrom": {
2635
- "name": "ProgressMixin",
2636
- "module": "src/util/ProgressMixin.ts"
2637
- }
2741
+ "name": "ComponentStatesMixin",
2742
+ "module": "/src/util/ComponentStatesMixin.js"
2743
+ },
2744
+ {
2745
+ "name": "EventEmitterMixin",
2746
+ "module": "/src/util/EventEmitterMixin.js"
2747
+ },
2748
+ {
2749
+ "name": "ReadyMixin",
2750
+ "module": "/src/util/ReadyMixin.js"
2751
+ }
2752
+ ],
2753
+ "superclass": {
2754
+ "name": "LitElement",
2755
+ "package": "lit"
2756
+ },
2757
+ "tagName": "btu-copy-to-clipboard",
2758
+ "customElement": true
2759
+ }
2760
+ ],
2761
+ "exports": [
2762
+ {
2763
+ "kind": "js",
2764
+ "name": "default",
2765
+ "declaration": {
2766
+ "name": "CopyToClipboard",
2767
+ "module": "src/components/copy-to-clipboard/CopyToClipboard.ts"
2768
+ }
2769
+ },
2770
+ {
2771
+ "kind": "custom-element-definition",
2772
+ "name": "btu-copy-to-clipboard",
2773
+ "declaration": {
2774
+ "name": "CopyToClipboard",
2775
+ "module": "src/components/copy-to-clipboard/CopyToClipboard.ts"
2776
+ }
2777
+ }
2778
+ ]
2779
+ },
2780
+ {
2781
+ "kind": "javascript-module",
2782
+ "path": "src/components/dropdown/Dropdown.ts",
2783
+ "declarations": [
2784
+ {
2785
+ "kind": "class",
2786
+ "description": "A dropdown component that renders a trigger button and manages a floating panel\ncontaining a `btu-dropdown-menu`.\n\nUses the native Popover API and CSS anchor positioning for panel management.\nThe trigger button is built with existing `btu-button-*` classes.\n\n**Trigger button styling:** Set `--button-*` CSS custom properties on `<btu-dropdown>`\nor a parent element to customize the trigger via CSS inheritance (e.g.,\n`--button-border-radius`, `--button-color-background`). See\n`tailwind-plugin-button.ts` for available props.",
2787
+ "name": "Dropdown",
2788
+ "cssProperties": [
2789
+ {
2790
+ "description": "Panel background color (default: white)",
2791
+ "name": "--dropdown-panel-background"
2792
+ },
2793
+ {
2794
+ "description": "Panel border color (default: gray-200)",
2795
+ "name": "--dropdown-panel-border-color"
2796
+ },
2797
+ {
2798
+ "description": "Panel border radius (default: borderRadius.lg)",
2799
+ "name": "--dropdown-panel-border-radius"
2800
+ },
2801
+ {
2802
+ "description": "Panel minimum width (default: max(12rem, anchor-size(width)))",
2803
+ "name": "--dropdown-panel-min-width"
2804
+ },
2805
+ {
2806
+ "description": "Item background color (default: transparent)",
2807
+ "name": "--dropdown-item-background"
2808
+ },
2809
+ {
2810
+ "description": "Item text color (default: gray-700)",
2811
+ "name": "--dropdown-item-color"
2812
+ },
2813
+ {
2814
+ "description": "Item hover background (default: gray-100)",
2815
+ "name": "--dropdown-item-hover-background"
2638
2816
  },
2817
+ {
2818
+ "description": "Item hover text color (default: gray-900)",
2819
+ "name": "--dropdown-item-hover-color"
2820
+ },
2821
+ {
2822
+ "description": "Selected item background (default: primary-50)",
2823
+ "name": "--dropdown-item-selected-background"
2824
+ },
2825
+ {
2826
+ "description": "Selected item text color (default: primary-700)",
2827
+ "name": "--dropdown-item-selected-color"
2828
+ },
2829
+ {
2830
+ "description": "Item font size (default: fontSize.sm)",
2831
+ "name": "--dropdown-item-font-size"
2832
+ },
2833
+ {
2834
+ "description": "Divider line color (default: gray-200)",
2835
+ "name": "--dropdown-divider-color"
2836
+ },
2837
+ {
2838
+ "description": "Empty state text color (default: gray-400)",
2839
+ "name": "--dropdown-empty-color"
2840
+ }
2841
+ ],
2842
+ "slots": [
2843
+ {
2844
+ "description": "A `btu-dropdown-menu` element containing `btu-dropdown-item` children",
2845
+ "name": ""
2846
+ }
2847
+ ],
2848
+ "members": [
2639
2849
  {
2640
2850
  "kind": "field",
2641
- "name": "completionAnnouncement",
2851
+ "name": "label",
2642
2852
  "type": {
2643
- "text": "string | undefined"
2853
+ "text": "string"
2644
2854
  },
2645
- "description": "Optional message to announce to screen readers when progress reaches 100%.\nIf not provided, no announcement will be made on completion.",
2646
- "attribute": "completion-announcement",
2647
- "inheritedFrom": {
2648
- "name": "ProgressMixin",
2649
- "module": "src/util/ProgressMixin.ts"
2650
- }
2855
+ "default": "''",
2856
+ "description": "Trigger button text.",
2857
+ "attribute": "label"
2651
2858
  },
2652
2859
  {
2653
2860
  "kind": "field",
2654
- "name": "_isAnimationInitialized",
2861
+ "name": "open",
2655
2862
  "type": {
2656
2863
  "text": "boolean"
2657
2864
  },
2658
- "privacy": "private",
2659
2865
  "default": "false",
2660
- "inheritedFrom": {
2661
- "name": "ProgressMixin",
2662
- "module": "src/util/ProgressMixin.ts"
2663
- }
2866
+ "description": "Panel visibility state. Can be set programmatically (e.g., for tour UIs)\n— syncs to `showPopover()`/`hidePopover()` in `updated()`.",
2867
+ "attribute": "open",
2868
+ "reflects": true
2664
2869
  },
2665
2870
  {
2666
2871
  "kind": "field",
2667
- "name": "_intersectionObserver",
2872
+ "name": "placement",
2668
2873
  "type": {
2669
- "text": "IntersectionObserver | undefined"
2874
+ "text": "Placement"
2670
2875
  },
2671
- "privacy": "private",
2672
- "inheritedFrom": {
2673
- "name": "ProgressMixin",
2674
- "module": "src/util/ProgressMixin.ts"
2675
- }
2876
+ "default": "'bottom-start'",
2877
+ "description": "Panel placement: 'bottom-start', 'bottom-end', 'top-start', 'top-end'.",
2878
+ "attribute": "placement"
2676
2879
  },
2677
2880
  {
2678
2881
  "kind": "field",
2679
- "name": "_hasCompletedAt100",
2882
+ "name": "size",
2680
2883
  "type": {
2681
- "text": "boolean"
2884
+ "text": "Size"
2682
2885
  },
2683
- "privacy": "private",
2684
- "default": "false",
2685
- "inheritedFrom": {
2686
- "name": "ProgressMixin",
2687
- "module": "src/util/ProgressMixin.ts"
2688
- }
2886
+ "default": "'md'",
2887
+ "description": "Button size: 'sm', 'md', 'lg'.",
2888
+ "attribute": "size"
2689
2889
  },
2690
2890
  {
2691
2891
  "kind": "field",
2692
- "name": "_hostTag",
2892
+ "name": "disabled",
2693
2893
  "type": {
2694
- "text": "'btu-linear-progress' | 'btu-circular-progress'"
2894
+ "text": "boolean"
2695
2895
  },
2696
- "privacy": "private",
2697
- "readonly": true,
2698
- "inheritedFrom": {
2699
- "name": "ProgressMixin",
2700
- "module": "src/util/ProgressMixin.ts"
2701
- }
2896
+ "default": "false",
2897
+ "description": "Prevents opening.",
2898
+ "attribute": "disabled",
2899
+ "reflects": true
2702
2900
  },
2703
2901
  {
2704
- "kind": "method",
2705
- "name": "emit",
2706
- "parameters": [
2707
- {
2708
- "name": "type",
2709
- "type": {
2710
- "text": "K"
2711
- },
2712
- "description": "Event name from CustomEventMap"
2713
- },
2714
- {
2715
- "name": "detail",
2716
- "optional": true,
2717
- "type": {
2718
- "text": "UnpackCustomEvent<CustomEventMap[K]>"
2719
- },
2720
- "description": "Optional event detail payload"
2721
- }
2722
- ],
2723
- "description": "Dispatches a type-safe CustomEvent with standardized configuration.\n\nAll events are configured with:\n- bubbles: true (event propagates up the DOM tree)\n- cancelable: false (event cannot be cancelled)\n- composed: true (event crosses shadow DOM boundaries)",
2724
- "return": {
2725
- "type": {
2726
- "text": "boolean"
2727
- }
2728
- },
2729
- "inheritedFrom": {
2730
- "name": "EventEmitterMixin",
2731
- "module": "src/util/EventEmitterMixin.ts"
2732
- }
2733
- }
2734
- ],
2735
- "events": [
2736
- {
2902
+ "kind": "field",
2903
+ "name": "variant",
2737
2904
  "type": {
2738
- "text": "CustomEvent"
2905
+ "text": "Variant"
2739
2906
  },
2740
- "description": "Fired after first render and initialization",
2741
- "name": "btu-circular-progress-ready"
2907
+ "default": "'secondary'",
2908
+ "description": "Button variant: 'primary', 'secondary', 'tertiary', 'primary-clear', 'secondary-clear', 'tertiary-clear'.",
2909
+ "attribute": "variant"
2742
2910
  },
2743
2911
  {
2912
+ "kind": "field",
2913
+ "name": "symbol",
2744
2914
  "type": {
2745
- "text": "CustomEvent"
2915
+ "text": "string"
2746
2916
  },
2747
- "description": "Fired when determinate progress reaches 100",
2748
- "name": "btu-circular-progress-complete"
2749
- }
2750
- ],
2751
- "attributes": [
2917
+ "default": "''",
2918
+ "description": "Lucide icon symbol for the trigger.",
2919
+ "attribute": "symbol"
2920
+ },
2752
2921
  {
2753
- "name": "indeterminate",
2922
+ "kind": "field",
2923
+ "name": "iconPosition",
2754
2924
  "type": {
2755
- "text": "boolean"
2925
+ "text": "'leading' | 'trailing'"
2756
2926
  },
2757
- "default": "true",
2758
- "description": "Whether the progress indicator is indeterminate (animated spinner).\nWhen false, shows determinate progress based on the progress value.",
2759
- "fieldName": "indeterminate",
2760
- "attribute": "indeterminate"
2927
+ "default": "'leading'",
2928
+ "description": "Icon position: 'leading' or 'trailing'.",
2929
+ "attribute": "icon-position"
2761
2930
  },
2762
2931
  {
2763
- "name": "size",
2932
+ "kind": "field",
2933
+ "name": "iconOnly",
2764
2934
  "type": {
2765
- "text": "'sm' | 'md' | 'lg'"
2935
+ "text": "boolean"
2766
2936
  },
2767
- "default": "'sm'",
2768
- "description": "Size variant.\n- 'sm': Small (16px) - default\n- 'md': Medium (32px)\n- 'lg': Large (48px)",
2769
- "fieldName": "size",
2770
- "attribute": "size"
2937
+ "default": "false",
2938
+ "description": "Hides label, shows icon only.",
2939
+ "attribute": "icon-only"
2771
2940
  },
2772
2941
  {
2773
- "name": "color",
2942
+ "kind": "field",
2943
+ "name": "stayOpenOnSelect",
2774
2944
  "type": {
2775
- "text": "ProgressColors"
2945
+ "text": "boolean"
2776
2946
  },
2777
- "default": "'primary'",
2778
- "description": "Color theme of the progress indicator.\nSupports: black, white, primary, teal, gray, purple, rose, error, warning, success",
2779
- "fieldName": "color",
2780
- "attribute": "color",
2781
- "inheritedFrom": {
2782
- "name": "ProgressMixin",
2783
- "module": "src/util/ProgressMixin.ts"
2784
- }
2947
+ "default": "false",
2948
+ "description": "Keeps panel open on item click.",
2949
+ "attribute": "stay-open-on-select"
2785
2950
  },
2786
2951
  {
2787
- "name": "thickness",
2952
+ "kind": "field",
2953
+ "name": "noChevron",
2788
2954
  "type": {
2789
- "text": "number | undefined"
2955
+ "text": "boolean"
2790
2956
  },
2791
- "description": "Stroke width of the progress indicator.",
2792
- "fieldName": "thickness",
2793
- "attribute": "thickness",
2794
- "inheritedFrom": {
2795
- "name": "ProgressMixin",
2796
- "module": "src/util/ProgressMixin.ts"
2797
- }
2798
- },
2799
- {
2800
- "name": "progress",
2801
- "description": "Progress value for determinate variant. Clamped to 0–100.",
2802
- "fieldName": "progress",
2803
- "attribute": "progress",
2804
- "inheritedFrom": {
2805
- "name": "ProgressMixin",
2806
- "module": "src/util/ProgressMixin.ts"
2807
- }
2957
+ "default": "false",
2958
+ "description": "Hides the chevron icon on the trigger button.",
2959
+ "attribute": "no-chevron",
2960
+ "reflects": true
2808
2961
  },
2809
2962
  {
2810
- "name": "label",
2811
- "type": {
2812
- "text": "string | undefined"
2963
+ "kind": "method",
2964
+ "name": "_getButtonClasses",
2965
+ "privacy": "private",
2966
+ "return": {
2967
+ "type": {
2968
+ "text": "string"
2969
+ }
2813
2970
  },
2814
- "description": "Optional label text to display with the progress indicator.",
2815
- "fieldName": "label",
2816
- "attribute": "label",
2817
- "inheritedFrom": {
2818
- "name": "ProgressMixin",
2819
- "module": "src/util/ProgressMixin.ts"
2820
- }
2971
+ "description": "Build the button class string based on variant and size"
2821
2972
  },
2822
2973
  {
2823
- "name": "initial-animation",
2824
- "type": {
2825
- "text": "boolean"
2974
+ "kind": "method",
2975
+ "name": "_showPanel",
2976
+ "privacy": "private",
2977
+ "return": {
2978
+ "type": {
2979
+ "text": "void"
2980
+ }
2826
2981
  },
2827
- "default": "true",
2828
- "description": "Whether to animate progress from 0 to target value when component first becomes visible.",
2829
- "fieldName": "initialAnimation",
2830
- "attribute": "initial-animation",
2831
- "inheritedFrom": {
2832
- "name": "ProgressMixin",
2833
- "module": "src/util/ProgressMixin.ts"
2834
- }
2982
+ "description": "Show the dropdown panel"
2835
2983
  },
2836
2984
  {
2837
- "name": "aria-label",
2838
- "type": {
2839
- "text": "string | null"
2985
+ "kind": "method",
2986
+ "name": "_hidePanel",
2987
+ "privacy": "private",
2988
+ "return": {
2989
+ "type": {
2990
+ "text": "void"
2991
+ }
2840
2992
  },
2841
- "default": "null",
2842
- "description": "Optional aria-label attribute for screen readers.\nDescribes what the progress indicator represents.",
2843
- "fieldName": "ariaLabel",
2844
- "attribute": "aria-label",
2845
- "inheritedFrom": {
2846
- "name": "ProgressMixin",
2847
- "module": "src/util/ProgressMixin.ts"
2848
- }
2993
+ "description": "Hide the dropdown panel"
2849
2994
  },
2850
2995
  {
2851
- "name": "aria-labelledby",
2996
+ "kind": "field",
2997
+ "name": "tooltip",
2852
2998
  "type": {
2853
- "text": "string | null"
2999
+ "text": "string"
2854
3000
  },
2855
- "default": "null",
2856
- "description": "Optional aria-labelledby attribute for screen readers.\nReferences the ID of an element that labels the progress indicator.",
2857
- "fieldName": "ariaLabelledBy",
2858
- "attribute": "aria-labelledby",
3001
+ "default": "''",
3002
+ "description": "Tooltip text content. Set to empty string to remove the tooltip.",
3003
+ "attribute": "tooltip",
2859
3004
  "inheritedFrom": {
2860
- "name": "ProgressMixin",
2861
- "module": "src/util/ProgressMixin.ts"
3005
+ "name": "TooltipMixin",
3006
+ "module": "src/util/TooltipMixin.ts"
2862
3007
  }
2863
3008
  },
2864
3009
  {
2865
- "name": "aria-valuetext",
3010
+ "kind": "field",
3011
+ "name": "tooltipPosition",
2866
3012
  "type": {
2867
- "text": "string | null"
3013
+ "text": "'top' | 'bottom' | 'left' | 'right'"
2868
3014
  },
2869
- "default": "null",
2870
- "description": "Optional aria-valuetext attribute for screen readers.\nProvides human-readable text alternative for progress value.",
2871
- "fieldName": "ariaValueText",
2872
- "attribute": "aria-valuetext",
3015
+ "default": "'top'",
3016
+ "description": "Position relative to the host element. Auto-flips when constrained by the viewport.",
3017
+ "attribute": "tooltip-position",
2873
3018
  "inheritedFrom": {
2874
- "name": "ProgressMixin",
2875
- "module": "src/util/ProgressMixin.ts"
3019
+ "name": "TooltipMixin",
3020
+ "module": "src/util/TooltipMixin.ts"
2876
3021
  }
2877
3022
  },
2878
3023
  {
2879
- "name": "completion-announcement",
3024
+ "kind": "field",
3025
+ "name": "tooltipDelay",
2880
3026
  "type": {
2881
- "text": "string | undefined"
3027
+ "text": "number"
2882
3028
  },
2883
- "description": "Optional message to announce to screen readers when progress reaches 100%.\nIf not provided, no announcement will be made on completion.",
2884
- "fieldName": "completionAnnouncement",
2885
- "attribute": "completion-announcement",
3029
+ "default": "300",
3030
+ "description": "Show delay in milliseconds (hover trigger only).",
3031
+ "attribute": "tooltip-delay",
2886
3032
  "inheritedFrom": {
2887
- "name": "ProgressMixin",
2888
- "module": "src/util/ProgressMixin.ts"
2889
- }
2890
- }
2891
- ],
2892
- "mixins": [
2893
- {
2894
- "name": "ProgressMixin",
2895
- "module": "/src/util/ProgressMixin.js"
2896
- },
2897
- {
2898
- "name": "EventEmitterMixin",
2899
- "module": "/src/util/EventEmitterMixin.js"
2900
- },
2901
- {
2902
- "name": "ReadyMixin",
2903
- "module": "/src/util/ReadyMixin.js"
2904
- }
2905
- ],
2906
- "superclass": {
2907
- "name": "LitElement",
2908
- "package": "lit"
2909
- },
2910
- "tagName": "btu-circular-progress",
2911
- "customElement": true
2912
- }
2913
- ],
2914
- "exports": [
2915
- {
2916
- "kind": "js",
2917
- "name": "default",
2918
- "declaration": {
2919
- "name": "CircularProgress",
2920
- "module": "src/components/circular-progress/CircularProgress.ts"
2921
- }
2922
- },
2923
- {
2924
- "kind": "custom-element-definition",
2925
- "name": "btu-circular-progress",
2926
- "declaration": {
2927
- "name": "CircularProgress",
2928
- "module": "src/components/circular-progress/CircularProgress.ts"
2929
- }
2930
- }
2931
- ]
2932
- },
2933
- {
2934
- "kind": "javascript-module",
2935
- "path": "src/components/copy-to-clipboard/CopyToClipboard.ts",
2936
- "declarations": [
2937
- {
2938
- "kind": "class",
2939
- "description": "A button component that copies text to the system clipboard.\n\nProvides visual feedback when text is successfully copied by applying\na temporary state that can be styled with CSS.\n\nButton styling is inherited from `btu-button-*` classes. Override appearance\nby passing custom classes via the `buttonClasses` attribute.",
2940
- "name": "CopyToClipboard",
2941
- "members": [
3033
+ "name": "TooltipMixin",
3034
+ "module": "src/util/TooltipMixin.ts"
3035
+ }
3036
+ },
2942
3037
  {
2943
3038
  "kind": "field",
2944
- "name": "copydata",
3039
+ "name": "tooltipOffset",
2945
3040
  "type": {
2946
- "text": "string | undefined"
3041
+ "text": "TooltipOffset | null"
2947
3042
  },
2948
- "description": "The text to be copied to the system clipboard.",
2949
- "attribute": "copydata"
3043
+ "default": "null",
3044
+ "description": "Gap between host and tooltip (sm=4px, md=8px, lg=12px, xl=16px).",
3045
+ "attribute": "tooltip-offset",
3046
+ "inheritedFrom": {
3047
+ "name": "TooltipMixin",
3048
+ "module": "src/util/TooltipMixin.ts"
3049
+ }
2950
3050
  },
2951
3051
  {
2952
3052
  "kind": "field",
2953
- "name": "buttonClasses",
3053
+ "name": "tooltipNoArrow",
2954
3054
  "type": {
2955
- "text": "string | undefined"
3055
+ "text": "boolean"
2956
3056
  },
2957
- "description": "Custom CSS classes for the button. If provided, replaces the default classes.",
2958
- "attribute": "buttonClasses"
3057
+ "default": "false",
3058
+ "description": "Hide the arrow pseudo-element.",
3059
+ "attribute": "tooltip-no-arrow",
3060
+ "inheritedFrom": {
3061
+ "name": "TooltipMixin",
3062
+ "module": "src/util/TooltipMixin.ts"
3063
+ }
2959
3064
  },
2960
3065
  {
2961
- "kind": "method",
2962
- "name": "copy",
2963
- "return": {
2964
- "type": {
2965
- "text": ""
2966
- }
3066
+ "kind": "field",
3067
+ "name": "tooltipTrigger",
3068
+ "type": {
3069
+ "text": "string"
2967
3070
  },
2968
- "parameters": [
2969
- {
2970
- "name": "text",
2971
- "type": {
2972
- "text": "string"
2973
- },
2974
- "description": "The text to copy to clipboard"
2975
- },
2976
- {
2977
- "name": "timeout",
2978
- "default": "3000",
2979
- "description": "Duration in milliseconds to show success state (default: 3000)"
2980
- }
2981
- ],
2982
- "description": "Copies the copydata to the system clipboard.\nDisplays a success state for 3 seconds after copying.",
3071
+ "default": "'hover focus'",
3072
+ "description": "Space-separated trigger types: 'hover', 'focus', 'click'.",
3073
+ "attribute": "tooltip-trigger",
2983
3074
  "inheritedFrom": {
2984
- "name": "ClipboardMixin",
2985
- "module": "src/util/ClipboardMixin.ts"
3075
+ "name": "TooltipMixin",
3076
+ "module": "src/util/TooltipMixin.ts"
2986
3077
  }
2987
3078
  },
2988
3079
  {
2989
3080
  "kind": "field",
2990
- "name": "copiedStateKey",
3081
+ "name": "_onMouseLeave",
3082
+ "privacy": "private",
3083
+ "inheritedFrom": {
3084
+ "name": "TooltipMixin",
3085
+ "module": "src/util/TooltipMixin.ts"
3086
+ }
3087
+ },
3088
+ {
3089
+ "kind": "field",
3090
+ "name": "_onFocusIn",
3091
+ "privacy": "private",
3092
+ "inheritedFrom": {
3093
+ "name": "TooltipMixin",
3094
+ "module": "src/util/TooltipMixin.ts"
3095
+ }
3096
+ },
3097
+ {
3098
+ "kind": "field",
3099
+ "name": "_onFocusOut",
3100
+ "privacy": "private",
3101
+ "inheritedFrom": {
3102
+ "name": "TooltipMixin",
3103
+ "module": "src/util/TooltipMixin.ts"
3104
+ }
3105
+ },
3106
+ {
3107
+ "kind": "field",
3108
+ "name": "_onClick",
3109
+ "privacy": "private",
3110
+ "inheritedFrom": {
3111
+ "name": "TooltipMixin",
3112
+ "module": "src/util/TooltipMixin.ts"
3113
+ }
3114
+ },
3115
+ {
3116
+ "kind": "field",
3117
+ "name": "_onNativeToggle",
3118
+ "privacy": "private",
3119
+ "inheritedFrom": {
3120
+ "name": "TooltipMixin",
3121
+ "module": "src/util/TooltipMixin.ts"
3122
+ }
3123
+ },
3124
+ {
3125
+ "kind": "field",
3126
+ "name": "_onKeyDown",
3127
+ "privacy": "private",
3128
+ "inheritedFrom": {
3129
+ "name": "TooltipMixin",
3130
+ "module": "src/util/TooltipMixin.ts"
3131
+ }
3132
+ },
3133
+ {
3134
+ "kind": "field",
3135
+ "name": "_onDocumentClick",
2991
3136
  "type": {
2992
- "text": "'btu-copy-to-clipboard-copied'"
3137
+ "text": "((e: MouseEvent) => void) | null"
2993
3138
  },
2994
- "description": "Custom state applied briefly after a successful copy; also emitted as an event.",
2995
- "readonly": true,
3139
+ "privacy": "private",
3140
+ "default": "null",
2996
3141
  "inheritedFrom": {
2997
- "name": "ClipboardMixin",
2998
- "module": "src/util/ClipboardMixin.ts"
3142
+ "name": "TooltipMixin",
3143
+ "module": "src/util/TooltipMixin.ts"
2999
3144
  }
3000
3145
  },
3001
3146
  {
@@ -3036,310 +3181,156 @@
3036
3181
  "text": "CustomEvent"
3037
3182
  },
3038
3183
  "description": "Fired after first render and initialization",
3039
- "name": "btu-copy-to-clipboard-ready"
3184
+ "name": "btu-dropdown-ready"
3040
3185
  },
3041
3186
  {
3042
3187
  "type": {
3043
3188
  "text": "CustomEvent"
3044
3189
  },
3045
- "description": "Fired when text is successfully copied to clipboard",
3046
- "name": "btu-copy-to-clipboard-copied"
3047
- }
3048
- ],
3049
- "attributes": [
3050
- {
3051
- "name": "copydata",
3052
- "type": {
3053
- "text": "string | undefined"
3054
- },
3055
- "description": "The text to be copied to the system clipboard.",
3056
- "fieldName": "copydata",
3057
- "attribute": "copydata"
3190
+ "description": "Fired when the dropdown panel opens",
3191
+ "name": "btu-dropdown-show"
3058
3192
  },
3059
3193
  {
3060
- "name": "buttonClasses",
3061
3194
  "type": {
3062
- "text": "string | undefined"
3195
+ "text": "CustomEvent"
3063
3196
  },
3064
- "description": "Custom CSS classes for the button. If provided, replaces the default classes.",
3065
- "fieldName": "buttonClasses",
3066
- "attribute": "buttonClasses"
3067
- }
3068
- ],
3069
- "cssStates": [
3070
- {
3071
- "description": "Applied briefly after a successful copy, targetable via :state(btu-copy-to-clipboard-copied)",
3072
- "name": "btu-copy-to-clipboard-copied"
3073
- }
3074
- ],
3075
- "mixins": [
3076
- {
3077
- "name": "ClipboardMixin",
3078
- "module": "/src/util/ClipboardMixin.js"
3079
- },
3080
- {
3081
- "name": "ComponentStatesMixin",
3082
- "module": "/src/util/ComponentStatesMixin.js"
3083
- },
3084
- {
3085
- "name": "EventEmitterMixin",
3086
- "module": "/src/util/EventEmitterMixin.js"
3087
- },
3088
- {
3089
- "name": "ReadyMixin",
3090
- "module": "/src/util/ReadyMixin.js"
3091
- }
3092
- ],
3093
- "superclass": {
3094
- "name": "LitElement",
3095
- "package": "lit"
3096
- },
3097
- "tagName": "btu-copy-to-clipboard",
3098
- "customElement": true
3099
- }
3100
- ],
3101
- "exports": [
3102
- {
3103
- "kind": "js",
3104
- "name": "default",
3105
- "declaration": {
3106
- "name": "CopyToClipboard",
3107
- "module": "src/components/copy-to-clipboard/CopyToClipboard.ts"
3108
- }
3109
- },
3110
- {
3111
- "kind": "custom-element-definition",
3112
- "name": "btu-copy-to-clipboard",
3113
- "declaration": {
3114
- "name": "CopyToClipboard",
3115
- "module": "src/components/copy-to-clipboard/CopyToClipboard.ts"
3116
- }
3117
- }
3118
- ]
3119
- },
3120
- {
3121
- "kind": "javascript-module",
3122
- "path": "src/components/dropdown/Dropdown.ts",
3123
- "declarations": [
3124
- {
3125
- "kind": "class",
3126
- "description": "A dropdown component that renders a trigger button and manages a floating panel\ncontaining a `btu-dropdown-menu`.\n\nUses the native Popover API and CSS anchor positioning for panel management.\nThe trigger button is built with existing `btu-button-*` classes.\n\n**Trigger button styling:** Set `--button-*` CSS custom properties on `<btu-dropdown>`\nor a parent element to customize the trigger via CSS inheritance (e.g.,\n`--button-border-radius`, `--button-color-background`). See\n`tailwind-plugin-button.ts` for available props.",
3127
- "name": "Dropdown",
3128
- "cssProperties": [
3129
- {
3130
- "description": "Panel background color (default: white)",
3131
- "name": "--dropdown-panel-background"
3132
- },
3133
- {
3134
- "description": "Panel border color (default: gray-200)",
3135
- "name": "--dropdown-panel-border-color"
3136
- },
3137
- {
3138
- "description": "Panel border radius (default: borderRadius.lg)",
3139
- "name": "--dropdown-panel-border-radius"
3140
- },
3141
- {
3142
- "description": "Panel minimum width (default: max(12rem, anchor-size(width)))",
3143
- "name": "--dropdown-panel-min-width"
3144
- },
3145
- {
3146
- "description": "Item background color (default: transparent)",
3147
- "name": "--dropdown-item-background"
3148
- },
3149
- {
3150
- "description": "Item text color (default: gray-700)",
3151
- "name": "--dropdown-item-color"
3152
- },
3153
- {
3154
- "description": "Item hover background (default: gray-100)",
3155
- "name": "--dropdown-item-hover-background"
3156
- },
3157
- {
3158
- "description": "Item hover text color (default: gray-900)",
3159
- "name": "--dropdown-item-hover-color"
3160
- },
3161
- {
3162
- "description": "Selected item background (default: primary-50)",
3163
- "name": "--dropdown-item-selected-background"
3164
- },
3165
- {
3166
- "description": "Selected item text color (default: primary-700)",
3167
- "name": "--dropdown-item-selected-color"
3168
- },
3169
- {
3170
- "description": "Item font size (default: fontSize.sm)",
3171
- "name": "--dropdown-item-font-size"
3197
+ "description": "Fired when the dropdown panel closes",
3198
+ "name": "btu-dropdown-hide"
3172
3199
  },
3173
3200
  {
3174
- "description": "Divider line color (default: gray-200)",
3175
- "name": "--dropdown-divider-color"
3201
+ "type": {
3202
+ "text": "CustomEvent<{label: string, value: string, selected: boolean}>"
3203
+ },
3204
+ "description": "Fired when a menu item is activated (bubbles from btu-dropdown-item)",
3205
+ "name": "btu-dropdown-item-select"
3176
3206
  },
3177
3207
  {
3178
- "description": "Empty state text color (default: gray-400)",
3179
- "name": "--dropdown-empty-color"
3180
- }
3181
- ],
3182
- "slots": [
3183
- {
3184
- "description": "A `btu-dropdown-menu` element containing `btu-dropdown-item` children",
3185
- "name": ""
3208
+ "type": {
3209
+ "text": "CustomEvent<{label: string, favorited: boolean}>"
3210
+ },
3211
+ "description": "Fired when a menu item's favorite is toggled (bubbles from btu-dropdown-item)",
3212
+ "name": "btu-dropdown-item-favorite"
3186
3213
  }
3187
3214
  ],
3188
- "members": [
3215
+ "attributes": [
3189
3216
  {
3190
- "kind": "field",
3191
3217
  "name": "label",
3192
3218
  "type": {
3193
3219
  "text": "string"
3194
3220
  },
3195
3221
  "default": "''",
3196
3222
  "description": "Trigger button text.",
3223
+ "fieldName": "label",
3197
3224
  "attribute": "label"
3198
3225
  },
3199
3226
  {
3200
- "kind": "field",
3201
3227
  "name": "open",
3202
3228
  "type": {
3203
3229
  "text": "boolean"
3204
3230
  },
3205
3231
  "default": "false",
3206
3232
  "description": "Panel visibility state. Can be set programmatically (e.g., for tour UIs)\n— syncs to `showPopover()`/`hidePopover()` in `updated()`.",
3207
- "attribute": "open",
3208
- "reflects": true
3233
+ "fieldName": "open",
3234
+ "attribute": "open"
3209
3235
  },
3210
3236
  {
3211
- "kind": "field",
3212
3237
  "name": "placement",
3213
3238
  "type": {
3214
3239
  "text": "Placement"
3215
3240
  },
3216
3241
  "default": "'bottom-start'",
3217
3242
  "description": "Panel placement: 'bottom-start', 'bottom-end', 'top-start', 'top-end'.",
3243
+ "fieldName": "placement",
3218
3244
  "attribute": "placement"
3219
3245
  },
3220
3246
  {
3221
- "kind": "field",
3222
3247
  "name": "size",
3223
3248
  "type": {
3224
3249
  "text": "Size"
3225
3250
  },
3226
3251
  "default": "'md'",
3227
3252
  "description": "Button size: 'sm', 'md', 'lg'.",
3253
+ "fieldName": "size",
3228
3254
  "attribute": "size"
3229
3255
  },
3230
3256
  {
3231
- "kind": "field",
3232
3257
  "name": "disabled",
3233
3258
  "type": {
3234
3259
  "text": "boolean"
3235
3260
  },
3236
3261
  "default": "false",
3237
3262
  "description": "Prevents opening.",
3238
- "attribute": "disabled",
3239
- "reflects": true
3263
+ "fieldName": "disabled",
3264
+ "attribute": "disabled"
3240
3265
  },
3241
3266
  {
3242
- "kind": "field",
3243
3267
  "name": "variant",
3244
3268
  "type": {
3245
3269
  "text": "Variant"
3246
3270
  },
3247
3271
  "default": "'secondary'",
3248
3272
  "description": "Button variant: 'primary', 'secondary', 'tertiary', 'primary-clear', 'secondary-clear', 'tertiary-clear'.",
3273
+ "fieldName": "variant",
3249
3274
  "attribute": "variant"
3250
3275
  },
3251
3276
  {
3252
- "kind": "field",
3253
3277
  "name": "symbol",
3254
3278
  "type": {
3255
3279
  "text": "string"
3256
3280
  },
3257
3281
  "default": "''",
3258
3282
  "description": "Lucide icon symbol for the trigger.",
3283
+ "fieldName": "symbol",
3259
3284
  "attribute": "symbol"
3260
3285
  },
3261
3286
  {
3262
- "kind": "field",
3263
- "name": "iconPosition",
3287
+ "name": "icon-position",
3264
3288
  "type": {
3265
3289
  "text": "'leading' | 'trailing'"
3266
3290
  },
3267
3291
  "default": "'leading'",
3268
3292
  "description": "Icon position: 'leading' or 'trailing'.",
3293
+ "fieldName": "iconPosition",
3269
3294
  "attribute": "icon-position"
3270
3295
  },
3271
3296
  {
3272
- "kind": "field",
3273
- "name": "iconOnly",
3297
+ "name": "icon-only",
3274
3298
  "type": {
3275
3299
  "text": "boolean"
3276
3300
  },
3277
3301
  "default": "false",
3278
3302
  "description": "Hides label, shows icon only.",
3303
+ "fieldName": "iconOnly",
3279
3304
  "attribute": "icon-only"
3280
3305
  },
3281
3306
  {
3282
- "kind": "field",
3283
- "name": "stayOpenOnSelect",
3307
+ "name": "stay-open-on-select",
3284
3308
  "type": {
3285
3309
  "text": "boolean"
3286
3310
  },
3287
3311
  "default": "false",
3288
3312
  "description": "Keeps panel open on item click.",
3313
+ "fieldName": "stayOpenOnSelect",
3289
3314
  "attribute": "stay-open-on-select"
3290
3315
  },
3291
3316
  {
3292
- "kind": "field",
3293
- "name": "noChevron",
3317
+ "name": "no-chevron",
3294
3318
  "type": {
3295
3319
  "text": "boolean"
3296
3320
  },
3297
3321
  "default": "false",
3298
3322
  "description": "Hides the chevron icon on the trigger button.",
3299
- "attribute": "no-chevron",
3300
- "reflects": true
3301
- },
3302
- {
3303
- "kind": "method",
3304
- "name": "_getButtonClasses",
3305
- "privacy": "private",
3306
- "return": {
3307
- "type": {
3308
- "text": "string"
3309
- }
3310
- },
3311
- "description": "Build the button class string based on variant and size"
3312
- },
3313
- {
3314
- "kind": "method",
3315
- "name": "_showPanel",
3316
- "privacy": "private",
3317
- "return": {
3318
- "type": {
3319
- "text": "void"
3320
- }
3321
- },
3322
- "description": "Show the dropdown panel"
3323
- },
3324
- {
3325
- "kind": "method",
3326
- "name": "_hidePanel",
3327
- "privacy": "private",
3328
- "return": {
3329
- "type": {
3330
- "text": "void"
3331
- }
3332
- },
3333
- "description": "Hide the dropdown panel"
3323
+ "fieldName": "noChevron",
3324
+ "attribute": "no-chevron"
3334
3325
  },
3335
3326
  {
3336
- "kind": "field",
3337
3327
  "name": "tooltip",
3338
3328
  "type": {
3339
3329
  "text": "string"
3340
3330
  },
3341
3331
  "default": "''",
3342
3332
  "description": "Tooltip text content. Set to empty string to remove the tooltip.",
3333
+ "fieldName": "tooltip",
3343
3334
  "attribute": "tooltip",
3344
3335
  "inheritedFrom": {
3345
3336
  "name": "TooltipMixin",
@@ -3347,477 +3338,489 @@
3347
3338
  }
3348
3339
  },
3349
3340
  {
3350
- "kind": "field",
3351
3341
  "name": "tooltipPosition",
3352
3342
  "type": {
3353
3343
  "text": "'top' | 'bottom' | 'left' | 'right'"
3354
3344
  },
3355
3345
  "default": "'top'",
3356
3346
  "description": "Position relative to the host element. Auto-flips when constrained by the viewport.",
3357
- "attribute": "tooltip-position",
3347
+ "fieldName": "tooltipPosition",
3358
3348
  "inheritedFrom": {
3359
3349
  "name": "TooltipMixin",
3360
3350
  "module": "src/util/TooltipMixin.ts"
3361
3351
  }
3362
3352
  },
3363
3353
  {
3364
- "kind": "field",
3365
3354
  "name": "tooltipDelay",
3366
3355
  "type": {
3367
3356
  "text": "number"
3368
3357
  },
3369
3358
  "default": "300",
3370
3359
  "description": "Show delay in milliseconds (hover trigger only).",
3371
- "attribute": "tooltip-delay",
3360
+ "fieldName": "tooltipDelay",
3372
3361
  "inheritedFrom": {
3373
3362
  "name": "TooltipMixin",
3374
3363
  "module": "src/util/TooltipMixin.ts"
3375
3364
  }
3376
3365
  },
3377
3366
  {
3378
- "kind": "field",
3379
3367
  "name": "tooltipOffset",
3380
3368
  "type": {
3381
3369
  "text": "TooltipOffset | null"
3382
3370
  },
3383
3371
  "default": "null",
3384
3372
  "description": "Gap between host and tooltip (sm=4px, md=8px, lg=12px, xl=16px).",
3385
- "attribute": "tooltip-offset",
3373
+ "fieldName": "tooltipOffset",
3386
3374
  "inheritedFrom": {
3387
3375
  "name": "TooltipMixin",
3388
3376
  "module": "src/util/TooltipMixin.ts"
3389
3377
  }
3390
3378
  },
3391
3379
  {
3392
- "kind": "field",
3393
3380
  "name": "tooltipNoArrow",
3394
3381
  "type": {
3395
3382
  "text": "boolean"
3396
3383
  },
3397
3384
  "default": "false",
3398
3385
  "description": "Hide the arrow pseudo-element.",
3399
- "attribute": "tooltip-no-arrow",
3386
+ "fieldName": "tooltipNoArrow",
3400
3387
  "inheritedFrom": {
3401
3388
  "name": "TooltipMixin",
3402
3389
  "module": "src/util/TooltipMixin.ts"
3403
3390
  }
3404
3391
  },
3405
3392
  {
3406
- "kind": "field",
3407
3393
  "name": "tooltipTrigger",
3408
3394
  "type": {
3409
3395
  "text": "string"
3410
3396
  },
3411
3397
  "default": "'hover focus'",
3412
3398
  "description": "Space-separated trigger types: 'hover', 'focus', 'click'.",
3413
- "attribute": "tooltip-trigger",
3399
+ "fieldName": "tooltipTrigger",
3414
3400
  "inheritedFrom": {
3415
3401
  "name": "TooltipMixin",
3416
3402
  "module": "src/util/TooltipMixin.ts"
3417
3403
  }
3418
3404
  },
3419
3405
  {
3420
- "kind": "field",
3421
- "name": "_onMouseLeave",
3422
- "privacy": "private",
3406
+ "name": "tooltip-position",
3407
+ "type": {
3408
+ "text": "'top' | 'bottom' | 'left' | 'right'"
3409
+ },
3410
+ "default": "'top'",
3411
+ "description": "Position relative to the host element. Auto-flips when constrained by the viewport.",
3412
+ "attribute": "tooltipPosition",
3413
+ "fieldName": "tooltipPosition",
3423
3414
  "inheritedFrom": {
3424
3415
  "name": "TooltipMixin",
3425
3416
  "module": "src/util/TooltipMixin.ts"
3426
3417
  }
3427
3418
  },
3428
3419
  {
3429
- "kind": "field",
3430
- "name": "_onFocusIn",
3431
- "privacy": "private",
3420
+ "name": "tooltip-delay",
3421
+ "type": {
3422
+ "text": "number"
3423
+ },
3424
+ "default": "300",
3425
+ "description": "Show delay in milliseconds (hover trigger only).",
3426
+ "attribute": "tooltipDelay",
3427
+ "fieldName": "tooltipDelay",
3432
3428
  "inheritedFrom": {
3433
3429
  "name": "TooltipMixin",
3434
3430
  "module": "src/util/TooltipMixin.ts"
3435
3431
  }
3436
3432
  },
3437
3433
  {
3438
- "kind": "field",
3439
- "name": "_onFocusOut",
3440
- "privacy": "private",
3434
+ "name": "tooltip-offset",
3435
+ "type": {
3436
+ "text": "TooltipOffset | null"
3437
+ },
3438
+ "default": "null",
3439
+ "description": "Gap between host and tooltip (sm=4px, md=8px, lg=12px, xl=16px).",
3440
+ "attribute": "tooltipOffset",
3441
+ "fieldName": "tooltipOffset",
3441
3442
  "inheritedFrom": {
3442
3443
  "name": "TooltipMixin",
3443
3444
  "module": "src/util/TooltipMixin.ts"
3444
3445
  }
3445
3446
  },
3446
3447
  {
3447
- "kind": "field",
3448
- "name": "_onClick",
3449
- "privacy": "private",
3448
+ "name": "tooltip-no-arrow",
3449
+ "type": {
3450
+ "text": "boolean"
3451
+ },
3452
+ "default": "false",
3453
+ "description": "Hide the arrow pseudo-element.",
3454
+ "attribute": "tooltipNoArrow",
3455
+ "fieldName": "tooltipNoArrow",
3450
3456
  "inheritedFrom": {
3451
3457
  "name": "TooltipMixin",
3452
3458
  "module": "src/util/TooltipMixin.ts"
3453
3459
  }
3454
3460
  },
3455
3461
  {
3456
- "kind": "field",
3457
- "name": "_onNativeToggle",
3458
- "privacy": "private",
3462
+ "name": "tooltip-trigger",
3463
+ "type": {
3464
+ "text": "string"
3465
+ },
3466
+ "default": "'hover focus'",
3467
+ "description": "Space-separated trigger types: 'hover', 'focus', 'click'.",
3468
+ "attribute": "tooltipTrigger",
3469
+ "fieldName": "tooltipTrigger",
3459
3470
  "inheritedFrom": {
3460
3471
  "name": "TooltipMixin",
3461
3472
  "module": "src/util/TooltipMixin.ts"
3462
3473
  }
3463
- },
3474
+ }
3475
+ ],
3476
+ "mixins": [
3464
3477
  {
3465
- "kind": "field",
3466
- "name": "_onKeyDown",
3467
- "privacy": "private",
3468
- "inheritedFrom": {
3469
- "name": "TooltipMixin",
3470
- "module": "src/util/TooltipMixin.ts"
3471
- }
3478
+ "name": "TooltipMixin",
3479
+ "module": "/src/util/TooltipMixin.js"
3472
3480
  },
3473
3481
  {
3474
- "kind": "field",
3475
- "name": "_onDocumentClick",
3476
- "type": {
3477
- "text": "((e: MouseEvent) => void) | null"
3478
- },
3479
- "privacy": "private",
3480
- "default": "null",
3481
- "inheritedFrom": {
3482
- "name": "TooltipMixin",
3483
- "module": "src/util/TooltipMixin.ts"
3484
- }
3482
+ "name": "EventEmitterMixin",
3483
+ "module": "/src/util/EventEmitterMixin.js"
3485
3484
  },
3486
3485
  {
3487
- "kind": "method",
3488
- "name": "emit",
3489
- "parameters": [
3490
- {
3491
- "name": "type",
3492
- "type": {
3493
- "text": "K"
3494
- },
3495
- "description": "Event name from CustomEventMap"
3496
- },
3497
- {
3498
- "name": "detail",
3499
- "optional": true,
3500
- "type": {
3501
- "text": "UnpackCustomEvent<CustomEventMap[K]>"
3502
- },
3503
- "description": "Optional event detail payload"
3504
- }
3505
- ],
3506
- "description": "Dispatches a type-safe CustomEvent with standardized configuration.\n\nAll events are configured with:\n- bubbles: true (event propagates up the DOM tree)\n- cancelable: false (event cannot be cancelled)\n- composed: true (event crosses shadow DOM boundaries)",
3507
- "return": {
3508
- "type": {
3509
- "text": "boolean"
3510
- }
3511
- },
3512
- "inheritedFrom": {
3513
- "name": "EventEmitterMixin",
3514
- "module": "src/util/EventEmitterMixin.ts"
3515
- }
3486
+ "name": "ReadyMixin",
3487
+ "module": "/src/util/ReadyMixin.js"
3516
3488
  }
3517
3489
  ],
3518
- "events": [
3490
+ "superclass": {
3491
+ "name": "LitElement",
3492
+ "package": "lit"
3493
+ },
3494
+ "tagName": "btu-dropdown",
3495
+ "customElement": true
3496
+ }
3497
+ ],
3498
+ "exports": [
3499
+ {
3500
+ "kind": "js",
3501
+ "name": "default",
3502
+ "declaration": {
3503
+ "name": "Dropdown",
3504
+ "module": "src/components/dropdown/Dropdown.ts"
3505
+ }
3506
+ },
3507
+ {
3508
+ "kind": "custom-element-definition",
3509
+ "name": "btu-dropdown",
3510
+ "declaration": {
3511
+ "name": "Dropdown",
3512
+ "module": "src/components/dropdown/Dropdown.ts"
3513
+ }
3514
+ }
3515
+ ]
3516
+ },
3517
+ {
3518
+ "kind": "javascript-module",
3519
+ "path": "src/components/dropdown/DropdownItem.ts",
3520
+ "declarations": [
3521
+ {
3522
+ "kind": "class",
3523
+ "description": "A menu item component for use inside `btu-dropdown-menu`.\n\nRenders as a menu item, divider, or subhead depending on the `type` property.\nSupports checkbox mode (inherited from parent menu), icons, keyboard shortcuts,\nand favorite toggles.",
3524
+ "name": "DropdownItem",
3525
+ "cssProperties": [
3519
3526
  {
3520
- "type": {
3521
- "text": "CustomEvent"
3522
- },
3523
- "description": "Fired after first render and initialization",
3524
- "name": "btu-dropdown-ready"
3527
+ "description": "Item font size (default: theme fontSize.sm)",
3528
+ "name": "--dropdown-item-font-size"
3525
3529
  },
3526
3530
  {
3527
- "type": {
3528
- "text": "CustomEvent"
3529
- },
3530
- "description": "Fired when the dropdown panel opens",
3531
- "name": "btu-dropdown-show"
3531
+ "description": "Item text color (default: gray-700)",
3532
+ "name": "--dropdown-item-color"
3532
3533
  },
3533
3534
  {
3534
- "type": {
3535
- "text": "CustomEvent"
3536
- },
3537
- "description": "Fired when the dropdown panel closes",
3538
- "name": "btu-dropdown-hide"
3535
+ "description": "Item background color (default: transparent)",
3536
+ "name": "--dropdown-item-background"
3539
3537
  },
3540
3538
  {
3541
- "type": {
3542
- "text": "CustomEvent<{label: string, value: string, selected: boolean}>"
3543
- },
3544
- "description": "Fired when a menu item is activated (bubbles from btu-dropdown-item)",
3545
- "name": "btu-dropdown-item-select"
3539
+ "description": "Background on hover (default: gray-100)",
3540
+ "name": "--dropdown-item-hover-background"
3546
3541
  },
3547
3542
  {
3548
- "type": {
3549
- "text": "CustomEvent<{label: string, favorited: boolean}>"
3550
- },
3551
- "description": "Fired when a menu item's favorite is toggled (bubbles from btu-dropdown-item)",
3552
- "name": "btu-dropdown-item-favorite"
3543
+ "description": "Text color on hover (default: gray-900)",
3544
+ "name": "--dropdown-item-hover-color"
3545
+ },
3546
+ {
3547
+ "description": "Background when selected (default: primary-50)",
3548
+ "name": "--dropdown-item-selected-background"
3549
+ },
3550
+ {
3551
+ "description": "Text color when selected (default: primary-700)",
3552
+ "name": "--dropdown-item-selected-color"
3553
3553
  }
3554
3554
  ],
3555
- "attributes": [
3555
+ "members": [
3556
3556
  {
3557
+ "kind": "field",
3557
3558
  "name": "label",
3558
3559
  "type": {
3559
3560
  "text": "string"
3560
3561
  },
3561
3562
  "default": "''",
3562
- "description": "Trigger button text.",
3563
- "fieldName": "label",
3563
+ "description": "Display text for the item.",
3564
3564
  "attribute": "label"
3565
3565
  },
3566
3566
  {
3567
- "name": "open",
3568
- "type": {
3569
- "text": "boolean"
3570
- },
3571
- "default": "false",
3572
- "description": "Panel visibility state. Can be set programmatically (e.g., for tour UIs)\n— syncs to `showPopover()`/`hidePopover()` in `updated()`.",
3573
- "fieldName": "open",
3574
- "attribute": "open"
3575
- },
3576
- {
3577
- "name": "placement",
3578
- "type": {
3579
- "text": "Placement"
3580
- },
3581
- "default": "'bottom-start'",
3582
- "description": "Panel placement: 'bottom-start', 'bottom-end', 'top-start', 'top-end'.",
3583
- "fieldName": "placement",
3584
- "attribute": "placement"
3585
- },
3586
- {
3587
- "name": "size",
3567
+ "kind": "field",
3568
+ "name": "type",
3588
3569
  "type": {
3589
- "text": "Size"
3570
+ "text": "'default' | 'divider' | 'subhead'"
3590
3571
  },
3591
- "default": "'md'",
3592
- "description": "Button size: 'sm', 'md', 'lg'.",
3593
- "fieldName": "size",
3594
- "attribute": "size"
3572
+ "default": "'default'",
3573
+ "description": "Item type: 'default', 'divider', or 'subhead'.",
3574
+ "attribute": "type"
3595
3575
  },
3596
3576
  {
3597
- "name": "disabled",
3577
+ "kind": "field",
3578
+ "name": "symbol",
3598
3579
  "type": {
3599
- "text": "boolean"
3580
+ "text": "string"
3600
3581
  },
3601
- "default": "false",
3602
- "description": "Prevents opening.",
3603
- "fieldName": "disabled",
3604
- "attribute": "disabled"
3582
+ "default": "''",
3583
+ "description": "Lucide icon symbol.",
3584
+ "attribute": "symbol"
3605
3585
  },
3606
3586
  {
3607
- "name": "variant",
3587
+ "kind": "field",
3588
+ "name": "shortcut",
3608
3589
  "type": {
3609
- "text": "Variant"
3590
+ "text": "string"
3610
3591
  },
3611
- "default": "'secondary'",
3612
- "description": "Button variant: 'primary', 'secondary', 'tertiary', 'primary-clear', 'secondary-clear', 'tertiary-clear'.",
3613
- "fieldName": "variant",
3614
- "attribute": "variant"
3592
+ "default": "''",
3593
+ "description": "Keyboard shortcut display text.",
3594
+ "attribute": "shortcut"
3615
3595
  },
3616
3596
  {
3617
- "name": "symbol",
3597
+ "kind": "field",
3598
+ "name": "value",
3618
3599
  "type": {
3619
3600
  "text": "string"
3620
3601
  },
3621
3602
  "default": "''",
3622
- "description": "Lucide icon symbol for the trigger.",
3623
- "fieldName": "symbol",
3624
- "attribute": "symbol"
3603
+ "description": "Optional data value associated with the item.",
3604
+ "attribute": "value"
3625
3605
  },
3626
3606
  {
3627
- "name": "icon-position",
3607
+ "kind": "field",
3608
+ "name": "disabled",
3628
3609
  "type": {
3629
- "text": "'leading' | 'trailing'"
3610
+ "text": "boolean"
3630
3611
  },
3631
- "default": "'leading'",
3632
- "description": "Icon position: 'leading' or 'trailing'.",
3633
- "fieldName": "iconPosition",
3634
- "attribute": "icon-position"
3612
+ "default": "false",
3613
+ "description": "Whether the item is disabled.",
3614
+ "attribute": "disabled"
3635
3615
  },
3636
3616
  {
3637
- "name": "icon-only",
3617
+ "kind": "field",
3618
+ "name": "selected",
3638
3619
  "type": {
3639
3620
  "text": "boolean"
3640
3621
  },
3641
3622
  "default": "false",
3642
- "description": "Hides label, shows icon only.",
3643
- "fieldName": "iconOnly",
3644
- "attribute": "icon-only"
3623
+ "description": "Whether the item is selected/checked.",
3624
+ "attribute": "selected",
3625
+ "reflects": true
3645
3626
  },
3646
3627
  {
3647
- "name": "stay-open-on-select",
3628
+ "kind": "field",
3629
+ "name": "favorited",
3648
3630
  "type": {
3649
3631
  "text": "boolean"
3650
3632
  },
3651
3633
  "default": "false",
3652
- "description": "Keeps panel open on item click.",
3653
- "fieldName": "stayOpenOnSelect",
3654
- "attribute": "stay-open-on-select"
3634
+ "description": "Whether the item is favorited.",
3635
+ "attribute": "favorited"
3655
3636
  },
3656
3637
  {
3657
- "name": "no-chevron",
3638
+ "kind": "field",
3639
+ "name": "error",
3658
3640
  "type": {
3659
3641
  "text": "boolean"
3660
3642
  },
3661
3643
  "default": "false",
3662
- "description": "Hides the chevron icon on the trigger button.",
3663
- "fieldName": "noChevron",
3664
- "attribute": "no-chevron"
3644
+ "description": "Whether the item has an error.",
3645
+ "attribute": "error"
3665
3646
  },
3666
3647
  {
3667
- "name": "tooltip",
3668
- "type": {
3669
- "text": "string"
3648
+ "kind": "method",
3649
+ "name": "_toggleFavorite",
3650
+ "privacy": "private",
3651
+ "return": {
3652
+ "type": {
3653
+ "text": "void"
3654
+ }
3670
3655
  },
3671
- "default": "''",
3672
- "description": "Tooltip text content. Set to empty string to remove the tooltip.",
3673
- "fieldName": "tooltip",
3674
- "attribute": "tooltip",
3675
- "inheritedFrom": {
3676
- "name": "TooltipMixin",
3677
- "module": "src/util/TooltipMixin.ts"
3656
+ "parameters": [
3657
+ {
3658
+ "name": "e",
3659
+ "type": {
3660
+ "text": "Event"
3661
+ }
3662
+ }
3663
+ ],
3664
+ "description": "Toggle favorite state"
3665
+ },
3666
+ {
3667
+ "kind": "method",
3668
+ "name": "_handleClick",
3669
+ "privacy": "private",
3670
+ "return": {
3671
+ "type": {
3672
+ "text": "void"
3673
+ }
3678
3674
  }
3679
3675
  },
3680
3676
  {
3681
- "name": "tooltipPosition",
3682
- "type": {
3683
- "text": "'top' | 'bottom' | 'left' | 'right'"
3677
+ "kind": "method",
3678
+ "name": "emit",
3679
+ "parameters": [
3680
+ {
3681
+ "name": "type",
3682
+ "type": {
3683
+ "text": "K"
3684
+ },
3685
+ "description": "Event name from CustomEventMap"
3686
+ },
3687
+ {
3688
+ "name": "detail",
3689
+ "optional": true,
3690
+ "type": {
3691
+ "text": "UnpackCustomEvent<CustomEventMap[K]>"
3692
+ },
3693
+ "description": "Optional event detail payload"
3694
+ }
3695
+ ],
3696
+ "description": "Dispatches a type-safe CustomEvent with standardized configuration.\n\nAll events are configured with:\n- bubbles: true (event propagates up the DOM tree)\n- cancelable: false (event cannot be cancelled)\n- composed: true (event crosses shadow DOM boundaries)",
3697
+ "return": {
3698
+ "type": {
3699
+ "text": "boolean"
3700
+ }
3684
3701
  },
3685
- "default": "'top'",
3686
- "description": "Position relative to the host element. Auto-flips when constrained by the viewport.",
3687
- "fieldName": "tooltipPosition",
3688
3702
  "inheritedFrom": {
3689
- "name": "TooltipMixin",
3690
- "module": "src/util/TooltipMixin.ts"
3703
+ "name": "EventEmitterMixin",
3704
+ "module": "src/util/EventEmitterMixin.ts"
3691
3705
  }
3706
+ }
3707
+ ],
3708
+ "events": [
3709
+ {
3710
+ "type": {
3711
+ "text": "CustomEvent"
3712
+ },
3713
+ "description": "Fired after first render",
3714
+ "name": "btu-dropdown-item-ready"
3692
3715
  },
3693
3716
  {
3694
- "name": "tooltipDelay",
3695
3717
  "type": {
3696
- "text": "number"
3718
+ "text": "CustomEvent<{label: string, value: string, selected: boolean}>"
3697
3719
  },
3698
- "default": "300",
3699
- "description": "Show delay in milliseconds (hover trigger only).",
3700
- "fieldName": "tooltipDelay",
3701
- "inheritedFrom": {
3702
- "name": "TooltipMixin",
3703
- "module": "src/util/TooltipMixin.ts"
3704
- }
3720
+ "description": "Fired when item is activated",
3721
+ "name": "btu-dropdown-item-select"
3722
+ },
3723
+ {
3724
+ "type": {
3725
+ "text": "CustomEvent<{label: string, favorited: boolean}>"
3726
+ },
3727
+ "description": "Fired when favorite is toggled",
3728
+ "name": "btu-dropdown-item-favorite"
3729
+ }
3730
+ ],
3731
+ "attributes": [
3732
+ {
3733
+ "name": "label",
3734
+ "type": {
3735
+ "text": "string"
3736
+ },
3737
+ "default": "''",
3738
+ "description": "Display text for the item.",
3739
+ "fieldName": "label",
3740
+ "attribute": "label"
3705
3741
  },
3706
3742
  {
3707
- "name": "tooltipOffset",
3743
+ "name": "type",
3708
3744
  "type": {
3709
- "text": "TooltipOffset | null"
3745
+ "text": "'default' | 'divider' | 'subhead'"
3710
3746
  },
3711
- "default": "null",
3712
- "description": "Gap between host and tooltip (sm=4px, md=8px, lg=12px, xl=16px).",
3713
- "fieldName": "tooltipOffset",
3714
- "inheritedFrom": {
3715
- "name": "TooltipMixin",
3716
- "module": "src/util/TooltipMixin.ts"
3717
- }
3747
+ "default": "'default'",
3748
+ "description": "Item type: 'default', 'divider', or 'subhead'.",
3749
+ "fieldName": "type",
3750
+ "attribute": "type"
3718
3751
  },
3719
3752
  {
3720
- "name": "tooltipNoArrow",
3753
+ "name": "symbol",
3721
3754
  "type": {
3722
- "text": "boolean"
3755
+ "text": "string"
3723
3756
  },
3724
- "default": "false",
3725
- "description": "Hide the arrow pseudo-element.",
3726
- "fieldName": "tooltipNoArrow",
3727
- "inheritedFrom": {
3728
- "name": "TooltipMixin",
3729
- "module": "src/util/TooltipMixin.ts"
3730
- }
3757
+ "default": "''",
3758
+ "description": "Lucide icon symbol.",
3759
+ "fieldName": "symbol",
3760
+ "attribute": "symbol"
3731
3761
  },
3732
3762
  {
3733
- "name": "tooltipTrigger",
3763
+ "name": "shortcut",
3734
3764
  "type": {
3735
3765
  "text": "string"
3736
3766
  },
3737
- "default": "'hover focus'",
3738
- "description": "Space-separated trigger types: 'hover', 'focus', 'click'.",
3739
- "fieldName": "tooltipTrigger",
3740
- "inheritedFrom": {
3741
- "name": "TooltipMixin",
3742
- "module": "src/util/TooltipMixin.ts"
3743
- }
3767
+ "default": "''",
3768
+ "description": "Keyboard shortcut display text.",
3769
+ "fieldName": "shortcut",
3770
+ "attribute": "shortcut"
3744
3771
  },
3745
3772
  {
3746
- "name": "tooltip-position",
3773
+ "name": "value",
3747
3774
  "type": {
3748
- "text": "'top' | 'bottom' | 'left' | 'right'"
3775
+ "text": "string"
3749
3776
  },
3750
- "default": "'top'",
3751
- "description": "Position relative to the host element. Auto-flips when constrained by the viewport.",
3752
- "attribute": "tooltipPosition",
3753
- "fieldName": "tooltipPosition",
3754
- "inheritedFrom": {
3755
- "name": "TooltipMixin",
3756
- "module": "src/util/TooltipMixin.ts"
3757
- }
3777
+ "default": "''",
3778
+ "description": "Optional data value associated with the item.",
3779
+ "fieldName": "value",
3780
+ "attribute": "value"
3758
3781
  },
3759
3782
  {
3760
- "name": "tooltip-delay",
3783
+ "name": "disabled",
3761
3784
  "type": {
3762
- "text": "number"
3785
+ "text": "boolean"
3763
3786
  },
3764
- "default": "300",
3765
- "description": "Show delay in milliseconds (hover trigger only).",
3766
- "attribute": "tooltipDelay",
3767
- "fieldName": "tooltipDelay",
3768
- "inheritedFrom": {
3769
- "name": "TooltipMixin",
3770
- "module": "src/util/TooltipMixin.ts"
3771
- }
3787
+ "default": "false",
3788
+ "description": "Whether the item is disabled.",
3789
+ "fieldName": "disabled",
3790
+ "attribute": "disabled"
3772
3791
  },
3773
3792
  {
3774
- "name": "tooltip-offset",
3793
+ "name": "selected",
3775
3794
  "type": {
3776
- "text": "TooltipOffset | null"
3795
+ "text": "boolean"
3777
3796
  },
3778
- "default": "null",
3779
- "description": "Gap between host and tooltip (sm=4px, md=8px, lg=12px, xl=16px).",
3780
- "attribute": "tooltipOffset",
3781
- "fieldName": "tooltipOffset",
3782
- "inheritedFrom": {
3783
- "name": "TooltipMixin",
3784
- "module": "src/util/TooltipMixin.ts"
3785
- }
3797
+ "default": "false",
3798
+ "description": "Whether the item is selected/checked.",
3799
+ "fieldName": "selected",
3800
+ "attribute": "selected"
3786
3801
  },
3787
3802
  {
3788
- "name": "tooltip-no-arrow",
3803
+ "name": "favorited",
3789
3804
  "type": {
3790
3805
  "text": "boolean"
3791
3806
  },
3792
3807
  "default": "false",
3793
- "description": "Hide the arrow pseudo-element.",
3794
- "attribute": "tooltipNoArrow",
3795
- "fieldName": "tooltipNoArrow",
3796
- "inheritedFrom": {
3797
- "name": "TooltipMixin",
3798
- "module": "src/util/TooltipMixin.ts"
3799
- }
3808
+ "description": "Whether the item is favorited.",
3809
+ "fieldName": "favorited",
3810
+ "attribute": "favorited"
3800
3811
  },
3801
3812
  {
3802
- "name": "tooltip-trigger",
3813
+ "name": "error",
3803
3814
  "type": {
3804
- "text": "string"
3815
+ "text": "boolean"
3805
3816
  },
3806
- "default": "'hover focus'",
3807
- "description": "Space-separated trigger types: 'hover', 'focus', 'click'.",
3808
- "attribute": "tooltipTrigger",
3809
- "fieldName": "tooltipTrigger",
3810
- "inheritedFrom": {
3811
- "name": "TooltipMixin",
3812
- "module": "src/util/TooltipMixin.ts"
3813
- }
3817
+ "default": "false",
3818
+ "description": "Whether the item has an error.",
3819
+ "fieldName": "error",
3820
+ "attribute": "error"
3814
3821
  }
3815
3822
  ],
3816
3823
  "mixins": [
3817
- {
3818
- "name": "TooltipMixin",
3819
- "module": "/src/util/TooltipMixin.js"
3820
- },
3821
3824
  {
3822
3825
  "name": "EventEmitterMixin",
3823
3826
  "module": "/src/util/EventEmitterMixin.js"
@@ -3831,7 +3834,7 @@
3831
3834
  "name": "LitElement",
3832
3835
  "package": "lit"
3833
3836
  },
3834
- "tagName": "btu-dropdown",
3837
+ "tagName": "btu-dropdown-item",
3835
3838
  "customElement": true
3836
3839
  }
3837
3840
  ],
@@ -3840,153 +3843,157 @@
3840
3843
  "kind": "js",
3841
3844
  "name": "default",
3842
3845
  "declaration": {
3843
- "name": "Dropdown",
3844
- "module": "src/components/dropdown/Dropdown.ts"
3846
+ "name": "DropdownItem",
3847
+ "module": "src/components/dropdown/DropdownItem.ts"
3845
3848
  }
3846
3849
  },
3847
3850
  {
3848
3851
  "kind": "custom-element-definition",
3849
- "name": "btu-dropdown",
3852
+ "name": "btu-dropdown-item",
3850
3853
  "declaration": {
3851
- "name": "Dropdown",
3852
- "module": "src/components/dropdown/Dropdown.ts"
3854
+ "name": "DropdownItem",
3855
+ "module": "src/components/dropdown/DropdownItem.ts"
3853
3856
  }
3854
3857
  }
3855
3858
  ]
3856
3859
  },
3857
3860
  {
3858
3861
  "kind": "javascript-module",
3859
- "path": "src/components/dropdown/DropdownItem.ts",
3862
+ "path": "src/components/dropdown/DropdownMenu.ts",
3860
3863
  "declarations": [
3861
3864
  {
3862
3865
  "kind": "class",
3863
- "description": "A menu item component for use inside `btu-dropdown-menu`.\n\nRenders as a menu item, divider, or subhead depending on the `type` property.\nSupports checkbox mode (inherited from parent menu), icons, keyboard shortcuts,\nand favorite toggles.",
3864
- "name": "DropdownItem",
3866
+ "description": "A menu container component that provides keyboard navigation and ARIA menu semantics.\n\nContains `btu-dropdown-item` children and manages roving tabindex, typeahead search,\nand keyboard navigation following the WAI-ARIA Menu Button Pattern.",
3867
+ "name": "DropdownMenu",
3865
3868
  "cssProperties": [
3866
3869
  {
3867
- "description": "Item font size (default: theme fontSize.sm)",
3868
- "name": "--dropdown-item-font-size"
3869
- },
3870
- {
3871
- "description": "Item text color (default: gray-700)",
3872
- "name": "--dropdown-item-color"
3873
- },
3874
- {
3875
- "description": "Item background color (default: transparent)",
3876
- "name": "--dropdown-item-background"
3877
- },
3878
- {
3879
- "description": "Background on hover (default: gray-100)",
3880
- "name": "--dropdown-item-hover-background"
3881
- },
3882
- {
3883
- "description": "Text color on hover (default: gray-900)",
3884
- "name": "--dropdown-item-hover-color"
3885
- },
3886
- {
3887
- "description": "Background when selected (default: primary-50)",
3888
- "name": "--dropdown-item-selected-background"
3889
- },
3870
+ "description": "Empty state text color (default: gray-400)",
3871
+ "name": "--dropdown-empty-color"
3872
+ }
3873
+ ],
3874
+ "slots": [
3890
3875
  {
3891
- "description": "Text color when selected (default: primary-700)",
3892
- "name": "--dropdown-item-selected-color"
3876
+ "description": "Menu items (`btu-dropdown-item` elements)",
3877
+ "name": ""
3893
3878
  }
3894
3879
  ],
3895
3880
  "members": [
3896
3881
  {
3897
3882
  "kind": "field",
3898
- "name": "label",
3883
+ "name": "name",
3899
3884
  "type": {
3900
3885
  "text": "string"
3901
3886
  },
3902
3887
  "default": "''",
3903
- "description": "Display text for the item.",
3904
- "attribute": "label"
3888
+ "description": "Accessible name for the menu, displayed in header when header is true.",
3889
+ "attribute": "name"
3905
3890
  },
3906
3891
  {
3907
3892
  "kind": "field",
3908
- "name": "type",
3893
+ "name": "header",
3909
3894
  "type": {
3910
- "text": "'default' | 'divider' | 'subhead'"
3895
+ "text": "boolean"
3911
3896
  },
3912
- "default": "'default'",
3913
- "description": "Item type: 'default', 'divider', or 'subhead'.",
3914
- "attribute": "type"
3897
+ "default": "false",
3898
+ "description": "Show header bar with menu name.",
3899
+ "attribute": "header"
3915
3900
  },
3916
3901
  {
3917
3902
  "kind": "field",
3918
- "name": "symbol",
3903
+ "name": "checkbox",
3919
3904
  "type": {
3920
- "text": "string"
3905
+ "text": "boolean"
3921
3906
  },
3922
- "default": "''",
3923
- "description": "Lucide icon symbol.",
3924
- "attribute": "symbol"
3907
+ "default": "false",
3908
+ "description": "Enable checkbox mode for items (menuitemcheckbox role).",
3909
+ "attribute": "checkbox"
3925
3910
  },
3926
3911
  {
3927
3912
  "kind": "field",
3928
- "name": "shortcut",
3913
+ "name": "icon",
3929
3914
  "type": {
3930
- "text": "string"
3915
+ "text": "boolean"
3931
3916
  },
3932
- "default": "''",
3933
- "description": "Keyboard shortcut display text.",
3934
- "attribute": "shortcut"
3917
+ "default": "false",
3918
+ "description": "Show icons before each item.",
3919
+ "attribute": "icon"
3935
3920
  },
3936
3921
  {
3937
3922
  "kind": "field",
3938
- "name": "value",
3923
+ "name": "symbol",
3939
3924
  "type": {
3940
3925
  "text": "string"
3941
3926
  },
3942
3927
  "default": "''",
3943
- "description": "Optional data value associated with the item.",
3944
- "attribute": "value"
3928
+ "description": "Fallback Lucide icon symbol for items without their own.",
3929
+ "attribute": "symbol"
3945
3930
  },
3946
3931
  {
3947
3932
  "kind": "field",
3948
- "name": "disabled",
3933
+ "name": "favorites",
3949
3934
  "type": {
3950
3935
  "text": "boolean"
3951
3936
  },
3952
3937
  "default": "false",
3953
- "description": "Whether the item is disabled.",
3954
- "attribute": "disabled"
3938
+ "description": "Show favorite toggle on each item.",
3939
+ "attribute": "favorites"
3955
3940
  },
3956
3941
  {
3957
3942
  "kind": "field",
3958
- "name": "selected",
3943
+ "name": "shortcuts",
3959
3944
  "type": {
3960
3945
  "text": "boolean"
3961
3946
  },
3962
3947
  "default": "false",
3963
- "description": "Whether the item is selected/checked.",
3964
- "attribute": "selected",
3965
- "reflects": true
3948
+ "description": "Show keyboard shortcut text on each item.",
3949
+ "attribute": "shortcuts"
3950
+ },
3951
+ {
3952
+ "kind": "field",
3953
+ "name": "emptyMessage",
3954
+ "type": {
3955
+ "text": "string"
3956
+ },
3957
+ "default": "'No items available'",
3958
+ "description": "Message displayed when the menu has no focusable items.",
3959
+ "attribute": "empty-message"
3960
+ },
3961
+ {
3962
+ "kind": "method",
3963
+ "name": "_configureItems",
3964
+ "privacy": "private",
3965
+ "return": {
3966
+ "type": {
3967
+ "text": "void"
3968
+ }
3969
+ },
3970
+ "description": "Configure all child items with menu-level settings"
3966
3971
  },
3967
3972
  {
3968
- "kind": "field",
3969
- "name": "favorited",
3970
- "type": {
3971
- "text": "boolean"
3973
+ "kind": "method",
3974
+ "name": "_getAllItems",
3975
+ "privacy": "private",
3976
+ "return": {
3977
+ "type": {
3978
+ "text": "DropdownItem[]"
3979
+ }
3972
3980
  },
3973
- "default": "false",
3974
- "description": "Whether the item is favorited.",
3975
- "attribute": "favorited"
3981
+ "description": "Get all btu-dropdown-item children"
3976
3982
  },
3977
3983
  {
3978
- "kind": "field",
3979
- "name": "error",
3980
- "type": {
3981
- "text": "boolean"
3984
+ "kind": "method",
3985
+ "name": "_getFocusableItems",
3986
+ "privacy": "private",
3987
+ "return": {
3988
+ "type": {
3989
+ "text": "DropdownItem[]"
3990
+ }
3982
3991
  },
3983
- "default": "false",
3984
- "description": "Whether the item has an error.",
3985
- "attribute": "error"
3992
+ "description": "Get only focusable items (default type, skip dividers/subheads)"
3986
3993
  },
3987
3994
  {
3988
3995
  "kind": "method",
3989
- "name": "_toggleFavorite",
3996
+ "name": "_handleTypeahead",
3990
3997
  "privacy": "private",
3991
3998
  "return": {
3992
3999
  "type": {
@@ -3995,23 +4002,29 @@
3995
4002
  },
3996
4003
  "parameters": [
3997
4004
  {
3998
- "name": "e",
4005
+ "name": "char",
3999
4006
  "type": {
4000
- "text": "Event"
4007
+ "text": "string"
4008
+ }
4009
+ },
4010
+ {
4011
+ "name": "focusable",
4012
+ "type": {
4013
+ "text": "DropdownItem[]"
4001
4014
  }
4002
4015
  }
4003
4016
  ],
4004
- "description": "Toggle favorite state"
4017
+ "description": "Typeahead character matching with 500ms accumulation"
4005
4018
  },
4006
4019
  {
4007
- "kind": "method",
4008
- "name": "_handleClick",
4020
+ "kind": "field",
4021
+ "name": "_isEmpty",
4022
+ "type": {
4023
+ "text": "boolean"
4024
+ },
4009
4025
  "privacy": "private",
4010
- "return": {
4011
- "type": {
4012
- "text": "void"
4013
- }
4014
- }
4026
+ "description": "Check whether the menu has zero focusable items",
4027
+ "readonly": true
4015
4028
  },
4016
4029
  {
4017
4030
  "kind": "method",
@@ -4051,116 +4064,96 @@
4051
4064
  "text": "CustomEvent"
4052
4065
  },
4053
4066
  "description": "Fired after first render",
4054
- "name": "btu-dropdown-item-ready"
4055
- },
4056
- {
4057
- "type": {
4058
- "text": "CustomEvent<{label: string, value: string, selected: boolean}>"
4059
- },
4060
- "description": "Fired when item is activated",
4061
- "name": "btu-dropdown-item-select"
4062
- },
4063
- {
4064
- "type": {
4065
- "text": "CustomEvent<{label: string, favorited: boolean}>"
4066
- },
4067
- "description": "Fired when favorite is toggled",
4068
- "name": "btu-dropdown-item-favorite"
4067
+ "name": "btu-dropdown-menu-ready"
4069
4068
  }
4070
4069
  ],
4071
4070
  "attributes": [
4072
4071
  {
4073
- "name": "label",
4072
+ "name": "name",
4074
4073
  "type": {
4075
4074
  "text": "string"
4076
4075
  },
4077
4076
  "default": "''",
4078
- "description": "Display text for the item.",
4079
- "fieldName": "label",
4080
- "attribute": "label"
4077
+ "description": "Accessible name for the menu, displayed in header when header is true.",
4078
+ "fieldName": "name",
4079
+ "attribute": "name"
4081
4080
  },
4082
4081
  {
4083
- "name": "type",
4082
+ "name": "header",
4084
4083
  "type": {
4085
- "text": "'default' | 'divider' | 'subhead'"
4084
+ "text": "boolean"
4086
4085
  },
4087
- "default": "'default'",
4088
- "description": "Item type: 'default', 'divider', or 'subhead'.",
4089
- "fieldName": "type",
4090
- "attribute": "type"
4086
+ "default": "false",
4087
+ "description": "Show header bar with menu name.",
4088
+ "fieldName": "header",
4089
+ "attribute": "header"
4091
4090
  },
4092
4091
  {
4093
- "name": "symbol",
4092
+ "name": "checkbox",
4094
4093
  "type": {
4095
- "text": "string"
4094
+ "text": "boolean"
4096
4095
  },
4097
- "default": "''",
4098
- "description": "Lucide icon symbol.",
4099
- "fieldName": "symbol",
4100
- "attribute": "symbol"
4096
+ "default": "false",
4097
+ "description": "Enable checkbox mode for items (menuitemcheckbox role).",
4098
+ "fieldName": "checkbox",
4099
+ "attribute": "checkbox"
4101
4100
  },
4102
4101
  {
4103
- "name": "shortcut",
4102
+ "name": "icon",
4104
4103
  "type": {
4105
- "text": "string"
4104
+ "text": "boolean"
4106
4105
  },
4107
- "default": "''",
4108
- "description": "Keyboard shortcut display text.",
4109
- "fieldName": "shortcut",
4110
- "attribute": "shortcut"
4106
+ "default": "false",
4107
+ "description": "Show icons before each item.",
4108
+ "fieldName": "icon",
4109
+ "attribute": "icon"
4111
4110
  },
4112
4111
  {
4113
- "name": "value",
4112
+ "name": "symbol",
4114
4113
  "type": {
4115
4114
  "text": "string"
4116
4115
  },
4117
4116
  "default": "''",
4118
- "description": "Optional data value associated with the item.",
4119
- "fieldName": "value",
4120
- "attribute": "value"
4121
- },
4122
- {
4123
- "name": "disabled",
4124
- "type": {
4125
- "text": "boolean"
4126
- },
4127
- "default": "false",
4128
- "description": "Whether the item is disabled.",
4129
- "fieldName": "disabled",
4130
- "attribute": "disabled"
4117
+ "description": "Fallback Lucide icon symbol for items without their own.",
4118
+ "fieldName": "symbol",
4119
+ "attribute": "symbol"
4131
4120
  },
4132
4121
  {
4133
- "name": "selected",
4122
+ "name": "favorites",
4134
4123
  "type": {
4135
4124
  "text": "boolean"
4136
4125
  },
4137
4126
  "default": "false",
4138
- "description": "Whether the item is selected/checked.",
4139
- "fieldName": "selected",
4140
- "attribute": "selected"
4127
+ "description": "Show favorite toggle on each item.",
4128
+ "fieldName": "favorites",
4129
+ "attribute": "favorites"
4141
4130
  },
4142
4131
  {
4143
- "name": "favorited",
4132
+ "name": "shortcuts",
4144
4133
  "type": {
4145
4134
  "text": "boolean"
4146
4135
  },
4147
4136
  "default": "false",
4148
- "description": "Whether the item is favorited.",
4149
- "fieldName": "favorited",
4150
- "attribute": "favorited"
4137
+ "description": "Show keyboard shortcut text on each item.",
4138
+ "fieldName": "shortcuts",
4139
+ "attribute": "shortcuts"
4151
4140
  },
4152
4141
  {
4153
- "name": "error",
4142
+ "name": "empty-message",
4154
4143
  "type": {
4155
- "text": "boolean"
4144
+ "text": "string"
4156
4145
  },
4157
- "default": "false",
4158
- "description": "Whether the item has an error.",
4159
- "fieldName": "error",
4160
- "attribute": "error"
4146
+ "default": "'No items available'",
4147
+ "description": "Message displayed when the menu has no focusable items.",
4148
+ "fieldName": "emptyMessage",
4149
+ "attribute": "empty-message"
4161
4150
  }
4162
4151
  ],
4163
4152
  "mixins": [
4153
+ {
4154
+ "name": "RovingTabindexMixin",
4155
+ "module": "/src/util/RovingTabindexMixin.js"
4156
+ },
4164
4157
  {
4165
4158
  "name": "EventEmitterMixin",
4166
4159
  "module": "/src/util/EventEmitterMixin.js"
@@ -4174,7 +4167,7 @@
4174
4167
  "name": "LitElement",
4175
4168
  "package": "lit"
4176
4169
  },
4177
- "tagName": "btu-dropdown-item",
4170
+ "tagName": "btu-dropdown-menu",
4178
4171
  "customElement": true
4179
4172
  }
4180
4173
  ],
@@ -4183,188 +4176,155 @@
4183
4176
  "kind": "js",
4184
4177
  "name": "default",
4185
4178
  "declaration": {
4186
- "name": "DropdownItem",
4187
- "module": "src/components/dropdown/DropdownItem.ts"
4179
+ "name": "DropdownMenu",
4180
+ "module": "src/components/dropdown/DropdownMenu.ts"
4188
4181
  }
4189
4182
  },
4190
4183
  {
4191
4184
  "kind": "custom-element-definition",
4192
- "name": "btu-dropdown-item",
4185
+ "name": "btu-dropdown-menu",
4193
4186
  "declaration": {
4194
- "name": "DropdownItem",
4195
- "module": "src/components/dropdown/DropdownItem.ts"
4187
+ "name": "DropdownMenu",
4188
+ "module": "src/components/dropdown/DropdownMenu.ts"
4196
4189
  }
4197
4190
  }
4198
4191
  ]
4199
4192
  },
4200
4193
  {
4201
4194
  "kind": "javascript-module",
4202
- "path": "src/components/dropdown/DropdownMenu.ts",
4195
+ "path": "src/components/button-group/ButtonGroup.ts",
4203
4196
  "declarations": [
4204
4197
  {
4205
4198
  "kind": "class",
4206
- "description": "A menu container component that provides keyboard navigation and ARIA menu semantics.\n\nContains `btu-dropdown-item` children and manages roving tabindex, typeahead search,\nand keyboard navigation following the WAI-ARIA Menu Button Pattern.",
4207
- "name": "DropdownMenu",
4199
+ "description": "A semantic container for grouping related buttons together.\n\nSupports connected (joined) and spaced layouts, horizontal and vertical\norientation, group-level size and disabled propagation, and optional\ntoggle/selection modes (single-select or multi-select).",
4200
+ "name": "ButtonGroup",
4208
4201
  "cssProperties": [
4209
4202
  {
4210
- "description": "Empty state text color (default: gray-400)",
4211
- "name": "--dropdown-empty-color"
4203
+ "description": "Space between buttons when variant=\"spaced\" (default: spacing.sm)",
4204
+ "name": "--button-group-gap"
4205
+ },
4206
+ {
4207
+ "description": "Corner radius of outer edges when variant=\"connected\" (default: 0.5rem)",
4208
+ "name": "--button-group-border-radius"
4209
+ },
4210
+ {
4211
+ "description": "Internal divider color between connected buttons (default: gray-300)",
4212
+ "name": "--button-group-border-color"
4213
+ },
4214
+ {
4215
+ "description": "Background of a toggled/selected child (default: primary-50)",
4216
+ "name": "--button-group-selection-bg"
4217
+ },
4218
+ {
4219
+ "description": "Text/icon color of a toggled/selected child (default: primary-700)",
4220
+ "name": "--button-group-selection-color"
4221
+ },
4222
+ {
4223
+ "description": "Highlight color of the selection shimmer effect (default: primary-200)",
4224
+ "name": "--button-group-shimmer-highlight"
4212
4225
  }
4213
4226
  ],
4214
4227
  "slots": [
4215
4228
  {
4216
- "description": "Menu items (`btu-dropdown-item` elements)",
4229
+ "description": "One or more btu-button or btu-icon-button elements to display in the group",
4217
4230
  "name": ""
4231
+ },
4232
+ {
4233
+ "description": "Pushes the child to the end of the group via auto-margin (vertical: bottom, horizontal: right)",
4234
+ "name": "end"
4218
4235
  }
4219
4236
  ],
4220
4237
  "members": [
4221
4238
  {
4222
4239
  "kind": "field",
4223
- "name": "name",
4224
- "type": {
4225
- "text": "string"
4226
- },
4227
- "default": "''",
4228
- "description": "Accessible name for the menu, displayed in header when header is true.",
4229
- "attribute": "name"
4240
+ "name": "tagName",
4241
+ "static": true,
4242
+ "readonly": true
4230
4243
  },
4231
4244
  {
4232
4245
  "kind": "field",
4233
- "name": "header",
4246
+ "name": "label",
4234
4247
  "type": {
4235
- "text": "boolean"
4248
+ "text": "string"
4236
4249
  },
4237
- "default": "false",
4238
- "description": "Show header bar with menu name.",
4239
- "attribute": "header"
4250
+ "default": "''",
4251
+ "description": "Accessible name for the group, announced by assistive devices via aria-label.",
4252
+ "attribute": "label"
4240
4253
  },
4241
4254
  {
4242
4255
  "kind": "field",
4243
- "name": "checkbox",
4256
+ "name": "orientation",
4244
4257
  "type": {
4245
- "text": "boolean"
4258
+ "text": "'horizontal' | 'vertical'"
4246
4259
  },
4247
- "default": "false",
4248
- "description": "Enable checkbox mode for items (menuitemcheckbox role).",
4249
- "attribute": "checkbox"
4260
+ "default": "'horizontal'",
4261
+ "description": "Layout direction of the buttons.",
4262
+ "attribute": "orientation",
4263
+ "reflects": true
4250
4264
  },
4251
4265
  {
4252
4266
  "kind": "field",
4253
- "name": "icon",
4267
+ "name": "variant",
4254
4268
  "type": {
4255
- "text": "boolean"
4256
- },
4257
- "default": "false",
4258
- "description": "Show icons before each item.",
4259
- "attribute": "icon"
4269
+ "text": "'connected' | 'spaced'"
4270
+ },
4271
+ "default": "'connected'",
4272
+ "description": "`connected` collapses shared borders for a joined appearance.\n`spaced` renders buttons with a gap.",
4273
+ "attribute": "variant",
4274
+ "reflects": true
4260
4275
  },
4261
4276
  {
4262
4277
  "kind": "field",
4263
- "name": "symbol",
4278
+ "name": "size",
4264
4279
  "type": {
4265
- "text": "string"
4280
+ "text": "'sm' | 'md' | 'lg'"
4266
4281
  },
4267
- "default": "''",
4268
- "description": "Fallback Lucide icon symbol for items without their own.",
4269
- "attribute": "symbol"
4282
+ "default": "'md'",
4283
+ "description": "Propagates a uniform size to all child buttons.",
4284
+ "attribute": "size",
4285
+ "reflects": true
4270
4286
  },
4271
4287
  {
4272
4288
  "kind": "field",
4273
- "name": "favorites",
4289
+ "name": "disabled",
4274
4290
  "type": {
4275
4291
  "text": "boolean"
4276
4292
  },
4277
4293
  "default": "false",
4278
- "description": "Show favorite toggle on each item.",
4279
- "attribute": "favorites"
4294
+ "description": "When true, disables all child buttons as a group.",
4295
+ "attribute": "disabled"
4280
4296
  },
4281
4297
  {
4282
4298
  "kind": "field",
4283
- "name": "shortcuts",
4299
+ "name": "selection",
4284
4300
  "type": {
4285
- "text": "boolean"
4301
+ "text": "'none' | 'single' | 'multiple'"
4286
4302
  },
4287
- "default": "false",
4288
- "description": "Show keyboard shortcut text on each item.",
4289
- "attribute": "shortcuts"
4303
+ "default": "'none'",
4304
+ "description": "Enables toggle/selection behavior.\n`single` allows one active button; `multiple` allows many.",
4305
+ "attribute": "selection",
4306
+ "reflects": true
4290
4307
  },
4291
4308
  {
4292
4309
  "kind": "field",
4293
- "name": "emptyMessage",
4310
+ "name": "value",
4294
4311
  "type": {
4295
4312
  "text": "string"
4296
4313
  },
4297
- "default": "'No items available'",
4298
- "description": "Message displayed when the menu has no focusable items.",
4299
- "attribute": "empty-message"
4300
- },
4301
- {
4302
- "kind": "method",
4303
- "name": "_configureItems",
4304
- "privacy": "private",
4305
- "return": {
4306
- "type": {
4307
- "text": "void"
4308
- }
4309
- },
4310
- "description": "Configure all child items with menu-level settings"
4311
- },
4312
- {
4313
- "kind": "method",
4314
- "name": "_getAllItems",
4315
- "privacy": "private",
4316
- "return": {
4317
- "type": {
4318
- "text": "DropdownItem[]"
4319
- }
4320
- },
4321
- "description": "Get all btu-dropdown-item children"
4322
- },
4323
- {
4324
- "kind": "method",
4325
- "name": "_getFocusableItems",
4326
- "privacy": "private",
4327
- "return": {
4328
- "type": {
4329
- "text": "DropdownItem[]"
4330
- }
4331
- },
4332
- "description": "Get only focusable items (default type, skip dividers/subheads)"
4333
- },
4334
- {
4335
- "kind": "method",
4336
- "name": "_handleTypeahead",
4337
- "privacy": "private",
4338
- "return": {
4339
- "type": {
4340
- "text": "void"
4341
- }
4342
- },
4343
- "parameters": [
4344
- {
4345
- "name": "char",
4346
- "type": {
4347
- "text": "string"
4348
- }
4349
- },
4350
- {
4351
- "name": "focusable",
4352
- "type": {
4353
- "text": "DropdownItem[]"
4354
- }
4355
- }
4356
- ],
4357
- "description": "Typeahead character matching with 500ms accumulation"
4314
+ "default": "''",
4315
+ "description": "Reflects the currently selected button value(s).\nFor `single`, the value of the active button.\nFor `multiple`, a comma-delimited list of active values.",
4316
+ "attribute": "value",
4317
+ "reflects": true
4358
4318
  },
4359
4319
  {
4360
4320
  "kind": "field",
4361
- "name": "_isEmpty",
4321
+ "name": "name",
4362
4322
  "type": {
4363
- "text": "boolean"
4323
+ "text": "string"
4364
4324
  },
4365
- "privacy": "private",
4366
- "description": "Check whether the menu has zero focusable items",
4367
- "readonly": true
4325
+ "default": "''",
4326
+ "description": "When set, creates hidden input(s) for native form participation.",
4327
+ "attribute": "name"
4368
4328
  },
4369
4329
  {
4370
4330
  "kind": "method",
@@ -4403,90 +4363,126 @@
4403
4363
  "type": {
4404
4364
  "text": "CustomEvent"
4405
4365
  },
4406
- "description": "Fired after first render",
4407
- "name": "btu-dropdown-menu-ready"
4366
+ "description": "Fired after first render and initialization",
4367
+ "name": "btu-button-group-ready"
4368
+ },
4369
+ {
4370
+ "type": {
4371
+ "text": "CustomEvent<{value: string}>"
4372
+ },
4373
+ "description": "Fired when selection changes (single/multiple modes only)",
4374
+ "name": "btu-button-group-change"
4375
+ },
4376
+ {
4377
+ "type": {
4378
+ "text": "CustomEvent<{name: string | undefined}>"
4379
+ },
4380
+ "description": "Bubbles from child btu-icon-button elements when clicked",
4381
+ "name": "btu-icon-button-click"
4408
4382
  }
4409
4383
  ],
4410
4384
  "attributes": [
4411
4385
  {
4412
- "name": "name",
4386
+ "name": "label",
4413
4387
  "type": {
4414
4388
  "text": "string"
4415
4389
  },
4416
4390
  "default": "''",
4417
- "description": "Accessible name for the menu, displayed in header when header is true.",
4418
- "fieldName": "name",
4419
- "attribute": "name"
4391
+ "description": "Accessible name for the group, announced by assistive devices via aria-label.",
4392
+ "fieldName": "label",
4393
+ "attribute": "label"
4420
4394
  },
4421
4395
  {
4422
- "name": "header",
4396
+ "name": "orientation",
4423
4397
  "type": {
4424
- "text": "boolean"
4398
+ "text": "'horizontal' | 'vertical'"
4425
4399
  },
4426
- "default": "false",
4427
- "description": "Show header bar with menu name.",
4428
- "fieldName": "header",
4429
- "attribute": "header"
4400
+ "default": "'horizontal'",
4401
+ "description": "Layout direction of the buttons.",
4402
+ "fieldName": "orientation",
4403
+ "attribute": "orientation"
4430
4404
  },
4431
4405
  {
4432
- "name": "checkbox",
4406
+ "name": "variant",
4433
4407
  "type": {
4434
- "text": "boolean"
4408
+ "text": "'connected' | 'spaced'"
4435
4409
  },
4436
- "default": "false",
4437
- "description": "Enable checkbox mode for items (menuitemcheckbox role).",
4438
- "fieldName": "checkbox",
4439
- "attribute": "checkbox"
4410
+ "default": "'connected'",
4411
+ "description": "`connected` collapses shared borders for a joined appearance.\n`spaced` renders buttons with a gap.",
4412
+ "fieldName": "variant",
4413
+ "attribute": "variant"
4440
4414
  },
4441
4415
  {
4442
- "name": "icon",
4416
+ "name": "size",
4443
4417
  "type": {
4444
- "text": "boolean"
4418
+ "text": "'sm' | 'md' | 'lg'"
4445
4419
  },
4446
- "default": "false",
4447
- "description": "Show icons before each item.",
4448
- "fieldName": "icon",
4449
- "attribute": "icon"
4420
+ "default": "'md'",
4421
+ "description": "Propagates a uniform size to all child buttons.",
4422
+ "fieldName": "size",
4423
+ "attribute": "size"
4450
4424
  },
4451
4425
  {
4452
- "name": "symbol",
4426
+ "name": "disabled",
4453
4427
  "type": {
4454
- "text": "string"
4428
+ "text": "boolean"
4455
4429
  },
4456
- "default": "''",
4457
- "description": "Fallback Lucide icon symbol for items without their own.",
4458
- "fieldName": "symbol",
4459
- "attribute": "symbol"
4430
+ "default": "false",
4431
+ "description": "When true, disables all child buttons as a group.",
4432
+ "fieldName": "disabled",
4433
+ "attribute": "disabled"
4460
4434
  },
4461
4435
  {
4462
- "name": "favorites",
4436
+ "name": "selection",
4463
4437
  "type": {
4464
- "text": "boolean"
4438
+ "text": "'none' | 'single' | 'multiple'"
4465
4439
  },
4466
- "default": "false",
4467
- "description": "Show favorite toggle on each item.",
4468
- "fieldName": "favorites",
4469
- "attribute": "favorites"
4440
+ "default": "'none'",
4441
+ "description": "Enables toggle/selection behavior.\n`single` allows one active button; `multiple` allows many.",
4442
+ "fieldName": "selection",
4443
+ "attribute": "selection"
4470
4444
  },
4471
4445
  {
4472
- "name": "shortcuts",
4446
+ "name": "value",
4473
4447
  "type": {
4474
- "text": "boolean"
4448
+ "text": "string"
4475
4449
  },
4476
- "default": "false",
4477
- "description": "Show keyboard shortcut text on each item.",
4478
- "fieldName": "shortcuts",
4479
- "attribute": "shortcuts"
4450
+ "default": "''",
4451
+ "description": "Reflects the currently selected button value(s).\nFor `single`, the value of the active button.\nFor `multiple`, a comma-delimited list of active values.",
4452
+ "fieldName": "value",
4453
+ "attribute": "value"
4480
4454
  },
4481
4455
  {
4482
- "name": "empty-message",
4456
+ "name": "name",
4483
4457
  "type": {
4484
4458
  "text": "string"
4485
4459
  },
4486
- "default": "'No items available'",
4487
- "description": "Message displayed when the menu has no focusable items.",
4488
- "fieldName": "emptyMessage",
4489
- "attribute": "empty-message"
4460
+ "default": "''",
4461
+ "description": "When set, creates hidden input(s) for native form participation.",
4462
+ "fieldName": "name",
4463
+ "attribute": "name"
4464
+ }
4465
+ ],
4466
+ "cssStates": [
4467
+ {
4468
+ "description": "Applied when variant=\"connected\", targetable via :state(btu-connected)",
4469
+ "name": "btu-connected"
4470
+ },
4471
+ {
4472
+ "description": "Applied when variant=\"spaced\", targetable via :state(btu-spaced)",
4473
+ "name": "btu-spaced"
4474
+ },
4475
+ {
4476
+ "description": "Applied when orientation=\"horizontal\", targetable via :state(btu-horizontal)",
4477
+ "name": "btu-horizontal"
4478
+ },
4479
+ {
4480
+ "description": "Applied when orientation=\"vertical\", targetable via :state(btu-vertical)",
4481
+ "name": "btu-vertical"
4482
+ },
4483
+ {
4484
+ "description": "Applied when the group is disabled, targetable via :state(btu-disabled)",
4485
+ "name": "btu-disabled"
4490
4486
  }
4491
4487
  ],
4492
4488
  "mixins": [
@@ -4494,6 +4490,10 @@
4494
4490
  "name": "RovingTabindexMixin",
4495
4491
  "module": "/src/util/RovingTabindexMixin.js"
4496
4492
  },
4493
+ {
4494
+ "name": "ComponentStatesMixin",
4495
+ "module": "/src/util/ComponentStatesMixin.js"
4496
+ },
4497
4497
  {
4498
4498
  "name": "EventEmitterMixin",
4499
4499
  "module": "/src/util/EventEmitterMixin.js"
@@ -4507,7 +4507,7 @@
4507
4507
  "name": "LitElement",
4508
4508
  "package": "lit"
4509
4509
  },
4510
- "tagName": "btu-dropdown-menu",
4510
+ "tagName": "btu-button-group",
4511
4511
  "customElement": true
4512
4512
  }
4513
4513
  ],
@@ -4516,16 +4516,16 @@
4516
4516
  "kind": "js",
4517
4517
  "name": "default",
4518
4518
  "declaration": {
4519
- "name": "DropdownMenu",
4520
- "module": "src/components/dropdown/DropdownMenu.ts"
4519
+ "name": "ButtonGroup",
4520
+ "module": "src/components/button-group/ButtonGroup.ts"
4521
4521
  }
4522
4522
  },
4523
4523
  {
4524
4524
  "kind": "custom-element-definition",
4525
- "name": "btu-dropdown-menu",
4525
+ "name": "btu-button-group",
4526
4526
  "declaration": {
4527
- "name": "DropdownMenu",
4528
- "module": "src/components/dropdown/DropdownMenu.ts"
4527
+ "name": "ButtonGroup",
4528
+ "module": "src/components/button-group/ButtonGroup.ts"
4529
4529
  }
4530
4530
  }
4531
4531
  ]