@k2b/ui 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (387) hide show
  1. package/dist/browser/actions/Button.js +11 -2
  2. package/dist/browser/actions/Button.js.map +1 -1
  3. package/dist/browser/actions/ContextMenu.js.map +1 -1
  4. package/dist/browser/actions/CopyButton.js.map +1 -1
  5. package/dist/browser/actions/Disclosure.js.map +1 -1
  6. package/dist/browser/actions/Dropdown.js.map +1 -1
  7. package/dist/browser/actions/FilterChip.js.map +1 -1
  8. package/dist/browser/actions/RemoveButton.js.map +1 -1
  9. package/dist/browser/actions/SegmentedControl.js.map +1 -1
  10. package/dist/browser/actions/SplitButton.js.map +1 -1
  11. package/dist/browser/actions/SpotlightSearch.js.map +1 -1
  12. package/dist/browser/actions/Tabs.js.map +1 -1
  13. package/dist/browser/actions/Toolbar.js.map +1 -1
  14. package/dist/browser/actions/index.js.map +1 -1
  15. package/dist/browser/chat/ChatComposer.js.map +1 -1
  16. package/dist/browser/chat/ChatContextPopup.js.map +1 -1
  17. package/dist/browser/chat/ChatPrimitives.js.map +1 -1
  18. package/dist/browser/chat/ChatRoot.js.map +1 -1
  19. package/dist/browser/chat/ChatTasks.js +1 -1
  20. package/dist/browser/chat/ChatTasks.js.map +1 -1
  21. package/dist/browser/chat/ChatTimeline.js.map +1 -1
  22. package/dist/browser/chat/chat-behavior.js.map +1 -1
  23. package/dist/browser/chat/composer-document.js.map +1 -1
  24. package/dist/browser/chat/index.js.map +1 -1
  25. package/dist/browser/content/Calendar.js.map +1 -1
  26. package/dist/browser/content/Chart.js.map +1 -1
  27. package/dist/browser/content/ChartExplorer.js.map +1 -1
  28. package/dist/browser/content/ChartExplorerControls.js.map +1 -1
  29. package/dist/browser/content/ChartFilterControls.js +1 -1
  30. package/dist/browser/content/ChartFilterControls.js.map +1 -1
  31. package/dist/browser/content/ChartSnapshotView.js.map +1 -1
  32. package/dist/browser/content/CodeDisplay.js.map +1 -1
  33. package/dist/browser/content/DataTable.js.map +1 -1
  34. package/dist/browser/content/Docs.js.map +1 -1
  35. package/dist/browser/content/FileBrowser.js.map +1 -1
  36. package/dist/browser/content/FileGrid.js.map +1 -1
  37. package/dist/browser/content/FileTree.js.map +1 -1
  38. package/dist/browser/content/FileView.js.map +1 -1
  39. package/dist/browser/content/Lightbox.js.map +1 -1
  40. package/dist/browser/content/LogEntriesTable.js.map +1 -1
  41. package/dist/browser/content/MarkdownView.js.map +1 -1
  42. package/dist/browser/content/Pagination.js.map +1 -1
  43. package/dist/browser/content/PdfPreview.js.map +1 -1
  44. package/dist/browser/content/RangePicker.js.map +1 -1
  45. package/dist/browser/content/StructuredDataPreview.js.map +1 -1
  46. package/dist/browser/content/ZoomPanViewport.js +396 -0
  47. package/dist/browser/content/ZoomPanViewport.js.map +1 -0
  48. package/dist/browser/content/calendar-event-layout.js.map +1 -1
  49. package/dist/browser/content/calendar-pointer.js.map +1 -1
  50. package/dist/browser/content/chart-cursor.js.map +1 -1
  51. package/dist/browser/content/chart-explorer.js.map +1 -1
  52. package/dist/browser/content/chart-inspection.js.map +1 -1
  53. package/dist/browser/content/chart-line-gaps.js.map +1 -1
  54. package/dist/browser/content/chart-map-viewport.js.map +1 -1
  55. package/dist/browser/content/chart-snapshot.js.map +1 -1
  56. package/dist/browser/content/chart-state-timeline.js.map +1 -1
  57. package/dist/browser/content/chart-svg.js.map +1 -1
  58. package/dist/browser/content/code-highlight.js.map +1 -1
  59. package/dist/browser/content/collection-selection.js.map +1 -1
  60. package/dist/browser/content/delimited-preferences.js.map +1 -1
  61. package/dist/browser/content/file-tree.js.map +1 -1
  62. package/dist/browser/content/file-view-preview.js.map +1 -1
  63. package/dist/browser/content/index.js +1 -0
  64. package/dist/browser/content/index.js.map +1 -1
  65. package/dist/browser/content/zoom-pan.js +54 -0
  66. package/dist/browser/content/zoom-pan.js.map +1 -0
  67. package/dist/browser/feedback/InlineGuidance.js.map +1 -1
  68. package/dist/browser/feedback/Tooltip.js.map +1 -1
  69. package/dist/browser/feedback/dialog-core.js.map +1 -1
  70. package/dist/browser/feedback/index.js.map +1 -1
  71. package/dist/browser/feedback/prompts.js.map +1 -1
  72. package/dist/browser/feedback/toast.js.map +1 -1
  73. package/dist/browser/feedback/tooltip-position.js.map +1 -1
  74. package/dist/browser/inputs/AutocompleteEditor.js.map +1 -1
  75. package/dist/browser/inputs/AutocompleteSelect.js.map +1 -1
  76. package/dist/browser/inputs/Checkbox.js.map +1 -1
  77. package/dist/browser/inputs/CheckboxCard.js.map +1 -1
  78. package/dist/browser/inputs/ChoiceGroups.js.map +1 -1
  79. package/dist/browser/inputs/ChoiceInputs.js.map +1 -1
  80. package/dist/browser/inputs/Combobox.js.map +1 -1
  81. package/dist/browser/inputs/DatePicker.js.map +1 -1
  82. package/dist/browser/inputs/FileInputs.js.map +1 -1
  83. package/dist/browser/inputs/MultiSelectInput.js.map +1 -1
  84. package/dist/browser/inputs/NumberInput.js.map +1 -1
  85. package/dist/browser/inputs/Select.js.map +1 -1
  86. package/dist/browser/inputs/SelectChip.js.map +1 -1
  87. package/dist/browser/inputs/SpecialInputs.js.map +1 -1
  88. package/dist/browser/inputs/Switch.js.map +1 -1
  89. package/dist/browser/inputs/TagEditor.js.map +1 -1
  90. package/dist/browser/inputs/TagsInput.js.map +1 -1
  91. package/dist/browser/inputs/TemplateEditor.js.map +1 -1
  92. package/dist/browser/inputs/TextInput.js +2 -1
  93. package/dist/browser/inputs/TextInput.js.map +1 -1
  94. package/dist/browser/inputs/choice.js.map +1 -1
  95. package/dist/browser/inputs/completion/behaviors.js.map +1 -1
  96. package/dist/browser/inputs/completion/engine.js.map +1 -1
  97. package/dist/browser/inputs/completion/index.js.map +1 -1
  98. package/dist/browser/inputs/completion/overlay.js.map +1 -1
  99. package/dist/browser/inputs/date-picker.js.map +1 -1
  100. package/dist/browser/inputs/editor-dom.js.map +1 -1
  101. package/dist/browser/inputs/field-contract.js.map +1 -1
  102. package/dist/browser/inputs/icon-options.js.map +1 -1
  103. package/dist/browser/inputs/image-crop.js.map +1 -1
  104. package/dist/browser/inputs/index.js.map +1 -1
  105. package/dist/browser/inputs/markdown/MarkdownEditor.js.map +1 -1
  106. package/dist/browser/inputs/markdown/Toolbar.js.map +1 -1
  107. package/dist/browser/inputs/markdown/actions.js.map +1 -1
  108. package/dist/browser/inputs/markdown/active-formats.js.map +1 -1
  109. package/dist/browser/inputs/markdown/behaviors.js.map +1 -1
  110. package/dist/browser/inputs/markdown/code-zone.js.map +1 -1
  111. package/dist/browser/internal/color.js.map +1 -1
  112. package/dist/browser/internal/field.js.map +1 -1
  113. package/dist/browser/internal/portal.js.map +1 -1
  114. package/dist/browser/intl/Format.js.map +1 -1
  115. package/dist/browser/intl/index.js.map +1 -1
  116. package/dist/browser/intl/locale.js.map +1 -1
  117. package/dist/browser/intl/messages.js +6 -0
  118. package/dist/browser/intl/messages.js.map +1 -1
  119. package/dist/browser/layout/AppOverview.js.map +1 -1
  120. package/dist/browser/layout/AppWorkspace.js.map +1 -1
  121. package/dist/browser/layout/BottomSheet.js.map +1 -1
  122. package/dist/browser/layout/DataPanel.js.map +1 -1
  123. package/dist/browser/layout/DetailPanel.js.map +1 -1
  124. package/dist/browser/layout/Discussion.js.map +1 -1
  125. package/dist/browser/layout/FloatingWindow.js.map +1 -1
  126. package/dist/browser/layout/Navigation.js.map +1 -1
  127. package/dist/browser/layout/PanelDialog.js.map +1 -1
  128. package/dist/browser/layout/PanelHeader.js.map +1 -1
  129. package/dist/browser/layout/Panes.js.map +1 -1
  130. package/dist/browser/layout/PullToRefresh.js +8 -7
  131. package/dist/browser/layout/PullToRefresh.js.map +1 -1
  132. package/dist/browser/layout/ScrollArea.js.map +1 -1
  133. package/dist/browser/layout/Settings.js.map +1 -1
  134. package/dist/browser/layout/SettingsCollection.js.map +1 -1
  135. package/dist/browser/layout/SettingsModal.js.map +1 -1
  136. package/dist/browser/layout/SidebarItemPreview.js.map +1 -1
  137. package/dist/browser/layout/app-workspace-controller.js.map +1 -1
  138. package/dist/browser/layout/app-workspace-state.js.map +1 -1
  139. package/dist/browser/layout/floating-window-geometry.js.map +1 -1
  140. package/dist/browser/layout/index.js.map +1 -1
  141. package/dist/browser/layout/navigation-model.js.map +1 -1
  142. package/dist/browser/layout/panes-layout.js.map +1 -1
  143. package/dist/browser/layout/scroll-fade.js.map +1 -1
  144. package/dist/browser/layout/stable-id.js.map +1 -1
  145. package/dist/browser/surfaces/Avatar.js.map +1 -1
  146. package/dist/browser/surfaces/DescriptionList.js.map +1 -1
  147. package/dist/browser/surfaces/LinkCard.js.map +1 -1
  148. package/dist/browser/surfaces/NotFoundState.js.map +1 -1
  149. package/dist/browser/surfaces/NoticeCard.js.map +1 -1
  150. package/dist/browser/surfaces/Paper.js.map +1 -1
  151. package/dist/browser/surfaces/Placeholder.js.map +1 -1
  152. package/dist/browser/surfaces/ProgressBar.js.map +1 -1
  153. package/dist/browser/surfaces/StatCell.js.map +1 -1
  154. package/dist/browser/surfaces/StatGrid.js.map +1 -1
  155. package/dist/browser/surfaces/StatusBadge.js.map +1 -1
  156. package/dist/browser/surfaces/Tag.js.map +1 -1
  157. package/dist/browser/surfaces/index.js.map +1 -1
  158. package/dist/browser/widgets/Widget.js.map +1 -1
  159. package/dist/browser/widgets/WidgetHero.js.map +1 -1
  160. package/dist/browser/widgets/WidgetList.js.map +1 -1
  161. package/dist/browser/widgets/WidgetPills.js.map +1 -1
  162. package/dist/browser/widgets/WidgetStat.js.map +1 -1
  163. package/dist/browser/widgets/WidgetStatus.js.map +1 -1
  164. package/dist/ssr/actions/Button.js +16 -6
  165. package/dist/ssr/actions/Button.js.map +1 -1
  166. package/dist/ssr/actions/ContextMenu.js.map +1 -1
  167. package/dist/ssr/actions/CopyButton.js +2 -1
  168. package/dist/ssr/actions/CopyButton.js.map +1 -1
  169. package/dist/ssr/actions/Disclosure.js.map +1 -1
  170. package/dist/ssr/actions/Dropdown.js +7 -6
  171. package/dist/ssr/actions/Dropdown.js.map +1 -1
  172. package/dist/ssr/actions/FilterChip.js +5 -4
  173. package/dist/ssr/actions/FilterChip.js.map +1 -1
  174. package/dist/ssr/actions/RemoveButton.js +1 -0
  175. package/dist/ssr/actions/RemoveButton.js.map +1 -1
  176. package/dist/ssr/actions/SegmentedControl.js.map +1 -1
  177. package/dist/ssr/actions/SplitButton.js +1 -0
  178. package/dist/ssr/actions/SplitButton.js.map +1 -1
  179. package/dist/ssr/actions/SpotlightSearch.js.map +1 -1
  180. package/dist/ssr/actions/Tabs.js.map +1 -1
  181. package/dist/ssr/actions/Toolbar.js.map +1 -1
  182. package/dist/ssr/actions/index.js.map +1 -1
  183. package/dist/ssr/chat/ChatComposer.js +6 -5
  184. package/dist/ssr/chat/ChatComposer.js.map +1 -1
  185. package/dist/ssr/chat/ChatContextPopup.js.map +1 -1
  186. package/dist/ssr/chat/ChatPrimitives.js +6 -5
  187. package/dist/ssr/chat/ChatPrimitives.js.map +1 -1
  188. package/dist/ssr/chat/ChatRoot.js.map +1 -1
  189. package/dist/ssr/chat/ChatTasks.js +1 -1
  190. package/dist/ssr/chat/ChatTasks.js.map +1 -1
  191. package/dist/ssr/chat/ChatTimeline.js +5 -4
  192. package/dist/ssr/chat/ChatTimeline.js.map +1 -1
  193. package/dist/ssr/chat/chat-behavior.js.map +1 -1
  194. package/dist/ssr/chat/composer-document.js.map +1 -1
  195. package/dist/ssr/chat/index.js.map +1 -1
  196. package/dist/ssr/content/Calendar.js +2 -1
  197. package/dist/ssr/content/Calendar.js.map +1 -1
  198. package/dist/ssr/content/Chart.js.map +1 -1
  199. package/dist/ssr/content/ChartExplorer.js.map +1 -1
  200. package/dist/ssr/content/ChartExplorerControls.js +5 -4
  201. package/dist/ssr/content/ChartExplorerControls.js.map +1 -1
  202. package/dist/ssr/content/ChartFilterControls.js +3 -2
  203. package/dist/ssr/content/ChartFilterControls.js.map +1 -1
  204. package/dist/ssr/content/ChartSnapshotView.js.map +1 -1
  205. package/dist/ssr/content/CodeDisplay.js.map +1 -1
  206. package/dist/ssr/content/DataTable.js +1 -0
  207. package/dist/ssr/content/DataTable.js.map +1 -1
  208. package/dist/ssr/content/Docs.js +1 -0
  209. package/dist/ssr/content/Docs.js.map +1 -1
  210. package/dist/ssr/content/FileBrowser.js +2 -1
  211. package/dist/ssr/content/FileBrowser.js.map +1 -1
  212. package/dist/ssr/content/FileGrid.js.map +1 -1
  213. package/dist/ssr/content/FileTree.js +2 -1
  214. package/dist/ssr/content/FileTree.js.map +1 -1
  215. package/dist/ssr/content/FileView.js +5 -4
  216. package/dist/ssr/content/FileView.js.map +1 -1
  217. package/dist/ssr/content/Lightbox.js +2 -1
  218. package/dist/ssr/content/Lightbox.js.map +1 -1
  219. package/dist/ssr/content/LogEntriesTable.js.map +1 -1
  220. package/dist/ssr/content/MarkdownView.js.map +1 -1
  221. package/dist/ssr/content/Pagination.js +2 -1
  222. package/dist/ssr/content/Pagination.js.map +1 -1
  223. package/dist/ssr/content/PdfPreview.js.map +1 -1
  224. package/dist/ssr/content/RangePicker.js.map +1 -1
  225. package/dist/ssr/content/StructuredDataPreview.js.map +1 -1
  226. package/dist/ssr/content/ZoomPanViewport.js +300 -0
  227. package/dist/ssr/content/ZoomPanViewport.js.map +1 -0
  228. package/dist/ssr/content/calendar-event-layout.js.map +1 -1
  229. package/dist/ssr/content/calendar-pointer.js.map +1 -1
  230. package/dist/ssr/content/chart-cursor.js.map +1 -1
  231. package/dist/ssr/content/chart-explorer.js.map +1 -1
  232. package/dist/ssr/content/chart-inspection.js.map +1 -1
  233. package/dist/ssr/content/chart-line-gaps.js.map +1 -1
  234. package/dist/ssr/content/chart-map-viewport.js.map +1 -1
  235. package/dist/ssr/content/chart-snapshot.js.map +1 -1
  236. package/dist/ssr/content/chart-state-timeline.js.map +1 -1
  237. package/dist/ssr/content/chart-svg.js.map +1 -1
  238. package/dist/ssr/content/code-highlight.js.map +1 -1
  239. package/dist/ssr/content/collection-selection.js.map +1 -1
  240. package/dist/ssr/content/delimited-preferences.js.map +1 -1
  241. package/dist/ssr/content/file-tree.js.map +1 -1
  242. package/dist/ssr/content/file-view-preview.js.map +1 -1
  243. package/dist/ssr/content/index.js +1 -0
  244. package/dist/ssr/content/index.js.map +1 -1
  245. package/dist/ssr/content/zoom-pan.js +54 -0
  246. package/dist/ssr/content/zoom-pan.js.map +1 -0
  247. package/dist/ssr/feedback/InlineGuidance.js.map +1 -1
  248. package/dist/ssr/feedback/Tooltip.js.map +1 -1
  249. package/dist/ssr/feedback/dialog-core.js.map +1 -1
  250. package/dist/ssr/feedback/index.js.map +1 -1
  251. package/dist/ssr/feedback/prompts.js +3 -2
  252. package/dist/ssr/feedback/prompts.js.map +1 -1
  253. package/dist/ssr/feedback/toast.js.map +1 -1
  254. package/dist/ssr/feedback/tooltip-position.js.map +1 -1
  255. package/dist/ssr/inputs/AutocompleteEditor.js +3 -2
  256. package/dist/ssr/inputs/AutocompleteEditor.js.map +1 -1
  257. package/dist/ssr/inputs/AutocompleteSelect.js +5 -4
  258. package/dist/ssr/inputs/AutocompleteSelect.js.map +1 -1
  259. package/dist/ssr/inputs/Checkbox.js +1 -0
  260. package/dist/ssr/inputs/Checkbox.js.map +1 -1
  261. package/dist/ssr/inputs/CheckboxCard.js.map +1 -1
  262. package/dist/ssr/inputs/ChoiceGroups.js.map +1 -1
  263. package/dist/ssr/inputs/ChoiceInputs.js +1 -0
  264. package/dist/ssr/inputs/ChoiceInputs.js.map +1 -1
  265. package/dist/ssr/inputs/Combobox.js +2 -1
  266. package/dist/ssr/inputs/Combobox.js.map +1 -1
  267. package/dist/ssr/inputs/DatePicker.js +4 -3
  268. package/dist/ssr/inputs/DatePicker.js.map +1 -1
  269. package/dist/ssr/inputs/FileInputs.js +2 -1
  270. package/dist/ssr/inputs/FileInputs.js.map +1 -1
  271. package/dist/ssr/inputs/MultiSelectInput.js +4 -3
  272. package/dist/ssr/inputs/MultiSelectInput.js.map +1 -1
  273. package/dist/ssr/inputs/NumberInput.js +2 -1
  274. package/dist/ssr/inputs/NumberInput.js.map +1 -1
  275. package/dist/ssr/inputs/Select.js +4 -3
  276. package/dist/ssr/inputs/Select.js.map +1 -1
  277. package/dist/ssr/inputs/SelectChip.js +3 -2
  278. package/dist/ssr/inputs/SelectChip.js.map +1 -1
  279. package/dist/ssr/inputs/SpecialInputs.js +1 -0
  280. package/dist/ssr/inputs/SpecialInputs.js.map +1 -1
  281. package/dist/ssr/inputs/Switch.js.map +1 -1
  282. package/dist/ssr/inputs/TagEditor.js +3 -2
  283. package/dist/ssr/inputs/TagEditor.js.map +1 -1
  284. package/dist/ssr/inputs/TagsInput.js.map +1 -1
  285. package/dist/ssr/inputs/TemplateEditor.js +1 -0
  286. package/dist/ssr/inputs/TemplateEditor.js.map +1 -1
  287. package/dist/ssr/inputs/TextInput.js +6 -4
  288. package/dist/ssr/inputs/TextInput.js.map +1 -1
  289. package/dist/ssr/inputs/choice.js.map +1 -1
  290. package/dist/ssr/inputs/completion/behaviors.js.map +1 -1
  291. package/dist/ssr/inputs/completion/engine.js.map +1 -1
  292. package/dist/ssr/inputs/completion/index.js.map +1 -1
  293. package/dist/ssr/inputs/completion/overlay.js.map +1 -1
  294. package/dist/ssr/inputs/date-picker.js.map +1 -1
  295. package/dist/ssr/inputs/editor-dom.js.map +1 -1
  296. package/dist/ssr/inputs/field-contract.js.map +1 -1
  297. package/dist/ssr/inputs/icon-options.js.map +1 -1
  298. package/dist/ssr/inputs/image-crop.js.map +1 -1
  299. package/dist/ssr/inputs/index.js.map +1 -1
  300. package/dist/ssr/inputs/markdown/MarkdownEditor.js +3 -2
  301. package/dist/ssr/inputs/markdown/MarkdownEditor.js.map +1 -1
  302. package/dist/ssr/inputs/markdown/Toolbar.js.map +1 -1
  303. package/dist/ssr/inputs/markdown/actions.js.map +1 -1
  304. package/dist/ssr/inputs/markdown/active-formats.js.map +1 -1
  305. package/dist/ssr/inputs/markdown/behaviors.js.map +1 -1
  306. package/dist/ssr/inputs/markdown/code-zone.js.map +1 -1
  307. package/dist/ssr/internal/color.js.map +1 -1
  308. package/dist/ssr/internal/field.js.map +1 -1
  309. package/dist/ssr/internal/portal.js.map +1 -1
  310. package/dist/ssr/intl/Format.js.map +1 -1
  311. package/dist/ssr/intl/index.js.map +1 -1
  312. package/dist/ssr/intl/locale.js.map +1 -1
  313. package/dist/ssr/intl/messages.js +6 -0
  314. package/dist/ssr/intl/messages.js.map +1 -1
  315. package/dist/ssr/layout/AppOverview.js +2 -1
  316. package/dist/ssr/layout/AppOverview.js.map +1 -1
  317. package/dist/ssr/layout/AppWorkspace.js +7 -6
  318. package/dist/ssr/layout/AppWorkspace.js.map +1 -1
  319. package/dist/ssr/layout/BottomSheet.js.map +1 -1
  320. package/dist/ssr/layout/DataPanel.js +1 -0
  321. package/dist/ssr/layout/DataPanel.js.map +1 -1
  322. package/dist/ssr/layout/DetailPanel.js +1 -0
  323. package/dist/ssr/layout/DetailPanel.js.map +1 -1
  324. package/dist/ssr/layout/Discussion.js +3 -2
  325. package/dist/ssr/layout/Discussion.js.map +1 -1
  326. package/dist/ssr/layout/FloatingWindow.js +1 -0
  327. package/dist/ssr/layout/FloatingWindow.js.map +1 -1
  328. package/dist/ssr/layout/Navigation.js +3 -2
  329. package/dist/ssr/layout/Navigation.js.map +1 -1
  330. package/dist/ssr/layout/PanelDialog.js +1 -0
  331. package/dist/ssr/layout/PanelDialog.js.map +1 -1
  332. package/dist/ssr/layout/PanelHeader.js.map +1 -1
  333. package/dist/ssr/layout/Panes.js.map +1 -1
  334. package/dist/ssr/layout/PullToRefresh.js +1 -1
  335. package/dist/ssr/layout/PullToRefresh.js.map +1 -1
  336. package/dist/ssr/layout/ScrollArea.js.map +1 -1
  337. package/dist/ssr/layout/Settings.js +2 -1
  338. package/dist/ssr/layout/Settings.js.map +1 -1
  339. package/dist/ssr/layout/SettingsCollection.js +1 -0
  340. package/dist/ssr/layout/SettingsCollection.js.map +1 -1
  341. package/dist/ssr/layout/SettingsModal.js.map +1 -1
  342. package/dist/ssr/layout/SidebarItemPreview.js.map +1 -1
  343. package/dist/ssr/layout/app-workspace-controller.js.map +1 -1
  344. package/dist/ssr/layout/app-workspace-state.js.map +1 -1
  345. package/dist/ssr/layout/floating-window-geometry.js.map +1 -1
  346. package/dist/ssr/layout/index.js.map +1 -1
  347. package/dist/ssr/layout/navigation-model.js.map +1 -1
  348. package/dist/ssr/layout/panes-layout.js.map +1 -1
  349. package/dist/ssr/layout/scroll-fade.js.map +1 -1
  350. package/dist/ssr/layout/stable-id.js.map +1 -1
  351. package/dist/ssr/surfaces/Avatar.js +2 -1
  352. package/dist/ssr/surfaces/Avatar.js.map +1 -1
  353. package/dist/ssr/surfaces/DescriptionList.js.map +1 -1
  354. package/dist/ssr/surfaces/LinkCard.js.map +1 -1
  355. package/dist/ssr/surfaces/NotFoundState.js.map +1 -1
  356. package/dist/ssr/surfaces/NoticeCard.js.map +1 -1
  357. package/dist/ssr/surfaces/Paper.js +2 -1
  358. package/dist/ssr/surfaces/Paper.js.map +1 -1
  359. package/dist/ssr/surfaces/Placeholder.js +2 -1
  360. package/dist/ssr/surfaces/Placeholder.js.map +1 -1
  361. package/dist/ssr/surfaces/ProgressBar.js.map +1 -1
  362. package/dist/ssr/surfaces/StatCell.js +2 -1
  363. package/dist/ssr/surfaces/StatCell.js.map +1 -1
  364. package/dist/ssr/surfaces/StatGrid.js +1 -0
  365. package/dist/ssr/surfaces/StatGrid.js.map +1 -1
  366. package/dist/ssr/surfaces/StatusBadge.js.map +1 -1
  367. package/dist/ssr/surfaces/Tag.js.map +1 -1
  368. package/dist/ssr/surfaces/index.js.map +1 -1
  369. package/dist/ssr/widgets/Widget.js +1 -0
  370. package/dist/ssr/widgets/Widget.js.map +1 -1
  371. package/dist/ssr/widgets/WidgetHero.js.map +1 -1
  372. package/dist/ssr/widgets/WidgetList.js.map +1 -1
  373. package/dist/ssr/widgets/WidgetPills.js.map +1 -1
  374. package/dist/ssr/widgets/WidgetStat.js +1 -0
  375. package/dist/ssr/widgets/WidgetStat.js.map +1 -1
  376. package/dist/ssr/widgets/WidgetStatus.js.map +1 -1
  377. package/dist/styles.css +1 -1
  378. package/dist/types/actions/Button.d.ts +5 -0
  379. package/dist/types/actions/SplitButton.d.ts +1 -1
  380. package/dist/types/actions/SpotlightSearch.d.ts +1 -1
  381. package/dist/types/actions/index.d.ts +1 -1
  382. package/dist/types/content/ZoomPanViewport.d.ts +33 -0
  383. package/dist/types/content/index.d.ts +2 -0
  384. package/dist/types/content/zoom-pan.d.ts +29 -0
  385. package/dist/types/feedback/prompts.d.ts +4 -3
  386. package/dist/types/intl/messages.d.ts +3 -0
  387. package/package.json +9 -10
