@k2b/ui 0.1.1 → 0.3.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 (386) 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/Disclosure.js +11 -8
  4. package/dist/browser/actions/Disclosure.js.map +1 -1
  5. package/dist/browser/actions/Dropdown.js +10 -4
  6. package/dist/browser/actions/Dropdown.js.map +1 -1
  7. package/dist/browser/actions/FilterChip.js +16 -2
  8. package/dist/browser/actions/FilterChip.js.map +1 -1
  9. package/dist/browser/actions/SplitButton.js +69 -22
  10. package/dist/browser/actions/SplitButton.js.map +1 -1
  11. package/dist/browser/actions/SpotlightSearch.js +3 -7
  12. package/dist/browser/actions/SpotlightSearch.js.map +1 -1
  13. package/dist/browser/actions/Tabs.js +132 -47
  14. package/dist/browser/actions/Tabs.js.map +1 -1
  15. package/dist/browser/actions/index.js +1 -1
  16. package/dist/browser/actions/index.js.map +1 -1
  17. package/dist/browser/chat/ChatComposer.js +751 -423
  18. package/dist/browser/chat/ChatComposer.js.map +1 -1
  19. package/dist/browser/chat/ChatContextPopup.js +123 -0
  20. package/dist/browser/chat/ChatContextPopup.js.map +1 -0
  21. package/dist/browser/chat/ChatPrimitives.js +143 -77
  22. package/dist/browser/chat/ChatPrimitives.js.map +1 -1
  23. package/dist/browser/chat/ChatTasks.js +112 -0
  24. package/dist/browser/chat/ChatTasks.js.map +1 -0
  25. package/dist/browser/chat/ChatTimeline.js +34 -15
  26. package/dist/browser/chat/ChatTimeline.js.map +1 -1
  27. package/dist/browser/chat/chat-behavior.js +0 -5
  28. package/dist/browser/chat/chat-behavior.js.map +1 -1
  29. package/dist/browser/chat/composer-document.js +55 -0
  30. package/dist/browser/chat/composer-document.js.map +1 -0
  31. package/dist/browser/chat/index.js +6 -1
  32. package/dist/browser/chat/index.js.map +1 -1
  33. package/dist/browser/chat/types.js.map +1 -1
  34. package/dist/browser/content/Chart.js +148 -239
  35. package/dist/browser/content/Chart.js.map +1 -1
  36. package/dist/browser/content/ChartExplorer.js +324 -0
  37. package/dist/browser/content/ChartExplorer.js.map +1 -0
  38. package/dist/browser/content/ChartExplorerControls.js +153 -0
  39. package/dist/browser/content/ChartExplorerControls.js.map +1 -0
  40. package/dist/browser/content/ChartFilterControls.js +200 -0
  41. package/dist/browser/content/ChartFilterControls.js.map +1 -0
  42. package/dist/browser/content/ChartSnapshotView.js +113 -0
  43. package/dist/browser/content/ChartSnapshotView.js.map +1 -0
  44. package/dist/browser/content/DataTable.js +48 -32
  45. package/dist/browser/content/DataTable.js.map +1 -1
  46. package/dist/browser/content/FileBrowser.js +3 -0
  47. package/dist/browser/content/FileBrowser.js.map +1 -1
  48. package/dist/browser/content/FileGrid.js +93 -0
  49. package/dist/browser/content/FileGrid.js.map +1 -0
  50. package/dist/browser/content/FileTree.js +2 -2
  51. package/dist/browser/content/FileTree.js.map +1 -1
  52. package/dist/browser/content/FileView.js +507 -162
  53. package/dist/browser/content/FileView.js.map +1 -1
  54. package/dist/browser/content/MarkdownView.js +20 -3
  55. package/dist/browser/content/MarkdownView.js.map +1 -1
  56. package/dist/browser/content/PdfPreview.js +107 -90
  57. package/dist/browser/content/PdfPreview.js.map +1 -1
  58. package/dist/browser/content/chart-cursor.js +33 -0
  59. package/dist/browser/content/chart-cursor.js.map +1 -0
  60. package/dist/browser/content/chart-explorer.js +147 -0
  61. package/dist/browser/content/chart-explorer.js.map +1 -0
  62. package/dist/browser/content/chart-inspection.js +447 -0
  63. package/dist/browser/content/chart-inspection.js.map +1 -0
  64. package/dist/browser/content/chart-line-gaps.js +53 -0
  65. package/dist/browser/content/chart-line-gaps.js.map +1 -0
  66. package/dist/browser/content/chart-map-viewport.js +5 -1
  67. package/dist/browser/content/chart-map-viewport.js.map +1 -1
  68. package/dist/browser/content/chart-snapshot.js +63 -0
  69. package/dist/browser/content/chart-snapshot.js.map +1 -0
  70. package/dist/browser/content/chart-state-timeline.js +32 -4
  71. package/dist/browser/content/chart-state-timeline.js.map +1 -1
  72. package/dist/browser/content/chart-svg.js +54 -0
  73. package/dist/browser/content/chart-svg.js.map +1 -0
  74. package/dist/browser/content/collection-selection.js +109 -0
  75. package/dist/browser/content/collection-selection.js.map +1 -0
  76. package/dist/browser/content/delimited-preferences.js +21 -0
  77. package/dist/browser/content/delimited-preferences.js.map +1 -0
  78. package/dist/browser/content/file-tree.js.map +1 -1
  79. package/dist/browser/content/file-view-preview.js +11 -7
  80. package/dist/browser/content/file-view-preview.js.map +1 -1
  81. package/dist/browser/content/index.js +9 -0
  82. package/dist/browser/content/index.js.map +1 -1
  83. package/dist/browser/feedback/InlineGuidance.js +17 -3
  84. package/dist/browser/feedback/InlineGuidance.js.map +1 -1
  85. package/dist/browser/feedback/Tooltip.js +6 -2
  86. package/dist/browser/feedback/Tooltip.js.map +1 -1
  87. package/dist/browser/feedback/dialog-core.js +102 -9
  88. package/dist/browser/feedback/dialog-core.js.map +1 -1
  89. package/dist/browser/feedback/prompts.js +6 -0
  90. package/dist/browser/feedback/prompts.js.map +1 -1
  91. package/dist/browser/feedback/toast.js +29 -6
  92. package/dist/browser/feedback/toast.js.map +1 -1
  93. package/dist/browser/feedback/tooltip-position.js +15 -0
  94. package/dist/browser/feedback/tooltip-position.js.map +1 -1
  95. package/dist/browser/inputs/ChoiceInputs.js +47 -38
  96. package/dist/browser/inputs/ChoiceInputs.js.map +1 -1
  97. package/dist/browser/inputs/SelectChip.js +3 -2
  98. package/dist/browser/inputs/SelectChip.js.map +1 -1
  99. package/dist/browser/inputs/TextInput.js +7 -1
  100. package/dist/browser/inputs/TextInput.js.map +1 -1
  101. package/dist/browser/inputs/markdown/MarkdownEditor.js +61 -37
  102. package/dist/browser/inputs/markdown/MarkdownEditor.js.map +1 -1
  103. package/dist/browser/internal/portal.js +1 -1
  104. package/dist/browser/internal/portal.js.map +1 -1
  105. package/dist/browser/intl/Format.js +89 -16
  106. package/dist/browser/intl/Format.js.map +1 -1
  107. package/dist/browser/intl/index.js.map +1 -1
  108. package/dist/browser/intl/messages.js +130 -2
  109. package/dist/browser/intl/messages.js.map +1 -1
  110. package/dist/browser/layout/AppWorkspace.js +712 -624
  111. package/dist/browser/layout/AppWorkspace.js.map +1 -1
  112. package/dist/browser/layout/BottomSheet.js +95 -0
  113. package/dist/browser/layout/BottomSheet.js.map +1 -0
  114. package/dist/browser/layout/DetailPanel.js +232 -107
  115. package/dist/browser/layout/DetailPanel.js.map +1 -1
  116. package/dist/browser/layout/Navigation.js +278 -0
  117. package/dist/browser/layout/Navigation.js.map +1 -0
  118. package/dist/browser/layout/PanelDialog.js +229 -72
  119. package/dist/browser/layout/PanelDialog.js.map +1 -1
  120. package/dist/browser/layout/ScrollArea.js +21 -1
  121. package/dist/browser/layout/ScrollArea.js.map +1 -1
  122. package/dist/browser/layout/Settings.js.map +1 -1
  123. package/dist/browser/layout/SidebarItemPreview.js +183 -0
  124. package/dist/browser/layout/SidebarItemPreview.js.map +1 -0
  125. package/dist/browser/layout/app-workspace-controller.js +3 -0
  126. package/dist/browser/layout/app-workspace-controller.js.map +1 -1
  127. package/dist/browser/layout/index.js +3 -0
  128. package/dist/browser/layout/index.js.map +1 -1
  129. package/dist/browser/layout/navigation-model.js +23 -0
  130. package/dist/browser/layout/navigation-model.js.map +1 -0
  131. package/dist/browser/layout/scroll-fade.js +100 -0
  132. package/dist/browser/layout/scroll-fade.js.map +1 -0
  133. package/dist/browser/surfaces/DescriptionList.js.map +1 -1
  134. package/dist/browser/surfaces/StatusBadge.js +2 -1
  135. package/dist/browser/surfaces/StatusBadge.js.map +1 -1
  136. package/dist/fonts/ibm-plex-mono-cyrillic-400-italic-4aded3f2f2a7d27d.woff2 +0 -0
  137. package/dist/fonts/ibm-plex-mono-cyrillic-400-normal-7635422bd10ddbbc.woff2 +0 -0
  138. package/dist/fonts/ibm-plex-mono-cyrillic-500-normal-1d89462e86cb8e87.woff2 +0 -0
  139. package/dist/fonts/ibm-plex-mono-cyrillic-600-normal-2b05a8695c7f9f4a.woff2 +0 -0
  140. package/dist/fonts/ibm-plex-mono-cyrillic-ext-400-italic-a0b3b8cbe5a516e7.woff2 +0 -0
  141. package/dist/fonts/ibm-plex-mono-cyrillic-ext-400-normal-f8c22ec1804bd696.woff2 +0 -0
  142. package/dist/fonts/ibm-plex-mono-cyrillic-ext-500-normal-3febe5c7f22e4b07.woff2 +0 -0
  143. package/dist/fonts/ibm-plex-mono-cyrillic-ext-600-normal-83109cdd4f8665b4.woff2 +0 -0
  144. package/dist/fonts/ibm-plex-mono-latin-400-italic-0840095faae86403.woff2 +0 -0
  145. package/dist/fonts/ibm-plex-mono-latin-400-normal-08949f728dc52d52.woff2 +0 -0
  146. package/dist/fonts/ibm-plex-mono-latin-500-normal-01d285447409c8a5.woff2 +0 -0
  147. package/dist/fonts/ibm-plex-mono-latin-600-normal-0d1f0b8d0722224e.woff2 +0 -0
  148. package/dist/fonts/ibm-plex-mono-latin-ext-400-italic-1b07eee6df7d26b3.woff2 +0 -0
  149. package/dist/fonts/ibm-plex-mono-latin-ext-400-normal-6bc0f226a5b7884a.woff2 +0 -0
  150. package/dist/fonts/ibm-plex-mono-latin-ext-500-normal-6bb06407c97584b0.woff2 +0 -0
  151. package/dist/fonts/ibm-plex-mono-latin-ext-600-normal-32057cf50dd14bdb.woff2 +0 -0
  152. package/dist/fonts/ibm-plex-mono-vietnamese-400-italic-a6bab38af4f9c761.woff2 +0 -0
  153. package/dist/fonts/ibm-plex-mono-vietnamese-400-normal-62632b6375305e70.woff2 +0 -0
  154. package/dist/fonts/ibm-plex-mono-vietnamese-500-normal-781633d95de88040.woff2 +0 -0
  155. package/dist/fonts/ibm-plex-mono-vietnamese-600-normal-51b74d53e106ba8a.woff2 +0 -0
  156. package/dist/fonts/ibm-plex-sans-cyrillic-400-italic-e8731a7e2b00fc4f.woff2 +0 -0
  157. package/dist/fonts/ibm-plex-sans-cyrillic-400-normal-69afad88a0740b6e.woff2 +0 -0
  158. package/dist/fonts/ibm-plex-sans-cyrillic-500-normal-200be3a2a6b1789f.woff2 +0 -0
  159. package/dist/fonts/ibm-plex-sans-cyrillic-600-normal-730becc6f005c18c.woff2 +0 -0
  160. package/dist/fonts/ibm-plex-sans-cyrillic-700-normal-40540598b4c9eb2c.woff2 +0 -0
  161. package/dist/fonts/ibm-plex-sans-cyrillic-ext-400-italic-4ffb25726a7ce4cc.woff2 +0 -0
  162. package/dist/fonts/ibm-plex-sans-cyrillic-ext-400-normal-e2580ad78906551e.woff2 +0 -0
  163. package/dist/fonts/ibm-plex-sans-cyrillic-ext-500-normal-08578d906af6d986.woff2 +0 -0
  164. package/dist/fonts/ibm-plex-sans-cyrillic-ext-600-normal-d60d3d0b182753d5.woff2 +0 -0
  165. package/dist/fonts/ibm-plex-sans-cyrillic-ext-700-normal-d07dd53642480097.woff2 +0 -0
  166. package/dist/fonts/ibm-plex-sans-greek-400-italic-1bc10b01688ba9fa.woff2 +0 -0
  167. package/dist/fonts/ibm-plex-sans-greek-400-normal-02296067bc904d2a.woff2 +0 -0
  168. package/dist/fonts/ibm-plex-sans-greek-500-normal-8cb6e20b4dbbaa5f.woff2 +0 -0
  169. package/dist/fonts/ibm-plex-sans-greek-600-normal-0a9ebd9019415ee9.woff2 +0 -0
  170. package/dist/fonts/ibm-plex-sans-greek-700-normal-c949641d10a3bebc.woff2 +0 -0
  171. package/dist/fonts/ibm-plex-sans-latin-400-italic-6de912e531b6c980.woff2 +0 -0
  172. package/dist/fonts/ibm-plex-sans-latin-400-normal-3b646991d30055a9.woff2 +0 -0
  173. package/dist/fonts/ibm-plex-sans-latin-500-normal-0717336fb31fcdcd.woff2 +0 -0
  174. package/dist/fonts/ibm-plex-sans-latin-600-normal-8960851d691c054e.woff2 +0 -0
  175. package/dist/fonts/ibm-plex-sans-latin-700-normal-42e7b0c143c19df9.woff2 +0 -0
  176. package/dist/fonts/ibm-plex-sans-latin-ext-400-italic-c5c00e8a32022dfe.woff2 +0 -0
  177. package/dist/fonts/ibm-plex-sans-latin-ext-400-normal-c93d2a12aaa280f6.woff2 +0 -0
  178. package/dist/fonts/ibm-plex-sans-latin-ext-500-normal-2846035d85100f84.woff2 +0 -0
  179. package/dist/fonts/ibm-plex-sans-latin-ext-600-normal-b25dfd4f979e442a.woff2 +0 -0
  180. package/dist/fonts/ibm-plex-sans-latin-ext-700-normal-92f0392bd74fa395.woff2 +0 -0
  181. package/dist/fonts/ibm-plex-sans-vietnamese-400-italic-675d4bace127bffb.woff2 +0 -0
  182. package/dist/fonts/ibm-plex-sans-vietnamese-400-normal-771538f7f26551bd.woff2 +0 -0
  183. package/dist/fonts/ibm-plex-sans-vietnamese-500-normal-85ba3d9c2488a813.woff2 +0 -0
  184. package/dist/fonts/ibm-plex-sans-vietnamese-600-normal-5d34b803637befe3.woff2 +0 -0
  185. package/dist/fonts/ibm-plex-sans-vietnamese-700-normal-b79d0c4b68b85007.woff2 +0 -0
  186. package/dist/plex.css +1 -1
  187. package/dist/ssr/actions/Button.js +11 -2
  188. package/dist/ssr/actions/Button.js.map +1 -1
  189. package/dist/ssr/actions/Disclosure.js +2 -2
  190. package/dist/ssr/actions/Disclosure.js.map +1 -1
  191. package/dist/ssr/actions/Dropdown.js +5 -2
  192. package/dist/ssr/actions/Dropdown.js.map +1 -1
  193. package/dist/ssr/actions/FilterChip.js +16 -2
  194. package/dist/ssr/actions/FilterChip.js.map +1 -1
  195. package/dist/ssr/actions/SplitButton.js +69 -22
  196. package/dist/ssr/actions/SplitButton.js.map +1 -1
  197. package/dist/ssr/actions/SpotlightSearch.js +3 -7
  198. package/dist/ssr/actions/SpotlightSearch.js.map +1 -1
  199. package/dist/ssr/actions/Tabs.js +58 -11
  200. package/dist/ssr/actions/Tabs.js.map +1 -1
  201. package/dist/ssr/actions/index.js +1 -1
  202. package/dist/ssr/actions/index.js.map +1 -1
  203. package/dist/ssr/chat/ChatComposer.js +366 -134
  204. package/dist/ssr/chat/ChatComposer.js.map +1 -1
  205. package/dist/ssr/chat/ChatContextPopup.js +86 -0
  206. package/dist/ssr/chat/ChatContextPopup.js.map +1 -0
  207. package/dist/ssr/chat/ChatPrimitives.js +50 -12
  208. package/dist/ssr/chat/ChatPrimitives.js.map +1 -1
  209. package/dist/ssr/chat/ChatTasks.js +48 -0
  210. package/dist/ssr/chat/ChatTasks.js.map +1 -0
  211. package/dist/ssr/chat/ChatTimeline.js +16 -4
  212. package/dist/ssr/chat/ChatTimeline.js.map +1 -1
  213. package/dist/ssr/chat/chat-behavior.js +0 -5
  214. package/dist/ssr/chat/chat-behavior.js.map +1 -1
  215. package/dist/ssr/chat/composer-document.js +55 -0
  216. package/dist/ssr/chat/composer-document.js.map +1 -0
  217. package/dist/ssr/chat/index.js +6 -1
  218. package/dist/ssr/chat/index.js.map +1 -1
  219. package/dist/ssr/chat/types.js.map +1 -1
  220. package/dist/ssr/content/Chart.js +121 -219
  221. package/dist/ssr/content/Chart.js.map +1 -1
  222. package/dist/ssr/content/ChartExplorer.js +257 -0
  223. package/dist/ssr/content/ChartExplorer.js.map +1 -0
  224. package/dist/ssr/content/ChartExplorerControls.js +105 -0
  225. package/dist/ssr/content/ChartExplorerControls.js.map +1 -0
  226. package/dist/ssr/content/ChartFilterControls.js +139 -0
  227. package/dist/ssr/content/ChartFilterControls.js.map +1 -0
  228. package/dist/ssr/content/ChartSnapshotView.js +57 -0
  229. package/dist/ssr/content/ChartSnapshotView.js.map +1 -0
  230. package/dist/ssr/content/DataTable.js +13 -9
  231. package/dist/ssr/content/DataTable.js.map +1 -1
  232. package/dist/ssr/content/FileBrowser.js +3 -0
  233. package/dist/ssr/content/FileBrowser.js.map +1 -1
  234. package/dist/ssr/content/FileGrid.js +38 -0
  235. package/dist/ssr/content/FileGrid.js.map +1 -0
  236. package/dist/ssr/content/FileTree.js +2 -2
  237. package/dist/ssr/content/FileTree.js.map +1 -1
  238. package/dist/ssr/content/FileView.js +352 -75
  239. package/dist/ssr/content/FileView.js.map +1 -1
  240. package/dist/ssr/content/MarkdownView.js +20 -3
  241. package/dist/ssr/content/MarkdownView.js.map +1 -1
  242. package/dist/ssr/content/PdfPreview.js +37 -24
  243. package/dist/ssr/content/PdfPreview.js.map +1 -1
  244. package/dist/ssr/content/chart-cursor.js +33 -0
  245. package/dist/ssr/content/chart-cursor.js.map +1 -0
  246. package/dist/ssr/content/chart-explorer.js +147 -0
  247. package/dist/ssr/content/chart-explorer.js.map +1 -0
  248. package/dist/ssr/content/chart-inspection.js +447 -0
  249. package/dist/ssr/content/chart-inspection.js.map +1 -0
  250. package/dist/ssr/content/chart-line-gaps.js +53 -0
  251. package/dist/ssr/content/chart-line-gaps.js.map +1 -0
  252. package/dist/ssr/content/chart-map-viewport.js +5 -1
  253. package/dist/ssr/content/chart-map-viewport.js.map +1 -1
  254. package/dist/ssr/content/chart-snapshot.js +63 -0
  255. package/dist/ssr/content/chart-snapshot.js.map +1 -0
  256. package/dist/ssr/content/chart-state-timeline.js +32 -4
  257. package/dist/ssr/content/chart-state-timeline.js.map +1 -1
  258. package/dist/ssr/content/chart-svg.js +54 -0
  259. package/dist/ssr/content/chart-svg.js.map +1 -0
  260. package/dist/ssr/content/collection-selection.js +109 -0
  261. package/dist/ssr/content/collection-selection.js.map +1 -0
  262. package/dist/ssr/content/delimited-preferences.js +21 -0
  263. package/dist/ssr/content/delimited-preferences.js.map +1 -0
  264. package/dist/ssr/content/file-tree.js.map +1 -1
  265. package/dist/ssr/content/file-view-preview.js +11 -7
  266. package/dist/ssr/content/file-view-preview.js.map +1 -1
  267. package/dist/ssr/content/index.js +9 -0
  268. package/dist/ssr/content/index.js.map +1 -1
  269. package/dist/ssr/feedback/InlineGuidance.js +17 -3
  270. package/dist/ssr/feedback/InlineGuidance.js.map +1 -1
  271. package/dist/ssr/feedback/Tooltip.js +6 -4
  272. package/dist/ssr/feedback/Tooltip.js.map +1 -1
  273. package/dist/ssr/feedback/dialog-core.js +102 -9
  274. package/dist/ssr/feedback/dialog-core.js.map +1 -1
  275. package/dist/ssr/feedback/prompts.js +6 -0
  276. package/dist/ssr/feedback/prompts.js.map +1 -1
  277. package/dist/ssr/feedback/toast.js +29 -6
  278. package/dist/ssr/feedback/toast.js.map +1 -1
  279. package/dist/ssr/feedback/tooltip-position.js +15 -0
  280. package/dist/ssr/feedback/tooltip-position.js.map +1 -1
  281. package/dist/ssr/inputs/ChoiceInputs.js +9 -6
  282. package/dist/ssr/inputs/ChoiceInputs.js.map +1 -1
  283. package/dist/ssr/inputs/SelectChip.js +3 -3
  284. package/dist/ssr/inputs/SelectChip.js.map +1 -1
  285. package/dist/ssr/inputs/TextInput.js.map +1 -1
  286. package/dist/ssr/inputs/markdown/MarkdownEditor.js +19 -11
  287. package/dist/ssr/inputs/markdown/MarkdownEditor.js.map +1 -1
  288. package/dist/ssr/internal/portal.js +1 -1
  289. package/dist/ssr/internal/portal.js.map +1 -1
  290. package/dist/ssr/intl/Format.js +61 -0
  291. package/dist/ssr/intl/Format.js.map +1 -1
  292. package/dist/ssr/intl/index.js.map +1 -1
  293. package/dist/ssr/intl/messages.js +130 -2
  294. package/dist/ssr/intl/messages.js.map +1 -1
  295. package/dist/ssr/layout/AppWorkspace.js +368 -275
  296. package/dist/ssr/layout/AppWorkspace.js.map +1 -1
  297. package/dist/ssr/layout/BottomSheet.js +43 -0
  298. package/dist/ssr/layout/BottomSheet.js.map +1 -0
  299. package/dist/ssr/layout/DetailPanel.js +95 -17
  300. package/dist/ssr/layout/DetailPanel.js.map +1 -1
  301. package/dist/ssr/layout/Navigation.js +181 -0
  302. package/dist/ssr/layout/Navigation.js.map +1 -0
  303. package/dist/ssr/layout/PanelDialog.js +112 -27
  304. package/dist/ssr/layout/PanelDialog.js.map +1 -1
  305. package/dist/ssr/layout/ScrollArea.js +16 -1
  306. package/dist/ssr/layout/ScrollArea.js.map +1 -1
  307. package/dist/ssr/layout/Settings.js.map +1 -1
  308. package/dist/ssr/layout/SidebarItemPreview.js +133 -0
  309. package/dist/ssr/layout/SidebarItemPreview.js.map +1 -0
  310. package/dist/ssr/layout/app-workspace-controller.js +3 -0
  311. package/dist/ssr/layout/app-workspace-controller.js.map +1 -1
  312. package/dist/ssr/layout/index.js +3 -0
  313. package/dist/ssr/layout/index.js.map +1 -1
  314. package/dist/ssr/layout/navigation-model.js +23 -0
  315. package/dist/ssr/layout/navigation-model.js.map +1 -0
  316. package/dist/ssr/layout/scroll-fade.js +100 -0
  317. package/dist/ssr/layout/scroll-fade.js.map +1 -0
  318. package/dist/ssr/surfaces/DescriptionList.js.map +1 -1
  319. package/dist/ssr/surfaces/StatusBadge.js +2 -1
  320. package/dist/ssr/surfaces/StatusBadge.js.map +1 -1
  321. package/dist/styles.css +1 -1
  322. package/dist/tabler.css +1 -1
  323. package/dist/types/actions/Button.d.ts +4 -0
  324. package/dist/types/actions/Disclosure.d.ts +1 -0
  325. package/dist/types/actions/Dropdown.d.ts +3 -1
  326. package/dist/types/actions/FilterChip.d.ts +4 -0
  327. package/dist/types/actions/SplitButton.d.ts +6 -0
  328. package/dist/types/actions/SpotlightSearch.d.ts +0 -4
  329. package/dist/types/actions/Tabs.d.ts +4 -0
  330. package/dist/types/actions/index.d.ts +1 -1
  331. package/dist/types/chat/ChatComposer.d.ts +20 -2
  332. package/dist/types/chat/ChatContextPopup.d.ts +6 -0
  333. package/dist/types/chat/ChatPrimitives.d.ts +4 -0
  334. package/dist/types/chat/ChatTasks.d.ts +15 -0
  335. package/dist/types/chat/ChatTimeline.d.ts +2 -0
  336. package/dist/types/chat/chat-behavior.d.ts +0 -3
  337. package/dist/types/chat/composer-document.d.ts +14 -0
  338. package/dist/types/chat/index.d.ts +8 -1
  339. package/dist/types/chat/types.d.ts +9 -0
  340. package/dist/types/content/Chart.d.ts +42 -23
  341. package/dist/types/content/ChartExplorer.d.ts +34 -0
  342. package/dist/types/content/ChartExplorerControls.d.ts +10 -0
  343. package/dist/types/content/ChartFilterControls.d.ts +21 -0
  344. package/dist/types/content/ChartSnapshotView.d.ts +11 -0
  345. package/dist/types/content/DataTable.d.ts +4 -0
  346. package/dist/types/content/FileBrowser.d.ts +1 -0
  347. package/dist/types/content/FileGrid.d.ts +21 -0
  348. package/dist/types/content/FileView.d.ts +20 -0
  349. package/dist/types/content/MarkdownView.d.ts +6 -1
  350. package/dist/types/content/PdfPreview.d.ts +8 -1
  351. package/dist/types/content/chart-cursor.d.ts +15 -0
  352. package/dist/types/content/chart-explorer.d.ts +48 -0
  353. package/dist/types/content/chart-inspection.d.ts +40 -0
  354. package/dist/types/content/chart-line-gaps.d.ts +5 -0
  355. package/dist/types/content/chart-map-viewport.d.ts +1 -1
  356. package/dist/types/content/chart-snapshot.d.ts +26 -0
  357. package/dist/types/content/chart-svg.d.ts +21 -0
  358. package/dist/types/content/collection-selection.d.ts +24 -0
  359. package/dist/types/content/delimited-preferences.d.ts +11 -0
  360. package/dist/types/content/file-tree.d.ts +2 -0
  361. package/dist/types/content/file-view-preview.d.ts +4 -1
  362. package/dist/types/content/index.d.ts +15 -1
  363. package/dist/types/feedback/InlineGuidance.d.ts +1 -0
  364. package/dist/types/feedback/dialog-core.d.ts +13 -0
  365. package/dist/types/feedback/prompts.d.ts +2 -0
  366. package/dist/types/feedback/toast.d.ts +7 -1
  367. package/dist/types/feedback/tooltip-position.d.ts +1 -1
  368. package/dist/types/inputs/ChoiceInputs.d.ts +3 -0
  369. package/dist/types/inputs/markdown/MarkdownEditor.d.ts +5 -1
  370. package/dist/types/intl/Format.d.ts +9 -0
  371. package/dist/types/intl/index.d.ts +1 -1
  372. package/dist/types/intl/messages.d.ts +31 -1
  373. package/dist/types/layout/AppWorkspace.d.ts +35 -18
  374. package/dist/types/layout/BottomSheet.d.ts +23 -0
  375. package/dist/types/layout/DetailPanel.d.ts +7 -0
  376. package/dist/types/layout/Navigation.d.ts +8 -0
  377. package/dist/types/layout/PanelDialog.d.ts +14 -1
  378. package/dist/types/layout/ScrollArea.d.ts +4 -0
  379. package/dist/types/layout/Settings.d.ts +1 -1
  380. package/dist/types/layout/SidebarItemPreview.d.ts +11 -0
  381. package/dist/types/layout/index.d.ts +4 -1
  382. package/dist/types/layout/navigation-model.d.ts +48 -0
  383. package/dist/types/layout/scroll-fade.d.ts +3 -0
  384. package/dist/types/surfaces/DescriptionList.d.ts +1 -1
  385. package/dist/types/surfaces/StatusBadge.d.ts +1 -1
  386. package/package.json +8 -8
