@k2b/ui 0.20.0 → 0.22.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 (595) hide show
  1. package/dist/browser/actions/Button.js +20 -31
  2. package/dist/browser/actions/Button.js.map +1 -1
  3. package/dist/browser/actions/ContextMenu.js +10 -4
  4. package/dist/browser/actions/ContextMenu.js.map +1 -1
  5. package/dist/browser/actions/CopyButton.js +10 -8
  6. package/dist/browser/actions/CopyButton.js.map +1 -1
  7. package/dist/browser/actions/FilterChip.js +3 -1
  8. package/dist/browser/actions/FilterChip.js.map +1 -1
  9. package/dist/browser/actions/GestureMenu.js +4 -0
  10. package/dist/browser/actions/GestureMenu.js.map +1 -1
  11. package/dist/browser/actions/SpotlightSearch.js +3 -1
  12. package/dist/browser/actions/SpotlightSearch.js.map +1 -1
  13. package/dist/browser/actions/filter-messages.js +20 -0
  14. package/dist/browser/actions/filter-messages.js.map +1 -0
  15. package/dist/browser/actions/spotlight-messages.js +16 -0
  16. package/dist/browser/actions/spotlight-messages.js.map +1 -0
  17. package/dist/browser/chat/ChatComposer.js +47 -41
  18. package/dist/browser/chat/ChatComposer.js.map +1 -1
  19. package/dist/browser/chat/ChatPrimitives.js +25 -23
  20. package/dist/browser/chat/ChatPrimitives.js.map +1 -1
  21. package/dist/browser/chat/ChatRoot.js +3 -3
  22. package/dist/browser/chat/ChatRoot.js.map +1 -1
  23. package/dist/browser/chat/ChatTimeline.js +12 -12
  24. package/dist/browser/chat/ChatTimeline.js.map +1 -1
  25. package/dist/browser/chat/chat-messages.js +236 -0
  26. package/dist/browser/chat/chat-messages.js.map +1 -0
  27. package/dist/browser/content/Calendar.js +1960 -575
  28. package/dist/browser/content/Calendar.js.map +1 -1
  29. package/dist/browser/content/Chart.js +15 -8
  30. package/dist/browser/content/Chart.js.map +1 -1
  31. package/dist/browser/content/ChartExplorer.js +20 -12
  32. package/dist/browser/content/ChartExplorer.js.map +1 -1
  33. package/dist/browser/content/ChartExplorerControls.js +9 -7
  34. package/dist/browser/content/ChartExplorerControls.js.map +1 -1
  35. package/dist/browser/content/ChartFilterControls.js +4 -2
  36. package/dist/browser/content/ChartFilterControls.js.map +1 -1
  37. package/dist/browser/content/ChartSnapshotView.js +3 -3
  38. package/dist/browser/content/ChartSnapshotView.js.map +1 -1
  39. package/dist/browser/content/DataTable.js +68 -59
  40. package/dist/browser/content/DataTable.js.map +1 -1
  41. package/dist/browser/content/Docs.js +3 -1
  42. package/dist/browser/content/Docs.js.map +1 -1
  43. package/dist/browser/content/FileBrowser.js +30 -26
  44. package/dist/browser/content/FileBrowser.js.map +1 -1
  45. package/dist/browser/content/FileTree.js +9 -7
  46. package/dist/browser/content/FileTree.js.map +1 -1
  47. package/dist/browser/content/FileView.js +37 -28
  48. package/dist/browser/content/FileView.js.map +1 -1
  49. package/dist/browser/content/Lightbox.js +9 -7
  50. package/dist/browser/content/Lightbox.js.map +1 -1
  51. package/dist/browser/content/LogEntriesTable.js +3 -3
  52. package/dist/browser/content/LogEntriesTable.js.map +1 -1
  53. package/dist/browser/content/MessageRow.js +24 -22
  54. package/dist/browser/content/MessageRow.js.map +1 -1
  55. package/dist/browser/content/Pagination.js +7 -7
  56. package/dist/browser/content/Pagination.js.map +1 -1
  57. package/dist/browser/content/PdfPreview.js +15 -13
  58. package/dist/browser/content/PdfPreview.js.map +1 -1
  59. package/dist/browser/content/RangePicker.js +3 -1
  60. package/dist/browser/content/RangePicker.js.map +1 -1
  61. package/dist/browser/content/StructuredDataPreview.js +3 -1
  62. package/dist/browser/content/StructuredDataPreview.js.map +1 -1
  63. package/dist/browser/content/Timeline.js +13 -11
  64. package/dist/browser/content/Timeline.js.map +1 -1
  65. package/dist/browser/content/VideoPlayer.js +5 -5
  66. package/dist/browser/content/VideoPlayer.js.map +1 -1
  67. package/dist/browser/content/VirtualFeed.js +6 -4
  68. package/dist/browser/content/VirtualFeed.js.map +1 -1
  69. package/dist/browser/content/ZoomPanViewport.js +10 -7
  70. package/dist/browser/content/ZoomPanViewport.js.map +1 -1
  71. package/dist/browser/content/calendar-messages.js +121 -0
  72. package/dist/browser/content/calendar-messages.js.map +1 -0
  73. package/dist/browser/content/calendar-month-layout.js +108 -0
  74. package/dist/browser/content/calendar-month-layout.js.map +1 -0
  75. package/dist/browser/content/calendar-pointer.js +4 -3
  76. package/dist/browser/content/calendar-pointer.js.map +1 -1
  77. package/dist/browser/content/chart-messages.js +136 -0
  78. package/dist/browser/content/chart-messages.js.map +1 -0
  79. package/dist/browser/content/collection-selection.js +2 -0
  80. package/dist/browser/content/collection-selection.js.map +1 -1
  81. package/dist/browser/content/data-table-messages.js +24 -0
  82. package/dist/browser/content/data-table-messages.js.map +1 -0
  83. package/dist/browser/content/docs-messages.js +24 -0
  84. package/dist/browser/content/docs-messages.js.map +1 -0
  85. package/dist/browser/content/feed-messages.js +34 -0
  86. package/dist/browser/content/feed-messages.js.map +1 -0
  87. package/dist/browser/content/file-browser-messages.js +69 -0
  88. package/dist/browser/content/file-browser-messages.js.map +1 -0
  89. package/dist/browser/content/file-view-messages.js +64 -0
  90. package/dist/browser/content/file-view-messages.js.map +1 -0
  91. package/dist/browser/content/index.js.map +1 -1
  92. package/dist/browser/content/lightbox-messages.js +36 -0
  93. package/dist/browser/content/lightbox-messages.js.map +1 -0
  94. package/dist/browser/content/log-entries-messages.js +20 -0
  95. package/dist/browser/content/log-entries-messages.js.map +1 -0
  96. package/dist/browser/content/markdown-info-block-messages.js +24 -0
  97. package/dist/browser/content/markdown-info-block-messages.js.map +1 -0
  98. package/dist/browser/content/markdown-info-blocks.js +3 -3
  99. package/dist/browser/content/markdown-info-blocks.js.map +1 -1
  100. package/dist/browser/content/markdown-links.js +2 -2
  101. package/dist/browser/content/markdown-links.js.map +1 -1
  102. package/dist/browser/content/markdown-reference-messages.js +30 -0
  103. package/dist/browser/content/markdown-reference-messages.js.map +1 -0
  104. package/dist/browser/content/pagination-messages.js +38 -0
  105. package/dist/browser/content/pagination-messages.js.map +1 -0
  106. package/dist/browser/content/pdf-messages.js +43 -0
  107. package/dist/browser/content/pdf-messages.js.map +1 -0
  108. package/dist/browser/content/range-picker-messages.js +20 -0
  109. package/dist/browser/content/range-picker-messages.js.map +1 -0
  110. package/dist/browser/content/structured-data-messages.js +22 -0
  111. package/dist/browser/content/structured-data-messages.js.map +1 -0
  112. package/dist/browser/content/timeline-messages.js +62 -0
  113. package/dist/browser/content/timeline-messages.js.map +1 -0
  114. package/dist/browser/content/video-messages.js +24 -0
  115. package/dist/browser/content/video-messages.js.map +1 -0
  116. package/dist/browser/content/viewport-messages.js +28 -0
  117. package/dist/browser/content/viewport-messages.js.map +1 -0
  118. package/dist/browser/feedback/HoverPreview.js +34 -6
  119. package/dist/browser/feedback/HoverPreview.js.map +1 -1
  120. package/dist/browser/feedback/InstallGuide.js +18 -18
  121. package/dist/browser/feedback/InstallGuide.js.map +1 -1
  122. package/dist/browser/feedback/install-messages.js +104 -0
  123. package/dist/browser/feedback/install-messages.js.map +1 -0
  124. package/dist/browser/feedback/prompt-messages.js +65 -0
  125. package/dist/browser/feedback/prompt-messages.js.map +1 -0
  126. package/dist/browser/feedback/prompts.js +14 -11
  127. package/dist/browser/feedback/prompts.js.map +1 -1
  128. package/dist/browser/feedback/toast-messages.js +18 -0
  129. package/dist/browser/feedback/toast-messages.js.map +1 -0
  130. package/dist/browser/feedback/toast.js +4 -3
  131. package/dist/browser/feedback/toast.js.map +1 -1
  132. package/dist/browser/index.js +1 -1
  133. package/dist/browser/index.js.map +1 -1
  134. package/dist/browser/inputs/AutocompleteEditor.js +6 -4
  135. package/dist/browser/inputs/AutocompleteEditor.js.map +1 -1
  136. package/dist/browser/inputs/AutocompleteSelect.js +10 -8
  137. package/dist/browser/inputs/AutocompleteSelect.js.map +1 -1
  138. package/dist/browser/inputs/ChoiceGroups.js +4 -0
  139. package/dist/browser/inputs/ChoiceGroups.js.map +1 -1
  140. package/dist/browser/inputs/ChoiceInputs.js +5 -5
  141. package/dist/browser/inputs/ChoiceInputs.js.map +1 -1
  142. package/dist/browser/inputs/Combobox.js +3 -1
  143. package/dist/browser/inputs/Combobox.js.map +1 -1
  144. package/dist/browser/inputs/DatePicker.js +46 -10
  145. package/dist/browser/inputs/DatePicker.js.map +1 -1
  146. package/dist/browser/inputs/FileDropTarget.js +6 -6
  147. package/dist/browser/inputs/FileDropTarget.js.map +1 -1
  148. package/dist/browser/inputs/FileInputs.js +30 -21
  149. package/dist/browser/inputs/FileInputs.js.map +1 -1
  150. package/dist/browser/inputs/MultiSelectInput.js +7 -5
  151. package/dist/browser/inputs/MultiSelectInput.js.map +1 -1
  152. package/dist/browser/inputs/NumberInput.js +4 -2
  153. package/dist/browser/inputs/NumberInput.js.map +1 -1
  154. package/dist/browser/inputs/QrScanner.js +5 -5
  155. package/dist/browser/inputs/QrScanner.js.map +1 -1
  156. package/dist/browser/inputs/Select.js +7 -5
  157. package/dist/browser/inputs/Select.js.map +1 -1
  158. package/dist/browser/inputs/SelectChip.js +3 -3
  159. package/dist/browser/inputs/SelectChip.js.map +1 -1
  160. package/dist/browser/inputs/SignatureInput.js +9 -3
  161. package/dist/browser/inputs/SignatureInput.js.map +1 -1
  162. package/dist/browser/inputs/SpecialInputs.js +4 -2
  163. package/dist/browser/inputs/SpecialInputs.js.map +1 -1
  164. package/dist/browser/inputs/TagEditor.js +8 -6
  165. package/dist/browser/inputs/TagEditor.js.map +1 -1
  166. package/dist/browser/inputs/TagsInput.js +5 -5
  167. package/dist/browser/inputs/TagsInput.js.map +1 -1
  168. package/dist/browser/inputs/TemplateEditor.js +5 -5
  169. package/dist/browser/inputs/TemplateEditor.js.map +1 -1
  170. package/dist/browser/inputs/TextInput.js +3 -1
  171. package/dist/browser/inputs/TextInput.js.map +1 -1
  172. package/dist/browser/inputs/completion-messages.js +24 -0
  173. package/dist/browser/inputs/completion-messages.js.map +1 -0
  174. package/dist/browser/inputs/date-picker.js +24 -0
  175. package/dist/browser/inputs/date-picker.js.map +1 -1
  176. package/dist/browser/inputs/file-drop-messages.js +63 -0
  177. package/dist/browser/inputs/file-drop-messages.js.map +1 -0
  178. package/dist/browser/inputs/file-drop.js.map +1 -1
  179. package/dist/browser/inputs/file-input-messages.js +60 -0
  180. package/dist/browser/inputs/file-input-messages.js.map +1 -0
  181. package/dist/browser/inputs/icon-messages.js +22 -0
  182. package/dist/browser/inputs/icon-messages.js.map +1 -0
  183. package/dist/browser/inputs/input-messages.js +38 -0
  184. package/dist/browser/inputs/input-messages.js.map +1 -0
  185. package/dist/browser/inputs/markdown/MarkdownEditor.js +10 -6
  186. package/dist/browser/inputs/markdown/MarkdownEditor.js.map +1 -1
  187. package/dist/browser/inputs/markdown/Toolbar.js +13 -13
  188. package/dist/browser/inputs/markdown/Toolbar.js.map +1 -1
  189. package/dist/browser/inputs/markdown/editor-messages.js +43 -0
  190. package/dist/browser/inputs/markdown/editor-messages.js.map +1 -0
  191. package/dist/browser/inputs/markdown/toolbar-messages.js +40 -0
  192. package/dist/browser/inputs/markdown/toolbar-messages.js.map +1 -0
  193. package/dist/browser/inputs/qr-messages.js +26 -0
  194. package/dist/browser/inputs/qr-messages.js.map +1 -0
  195. package/dist/browser/inputs/select-messages.js +63 -0
  196. package/dist/browser/inputs/select-messages.js.map +1 -0
  197. package/dist/browser/inputs/tag-messages.js +44 -0
  198. package/dist/browser/inputs/tag-messages.js.map +1 -0
  199. package/dist/browser/inputs/template-messages.js +22 -0
  200. package/dist/browser/inputs/template-messages.js.map +1 -0
  201. package/dist/browser/internal/render-error-messages.js +20 -0
  202. package/dist/browser/internal/render-error-messages.js.map +1 -0
  203. package/dist/browser/internal/render-error.js +3 -1
  204. package/dist/browser/internal/render-error.js.map +1 -1
  205. package/dist/browser/internal/text-selection.js +101 -0
  206. package/dist/browser/internal/text-selection.js.map +1 -0
  207. package/dist/browser/intl/messages.js +12 -1155
  208. package/dist/browser/intl/messages.js.map +1 -1
  209. package/dist/browser/layout/AppWorkspace.js +561 -418
  210. package/dist/browser/layout/AppWorkspace.js.map +1 -1
  211. package/dist/browser/layout/BottomSheet.js +6 -1
  212. package/dist/browser/layout/BottomSheet.js.map +1 -1
  213. package/dist/browser/layout/Discussion.js +8 -5
  214. package/dist/browser/layout/Discussion.js.map +1 -1
  215. package/dist/browser/layout/FloatingWindow.js +8 -5
  216. package/dist/browser/layout/FloatingWindow.js.map +1 -1
  217. package/dist/browser/layout/Navigation.js +7 -6
  218. package/dist/browser/layout/Navigation.js.map +1 -1
  219. package/dist/browser/layout/PageTitle.js +370 -0
  220. package/dist/browser/layout/PageTitle.js.map +1 -0
  221. package/dist/browser/layout/PanelDialog.js +8 -6
  222. package/dist/browser/layout/PanelDialog.js.map +1 -1
  223. package/dist/browser/layout/Panes.js +23 -15
  224. package/dist/browser/layout/Panes.js.map +1 -1
  225. package/dist/browser/layout/PullToRefresh.js +13 -4
  226. package/dist/browser/layout/PullToRefresh.js.map +1 -1
  227. package/dist/browser/layout/Settings.js +14 -12
  228. package/dist/browser/layout/Settings.js.map +1 -1
  229. package/dist/browser/layout/SettingsCollection.js +6 -5
  230. package/dist/browser/layout/SettingsCollection.js.map +1 -1
  231. package/dist/browser/layout/SettingsModal.js +3 -1
  232. package/dist/browser/layout/SettingsModal.js.map +1 -1
  233. package/dist/browser/layout/app-workspace-controller.js +743 -12
  234. package/dist/browser/layout/app-workspace-controller.js.map +1 -1
  235. package/dist/browser/layout/app-workspace-state.js +3 -2
  236. package/dist/browser/layout/app-workspace-state.js.map +1 -1
  237. package/dist/browser/layout/floating-window-messages.js +28 -0
  238. package/dist/browser/layout/floating-window-messages.js.map +1 -0
  239. package/dist/browser/layout/index.js +2 -0
  240. package/dist/browser/layout/index.js.map +1 -1
  241. package/dist/browser/layout/navigation-model.js.map +1 -1
  242. package/dist/browser/layout/page-title-controller.js +169 -0
  243. package/dist/browser/layout/page-title-controller.js.map +1 -0
  244. package/dist/browser/layout/panel-dialog-messages.js +20 -0
  245. package/dist/browser/layout/panel-dialog-messages.js.map +1 -0
  246. package/dist/browser/layout/panes-messages.js +48 -0
  247. package/dist/browser/layout/panes-messages.js.map +1 -0
  248. package/dist/browser/layout/refresh-messages.js +20 -0
  249. package/dist/browser/layout/refresh-messages.js.map +1 -0
  250. package/dist/browser/layout/settings-messages.js +54 -0
  251. package/dist/browser/layout/settings-messages.js.map +1 -0
  252. package/dist/browser/layout/workspace-messages.js +56 -0
  253. package/dist/browser/layout/workspace-messages.js.map +1 -0
  254. package/dist/browser/surfaces/Avatar.js +5 -5
  255. package/dist/browser/surfaces/Avatar.js.map +1 -1
  256. package/dist/browser/surfaces/ResourceCard.js +4 -2
  257. package/dist/browser/surfaces/ResourceCard.js.map +1 -1
  258. package/dist/browser/surfaces/Tag.js +3 -3
  259. package/dist/browser/surfaces/Tag.js.map +1 -1
  260. package/dist/browser/surfaces/avatar-messages.js +26 -0
  261. package/dist/browser/surfaces/avatar-messages.js.map +1 -0
  262. package/dist/browser/surfaces/resource-messages.js +26 -0
  263. package/dist/browser/surfaces/resource-messages.js.map +1 -0
  264. package/dist/browser/widgets/Widget.js +6 -0
  265. package/dist/browser/widgets/Widget.js.map +1 -1
  266. package/dist/ssr/actions/Button.js +21 -32
  267. package/dist/ssr/actions/Button.js.map +1 -1
  268. package/dist/ssr/actions/ContextMenu.js +7 -3
  269. package/dist/ssr/actions/ContextMenu.js.map +1 -1
  270. package/dist/ssr/actions/CopyButton.js +9 -7
  271. package/dist/ssr/actions/CopyButton.js.map +1 -1
  272. package/dist/ssr/actions/FilterChip.js +3 -1
  273. package/dist/ssr/actions/FilterChip.js.map +1 -1
  274. package/dist/ssr/actions/GestureMenu.js +4 -0
  275. package/dist/ssr/actions/GestureMenu.js.map +1 -1
  276. package/dist/ssr/actions/SpotlightSearch.js +3 -1
  277. package/dist/ssr/actions/SpotlightSearch.js.map +1 -1
  278. package/dist/ssr/actions/filter-messages.js +20 -0
  279. package/dist/ssr/actions/filter-messages.js.map +1 -0
  280. package/dist/ssr/actions/spotlight-messages.js +16 -0
  281. package/dist/ssr/actions/spotlight-messages.js.map +1 -0
  282. package/dist/ssr/chat/ChatComposer.js +47 -41
  283. package/dist/ssr/chat/ChatComposer.js.map +1 -1
  284. package/dist/ssr/chat/ChatPrimitives.js +23 -21
  285. package/dist/ssr/chat/ChatPrimitives.js.map +1 -1
  286. package/dist/ssr/chat/ChatRoot.js +3 -3
  287. package/dist/ssr/chat/ChatRoot.js.map +1 -1
  288. package/dist/ssr/chat/ChatTimeline.js +11 -11
  289. package/dist/ssr/chat/ChatTimeline.js.map +1 -1
  290. package/dist/ssr/chat/chat-messages.js +236 -0
  291. package/dist/ssr/chat/chat-messages.js.map +1 -0
  292. package/dist/ssr/content/Calendar.js +1232 -115
  293. package/dist/ssr/content/Calendar.js.map +1 -1
  294. package/dist/ssr/content/Chart.js +12 -5
  295. package/dist/ssr/content/Chart.js.map +1 -1
  296. package/dist/ssr/content/ChartExplorer.js +10 -8
  297. package/dist/ssr/content/ChartExplorer.js.map +1 -1
  298. package/dist/ssr/content/ChartExplorerControls.js +9 -7
  299. package/dist/ssr/content/ChartExplorerControls.js.map +1 -1
  300. package/dist/ssr/content/ChartFilterControls.js +4 -2
  301. package/dist/ssr/content/ChartFilterControls.js.map +1 -1
  302. package/dist/ssr/content/ChartSnapshotView.js +3 -3
  303. package/dist/ssr/content/ChartSnapshotView.js.map +1 -1
  304. package/dist/ssr/content/DataTable.js +10 -4
  305. package/dist/ssr/content/DataTable.js.map +1 -1
  306. package/dist/ssr/content/Docs.js +3 -1
  307. package/dist/ssr/content/Docs.js.map +1 -1
  308. package/dist/ssr/content/FileBrowser.js +30 -26
  309. package/dist/ssr/content/FileBrowser.js.map +1 -1
  310. package/dist/ssr/content/FileTree.js +9 -7
  311. package/dist/ssr/content/FileTree.js.map +1 -1
  312. package/dist/ssr/content/FileView.js +37 -28
  313. package/dist/ssr/content/FileView.js.map +1 -1
  314. package/dist/ssr/content/Lightbox.js +8 -6
  315. package/dist/ssr/content/Lightbox.js.map +1 -1
  316. package/dist/ssr/content/LogEntriesTable.js +3 -3
  317. package/dist/ssr/content/LogEntriesTable.js.map +1 -1
  318. package/dist/ssr/content/MessageRow.js +24 -22
  319. package/dist/ssr/content/MessageRow.js.map +1 -1
  320. package/dist/ssr/content/Pagination.js +6 -6
  321. package/dist/ssr/content/Pagination.js.map +1 -1
  322. package/dist/ssr/content/PdfPreview.js +15 -13
  323. package/dist/ssr/content/PdfPreview.js.map +1 -1
  324. package/dist/ssr/content/RangePicker.js +3 -1
  325. package/dist/ssr/content/RangePicker.js.map +1 -1
  326. package/dist/ssr/content/StructuredDataPreview.js +3 -1
  327. package/dist/ssr/content/StructuredDataPreview.js.map +1 -1
  328. package/dist/ssr/content/Timeline.js +13 -11
  329. package/dist/ssr/content/Timeline.js.map +1 -1
  330. package/dist/ssr/content/VideoPlayer.js +5 -5
  331. package/dist/ssr/content/VideoPlayer.js.map +1 -1
  332. package/dist/ssr/content/VirtualFeed.js +6 -4
  333. package/dist/ssr/content/VirtualFeed.js.map +1 -1
  334. package/dist/ssr/content/ZoomPanViewport.js +7 -4
  335. package/dist/ssr/content/ZoomPanViewport.js.map +1 -1
  336. package/dist/ssr/content/calendar-messages.js +121 -0
  337. package/dist/ssr/content/calendar-messages.js.map +1 -0
  338. package/dist/ssr/content/calendar-month-layout.js +108 -0
  339. package/dist/ssr/content/calendar-month-layout.js.map +1 -0
  340. package/dist/ssr/content/calendar-pointer.js +4 -3
  341. package/dist/ssr/content/calendar-pointer.js.map +1 -1
  342. package/dist/ssr/content/chart-messages.js +136 -0
  343. package/dist/ssr/content/chart-messages.js.map +1 -0
  344. package/dist/ssr/content/collection-selection.js +2 -0
  345. package/dist/ssr/content/collection-selection.js.map +1 -1
  346. package/dist/ssr/content/data-table-messages.js +24 -0
  347. package/dist/ssr/content/data-table-messages.js.map +1 -0
  348. package/dist/ssr/content/docs-messages.js +24 -0
  349. package/dist/ssr/content/docs-messages.js.map +1 -0
  350. package/dist/ssr/content/feed-messages.js +34 -0
  351. package/dist/ssr/content/feed-messages.js.map +1 -0
  352. package/dist/ssr/content/file-browser-messages.js +69 -0
  353. package/dist/ssr/content/file-browser-messages.js.map +1 -0
  354. package/dist/ssr/content/file-view-messages.js +64 -0
  355. package/dist/ssr/content/file-view-messages.js.map +1 -0
  356. package/dist/ssr/content/index.js.map +1 -1
  357. package/dist/ssr/content/lightbox-messages.js +36 -0
  358. package/dist/ssr/content/lightbox-messages.js.map +1 -0
  359. package/dist/ssr/content/log-entries-messages.js +20 -0
  360. package/dist/ssr/content/log-entries-messages.js.map +1 -0
  361. package/dist/ssr/content/markdown-info-block-messages.js +24 -0
  362. package/dist/ssr/content/markdown-info-block-messages.js.map +1 -0
  363. package/dist/ssr/content/markdown-info-blocks.js +3 -3
  364. package/dist/ssr/content/markdown-info-blocks.js.map +1 -1
  365. package/dist/ssr/content/markdown-links.js +2 -2
  366. package/dist/ssr/content/markdown-links.js.map +1 -1
  367. package/dist/ssr/content/markdown-reference-messages.js +30 -0
  368. package/dist/ssr/content/markdown-reference-messages.js.map +1 -0
  369. package/dist/ssr/content/pagination-messages.js +38 -0
  370. package/dist/ssr/content/pagination-messages.js.map +1 -0
  371. package/dist/ssr/content/pdf-messages.js +43 -0
  372. package/dist/ssr/content/pdf-messages.js.map +1 -0
  373. package/dist/ssr/content/range-picker-messages.js +20 -0
  374. package/dist/ssr/content/range-picker-messages.js.map +1 -0
  375. package/dist/ssr/content/structured-data-messages.js +22 -0
  376. package/dist/ssr/content/structured-data-messages.js.map +1 -0
  377. package/dist/ssr/content/timeline-messages.js +62 -0
  378. package/dist/ssr/content/timeline-messages.js.map +1 -0
  379. package/dist/ssr/content/video-messages.js +24 -0
  380. package/dist/ssr/content/video-messages.js.map +1 -0
  381. package/dist/ssr/content/viewport-messages.js +28 -0
  382. package/dist/ssr/content/viewport-messages.js.map +1 -0
  383. package/dist/ssr/feedback/HoverPreview.js +34 -6
  384. package/dist/ssr/feedback/HoverPreview.js.map +1 -1
  385. package/dist/ssr/feedback/InstallGuide.js +18 -18
  386. package/dist/ssr/feedback/InstallGuide.js.map +1 -1
  387. package/dist/ssr/feedback/install-messages.js +104 -0
  388. package/dist/ssr/feedback/install-messages.js.map +1 -0
  389. package/dist/ssr/feedback/prompt-messages.js +65 -0
  390. package/dist/ssr/feedback/prompt-messages.js.map +1 -0
  391. package/dist/ssr/feedback/prompts.js +14 -11
  392. package/dist/ssr/feedback/prompts.js.map +1 -1
  393. package/dist/ssr/feedback/toast-messages.js +18 -0
  394. package/dist/ssr/feedback/toast-messages.js.map +1 -0
  395. package/dist/ssr/feedback/toast.js +4 -3
  396. package/dist/ssr/feedback/toast.js.map +1 -1
  397. package/dist/ssr/index.js +1 -1
  398. package/dist/ssr/index.js.map +1 -1
  399. package/dist/ssr/inputs/AutocompleteEditor.js +5 -3
  400. package/dist/ssr/inputs/AutocompleteEditor.js.map +1 -1
  401. package/dist/ssr/inputs/AutocompleteSelect.js +10 -8
  402. package/dist/ssr/inputs/AutocompleteSelect.js.map +1 -1
  403. package/dist/ssr/inputs/ChoiceGroups.js +4 -0
  404. package/dist/ssr/inputs/ChoiceGroups.js.map +1 -1
  405. package/dist/ssr/inputs/ChoiceInputs.js +5 -5
  406. package/dist/ssr/inputs/ChoiceInputs.js.map +1 -1
  407. package/dist/ssr/inputs/Combobox.js +3 -1
  408. package/dist/ssr/inputs/Combobox.js.map +1 -1
  409. package/dist/ssr/inputs/DatePicker.js +34 -4
  410. package/dist/ssr/inputs/DatePicker.js.map +1 -1
  411. package/dist/ssr/inputs/FileDropTarget.js +6 -6
  412. package/dist/ssr/inputs/FileDropTarget.js.map +1 -1
  413. package/dist/ssr/inputs/FileInputs.js +29 -20
  414. package/dist/ssr/inputs/FileInputs.js.map +1 -1
  415. package/dist/ssr/inputs/MultiSelectInput.js +7 -5
  416. package/dist/ssr/inputs/MultiSelectInput.js.map +1 -1
  417. package/dist/ssr/inputs/NumberInput.js +4 -2
  418. package/dist/ssr/inputs/NumberInput.js.map +1 -1
  419. package/dist/ssr/inputs/QrScanner.js +4 -4
  420. package/dist/ssr/inputs/QrScanner.js.map +1 -1
  421. package/dist/ssr/inputs/Select.js +7 -5
  422. package/dist/ssr/inputs/Select.js.map +1 -1
  423. package/dist/ssr/inputs/SelectChip.js +3 -3
  424. package/dist/ssr/inputs/SelectChip.js.map +1 -1
  425. package/dist/ssr/inputs/SignatureInput.js +9 -3
  426. package/dist/ssr/inputs/SignatureInput.js.map +1 -1
  427. package/dist/ssr/inputs/SpecialInputs.js +4 -2
  428. package/dist/ssr/inputs/SpecialInputs.js.map +1 -1
  429. package/dist/ssr/inputs/TagEditor.js +8 -6
  430. package/dist/ssr/inputs/TagEditor.js.map +1 -1
  431. package/dist/ssr/inputs/TagsInput.js +5 -5
  432. package/dist/ssr/inputs/TagsInput.js.map +1 -1
  433. package/dist/ssr/inputs/TemplateEditor.js +5 -5
  434. package/dist/ssr/inputs/TemplateEditor.js.map +1 -1
  435. package/dist/ssr/inputs/TextInput.js +3 -1
  436. package/dist/ssr/inputs/TextInput.js.map +1 -1
  437. package/dist/ssr/inputs/completion-messages.js +24 -0
  438. package/dist/ssr/inputs/completion-messages.js.map +1 -0
  439. package/dist/ssr/inputs/date-picker.js +24 -0
  440. package/dist/ssr/inputs/date-picker.js.map +1 -1
  441. package/dist/ssr/inputs/file-drop-messages.js +63 -0
  442. package/dist/ssr/inputs/file-drop-messages.js.map +1 -0
  443. package/dist/ssr/inputs/file-drop.js.map +1 -1
  444. package/dist/ssr/inputs/file-input-messages.js +60 -0
  445. package/dist/ssr/inputs/file-input-messages.js.map +1 -0
  446. package/dist/ssr/inputs/icon-messages.js +22 -0
  447. package/dist/ssr/inputs/icon-messages.js.map +1 -0
  448. package/dist/ssr/inputs/input-messages.js +38 -0
  449. package/dist/ssr/inputs/input-messages.js.map +1 -0
  450. package/dist/ssr/inputs/markdown/MarkdownEditor.js +9 -5
  451. package/dist/ssr/inputs/markdown/MarkdownEditor.js.map +1 -1
  452. package/dist/ssr/inputs/markdown/Toolbar.js +13 -13
  453. package/dist/ssr/inputs/markdown/Toolbar.js.map +1 -1
  454. package/dist/ssr/inputs/markdown/editor-messages.js +43 -0
  455. package/dist/ssr/inputs/markdown/editor-messages.js.map +1 -0
  456. package/dist/ssr/inputs/markdown/toolbar-messages.js +40 -0
  457. package/dist/ssr/inputs/markdown/toolbar-messages.js.map +1 -0
  458. package/dist/ssr/inputs/qr-messages.js +26 -0
  459. package/dist/ssr/inputs/qr-messages.js.map +1 -0
  460. package/dist/ssr/inputs/select-messages.js +63 -0
  461. package/dist/ssr/inputs/select-messages.js.map +1 -0
  462. package/dist/ssr/inputs/tag-messages.js +44 -0
  463. package/dist/ssr/inputs/tag-messages.js.map +1 -0
  464. package/dist/ssr/inputs/template-messages.js +22 -0
  465. package/dist/ssr/inputs/template-messages.js.map +1 -0
  466. package/dist/ssr/internal/render-error-messages.js +20 -0
  467. package/dist/ssr/internal/render-error-messages.js.map +1 -0
  468. package/dist/ssr/internal/render-error.js +3 -1
  469. package/dist/ssr/internal/render-error.js.map +1 -1
  470. package/dist/ssr/internal/text-selection.js +101 -0
  471. package/dist/ssr/internal/text-selection.js.map +1 -0
  472. package/dist/ssr/intl/messages.js +12 -1155
  473. package/dist/ssr/intl/messages.js.map +1 -1
  474. package/dist/ssr/layout/AppWorkspace.js +203 -96
  475. package/dist/ssr/layout/AppWorkspace.js.map +1 -1
  476. package/dist/ssr/layout/BottomSheet.js +1 -0
  477. package/dist/ssr/layout/BottomSheet.js.map +1 -1
  478. package/dist/ssr/layout/Discussion.js +8 -5
  479. package/dist/ssr/layout/Discussion.js.map +1 -1
  480. package/dist/ssr/layout/FloatingWindow.js +8 -5
  481. package/dist/ssr/layout/FloatingWindow.js.map +1 -1
  482. package/dist/ssr/layout/Navigation.js +6 -5
  483. package/dist/ssr/layout/Navigation.js.map +1 -1
  484. package/dist/ssr/layout/PageTitle.js +253 -0
  485. package/dist/ssr/layout/PageTitle.js.map +1 -0
  486. package/dist/ssr/layout/PanelDialog.js +8 -6
  487. package/dist/ssr/layout/PanelDialog.js.map +1 -1
  488. package/dist/ssr/layout/Panes.js +22 -14
  489. package/dist/ssr/layout/Panes.js.map +1 -1
  490. package/dist/ssr/layout/PullToRefresh.js +13 -4
  491. package/dist/ssr/layout/PullToRefresh.js.map +1 -1
  492. package/dist/ssr/layout/Settings.js +14 -12
  493. package/dist/ssr/layout/Settings.js.map +1 -1
  494. package/dist/ssr/layout/SettingsCollection.js +6 -5
  495. package/dist/ssr/layout/SettingsCollection.js.map +1 -1
  496. package/dist/ssr/layout/SettingsModal.js +3 -1
  497. package/dist/ssr/layout/SettingsModal.js.map +1 -1
  498. package/dist/ssr/layout/app-workspace-controller.js +743 -12
  499. package/dist/ssr/layout/app-workspace-controller.js.map +1 -1
  500. package/dist/ssr/layout/app-workspace-state.js +3 -2
  501. package/dist/ssr/layout/app-workspace-state.js.map +1 -1
  502. package/dist/ssr/layout/floating-window-messages.js +28 -0
  503. package/dist/ssr/layout/floating-window-messages.js.map +1 -0
  504. package/dist/ssr/layout/index.js +2 -0
  505. package/dist/ssr/layout/index.js.map +1 -1
  506. package/dist/ssr/layout/navigation-model.js.map +1 -1
  507. package/dist/ssr/layout/page-title-controller.js +169 -0
  508. package/dist/ssr/layout/page-title-controller.js.map +1 -0
  509. package/dist/ssr/layout/panel-dialog-messages.js +20 -0
  510. package/dist/ssr/layout/panel-dialog-messages.js.map +1 -0
  511. package/dist/ssr/layout/panes-messages.js +48 -0
  512. package/dist/ssr/layout/panes-messages.js.map +1 -0
  513. package/dist/ssr/layout/refresh-messages.js +20 -0
  514. package/dist/ssr/layout/refresh-messages.js.map +1 -0
  515. package/dist/ssr/layout/settings-messages.js +54 -0
  516. package/dist/ssr/layout/settings-messages.js.map +1 -0
  517. package/dist/ssr/layout/workspace-messages.js +56 -0
  518. package/dist/ssr/layout/workspace-messages.js.map +1 -0
  519. package/dist/ssr/surfaces/Avatar.js +5 -5
  520. package/dist/ssr/surfaces/Avatar.js.map +1 -1
  521. package/dist/ssr/surfaces/ResourceCard.js +4 -2
  522. package/dist/ssr/surfaces/ResourceCard.js.map +1 -1
  523. package/dist/ssr/surfaces/Tag.js +3 -3
  524. package/dist/ssr/surfaces/Tag.js.map +1 -1
  525. package/dist/ssr/surfaces/avatar-messages.js +26 -0
  526. package/dist/ssr/surfaces/avatar-messages.js.map +1 -0
  527. package/dist/ssr/surfaces/resource-messages.js +26 -0
  528. package/dist/ssr/surfaces/resource-messages.js.map +1 -0
  529. package/dist/ssr/widgets/Widget.js +6 -0
  530. package/dist/ssr/widgets/Widget.js.map +1 -1
  531. package/dist/styles.css +1 -1
  532. package/dist/types/actions/GestureMenu.d.ts +2 -0
  533. package/dist/types/actions/filter-messages.d.ts +8 -0
  534. package/dist/types/actions/spotlight-messages.d.ts +8 -0
  535. package/dist/types/chat/chat-messages.d.ts +116 -0
  536. package/dist/types/content/Calendar.d.ts +32 -0
  537. package/dist/types/content/DataTable.d.ts +2 -0
  538. package/dist/types/content/FileView.d.ts +0 -10
  539. package/dist/types/content/calendar-messages.d.ts +60 -0
  540. package/dist/types/content/calendar-month-layout.d.ts +52 -0
  541. package/dist/types/content/chart-messages.d.ts +32 -0
  542. package/dist/types/content/data-table-messages.d.ts +10 -0
  543. package/dist/types/content/docs-messages.d.ts +10 -0
  544. package/dist/types/content/feed-messages.d.ts +15 -0
  545. package/dist/types/content/file-browser-messages.d.ts +33 -0
  546. package/dist/types/content/file-view-messages.d.ts +30 -0
  547. package/dist/types/content/index.d.ts +1 -1
  548. package/dist/types/content/lightbox-messages.d.ts +16 -0
  549. package/dist/types/content/log-entries-messages.d.ts +8 -0
  550. package/dist/types/content/markdown-info-block-messages.d.ts +12 -0
  551. package/dist/types/content/markdown-reference-messages.d.ts +15 -0
  552. package/dist/types/content/pagination-messages.d.ts +17 -0
  553. package/dist/types/content/pdf-messages.d.ts +20 -0
  554. package/dist/types/content/range-picker-messages.d.ts +8 -0
  555. package/dist/types/content/structured-data-messages.d.ts +9 -0
  556. package/dist/types/content/timeline-messages.d.ts +29 -0
  557. package/dist/types/content/video-messages.d.ts +10 -0
  558. package/dist/types/content/viewport-messages.d.ts +12 -0
  559. package/dist/types/feedback/install-messages.d.ts +50 -0
  560. package/dist/types/feedback/prompt-messages.d.ts +31 -0
  561. package/dist/types/feedback/toast-messages.d.ts +9 -0
  562. package/dist/types/index.d.ts +1 -0
  563. package/dist/types/inputs/completion-messages.d.ts +10 -0
  564. package/dist/types/inputs/date-picker.d.ts +7 -0
  565. package/dist/types/inputs/file-drop-messages.d.ts +30 -0
  566. package/dist/types/inputs/file-drop.d.ts +3 -3
  567. package/dist/types/inputs/file-input-messages.d.ts +28 -0
  568. package/dist/types/inputs/icon-messages.d.ts +9 -0
  569. package/dist/types/inputs/input-messages.d.ts +17 -0
  570. package/dist/types/inputs/markdown/editor-messages.d.ts +20 -0
  571. package/dist/types/inputs/markdown/toolbar-messages.d.ts +18 -0
  572. package/dist/types/inputs/qr-messages.d.ts +11 -0
  573. package/dist/types/inputs/select-messages.d.ts +30 -0
  574. package/dist/types/inputs/tag-messages.d.ts +20 -0
  575. package/dist/types/inputs/template-messages.d.ts +9 -0
  576. package/dist/types/internal/render-error-messages.d.ts +8 -0
  577. package/dist/types/internal/text-selection.d.ts +18 -0
  578. package/dist/types/intl/messages.d.ts +6 -544
  579. package/dist/types/layout/AppWorkspace.d.ts +19 -4
  580. package/dist/types/layout/PageTitle.d.ts +64 -0
  581. package/dist/types/layout/app-workspace-controller.d.ts +4 -0
  582. package/dist/types/layout/app-workspace-state.d.ts +3 -2
  583. package/dist/types/layout/floating-window-messages.d.ts +12 -0
  584. package/dist/types/layout/index.d.ts +3 -0
  585. package/dist/types/layout/navigation-model.d.ts +7 -0
  586. package/dist/types/layout/page-title-controller.d.ts +13 -0
  587. package/dist/types/layout/panel-dialog-messages.d.ts +8 -0
  588. package/dist/types/layout/panes-messages.d.ts +22 -0
  589. package/dist/types/layout/refresh-messages.d.ts +8 -0
  590. package/dist/types/layout/settings-messages.d.ts +25 -0
  591. package/dist/types/layout/workspace-messages.d.ts +26 -0
  592. package/dist/types/surfaces/avatar-messages.d.ts +11 -0
  593. package/dist/types/surfaces/resource-messages.d.ts +11 -0
  594. package/dist/types/widgets/Widget.d.ts +5 -1
  595. package/package.json +1 -1