@@ -1 +1 @@
1
- {"version":3,"names":["createMemo","For","useUiMessages","SegmentedControl","props","messages","buttons","currentValue","value","enabled","options","map","option","index","filter","disabled","selectedEnabled","some","emit","onValueChange","select","queueMicrotask","focus","selectRelative","currentIndex","direction","available","length","current","findIndex","next","edge","last","at","tabIndex","divider","_el$","_$getNextElement","_tmpl$","_$insert","_$createComponent","each","children","_el$2","_tmpl$2","_el$4","firstChild","_el$5","_co$","_$getNextMarker","nextSibling","_el$3","$$keydown","event","key","preventDefault","$$click","_$use","element","_c$","_$memo","icon","_el$6","_tmpl$3","_$effect","_$className","label","_p$","_v$5","_v$6","undefined","_v$7","_v$8","_v$9","e","_$setAttribute","t","a","o","_$setProperty","i","_$runHydrationEvents","_v$","class","_v$2","size","_v$3","ariaLabel","_v$4","_$delegateEvents"],"sources":["actions/SegmentedControl.tsx"],"sourcesContent":["import { createMemo, For, type JSX } from \"solid-js\";\nimport { useUiMessages } from \"../intl/messages\";\n\nexport type SegmentOption<T extends string = string> = {\n value: T;\n label: JSX.Element;\n icon?: string;\n disabled?: boolean;\n};\n\nexport type SegmentedControlProps<T extends string = string> = {\n options: readonly SegmentOption<T>[];\n value: T | (() => T);\n onValueChange: (value: T) => void;\n disabled?: boolean;\n ariaLabel?: string;\n label?: string;\n size?: \"sm\" | \"md\";\n class?: string;\n};\n\n/** Controlled radio group with automatic selection during arrow-key navigation. */\nexport function SegmentedControl<T extends string = string>(props: SegmentedControlProps<T>): JSX.Element {\n const messages = useUiMessages();\n const buttons: HTMLButtonElement[] = [];\n const currentValue = createMemo<T>(() => (typeof props.value === \"function\" ? props.value() : props.value));\n const enabled = createMemo(() =>\n props.options.map((option, index) => ({ option, index })).filter(({ option }) => !props.disabled && !option.disabled),\n );\n const selectedEnabled = createMemo(() =>\n props.options.some((option) => option.value === currentValue() && !props.disabled && !option.disabled),\n );\n const emit = (value: T) => props.onValueChange(value);\n const select = (index: number) => {\n const option = props.options[index];\n if (!option || props.disabled || option.disabled) return;\n emit(option.value);\n queueMicrotask(() => buttons[index]?.focus());\n };\n const selectRelative = (currentIndex: number, direction: 1 | -1) => {\n const available = enabled();\n if (available.length === 0) return;\n const current = available.findIndex(({ index }) => index === currentIndex);\n const next = available[(current + direction + available.length) % available.length] ?? available[0];\n if (next) select(next.index);\n };\n const edge = (last: boolean) => {\n const available = enabled();\n const next = last ? available.at(-1) : available[0];\n if (next) select(next.index);\n };\n const tabIndex = (index: number, value: T) => {\n if (props.disabled || props.options[index]?.disabled) return -1;\n if (currentValue() === value) return 0;\n return !selectedEnabled() && enabled()[0]?.index === index ? 0 : -1;\n };\n const divider = (index: number, value: T) =>\n index < props.options.length - 1 && currentValue() !== value && currentValue() !== props.options[index + 1]?.value;\n\n return (\n <div\n class={`k2b-segmented-control ${props.class ?? \"\"}`}\n data-size={props.size ?? \"md\"}\n role=\"radiogroup\"\n aria-label={props.ariaLabel ?? props.label ?? messages().options}\n aria-orientation=\"horizontal\"\n aria-disabled={props.disabled ? \"true\" : undefined}\n >\n <For each={props.options}>\n {(option, index) => (\n <button\n ref={(element) => {\n buttons[index()] = element;\n }}\n type=\"button\"\n role=\"radio\"\n class=\"k2b-segmented-control__option\"\n aria-checked={currentValue() === option.value}\n data-selected={currentValue() === option.value ? \"true\" : undefined}\n data-divider={divider(index(), option.value) ? \"true\" : undefined}\n disabled={props.disabled || option.disabled}\n tabIndex={tabIndex(index(), option.value)}\n onClick={() => emit(option.value)}\n onKeyDown={(event) => {\n if (event.key === \"ArrowRight\" || event.key === \"ArrowDown\") {\n event.preventDefault();\n selectRelative(index(), 1);\n } else if (event.key === \"ArrowLeft\" || event.key === \"ArrowUp\") {\n event.preventDefault();\n selectRelative(index(), -1);\n } else if (event.key === \"Home\" || event.key === \"End\") {\n event.preventDefault();\n edge(event.key === \"End\");\n }\n }}\n >\n {option.icon && <i class={option.icon} aria-hidden=\"true\" />}\n <span>{option.label}</span>\n </button>\n )}\n </For>\n </div>\n );\n}\n\nexport default SegmentedControl;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,SAASA,UAAU,EAAEC,GAAG,QAAkB,UAAU;AACpD,SAASC,aAAa,QAAQ,kBAAkB;AAoBhD;AACA,OAAO,SAASC,gBAAgBA,CAA4BC,KAA+B,EAAe;EACxG,MAAMC,QAAQ,GAAGH,aAAa,CAAC,CAAC;EAChC,MAAMI,OAA4B,GAAG,EAAE;EACvC,MAAMC,YAAY,GAAGP,UAAU,CAAI,MAAO,OAAOI,KAAK,CAACI,KAAK,KAAK,UAAU,GAAGJ,KAAK,CAACI,KAAK,CAAC,CAAC,GAAGJ,KAAK,CAACI,KAAM,CAAC;EAC3G,MAAMC,OAAO,GAAGT,UAAU,CAAC,MACzBI,KAAK,CAACM,OAAO,CAACC,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK,MAAM;IAAED,MAAM;IAAEC;EAAM,CAAC,CAAC,CAAC,CAACC,MAAM,CAAC,CAAC;IAAEF;EAAO,CAAC,KAAK,CAACR,KAAK,CAACW,QAAQ,IAAI,CAACH,MAAM,CAACG,QAAQ,CACtH,CAAC;EACD,MAAMC,eAAe,GAAGhB,UAAU,CAAC,MACjCI,KAAK,CAACM,OAAO,CAACO,IAAI,CAAEL,MAAM,IAAKA,MAAM,CAACJ,KAAK,KAAKD,YAAY,CAAC,CAAC,IAAI,CAACH,KAAK,CAACW,QAAQ,IAAI,CAACH,MAAM,CAACG,QAAQ,CACvG,CAAC;EACD,MAAMG,IAAI,GAAIV,KAAQ,IAAKJ,KAAK,CAACe,aAAa,CAACX,KAAK,CAAC;EACrD,MAAMY,MAAM,GAAIP,KAAa,IAAK;IAChC,MAAMD,MAAM,GAAGR,KAAK,CAACM,OAAO,CAACG,KAAK,CAAC;IACnC,IAAI,CAACD,MAAM,IAAIR,KAAK,CAACW,QAAQ,IAAIH,MAAM,CAACG,QAAQ,EAAE;IAClDG,IAAI,CAACN,MAAM,CAACJ,KAAK,CAAC;IAClBa,cAAc,CAAC,MAAMf,OAAO,CAACO,KAAK,CAAC,EAAES,KAAK,CAAC,CAAC,CAAC;EAC/C,CAAC;EACD,MAAMC,cAAc,GAAGA,CAACC,YAAoB,EAAEC,SAAiB,KAAK;IAClE,MAAMC,SAAS,GAAGjB,OAAO,CAAC,CAAC;IAC3B,IAAIiB,SAAS,CAACC,MAAM,KAAK,CAAC,EAAE;IAC5B,MAAMC,OAAO,GAAGF,SAAS,CAACG,SAAS,CAAC,CAAC;MAAEhB;IAAM,CAAC,KAAKA,KAAK,KAAKW,YAAY,CAAC;IAC1E,MAAMM,IAAI,GAAGJ,SAAS,CAAC,CAACE,OAAO,GAAGH,SAAS,GAAGC,SAAS,CAACC,MAAM,IAAID,SAAS,CAACC,MAAM,CAAC,IAAID,SAAS,CAAC,CAAC,CAAC;IACnG,IAAII,IAAI,EAAEV,MAAM,CAACU,IAAI,CAACjB,KAAK,CAAC;EAC9B,CAAC;EACD,MAAMkB,IAAI,GAAIC,IAAa,IAAK;IAC9B,MAAMN,SAAS,GAAGjB,OAAO,CAAC,CAAC;IAC3B,MAAMqB,IAAI,GAAGE,IAAI,GAAGN,SAAS,CAACO,EAAE,CAAC,CAAC,CAAC,CAAC,GAAGP,SAAS,CAAC,CAAC,CAAC;IACnD,IAAII,IAAI,EAAEV,MAAM,CAACU,IAAI,CAACjB,KAAK,CAAC;EAC9B,CAAC;EACD,MAAMqB,QAAQ,GAAGA,CAACrB,KAAa,EAAEL,KAAQ,KAAK;IAC5C,IAAIJ,KAAK,CAACW,QAAQ,IAAIX,KAAK,CAACM,OAAO,CAACG,KAAK,CAAC,EAAEE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/D,IAAIR,YAAY,CAAC,CAAC,KAAKC,KAAK,EAAE,OAAO,CAAC;IACtC,OAAO,CAACQ,eAAe,CAAC,CAAC,IAAIP,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEI,KAAK,KAAKA,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;EACrE,CAAC;EACD,MAAMsB,OAAO,GAAGA,CAACtB,KAAa,EAAEL,KAAQ,KACtCK,KAAK,GAAGT,KAAK,CAACM,OAAO,CAACiB,MAAM,GAAG,CAAC,IAAIpB,YAAY,CAAC,CAAC,KAAKC,KAAK,IAAID,YAAY,CAAC,CAAC,KAAKH,KAAK,CAACM,OAAO,CAACG,KAAK,GAAG,CAAC,CAAC,EAAEL,KAAK;EAEpH;IAAA,IAAA4B,IAAA,GAAAC,gBAAA,CAAAC,MAAA;IAAAC,QAAA,CAAAH,IAAA,EAAAI,iBAAA,CASKvC,GAAG;MAAA,IAACwC,IAAIA,CAAA;QAAA,OAAErC,KAAK,CAACM,OAAO;MAAA;MAAAgC,QAAA,EACrBA,CAAC9B,MAAM,EAAEC,KAAK;QAAA,IAAA8B,KAAA,GAAAN,gBAAA,CAAAO,OAAA;UAAAC,KAAA,GAAAF,KAAA,CAAAG,UAAA;UAAA,CAAAC,KAAA,EAAAC,IAAA,IAAAC,eAAA,CAAAJ,KAAA,CAAAK,WAAA;UAAAC,KAAA,GAAAJ,KAAA,CAAAG,WAAA;QAAAP,KAAA,CAAAS,SAAA,GAcCC,KAAK,IAAK;UACpB,IAAIA,KAAK,CAACC,GAAG,KAAK,YAAY,IAAID,KAAK,CAACC,GAAG,KAAK,WAAW,EAAE;YAC3DD,KAAK,CAACE,cAAc,CAAC,CAAC;YACtBhC,cAAc,CAACV,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;UAC5B,CAAC,MAAM,IAAIwC,KAAK,CAACC,GAAG,KAAK,WAAW,IAAID,KAAK,CAACC,GAAG,KAAK,SAAS,EAAE;YAC/DD,KAAK,CAACE,cAAc,CAAC,CAAC;YACtBhC,cAAc,CAACV,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;UAC7B,CAAC,MAAM,IAAIwC,KAAK,CAACC,GAAG,KAAK,MAAM,IAAID,KAAK,CAACC,GAAG,KAAK,KAAK,EAAE;YACtDD,KAAK,CAACE,cAAc,CAAC,CAAC;YACtBxB,IAAI,CAACsB,KAAK,CAACC,GAAG,KAAK,KAAK,CAAC;UAC3B;QACF,CAAC;QAAAX,KAAA,CAAAa,OAAA,GAZQ,MAAMtC,IAAI,CAACN,MAAM,CAACJ,KAAK,CAAC;QAAAiD,KAAA,CAX3BC,OAAO,IAAK;UAChBpD,OAAO,CAACO,KAAK,CAAC,CAAC,CAAC,GAAG6C,OAAO;QAC5B,CAAC,EAAAf,KAAA;QAAAJ,QAAA,CAAAI,KAAA;UAAA,IAAAgB,GAAA,GAAAC,MAAA,SAuBAhD,MAAM,CAACiD,IAAI;UAAA,aAAXF,GAAA;YAAA,IAAAG,KAAA,GAAAzB,gBAAA,CAAA0B,OAAA;YAAAC,QAAA,OAAAC,WAAA,CAAAH,KAAA,EAAyBlD,MAAM,CAACiD,IAAI;YAAA,OAAAC,KAAA;UAAA,IAAuB;QAAA,MAAAf,KAAA,EAAAC,IAAA;QAAAT,QAAA,CAAAY,KAAA,QACrDvC,MAAM,CAACsD,KAAK;QAAAF,QAAA,CAAAG,GAAA;UAAA,IAAAC,IAAA,GApBL7D,YAAY,CAAC,CAAC,KAAKK,MAAM,CAACJ,KAAK;YAAA6D,IAAA,GAC9B9D,YAAY,CAAC,CAAC,KAAKK,MAAM,CAACJ,KAAK,GAAG,MAAM,GAAG8D,SAAS;YAAAC,IAAA,GACrDpC,OAAO,CAACtB,KAAK,CAAC,CAAC,EAAED,MAAM,CAACJ,KAAK,CAAC,GAAG,MAAM,GAAG8D,SAAS;YAAAE,IAAA,GACvDpE,KAAK,CAACW,QAAQ,IAAIH,MAAM,CAACG,QAAQ;YAAA0D,IAAA,GACjCvC,QAAQ,CAACrB,KAAK,CAAC,CAAC,EAAED,MAAM,CAACJ,KAAK,CAAC;UAAA4D,IAAA,KAAAD,GAAA,CAAAO,CAAA,IAAAC,cAAA,CAAAhC,KAAA,kBAAAwB,GAAA,CAAAO,CAAA,GAAAN,IAAA;UAAAC,IAAA,KAAAF,GAAA,CAAAS,CAAA,IAAAD,cAAA,CAAAhC,KAAA,mBAAAwB,GAAA,CAAAS,CAAA,GAAAP,IAAA;UAAAE,IAAA,KAAAJ,GAAA,CAAAU,CAAA,IAAAF,cAAA,CAAAhC,KAAA,kBAAAwB,GAAA,CAAAU,CAAA,GAAAN,IAAA;UAAAC,IAAA,KAAAL,GAAA,CAAAW,CAAA,IAAAC,aAAA,CAAApC,KAAA,cAAAwB,GAAA,CAAAW,CAAA,GAAAN,IAAA;UAAAC,IAAA,KAAAN,GAAA,CAAAa,CAAA,IAAAL,cAAA,CAAAhC,KAAA,cAAAwB,GAAA,CAAAa,CAAA,GAAAP,IAAA;UAAA,OAAAN,GAAA;QAAA;UAAAO,CAAA,EAAAJ,SAAA;UAAAM,CAAA,EAAAN,SAAA;UAAAO,CAAA,EAAAP,SAAA;UAAAQ,CAAA,EAAAR,SAAA;UAAAU,CAAA,EAAAV;QAAA;QAAAW,oBAAA;QAAA,OAAAtC,KAAA;MAAA;IAkB5C;IAAAqB,QAAA,CAAAG,GAAA;MAAA,IAAAe,GAAA,GAtCI,yBAAyB9E,KAAK,CAAC+E,KAAK,IAAI,EAAE,EAAE;QAAAC,IAAA,GACxChF,KAAK,CAACiF,IAAI,IAAI,IAAI;QAAAC,IAAA,GAEjBlF,KAAK,CAACmF,SAAS,IAAInF,KAAK,CAAC8D,KAAK,IAAI7D,QAAQ,CAAC,CAAC,CAACK,OAAO;QAAA8E,IAAA,GAEjDpF,KAAK,CAACW,QAAQ,GAAG,MAAM,GAAGuD,SAAS;MAAAY,GAAA,KAAAf,GAAA,CAAAO,CAAA,IAAAT,WAAA,CAAA7B,IAAA,EAAA+B,GAAA,CAAAO,CAAA,GAAAQ,GAAA;MAAAE,IAAA,KAAAjB,GAAA,CAAAS,CAAA,IAAAD,cAAA,CAAAvC,IAAA,eAAA+B,GAAA,CAAAS,CAAA,GAAAQ,IAAA;MAAAE,IAAA,KAAAnB,GAAA,CAAAU,CAAA,IAAAF,cAAA,CAAAvC,IAAA,gBAAA+B,GAAA,CAAAU,CAAA,GAAAS,IAAA;MAAAE,IAAA,KAAArB,GAAA,CAAAW,CAAA,IAAAH,cAAA,CAAAvC,IAAA,mBAAA+B,GAAA,CAAAW,CAAA,GAAAU,IAAA;MAAA,OAAArB,GAAA;IAAA;MAAAO,CAAA,EAAAJ,SAAA;MAAAM,CAAA,EAAAN,SAAA;MAAAO,CAAA,EAAAP,SAAA;MAAAQ,CAAA,EAAAR;IAAA;IAAA,OAAAlC,IAAA;EAAA;AAqCxD;AAEA,eAAejC,gBAAgB;AAACsF,gBAAA","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["actions/SegmentedControl.tsx"],"sourcesContent":["import { createMemo, For, type JSX } from \"solid-js\";\nimport { useUiMessages } from \"../intl/messages\";\n\nexport type SegmentOption<T extends string = string> = {\n value: T;\n label: JSX.Element;\n icon?: string;\n disabled?: boolean;\n};\n\nexport type SegmentedControlProps<T extends string = string> = {\n options: readonly SegmentOption<T>[];\n value: T | (() => T);\n onValueChange: (value: T) => void;\n disabled?: boolean;\n ariaLabel?: string;\n label?: string;\n size?: \"sm\" | \"md\";\n class?: string;\n};\n\n/** Controlled radio group with automatic selection during arrow-key navigation. */\nexport function SegmentedControl<T extends string = string>(props: SegmentedControlProps<T>): JSX.Element {\n const messages = useUiMessages();\n const buttons: HTMLButtonElement[] = [];\n const currentValue = createMemo<T>(() => (typeof props.value === \"function\" ? props.value() : props.value));\n const enabled = createMemo(() =>\n props.options.map((option, index) => ({ option, index })).filter(({ option }) => !props.disabled && !option.disabled),\n );\n const selectedEnabled = createMemo(() =>\n props.options.some((option) => option.value === currentValue() && !props.disabled && !option.disabled),\n );\n const emit = (value: T) => props.onValueChange(value);\n const select = (index: number) => {\n const option = props.options[index];\n if (!option || props.disabled || option.disabled) return;\n emit(option.value);\n queueMicrotask(() => buttons[index]?.focus());\n };\n const selectRelative = (currentIndex: number, direction: 1 | -1) => {\n const available = enabled();\n if (available.length === 0) return;\n const current = available.findIndex(({ index }) => index === currentIndex);\n const next = available[(current + direction + available.length) % available.length] ?? available[0];\n if (next) select(next.index);\n };\n const edge = (last: boolean) => {\n const available = enabled();\n const next = last ? available.at(-1) : available[0];\n if (next) select(next.index);\n };\n const tabIndex = (index: number, value: T) => {\n if (props.disabled || props.options[index]?.disabled) return -1;\n if (currentValue() === value) return 0;\n return !selectedEnabled() && enabled()[0]?.index === index ? 0 : -1;\n };\n const divider = (index: number, value: T) =>\n index < props.options.length - 1 && currentValue() !== value && currentValue() !== props.options[index + 1]?.value;\n\n return (\n <div\n class={`k2b-segmented-control ${props.class ?? \"\"}`}\n data-size={props.size ?? \"md\"}\n role=\"radiogroup\"\n aria-label={props.ariaLabel ?? props.label ?? messages().options}\n aria-orientation=\"horizontal\"\n aria-disabled={props.disabled ? \"true\" : undefined}\n >\n <For each={props.options}>\n {(option, index) => (\n <button\n ref={(element) => {\n buttons[index()] = element;\n }}\n type=\"button\"\n role=\"radio\"\n class=\"k2b-segmented-control__option\"\n aria-checked={currentValue() === option.value}\n data-selected={currentValue() === option.value ? \"true\" : undefined}\n data-divider={divider(index(), option.value) ? \"true\" : undefined}\n disabled={props.disabled || option.disabled}\n tabIndex={tabIndex(index(), option.value)}\n onClick={() => emit(option.value)}\n onKeyDown={(event) => {\n if (event.key === \"ArrowRight\" || event.key === \"ArrowDown\") {\n event.preventDefault();\n selectRelative(index(), 1);\n } else if (event.key === \"ArrowLeft\" || event.key === \"ArrowUp\") {\n event.preventDefault();\n selectRelative(index(), -1);\n } else if (event.key === \"Home\" || event.key === \"End\") {\n event.preventDefault();\n edge(event.key === \"End\");\n }\n }}\n >\n {option.icon && <i class={option.icon} aria-hidden=\"true\" />}\n <span>{option.label}</span>\n </button>\n )}\n </For>\n </div>\n );\n}\n\nexport default SegmentedControl;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["Show","splitProps","Button","Dropdown","SplitButton","props","local","buttonProps","disabled","Boolean","loading","_$createComponent","Root","items","label","menuLabel","position","menuPosition","width","menuWidth","children","when","primaryItems","fallback","_$mergeProps","class","size","variant","Trigger","wrap","primaryMenuLabel","iconOnly","title","menuIcon","_$getNextElement","_tmpl$"],"sources":["actions/SplitButton.tsx"],"sourcesContent":["import { type JSX, Show, splitProps } from \"solid-js\";\nimport { Button, type ButtonProps } from \"./Button\";\nimport { Dropdown, type DropdownItem, type DropdownPosition } from \"./Dropdown\";\n\nexport type SplitButtonProps = ButtonProps & {\n /** Actions shown from the secondary menu trigger. */\n items: readonly DropdownItem[];\n /** Optional selection menu in place of the primary immediate action. */\n primaryItems?: readonly DropdownItem[];\n /** Accessible name for the primary selection menu. */\n primaryMenuLabel?: string;\n /** Secondary menu glyph; defaults to a chevron. */\n menuIcon?: JSX.Element;\n /** Accessible name and title for the icon-only menu trigger. */\n menuLabel: string;\n menuPosition?: DropdownPosition | (() => DropdownPosition);\n menuWidth?: string;\n};\n\n/** One primary button action with a separate menu of related alternatives. */\nexport function SplitButton(props: SplitButtonProps): JSX.Element {\n const [local, buttonProps] = splitProps(props, [\n \"children\",\n \"primaryItems\",\n \"primaryMenuLabel\",\n \"menuIcon\",\n \"class\",\n \"disabled\",\n \"items\",\n \"loading\",\n \"menuLabel\",\n \"menuPosition\",\n \"menuWidth\",\n \"size\",\n \"variant\",\n ]);\n const disabled = () => Boolean(local.disabled || local.loading);\n\n return (\n <Dropdown.Root\n class=\"k2b-split-button\"\n disabled={disabled()}\n items={local.items}\n label={local.menuLabel}\n position={local.menuPosition ?? \"bottom-left\"}\n width={local.menuWidth}\n >\n <Show\n when={local.primaryItems}\n fallback={\n <Button\n {...buttonProps}\n class={`k2b-split-button__primary ${local.class ?? \"\"}`}\n disabled={local.disabled}\n loading={local.loading}\n size={local.size}\n variant={local.variant ?? \"primary\"}\n >\n {local.children}\n </Button>\n }\n >\n {(items) => (\n <Dropdown.Root\n items={items()}\n disabled={disabled()}\n class=\"k2b-split-button__primary-menu\"\n position={local.menuPosition ?? \"bottom-left\"}\n width={local.menuWidth}\n >\n <Dropdown.Trigger\n wrap={buttonProps.wrap}\n disabled={disabled()}\n size={local.size}\n variant={local.variant ?? \"primary\"}\n label={local.primaryMenuLabel}\n class={`k2b-split-button__primary ${local.class ?? \"\"}`}\n >\n {local.children}\n </Dropdown.Trigger>\n </Dropdown.Root>\n )}\n </Show>\n <Dropdown.Trigger\n class=\"k2b-split-button__menu-trigger\"\n disabled={disabled()}\n iconOnly\n label={local.menuLabel}\n size={local.size}\n title={local.menuLabel}\n variant={local.variant ?? \"primary\"}\n >\n {local.menuIcon ?? <i class=\"ti ti-chevron-down\" aria-hidden=\"true\" />}\n </Dropdown.Trigger>\n </Dropdown.Root>\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["actions/SplitButton.tsx"],"sourcesContent":["import { type JSX, Show, splitProps } from \"solid-js\";\nimport { Button, type ButtonProps } from \"./Button\";\nimport { Dropdown, type DropdownItem, type DropdownPosition } from \"./Dropdown\";\n\nexport type SplitButtonProps = Omit<ButtonProps, \"align\"> & {\n /** Actions shown from the secondary menu trigger. */\n items: readonly DropdownItem[];\n /** Optional selection menu in place of the primary immediate action. */\n primaryItems?: readonly DropdownItem[];\n /** Accessible name for the primary selection menu. */\n primaryMenuLabel?: string;\n /** Secondary menu glyph; defaults to a chevron. */\n menuIcon?: JSX.Element;\n /** Accessible name and title for the icon-only menu trigger. */\n menuLabel: string;\n menuPosition?: DropdownPosition | (() => DropdownPosition);\n menuWidth?: string;\n};\n\n/** One primary button action with a separate menu of related alternatives. */\nexport function SplitButton(props: SplitButtonProps): JSX.Element {\n const [local, buttonProps] = splitProps(props, [\n \"children\",\n \"primaryItems\",\n \"primaryMenuLabel\",\n \"menuIcon\",\n \"class\",\n \"disabled\",\n \"items\",\n \"loading\",\n \"menuLabel\",\n \"menuPosition\",\n \"menuWidth\",\n \"size\",\n \"variant\",\n ]);\n const disabled = () => Boolean(local.disabled || local.loading);\n\n return (\n <Dropdown.Root\n class=\"k2b-split-button\"\n disabled={disabled()}\n items={local.items}\n label={local.menuLabel}\n position={local.menuPosition ?? \"bottom-left\"}\n width={local.menuWidth}\n >\n <Show\n when={local.primaryItems}\n fallback={\n <Button\n {...buttonProps}\n class={`k2b-split-button__primary ${local.class ?? \"\"}`}\n disabled={local.disabled}\n loading={local.loading}\n size={local.size}\n variant={local.variant ?? \"primary\"}\n >\n {local.children}\n </Button>\n }\n >\n {(items) => (\n <Dropdown.Root\n items={items()}\n disabled={disabled()}\n class=\"k2b-split-button__primary-menu\"\n position={local.menuPosition ?? \"bottom-left\"}\n width={local.menuWidth}\n >\n <Dropdown.Trigger\n wrap={buttonProps.wrap}\n disabled={disabled()}\n size={local.size}\n variant={local.variant ?? \"primary\"}\n label={local.primaryMenuLabel}\n class={`k2b-split-button__primary ${local.class ?? \"\"}`}\n >\n {local.children}\n </Dropdown.Trigger>\n </Dropdown.Root>\n )}\n </Show>\n <Dropdown.Trigger\n class=\"k2b-split-button__menu-trigger\"\n disabled={disabled()}\n iconOnly\n label={local.menuLabel}\n size={local.size}\n title={local.menuLabel}\n variant={local.variant ?? \"primary\"}\n >\n {local.menuIcon ?? <i class=\"ti ti-chevron-down\" aria-hidden=\"true\" />}\n </Dropdown.Trigger>\n </Dropdown.Root>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["prompts","resolveUiMessages","useUiMessages","openSpotlightSearch","options","resolve","promptOptions","messages","search","icon","placeholder","minQueryLength","noResultsText","spotlightNoResults","size","SpotlightButton","props","variant","label","searchLabel","shortcut","shortcutLabel","title","showsShortcut","Boolean","includes","_el$","_$getNextElement","_tmpl$","_el$2","firstChild","_el$3","nextSibling","_el$4","_el$5","_co$","_$getNextMarker","$$click","onClick","_$insert","_c$","_$memo","_el$6","_tmpl$2","_$effect","_p$","_v$","class","_v$2","_v$3","disabled","_v$4","ariaLabel","undefined","_v$5","_v$6","e","_$className","t","_$setAttribute","a","_$setProperty","o","i","n","_$runHydrationEvents","_$delegateEvents"],"sources":["actions/SpotlightSearch.tsx"],"sourcesContent":["import type { JSX } from \"solid-js\";\nimport type { PromptSearchInput, PromptSearchItem, PromptSearchOptions } from \"../feedback/prompts\";\nimport { prompts } from \"../feedback/prompts\";\nimport { resolveUiMessages, useUiMessages } from \"../intl/messages\";\n\nexport type SpotlightSearchResolver<T = unknown> = (input: PromptSearchInput) => Promise<PromptSearchItem<T>[]> | PromptSearchItem<T>[];\n\nexport type SpotlightSearchOptions<T = unknown> = PromptSearchOptions & {\n resolve: SpotlightSearchResolver<T>;\n};\n\nexport type SpotlightButtonVariant = \"default\" | \"compact\" | \"chip\" | \"sidebar\" | \"sidebar-mobile\" | \"icon\";\n\nexport type SpotlightButtonProps = {\n variant?: SpotlightButtonVariant;\n label?: string;\n title?: string;\n icon?: string;\n shortcutLabel?: string | false;\n ariaLabel?: string;\n disabled?: boolean;\n class?: string;\n onClick: () => void | Promise<void>;\n};\n\nexport const openSpotlightSearch = <T = unknown>(options: SpotlightSearchOptions<T>): Promise<PromptSearchItem<T> | undefined> => {\n const { resolve, ...promptOptions } = options;\n const messages = resolveUiMessages();\n return prompts.search(resolve, {\n icon: \"ti ti-search\",\n placeholder: messages.search,\n minQueryLength: 0,\n noResultsText: messages.spotlightNoResults,\n size: \"small\",\n ...promptOptions,\n });\n};\n\nexport function SpotlightButton(props: SpotlightButtonProps): JSX.Element {\n const messages = useUiMessages();\n const variant = () => props.variant ?? \"default\";\n const label = () => props.label ?? messages().searchLabel;\n const icon = () => props.icon ?? \"ti ti-search\";\n const shortcut = () => props.shortcutLabel;\n const title = () => props.title ?? label();\n const showsShortcut = () => Boolean(shortcut()) && [\"chip\", \"sidebar\"].includes(variant());\n\n return (\n <button\n type=\"button\"\n class={`k2b-spotlight-button ${props.class ?? \"\"}`}\n data-variant={variant()}\n disabled={props.disabled}\n aria-label={props.ariaLabel ?? ([\"compact\", \"icon\"].includes(variant()) ? label() : undefined)}\n title={title()}\n onClick={() => void props.onClick()}\n >\n <i class={icon()} aria-hidden=\"true\" />\n <span class=\"k2b-spotlight-button__label\">{label()}</span>\n {showsShortcut() && <kbd>{shortcut()}</kbd>}\n </button>\n );\n}\n\nexport default SpotlightButton;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["actions/SpotlightSearch.tsx"],"sourcesContent":["import type { JSX } from \"solid-js\";\nimport type { PromptSearchInput, PromptSearchItem, PromptSearchOptions } from \"../feedback/prompts\";\nimport { prompts } from \"../feedback/prompts\";\nimport { resolveUiMessages, useUiMessages } from \"../intl/messages\";\n\nexport type SpotlightSearchResolver<T = unknown> = (input: PromptSearchInput) => Promise<PromptSearchItem<T>[]> | PromptSearchItem<T>[];\n\nexport type SpotlightSearchOptions<T = unknown> = PromptSearchOptions & {\n resolve: SpotlightSearchResolver<T>;\n};\n\nexport type SpotlightButtonVariant = \"default\" | \"compact\" | \"chip\" | \"sidebar\" | \"sidebar-mobile\" | \"icon\";\n\nexport type SpotlightButtonProps = {\n variant?: SpotlightButtonVariant;\n label?: string;\n title?: string;\n icon?: string;\n shortcutLabel?: string | false;\n ariaLabel?: string;\n disabled?: boolean;\n class?: string;\n onClick: () => void | Promise<void>;\n};\n\nexport const openSpotlightSearch = <T extends unknown = unknown>(\n options: SpotlightSearchOptions<T>,\n): Promise<PromptSearchItem<T> | undefined> => {\n const { resolve, ...promptOptions } = options;\n const messages = resolveUiMessages();\n return prompts.search(resolve, {\n icon: \"ti ti-search\",\n placeholder: messages.search,\n minQueryLength: 0,\n noResultsText: messages.spotlightNoResults,\n size: \"small\",\n ...promptOptions,\n });\n};\n\nexport function SpotlightButton(props: SpotlightButtonProps): JSX.Element {\n const messages = useUiMessages();\n const variant = () => props.variant ?? \"default\";\n const label = () => props.label ?? messages().searchLabel;\n const icon = () => props.icon ?? \"ti ti-search\";\n const shortcut = () => props.shortcutLabel;\n const title = () => props.title ?? label();\n const showsShortcut = () => Boolean(shortcut()) && [\"chip\", \"sidebar\"].includes(variant());\n\n return (\n <button\n type=\"button\"\n class={`k2b-spotlight-button ${props.class ?? \"\"}`}\n data-variant={variant()}\n disabled={props.disabled}\n aria-label={props.ariaLabel ?? ([\"compact\", \"icon\"].includes(variant()) ? label() : undefined)}\n title={title()}\n onClick={() => void props.onClick()}\n >\n <i class={icon()} aria-hidden=\"true\" />\n <span class=\"k2b-spotlight-button__label\">{label()}</span>\n {showsShortcut() && <kbd>{shortcut()}</kbd>}\n </button>\n );\n}\n\nexport default SpotlightButton;\n"],"mappings":";;;;;;;;;;;;;AAEA,SAAS,OAAO,QAAQ,qBAAqB;AAC7C,SAAS,iBAAiB,EAAE,aAAa,QAAQ,kBAAkB;AAsBnE,OAAO,MAAM,mBAAmB,GAC9B,OAAkC,IACW;EAC7C,MAAM;IAAE,OAAO;IAAE,GAAG;EAAc,CAAC,GAAG,OAAO;EAC7C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC;EACpC,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;IAC7B,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,QAAQ,CAAC,MAAM;IAC5B,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,QAAQ,CAAC,kBAAkB;IAC1C,IAAI,EAAE,OAAO;IACb,GAAG;EACL,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,SAAS,eAAe,CAAC,KAA2B,EAAe;EACxE,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC;EAChC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,IAAI,SAAS;EAChD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,WAAW;EACzD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,IAAI,cAAc;EAC/C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,aAAa;EAC1C,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;EAC1C,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;EAE1F;IAAA;MAAA;MAAA;MAAA;MAAA;IAAA,eAQa,MAAM,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC;IAAA,gBAGQ,KAAK;IAAA;MAAA,yBAC/C,aAAa,CAAC,CAAC;MAAA,aAAf;QAAA;QAAA,gBAAyB,QAAQ;QAAA;MAAA,IAAS;IAAA;IAAA;MAAA,UATpC,wBAAwB,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE;QAAA,OACpC,OAAO,CAAC,CAAC;QAAA,OACb,KAAK,CAAC,QAAQ;QAAA,OACZ,KAAK,CAAC,SAAS,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC;QAAA,OACvF,KAAK,CAAC,CAAC;QAAA,OAGJ,IAAI,CAAC,CAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;IAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;IAAA;IAAA;IAAA;EAAA;AAKtB;AAEA,eAAe,eAAe;AAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["children","createEffect","createMemo","createUniqueId","For","Show","resolveMaybeAccessor","useUiMessages","createScrollFade","TABS_ITEM","Symbol","isTabsItem","value","kind","collectTabsItems","Array","isArray","flatMap","TabsItem","props","TabsRoot","messages","root","list","orientation","instanceId","resolvedChildren","trailing","items","options","toArray","map","item","label","icon","disabled","panel","onClose","closeLabel","buttons","closing","requestClose","option","current","active","find","activeIndex","Math","max","findIndex","enabled","index","filter","tabStopIndex","selected","removed","undefined","some","queueMicrotask","scrollIntoView","block","inline","target","length","querySelector","focus","select","onValueChange","move","delta","available","currentIndex","next","_el$","_$getNextElement","_tmpl$3","_el$2","firstChild","_el$3","_el$5","nextSibling","_el$6","_co$","_$getNextMarker","_el$8","_el$9","_co$2","_ref$","_$use","_ref$2","_$insert","_$createComponent","each","id","panelId","_el$0","_tmpl$5","_el$1","_el$11","_el$12","_co$3","_el$10","_el$14","_el$15","_co$4","$$keydown","event","key","preventDefault","previous","at","$$click","element","when","_el$16","_tmpl$6","_$effect","_$className","_el$13","_tmpl$4","_p$","_v$9","closeNamed","name","ariaLabel","_v$0","e","_$setAttribute","t","_$setProperty","_$runHydrationEvents","_v$1","_v$10","_v$11","_v$12","_v$13","a","o","i","_el$4","_tmpl$","_el$7","_tmpl$2","_v$","_v$2","_v$3","class","_v$4","_v$5","variant","_v$6","_v$7","_v$8","n","Tabs","Item","_$delegateEvents"],"sources":["actions/Tabs.tsx"],"sourcesContent":["import { children, createEffect, createMemo, createUniqueId, For, type JSX, Show } from \"solid-js\";\nimport type { MaybeAccessor } from \"../inputs/field-contract\";\nimport { resolveMaybeAccessor } from \"../inputs/field-contract\";\nimport { useUiMessages } from \"../intl/messages\";\nimport { createScrollFade } from \"../layout/scroll-fade\";\n\nexport type TabOption<T extends string = string> = {\n value: T;\n label: JSX.Element;\n icon?: string;\n disabled?: boolean;\n panel?: JSX.Element;\n onClose?: () => void;\n closeLabel?: string;\n};\n\nexport type TabsItemProps<T extends string = string> = Omit<TabOption<T>, \"panel\"> & {\n children?: JSX.Element;\n};\n\ntype TabsItemSlot<T extends string = string> = {\n readonly kind: typeof TABS_ITEM;\n readonly props: TabsItemProps<T>;\n};\n\nexport type TabsProps<T extends string = string> = {\n value: MaybeAccessor<T>;\n onValueChange: (value: T) => void;\n ariaLabel: string;\n orientation?: \"horizontal\" | \"vertical\";\n class?: string;\n variant?: \"line\" | \"pill\";\n trailing?: JSX.Element;\n /** Data-driven alternative to colocated `Tabs.Item` children. */\n options?: readonly TabOption<T>[];\n children?: JSX.Element;\n};\n\ntype TabsComponent = (<T extends string = string>(props: TabsProps<T>) => JSX.Element) & {\n Item: <T extends string = string>(props: TabsItemProps<T>) => JSX.Element;\n};\n\nconst TABS_ITEM = Symbol(\"Tabs.Item\");\n\nconst isTabsItem = <T extends string>(value: unknown): value is TabsItemSlot<T> =>\n !!value && typeof value === \"object\" && \"kind\" in value && value.kind === TABS_ITEM;\n\nconst collectTabsItems = <T extends string>(value: unknown): TabsItemSlot<T>[] => {\n if (Array.isArray(value)) return value.flatMap(collectTabsItems<T>);\n return isTabsItem<T>(value) ? [value] : [];\n};\n\nfunction TabsItem<T extends string = string>(props: TabsItemProps<T>): JSX.Element {\n return { kind: TABS_ITEM, props } satisfies TabsItemSlot<T> as unknown as JSX.Element;\n}\n\n/** Controlled, keyboard-accessible tabs with compositional or data-driven items. */\nfunction TabsRoot<T extends string = string>(props: TabsProps<T>): JSX.Element {\n const messages = useUiMessages();\n let root: HTMLDivElement | undefined;\n let list: HTMLDivElement | undefined;\n createScrollFade(\n () => list,\n () => props.orientation !== \"vertical\",\n );\n const instanceId = `k2b-tabs-${createUniqueId()}`;\n const resolvedChildren = children(() => props.children);\n const trailing = children(() => props.trailing);\n const items = createMemo<readonly TabOption<T>[]>(() => {\n if (props.options) return props.options;\n return collectTabsItems<T>(resolvedChildren.toArray()).map((item) => ({\n value: item.props.value,\n label: item.props.label,\n icon: item.props.icon,\n disabled: item.props.disabled,\n panel: item.props.children,\n onClose: item.props.onClose,\n closeLabel: item.props.closeLabel,\n }));\n });\n const buttons: HTMLButtonElement[] = [];\n let closing: T | undefined;\n const requestClose = (option: TabOption<T>) => {\n closing = option.value;\n option.onClose?.();\n };\n const current = () => resolveMaybeAccessor(props.value);\n const active = createMemo(() => items().find((option) => option.value === current()));\n const activeIndex = createMemo(() =>\n Math.max(\n 0,\n items().findIndex((option) => option.value === current()),\n ),\n );\n const enabled = () =>\n items()\n .map((option, index) => ({ option, index }))\n .filter(({ option }) => !option.disabled);\n const tabStopIndex = createMemo(() => {\n const selected = items().findIndex((option) => option.value === current() && !option.disabled);\n return selected >= 0 ? selected : (enabled()[0]?.index ?? -1);\n });\n createEffect(() => {\n const index = activeIndex();\n const removed = closing !== undefined && !items().some((item) => item.value === closing);\n if (removed) closing = undefined;\n queueMicrotask(() => {\n buttons[index]?.scrollIntoView?.({ block: \"nearest\", inline: \"nearest\" });\n if (removed) {\n const target = items().length ? buttons[index] : root?.querySelector<HTMLElement>(\".k2b-tabs__trailing button\");\n target?.focus();\n }\n });\n });\n const select = (index: number) => {\n const option = items()[index];\n if (!option || option.disabled) return;\n props.onValueChange(option.value);\n queueMicrotask(() => buttons[index]?.focus());\n };\n const move = (index: number, delta: 1 | -1) => {\n const available = enabled();\n if (available.length === 0) return;\n const currentIndex = available.findIndex((item) => item.index === index);\n const next = available[(currentIndex + delta + available.length) % available.length] ?? available[0];\n if (next) select(next.index);\n };\n\n return (\n <div\n ref={root}\n class={`k2b-tabs ${props.class ?? \"\"}`}\n data-orientation={props.orientation ?? \"horizontal\"}\n data-variant={props.variant ?? \"line\"}\n >\n <div class=\"k2b-tabs__bar\">\n <div\n ref={list}\n data-scroll-fade-mode={props.orientation !== \"vertical\" ? \"both\" : undefined}\n data-scroll-fade-axis=\"horizontal\"\n class=\"k2b-tabs__list\"\n role=\"tablist\"\n aria-label={props.ariaLabel}\n aria-orientation={props.orientation ?? \"horizontal\"}\n >\n <For each={items()}>\n {(option, index) => {\n const id = () => `${instanceId}-tab-${index()}`;\n const panelId = () => `${instanceId}-panel-${index()}`;\n return (\n <div class=\"k2b-tabs__item\" role=\"presentation\">\n <button\n ref={(element) => {\n buttons[index()] = element;\n }}\n id={id()}\n type=\"button\"\n role=\"tab\"\n aria-selected={current() === option.value}\n aria-controls={option.panel !== undefined ? panelId() : undefined}\n tabIndex={tabStopIndex() === index() ? 0 : -1}\n disabled={option.disabled}\n onClick={() => props.onValueChange(option.value)}\n onKeyDown={(event) => {\n if ((event.key === \"Delete\" || event.key === \"Backspace\") && option.onClose) {\n event.preventDefault();\n requestClose(option);\n return;\n }\n const previous = props.orientation === \"vertical\" ? \"ArrowUp\" : \"ArrowLeft\";\n const next = props.orientation === \"vertical\" ? \"ArrowDown\" : \"ArrowRight\";\n if (event.key === previous || event.key === next) {\n event.preventDefault();\n move(index(), event.key === next ? 1 : -1);\n } else if (event.key === \"Home\" || event.key === \"End\") {\n event.preventDefault();\n const available = enabled();\n const target = event.key === \"End\" ? available.at(-1) : available[0];\n if (target) select(target.index);\n }\n }}\n >\n <Show when={option.icon}>{(icon) => <i class={icon()} aria-hidden=\"true\" />}</Show>\n <span>{option.label}</span>\n </button>\n <Show when={option.onClose}>\n <button\n type=\"button\"\n class=\"k2b-tabs__close\"\n aria-label={\n option.closeLabel ??\n messages().closeNamed({ name: typeof option.label === \"string\" ? option.label : props.ariaLabel })\n }\n disabled={option.disabled}\n onClick={() => requestClose(option)}\n >\n <i class=\"ti ti-x\" aria-hidden=\"true\" />\n </button>\n </Show>\n </div>\n );\n }}\n </For>\n </div>\n <Show when={trailing()}>\n <div class=\"k2b-tabs__trailing\">{trailing()}</div>\n </Show>\n </div>\n <Show when={active()?.panel !== undefined}>\n <div\n id={`${instanceId}-panel-${activeIndex()}`}\n class=\"k2b-tabs__panel\"\n role=\"tabpanel\"\n aria-labelledby={`${instanceId}-tab-${activeIndex()}`}\n tabIndex={0}\n >\n {active()?.panel}\n </div>\n </Show>\n </div>\n );\n}\n\nexport const Tabs = TabsRoot as TabsComponent;\nTabs.Item = TabsItem;\n\nexport default Tabs;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["actions/Tabs.tsx"],"sourcesContent":["import { children, createEffect, createMemo, createUniqueId, For, type JSX, Show } from \"solid-js\";\nimport type { MaybeAccessor } from \"../inputs/field-contract\";\nimport { resolveMaybeAccessor } from \"../inputs/field-contract\";\nimport { useUiMessages } from \"../intl/messages\";\nimport { createScrollFade } from \"../layout/scroll-fade\";\n\nexport type TabOption<T extends string = string> = {\n value: T;\n label: JSX.Element;\n icon?: string;\n disabled?: boolean;\n panel?: JSX.Element;\n onClose?: () => void;\n closeLabel?: string;\n};\n\nexport type TabsItemProps<T extends string = string> = Omit<TabOption<T>, \"panel\"> & {\n children?: JSX.Element;\n};\n\ntype TabsItemSlot<T extends string = string> = {\n readonly kind: typeof TABS_ITEM;\n readonly props: TabsItemProps<T>;\n};\n\nexport type TabsProps<T extends string = string> = {\n value: MaybeAccessor<T>;\n onValueChange: (value: T) => void;\n ariaLabel: string;\n orientation?: \"horizontal\" | \"vertical\";\n class?: string;\n variant?: \"line\" | \"pill\";\n trailing?: JSX.Element;\n /** Data-driven alternative to colocated `Tabs.Item` children. */\n options?: readonly TabOption<T>[];\n children?: JSX.Element;\n};\n\ntype TabsComponent = (<T extends string = string>(props: TabsProps<T>) => JSX.Element) & {\n Item: <T extends string = string>(props: TabsItemProps<T>) => JSX.Element;\n};\n\nconst TABS_ITEM = Symbol(\"Tabs.Item\");\n\nconst isTabsItem = <T extends string>(value: unknown): value is TabsItemSlot<T> =>\n !!value && typeof value === \"object\" && \"kind\" in value && value.kind === TABS_ITEM;\n\nconst collectTabsItems = <T extends string>(value: unknown): TabsItemSlot<T>[] => {\n if (Array.isArray(value)) return value.flatMap(collectTabsItems<T>);\n return isTabsItem<T>(value) ? [value] : [];\n};\n\nfunction TabsItem<T extends string = string>(props: TabsItemProps<T>): JSX.Element {\n return { kind: TABS_ITEM, props } satisfies TabsItemSlot<T> as unknown as JSX.Element;\n}\n\n/** Controlled, keyboard-accessible tabs with compositional or data-driven items. */\nfunction TabsRoot<T extends string = string>(props: TabsProps<T>): JSX.Element {\n const messages = useUiMessages();\n let root: HTMLDivElement | undefined;\n let list: HTMLDivElement | undefined;\n createScrollFade(\n () => list,\n () => props.orientation !== \"vertical\",\n );\n const instanceId = `k2b-tabs-${createUniqueId()}`;\n const resolvedChildren = children(() => props.children);\n const trailing = children(() => props.trailing);\n const items = createMemo<readonly TabOption<T>[]>(() => {\n if (props.options) return props.options;\n return collectTabsItems<T>(resolvedChildren.toArray()).map((item) => ({\n value: item.props.value,\n label: item.props.label,\n icon: item.props.icon,\n disabled: item.props.disabled,\n panel: item.props.children,\n onClose: item.props.onClose,\n closeLabel: item.props.closeLabel,\n }));\n });\n const buttons: HTMLButtonElement[] = [];\n let closing: T | undefined;\n const requestClose = (option: TabOption<T>) => {\n closing = option.value;\n option.onClose?.();\n };\n const current = () => resolveMaybeAccessor(props.value);\n const active = createMemo(() => items().find((option) => option.value === current()));\n const activeIndex = createMemo(() =>\n Math.max(\n 0,\n items().findIndex((option) => option.value === current()),\n ),\n );\n const enabled = () =>\n items()\n .map((option, index) => ({ option, index }))\n .filter(({ option }) => !option.disabled);\n const tabStopIndex = createMemo(() => {\n const selected = items().findIndex((option) => option.value === current() && !option.disabled);\n return selected >= 0 ? selected : (enabled()[0]?.index ?? -1);\n });\n createEffect(() => {\n const index = activeIndex();\n const removed = closing !== undefined && !items().some((item) => item.value === closing);\n if (removed) closing = undefined;\n queueMicrotask(() => {\n buttons[index]?.scrollIntoView?.({ block: \"nearest\", inline: \"nearest\" });\n if (removed) {\n const target = items().length ? buttons[index] : root?.querySelector<HTMLElement>(\".k2b-tabs__trailing button\");\n target?.focus();\n }\n });\n });\n const select = (index: number) => {\n const option = items()[index];\n if (!option || option.disabled) return;\n props.onValueChange(option.value);\n queueMicrotask(() => buttons[index]?.focus());\n };\n const move = (index: number, delta: 1 | -1) => {\n const available = enabled();\n if (available.length === 0) return;\n const currentIndex = available.findIndex((item) => item.index === index);\n const next = available[(currentIndex + delta + available.length) % available.length] ?? available[0];\n if (next) select(next.index);\n };\n\n return (\n <div\n ref={root}\n class={`k2b-tabs ${props.class ?? \"\"}`}\n data-orientation={props.orientation ?? \"horizontal\"}\n data-variant={props.variant ?? \"line\"}\n >\n <div class=\"k2b-tabs__bar\">\n <div\n ref={list}\n data-scroll-fade-mode={props.orientation !== \"vertical\" ? \"both\" : undefined}\n data-scroll-fade-axis=\"horizontal\"\n class=\"k2b-tabs__list\"\n role=\"tablist\"\n aria-label={props.ariaLabel}\n aria-orientation={props.orientation ?? \"horizontal\"}\n >\n <For each={items()}>\n {(option, index) => {\n const id = () => `${instanceId}-tab-${index()}`;\n const panelId = () => `${instanceId}-panel-${index()}`;\n return (\n <div class=\"k2b-tabs__item\" role=\"presentation\">\n <button\n ref={(element) => {\n buttons[index()] = element;\n }}\n id={id()}\n type=\"button\"\n role=\"tab\"\n aria-selected={current() === option.value}\n aria-controls={option.panel !== undefined ? panelId() : undefined}\n tabIndex={tabStopIndex() === index() ? 0 : -1}\n disabled={option.disabled}\n onClick={() => props.onValueChange(option.value)}\n onKeyDown={(event) => {\n if ((event.key === \"Delete\" || event.key === \"Backspace\") && option.onClose) {\n event.preventDefault();\n requestClose(option);\n return;\n }\n const previous = props.orientation === \"vertical\" ? \"ArrowUp\" : \"ArrowLeft\";\n const next = props.orientation === \"vertical\" ? \"ArrowDown\" : \"ArrowRight\";\n if (event.key === previous || event.key === next) {\n event.preventDefault();\n move(index(), event.key === next ? 1 : -1);\n } else if (event.key === \"Home\" || event.key === \"End\") {\n event.preventDefault();\n const available = enabled();\n const target = event.key === \"End\" ? available.at(-1) : available[0];\n if (target) select(target.index);\n }\n }}\n >\n <Show when={option.icon}>{(icon) => <i class={icon()} aria-hidden=\"true\" />}</Show>\n <span>{option.label}</span>\n </button>\n <Show when={option.onClose}>\n <button\n type=\"button\"\n class=\"k2b-tabs__close\"\n aria-label={\n option.closeLabel ??\n messages().closeNamed({ name: typeof option.label === \"string\" ? option.label : props.ariaLabel })\n }\n disabled={option.disabled}\n onClick={() => requestClose(option)}\n >\n <i class=\"ti ti-x\" aria-hidden=\"true\" />\n </button>\n </Show>\n </div>\n );\n }}\n </For>\n </div>\n <Show when={trailing()}>\n <div class=\"k2b-tabs__trailing\">{trailing()}</div>\n </Show>\n </div>\n <Show when={active()?.panel !== undefined}>\n <div\n id={`${instanceId}-panel-${activeIndex()}`}\n class=\"k2b-tabs__panel\"\n role=\"tabpanel\"\n aria-labelledby={`${instanceId}-tab-${activeIndex()}`}\n tabIndex={0}\n >\n {active()?.panel}\n </div>\n </Show>\n </div>\n );\n}\n\nexport const Tabs = TabsRoot as TabsComponent;\nTabs.Item = TabsItem;\n\nexport default Tabs;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useContext","defaultToolbarOrientation","ToolbarOrientationContext","ToolbarGroup","props","_el$","_$getNextElement","_tmpl$","_$insert","children","_$effect","_p$","_v$","class","_v$2","label","e","_$className","t","_$setAttribute","undefined","ToolbarSeparator","toolbarOrientation","separatorOrientation","_el$2","_tmpl$2","_v$3","_v$4","_v$5","a","ToolbarSpacer","_tmpl$3","Toolbar","Object","assign","orientation","_$createComponent","Provider","value","_el$4","_tmpl$4","_v$6","_v$7","_v$8","_v$9","_v$0","wrap","o","i","Group","Separator","Spacer"],"sources":["actions/Toolbar.tsx"],"sourcesContent":["import { createContext, type JSX, useContext } from \"solid-js\";\n\nexport type ToolbarProps = {\n children: JSX.Element;\n label: string;\n orientation?: \"horizontal\" | \"vertical\";\n wrap?: boolean;\n class?: string;\n};\n\nexport type ToolbarGroupProps = { children: JSX.Element; label?: string; class?: string };\nexport type ToolbarSeparatorProps = { class?: string };\n\ntype ToolbarComponent = ((props: ToolbarProps) => JSX.Element) & {\n Group: (props: ToolbarGroupProps) => JSX.Element;\n Separator: (props: ToolbarSeparatorProps) => JSX.Element;\n Spacer: () => JSX.Element;\n};\n\ntype ToolbarOrientation = NonNullable<ToolbarProps[\"orientation\"]>;\n\nconst defaultToolbarOrientation: () => ToolbarOrientation = () => \"horizontal\";\nconst ToolbarOrientationContext = createContext(defaultToolbarOrientation);\n\nconst ToolbarGroup = (props: ToolbarGroupProps): JSX.Element => (\n <div class={`k2b-toolbar__group ${props.class ?? \"\"}`} role=\"group\" aria-label={props.label}>\n {props.children}\n </div>\n);\n\nconst ToolbarSeparator = (props: ToolbarSeparatorProps): JSX.Element => {\n const toolbarOrientation = useContext(ToolbarOrientationContext);\n const separatorOrientation = () => (toolbarOrientation() === \"horizontal\" ? \"vertical\" : \"horizontal\");\n\n return (\n <span\n class={`k2b-toolbar__separator ${props.class ?? \"\"}`}\n role=\"separator\"\n aria-orientation={separatorOrientation()}\n data-orientation={separatorOrientation()}\n />\n );\n};\n\nconst ToolbarSpacer = (): JSX.Element => <span class=\"k2b-toolbar__spacer\" aria-hidden=\"true\" />;\n\nexport const Toolbar = Object.assign(\n (props: ToolbarProps): JSX.Element => {\n const orientation = () => props.orientation ?? \"horizontal\";\n\n return (\n <ToolbarOrientationContext.Provider value={orientation}>\n <div\n class={`k2b-toolbar ${props.class ?? \"\"}`}\n role=\"toolbar\"\n aria-label={props.label}\n aria-orientation={orientation()}\n data-orientation={orientation()}\n data-wrap={props.wrap ? \"true\" : undefined}\n >\n {props.children}\n </div>\n </ToolbarOrientationContext.Provider>\n );\n },\n { Group: ToolbarGroup, Separator: ToolbarSeparator, Spacer: ToolbarSpacer },\n) as ToolbarComponent;\n\nexport default Toolbar;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["actions/Toolbar.tsx"],"sourcesContent":["import { createContext, type JSX, useContext } from \"solid-js\";\n\nexport type ToolbarProps = {\n children: JSX.Element;\n label: string;\n orientation?: \"horizontal\" | \"vertical\";\n wrap?: boolean;\n class?: string;\n};\n\nexport type ToolbarGroupProps = { children: JSX.Element; label?: string; class?: string };\nexport type ToolbarSeparatorProps = { class?: string };\n\ntype ToolbarComponent = ((props: ToolbarProps) => JSX.Element) & {\n Group: (props: ToolbarGroupProps) => JSX.Element;\n Separator: (props: ToolbarSeparatorProps) => JSX.Element;\n Spacer: () => JSX.Element;\n};\n\ntype ToolbarOrientation = NonNullable<ToolbarProps[\"orientation\"]>;\n\nconst defaultToolbarOrientation: () => ToolbarOrientation = () => \"horizontal\";\nconst ToolbarOrientationContext = createContext(defaultToolbarOrientation);\n\nconst ToolbarGroup = (props: ToolbarGroupProps): JSX.Element => (\n <div class={`k2b-toolbar__group ${props.class ?? \"\"}`} role=\"group\" aria-label={props.label}>\n {props.children}\n </div>\n);\n\nconst ToolbarSeparator = (props: ToolbarSeparatorProps): JSX.Element => {\n const toolbarOrientation = useContext(ToolbarOrientationContext);\n const separatorOrientation = () => (toolbarOrientation() === \"horizontal\" ? \"vertical\" : \"horizontal\");\n\n return (\n <span\n class={`k2b-toolbar__separator ${props.class ?? \"\"}`}\n role=\"separator\"\n aria-orientation={separatorOrientation()}\n data-orientation={separatorOrientation()}\n />\n );\n};\n\nconst ToolbarSpacer = (): JSX.Element => <span class=\"k2b-toolbar__spacer\" aria-hidden=\"true\" />;\n\nexport const Toolbar = Object.assign(\n (props: ToolbarProps): JSX.Element => {\n const orientation = () => props.orientation ?? \"horizontal\";\n\n return (\n <ToolbarOrientationContext.Provider value={orientation}>\n <div\n class={`k2b-toolbar ${props.class ?? \"\"}`}\n role=\"toolbar\"\n aria-label={props.label}\n aria-orientation={orientation()}\n data-orientation={orientation()}\n data-wrap={props.wrap ? \"true\" : undefined}\n >\n {props.children}\n </div>\n </ToolbarOrientationContext.Provider>\n );\n },\n { Group: ToolbarGroup, Separator: ToolbarSeparator, Spacer: ToolbarSpacer },\n) as ToolbarComponent;\n\nexport default Toolbar;\n"],"mappings":";;;;;;;;;;;AAAA,SAAS,aAAa,EAAY,UAAU,QAAQ,UAAU;AAqB9D,MAAM,yBAAmD,GAAG,MAAM,YAAY;AAC9E,MAAM,yBAAyB,GAAG,aAAa,CAAC,yBAAyB,CAAC;AAE1E,MAAM,YAAY,GAAI,KAAwB;EAAA;EAAA,qBAEzC,KAAK,CAAC,QAAQ;EAAA;IAAA,UADL,sBAAsB,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE;MAAA,OAA2B,KAAK,CAAC,KAAK;IAAA;IAAA;IAAA;EAAA;IAAA;IAAA;EAAA;EAAA;AAAA,IAG5F;AAED,MAAM,gBAAgB,GAAI,KAA4B,IAAkB;EACtE,MAAM,kBAAkB,GAAG,UAAU,CAAC,yBAAyB,CAAC;EAChE,MAAM,oBAAoB,GAAG,MAAO,kBAAkB,CAAC,CAAC,KAAK,YAAY,GAAG,UAAU,GAAG,YAAa;EAEtG;IAAA;IAAA;MAAA,WAEW,0BAA0B,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE;QAAA,OAElC,oBAAoB,CAAC,CAAC;QAAA,OACtB,oBAAoB,CAAC,CAAC;MAAA;MAAA;MAAA;MAAA;IAAA;MAAA;MAAA;MAAA;IAAA;IAAA;EAAA;AAG9C,CAAC;AAED,MAAM,aAAa,GAAG,+BAA0E;AAEhG,OAAO,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CACjC,KAAmB,IAAkB;EACpC,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,WAAW,IAAI,YAAY;EAE3D,yBACG,yBAAyB,CAAC,QAAQ;IAAC,KAAK,EAAE,WAAW;IAAA;MAAA;MAAA,sBASjD,KAAK,CAAC,QAAQ;MAAA;QAAA,WAPR,eAAe,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE;UAAA,OAE7B,KAAK,CAAC,KAAK;UAAA,OACL,WAAW,CAAC,CAAC;UAAA,OACb,WAAW,CAAC,CAAC;UAAA,OACpB,KAAK,CAAC,IAAI,GAAG,MAAM,GAAG,SAAS;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;MAAA;QAAA;QAAA;QAAA;QAAA;QAAA;MAAA;MAAA;IAAA;EAAA;AAMlD,CAAC,EACD;EAAE,KAAK,EAAE,YAAY;EAAE,SAAS,EAAE,gBAAgB;EAAE,MAAM,EAAE;AAAc,CAC5E,CAAqB;AAErB,eAAe,OAAO","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["Button","ButtonLink","IconButton","IconButtonLink","ContextMenu","CopyButton","Disclosure","Dropdown","DropdownItem","dropdownPosition","FilterChip","RemoveButton","SegmentedControl","SplitButton","openSpotlightSearch","SpotlightButton","Tabs","Toolbar"],"sources":["actions/index.ts"],"sourcesContent":["export type { ButtonLinkProps, ButtonProps, ButtonSize, ButtonVariant, IconButtonLinkProps, IconButtonProps } from \"./Button\";\nexport { Button, ButtonLink, IconButton, IconButtonLink } from \"./Button\";\nexport type { ContextMenuProps } from \"./ContextMenu\";\nexport { ContextMenu } from \"./ContextMenu\";\nexport type { CopyButtonProps, CopyButtonValue } from \"./CopyButton\";\nexport { CopyButton } from \"./CopyButton\";\nexport type { DisclosureProps } from \"./Disclosure\";\nexport { Disclosure } from \"./Disclosure\";\nexport type {\n DropdownAction,\n DropdownActionBase,\n DropdownChoice,\n DropdownItemProps,\n DropdownPosition,\n DropdownProps,\n DropdownSection,\n DropdownTriggerProps,\n} from \"./Dropdown\";\nexport { Dropdown, DropdownItem, dropdownPosition } from \"./Dropdown\";\nexport type { FilterChipOption, FilterChipProps, FilterChipSection } from \"./FilterChip\";\nexport { FilterChip } from \"./FilterChip\";\nexport type { RemoveButtonProps } from \"./RemoveButton\";\nexport { RemoveButton } from \"./RemoveButton\";\nexport type { SegmentedControlProps, SegmentOption } from \"./SegmentedControl\";\nexport { SegmentedControl } from \"./SegmentedControl\";\nexport type { SplitButtonProps } from \"./SplitButton\";\nexport { SplitButton } from \"./SplitButton\";\nexport type {\n SpotlightButtonProps,\n SpotlightButtonVariant,\n SpotlightSearchOptions,\n SpotlightSearchResolver,\n} from \"./SpotlightSearch\";\nexport {\n openSpotlightSearch,\n SpotlightButton,\n} from \"./SpotlightSearch\";\nexport type { TabOption, TabsItemProps, TabsProps } from \"./Tabs\";\nexport { Tabs } from \"./Tabs\";\nexport type { ToolbarGroupProps, ToolbarProps, ToolbarSeparatorProps } from \"./Toolbar\";\nexport { Toolbar } from \"./Toolbar\";\n"],"mappings":"AACA,SAASA,MAAM,EAAEC,UAAU,EAAEC,UAAU,EAAEC,cAAc,QAAQ,UAAU;AAEzE,SAASC,WAAW,QAAQ,eAAe;AAE3C,SAASC,UAAU,QAAQ,cAAc;AAEzC,SAASC,UAAU,QAAQ,cAAc;AAWzC,SAASC,QAAQ,EAAEC,YAAY,EAAEC,gBAAgB,QAAQ,YAAY;AAErE,SAASC,UAAU,QAAQ,cAAc;AAEzC,SAASC,YAAY,QAAQ,gBAAgB;AAE7C,SAASC,gBAAgB,QAAQ,oBAAoB;AAErD,SAASC,WAAW,QAAQ,eAAe;AAO3C,SACEC,mBAAmB,EACnBC,eAAe,QACV,mBAAmB;AAE1B,SAASC,IAAI,QAAQ,QAAQ;AAE7B,SAASC,OAAO,QAAQ,WAAW","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["actions/index.ts"],"sourcesContent":["export type { ButtonAlign, ButtonLinkProps, ButtonProps, ButtonSize, ButtonVariant, IconButtonLinkProps, IconButtonProps } from \"./Button\";\nexport { Button, ButtonLink, IconButton, IconButtonLink } from \"./Button\";\nexport type { ContextMenuProps } from \"./ContextMenu\";\nexport { ContextMenu } from \"./ContextMenu\";\nexport type { CopyButtonProps, CopyButtonValue } from \"./CopyButton\";\nexport { CopyButton } from \"./CopyButton\";\nexport type { DisclosureProps } from \"./Disclosure\";\nexport { Disclosure } from \"./Disclosure\";\nexport type {\n DropdownAction,\n DropdownActionBase,\n DropdownChoice,\n DropdownItemProps,\n DropdownPosition,\n DropdownProps,\n DropdownSection,\n DropdownTriggerProps,\n} from \"./Dropdown\";\nexport { Dropdown, DropdownItem, dropdownPosition } from \"./Dropdown\";\nexport type { FilterChipOption, FilterChipProps, FilterChipSection } from \"./FilterChip\";\nexport { FilterChip } from \"./FilterChip\";\nexport type { RemoveButtonProps } from \"./RemoveButton\";\nexport { RemoveButton } from \"./RemoveButton\";\nexport type { SegmentedControlProps, SegmentOption } from \"./SegmentedControl\";\nexport { SegmentedControl } from \"./SegmentedControl\";\nexport type { SplitButtonProps } from \"./SplitButton\";\nexport { SplitButton } from \"./SplitButton\";\nexport type {\n SpotlightButtonProps,\n SpotlightButtonVariant,\n SpotlightSearchOptions,\n SpotlightSearchResolver,\n} from \"./SpotlightSearch\";\nexport {\n openSpotlightSearch,\n SpotlightButton,\n} from \"./SpotlightSearch\";\nexport type { TabOption, TabsItemProps, TabsProps } from \"./Tabs\";\nexport { Tabs } from \"./Tabs\";\nexport type { ToolbarGroupProps, ToolbarProps, ToolbarSeparatorProps } from \"./Toolbar\";\nexport { Toolbar } from \"./Toolbar\";\n"],"mappings":"AACA,SAAS,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,QAAQ,UAAU;AAEzE,SAAS,WAAW,QAAQ,eAAe;AAE3C,SAAS,UAAU,QAAQ,cAAc;AAEzC,SAAS,UAAU,QAAQ,cAAc;AAWzC,SAAS,QAAQ,EAAE,YAAY,EAAE,gBAAgB,QAAQ,YAAY;AAErE,SAAS,UAAU,QAAQ,cAAc;AAEzC,SAAS,YAAY,QAAQ,gBAAgB;AAE7C,SAAS,gBAAgB,QAAQ,oBAAoB;AAErD,SAAS,WAAW,QAAQ,eAAe;AAO3C,SACE,mBAAmB,EACnB,eAAe,QACV,mBAAmB;AAE1B,SAAS,IAAI,QAAQ,QAAQ;AAE7B,SAAS,OAAO,QAAQ,WAAW","ignoreList":[]}