@@ -0,0 +1,95 @@
1
+ import { template as _$template } from "solid-js/web";
2
+ import { delegateEvents as _$delegateEvents } from "solid-js/web";
3
+ import { memo as _$memo } from "solid-js/web";
4
+ import { createComponent as _$createComponent } from "solid-js/web";
5
+ import { setProperty as _$setProperty } from "solid-js/web";
6
+ import { setAttribute as _$setAttribute } from "solid-js/web";
7
+ import { effect as _$effect } from "solid-js/web";
8
+ import { getNextElement as _$getNextElement } from "solid-js/web";
9
+ import { runHydrationEvents as _$runHydrationEvents } from "solid-js/web";
10
+ var _tmpl$ = /*#__PURE__*/_$template(`<button type=button class=k2b-bottom-sheet__handle><span aria-hidden=true>`);
11
+ import { Show } from "solid-js";
12
+ import { useUiMessages } from "../intl/messages";
13
+ import PanelDialog from "./PanelDialog";
14
+ export const bottomSheetOptions = {
15
+ panelClassName: "k2b-dialog k2b-bottom-sheet-frame",
16
+ contentClassName: "k2b-panel-dialog-viewport k2b-bottom-sheet-viewport"
17
+ };
18
+ function BottomSheetRoot(props) {
19
+ const messages = useUiMessages();
20
+ let pointer;
21
+ let suppressClick = false;
22
+ const dismiss = () => {
23
+ if (!props.dismissDisabled) void props.onDismiss();
24
+ };
25
+ return _$createComponent(PanelDialog, {
26
+ get children() {
27
+ return [_$createComponent(Show, {
28
+ get when() {
29
+ return props.handle !== false;
30
+ },
31
+ get children() {
32
+ var _el$ = _$getNextElement(_tmpl$);
33
+ _el$.$$click = event => {
34
+ if (event.detail !== 0 && suppressClick) {
35
+ suppressClick = false;
36
+ return;
37
+ }
38
+ dismiss();
39
+ };
40
+ _el$.addEventListener("lostpointercapture", () => {
41
+ if (pointer) {
42
+ pointer = undefined;
43
+ suppressClick = true;
44
+ }
45
+ });
46
+ _el$.addEventListener("pointercancel", () => {
47
+ pointer = undefined;
48
+ suppressClick = true;
49
+ });
50
+ _el$.$$pointerup = event => {
51
+ if (pointer?.id !== event.pointerId) return;
52
+ const distance = event.clientY - pointer.y;
53
+ pointer = undefined;
54
+ // A drag must not turn into a second dismiss request through click.
55
+ suppressClick = Math.abs(distance) > 8;
56
+ if (distance > 60) dismiss();
57
+ };
58
+ _el$.$$pointerdown = event => {
59
+ if (!event.isPrimary || event.button !== 0 || props.dismissDisabled) return;
60
+ suppressClick = false;
61
+ pointer = {
62
+ id: event.pointerId,
63
+ y: event.clientY
64
+ };
65
+ event.currentTarget.setPointerCapture(event.pointerId);
66
+ };
67
+ _$effect(_p$ => {
68
+ var _v$ = props.dismissLabel ?? messages().close,
69
+ _v$2 = props.dismissDisabled;
70
+ _v$ !== _p$.e && _$setAttribute(_el$, "aria-label", _p$.e = _v$);
71
+ _v$2 !== _p$.t && _$setProperty(_el$, "disabled", _p$.t = _v$2);
72
+ return _p$;
73
+ }, {
74
+ e: undefined,
75
+ t: undefined
76
+ });
77
+ _$runHydrationEvents();
78
+ return _el$;
79
+ }
80
+ }), _$memo(() => props.children)];
81
+ }
82
+ });
83
+ }
84
+
85
+ /** Bottom-edge presentation; dialogCore continues to own all modal state. */
86
+ const BottomSheet = Object.assign(BottomSheetRoot, {
87
+ Header: PanelDialog.Header,
88
+ Body: PanelDialog.Body,
89
+ Footer: PanelDialog.Footer,
90
+ Section: PanelDialog.Section,
91
+ Tabs: PanelDialog.Tabs
92
+ });
93
+ export default BottomSheet;
94
+ _$delegateEvents(["pointerdown", "pointerup", "click"]);
95
+ //# sourceMappingURL=BottomSheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Show","useUiMessages","PanelDialog","bottomSheetOptions","panelClassName","contentClassName","BottomSheetRoot","props","messages","pointer","suppressClick","dismiss","dismissDisabled","onDismiss","_$createComponent","children","when","handle","_el$","_$getNextElement","_tmpl$","$$click","event","detail","addEventListener","undefined","$$pointerup","id","pointerId","distance","clientY","y","Math","abs","$$pointerdown","isPrimary","button","currentTarget","setPointerCapture","_$effect","_p$","_v$","dismissLabel","close","_v$2","e","_$setAttribute","t","_$setProperty","_$runHydrationEvents","_$memo","BottomSheet","Object","assign","Header","Body","Footer","Section","Tabs","_$delegateEvents"],"sources":["layout/BottomSheet.tsx"],"sourcesContent":["import { type JSX, Show } from \"solid-js\";\nimport type { OpenDialogOptions } from \"../feedback/dialog-core\";\nimport { useUiMessages } from \"../intl/messages\";\nimport PanelDialog from \"./PanelDialog\";\n\nexport const bottomSheetOptions = {\n panelClassName: \"k2b-dialog k2b-bottom-sheet-frame\",\n contentClassName: \"k2b-panel-dialog-viewport k2b-bottom-sheet-viewport\",\n} satisfies OpenDialogOptions;\n\nexport type BottomSheetProps = {\n children: JSX.Element;\n /** Pass dialogCore's render context requestDismiss, never the completion callback. */\n onDismiss: () => void | Promise<void>;\n dismissDisabled?: boolean;\n dismissLabel?: string;\n handle?: boolean;\n};\n\nfunction BottomSheetRoot(props: BottomSheetProps) {\n const messages = useUiMessages();\n let pointer: { id: number; y: number } | undefined;\n let suppressClick = false;\n const dismiss = () => {\n if (!props.dismissDisabled) void props.onDismiss();\n };\n return (\n <PanelDialog>\n <Show when={props.handle !== false}>\n <button\n type=\"button\"\n class=\"k2b-bottom-sheet__handle\"\n aria-label={props.dismissLabel ?? messages().close}\n disabled={props.dismissDisabled}\n onPointerDown={(event) => {\n if (!event.isPrimary || event.button !== 0 || props.dismissDisabled) return;\n suppressClick = false;\n pointer = { id: event.pointerId, y: event.clientY };\n event.currentTarget.setPointerCapture(event.pointerId);\n }}\n onPointerUp={(event) => {\n if (pointer?.id !== event.pointerId) return;\n const distance = event.clientY - pointer.y;\n pointer = undefined;\n // A drag must not turn into a second dismiss request through click.\n suppressClick = Math.abs(distance) > 8;\n if (distance > 60) dismiss();\n }}\n onPointerCancel={() => {\n pointer = undefined;\n suppressClick = true;\n }}\n onLostPointerCapture={() => {\n if (pointer) {\n pointer = undefined;\n suppressClick = true;\n }\n }}\n onClick={(event) => {\n if (event.detail !== 0 && suppressClick) {\n suppressClick = false;\n return;\n }\n dismiss();\n }}\n >\n <span aria-hidden=\"true\" />\n </button>\n </Show>\n {props.children}\n </PanelDialog>\n );\n}\n\n/** Bottom-edge presentation; dialogCore continues to own all modal state. */\nconst BottomSheet = Object.assign(BottomSheetRoot, {\n Header: PanelDialog.Header,\n Body: PanelDialog.Body,\n Footer: PanelDialog.Footer,\n Section: PanelDialog.Section,\n Tabs: PanelDialog.Tabs,\n});\nexport default BottomSheet;\n"],"mappings":"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","ignoreList":[]}
@@ -2,6 +2,7 @@ import { template as _$template } from "solid-js/web";
2
2
  import { setProperty as _$setProperty } from "solid-js/web";