@@ -10,51 +10,60 @@ import { escape as _$escape } from "solid-js/web";
10
10
  var _tmpl$ = ["<button type=\"button\" class=\"k2b-app-workspace__resize\" role=\"separator\"", " style=\"", "\"><span aria-hidden=\"true\"></span></button>"],
11
11
  _tmpl$2 = ["<div class=\"k2b-app-workspace__main-primary\" data-workspace-main-region=\"main\"", ">", "</div>"],
12
12
  _tmpl$3 = ["<section", " class=\"", "\"", " style=\"", "\">", "</section>"],
13
- _tmpl$4 = ["<aside", " class=\"", "\"", "", " style=\"", "\">", "</aside>"],
14
- _tmpl$5 = ["<div class=\"k2b-app-workspace__sidebar-desktop\">", "</div>"],
15
- _tmpl$6 = ["<aside", " class=\"", "\"", "", ">", "</aside>"],
16
- _tmpl$7 = ["<script>", "</script>"],
17
- _tmpl$8 = ["<span aria-hidden=\"true\"><i", "></i></span>"],
18
- _tmpl$9 = ["<span class=\"k2b-app-workspace__sidebar-section-count\">", "</span>"],
19
- _tmpl$0 = ["<button type=\"button\" class=\"k2b-app-workspace__sidebar-section-toggle\"", ">", "<i", " aria-hidden=\"true\"></i></button>"],
20
- _tmpl$1 = ["<div class=\"k2b-app-workspace__sidebar-section-actions\">", "</div>"],
21
- _tmpl$10 = ["<header class=\"k2b-app-workspace__sidebar-section-header\">", "", "</header>"],
22
- _tmpl$11 = ["<div", "", " class=\"k2b-app-workspace__sidebar-section-content\">", "</div>"],
23
- _tmpl$12 = ["<h2>", "</h2>"],
24
- _tmpl$13 = ["<div class=\"k2b-app-workspace__sidebar-item-actions\"", ">", "</div>"],
25
- _tmpl$14 = "<span class=\"k2b-app-workspace__sidebar-status-mention\" aria-hidden=\"true\">@</span>",
26
- _tmpl$15 = "<span class=\"k2b-app-workspace__sidebar-status-muted\" aria-hidden=\"true\"><i class=\"ti ti-bell-off\"></i></span>",
27
- _tmpl$16 = ["<span class=\"k2b-app-workspace__sidebar-status-count\"", ">", "</span>"],
28
- _tmpl$17 = ["<span class=\"k2b-app-workspace__sidebar-status\"", ">", "", "<span class=\"k2b-app-workspace__sidebar-status-unread\" aria-hidden=\"true\">", "</span><span class=\"k2b-sr-only\">, ", "</span></span>"],
29
- _tmpl$18 = "<span class=\"k2b-app-workspace__sidebar-status-dot\"></span>",
30
- _tmpl$19 = ["<span class=\"k2b-app-workspace__sidebar-item-icon\" aria-hidden=\"true\">", "</span>"],
31
- _tmpl$20 = ["<span class=\"k2b-app-workspace__sidebar-item-context-meta\">", "</span>"],
32
- _tmpl$21 = ["<span class=\"k2b-app-workspace__sidebar-item-context\"><span class=\"k2b-app-workspace__sidebar-item-context-label\">", "</span>", "</span>"],
33
- _tmpl$22 = ["<span class=\"k2b-app-workspace__sidebar-item-description\">", "</span>"],
34
- _tmpl$23 = ["<span class=\"k2b-app-workspace__sidebar-item-copy\">", "<span class=\"k2b-app-workspace__sidebar-item-label\"", "><span class=\"k2b-app-workspace__sidebar-item-label-text\">", "</span></span>", "</span>"],
35
- _tmpl$24 = ["<span class=\"k2b-app-workspace__sidebar-item-meta\"", ">", "</span>"],
36
- _tmpl$25 = ["<i", "></i>"],
37
- _tmpl$26 = ["<a", " class=\"k2b-app-workspace__sidebar-item-action\"", ">", "</a>"],
38
- _tmpl$27 = ["<button type=\"button\" class=\"k2b-app-workspace__sidebar-item-action\"", ">", "</button>"],
39
- _tmpl$28 = ["<span class=\"k2b-app-workspace__sidebar-item-label\"><span class=\"k2b-app-workspace__sidebar-item-label-text\">", "</span></span>"],
40
- _tmpl$29 = ["<span class=\"", "\"", ">", "</span>"],
41
- _tmpl$30 = ["<span class=\"k2b-app-workspace__nav-tree-toggle\" data-k2b-nav-tree-toggle aria-hidden=\"true\"><i class=\"", "\"></i></span>"],
42
- _tmpl$31 = ["<div class=\"k2b-app-workspace__nav-tree-group\" role=\"group\">", "</div>"],
43
- _tmpl$32 = ["<div class=\"k2b-app-workspace__nav-tree-node\" role=\"treeitem\"", " style=\"", "\">", "", "</div>"],
44
- _tmpl$33 = ["<div class=\"", "\" role=\"tree\"", ">", "</div>"],
45
- _tmpl$34 = ["<div class=\"k2b-app-workspace__sidebar-icon-grid\"", ">", "</div>"],
46
- _tmpl$35 = ["<i", " aria-hidden=\"true\"></i>"],
47
- _tmpl$36 = ["<div class=\"", "\" data-k2b-app-workspace", " style=\"", "\">", "</div>"],
48
- _tmpl$37 = ["<div class=\"", "\">", "</div>"];
13
+ _tmpl$4 = ["<style>", "</style>"],
14
+ _tmpl$5 = ["<aside", " class=\"", "\"", "", " style=\"", "\"><button type=\"button\" class=\"k2b-app-workspace__detail-grabber\"", " aria-pressed=\"false\"><span aria-hidden=\"true\"></span></button>", "</aside>"],
15
+ _tmpl$6 = ["<aside", " class=\"", "\"", "", " style=\"", "\">", "</aside>"],
16
+ _tmpl$7 = ["<div class=\"k2b-app-workspace__sidebar-desktop\">", "</div>"],
17
+ _tmpl$8 = ["<aside", " class=\"", "\"", "", ">", "</aside>"],
18
+ _tmpl$9 = ["<script>", "</script>"],
19
+ _tmpl$0 = ["<span aria-hidden=\"true\"><i", "></i></span>"],
20
+ _tmpl$1 = ["<span class=\"k2b-app-workspace__sidebar-section-count\">", "</span>"],
21
+ _tmpl$10 = ["<button type=\"button\" class=\"k2b-app-workspace__sidebar-section-toggle\"", ">", "<i", " aria-hidden=\"true\"></i></button>"],
22
+ _tmpl$11 = ["<div class=\"k2b-app-workspace__sidebar-section-actions\">", "</div>"],
23
+ _tmpl$12 = ["<header class=\"k2b-app-workspace__sidebar-section-header\">", "", "</header>"],
24
+ _tmpl$13 = ["<div", "", " class=\"k2b-app-workspace__sidebar-section-content\">", "</div>"],
25
+ _tmpl$14 = ["<h2>", "</h2>"],
26
+ _tmpl$15 = ["<div class=\"k2b-app-workspace__sidebar-item-actions\"", ">", "</div>"],
27
+ _tmpl$16 = "<span class=\"k2b-app-workspace__sidebar-status-mention\" aria-hidden=\"true\">@</span>",
28
+ _tmpl$17 = "<span class=\"k2b-app-workspace__sidebar-status-muted\" aria-hidden=\"true\"><i class=\"ti ti-bell-off\"></i></span>",
29
+ _tmpl$18 = ["<span class=\"k2b-app-workspace__sidebar-status-count\"", ">", "</span>"],
30
+ _tmpl$19 = ["<span class=\"k2b-app-workspace__sidebar-status\"", ">", "", "<span class=\"k2b-app-workspace__sidebar-status-unread\" aria-hidden=\"true\">", "</span><span class=\"k2b-sr-only\">, ", "</span></span>"],
31
+ _tmpl$20 = "<span class=\"k2b-app-workspace__sidebar-status-dot\"></span>",
32
+ _tmpl$21 = ["<span class=\"k2b-app-workspace__sidebar-item-icon\" aria-hidden=\"true\">", "</span>"],
33
+ _tmpl$22 = ["<span class=\"k2b-app-workspace__sidebar-item-context-meta\">", "</span>"],
34
+ _tmpl$23 = ["<span class=\"k2b-app-workspace__sidebar-item-context\"><span class=\"k2b-app-workspace__sidebar-item-context-label\">", "</span>", "</span>"],
35
+ _tmpl$24 = ["<span class=\"k2b-app-workspace__sidebar-item-description\">", "</span>"],
36
+ _tmpl$25 = ["<span class=\"k2b-app-workspace__sidebar-item-copy\">", "<span class=\"k2b-app-workspace__sidebar-item-label\"", "><span class=\"k2b-app-workspace__sidebar-item-label-text\">", "</span></span>", "</span>"],
37
+ _tmpl$26 = ["<span class=\"k2b-app-workspace__sidebar-item-meta\"", ">", "</span>"],
38
+ _tmpl$27 = ["<i", "></i>"],
39
+ _tmpl$28 = ["<a", " class=\"k2b-app-workspace__sidebar-item-action\"", ">", "</a>"],
40
+ _tmpl$29 = ["<button type=\"button\" class=\"k2b-app-workspace__sidebar-item-action\"", ">", "</button>"],
41
+ _tmpl$30 = ["<span class=\"k2b-app-workspace__sidebar-item-copy\"><span class=\"k2b-app-workspace__sidebar-item-label\"><span class=\"k2b-app-workspace__sidebar-item-label-text\">", "</span></span><span class=\"k2b-app-workspace__sidebar-item-description\">", "</span></span>"],
42
+ _tmpl$31 = ["<span class=\"", "\"", ">", "</span>"],
43
+ _tmpl$32 = ["<span class=\"k2b-app-workspace__nav-tree-toggle\" data-k2b-nav-tree-toggle aria-hidden=\"true\"><i class=\"", "\"></i></span>"],
44
+ _tmpl$33 = ["<span class=\"k2b-app-workspace__sidebar-item-label\"><span class=\"k2b-app-workspace__sidebar-item-label-text\">", "</span></span>"],
45
+ _tmpl$34 = ["<div class=\"k2b-app-workspace__nav-tree-group\" role=\"group\">", "</div>"],
46
+ _tmpl$35 = ["<div class=\"k2b-app-workspace__nav-tree-node\" role=\"treeitem\"", " style=\"", "\">", "", "</div>"],
47
+ _tmpl$36 = ["<div class=\"", "\" role=\"tree\"", ">", "</div>"],
48
+ _tmpl$37 = ["<div class=\"k2b-app-workspace__sidebar-icon-grid\"", ">", "</div>"],
49
+ _tmpl$38 = ["<i", " aria-hidden=\"true\"></i>"],
50
+ _tmpl$39 = "<i class=\"ti ti-layout-sidebar\" aria-hidden=\"true\"></i>",
51
+ _tmpl$40 = ["<div class=\"k2b-app-workspace__head\"", ">", "", "</div>"],
52
+ _tmpl$41 = ["<div class=\"", "\" data-k2b-app-workspace", " style=\"", "\">", "", "</div>"],
53
+ _tmpl$42 = ["<div class=\"", "\">", "</div>"];
49
54
  import { Link } from "@k2b/ssr/nav";
50
55
  import { children, createContext, createEffect, createMemo, createSignal, createUniqueId, For, mergeProps, onCleanup, onMount, Show, useContext } from "solid-js";
51
- import { useUiMessages } from "../intl/messages";
52
- import { APP_WORKSPACE_SIDEBAR_HIDE_EVENT, installAppWorkspaceController } from "./app-workspace-controller";
56
+ import { IconButton } from "../actions/Button";
57
+ import { APP_WORKSPACE_DETAIL_CLOSE_EVENT, APP_WORKSPACE_DETAIL_STEP_EVENT, APP_WORKSPACE_SIDEBAR_HIDE_EVENT, installAppWorkspaceController } from "./app-workspace-controller";
53
58
  import { APP_WORKSPACE_DETAIL_DEFAULT, APP_WORKSPACE_DETAIL_MAX, APP_WORKSPACE_DETAIL_MIN, APP_WORKSPACE_DRAWER_DEFAULT, APP_WORKSPACE_DRAWER_MAX, APP_WORKSPACE_DRAWER_MIN, APP_WORKSPACE_PANE_DEFAULT, APP_WORKSPACE_PANE_MAX, APP_WORKSPACE_PANE_MIN, APP_WORKSPACE_SIDEBAR_COLLAPSED, APP_WORKSPACE_SIDEBAR_DEFAULT, APP_WORKSPACE_SIDEBAR_MAX, APP_WORKSPACE_SIDEBAR_MIN, appWorkspaceLayoutStyle, appWorkspacePanelVariable } from "./app-workspace-state";