3
3
  import { mergeProps as _$mergeProps } from "solid-js/web";
4
4
  import { setAttribute as _$setAttribute } from "solid-js/web";
5
+ import { use as _$use } from "solid-js/web";
5
6
  import { className as _$className } from "solid-js/web";
6
7
  import { effect as _$effect } from "solid-js/web";
7
8
  import { getNextMarker as _$getNextMarker } from "solid-js/web";
@@ -29,13 +30,17 @@ var _tmpl$ = /*#__PURE__*/_$template(`<div class=k2b-detail-panel__header-leadin
29
30
  _tmpl$16 = /*#__PURE__*/_$template(`<i class="ti ti-dots"aria-hidden=true>`),
30
31
  _tmpl$17 = /*#__PURE__*/_$template(`<div class=k2b-detail-panel__action-row><!$><!/><!$><!/>`),
31
32
  _tmpl$18 = /*#__PURE__*/_$template(`<span class=k2b-detail-panel__section-description>`),
32
- _tmpl$19 = /*#__PURE__*/_$template(`<span class=k2b-detail-panel__section-meta>`),
33
- _tmpl$20 = /*#__PURE__*/_$template(`<details><summary class=k2b-detail-panel__section-summary><!$><!/><span class=k2b-detail-panel__section-copy><span class=k2b-detail-panel__section-title></span><!$><!/></span><!$><!/><i class="ti ti-chevron-down"aria-hidden=true></i></summary><div class=k2b-detail-panel__section-body>`),
34
- _tmpl$21 = /*#__PURE__*/_$template(`<div class=k2b-detail-panel__section-meta>`),
35
- _tmpl$22 = /*#__PURE__*/_$template(`<div class=k2b-detail-panel__section-actions>`),
36
- _tmpl$23 = /*#__PURE__*/_$template(`<div class=k2b-detail-panel__section-body>`),
37
- _tmpl$24 = /*#__PURE__*/_$template(`<section><header class=k2b-detail-panel__section-header><!$><!/><div class=k2b-detail-panel__section-copy><h3></h3><!$><!/></div><!$><!/><!$><!/></header><!$><!/>`);
38
- import { createUniqueId, Show, splitProps } from "solid-js";
33
+ _tmpl$19 = /*#__PURE__*/_$template(`<span class=k2b-detail-panel__section-copy><span class=k2b-detail-panel__section-title></span><!$><!/>`),
34
+ _tmpl$20 = /*#__PURE__*/_$template(`<span class=k2b-detail-panel__section-meta>`),
35
+ _tmpl$21 = /*#__PURE__*/_$template(`<i class="ti ti-chevron-down"aria-hidden=true>`),
36
+ _tmpl$22 = /*#__PURE__*/_$template(`<div class=k2b-detail-panel__section-meta>`),
37
+ _tmpl$23 = /*#__PURE__*/_$template(`<i class="ti ti-chevron-up"aria-hidden=true>`),
38
+ _tmpl$24 = /*#__PURE__*/_$template(`<section><div></div><div><header class=k2b-detail-panel__section-header><!$><!/><div class=k2b-detail-panel__section-copy><h3></h3><!$><!/></div><!$><!/><!$><!/></header></div><div class=k2b-detail-panel__section-body>`),
39
+ _tmpl$25 = /*#__PURE__*/_$template(`<div class=k2b-detail-panel__section-actions>`),
40
+ _tmpl$26 = /*#__PURE__*/_$template(`<div class=k2b-detail-panel__section-body>`),
41
+ _tmpl$27 = /*#__PURE__*/_$template(`<section><header class=k2b-detail-panel__section-header><!$><!/><div class=k2b-detail-panel__section-copy><h3></h3><!$><!/></div><!$><!/><!$><!/></header><!$><!/>`);
42
+ import { createScrollFade } from "./scroll-fade";
43
+ import { children, createEffect, createSignal, createUniqueId, Show, splitProps } from "solid-js";
39
44
  import { Button, ButtonLink } from "../actions/Button";
40
45
  import { Dropdown } from "../actions/Dropdown";
41
46
  const classNames = (base, extra) => extra ? `${base} ${extra}` : base;
@@ -132,21 +137,30 @@ const DetailPanelHeader = props => (() => {
132
137
  _$effect(() => _$className(_el$, classNames("k2b-detail-panel__header", props.class)));
133
138
  return _el$;
134
139
  })();
135
- const DetailPanelBody = props => (() => {
136
- var _el$25 = _$getNextElement(_tmpl$9);
137
- _$insert(_el$25, () => props.children);
138
- _$effect(_p$ => {
139
- var _v$ = classNames("k2b-detail-panel__body", props.class),
140
- _v$2 = props.scrollPreserveKey;
141
- _v$ !== _p$.e && _$className(_el$25, _p$.e = _v$);
142
- _v$2 !== _p$.t && _$setAttribute(_el$25, "data-scroll-preserve", _p$.t = _v$2);
143
- return _p$;
144
- }, {
145
- e: undefined,
146
- t: undefined
147
- });
148
- return _el$25;
149
- })();
140
+ const DetailPanelBody = props => {
141
+ let body;
142
+ createScrollFade(() => body, () => props.scrollFade !== false);
143
+ return (() => {
144
+ var _el$25 = _$getNextElement(_tmpl$9);
145
+ var _ref$ = body;
146
+ typeof _ref$ === "function" ? _$use(_ref$, _el$25) : body = _el$25;
147
+ _$insert(_el$25, () => props.children);
148
+ _$effect(_p$ => {
149
+ var _v$ = classNames("k2b-detail-panel__body", props.class),
150
+ _v$2 = props.scrollFade !== false ? "both" : undefined,
151
+ _v$3 = props.scrollPreserveKey;
152
+ _v$ !== _p$.e && _$className(_el$25, _p$.e = _v$);
153
+ _v$2 !== _p$.t && _$setAttribute(_el$25, "data-scroll-fade-mode", _p$.t = _v$2);
154
+ _v$3 !== _p$.a && _$setAttribute(_el$25, "data-scroll-preserve", _p$.a = _v$3);
155
+ return _p$;
156
+ }, {
157
+ e: undefined,
158
+ t: undefined,
159
+ a: undefined
160
+ });
161
+ return _el$25;
162
+ })();
163
+ };
150
164
  const DetailPanelSummary = props => {
151
165
  const headingId = `k2b-detail-panel-summary-${createUniqueId()}`;
152
166
  return (() => {
@@ -178,10 +192,10 @@ const DetailPanelGroup = props => (() => {
178
192
  var _el$33 = _$getNextElement(_tmpl$10);
179
193
  _$insert(_el$33, () => props.children);
180
194
  _$effect(_p$ => {
181
- var _v$3 = classNames("k2b-detail-panel__group", props.class),
182
- _v$4 = props.label;
183
- _v$3 !== _p$.e && _$className(_el$33, _p$.e = _v$3);
184
- _v$4 !== _p$.t && _$setAttribute(_el$33, "aria-label", _p$.t = _v$4);
195
+ var _v$4 = classNames("k2b-detail-panel__group", props.class),
196
+ _v$5 = props.label;
197
+ _v$4 !== _p$.e && _$className(_el$33, _p$.e = _v$4);
198
+ _v$5 !== _p$.t && _$setAttribute(_el$33, "aria-label", _p$.t = _v$5);
185
199
  return _p$;
186
200
  }, {
187
201
  e: undefined,
@@ -197,10 +211,10 @@ const DetailPanelSectionIcon = props => _$createComponent(Show, {
197
211
  var _el$34 = _$getNextElement(_tmpl$11),
198
212
  _el$35 = _el$34.firstChild;
199
213
  _$effect(_p$ => {
200
- var _v$5 = props.tone ?? "neutral",
201
- _v$6 = icon();
202
- _v$5 !== _p$.e && _$setAttribute(_el$34, "data-tone", _p$.e = _v$5);
203
- _v$6 !== _p$.t && _$className(_el$35, _p$.t = _v$6);
214
+ var _v$6 = props.tone ?? "neutral",
215
+ _v$7 = icon();
216
+ _v$6 !== _p$.e && _$setAttribute(_el$34, "data-tone", _p$.e = _v$6);
217
+ _v$7 !== _p$.t && _$className(_el$35, _p$.t = _v$7);
204
218
  return _p$;
205
219
  }, {
206
220
  e: undefined,
@@ -334,145 +348,256 @@ const DetailPanelAction = props => {
334
348
  };
335
349
  const DetailPanelSection = props => {
336
350
  const headingId = `k2b-detail-panel-section-${createUniqueId()}`;
351
+ const bodyId = `${headingId}-body`;
352
+ const [internalOpen, setInternalOpen] = createSignal(props.defaultOpen ?? false);
353
+ const open = () => props.open ?? internalOpen();
354
+ let expand;
355
+ let collapse;
356
+ let body;
357
+ const toggle = next => {
358
+ if (props.disabled) return;
359
+ if (props.open === undefined) setInternalOpen(next);
360
+ props.onOpenChange?.(next);
361
+ };
362
+ createEffect(() => {
363
+ const expanded = open();
364
+ // Restore focus only when its current control becomes hidden, including
365
+ // a parent-controlled collapse while focus is inside an editor.
366
+ queueMicrotask(() => {
367
+ if (expanded !== open()) return;
368
+ const active = expand?.ownerDocument.activeElement;
369
+ if (expanded && active === expand) collapse?.focus();
370
+ if (!expanded && (active === collapse || active && body?.contains(active))) expand?.focus();
371
+ });
372
+ });
337
373
  const className = () => classNames("k2b-detail-panel__section", props.class);
374
+ // Resolve once: reading `props.children` twice would instantiate the section body twice.
375
+ const resolved = children(() => props.children);
338
376
  return _$createComponent(Show, {
339
377
  get when() {
340
378
  return props.collapsible;
341
379
  },
342
380
  get fallback() {
343
381
  return (() => {
344
- var _el$63 = _$getNextElement(_tmpl$24),
345
- _el$64 = _el$63.firstChild,
346
- _el$72 = _el$64.firstChild,
347
- [_el$73, _co$14] = _$getNextMarker(_el$72.nextSibling),
348
- _el$65 = _el$73.nextSibling,
349
- _el$66 = _el$65.firstChild,
350
- _el$68 = _el$66.nextSibling,
351
- [_el$69, _co$13] = _$getNextMarker(_el$68.nextSibling),
352
- _el$74 = _el$65.nextSibling,
353
- [_el$75, _co$15] = _$getNextMarker(_el$74.nextSibling),
354
- _el$76 = _el$75.nextSibling,
355
- [_el$77, _co$16] = _$getNextMarker(_el$76.nextSibling),
356
- _el$79 = _el$64.nextSibling,
357
- [_el$80, _co$17] = _$getNextMarker(_el$79.nextSibling);
358
- _$setAttribute(_el$63, "aria-labelledby", headingId);
359
- _$insert(_el$64, _$createComponent(DetailPanelSectionIcon, {
382
+ var _el$74 = _$getNextElement(_tmpl$27),
383
+ _el$75 = _el$74.firstChild,
384
+ _el$83 = _el$75.firstChild,
385
+ [_el$84, _co$16] = _$getNextMarker(_el$83.nextSibling),
386
+ _el$76 = _el$84.nextSibling,
387
+ _el$77 = _el$76.firstChild,
388
+ _el$79 = _el$77.nextSibling,
389
+ [_el$80, _co$15] = _$getNextMarker(_el$79.nextSibling),
390
+ _el$85 = _el$76.nextSibling,
391
+ [_el$86, _co$17] = _$getNextMarker(_el$85.nextSibling),
392
+ _el$87 = _el$86.nextSibling,
393
+ [_el$88, _co$18] = _$getNextMarker(_el$87.nextSibling),
394
+ _el$90 = _el$75.nextSibling,
395
+ [_el$91, _co$19] = _$getNextMarker(_el$90.nextSibling);
396
+ _$setAttribute(_el$74, "aria-labelledby", headingId);
397
+ _$insert(_el$75, _$createComponent(DetailPanelSectionIcon, {
360
398
  get icon() {
361
399
  return props.icon;
362
400
  },
363
401
  get tone() {
364
402
  return props.tone;
365
403
  }
366
- }), _el$73, _co$14);
367
- _$setAttribute(_el$66, "id", headingId);
368
- _$insert(_el$66, () => props.title);
369
- _$insert(_el$65, _$createComponent(Show, {
404
+ }), _el$84, _co$16);
405
+ _$setAttribute(_el$77, "id", headingId);
406
+ _$insert(_el$77, () => props.title);
407
+ _$insert(_el$76, _$createComponent(Show, {
370
408
  get when() {
371
409
  return props.description;
372
410
  },
373
411
  get children() {
374
- var _el$67 = _$getNextElement(_tmpl$2);
375
- _$insert(_el$67, () => props.description);
376
- return _el$67;
412
+ var _el$78 = _$getNextElement(_tmpl$2);
413
+ _$insert(_el$78, () => props.description);
414
+ return _el$78;
377
415
  }
378
- }), _el$69, _co$13);
379
- _$insert(_el$64, _$createComponent(Show, {
416
+ }), _el$80, _co$15);
417
+ _$insert(_el$75, _$createComponent(Show, {
380
418
  get when() {
381
419
  return props.meta;
382
420
  },
383
421
  get children() {
384
- var _el$70 = _$getNextElement(_tmpl$21);
385
- _$insert(_el$70, () => props.meta);
386
- return _el$70;
422
+ var _el$81 = _$getNextElement(_tmpl$22);
423
+ _$insert(_el$81, () => props.meta);
424
+ return _el$81;
387
425
  }
388
- }), _el$75, _co$15);
389
- _$insert(_el$64, _$createComponent(Show, {
426
+ }), _el$86, _co$17);
427
+ _$insert(_el$75, _$createComponent(Show, {
390
428
  get when() {
391
429
  return props.actions;
392
430
  },
393
431
  get children() {
394
- var _el$71 = _$getNextElement(_tmpl$22);
395
- _$insert(_el$71, () => props.actions);
396
- return _el$71;
432
+ var _el$82 = _$getNextElement(_tmpl$25);
433
+ _$insert(_el$82, () => props.actions);
434
+ return _el$82;
397
435
  }
398
- }), _el$77, _co$16);
399
- _$insert(_el$63, _$createComponent(Show, {
436
+ }), _el$88, _co$18);
437
+ _$insert(_el$74, _$createComponent(Show, {
400
438
  get when() {
401
- return props.children !== undefined;
439
+ return resolved();
402
440
  },
403
441
  get children() {
404
- var _el$78 = _$getNextElement(_tmpl$23);
405
- _$insert(_el$78, () => props.children);
406
- return _el$78;
442
+ var _el$89 = _$getNextElement(_tmpl$26);
443
+ _$insert(_el$89, resolved);
444
+ return _el$89;
407
445
  }
408
- }), _el$80, _co$17);
409
- _$effect(() => _$className(_el$63, className()));
410
- return _el$63;
446
+ }), _el$91, _co$19);
447
+ _$effect(() => _$className(_el$74, className()));
448
+ return _el$74;
411
449
  })();
412
450
  },
413
451
  get children() {
414
- var _el$49 = _$getNextElement(_tmpl$20),
452
+ var _el$49 = _$getNextElement(_tmpl$24),
415
453
  _el$50 = _el$49.firstChild,
416
- _el$58 = _el$50.firstChild,
417
- [_el$59, _co$11] = _$getNextMarker(_el$58.nextSibling),
418
- _el$51 = _el$59.nextSibling,
419
- _el$52 = _el$51.firstChild,
420
- _el$54 = _el$52.nextSibling,
421
- [_el$55, _co$10] = _$getNextMarker(_el$54.nextSibling),
422
- _el$60 = _el$51.nextSibling,
423
- [_el$61, _co$12] = _$getNextMarker(_el$60.nextSibling),
424
- _el$57 = _el$61.nextSibling,
425
- _el$62 = _el$50.nextSibling;
426
- _$insert(_el$50, _$createComponent(DetailPanelSectionIcon, {
454
+ _el$58 = _el$50.nextSibling,
455
+ _el$59 = _el$58.firstChild,
456
+ _el$67 = _el$59.firstChild,
457
+ [_el$68, _co$12] = _$getNextMarker(_el$67.nextSibling),
458
+ _el$60 = _el$68.nextSibling,
459
+ _el$61 = _el$60.firstChild,
460
+ _el$63 = _el$61.nextSibling,
461
+ [_el$64, _co$11] = _$getNextMarker(_el$63.nextSibling),
462
+ _el$69 = _el$60.nextSibling,
463
+ [_el$70, _co$13] = _$getNextMarker(_el$69.nextSibling),
464
+ _el$71 = _el$70.nextSibling,
465
+ [_el$72, _co$14] = _$getNextMarker(_el$71.nextSibling),
466
+ _el$73 = _el$58.nextSibling;
467
+ _$insert(_el$50, _$createComponent(Button, {
468
+ ref(r$) {
469
+ var _ref$2 = expand;
470
+ typeof _ref$2 === "function" ? _ref$2(r$) : expand = r$;
471
+ },
472
+ variant: "ghost",
473
+ "class": "k2b-detail-panel__section-summary",
474
+ get disabled() {
475
+ return props.disabled;
476
+ },
477
+ "aria-expanded": false,
478
+ "aria-controls": bodyId,
479
+ onClick: () => toggle(true),
480
+ get children() {
481
+ return [_$createComponent(DetailPanelSectionIcon, {
482
+ get icon() {
483
+ return props.icon;
484
+ },
485
+ get tone() {
486
+ return props.tone;
487
+ }
488
+ }), (() => {
489
+ var _el$51 = _$getNextElement(_tmpl$19),
490
+ _el$52 = _el$51.firstChild,
491
+ _el$54 = _el$52.nextSibling,
492
+ [_el$55, _co$10] = _$getNextMarker(_el$54.nextSibling);
493
+ _$setAttribute(_el$52, "id", `${headingId}-closed`);
494
+ _$insert(_el$52, () => props.title);
495
+ _$insert(_el$51, _$createComponent(Show, {
496
+ get when() {
497
+ return props.description;
498
+ },
499
+ get children() {
500
+ var _el$53 = _$getNextElement(_tmpl$18);
501
+ _$insert(_el$53, () => props.description);
502
+ return _el$53;
503
+ }
504
+ }), _el$55, _co$10);
505
+ return _el$51;
506
+ })(), _$createComponent(Show, {
507
+ get when() {
508
+ return props.meta;
509
+ },
510
+ get children() {
511
+ var _el$56 = _$getNextElement(_tmpl$20);
512
+ _$insert(_el$56, () => props.meta);
513
+ return _el$56;
514
+ }
515
+ }), _$getNextElement(_tmpl$21)];
516
+ }
517
+ }));
518
+ _$insert(_el$59, _$createComponent(DetailPanelSectionIcon, {
427
519
  get icon() {
428
520
  return props.icon;
429
521
  },
430
522
  get tone() {
431
523
  return props.tone;
432
524
  }
433
- }), _el$59, _co$11);
434
- _$setAttribute(_el$52, "id", headingId);
435
- _$insert(_el$52, () => props.title);
436
- _$insert(_el$51, _$createComponent(Show, {
525
+ }), _el$68, _co$12);
526
+ _$setAttribute(_el$61, "id", headingId);
527
+ _$insert(_el$61, () => props.title);
528
+ _$insert(_el$60, _$createComponent(Show, {
437
529
  get when() {
438
530
  return props.description;
439
531
  },
440
532
  get children() {
441
- var _el$53 = _$getNextElement(_tmpl$18);
442
- _$insert(_el$53, () => props.description);
443
- return _el$53;
533
+ var _el$62 = _$getNextElement(_tmpl$2);
534
+ _$insert(_el$62, () => props.description);
535
+ return _el$62;
444
536
  }
445
- }), _el$55, _co$10);
446
- _$insert(_el$50, _$createComponent(Show, {
537
+ }), _el$64, _co$11);
538
+ _$insert(_el$59, _$createComponent(Show, {
447
539
  get when() {
448
540
  return props.meta;
449
541
  },
450
542
  get children() {
451
- var _el$56 = _$getNextElement(_tmpl$19);
452
- _$insert(_el$56, () => props.meta);
453
- return _el$56;
543
+ var _el$65 = _$getNextElement(_tmpl$22);
544
+ _$insert(_el$65, () => props.meta);
545
+ return _el$65;
546
+ }
547
+ }), _el$70, _co$13);
548
+ _$insert(_el$59, _$createComponent(Button, {
549
+ ref(r$) {
550
+ var _ref$3 = collapse;
551
+ typeof _ref$3 === "function" ? _ref$3(r$) : collapse = r$;
552
+ },
553
+ variant: "ghost",
554
+ size: "sm",
555
+ get disabled() {
556
+ return props.disabled;
557
+ },
558
+ "aria-labelledby": headingId,
559
+ "aria-expanded": true,
560
+ "aria-controls": bodyId,
561
+ onClick: () => toggle(false),
562
+ get children() {
563
+ return _$getNextElement(_tmpl$23);
454
564
  }
455
- }), _el$61, _co$12);
456
- _$insert(_el$62, () => props.children);
565
+ }), _el$72, _co$14);
566
+ var _ref$4 = body;
567
+ typeof _ref$4 === "function" ? _$use(_ref$4, _el$73) : body = _el$73;
568
+ _$setAttribute(_el$73, "id", bodyId);
569
+ _$insert(_el$73, () => props.children);
457
570
  _$effect(_p$ => {
458
- var _v$7 = className(),
459
- _v$8 = props.defaultOpen;
460
- _v$7 !== _p$.e && _$className(_el$49, _p$.e = _v$7);
461
- _v$8 !== _p$.t && _$setProperty(_el$49, "open", _p$.t = _v$8);
571
+ var _v$8 = className(),
572
+ _v$9 = open() ? headingId : `${headingId}-closed`,
573
+ _v$0 = open(),
574
+ _v$1 = open(),
575
+ _v$10 = !open(),
576
+ _v$11 = !open();
577
+ _v$8 !== _p$.e && _$className(_el$49, _p$.e = _v$8);
578
+ _v$9 !== _p$.t && _$setAttribute(_el$49, "aria-labelledby", _p$.t = _v$9);
579
+ _v$0 !== _p$.a && _$setAttribute(_el$49, "data-open", _p$.a = _v$0);
580
+ _v$1 !== _p$.o && _$setProperty(_el$50, "hidden", _p$.o = _v$1);
581
+ _v$10 !== _p$.i && _$setProperty(_el$58, "hidden", _p$.i = _v$10);
582
+ _v$11 !== _p$.n && _$setProperty(_el$73, "hidden", _p$.n = _v$11);
462
583
  return _p$;
463
584
  }, {
464
585
  e: undefined,
465
- t: undefined
586
+ t: undefined,
587
+ a: undefined,
588
+ o: undefined,
589
+ i: undefined,
590
+ n: undefined
466
591
  });
467
592
  return _el$49;
468
593
  }
469
594
  });
470
595
  };
471
596
  const DetailPanel = props => (() => {
472
- var _el$81 = _$getNextElement(_tmpl$9);
473
- _$insert(_el$81, () => props.children);
474
- _$effect(() => _$className(_el$81, classNames("k2b-detail-panel", props.class)));
475
- return _el$81;
597
+ var _el$92 = _$getNextElement(_tmpl$9);
598
+ _$insert(_el$92, () => props.children);
599
+ _$effect(() => _$className(_el$92, classNames("k2b-detail-panel", props.class)));
600
+ return _el$92;
476
601
  })();
477
602
  DetailPanel.Header = DetailPanelHeader;
478
603
  DetailPanel.Body = DetailPanelBody;