59
+ import { PageTitle, usePageTrail } from "./PageTitle";
54
60
  import { SidebarItemPreview } from "./SidebarItemPreview";
55
61
  import { createScrollFade } from "./scroll-fade";
56
62
  import { assertStableUiId, assertUniqueStableUiIds } from "./stable-id";
63
+ import { useWorkspaceMessages } from "./workspace-messages";
57
64
  const ResizeContext = createContext(true);
65
+ /** The enclosing workspace: its head names the sidebar, and a nested workspace leaves the page title to it. */
66
+ const WorkspaceContext = createContext();
58
67
  const LayoutStateContext = createContext(null);
59
68
  const MAIN_PANE = Symbol("AppWorkspace.MainPane");
60
69
  const SIDEBAR_DESKTOP = Symbol("AppWorkspace.SidebarDesktop");
@@ -76,8 +85,8 @@ const sidebarChildSlot = value => Boolean(value && typeof value === "object" &&
76
85
  const sidebarItemSlot = value => Boolean(value && typeof value === "object" && "kind" in value && [SIDEBAR_ITEM_ICON, SIDEBAR_ITEM_LABEL, SIDEBAR_ITEM_META, SIDEBAR_ITEM_ACTION].includes(value.kind));
77
86
  const navTreeItemSlot = value => Boolean(value && typeof value === "object" && "kind" in value && value.kind === NAV_TREE_ITEM);
78
87
  function ResizeHandle(props) {
79
- const messages = useUiMessages();
80
- return _$ssr(_tmpl$, _$ssrAttribute("aria-label", _$escape(props.label ?? (props.kind === "sidebar" ? messages().resizeNavigation : props.kind === "pane" ? messages().resizeWorkspacePane : props.kind === "detail" ? messages().resizeDetailPanel : messages().resizeBottomDrawer), true), false) + _$ssrAttribute("aria-controls", _$escape(props.controls, true), false) + _$ssrAttribute("aria-orientation", props.kind === "drawer" ? "horizontal" : "vertical", false) + _$ssrAttribute("aria-valuemin", _$escape(props.minSize, true), false) + _$ssrAttribute("aria-valuemax", _$escape(props.maxSize, true), false) + _$ssrAttribute("aria-valuenow", _$escape(props.defaultSize, true), false) + _$ssrAttribute("data-app-workspace-resize", _$escape(props.kind, true), false) + _$ssrAttribute("data-workspace-panel-id", _$escape(props.panelId, true), false) + _$ssrAttribute("data-workspace-resize-edge", _$escape(props.edge, true), false) + _$ssrAttribute("data-workspace-resize-shadow", props.shadow ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-workspace-default-size", _$escape(props.defaultSize, true), false) + _$ssrAttribute("data-workspace-min-size", _$escape(props.minSize, true), false) + _$ssrAttribute("data-workspace-max-size", _$escape(props.maxSize, true), false), _$ssrStyle(props.style));
88
+ const workspaceMessages = useWorkspaceMessages();
89
+ return _$ssr(_tmpl$, _$ssrAttribute("aria-label", _$escape(props.label ?? (props.kind === "sidebar" ? workspaceMessages().resizeNavigation : props.kind === "pane" ? workspaceMessages().resizeWorkspacePane : props.kind === "detail" ? workspaceMessages().resizeDetailPanel : workspaceMessages().resizeBottomDrawer), true), false) + _$ssrAttribute("aria-controls", _$escape(props.controls, true), false) + _$ssrAttribute("aria-orientation", props.kind === "drawer" ? "horizontal" : "vertical", false) + _$ssrAttribute("aria-valuemin", _$escape(props.minSize, true), false) + _$ssrAttribute("aria-valuemax", _$escape(props.maxSize, true), false) + _$ssrAttribute("aria-valuenow", _$escape(props.defaultSize, true), false) + _$ssrAttribute("data-app-workspace-resize", _$escape(props.kind, true), false) + _$ssrAttribute("data-workspace-panel-id", _$escape(props.panelId, true), false) + _$ssrAttribute("data-workspace-resize-edge", _$escape(props.edge, true), false) + _$ssrAttribute("data-workspace-resize-shadow", props.shadow ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-workspace-default-size", _$escape(props.defaultSize, true), false) + _$ssrAttribute("data-workspace-min-size", _$escape(props.minSize, true), false) + _$ssrAttribute("data-workspace-max-size", _$escape(props.maxSize, true), false), _$ssrStyle(props.style));
81
90
  }
82
91
 
83
92
  /**
@@ -236,7 +245,8 @@ function AppWorkspaceMain(props) {
236
245
  return handle();
237
246
  }
238
247
  }), _$ssr(_tmpl$3, _$ssrAttribute("id", _$escape(pane.domId, true), false), `k2b-app-workspace__main-pane ${isAnchor() ? "is-primary" : ""} ${_$escape(pane.props.class ?? "", true)}`, _$ssrAttribute("aria-label", _$escape(pane.props.label, true), false) + _$ssrAttribute("data-workspace-main-region", _$escape(pane.props.id, true), false) + _$ssrAttribute("data-workspace-mobile-active", activeMobilePane() === pane.props.id ? "true" : "false", false) + _$ssrAttribute("data-workspace-panel-id", _$escape(panelId, true), false) + _$ssrAttribute("data-workspace-resizable", resizable() ? "true" : "false", false) + _$ssrAttribute("data-surface", pane.props.surface === "navigation" ? "navigation" : _$escape(undefined, true), false) + _$ssrAttribute("data-scroll", pane.props.scroll === false ? "false" : _$escape(undefined, true), false) + _$ssrAttribute("data-scroll-fade-mode", pane.props.scroll !== false && pane.props.scrollFade !== false ? "both" : _$escape(undefined, true), false), _$ssrStyle(isAnchor() ? undefined : {
239
- "--k2b-workspace-panel-size": `var(${variable}, ${defaultSize()}px)`
248
+ "--k2b-workspace-panel-size": `var(${variable}, ${defaultSize()}px)`,
249
+ "--k2b-workspace-panel-min": `${minSize()}px`
240
250
  }), _$escape(pane.props.children)), _$createComponent(Show, {
241
251
  get when() {
242
252
  return _$memo(() => !!resizable())() && before();
@@ -253,15 +263,16 @@ function AppWorkspaceMain(props) {
253
263
  })), false);
254
264
  }
255
265
  function AppWorkspaceDetail(props) {
266
+ const workspaceMessages = useWorkspaceMessages();
256
267
  const rootResizable = useContext(ResizeContext);
257
268
  const panelId = () => assertStableUiId(props.id, "AppWorkspace.Detail id");
258
269
  const domId = () => `k2b-workspace-detail-${panelId()}`;
259
270
  const variable = () => appWorkspacePanelVariable("detail", panelId());
260
- // Cloud's `detailDefaultWidth`. These feed `aria-valuenow` and the
271
+ // Start widths of 20, 26, 30, and 34 rem. They feed `aria-valuenow` and the
261
272
  // `var(…, Npx)` first-paint fallback, so they are behaviour, not taste.
262
273
  const widths = {
263
- sm: 288,
264
- md: 384,
274
+ sm: 320,
275
+ md: 416,
265
276
  lg: 480,
266
277
  xl: 544
267
278
  };
@@ -269,7 +280,35 @@ function AppWorkspaceDetail(props) {
269
280
  const minWidth = () => props.minWidth ?? APP_WORKSPACE_DETAIL_MIN;
270
281
  const maxWidth = () => Math.max(minWidth(), props.maxWidth ?? APP_WORKSPACE_DETAIL_MAX);
271
282
  const resizable = () => props.resizable ?? rootResizable;
272
- return [_$createComponent(Show, {
283
+ const size = () => resizable() ? `var(${variable()}, ${defaultWidth()}px)` : `${defaultWidth()}px`;
284
+ const sizeStyle = () => ({
285
+ "--k2b-workspace-panel-size": size(),
286
+ "--k2b-workspace-panel-min": `${minWidth()}px`,
287
+ "--k2b-workspace-panel-max": `${maxWidth()}px`
288
+ });
289
+ // The panel floats over the content area, and `Main` beside it makes room
290
+ // in CSS alone, so a server-rendered page arrives in its final geometry. A
291
+ // sibling cannot read the panel's own variables, so this rule hands the
292
+ // open panel's size to the content area around it.
293
+ const contentRule = () => {
294
+ const open = `#${domId()}:not([hidden])`;
295
+ return `.k2b-app-workspace__content:has(> ${open}, > :is(solid-island, solid-client) > ${open}){--k2b-detail-size:${size()};--k2b-detail-min:${minWidth()}px;--k2b-detail-max:${maxWidth()}px}`;
296
+ };
297
+ let aside;
298
+ onMount(() => {
299
+ const close = () => props.onClose?.();
300
+ const step = event => {
301
+ const direction = event instanceof CustomEvent ? event.detail?.direction : undefined;
302
+ if (direction === 1 || direction === -1) props.onStep?.(direction);
303
+ };
304
+ aside?.addEventListener(APP_WORKSPACE_DETAIL_CLOSE_EVENT, close);
305
+ aside?.addEventListener(APP_WORKSPACE_DETAIL_STEP_EVENT, step);
306
+ onCleanup(() => {
307
+ aside?.removeEventListener(APP_WORKSPACE_DETAIL_CLOSE_EVENT, close);
308
+ aside?.removeEventListener(APP_WORKSPACE_DETAIL_STEP_EVENT, step);
309
+ });
310
+ });
311
+ return [_$ssr(_tmpl$4, contentRule()), _$createComponent(Show, {
273
312
  get when() {
274
313
  return resizable();
275
314
  },
@@ -292,15 +331,15 @@ function AppWorkspaceDetail(props) {
292
331
  get maxSize() {
293
332
  return maxWidth();
294
333
  },
295
- shadow: true,
296
334
  get style() {
297
- return {
298
- "--k2b-workspace-panel-size": `var(${variable()}, ${defaultWidth()}px)`
299
- };
335
+ return sizeStyle();
300
336
  }
301
337
  });
302
338
  }
303
- }), _$ssr(_tmpl$4, _$ssrAttribute("id", _$escape(domId(), true), false), `k2b-app-workspace__detail ${_$escape(props.class ?? "", true)}`, _$ssrAttribute("data-width", _$escape(props.width ?? "md", true), false) + _$ssrAttribute("data-workspace-panel-id", _$escape(panelId(), true), false) + _$ssrAttribute("data-workspace-resizable", resizable() ? "true" : "false", false), _$ssrAttribute("hidden", !props.open, true), _$ssrStyleProperty("--k2b-workspace-panel-size:", `var(${_$escape(variable(), true)}, ${_$escape(defaultWidth(), true)}px)`) + _$ssrStyleProperty(";view-transition-name:", _$escape(props.viewTransitionName, true)), _$escape(props.children))];
339
+ }), _$ssr(_tmpl$5, _$ssrAttribute("id", _$escape(domId(), true), false), `k2b-app-workspace__detail ${_$escape(props.class ?? "", true)}`, _$ssrAttribute("data-width", _$escape(props.width ?? "md", true), false) + _$ssrAttribute("data-workspace-panel-id", _$escape(panelId(), true), false) + _$ssrAttribute("data-workspace-resizable", resizable() ? "true" : "false", false) + _$ssrAttribute("data-workspace-detail-closable", props.onClose ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-workspace-detail-steppable", props.onStep ? "true" : _$escape(undefined, true), false), _$ssrAttribute("hidden", !props.open, true), _$ssrStyle({
340
+ ...sizeStyle(),
341
+ "view-transition-name": props.viewTransitionName
342
+ }), _$ssrAttribute("aria-label", _$escape(workspaceMessages().detailFullHeight, true), false), _$escape(props.children))];
304
343
  }
305
344
  function AppWorkspaceBottomDrawer(props) {
306
345
  const rootResizable = useContext(ResizeContext);
@@ -348,7 +387,7 @@ function AppWorkspaceBottomDrawer(props) {
348
387
  }
349
388
  });
350
389
  }
351
- }), _$ssr(_tmpl$4, _$ssrAttribute("id", _$escape(domId(), true), false), `k2b-app-workspace__drawer ${_$escape(props.class ?? "", true)}`, _$ssrAttribute("data-height", _$escape(props.height ?? "md", true), false) + _$ssrAttribute("data-workspace-panel-id", _$escape(panelId(), true), false) + _$ssrAttribute("data-workspace-resizable", resizable() ? "true" : "false", false), _$ssrAttribute("hidden", !props.open, true), _$ssrStyleProperty("--k2b-workspace-panel-size:", `var(${_$escape(variable(), true)}, ${_$escape(defaultHeight(), true)}px)`) + _$ssrStyleProperty(";view-transition-name:", _$escape(props.viewTransitionName, true)), _$escape(props.children))];
390
+ }), _$ssr(_tmpl$6, _$ssrAttribute("id", _$escape(domId(), true), false), `k2b-app-workspace__drawer ${_$escape(props.class ?? "", true)}`, _$ssrAttribute("data-height", _$escape(props.height ?? "md", true), false) + _$ssrAttribute("data-workspace-panel-id", _$escape(panelId(), true), false) + _$ssrAttribute("data-workspace-resizable", resizable() ? "true" : "false", false), _$ssrAttribute("hidden", !props.open, true), _$ssrStyleProperty("--k2b-workspace-panel-size:", `var(${_$escape(variable(), true)}, ${_$escape(defaultHeight(), true)}px)`) + _$ssrStyleProperty(";view-transition-name:", _$escape(props.viewTransitionName, true)), _$escape(props.children))];
352
391
  }
353
392
  function AppWorkspaceSidebar(props) {
354
393
  const rootResizable = useContext(ResizeContext);
@@ -356,8 +395,11 @@ function AppWorkspaceSidebar(props) {
356
395
  const defaultSize = () => props.defaultSize ?? APP_WORKSPACE_SIDEBAR_DEFAULT;
357
396
  const minSize = () => props.minSize ?? (props.collapsible ? APP_WORKSPACE_SIDEBAR_COLLAPSED : APP_WORKSPACE_SIDEBAR_MIN);
358
397
  const maxSize = () => props.maxSize ?? APP_WORKSPACE_SIDEBAR_MAX;
398
+ const workspace = useContext(WorkspaceContext);
359
399
  const generatedId = createUniqueId();
360
- const domId = () => props.id ?? `k2b-workspace-sidebar-${generatedId}`;
400
+ const domId = () => props.id ?? workspace?.sidebarId ?? `k2b-workspace-sidebar-${generatedId}`;
401
+ // The head's navigation button names this sidebar.
402
+ createEffect(() => workspace?.setSidebarId(domId()));
361
403
  // Hidden navigation is not rendered at all, so its labels are neither shown
362
404
  // nor reachable; reading the children lazily keeps them from being created.
363
405
  const resolved = children(() => props.hidden ? undefined : props.children);
@@ -369,12 +411,12 @@ function AppWorkspaceSidebar(props) {
369
411
  aside?.addEventListener(APP_WORKSPACE_SIDEBAR_HIDE_EVENT, requestHide);
370
412
  onCleanup(() => aside?.removeEventListener(APP_WORKSPACE_SIDEBAR_HIDE_EVENT, requestHide));
371
413
  });
372
- return [_$ssr(_tmpl$6, _$ssrAttribute("id", _$escape(domId(), true), false), `k2b-app-workspace__sidebar ${_$escape(props.class ?? "", true)}`, _$ssrAttribute("aria-label", _$escape(props.label, true), false), _$ssrAttribute("hidden", props.hidden || undefined, true) + _$ssrAttribute("data-mobile", props.mobile === "stacked" ? "stacked" : _$escape(undefined, true), false) + _$ssrAttribute("data-workspace-resizable", resizable() ? "true" : "false", false) + _$ssrAttribute("data-workspace-collapsible", props.collapsible ? "true" : "false", false) + _$ssrAttribute("data-workspace-hideable", props.onHiddenChange ? "true" : _$escape(undefined, true), false), _$escape(_$createComponent(Show, {
414
+ return [_$ssr(_tmpl$8, _$ssrAttribute("id", _$escape(domId(), true), false), `k2b-app-workspace__sidebar ${_$escape(props.class ?? "", true)}`, _$ssrAttribute("aria-label", _$escape(props.label, true), false), _$ssrAttribute("hidden", props.hidden || undefined, true) + _$ssrAttribute("data-mobile", props.mobile === "stacked" ? "stacked" : _$escape(undefined, true), false) + _$ssrAttribute("data-workspace-resizable", resizable() ? "true" : "false", false) + _$ssrAttribute("data-workspace-collapsible", props.collapsible ? "true" : "false", false) + _$ssrAttribute("data-workspace-hideable", props.onHiddenChange ? "true" : _$escape(undefined, true), false), _$escape(_$createComponent(Show, {
373
415
  get when() {
374
416
  return !props.hidden;
375
417
  },
376
418
  get children() {
377
- return _$ssr(_tmpl$5, _$escape(desktop()?.children));
419
+ return _$ssr(_tmpl$7, _$escape(desktop()?.children));
378
420
  }
379
421
  }))), _$createComponent(Show, {
380
422
  get when() {
@@ -428,7 +470,7 @@ const AppWorkspaceSidebarBody = props => {
428
470
  get ["data-scroll-fade-mode"]() {
429
471
  return props.scrollFade !== false ? "both" : undefined;
430
472
  }
431
- }, () => scrollAttrs(props.scrollPreserveKey), () => modeAttrs(props.sidebarMode)), _$escape(props.children), false), _$ssr(_tmpl$7, SIDEBAR_SCROLL_MEMORY_SCRIPT)];
473
+ }, () => scrollAttrs(props.scrollPreserveKey), () => modeAttrs(props.sidebarMode)), _$escape(props.children), false), _$ssr(_tmpl$9, SIDEBAR_SCROLL_MEMORY_SCRIPT)];
432
474
  };
433
475
  const AppWorkspaceSidebarFooter = props => _$ssrElement("footer", _$mergeProps({
434
476
  get ["class"]() {
@@ -444,14 +486,14 @@ const AppWorkspaceSidebarSection = props => {
444
486
  return props.icon;
445
487
  },
446
488
  get children() {
447
- return _$ssr(_tmpl$8, _$ssrAttribute("class", _$escape(iconClass(props.icon), true), false));
489
+ return _$ssr(_tmpl$0, _$ssrAttribute("class", _$escape(iconClass(props.icon), true), false));
448
490
  }
449
491
  }), props.title, _$createComponent(Show, {
450
492
  get when() {
451
493
  return props.count !== undefined;
452
494
  },
453
495
  get children() {
454
- return _$ssr(_tmpl$9, _$escape(props.count));
496
+ return _$ssr(_tmpl$1, _$escape(props.count));
455
497
  }
456
498
  })];
457
499
  return _$ssrElement("section", _$mergeProps({
@@ -466,7 +508,7 @@ const AppWorkspaceSidebarSection = props => {
466
508
  return props.title || props.actions;
467
509
  },
468
510
  get children() {
469
- return _$ssr(_tmpl$10, _$escape(_$createComponent(Show, {
511
+ return _$ssr(_tmpl$12, _$escape(_$createComponent(Show, {
470
512
  get when() {
471
513
  return props.collapsible;
472
514
  },
@@ -476,23 +518,23 @@ const AppWorkspaceSidebarSection = props => {
476
518
  return props.title;
477
519
  },
478
520
  get children() {
479
- return _$ssr(_tmpl$12, _$escape(title()));
521
+ return _$ssr(_tmpl$14, _$escape(title()));
480
522
  }
481
523
  });
482
524
  },
483
525
  get children() {
484
- return _$ssr(_tmpl$0, _$ssrAttribute("aria-expanded", _$escape(open(), true), false) + _$ssrAttribute("aria-controls", _$escape(id, true), false), _$escape(title()), _$ssrAttribute("class", open() ? "ti ti-chevron-down" : "ti ti-chevron-right", false));
526
+ return _$ssr(_tmpl$10, _$ssrAttribute("aria-expanded", _$escape(open(), true), false) + _$ssrAttribute("aria-controls", _$escape(id, true), false), _$escape(title()), _$ssrAttribute("class", open() ? "ti ti-chevron-down" : "ti ti-chevron-right", false));
485
527
  }
486
528
  })), _$escape(_$createComponent(Show, {
487
529
  get when() {
488
530
  return props.actions;
489
531
  },
490
532
  get children() {
491
- return _$ssr(_tmpl$1, _$escape(props.actions));
533
+ return _$ssr(_tmpl$11, _$escape(props.actions));
492
534
  }
493
535
  })));
494
536
  }
495
- })), _$ssr(_tmpl$11, _$ssrAttribute("id", _$escape(id, true), false), _$ssrAttribute("hidden", !open(), true), _$escape(props.children))], false);
537
+ })), _$ssr(_tmpl$13, _$ssrAttribute("id", _$escape(id, true), false), _$ssrAttribute("hidden", !open(), true), _$escape(props.children))], false);
496
538
  };
497
539
  const AppWorkspaceSidebarItemIcon = props => mergeProps({
498
540
  kind: SIDEBAR_ITEM_ICON
@@ -506,16 +548,16 @@ const AppWorkspaceSidebarItemMeta = props => mergeProps({
506
548
  const AppWorkspaceSidebarItemAction = props => mergeProps({
507
549
  kind: SIDEBAR_ITEM_ACTION
508
550
  }, props);
509
- const AppWorkspaceSidebarItemActions = props => _$ssr(_tmpl$13, _$ssrAttribute("data-visibility", props.visibility === "hover" ? "hover" : _$escape(undefined, true), false), _$escape(props.children));
551
+ const AppWorkspaceSidebarItemActions = props => _$ssr(_tmpl$15, _$ssrAttribute("data-visibility", props.visibility === "hover" ? "hover" : _$escape(undefined, true), false), _$escape(props.children));
510
552
  const AppWorkspaceSidebarItemStatus = props => {
511
- const messages = useUiMessages();
553
+ const workspaceMessages = useWorkspaceMessages();
512
554
  const count = () => typeof props.unread === "number" && props.unread >= 1 ? Math.floor(props.unread) : 0;
513
555
  const dot = () => props.unread === true;
514
556
  // The marks are decorative; the row's accessible name gets one phrase instead,
515
557
  // which says no more than the "99+" a capped count shows.
516
- const description = () => [count() > 99 ? messages().sidebarUnreadMany : count() ? messages().sidebarUnread({
558
+ const description = () => [count() > 99 ? workspaceMessages().sidebarUnreadMany : count() ? workspaceMessages().sidebarUnread({
517
559
  count: count()
518
- }) : dot() ? messages().sidebarNewActivity : "", props.mention ? messages().sidebarMentioned : "", props.muted ? messages().sidebarMuted : ""].filter(Boolean).join(", ");
560
+ }) : dot() ? workspaceMessages().sidebarNewActivity : "", props.mention ? workspaceMessages().sidebarMentioned : "", props.muted ? workspaceMessages().sidebarMuted : ""].filter(Boolean).join(", ");
519
561
  // The unread slot stays reserved at the end, and the marks that change most
520
562
  // often sit outermost, so new activity or a mention never moves another mark.
521
563
  return _$createComponent(Show, {
@@ -523,19 +565,19 @@ const AppWorkspaceSidebarItemStatus = props => {
523
565
  return description();
524
566
  },
525
567
  get children() {
526
- return _$ssr(_tmpl$17, _$ssrAttribute("data-unread", count() ? "count" : dot() ? "dot" : _$escape(undefined, true), false), _$escape(_$createComponent(Show, {
568
+ return _$ssr(_tmpl$19, _$ssrAttribute("data-unread", count() ? "count" : dot() ? "dot" : _$escape(undefined, true), false), _$escape(_$createComponent(Show, {
527
569
  get when() {
528
570
  return props.mention;
529
571
  },
530
572
  get children() {
531
- return _$ssr(_tmpl$14);
573
+ return _$ssr(_tmpl$16);
532
574
  }
533
575
  })), _$escape(_$createComponent(Show, {
534
576
  get when() {
535
577
  return props.muted;
536
578
  },
537
579
  get children() {
538
- return _$ssr(_tmpl$15);
580
+ return _$ssr(_tmpl$17);
539
581
  }
540
582
  })), _$escape(_$createComponent(Show, {
541
583
  get when() {
@@ -547,12 +589,12 @@ const AppWorkspaceSidebarItemStatus = props => {
547
589
  return dot();
548
590
  },
549
591
  get children() {
550
- return _$ssr(_tmpl$18);
592
+ return _$ssr(_tmpl$20);
551
593
  }
552
594
  });
553
595
  },
554
596
  get children() {
555
- return _$ssr(_tmpl$16, _$ssrAttribute("data-mention", props.mention ? "true" : _$escape(undefined, true), false), count() > 99 ? "99+" : _$escape(count()));
597
+ return _$ssr(_tmpl$18, _$ssrAttribute("data-mention", props.mention ? "true" : _$escape(undefined, true), false), count() > 99 ? "99+" : _$escape(count()));
556
598
  }
557
599
  })), _$escape(description()));
558
600
  }
@@ -666,7 +708,7 @@ function AppWorkspaceSidebarRow(props) {
666
708
  });
667
709
  }
668
710
  function AppWorkspaceSidebarItem(props) {
669
- const messages = useUiMessages();
711
+ const workspaceMessages = useWorkspaceMessages();
670
712
  const resolved = children(() => props.children);
671
713
  const resolvedActions = children(() => props.actions);
672
714
  const values = createMemo(() => flatten(resolved()));
@@ -693,19 +735,19 @@ function AppWorkspaceSidebarItem(props) {
693
735
  return iconContent() || icon();
694
736
  },
695
737
  get children() {
696
- return _$ssr(_tmpl$19, _$escape(iconContent() ?? _$ssr(_tmpl$25, _$ssrAttribute("class", _$escape(iconClass(icon()), true), false))));
738
+ return _$ssr(_tmpl$21, _$escape(iconContent() ?? _$ssr(_tmpl$27, _$ssrAttribute("class", _$escape(iconClass(icon()), true), false))));
697
739
  }
698
- }), _$ssr(_tmpl$23, _$escape(_$createComponent(Show, {
740
+ }), _$ssr(_tmpl$25, _$escape(_$createComponent(Show, {
699
741
  get when() {
700
742
  return props.context || props.contextMeta;
701
743
  },
702
744
  get children() {
703
- return _$ssr(_tmpl$21, _$escape(props.context), _$escape(_$createComponent(Show, {
745
+ return _$ssr(_tmpl$23, _$escape(props.context), _$escape(_$createComponent(Show, {
704
746
  get when() {
705
747
  return props.contextMeta;
706
748
  },
707
749
  get children() {
708
- return _$ssr(_tmpl$20, _$escape(props.contextMeta));
750
+ return _$ssr(_tmpl$22, _$escape(props.contextMeta));
709
751
  }
710
752
  })));
711
753
  }
@@ -714,18 +756,18 @@ function AppWorkspaceSidebarItem(props) {
714
756
  return props.description;
715
757
  },
716
758
  get children() {
717
- return _$ssr(_tmpl$22, _$escape(props.description));
759
+ return _$ssr(_tmpl$24, _$escape(props.description));
718
760
  }
719
761
  }))), _$createComponent(Show, {
720
762
  get when() {
721
763
  return hasMeta();
722
764
  },
723
765
  get children() {
724
- return _$ssr(_tmpl$24, _$ssrAttribute("id", props.preview?.trigger === "row" ? _$escape(metaId, true) : _$escape(undefined, true), false) + _$ssrAttribute("data-visibility", metaVisibility() === "hover" ? "hover" : _$escape(undefined, true), false), _$escape(meta()));
766
+ return _$ssr(_tmpl$26, _$ssrAttribute("id", props.preview?.trigger === "row" ? _$escape(metaId, true) : _$escape(undefined, true), false) + _$ssrAttribute("data-visibility", metaVisibility() === "hover" ? "hover" : _$escape(undefined, true), false), _$escape(meta()));
725
767
  }
726
768
  })];
727
769
  const singleAction = () => {
728
- const label = () => actionSlot()?.label ?? props.actionLabel ?? messages().rowAction;
770
+ const label = () => actionSlot()?.label ?? props.actionLabel ?? workspaceMessages().rowAction;
729
771
  const select = event => {
730
772
  event.stopPropagation();
731
773
  if (actionSlot()?.disabled) {
@@ -736,7 +778,7 @@ function AppWorkspaceSidebarItem(props) {
736
778
  actionSlot()?.onSelect?.(event);
737
779
  props.onActionClick?.(event);
738
780
  };
739
- const content = () => actionSlot()?.children ?? _$ssr(_tmpl$25, _$ssrAttribute("class", _$escape(iconClass(actionSlot()?.icon ?? props.actionIcon, "ti-dots"), true), false));
781
+ const content = () => actionSlot()?.children ?? _$ssr(_tmpl$27, _$ssrAttribute("class", _$escape(iconClass(actionSlot()?.icon ?? props.actionIcon, "ti-dots"), true), false));
740
782
  return _$createComponent(Show, {
741
783
  get when() {
742
784
  return Boolean(actionSlot() || props.actionIcon);
@@ -747,10 +789,10 @@ function AppWorkspaceSidebarItem(props) {
747
789
  return _$memo(() => !!actionSlot()?.href)() && !actionSlot()?.disabled;
748
790
  },
749
791
  get fallback() {
750
- return _$ssr(_tmpl$27, _$ssrAttribute("disabled", actionSlot()?.disabled, true) + _$ssrAttribute("data-visibility", actionSlot()?.visibility === "hover" ? "hover" : _$escape(undefined, true), false) + _$ssrAttribute("aria-label", _$escape(label(), true), false), _$escape(content()));
792
+ return _$ssr(_tmpl$29, _$ssrAttribute("disabled", actionSlot()?.disabled, true) + _$ssrAttribute("data-visibility", actionSlot()?.visibility === "hover" ? "hover" : _$escape(undefined, true), false) + _$ssrAttribute("aria-label", _$escape(label(), true), false), _$escape(content()));
751
793
  },
752
794
  get children() {
753
- return _$ssr(_tmpl$26, _$ssrAttribute("href", _$escape(actionSlot()?.href, true), false), _$ssrAttribute("data-visibility", actionSlot()?.visibility === "hover" ? "hover" : _$escape(undefined, true), false) + _$ssrAttribute("aria-label", _$escape(label(), true), false), _$escape(content()));
795
+ return _$ssr(_tmpl$28, _$ssrAttribute("href", _$escape(actionSlot()?.href, true), false), _$ssrAttribute("data-visibility", actionSlot()?.visibility === "hover" ? "hover" : _$escape(undefined, true), false) + _$ssrAttribute("aria-label", _$escape(label(), true), false), _$escape(content()));
754
796
  }
755
797
  });
756
798
  }
@@ -942,6 +984,8 @@ const AppWorkspaceNavTree = props => {
942
984
  const selected = () => props.selectedId === item.id;
943
985
  const siblingIndex = id => siblings().findIndex(sibling => sibling.id === id);
944
986
  const movable = () => Boolean(props.onMove && item.movable && !item.disabled);
987
+ // A folder that nobody selects: its row only expands and collapses it.
988
+ const disclosureOnly = () => hasChildren() && !item.href && !item.onSelect && !props.onSelectedIdChange;
945
989
  let treeItem;
946
990
  const ownRow = () => treeItem?.firstElementChild;
947
991
 
@@ -963,7 +1007,7 @@ const AppWorkspaceNavTree = props => {
963
1007
  preventScroll: true
964
1008
  });
965
1009
  setFocusedId(item.id);
966
- if (hasChildren() && !item.href && !item.onSelect && !props.onSelectedIdChange) {
1010
+ if (disclosureOnly()) {
967
1011
  setExpanded(item.id, !isExpanded(item.id));
968
1012
  return;
969
1013
  }
@@ -1054,21 +1098,31 @@ const AppWorkspaceNavTree = props => {
1054
1098
  get ["data-k2b-nav-tree-toggle"]() {
1055
1099
  return usesIconDisclosure() ? "" : undefined;
1056
1100
  }
1057
- }, () => iconAccessibility(item.iconLabel)), _$ssr(_tmpl$25, _$ssrAttribute("class", _$escape(iconClass(rowIcon()), true), false)), false);
1101
+ }, () => iconAccessibility(item.iconLabel)), _$ssr(_tmpl$27, _$ssrAttribute("class", _$escape(iconClass(rowIcon()), true), false)), false);
1058
1102
  }
1059
- }), _$ssr(_tmpl$28, _$escape(item.label)), _$createComponent(Show, {
1103
+ }), _$createComponent(Show, {
1104
+ get when() {
1105
+ return item.description !== undefined;
1106
+ },
1107
+ get fallback() {
1108
+ return _$ssr(_tmpl$33, _$escape(item.label));
1109
+ },
1110
+ get children() {
1111
+ return _$ssr(_tmpl$30, _$escape(item.label), _$escape(item.description));
1112
+ }
1113
+ }), _$createComponent(Show, {
1060
1114
  get when() {
1061
1115
  return item.meta !== undefined;
1062
1116
  },
1063
1117
  get children() {
1064
- return _$ssr(_tmpl$29, `k2b-app-workspace__sidebar-item-meta ${hasChildren() ? "" : "k2b-app-workspace__nav-tree-leaf-meta"}`, _$ssrAttribute("data-visibility", item.metaVisibility === "hover" ? "hover" : _$escape(undefined, true), false), _$escape(item.meta));
1118
+ return _$ssr(_tmpl$31, `k2b-app-workspace__sidebar-item-meta ${hasChildren() ? "" : "k2b-app-workspace__nav-tree-leaf-meta"}`, _$ssrAttribute("data-visibility", item.metaVisibility === "hover" ? "hover" : _$escape(undefined, true), false), _$escape(item.meta));
1065
1119
  }
1066
1120
  }), _$createComponent(Show, {
1067
1121
  get when() {
1068
1122
  return _$memo(() => !!hasChildren())() && !usesIconDisclosure();
1069
1123
  },
1070
1124
  get children() {
1071
- return _$ssr(_tmpl$30, `ti ${isExpanded(item.id) ? "ti-chevron-down" : "ti-chevron-right"}`);
1125
+ return _$ssr(_tmpl$32, `ti ${isExpanded(item.id) ? "ti-chevron-down" : "ti-chevron-right"}`);
1072
1126
  }
1073
1127
  })];
1074
1128
  const row = () => _$createComponent(AppWorkspaceSidebarRow, {
@@ -1118,7 +1172,8 @@ const AppWorkspaceNavTree = props => {
1118
1172
  },
1119
1173
  get data() {
1120
1174
  return {
1121
- "has-actions": item.actions ? "true" : undefined
1175
+ "has-actions": item.actions ? "true" : undefined,
1176
+ "k2b-nav-tree-disclosure": disclosureOnly() ? "true" : undefined
1122
1177
  };
1123
1178
  },
1124
1179
  children: rowContent
@@ -1174,12 +1229,12 @@ const AppWorkspaceNavTree = props => {
1174
1229
  endDrag();
1175
1230
  requestMove(target.move, false);
1176
1231
  };
1177
- return _$ssr(_tmpl$32, _$ssrAttribute("aria-level", _$escape(depth, true) + 1, false) + _$ssrAttribute("aria-setsize", _$escape(siblings().length, true), false) + _$ssrAttribute("aria-posinset", _$escape(place(), true) + 1, false) + _$ssrAttribute("aria-selected", _$escape(selected(), true), false) + _$ssrAttribute("aria-expanded", hasChildren() ? _$escape(isExpanded(item.id), true) : _$escape(undefined, true), false) + _$ssrAttribute("aria-disabled", item.disabled ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("tabindex", item.disabled ? -1 : tabStopId() === item.id ? 0 : -1, false) + _$ssrAttribute("draggable", movable() ? _$escape(true, true) : _$escape(undefined, true), false) + _$ssrAttribute("data-k2b-nav-tree-id", _$escape(item.id, true), false) + _$ssrAttribute("data-k2b-nav-tree-parent-id", _$escape(parentId, true), false) + _$ssrAttribute("data-k2b-nav-tree-dragging", dragged()?.id === item.id ? "" : _$escape(undefined, true), false) + _$ssrAttribute("data-k2b-nav-tree-drop", dropTarget()?.id === item.id ? _$escape(dropTarget().side, true) : _$escape(undefined, true), false), _$ssrStyleProperty("--k2b-nav-tree-depth:", _$escape(String(props.indented === false ? 0 : depth), true)), _$escape(row()), _$escape(_$createComponent(Show, {
1232
+ return _$ssr(_tmpl$35, _$ssrAttribute("aria-level", _$escape(depth, true) + 1, false) + _$ssrAttribute("aria-setsize", _$escape(siblings().length, true), false) + _$ssrAttribute("aria-posinset", _$escape(place(), true) + 1, false) + _$ssrAttribute("aria-selected", _$escape(selected(), true), false) + _$ssrAttribute("aria-expanded", hasChildren() ? _$escape(isExpanded(item.id), true) : _$escape(undefined, true), false) + _$ssrAttribute("aria-disabled", item.disabled ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("tabindex", item.disabled ? -1 : tabStopId() === item.id ? 0 : -1, false) + _$ssrAttribute("draggable", movable() ? _$escape(true, true) : _$escape(undefined, true), false) + _$ssrAttribute("data-k2b-nav-tree-id", _$escape(item.id, true), false) + _$ssrAttribute("data-k2b-nav-tree-parent-id", _$escape(parentId, true), false) + _$ssrAttribute("data-k2b-nav-tree-dragging", dragged()?.id === item.id ? "" : _$escape(undefined, true), false) + _$ssrAttribute("data-k2b-nav-tree-drop", dropTarget()?.id === item.id ? _$escape(dropTarget().side, true) : _$escape(undefined, true), false), _$ssrStyleProperty("--k2b-nav-tree-depth:", _$escape(String(props.indented === false ? 0 : depth), true)), _$escape(row()), _$escape(_$createComponent(Show, {
1178
1233
  get when() {
1179
1234
  return _$memo(() => !!hasChildren())() && isExpanded(item.id);
1180
1235
  },
1181
1236
  get children() {
1182
- return _$ssr(_tmpl$31, _$escape(renderItems(nested, depth + 1, item.id)));
1237
+ return _$ssr(_tmpl$34, _$escape(renderItems(nested, depth + 1, item.id)));
1183
1238
  }
1184
1239
  })));
1185
1240
  }
@@ -1204,7 +1259,7 @@ const AppWorkspaceNavTree = props => {
1204
1259
  doc?.removeEventListener("pointermove", forgetDrag, true);
1205
1260
  });
1206
1261
  });
1207
- return _$ssr(_tmpl$33, `k2b-app-workspace__nav-tree ${_$escape(props.class ?? "", true)}`, _$ssrAttribute("aria-label", _$escape(props.ariaLabel, true), false), _$escape(renderItems(roots, 0)));
1262
+ return _$ssr(_tmpl$36, `k2b-app-workspace__nav-tree ${_$escape(props.class ?? "", true)}`, _$ssrAttribute("aria-label", _$escape(props.ariaLabel, true), false), _$escape(renderItems(roots, 0)));
1208
1263
  };
1209
1264
  AppWorkspaceNavTree.Item = AppWorkspaceNavTreeItem;
1210
1265
  const AppWorkspaceSidebarIconGrid = props => _$ssrElement("section", _$mergeProps({
@@ -1215,10 +1270,10 @@ const AppWorkspaceSidebarIconGrid = props => _$ssrElement("section", _$mergeProp
1215
1270
  get when() {
1216
1271
  return props.title;
1217
1272
  },
1218
- children: title => _$ssr(_tmpl$12, _$escape(title()))
1219
- })), _$ssr(_tmpl$34, _$ssrAttribute("data-columns", _$escape(props.columns ?? 2, true), false), _$escape(props.children))], false);
1273
+ children: title => _$ssr(_tmpl$14, _$escape(title()))
1274
+ })), _$ssr(_tmpl$37, _$ssrAttribute("data-columns", _$escape(props.columns ?? 2, true), false), _$escape(props.children))], false);
1220
1275
  const AppWorkspaceSidebarIconAction = props => {
1221
- const content = _$ssr(_tmpl$35, _$ssrAttribute("class", _$escape(iconClass(props.icon), true), false));
1276
+ const content = _$ssr(_tmpl$38, _$ssrAttribute("class", _$escape(iconClass(props.icon), true), false));
1222
1277
  const attrs = () => ({
1223
1278
  class: `k2b-app-workspace__sidebar-icon-action ${props.active ? "is-active" : ""}`,
1224
1279
  title: props.label,
@@ -1261,9 +1316,53 @@ const AppWorkspaceSidebarIconAction = props => {
1261
1316
  children: content
1262
1317
  }));
1263
1318
  };
1319
+ /**
1320
+ * The row above the work area. From 48 to 64 rem it holds the button that
1321
+ * opens the overlay sidebar. On a page with a page above it, at every width,
1322
+ * it shows the host's page title with the way up (see `PageTitle`); the
1323
+ * page's own `PageTitle` takes its place. It is one fixed height and draws no
1324
+ * line; CSS decides when it shows, so the server-rendered page already has
1325
+ * its final geometry.
1326
+ */
1327
+ function AppWorkspaceHead(props) {
1328
+ const messages = useWorkspaceMessages();
1329
+ // A nested workspace is part of a page that already shows its title.
1330
+ const trail = props.nested ? () => undefined : usePageTrail();
1331
+ return _$ssr(_tmpl$40, _$ssrAttribute("data-trail", trail()?.ancestors.length ? "up" : trail() ? "title" : _$escape(undefined, true), false), _$escape(_$createComponent(IconButton, {
1332
+ "class": "k2b-app-workspace__head-toggle",
1333
+ get label() {
1334
+ return messages().showNavigation;
1335
+ },
1336
+ get ["aria-controls"]() {
1337
+ return props.sidebarId();
1338
+ },
1339
+ "aria-expanded": "false",
1340
+ "data-app-workspace-sidebar-toggle": "",
1341
+ get children() {
1342
+ return _$ssr(_tmpl$39);
1343
+ }
1344
+ })), _$escape(_$createComponent(Show, {
1345
+ get when() {
1346
+ return trail();
1347
+ },
1348
+ children: current => _$createComponent(PageTitle, {
1349
+ get trail() {
1350
+ return current();
1351
+ },
1352
+ as: "p",
1353
+ fallback: true
1354
+ })
1355
+ })));
1356
+ }
1264
1357
  const AppWorkspace = props => {
1265
1358
  let root;
1266
1359
  const serverLayoutState = useContext(LayoutStateContext);
1360
+ const nested = Boolean(useContext(WorkspaceContext));
1361
+ const [sidebarId, setSidebarId] = createSignal(`k2b-workspace-sidebar-${createUniqueId()}`);
1362
+ const workspace = {
1363
+ sidebarId: sidebarId(),
1364
+ setSidebarId
1365
+ };
1267
1366
  const initialLayoutState = () => props.layoutState?.() ?? serverLayoutState;
1268
1367
 
1269
1368
  // The resize handles are inert markup until the controller is attached, so
@@ -1284,7 +1383,15 @@ const AppWorkspace = props => {
1284
1383
  return props.resizable !== false;
1285
1384
  },
1286
1385
  get children() {
1287
- return _$ssr(_tmpl$36, `k2b-app-workspace ${_$escape(props.class ?? "", true)}`, _$ssrAttribute("data-mobile-surface", _$escape(props.mobileSurface, true), false) + _$ssrAttribute("data-sidebar-collapsed", initialLayoutState()?.sidebarCollapsed === undefined ? _$escape(undefined, true) : _$escape(String(initialLayoutState()?.sidebarCollapsed), true), false) + _$ssrAttribute("data-workspace-resizable", props.resizable === false ? "false" : "true", false), _$ssrStyle(appWorkspaceLayoutStyle(initialLayoutState())), _$escape(props.children));
1386
+ return _$createComponent(WorkspaceContext.Provider, {
1387
+ value: workspace,
1388
+ get children() {
1389
+ return _$ssr(_tmpl$41, `k2b-app-workspace ${_$escape(props.class ?? "", true)}`, _$ssrAttribute("data-mobile-surface", _$escape(props.mobileSurface, true), false) + _$ssrAttribute("data-sidebar-collapsed", initialLayoutState()?.sidebarCollapsed === undefined ? _$escape(undefined, true) : _$escape(String(initialLayoutState()?.sidebarCollapsed), true), false) + _$ssrAttribute("data-workspace-resizable", props.resizable === false ? "false" : "true", false), _$ssrStyle(appWorkspaceLayoutStyle(initialLayoutState())), _$escape(_$createComponent(AppWorkspaceHead, {
1390
+ sidebarId: sidebarId,
1391
+ nested: nested
1392
+ })), _$escape(props.children));
1393
+ }
1394
+ });
1288
1395
  }
1289
1396
  });
1290
1397
  };
@@ -1296,7 +1403,7 @@ AppWorkspace.LayoutStateProvider = props => _$createComponent(LayoutStateContext
1296
1403
  return props.children;
1297
1404
  }
1298
1405
  });
1299
- AppWorkspace.Content = props => _$ssr(_tmpl$37, `k2b-app-workspace__content ${_$escape(props.class ?? "", true)}`, _$escape(props.children));
1406
+ AppWorkspace.Content = props => _$ssr(_tmpl$42, `k2b-app-workspace__content ${_$escape(props.class ?? "", true)}`, _$escape(props.children));
1300
1407
  AppWorkspace.Main = AppWorkspaceMain;
1301
1408
  AppWorkspace.MainPane = AppWorkspaceMainPane;
1302
1409
  AppWorkspace.Detail = AppWorkspaceDetail;