@k2b/ui 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. package/dist/browser/actions/Button.js.map +1 -1
  2. package/dist/browser/actions/ContextMenu.js.map +1 -1
  3. package/dist/browser/actions/CopyButton.js.map +1 -1
  4. package/dist/browser/actions/Disclosure.js.map +1 -1
  5. package/dist/browser/actions/Dropdown.js.map +1 -1
  6. package/dist/browser/actions/FilterChip.js.map +1 -1
  7. package/dist/browser/actions/RemoveButton.js.map +1 -1
  8. package/dist/browser/actions/SegmentedControl.js.map +1 -1
  9. package/dist/browser/actions/SplitButton.js.map +1 -1
  10. package/dist/browser/actions/SpotlightSearch.js.map +1 -1
  11. package/dist/browser/actions/Tabs.js.map +1 -1
  12. package/dist/browser/actions/Toolbar.js.map +1 -1
  13. package/dist/browser/actions/index.js.map +1 -1
  14. package/dist/browser/chat/ChatComposer.js.map +1 -1
  15. package/dist/browser/chat/ChatContextPopup.js.map +1 -1
  16. package/dist/browser/chat/ChatPrimitives.js.map +1 -1
  17. package/dist/browser/chat/ChatRoot.js.map +1 -1
  18. package/dist/browser/chat/ChatTasks.js +1 -1
  19. package/dist/browser/chat/ChatTasks.js.map +1 -1
  20. package/dist/browser/chat/ChatTimeline.js.map +1 -1
  21. package/dist/browser/chat/chat-behavior.js.map +1 -1
  22. package/dist/browser/chat/composer-document.js.map +1 -1
  23. package/dist/browser/chat/index.js.map +1 -1
  24. package/dist/browser/content/Calendar.js.map +1 -1
  25. package/dist/browser/content/Chart.js.map +1 -1
  26. package/dist/browser/content/ChartExplorer.js.map +1 -1
  27. package/dist/browser/content/ChartExplorerControls.js.map +1 -1
  28. package/dist/browser/content/ChartFilterControls.js +1 -1
  29. package/dist/browser/content/ChartFilterControls.js.map +1 -1
  30. package/dist/browser/content/ChartSnapshotView.js.map +1 -1
  31. package/dist/browser/content/CodeDisplay.js.map +1 -1
  32. package/dist/browser/content/DataTable.js.map +1 -1
  33. package/dist/browser/content/Docs.js.map +1 -1
  34. package/dist/browser/content/FileBrowser.js.map +1 -1
  35. package/dist/browser/content/FileGrid.js.map +1 -1
  36. package/dist/browser/content/FileTree.js.map +1 -1
  37. package/dist/browser/content/FileView.js.map +1 -1
  38. package/dist/browser/content/Lightbox.js.map +1 -1
  39. package/dist/browser/content/LogEntriesTable.js.map +1 -1
  40. package/dist/browser/content/MarkdownView.js.map +1 -1
  41. package/dist/browser/content/Pagination.js.map +1 -1
  42. package/dist/browser/content/PdfPreview.js.map +1 -1
  43. package/dist/browser/content/RangePicker.js.map +1 -1
  44. package/dist/browser/content/StructuredDataPreview.js.map +1 -1
  45. package/dist/browser/content/calendar-event-layout.js.map +1 -1
  46. package/dist/browser/content/calendar-pointer.js.map +1 -1
  47. package/dist/browser/content/chart-cursor.js.map +1 -1
  48. package/dist/browser/content/chart-explorer.js.map +1 -1
  49. package/dist/browser/content/chart-inspection.js.map +1 -1
  50. package/dist/browser/content/chart-line-gaps.js.map +1 -1
  51. package/dist/browser/content/chart-map-viewport.js.map +1 -1
  52. package/dist/browser/content/chart-snapshot.js.map +1 -1
  53. package/dist/browser/content/chart-state-timeline.js.map +1 -1
  54. package/dist/browser/content/chart-svg.js.map +1 -1
  55. package/dist/browser/content/code-highlight.js.map +1 -1
  56. package/dist/browser/content/collection-selection.js.map +1 -1
  57. package/dist/browser/content/delimited-preferences.js.map +1 -1
  58. package/dist/browser/content/file-tree.js.map +1 -1
  59. package/dist/browser/content/file-view-preview.js.map +1 -1
  60. package/dist/browser/content/index.js.map +1 -1
  61. package/dist/browser/feedback/InlineGuidance.js.map +1 -1
  62. package/dist/browser/feedback/Tooltip.js.map +1 -1
  63. package/dist/browser/feedback/dialog-core.js.map +1 -1
  64. package/dist/browser/feedback/index.js.map +1 -1
  65. package/dist/browser/feedback/prompts.js.map +1 -1
  66. package/dist/browser/feedback/toast.js.map +1 -1
  67. package/dist/browser/feedback/tooltip-position.js.map +1 -1
  68. package/dist/browser/inputs/AutocompleteEditor.js.map +1 -1
  69. package/dist/browser/inputs/AutocompleteSelect.js.map +1 -1
  70. package/dist/browser/inputs/Checkbox.js.map +1 -1
  71. package/dist/browser/inputs/CheckboxCard.js.map +1 -1
  72. package/dist/browser/inputs/ChoiceGroups.js.map +1 -1
  73. package/dist/browser/inputs/ChoiceInputs.js.map +1 -1
  74. package/dist/browser/inputs/Combobox.js.map +1 -1
  75. package/dist/browser/inputs/DatePicker.js.map +1 -1
  76. package/dist/browser/inputs/FileInputs.js.map +1 -1
  77. package/dist/browser/inputs/MultiSelectInput.js.map +1 -1
  78. package/dist/browser/inputs/NumberInput.js.map +1 -1
  79. package/dist/browser/inputs/Select.js.map +1 -1
  80. package/dist/browser/inputs/SelectChip.js.map +1 -1
  81. package/dist/browser/inputs/SpecialInputs.js.map +1 -1
  82. package/dist/browser/inputs/Switch.js.map +1 -1
  83. package/dist/browser/inputs/TagEditor.js.map +1 -1
  84. package/dist/browser/inputs/TagsInput.js.map +1 -1
  85. package/dist/browser/inputs/TemplateEditor.js.map +1 -1
  86. package/dist/browser/inputs/TextInput.js.map +1 -1
  87. package/dist/browser/inputs/choice.js.map +1 -1
  88. package/dist/browser/inputs/completion/behaviors.js.map +1 -1
  89. package/dist/browser/inputs/completion/engine.js.map +1 -1
  90. package/dist/browser/inputs/completion/index.js.map +1 -1
  91. package/dist/browser/inputs/completion/overlay.js.map +1 -1
  92. package/dist/browser/inputs/date-picker.js.map +1 -1
  93. package/dist/browser/inputs/editor-dom.js.map +1 -1
  94. package/dist/browser/inputs/field-contract.js.map +1 -1
  95. package/dist/browser/inputs/icon-options.js.map +1 -1
  96. package/dist/browser/inputs/image-crop.js.map +1 -1
  97. package/dist/browser/inputs/index.js.map +1 -1
  98. package/dist/browser/inputs/markdown/MarkdownEditor.js.map +1 -1
  99. package/dist/browser/inputs/markdown/Toolbar.js.map +1 -1
  100. package/dist/browser/inputs/markdown/actions.js.map +1 -1
  101. package/dist/browser/inputs/markdown/active-formats.js.map +1 -1
  102. package/dist/browser/inputs/markdown/behaviors.js.map +1 -1
  103. package/dist/browser/inputs/markdown/code-zone.js.map +1 -1
  104. package/dist/browser/internal/color.js.map +1 -1
  105. package/dist/browser/internal/field.js.map +1 -1
  106. package/dist/browser/internal/portal.js.map +1 -1
  107. package/dist/browser/intl/Format.js.map +1 -1
  108. package/dist/browser/intl/index.js.map +1 -1
  109. package/dist/browser/intl/locale.js.map +1 -1
  110. package/dist/browser/intl/messages.js.map +1 -1
  111. package/dist/browser/layout/AppOverview.js.map +1 -1
  112. package/dist/browser/layout/AppWorkspace.js.map +1 -1
  113. package/dist/browser/layout/BottomSheet.js.map +1 -1
  114. package/dist/browser/layout/DataPanel.js.map +1 -1
  115. package/dist/browser/layout/DetailPanel.js.map +1 -1
  116. package/dist/browser/layout/Discussion.js.map +1 -1
  117. package/dist/browser/layout/FloatingWindow.js.map +1 -1
  118. package/dist/browser/layout/Navigation.js.map +1 -1
  119. package/dist/browser/layout/PanelDialog.js.map +1 -1
  120. package/dist/browser/layout/PanelHeader.js.map +1 -1
  121. package/dist/browser/layout/Panes.js.map +1 -1
  122. package/dist/browser/layout/PullToRefresh.js.map +1 -1
  123. package/dist/browser/layout/ScrollArea.js.map +1 -1
  124. package/dist/browser/layout/Settings.js.map +1 -1
  125. package/dist/browser/layout/SettingsCollection.js.map +1 -1
  126. package/dist/browser/layout/SettingsModal.js.map +1 -1
  127. package/dist/browser/layout/SidebarItemPreview.js.map +1 -1
  128. package/dist/browser/layout/app-workspace-controller.js.map +1 -1
  129. package/dist/browser/layout/app-workspace-state.js.map +1 -1
  130. package/dist/browser/layout/floating-window-geometry.js.map +1 -1
  131. package/dist/browser/layout/index.js.map +1 -1
  132. package/dist/browser/layout/navigation-model.js.map +1 -1
  133. package/dist/browser/layout/panes-layout.js.map +1 -1
  134. package/dist/browser/layout/scroll-fade.js.map +1 -1
  135. package/dist/browser/layout/stable-id.js.map +1 -1
  136. package/dist/browser/surfaces/Avatar.js.map +1 -1
  137. package/dist/browser/surfaces/DescriptionList.js.map +1 -1
  138. package/dist/browser/surfaces/LinkCard.js.map +1 -1
  139. package/dist/browser/surfaces/NotFoundState.js.map +1 -1
  140. package/dist/browser/surfaces/NoticeCard.js.map +1 -1
  141. package/dist/browser/surfaces/Paper.js.map +1 -1
  142. package/dist/browser/surfaces/Placeholder.js.map +1 -1
  143. package/dist/browser/surfaces/ProgressBar.js.map +1 -1
  144. package/dist/browser/surfaces/StatCell.js.map +1 -1
  145. package/dist/browser/surfaces/StatGrid.js.map +1 -1
  146. package/dist/browser/surfaces/StatusBadge.js.map +1 -1
  147. package/dist/browser/surfaces/Tag.js.map +1 -1
  148. package/dist/browser/surfaces/index.js.map +1 -1
  149. package/dist/browser/widgets/Widget.js.map +1 -1
  150. package/dist/browser/widgets/WidgetHero.js.map +1 -1
  151. package/dist/browser/widgets/WidgetList.js.map +1 -1
  152. package/dist/browser/widgets/WidgetPills.js.map +1 -1
  153. package/dist/browser/widgets/WidgetStat.js.map +1 -1
  154. package/dist/browser/widgets/WidgetStatus.js.map +1 -1
  155. package/dist/ssr/actions/Button.js +5 -4
  156. package/dist/ssr/actions/Button.js.map +1 -1
  157. package/dist/ssr/actions/ContextMenu.js.map +1 -1
  158. package/dist/ssr/actions/CopyButton.js +2 -1
  159. package/dist/ssr/actions/CopyButton.js.map +1 -1
  160. package/dist/ssr/actions/Disclosure.js.map +1 -1
  161. package/dist/ssr/actions/Dropdown.js +7 -6
  162. package/dist/ssr/actions/Dropdown.js.map +1 -1
  163. package/dist/ssr/actions/FilterChip.js +5 -4
  164. package/dist/ssr/actions/FilterChip.js.map +1 -1
  165. package/dist/ssr/actions/RemoveButton.js +1 -0
  166. package/dist/ssr/actions/RemoveButton.js.map +1 -1
  167. package/dist/ssr/actions/SegmentedControl.js.map +1 -1
  168. package/dist/ssr/actions/SplitButton.js +1 -0
  169. package/dist/ssr/actions/SplitButton.js.map +1 -1
  170. package/dist/ssr/actions/SpotlightSearch.js.map +1 -1
  171. package/dist/ssr/actions/Tabs.js.map +1 -1
  172. package/dist/ssr/actions/Toolbar.js.map +1 -1
  173. package/dist/ssr/actions/index.js.map +1 -1
  174. package/dist/ssr/chat/ChatComposer.js +6 -5
  175. package/dist/ssr/chat/ChatComposer.js.map +1 -1
  176. package/dist/ssr/chat/ChatContextPopup.js.map +1 -1
  177. package/dist/ssr/chat/ChatPrimitives.js +6 -5
  178. package/dist/ssr/chat/ChatPrimitives.js.map +1 -1
  179. package/dist/ssr/chat/ChatRoot.js.map +1 -1
  180. package/dist/ssr/chat/ChatTasks.js +1 -1
  181. package/dist/ssr/chat/ChatTasks.js.map +1 -1
  182. package/dist/ssr/chat/ChatTimeline.js +5 -4
  183. package/dist/ssr/chat/ChatTimeline.js.map +1 -1
  184. package/dist/ssr/chat/chat-behavior.js.map +1 -1
  185. package/dist/ssr/chat/composer-document.js.map +1 -1
  186. package/dist/ssr/chat/index.js.map +1 -1
  187. package/dist/ssr/content/Calendar.js +2 -1
  188. package/dist/ssr/content/Calendar.js.map +1 -1
  189. package/dist/ssr/content/Chart.js.map +1 -1
  190. package/dist/ssr/content/ChartExplorer.js.map +1 -1
  191. package/dist/ssr/content/ChartExplorerControls.js +5 -4
  192. package/dist/ssr/content/ChartExplorerControls.js.map +1 -1
  193. package/dist/ssr/content/ChartFilterControls.js +3 -2
  194. package/dist/ssr/content/ChartFilterControls.js.map +1 -1
  195. package/dist/ssr/content/ChartSnapshotView.js.map +1 -1
  196. package/dist/ssr/content/CodeDisplay.js.map +1 -1
  197. package/dist/ssr/content/DataTable.js +1 -0
  198. package/dist/ssr/content/DataTable.js.map +1 -1
  199. package/dist/ssr/content/Docs.js +1 -0
  200. package/dist/ssr/content/Docs.js.map +1 -1
  201. package/dist/ssr/content/FileBrowser.js +2 -1
  202. package/dist/ssr/content/FileBrowser.js.map +1 -1
  203. package/dist/ssr/content/FileGrid.js.map +1 -1
  204. package/dist/ssr/content/FileTree.js +2 -1
  205. package/dist/ssr/content/FileTree.js.map +1 -1
  206. package/dist/ssr/content/FileView.js +5 -4
  207. package/dist/ssr/content/FileView.js.map +1 -1
  208. package/dist/ssr/content/Lightbox.js +2 -1
  209. package/dist/ssr/content/Lightbox.js.map +1 -1
  210. package/dist/ssr/content/LogEntriesTable.js.map +1 -1
  211. package/dist/ssr/content/MarkdownView.js.map +1 -1
  212. package/dist/ssr/content/Pagination.js +2 -1
  213. package/dist/ssr/content/Pagination.js.map +1 -1
  214. package/dist/ssr/content/PdfPreview.js.map +1 -1
  215. package/dist/ssr/content/RangePicker.js.map +1 -1
  216. package/dist/ssr/content/StructuredDataPreview.js.map +1 -1
  217. package/dist/ssr/content/calendar-event-layout.js.map +1 -1
  218. package/dist/ssr/content/calendar-pointer.js.map +1 -1
  219. package/dist/ssr/content/chart-cursor.js.map +1 -1
  220. package/dist/ssr/content/chart-explorer.js.map +1 -1
  221. package/dist/ssr/content/chart-inspection.js.map +1 -1
  222. package/dist/ssr/content/chart-line-gaps.js.map +1 -1
  223. package/dist/ssr/content/chart-map-viewport.js.map +1 -1
  224. package/dist/ssr/content/chart-snapshot.js.map +1 -1
  225. package/dist/ssr/content/chart-state-timeline.js.map +1 -1
  226. package/dist/ssr/content/chart-svg.js.map +1 -1
  227. package/dist/ssr/content/code-highlight.js.map +1 -1
  228. package/dist/ssr/content/collection-selection.js.map +1 -1
  229. package/dist/ssr/content/delimited-preferences.js.map +1 -1
  230. package/dist/ssr/content/file-tree.js.map +1 -1
  231. package/dist/ssr/content/file-view-preview.js.map +1 -1
  232. package/dist/ssr/content/index.js.map +1 -1
  233. package/dist/ssr/feedback/InlineGuidance.js.map +1 -1
  234. package/dist/ssr/feedback/Tooltip.js.map +1 -1
  235. package/dist/ssr/feedback/dialog-core.js.map +1 -1
  236. package/dist/ssr/feedback/index.js.map +1 -1
  237. package/dist/ssr/feedback/prompts.js +3 -2
  238. package/dist/ssr/feedback/prompts.js.map +1 -1
  239. package/dist/ssr/feedback/toast.js.map +1 -1
  240. package/dist/ssr/feedback/tooltip-position.js.map +1 -1
  241. package/dist/ssr/inputs/AutocompleteEditor.js +3 -2
  242. package/dist/ssr/inputs/AutocompleteEditor.js.map +1 -1
  243. package/dist/ssr/inputs/AutocompleteSelect.js +5 -4
  244. package/dist/ssr/inputs/AutocompleteSelect.js.map +1 -1
  245. package/dist/ssr/inputs/Checkbox.js +1 -0
  246. package/dist/ssr/inputs/Checkbox.js.map +1 -1
  247. package/dist/ssr/inputs/CheckboxCard.js.map +1 -1
  248. package/dist/ssr/inputs/ChoiceGroups.js.map +1 -1
  249. package/dist/ssr/inputs/ChoiceInputs.js +1 -0
  250. package/dist/ssr/inputs/ChoiceInputs.js.map +1 -1
  251. package/dist/ssr/inputs/Combobox.js +2 -1
  252. package/dist/ssr/inputs/Combobox.js.map +1 -1
  253. package/dist/ssr/inputs/DatePicker.js +4 -3
  254. package/dist/ssr/inputs/DatePicker.js.map +1 -1
  255. package/dist/ssr/inputs/FileInputs.js +2 -1
  256. package/dist/ssr/inputs/FileInputs.js.map +1 -1
  257. package/dist/ssr/inputs/MultiSelectInput.js +4 -3
  258. package/dist/ssr/inputs/MultiSelectInput.js.map +1 -1
  259. package/dist/ssr/inputs/NumberInput.js +2 -1
  260. package/dist/ssr/inputs/NumberInput.js.map +1 -1
  261. package/dist/ssr/inputs/Select.js +4 -3
  262. package/dist/ssr/inputs/Select.js.map +1 -1
  263. package/dist/ssr/inputs/SelectChip.js +3 -2
  264. package/dist/ssr/inputs/SelectChip.js.map +1 -1
  265. package/dist/ssr/inputs/SpecialInputs.js +1 -0
  266. package/dist/ssr/inputs/SpecialInputs.js.map +1 -1
  267. package/dist/ssr/inputs/Switch.js.map +1 -1
  268. package/dist/ssr/inputs/TagEditor.js +3 -2
  269. package/dist/ssr/inputs/TagEditor.js.map +1 -1
  270. package/dist/ssr/inputs/TagsInput.js.map +1 -1
  271. package/dist/ssr/inputs/TemplateEditor.js +1 -0
  272. package/dist/ssr/inputs/TemplateEditor.js.map +1 -1
  273. package/dist/ssr/inputs/TextInput.js +4 -3
  274. package/dist/ssr/inputs/TextInput.js.map +1 -1
  275. package/dist/ssr/inputs/choice.js.map +1 -1
  276. package/dist/ssr/inputs/completion/behaviors.js.map +1 -1
  277. package/dist/ssr/inputs/completion/engine.js.map +1 -1
  278. package/dist/ssr/inputs/completion/index.js.map +1 -1
  279. package/dist/ssr/inputs/completion/overlay.js.map +1 -1
  280. package/dist/ssr/inputs/date-picker.js.map +1 -1
  281. package/dist/ssr/inputs/editor-dom.js.map +1 -1
  282. package/dist/ssr/inputs/field-contract.js.map +1 -1
  283. package/dist/ssr/inputs/icon-options.js.map +1 -1
  284. package/dist/ssr/inputs/image-crop.js.map +1 -1
  285. package/dist/ssr/inputs/index.js.map +1 -1
  286. package/dist/ssr/inputs/markdown/MarkdownEditor.js +3 -2
  287. package/dist/ssr/inputs/markdown/MarkdownEditor.js.map +1 -1
  288. package/dist/ssr/inputs/markdown/Toolbar.js.map +1 -1
  289. package/dist/ssr/inputs/markdown/actions.js.map +1 -1
  290. package/dist/ssr/inputs/markdown/active-formats.js.map +1 -1
  291. package/dist/ssr/inputs/markdown/behaviors.js.map +1 -1
  292. package/dist/ssr/inputs/markdown/code-zone.js.map +1 -1
  293. package/dist/ssr/internal/color.js.map +1 -1
  294. package/dist/ssr/internal/field.js.map +1 -1
  295. package/dist/ssr/internal/portal.js.map +1 -1
  296. package/dist/ssr/intl/Format.js.map +1 -1
  297. package/dist/ssr/intl/index.js.map +1 -1
  298. package/dist/ssr/intl/locale.js.map +1 -1
  299. package/dist/ssr/intl/messages.js.map +1 -1
  300. package/dist/ssr/layout/AppOverview.js +2 -1
  301. package/dist/ssr/layout/AppOverview.js.map +1 -1
  302. package/dist/ssr/layout/AppWorkspace.js +7 -6
  303. package/dist/ssr/layout/AppWorkspace.js.map +1 -1
  304. package/dist/ssr/layout/BottomSheet.js.map +1 -1
  305. package/dist/ssr/layout/DataPanel.js +1 -0
  306. package/dist/ssr/layout/DataPanel.js.map +1 -1
  307. package/dist/ssr/layout/DetailPanel.js +1 -0
  308. package/dist/ssr/layout/DetailPanel.js.map +1 -1
  309. package/dist/ssr/layout/Discussion.js +3 -2
  310. package/dist/ssr/layout/Discussion.js.map +1 -1
  311. package/dist/ssr/layout/FloatingWindow.js +1 -0
  312. package/dist/ssr/layout/FloatingWindow.js.map +1 -1
  313. package/dist/ssr/layout/Navigation.js +3 -2
  314. package/dist/ssr/layout/Navigation.js.map +1 -1
  315. package/dist/ssr/layout/PanelDialog.js +1 -0
  316. package/dist/ssr/layout/PanelDialog.js.map +1 -1
  317. package/dist/ssr/layout/PanelHeader.js.map +1 -1
  318. package/dist/ssr/layout/Panes.js.map +1 -1
  319. package/dist/ssr/layout/PullToRefresh.js.map +1 -1
  320. package/dist/ssr/layout/ScrollArea.js.map +1 -1
  321. package/dist/ssr/layout/Settings.js +2 -1
  322. package/dist/ssr/layout/Settings.js.map +1 -1
  323. package/dist/ssr/layout/SettingsCollection.js +1 -0
  324. package/dist/ssr/layout/SettingsCollection.js.map +1 -1
  325. package/dist/ssr/layout/SettingsModal.js.map +1 -1
  326. package/dist/ssr/layout/SidebarItemPreview.js.map +1 -1
  327. package/dist/ssr/layout/app-workspace-controller.js.map +1 -1
  328. package/dist/ssr/layout/app-workspace-state.js.map +1 -1
  329. package/dist/ssr/layout/floating-window-geometry.js.map +1 -1
  330. package/dist/ssr/layout/index.js.map +1 -1
  331. package/dist/ssr/layout/navigation-model.js.map +1 -1
  332. package/dist/ssr/layout/panes-layout.js.map +1 -1
  333. package/dist/ssr/layout/scroll-fade.js.map +1 -1
  334. package/dist/ssr/layout/stable-id.js.map +1 -1
  335. package/dist/ssr/surfaces/Avatar.js +2 -1
  336. package/dist/ssr/surfaces/Avatar.js.map +1 -1
  337. package/dist/ssr/surfaces/DescriptionList.js.map +1 -1
  338. package/dist/ssr/surfaces/LinkCard.js.map +1 -1
  339. package/dist/ssr/surfaces/NotFoundState.js.map +1 -1
  340. package/dist/ssr/surfaces/NoticeCard.js.map +1 -1
  341. package/dist/ssr/surfaces/Paper.js +2 -1
  342. package/dist/ssr/surfaces/Paper.js.map +1 -1
  343. package/dist/ssr/surfaces/Placeholder.js +2 -1
  344. package/dist/ssr/surfaces/Placeholder.js.map +1 -1
  345. package/dist/ssr/surfaces/ProgressBar.js.map +1 -1
  346. package/dist/ssr/surfaces/StatCell.js +2 -1
  347. package/dist/ssr/surfaces/StatCell.js.map +1 -1
  348. package/dist/ssr/surfaces/StatGrid.js +1 -0
  349. package/dist/ssr/surfaces/StatGrid.js.map +1 -1
  350. package/dist/ssr/surfaces/StatusBadge.js.map +1 -1
  351. package/dist/ssr/surfaces/Tag.js.map +1 -1
  352. package/dist/ssr/surfaces/index.js.map +1 -1
  353. package/dist/ssr/widgets/Widget.js +1 -0
  354. package/dist/ssr/widgets/Widget.js.map +1 -1
  355. package/dist/ssr/widgets/WidgetHero.js.map +1 -1
  356. package/dist/ssr/widgets/WidgetList.js.map +1 -1
  357. package/dist/ssr/widgets/WidgetPills.js.map +1 -1
  358. package/dist/ssr/widgets/WidgetStat.js +1 -0
  359. package/dist/ssr/widgets/WidgetStat.js.map +1 -1
  360. package/dist/ssr/widgets/WidgetStatus.js.map +1 -1
  361. package/dist/styles.css +1 -1
  362. package/dist/types/actions/SpotlightSearch.d.ts +1 -1
  363. package/dist/types/feedback/prompts.d.ts +2 -2
  364. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"names":["Link","dates","calendar","createMemo","createSignal","For","mergeProps","onCleanup","onMount","Show","Button","SegmentedControl","useDateConfigLocale","useUiMessages","layoutCalendarIntervals","calendarDayIndexAtPoint","calendarMinuteAtPoint","startCalendarPointerSession","ownerDateConfig","owner","dateConfig","timeZone","firstDayOfWeek","weekStartsOn","dateOnlyPattern","parseDate","value","context","Date","test","parseCalendarDate","normalized","includes","replace","parsed","Number","isNaN","getTime","year","month","day","split","validDate","weekNumber","date","target","UTC","getFullYear","getMonth","getDate","getUTCDay","setUTCDate","getUTCDate","yearStart","getUTCFullYear","Math","ceil","zonedWeekNumber","formatDateKey","formatTime","formatDay","toLocaleDateString","locale","weekday","formatMonth","formatMonthYear","zonedYearMonth","zonedMonthDate","String","padStart","zonedDateTimeToInstant","disambiguation","startOfDay","endOfDay","isStartOfDay","addMinutes","minutes","zonedHour","getHours","getMinutes","instantToZonedInput","slice","zonedSlot","hour","zonedMinuteSlot","minuteOfDay","bounded","max","min","floor","minute","normalizeEvents","events","flatMap","event","startDate","start","parsedEnd","end","endDate","duration","rangeEnd","startKey","endKey","allDay","sourceStartDate","sourceEndDate","dayKey","lastDay","addDays","days","segmentStart","segmentEnd","push","eventHref","props","getEventHref","href","moveEventTo","setSeconds","moveEventToDay","localStart","eventTimeChanged","next","Boolean","previewSegments","preview","id","title","color","filter","some","timedEventLayouts","map","item","lane","lanes","groupId","groupStart","groupEnd","groupStartDate","groupEndDate","EventChip","selected","selectedEventId","style","colorHex","undefined","isInteractive","onEventActivate","durationHours","short","fill","showTime","compact","showLocation","location","showDescription","description","trim","timeLabel","renderedEvent","renderEvent","defaultContent","_el$","_$getNextElement","_tmpl$","_$insert","_$createComponent","when","children","_el$2","_tmpl$2","_el$3","_el$4","_tmpl$3","content","isActionable","onMovePointerDown","suppressClickUntil","onClick","performance","now","preventDefault","stopPropagation","eventActivation","onDoubleClick","onButtonKeyDown","key","onPointerDown","pointerType","_el$5","_tmpl$4","$$pointerdown","_$addEventListener","$$dblclick","$$click","_$effect","_p$","_v$","_v$2","_v$3","_v$4","_v$5","_v$6","_v$7","moving","_v$8","_v$9","display","_v$0","dataSpaceItemId","_v$1","_v$10","_v$11","e","_$setAttribute","t","a","o","i","n","s","h","r","d","l","_$style","u","c","_$runHydrationEvents","_el$6","_tmpl$5","$$keydown","_v$12","_v$13","_v$14","_v$15","_v$16","_v$17","_v$18","_v$19","_v$20","_el$7","_tmpl$6","_v$21","_v$22","_v$23","_v$24","_v$25","_v$26","_v$27","_v$28","_v$29","slotInteractionProps","slot","suppressed","nativeControl","isSlotChild","Element","control","closest","currentTarget","interactive","onSlotActivate","activate","role","tabIndex","slotActivation","onDblClick","onKeyDown","CalendarNavigationLink","preload","onPrefetch","navigateHref","anchor","defaultPrevented","button","metaKey","ctrlKey","shiftKey","altKey","hasAttribute","URL","origin","window","onNavigateHref","_el$8","_tmpl$7","_$spread","_$mergeProps","anchorProps","onNavigate","scroll","onPointerEnter","onFocus","_el$9","CalendarViewLinks","messages","refs","selectRelative","currentIndex","direction","options","length","click","index","_el$0","_tmpl$8","each","option","active","view","getViewHref","ref","element","class","label","calendarView","adjacentCalendarDate","addMonths","CalendarHeader","previous","Intl","DateTimeFormat","format","startOfWeek","goDate","onDateChange","goView","onViewChange","navButton","icon","getDateHref","_el$1","_tmpl$9","_$className","_el$10","_tmpl$0","_el$11","firstChild","_el$12","todayButton","today","_el$13","_tmpl$1","labels","type","variant","size","viewOptions","week","views","_el$14","_tmpl$11","_el$15","_el$17","_el$18","_co$","_$getNextMarker","nextSibling","_el$19","_el$20","_co$2","_el$16","_el$21","_el$22","_el$23","_co$3","_el$24","_el$25","_co$4","_el$26","_el$27","_co$5","_el$29","_el$30","_co$6","_$memo","fallback","onValueChange","ariaLabel","toolbarActions","navigationPending","_tmpl$10","MonthView","movePreview","setMovePreview","movingEventId","setMovingEventId","cancelInteraction","suppressSlotClickUntil","weeks","getMonthGrid","weekdays","todayKey","eventsByDay","grouped","Map","get","set","clearMove","dayAtPoint","clientX","clientY","document","elementFromPoint","dataset","calendarDayKey","startMove","pointerEvent","markDragged","onEventDrop","resolve","onActivate","onPreview","onCommit","onCancel","_el$31","_tmpl$13","_el$32","_el$34","_el$35","_co$7","_el$36","_el$37","_co$8","_el$38","_el$39","_co$9","withWeekNumbers","_el$33","_tmpl$12","weekShort","_el$40","_el$41","_tmpl$15","_el$43","_el$44","_co$0","_el$45","_el$46","_co$1","_el$42","_tmpl$14","dayBadge","dayBadges","sameMonth","isSameMonth","isToday","dayLabel","eventStack","previewForDay","candidates","visibleLimit","visibleEvents","hiddenCount","_el$47","_tmpl$18","_el$63","_el$64","_co$15","_el$49","_el$50","_el$51","_co$10","_el$52","_el$53","_co$11","_el$54","_el$56","_el$57","_co$12","_el$58","_el$59","_co$13","_el$60","_el$61","_co$14","_el$62","dayHref","openDate","_el$48","_tmpl$16","aria-label","createEventOn","_el$65","_tmpl$19","formatDayNumber","badge","_el$66","_tmpl$20","_el$67","_el$68","_co$16","_el$69","_el$70","_co$17","_el$71","_el$55","_tmpl$17","find","moveEvent","_el$72","_tmpl$21","_v$32","_v$33","_v$30","_v$31","_$setStyleProperty","TimeGridView","gridStartHour","visibleStartHour","gridEndHour","visibleEndHour","businessStartHour","startHour","businessEndHour","endHour","hours","Array","from","_","timePreview","setTimePreview","expandedOverflow","setExpandedOverflow","scrollContainer","timeGrid","timeGutter","defaultHourMarker","slotEnd","previewEvents","bucket","timed","clearInteraction","timeAtPoint","gridRect","getBoundingClientRect","gutterRect","dayIndex","right","top","height","beginInteraction","startTimedMove","pointerStart","offsetMinutes","round","pointer","startAllDayMove","startRange","current","endBase","timeRangeLayout","visibleStart","visibleEnd","total","eventLayout","isDayView","visibleLaneCount","overflowLayouts","layouts","groups","layout","existing","hiddenEvents","values","dayColumnMinWidth","laneStyle","layoutItem","laneWidth","left","width","visibleLanes","currentTimeLine","requestAnimationFrame","targetTop","scrollTo","scrollTop","behavior","_el$73","_tmpl$23","_el$74","_el$75","_el$76","_el$77","_co$18","_el$87","_el$88","_co$21","_el$82","_el$83","_el$84","_el$85","_el$86","_co$20","_el$89","_tmpl$24","_el$90","_tmpl$25","_el$91","_el$92","_co$22","_el$93","_el$94","_co$23","_el$95","hideAllDay","_el$78","_tmpl$22","_el$79","_el$80","_el$81","_co$19","previewAllDay","_el$96","_tmpl$26","_el$97","_el$98","_el$99","_co$24","_el$100","_el$101","_co$25","data-drop-preview","data-interactive","_el$102","_v$34","_v$35","allDayMaxHeightRem","_ref$","_$use","_ref$2","_ref$3","_el$103","_tmpl$27","_el$105","_el$106","_co$26","_el$104","_el$107","_tmpl$29","_el$109","_el$110","_co$27","_el$111","_el$112","_co$28","_el$113","_el$114","_co$29","_el$115","_el$116","_co$30","_el$117","_el$118","_co$31","_el$108","_tmpl$28","_$p","_el$119","_tmpl$30","data-outside-business","_el$120","_tmpl$32","_el$121","_el$129","_el$130","_co$34","_el$123","_el$125","_el$126","_co$32","_el$124","_el$127","_el$128","_co$33","_el$122","_tmpl$31","_v$41","_v$42","position","resizeStart","onEventResize","threshold","minimumEnd","_el$131","_tmpl$34","_el$132","_el$134","_el$135","_co$35","_el$136","_el$137","_co$36","_el$133","_tmpl$33","addEventListener","resizeEvent","_v$43","_v$44","_v$45","_v$46","_v$47","overflow","hiddenTitle","join","_el$138","_tmpl$35","_el$139","_el$140","_el$141","_el$142","_co$37","_v$48","_v$49","_v$50","_v$51","hiddenOverlappingEvents","count","_el$143","_tmpl$36","_el$144","_el$146","_el$147","_co$38","_el$145","_el$148","_el$149","_co$39","_el$150","_el$151","_co$40","_v$39","_v$40","_v$36","_v$37","_v$38","YearView","months","flat","outside","number","_el$152","_tmpl$37","_el$153","_tmpl$38","_el$154","_el$155","_el$156","_tmpl$39","_v$52","_v$53","_v$54","MobileMonthView","selectedDateKey","selectedDate","selectedEvents","_el$157","_tmpl$41","_el$163","_el$164","_co$42","_el$158","_el$159","_el$161","_el$162","_co$41","_el$165","_tmpl$42","noEvents","_el$160","_tmpl$40","CalendarBody","_el$166","_tmpl$43","Calendar","localizedConfig","safeDate","setNow","normalizedEvents","mergedLabels","getWeekDays","updateNow","interval","setInterval","clearInterval","removeEventListener","_el$167","_tmpl$44","_el$168","_el$169","_co$43","_el$170","_el$171","_co$44","_el$172","_el$173","_co$45","toolbarContent","_v$55","_v$56","_$delegateEvents"],"sources":["content/Calendar.tsx"],"sourcesContent":["import { Link, type LinkNavigateEvent } from \"@k2b/ssr/nav\";\nimport { dates as calendar, type DateContext } from \"@k2b/stdlib\";\nimport type { JSX, ParentProps } from \"solid-js\";\nimport { createMemo, createSignal, For, mergeProps, onCleanup, onMount, Show } from \"solid-js\";\nimport { Button } from \"../actions/Button\";\nimport SegmentedControl from \"../actions/SegmentedControl\";\nimport { useDateConfigLocale } from \"../intl/locale\";\nimport { useUiMessages } from \"../intl/messages\";\nimport { layoutCalendarIntervals } from \"./calendar-event-layout\";\nimport { calendarDayIndexAtPoint, calendarMinuteAtPoint, startCalendarPointerSession } from \"./calendar-pointer\";\n\nexport type CalendarView = \"day\" | \"week\" | \"month\" | \"year\" | \"mobile-month\";\n\nexport type CalendarEventColor = \"blue\" | \"emerald\" | \"amber\" | \"red\" | \"violet\" | \"cyan\" | \"zinc\";\n\nexport type CalendarEvent = {\n id: string;\n title: string;\n start: Date | string;\n end?: Date | string;\n allDay?: boolean;\n color?: CalendarEventColor;\n colorHex?: string;\n href?: string;\n dataSpaceItemId?: string;\n meta?: string;\n description?: string;\n display?: \"event\" | \"background\";\n location?: string;\n calendarName?: string;\n attendees?: CalendarAttendee[];\n resources?: CalendarResource[];\n recurrence?: CalendarRecurrence;\n};\n\nexport type CalendarAttendee = {\n name: string;\n status?: \"accepted\" | \"declined\" | \"tentative\" | \"needs-action\";\n};\n\nexport type CalendarResource = {\n name: string;\n kind?: \"room\" | \"equipment\" | \"link\" | \"other\";\n};\n\nexport type CalendarRecurrence = {\n rrule: string;\n exdate?: Array<Date | string>;\n recurrenceId?: Date | string;\n};\n\nexport type CalendarLabels = Partial<{\n today: string;\n day: string;\n week: string;\n month: string;\n year: string;\n allDay: string;\n noEvents: string;\n previous: string;\n next: string;\n}>;\n\nexport type CalendarEventRenderContext = {\n compact: boolean;\n fill: boolean;\n start: Date;\n end: Date;\n allDay: boolean;\n durationHours: number;\n timeLabel: string;\n};\n\nexport type CalendarProps = {\n date: Date | string;\n events: CalendarEvent[];\n view?: CalendarView;\n views?: CalendarView[];\n labels?: CalendarLabels;\n /** stdlib date context used for timezone-aware rendering and calendar math. */\n dateConfig?: DateContext;\n /** Convenience override for dateConfig.timeZone. */\n timeZone?: string;\n firstDayOfWeek?: 0 | 1;\n withWeekNumbers?: boolean;\n startHour?: number;\n endHour?: number;\n visibleStartHour?: number;\n visibleEndHour?: number;\n allDayMaxHeightRem?: number;\n hideAllDay?: boolean;\n selectedDate?: Date | string;\n selectedEventId?: string;\n dayBadges?: Record<string, CalendarDayBadge>;\n getViewHref?: (view: CalendarView) => string;\n getDateHref?: (date: Date, view: CalendarView) => string;\n getEventHref?: (event: CalendarEvent) => string | undefined;\n renderEvent?: (event: CalendarEvent, context: CalendarEventRenderContext) => JSX.Element;\n /** Progressively enhance canonical calendar links after the app has loaded their target state. */\n onNavigate?: (event: LinkNavigateEvent) => void | Promise<void>;\n /** Progressively enhance canonical links without a document view transition. */\n onNavigateHref?: (href: string) => void;\n /** Optionally preload the target behind a canonical calendar link. */\n onPrefetch?: (href: string) => void;\n navigationPending?: boolean;\n onViewChange?: (view: CalendarView) => void;\n onDateChange?: (date: Date, view: CalendarView) => void;\n /** One activation contract for pointer and keyboard input. */\n onEventActivate?: (event: CalendarEvent) => void;\n /** Pointer gesture used for activation. Keyboard activation is always immediate. */\n eventActivation?: \"single\" | \"double\";\n onEventDrop?: (event: CalendarEvent, next: CalendarEventTimeChange) => void;\n onEventResize?: (event: CalendarEvent, next: CalendarEventTimeChange) => void;\n onSlotActivate?: (slot: CalendarEventTimeChange) => void;\n /** Pointer gesture used for empty slots. Keyboard activation is always immediate. */\n slotActivation?: \"single\" | \"double\";\n toolbarActions?: JSX.Element;\n toolbarContent?: JSX.Element;\n class?: string;\n};\n\nexport type CalendarEventTimeChange = {\n start: Date;\n end: Date;\n allDay?: boolean;\n};\n\nexport type CalendarDayBadge = {\n icon?: string;\n label: string;\n};\n\ntype NormalizedEvent = CalendarEvent & {\n startDate: Date;\n endDate: Date;\n dayKey: string;\n sourceStartDate: Date;\n sourceEndDate: Date;\n};\n\ntype CalendarPreview = CalendarEventTimeChange & {\n id: string;\n title?: string;\n};\n\ntype TimedEventLayout = {\n event: NormalizedEvent;\n lane: number;\n lanes: number;\n groupId: number;\n groupStartDate: Date;\n groupEndDate: Date;\n};\n\ntype TimedOverflowLayout = {\n groupId: number;\n hiddenEvents: NormalizedEvent[];\n groupStartDate: Date;\n groupEndDate: Date;\n};\n\nconst ownerDateConfig = (owner: CalendarProps): DateContext => ({\n ...owner.dateConfig,\n timeZone: owner.timeZone ?? owner.dateConfig?.timeZone,\n firstDayOfWeek: owner.firstDayOfWeek ?? owner.dateConfig?.firstDayOfWeek ?? owner.dateConfig?.weekStartsOn ?? 1,\n});\n\nconst dateOnlyPattern = /^\\d{4}-\\d{2}-\\d{2}$/;\n\nconst parseDate = (value: Date | string, context?: DateContext): Date => {\n if (value instanceof Date) return new Date(value);\n if (dateOnlyPattern.test(value)) return calendar.parseCalendarDate(value, context);\n const normalized = value.includes(\"T\") ? value : value.replace(\" \", \"T\");\n const parsed = new Date(normalized);\n if (!Number.isNaN(parsed.getTime())) return parsed;\n const [year, month = \"1\", day = \"1\"] = value.split(\"-\");\n return new Date(Number(year), Number(month) - 1, Number(day), 12);\n};\n\nconst validDate = (value: Date): boolean => !Number.isNaN(value.getTime());\n\nconst weekNumber = (date: Date): number => {\n const target = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));\n const day = target.getUTCDay() || 7;\n target.setUTCDate(target.getUTCDate() + 4 - day);\n const yearStart = new Date(Date.UTC(target.getUTCFullYear(), 0, 1));\n return Math.ceil(((target.getTime() - yearStart.getTime()) / 86400000 + 1) / 7);\n};\nconst zonedWeekNumber = (date: Date, context?: DateContext): number => {\n if (!context?.timeZone) return weekNumber(date);\n const [year = \"1970\", month = \"1\", day = \"1\"] = calendar.formatDateKey(date, context).split(\"-\");\n return weekNumber(new Date(Date.UTC(Number(year), Number(month) - 1, Number(day))));\n};\n\nconst formatTime = (date: Date, context?: DateContext): string => calendar.formatTime(date, context);\nconst formatDay = (date: Date, context?: DateContext): string =>\n date.toLocaleDateString(context?.locale ?? \"en\", { weekday: \"short\", day: \"numeric\", timeZone: context?.timeZone });\nconst formatMonth = (date: Date, context?: DateContext): string => calendar.formatMonthYear(date, context);\nconst zonedYearMonth = (date: Date, context?: DateContext): { year: number; month: number } => {\n const [year = \"1970\", month = \"1\"] = calendar.formatDateKey(date, context).split(\"-\");\n return { year: Number(year), month: Number(month) - 1 };\n};\nconst zonedMonthDate = (year: number, month: number, context?: DateContext): Date => {\n const value = `${year}-${String(month + 1).padStart(2, \"0\")}-01T12:00`;\n if (!context?.timeZone) return parseDate(value);\n return new Date(calendar.zonedDateTimeToInstant(value, context.timeZone, { disambiguation: \"compatible\" }));\n};\n\nconst startOfDay = (date: Date, context?: DateContext): Date => calendar.startOfDay(date, context);\nconst endOfDay = (date: Date, context?: DateContext): Date => calendar.endOfDay(date, context);\nconst isStartOfDay = (date: Date, context?: DateContext): boolean => date.getTime() === startOfDay(date, context).getTime();\nconst addMinutes = (date: Date, minutes: number): Date => new Date(date.getTime() + minutes * 60 * 1000);\nconst zonedHour = (date: Date, context?: DateContext): number => {\n if (!context?.timeZone) return date.getHours() + date.getMinutes() / 60;\n const value = calendar.instantToZonedInput(date, context.timeZone);\n return Number(value.slice(11, 13)) + Number(value.slice(14, 16)) / 60;\n};\nconst zonedSlot = (day: Date, hour: number, context?: DateContext): Date => {\n return zonedMinuteSlot(day, hour * 60, context);\n};\nconst zonedMinuteSlot = (day: Date, minuteOfDay: number, context?: DateContext): Date => {\n const bounded = Math.max(0, Math.min(23 * 60 + 59, minuteOfDay));\n const hour = Math.floor(bounded / 60);\n const minute = bounded % 60;\n const value = `${calendar.formatDateKey(day, context)}T${String(hour).padStart(2, \"0\")}:${String(minute).padStart(2, \"0\")}`;\n if (!context?.timeZone) return parseDate(value);\n return new Date(calendar.zonedDateTimeToInstant(value, context.timeZone, { disambiguation: \"compatible\" }));\n};\nconst normalizeEvents = (events: CalendarEvent[], context?: DateContext): NormalizedEvent[] =>\n events.flatMap((event) => {\n const startDate = parseDate(event.start, context);\n if (!validDate(startDate)) return [];\n const parsedEnd = event.end ? parseDate(event.end, context) : null;\n const endDate = parsedEnd && validDate(parsedEnd) ? parsedEnd : new Date(startDate.getTime() + 60 * 60 * 1000);\n const duration = Math.max(60 * 60 * 1000, endDate.getTime() - startDate.getTime());\n const rangeEnd = endDate > startDate ? endDate : new Date(startDate.getTime() + duration);\n const startKey = calendar.formatDateKey(startDate, context);\n const endKey = calendar.formatDateKey(rangeEnd, context);\n if (!event.allDay && startKey === endKey) {\n return [\n {\n ...event,\n startDate,\n endDate: rangeEnd,\n sourceStartDate: startDate,\n sourceEndDate: rangeEnd,\n dayKey: startKey,\n },\n ];\n }\n const lastDay =\n event.allDay && isStartOfDay(rangeEnd, context)\n ? calendar.addDays(startOfDay(rangeEnd, context), -1, context)\n : startOfDay(rangeEnd, context);\n const days: NormalizedEvent[] = [];\n for (let day = startOfDay(startDate, context); day <= lastDay; day = calendar.addDays(day, 1, context)) {\n const segmentStart = day.getTime() === startOfDay(startDate, context).getTime() ? startDate : startOfDay(day, context);\n const segmentEnd = day.getTime() === startOfDay(rangeEnd, context).getTime() ? rangeEnd : endOfDay(day, context);\n days.push({\n ...event,\n startDate: segmentStart,\n endDate: segmentEnd,\n sourceStartDate: startDate,\n sourceEndDate: rangeEnd,\n dayKey: calendar.formatDateKey(day, context),\n allDay: event.allDay,\n });\n }\n return days;\n });\n\nconst eventHref = (props: CalendarProps, event: CalendarEvent): string | undefined => props.getEventHref?.(event) ?? event.href;\n\nconst moveEventTo = (event: NormalizedEvent, target: Date, allDay = false, context?: DateContext): CalendarEventTimeChange => {\n const duration = Math.max(30 * 60 * 1000, event.sourceEndDate.getTime() - event.sourceStartDate.getTime());\n const start = allDay ? startOfDay(target, context) : new Date(target);\n start.setSeconds(0, 0);\n return { start, end: new Date(start.getTime() + duration), allDay };\n};\n\nconst moveEventToDay = (event: NormalizedEvent, day: Date, context?: DateContext): CalendarEventTimeChange => {\n if (event.allDay) return moveEventTo(event, startOfDay(day, context), true, context);\n const localStart = context?.timeZone ? calendar.instantToZonedInput(event.sourceStartDate, context.timeZone) : null;\n const hour = localStart ? Number(localStart.slice(11, 13)) : event.sourceStartDate.getHours();\n const minute = localStart ? Number(localStart.slice(14, 16)) : event.sourceStartDate.getMinutes();\n return moveEventTo(event, zonedMinuteSlot(day, hour * 60 + minute, context), false, context);\n};\n\nconst eventTimeChanged = (event: NormalizedEvent, next: CalendarEventTimeChange): boolean =>\n event.sourceStartDate.getTime() !== next.start.getTime() ||\n event.sourceEndDate.getTime() !== next.end.getTime() ||\n Boolean(event.allDay) !== Boolean(next.allDay);\n\nconst previewSegments = (preview: CalendarPreview | null, days: Date[], context?: DateContext): NormalizedEvent[] =>\n preview\n ? normalizeEvents(\n [\n {\n id: `preview-${preview.id}`,\n title: preview.title ?? \"\",\n start: preview.start,\n end: preview.end,\n allDay: preview.allDay,\n color: \"blue\",\n },\n ],\n context,\n ).filter((event) => days.some((day) => event.dayKey === calendar.formatDateKey(day, context)))\n : [];\n\nconst timedEventLayouts = (events: NormalizedEvent[]): TimedEventLayout[] => {\n return layoutCalendarIntervals(events, (event) => ({\n start: event.startDate.getTime(),\n end: event.endDate.getTime(),\n })).map(({ item: event, lane, lanes, groupId, groupStart, groupEnd }) => ({\n event,\n lane,\n lanes,\n groupId,\n groupStartDate: new Date(groupStart),\n groupEndDate: new Date(groupEnd),\n }));\n};\n\nconst EventChip = (props: {\n event: NormalizedEvent;\n owner: CalendarProps;\n href?: string;\n compact?: boolean;\n fill?: boolean;\n moving?: boolean;\n onMovePointerDown?: (event: PointerEvent, onActivate: () => void) => void;\n}): JSX.Element => {\n const dateConfig = createMemo(() => ownerDateConfig(props.owner));\n const color = () => props.event.color ?? \"blue\";\n const selected = () => Boolean(props.owner.selectedEventId) && props.owner.selectedEventId === props.event.id;\n const style = () => (props.event.colorHex ? { \"--k2b-calendar-accent\": props.event.colorHex } : undefined);\n const isInteractive = () => Boolean(props.owner.onEventActivate);\n const durationHours = () => (props.event.endDate.getTime() - props.event.startDate.getTime()) / 3_600_000;\n const short = () => Boolean(props.fill && !props.event.allDay && durationHours() < 0.75);\n const showTime = () => !props.event.allDay && !props.compact && durationHours() >= 0.75;\n const showLocation = () => Boolean(props.event.location && !props.compact && durationHours() >= 1.25);\n const showDescription = () =>\n Boolean(props.event.description?.trim() && props.fill && !props.event.allDay && !props.compact && durationHours() >= 1.5);\n const timeLabel = () => `${formatTime(props.event.startDate, dateConfig())} - ${formatTime(props.event.endDate, dateConfig())}`;\n const renderedEvent = () =>\n props.owner.renderEvent?.(props.event, {\n compact: props.compact ?? false,\n fill: props.fill ?? false,\n start: props.event.startDate,\n end: props.event.endDate,\n allDay: props.event.allDay ?? false,\n durationHours: durationHours(),\n timeLabel: timeLabel(),\n });\n const defaultContent = (\n <>\n <span class=\"k2b-calendar-event__title\">{props.event.title}</span>\n <Show when={showTime()}>\n <span class=\"k2b-calendar-event__meta\">{timeLabel()}</span>\n </Show>\n <Show when={showLocation()}>\n <span class=\"k2b-calendar-event__meta\">{props.event.location}</span>\n </Show>\n <Show when={showDescription()}>\n <span class=\"k2b-calendar-event__description\">{props.event.description}</span>\n </Show>\n </>\n );\n const content = () => renderedEvent() ?? defaultContent;\n const isActionable = () => isInteractive() || Boolean(props.onMovePointerDown);\n let suppressClickUntil = 0;\n const onClick = (event: MouseEvent) => {\n if (performance.now() < suppressClickUntil) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n if (!props.owner.onEventActivate || props.owner.eventActivation === \"double\") return;\n event.preventDefault();\n event.stopPropagation();\n props.owner.onEventActivate(props.event);\n };\n const onDoubleClick = (event: MouseEvent) => {\n if (!props.owner.onEventActivate || props.owner.eventActivation !== \"double\") return;\n event.preventDefault();\n event.stopPropagation();\n props.owner.onEventActivate(props.event);\n };\n const onButtonKeyDown = (event: KeyboardEvent) => {\n if (!isInteractive() || (event.key !== \"Enter\" && event.key !== \" \")) return;\n event.preventDefault();\n props.owner.onEventActivate?.(props.event);\n };\n const onPointerDown = (event: PointerEvent) => {\n if (event.pointerType === \"touch\") return;\n if (props.onMovePointerDown) event.stopPropagation();\n props.onMovePointerDown?.(event, () => {\n suppressClickUntil = performance.now() + 400;\n });\n };\n\n return props.href ? (\n <a\n href={props.href}\n class=\"k2b-calendar-event\"\n data-calendar-event=\"\"\n data-color={props.event.colorHex ? undefined : color()}\n data-selected={selected() ? \"true\" : undefined}\n data-compact={props.compact ? \"true\" : undefined}\n data-fill={props.fill ? \"true\" : undefined}\n data-short={short() ? \"true\" : undefined}\n data-moving={props.moving ? \"true\" : undefined}\n data-interactive={isInteractive() ? \"true\" : undefined}\n data-display={props.event.display}\n data-space-item-id={props.event.dataSpaceItemId}\n style={style()}\n draggable={props.onMovePointerDown ? false : undefined}\n onClick={onClick}\n onDblClick={onDoubleClick}\n onDragStart={props.onMovePointerDown ? (event) => event.preventDefault() : undefined}\n onPointerDown={onPointerDown}\n aria-label={`${props.event.title}${props.event.allDay ? \"\" : `, ${formatTime(props.event.startDate, dateConfig())} to ${formatTime(props.event.endDate, dateConfig())}`}`}\n >\n {content()}\n </a>\n ) : isActionable() ? (\n <button\n type=\"button\"\n class=\"k2b-calendar-event\"\n data-calendar-event=\"\"\n data-color={props.event.colorHex ? undefined : color()}\n data-selected={selected() ? \"true\" : undefined}\n data-compact={props.compact ? \"true\" : undefined}\n data-fill={props.fill ? \"true\" : undefined}\n data-short={short() ? \"true\" : undefined}\n data-moving={props.moving ? \"true\" : undefined}\n data-interactive=\"true\"\n data-display={props.event.display}\n style={style()}\n onClick={onClick}\n onDblClick={onDoubleClick}\n onPointerDown={onPointerDown}\n onKeyDown={onButtonKeyDown}\n aria-label={`${props.event.title}${props.event.allDay ? \"\" : `, ${formatTime(props.event.startDate, dateConfig())} to ${formatTime(props.event.endDate, dateConfig())}`}`}\n >\n {content()}\n </button>\n ) : (\n <div\n class=\"k2b-calendar-event\"\n role=\"group\"\n data-calendar-event=\"\"\n data-color={props.event.colorHex ? undefined : color()}\n data-selected={selected() ? \"true\" : undefined}\n data-compact={props.compact ? \"true\" : undefined}\n data-fill={props.fill ? \"true\" : undefined}\n data-short={short() ? \"true\" : undefined}\n data-moving={props.moving ? \"true\" : undefined}\n data-interactive={undefined}\n data-display={props.event.display}\n style={style()}\n aria-label={`${props.event.title}${props.event.allDay ? \"\" : `, ${formatTime(props.event.startDate, dateConfig())} to ${formatTime(props.event.endDate, dateConfig())}`}`}\n >\n {content()}\n </div>\n );\n};\n\nconst slotInteractionProps = (\n owner: CalendarProps,\n slot: () => CalendarEventTimeChange,\n suppressed?: () => boolean,\n nativeControl = false,\n) => {\n const isSlotChild = (event: Event) => {\n if (!(event.target instanceof Element)) return false;\n const control = event.target.closest(\"a,button,[data-calendar-event]\");\n return Boolean(control && control !== event.currentTarget);\n };\n const interactive = Boolean(owner.onSlotActivate);\n const activate = (event: Event) => {\n if (!owner.onSlotActivate || isSlotChild(event) || suppressed?.()) return;\n event.preventDefault();\n owner.onSlotActivate(slot());\n };\n return {\n role: interactive && !nativeControl ? (\"button\" as const) : undefined,\n tabIndex: interactive && !nativeControl ? 0 : undefined,\n onClick: (event: MouseEvent) => {\n if (owner.slotActivation === \"double\") return;\n activate(event);\n },\n onDblClick: (event: MouseEvent) => {\n if (owner.slotActivation !== \"double\") return;\n activate(event);\n },\n onKeyDown: nativeControl\n ? undefined\n : (event: KeyboardEvent) => {\n if (event.key === \"Enter\" || event.key === \" \") activate(event);\n },\n };\n};\n\ntype CalendarNavigationLinkProps = ParentProps<{\n owner: CalendarProps;\n href: string;\n anchorProps?: Omit<JSX.AnchorHTMLAttributes<HTMLAnchorElement>, \"children\" | \"href\" | \"onClick\"> & {\n \"data-divider\"?: string;\n \"data-outside\"?: string;\n \"data-size\"?: string;\n \"data-today\"?: string;\n \"data-variant\"?: string;\n };\n}>;\n\n/** A real anchor is the baseline; the optional handler only enhances it after hydration. */\nconst CalendarNavigationLink = (props: CalendarNavigationLinkProps): JSX.Element => {\n const preload = () => props.owner.onPrefetch?.(props.href);\n const navigateHref: JSX.EventHandler<HTMLAnchorElement, MouseEvent> = (event) => {\n const anchor = event.currentTarget;\n if (\n event.defaultPrevented ||\n event.button !== 0 ||\n event.metaKey ||\n event.ctrlKey ||\n event.shiftKey ||\n event.altKey ||\n (anchor.target && anchor.target !== \"_self\") ||\n anchor.hasAttribute(\"download\") ||\n new URL(anchor.href).origin !== window.location.origin\n ) {\n return;\n }\n event.preventDefault();\n props.owner.onNavigateHref?.(props.href);\n };\n return props.owner.onNavigateHref ? (\n <a {...props.anchorProps} href={props.href} onClick={navigateHref} onPointerEnter={preload} onFocus={preload}>\n {props.children}\n </a>\n ) : props.owner.onNavigate ? (\n <Link\n {...props.anchorProps}\n href={props.href}\n scroll=\"preserve\"\n onNavigate={props.owner.onNavigate}\n onPointerEnter={preload}\n onFocus={preload}\n >\n {props.children}\n </Link>\n ) : (\n <a {...props.anchorProps} href={props.href} onPointerEnter={preload} onFocus={preload}>\n {props.children}\n </a>\n );\n};\n\nconst CalendarViewLinks = (props: {\n owner: CalendarProps;\n view: CalendarView;\n options: Array<{ value: CalendarView; label: string }>;\n}): JSX.Element => {\n const messages = useUiMessages();\n const refs: HTMLAnchorElement[] = [];\n const selectRelative = (currentIndex: number, direction: -1 | 1) => {\n if (props.options.length === 0) return;\n refs[(currentIndex + direction + props.options.length) % props.options.length]?.click();\n };\n const onKeyDown = (event: KeyboardEvent, index: number) => {\n if (event.key === \"ArrowRight\" || event.key === \"ArrowDown\") {\n event.preventDefault();\n selectRelative(index, 1);\n } else if (event.key === \"ArrowLeft\" || event.key === \"ArrowUp\") {\n event.preventDefault();\n selectRelative(index, -1);\n } else if (event.key === \"Home\" || event.key === \"End\") {\n event.preventDefault();\n refs[event.key === \"Home\" ? 0 : props.options.length - 1]?.click();\n }\n };\n\n return (\n <div\n role=\"radiogroup\"\n aria-label={messages().calendarView}\n aria-orientation=\"horizontal\"\n class=\"k2b-segmented-control k2b-calendar-view-switcher\"\n >\n <For each={props.options}>\n {(option, index) => {\n const active = () => (props.view === \"mobile-month\" ? \"month\" : props.view) === option.value;\n const href = () => props.owner.getViewHref?.(option.value) ?? \"#\";\n return (\n <CalendarNavigationLink\n owner={props.owner}\n href={href()}\n anchorProps={{\n ref: (element) => {\n refs[index()] = element;\n },\n role: \"radio\",\n \"aria-checked\": active(),\n tabIndex: active() ? 0 : -1,\n class: \"k2b-segmented-control__option\",\n \"data-divider\":\n index() < props.options.length - 1 &&\n !active() &&\n (props.view === \"mobile-month\" ? \"month\" : props.view) !== props.options[index() + 1]?.value\n ? \"true\"\n : undefined,\n onKeyDown: (event) => onKeyDown(event, index()),\n }}\n >\n {option.label}\n </CalendarNavigationLink>\n );\n }}\n </For>\n </div>\n );\n};\n\nconst adjacentCalendarDate = (date: Date, view: CalendarView, direction: -1 | 1, dateConfig: DateContext) => {\n if (view === \"year\") return calendar.addMonths(date, direction * 12, dateConfig);\n if (view === \"month\" || view === \"mobile-month\") return calendar.addMonths(date, direction, dateConfig);\n return calendar.addDays(date, direction * (view === \"day\" ? 1 : 7), dateConfig);\n};\n\nconst CalendarHeader = (props: { date: Date; view: CalendarView; labels: Required<CalendarLabels>; owner: CalendarProps }): JSX.Element => {\n const messages = useUiMessages();\n const dateConfig = () => ownerDateConfig(props.owner);\n const previous = () => adjacentCalendarDate(props.date, props.view, -1, dateConfig());\n const next = () => adjacentCalendarDate(props.date, props.view, 1, dateConfig());\n const title = () => {\n if (props.view === \"year\")\n return new Intl.DateTimeFormat(dateConfig().locale ?? \"en\", { year: \"numeric\", timeZone: dateConfig().timeZone }).format(props.date);\n if (props.view === \"day\")\n return props.date.toLocaleDateString(dateConfig().locale ?? \"en\", {\n weekday: \"long\",\n month: \"long\",\n day: \"numeric\",\n year: \"numeric\",\n timeZone: dateConfig().timeZone,\n });\n if (props.view === \"week\")\n return `${formatDay(calendar.startOfWeek(props.date, dateConfig()), dateConfig())} - ${formatDay(calendar.addDays(calendar.startOfWeek(props.date, dateConfig()), 6, dateConfig()), dateConfig())}`;\n return formatMonth(props.date, dateConfig());\n };\n const goDate = (date: Date) => props.owner.onDateChange?.(date, props.view);\n const goView = (view: CalendarView) => {\n if (props.owner.onViewChange) {\n props.owner.onViewChange(view);\n return;\n }\n const href = props.owner.getViewHref?.(view);\n if (href) window.location.href = href;\n };\n const navButton = (date: Date, icon: string, label: string) => {\n const href = props.owner.getDateHref?.(date, props.view);\n return (props.owner.onNavigateHref || props.owner.onNavigate) && href ? (\n <CalendarNavigationLink\n owner={props.owner}\n href={href}\n anchorProps={{ \"aria-label\": label, title: label, class: \"k2b-calendar-header__nav-button\" }}\n >\n <i class={`ti ${icon}`} />\n </CalendarNavigationLink>\n ) : props.owner.onDateChange ? (\n <button type=\"button\" aria-label={label} class=\"k2b-calendar-header__nav-button\" onClick={() => goDate(date)}>\n <i class={`ti ${icon}`} />\n </button>\n ) : (\n <CalendarNavigationLink\n owner={props.owner}\n href={href ?? \"#\"}\n anchorProps={{ \"aria-label\": label, title: label, class: \"k2b-calendar-header__nav-button\" }}\n >\n <i class={`ti ${icon}`} />\n </CalendarNavigationLink>\n );\n };\n const todayButton = () => {\n const today = calendar.today(dateConfig());\n const href = props.owner.getDateHref?.(today, props.view);\n const label = <span class=\"k2b-button__label\">{props.labels.today}</span>;\n return (props.owner.onNavigateHref || props.owner.onNavigate) && href ? (\n <CalendarNavigationLink\n owner={props.owner}\n href={href}\n anchorProps={{ class: \"k2b-button k2b-calendar-header__today\", \"data-size\": \"sm\", \"data-variant\": \"input\" }}\n >\n {label}\n </CalendarNavigationLink>\n ) : props.owner.onDateChange ? (\n <Button type=\"button\" variant=\"input\" size=\"sm\" class=\"k2b-calendar-header__today\" onClick={() => goDate(today)}>\n {props.labels.today}\n </Button>\n ) : (\n <CalendarNavigationLink\n owner={props.owner}\n href={href ?? \"#\"}\n anchorProps={{ class: \"k2b-button k2b-calendar-header__today\", \"data-size\": \"sm\", \"data-variant\": \"input\" }}\n >\n {label}\n </CalendarNavigationLink>\n );\n };\n const viewOptions = createMemo(() =>\n (\n [\n { value: \"day\", label: props.labels.day },\n { value: \"week\", label: props.labels.week },\n { value: \"month\", label: props.labels.month },\n { value: \"year\", label: props.labels.year },\n ] satisfies Array<{ value: CalendarView; label: string }>\n ).filter((option) => !props.owner.views || props.owner.views.includes(option.value)),\n );\n\n return (\n <header class=\"k2b-calendar-header\">\n <div class=\"k2b-calendar-header__navigation\">\n {navButton(previous(), \"ti-chevron-left\", props.labels.previous)}\n {navButton(next(), \"ti-chevron-right\", props.labels.next)}\n <div class=\"k2b-calendar-header__title\">{title()}</div>\n </div>\n <div class=\"k2b-calendar-header__actions\">\n {todayButton()}\n <Show\n when={!props.owner.onViewChange && props.owner.getViewHref}\n fallback={\n <SegmentedControl\n value={() => (props.view === \"mobile-month\" ? \"month\" : props.view)}\n onValueChange={goView}\n ariaLabel={messages().calendarView}\n options={viewOptions()}\n />\n }\n >\n <CalendarViewLinks owner={props.owner} view={props.view} options={viewOptions()} />\n </Show>\n {props.owner.toolbarActions}\n </div>\n <Show when={props.owner.navigationPending}>\n <span class=\"k2b-calendar-header__progress\" aria-hidden=\"true\" />\n </Show>\n </header>\n );\n};\n\nconst MonthView = (props: {\n owner: CalendarProps;\n date: Date;\n now: Date;\n events: NormalizedEvent[];\n labels: Required<CalendarLabels>;\n}): JSX.Element => {\n const messages = useUiMessages();\n const dateConfig = createMemo(() => ownerDateConfig(props.owner));\n const [movePreview, setMovePreview] = createSignal<CalendarPreview | null>(null);\n const [movingEventId, setMovingEventId] = createSignal(\"\");\n let cancelInteraction: (() => void) | undefined;\n let suppressSlotClickUntil = 0;\n const month = createMemo(() => zonedYearMonth(props.date, dateConfig()));\n const weeks = createMemo(() => calendar.getMonthGrid(month().year, month().month, dateConfig()));\n const weekdays = createMemo(() => calendar.weekdays(dateConfig()));\n const todayKey = createMemo(() => calendar.formatDateKey(props.now, dateConfig()));\n const eventsByDay = createMemo(() => {\n const grouped = new Map<string, NormalizedEvent[]>();\n for (const event of props.events) {\n const events = grouped.get(event.dayKey);\n if (events) events.push(event);\n else grouped.set(event.dayKey, [event]);\n }\n return grouped;\n });\n const clearMove = () => {\n setMovePreview(null);\n setMovingEventId(\"\");\n };\n const dayAtPoint = (clientX: number, clientY: number): Date | null => {\n const target = document.elementFromPoint(clientX, clientY)?.closest<HTMLElement>(\"[data-calendar-day-key]\");\n const dayKey = target?.dataset.calendarDayKey;\n return dayKey ? calendar.parseCalendarDate(dayKey, dateConfig()) : null;\n };\n const startMove = (pointerEvent: PointerEvent, event: NormalizedEvent, markDragged: () => void) => {\n if (!props.owner.onEventDrop) return;\n cancelInteraction?.();\n cancelInteraction = startCalendarPointerSession({\n event: pointerEvent,\n resolve: (clientX, clientY) => {\n const day = dayAtPoint(clientX, clientY);\n return day ? { id: event.id, ...moveEventToDay(event, day, dateConfig()) } : null;\n },\n onActivate: () => {\n markDragged();\n suppressSlotClickUntil = performance.now() + 400;\n setMovingEventId(event.id);\n },\n onPreview: setMovePreview,\n onCommit: (next) => {\n clearMove();\n if (eventTimeChanged(event, next)) props.owner.onEventDrop?.(event, next);\n },\n onCancel: clearMove,\n });\n };\n onCleanup(() => cancelInteraction?.());\n return (\n <div class=\"k2b-calendar-month\" style={{ \"grid-template-rows\": `auto repeat(${weeks().length}, minmax(5rem, 1fr))` }}>\n <div class=\"k2b-calendar-month__weekdays\" data-week-numbers={props.owner.withWeekNumbers ? \"true\" : undefined}>\n <Show when={props.owner.withWeekNumbers}>\n <div class=\"k2b-calendar-month__weekday\">{messages().weekShort}</div>\n </Show>\n <For each={weekdays()}>{(day) => <div class=\"k2b-calendar-month__weekday\">{day}</div>}</For>\n </div>\n <For each={weeks()}>\n {(week) => (\n <div class=\"k2b-calendar-month__week\" data-week-numbers={props.owner.withWeekNumbers ? \"true\" : undefined}>\n <Show when={props.owner.withWeekNumbers}>\n <div class=\"k2b-calendar-month__week-number\">{zonedWeekNumber(week[0]!, dateConfig())}</div>\n </Show>\n <For each={week}>\n {(day) => {\n const dayKey = calendar.formatDateKey(day, dateConfig());\n const events = eventsByDay().get(dayKey) ?? [];\n const href = props.owner.getDateHref?.(day, \"day\");\n const dayBadge = props.owner.dayBadges?.[dayKey];\n const sameMonth = calendar.isSameMonth(day, props.date, dateConfig());\n const isToday = dayKey === todayKey();\n const dayLabel = day.toLocaleDateString(dateConfig().locale ?? \"en\", {\n weekday: \"long\",\n year: \"numeric\",\n month: \"long\",\n day: \"numeric\",\n timeZone: dateConfig().timeZone,\n });\n const eventStack = createMemo(() => {\n const preview = movePreview();\n const previewForDay = preview && calendar.formatDateKey(preview.start, dateConfig()) === dayKey ? preview : null;\n const candidates = previewForDay ? events.filter((event) => event.id !== previewForDay.id) : events;\n const visibleLimit = previewForDay ? 2 : 3;\n return {\n preview: previewForDay,\n visibleEvents: candidates.slice(0, visibleLimit),\n hiddenCount: Math.max(0, candidates.length - visibleLimit),\n };\n });\n return (\n <div\n class=\"k2b-calendar-month__day\"\n data-calendar-day-key={dayKey}\n data-outside={!sameMonth ? \"true\" : undefined}\n data-drop-preview={\n movePreview()?.start && calendar.formatDateKey(movePreview()!.start, dateConfig()) === dayKey ? \"true\" : undefined\n }\n >\n <Show\n when={props.owner.onSlotActivate}\n fallback={\n <Show when={href}>\n {(dayHref) => (\n <CalendarNavigationLink\n owner={props.owner}\n href={dayHref()}\n anchorProps={{\n class: \"k2b-calendar-month__day-target\",\n \"aria-label\": messages().openDate({ label: dayLabel }),\n }}\n />\n )}\n </Show>\n }\n >\n <button\n type=\"button\"\n class=\"k2b-calendar-month__day-target\"\n data-interactive=\"true\"\n aria-label={messages().createEventOn({ label: dayLabel })}\n {...slotInteractionProps(\n props.owner,\n () => {\n const start = startOfDay(day, dateConfig());\n return { start, end: calendar.addDays(start, 1, dateConfig()), allDay: true };\n },\n () => performance.now() < suppressSlotClickUntil,\n true,\n )}\n />\n </Show>\n <div class=\"k2b-calendar-month__day-header\">\n <Show\n when={props.owner.onSlotActivate && href}\n fallback={\n <span\n class=\"k2b-calendar-month__day-number\"\n data-today={isToday ? \"true\" : undefined}\n data-outside={!sameMonth ? \"true\" : undefined}\n >\n {calendar.formatDayNumber(day, dateConfig())}\n </span>\n }\n >\n {(dayHref) => (\n <CalendarNavigationLink\n owner={props.owner}\n href={dayHref()}\n anchorProps={{\n class: \"k2b-calendar-month__day-number\",\n \"data-today\": isToday ? \"true\" : undefined,\n \"data-outside\": !sameMonth ? \"true\" : undefined,\n \"aria-label\": messages().openDate({ label: dayLabel }),\n }}\n >\n {calendar.formatDayNumber(day, dateConfig())}\n </CalendarNavigationLink>\n )}\n </Show>\n <Show when={dayBadge}>\n {(badge) => (\n <span class=\"k2b-calendar-month__badge\">\n <Show when={badge().icon}>{(icon) => <i class={`k2b-calendar-month__badge-icon ti ti-${icon()}`} />}</Show>\n {badge().label}\n </span>\n )}\n </Show>\n </div>\n <div class=\"k2b-calendar-month__events\">\n <Show when={eventStack().preview}>\n <div class=\"k2b-calendar-preview\">\n {props.events.find((event) => event.id === eventStack().preview!.id)?.title ?? messages().moveEvent}\n </div>\n </Show>\n <For each={eventStack().visibleEvents}>\n {(event) => (\n <EventChip\n event={event}\n owner={props.owner}\n href={eventHref(props.owner, event)}\n compact\n moving={movingEventId() === event.id}\n onMovePointerDown={\n props.owner.onEventDrop\n ? (pointerEvent, markDragged) => startMove(pointerEvent, event, markDragged)\n : undefined\n }\n />\n )}\n </For>\n <Show when={eventStack().hiddenCount > 0}>\n <CalendarNavigationLink owner={props.owner} href={href ?? \"#\"} anchorProps={{ class: \"k2b-calendar-month__more\" }}>\n +{eventStack().hiddenCount} more\n </CalendarNavigationLink>\n </Show>\n </div>\n <div class=\"k2b-calendar-month__dots\">\n <For each={events.slice(0, 4)}>\n {(event) => (\n <span\n class=\"k2b-calendar-dot\"\n data-color={event.colorHex ? undefined : (event.color ?? \"blue\")}\n style={event.colorHex ? { \"background-color\": event.colorHex } : undefined}\n />\n )}\n </For>\n </div>\n </div>\n );\n }}\n </For>\n </div>\n )}\n </For>\n </div>\n );\n};\n\nconst TimeGridView = (props: {\n owner: CalendarProps;\n date: Date;\n now: Date;\n events: NormalizedEvent[];\n labels: Required<CalendarLabels>;\n days: Date[];\n}): JSX.Element => {\n const messages = useUiMessages();\n const dateConfig = createMemo(() => ownerDateConfig(props.owner));\n const gridStartHour = () => props.owner.visibleStartHour ?? 0;\n const gridEndHour = () => props.owner.visibleEndHour ?? 23;\n const businessStartHour = () => props.owner.startHour ?? 8;\n const businessEndHour = () => props.owner.endHour ?? 18;\n const hours = createMemo(() => Array.from({ length: gridEndHour() - gridStartHour() + 1 }, (_, index) => gridStartHour() + index));\n const [timePreview, setTimePreview] = createSignal<CalendarPreview | null>(null);\n const [movingEventId, setMovingEventId] = createSignal(\"\");\n const [expandedOverflow, setExpandedOverflow] = createSignal(\"\");\n let scrollContainer: HTMLDivElement | undefined;\n let timeGrid: HTMLDivElement | undefined;\n let timeGutter: HTMLDivElement | undefined;\n let defaultHourMarker: HTMLDivElement | undefined;\n let cancelInteraction: (() => void) | undefined;\n let suppressSlotClickUntil = 0;\n const slotEnd = (start: Date) => addMinutes(start, 60);\n const previewEvents = createMemo(() => previewSegments(timePreview(), props.days, dateConfig()));\n const eventsByDay = createMemo(() => {\n const grouped = new Map<string, { allDay: NormalizedEvent[]; timed: NormalizedEvent[] }>();\n for (const event of props.events) {\n const bucket = grouped.get(event.dayKey) ?? { allDay: [], timed: [] };\n (event.allDay ? bucket.allDay : bucket.timed).push(event);\n grouped.set(event.dayKey, bucket);\n }\n return grouped;\n });\n const clearInteraction = () => {\n setTimePreview(null);\n setMovingEventId(\"\");\n };\n const dayAtPoint = (clientX: number, clientY: number): Date | null => {\n const target = document.elementFromPoint(clientX, clientY)?.closest<HTMLElement>(\"[data-calendar-day-key]\");\n const dayKey = target?.dataset.calendarDayKey;\n return dayKey ? calendar.parseCalendarDate(dayKey, dateConfig()) : null;\n };\n const timeAtPoint = (clientX: number, clientY: number): Date | null => {\n if (!timeGrid || !timeGutter) return null;\n const gridRect = timeGrid.getBoundingClientRect();\n const gutterRect = timeGutter.getBoundingClientRect();\n const dayIndex = calendarDayIndexAtPoint(clientX, gutterRect.right, gridRect.right - gutterRect.right, props.days.length);\n if (dayIndex === null) return null;\n const minute = Math.min(\n gridEndHour() * 60 + 45,\n calendarMinuteAtPoint(clientY, gridRect.top, gridRect.height, gridStartHour(), gridEndHour()),\n );\n return zonedMinuteSlot(props.days[dayIndex]!, minute, dateConfig());\n };\n const beginInteraction = (options: Parameters<typeof startCalendarPointerSession<CalendarPreview>>[0]) => {\n cancelInteraction?.();\n cancelInteraction = startCalendarPointerSession(options);\n };\n const startTimedMove = (pointerEvent: PointerEvent, event: NormalizedEvent, markDragged: () => void) => {\n if (!props.owner.onEventDrop) return;\n const pointerStart = timeAtPoint(pointerEvent.clientX, pointerEvent.clientY) ?? event.sourceStartDate;\n const duration = Math.max(15 * 60_000, event.sourceEndDate.getTime() - event.sourceStartDate.getTime());\n const offsetMinutes = Math.max(\n 0,\n Math.min(duration / 60_000, Math.round((pointerStart.getTime() - event.sourceStartDate.getTime()) / 900_000) * 15),\n );\n beginInteraction({\n event: pointerEvent,\n scrollContainer,\n resolve: (clientX, clientY) => {\n const pointer = timeAtPoint(clientX, clientY);\n if (!pointer) return null;\n const start = new Date(pointer.getTime() - offsetMinutes * 60_000);\n return { id: event.id, title: event.title, start, end: new Date(start.getTime() + duration), allDay: false };\n },\n onActivate: () => {\n markDragged();\n suppressSlotClickUntil = performance.now() + 400;\n setMovingEventId(event.id);\n },\n onPreview: setTimePreview,\n onCommit: (next) => {\n clearInteraction();\n if (eventTimeChanged(event, next)) props.owner.onEventDrop?.(event, next);\n },\n onCancel: clearInteraction,\n });\n };\n const startAllDayMove = (pointerEvent: PointerEvent, event: NormalizedEvent, markDragged: () => void) => {\n if (!props.owner.onEventDrop) return;\n beginInteraction({\n event: pointerEvent,\n resolve: (clientX, clientY) => {\n const day = dayAtPoint(clientX, clientY);\n return day ? { id: event.id, title: event.title, ...moveEventTo(event, startOfDay(day, dateConfig()), true, dateConfig()) } : null;\n },\n onActivate: () => {\n markDragged();\n suppressSlotClickUntil = performance.now() + 400;\n setMovingEventId(event.id);\n },\n onPreview: setTimePreview,\n onCommit: (next) => {\n clearInteraction();\n if (eventTimeChanged(event, next)) props.owner.onEventDrop?.(event, next);\n },\n onCancel: clearInteraction,\n });\n };\n const startRange = (pointerEvent: PointerEvent) => {\n if (!props.owner.onSlotActivate || pointerEvent.pointerType === \"touch\") return;\n const anchor = timeAtPoint(pointerEvent.clientX, pointerEvent.clientY);\n if (!anchor) return;\n beginInteraction({\n event: pointerEvent,\n scrollContainer,\n resolve: (clientX, clientY) => {\n const current = timeAtPoint(clientX, clientY);\n if (!current) return null;\n const start = current < anchor ? current : anchor;\n const endBase = current < anchor ? anchor : current;\n return { id: \"calendar-create-preview\", start, end: addMinutes(endBase, 15), allDay: false };\n },\n onActivate: () => {\n suppressSlotClickUntil = performance.now() + 400;\n },\n onPreview: setTimePreview,\n onCommit: (next) => {\n clearInteraction();\n props.owner.onSlotActivate?.(next);\n },\n onCancel: clearInteraction,\n });\n };\n const timeRangeLayout = (startDate: Date, endDate: Date) => {\n const start = zonedHour(startDate, dateConfig());\n const end = zonedHour(endDate, dateConfig());\n const visibleStart = Math.max(gridStartHour(), start);\n const visibleEnd = Math.min(gridEndHour() + 1, end);\n const total = Math.max(1, gridEndHour() - gridStartHour() + 1);\n return {\n top: Math.max(0, ((visibleStart - gridStartHour()) / total) * 100),\n height: Math.max(1.25, ((visibleEnd - visibleStart) / total) * 100),\n };\n };\n const eventLayout = (event: NormalizedEvent) => timeRangeLayout(event.startDate, event.endDate);\n const isDayView = () => props.days.length === 1;\n const visibleLaneCount = (lanes: number) => (isDayView() ? lanes : Math.min(lanes, 3));\n const overflowLayouts = (layouts: TimedEventLayout[]): TimedOverflowLayout[] => {\n if (isDayView()) return [];\n const groups = new Map<number, TimedOverflowLayout>();\n for (const layout of layouts) {\n if (layout.lane < visibleLaneCount(layout.lanes)) continue;\n const existing = groups.get(layout.groupId);\n if (existing) existing.hiddenEvents.push(layout.event);\n else\n groups.set(layout.groupId, {\n groupId: layout.groupId,\n hiddenEvents: [layout.event],\n groupStartDate: layout.groupStartDate,\n groupEndDate: layout.groupEndDate,\n });\n }\n return [...groups.values()];\n };\n const dayColumnMinWidth = (layouts: TimedEventLayout[]) => {\n if (!isDayView()) return undefined;\n const lanes = Math.max(1, ...layouts.map((layout) => layout.lanes));\n return `${Math.max(32, lanes * 12)}rem`;\n };\n const laneStyle = (layoutItem: TimedEventLayout) => {\n if (isDayView()) {\n const laneWidth = 100 / layoutItem.lanes;\n return {\n left: `calc(${layoutItem.lane * laneWidth}% + 0.25rem)`,\n width: `calc(${laneWidth}% - 0.5rem)`,\n };\n }\n const visibleLanes = visibleLaneCount(layoutItem.lanes);\n return {\n left: `${layoutItem.lanes <= 1 ? 0 : (28 / Math.max(1, visibleLanes - 1)) * layoutItem.lane}%`,\n width: `${layoutItem.lanes <= 1 ? 100 : layoutItem.lanes > visibleLanes ? 68 : 72}%`,\n };\n };\n const currentTimeLine = (day: Date) => {\n const now = props.now;\n if (calendar.formatDateKey(day, dateConfig()) !== calendar.formatDateKey(now, dateConfig())) return null;\n const hour = zonedHour(now, dateConfig());\n if (hour < gridStartHour() || hour > gridEndHour() + 1) return null;\n return ((hour - gridStartHour()) / Math.max(1, gridEndHour() - gridStartHour() + 1)) * 100;\n };\n onCleanup(() => cancelInteraction?.());\n onMount(() => {\n requestAnimationFrame(() => {\n if (!scrollContainer || !defaultHourMarker) return;\n const targetTop = defaultHourMarker.getBoundingClientRect().top - scrollContainer.getBoundingClientRect().top;\n scrollContainer.scrollTo({ top: Math.max(0, scrollContainer.scrollTop + targetTop), behavior: \"smooth\" });\n });\n });\n return (\n <div class=\"k2b-calendar-time-grid\">\n <div class=\"k2b-calendar-time-grid__days\" style={{ \"grid-template-columns\": `4rem repeat(${props.days.length}, minmax(0, 1fr))` }}>\n <div />\n <For each={props.days}>\n {(day) => {\n const dayBadge = props.owner.dayBadges?.[calendar.formatDateKey(day, dateConfig())];\n const today = () => calendar.isToday(day, dateConfig());\n return (\n <CalendarNavigationLink\n owner={props.owner}\n href={props.owner.getDateHref?.(day, \"day\") ?? \"#\"}\n anchorProps={{ class: \"k2b-calendar-time-grid__day\" }}\n >\n <span class=\"k2b-calendar-time-grid__day-label\" data-today={today() ? \"true\" : undefined}>\n {formatDay(day, dateConfig())}\n </span>\n <Show when={dayBadge}>\n {(badge) => (\n <span class=\"k2b-calendar-time-grid__badge\">\n <Show when={badge().icon}>{(icon) => <i class={`k2b-calendar-time-grid__badge-icon ti ti-${icon()}`} />}</Show>\n {badge().label}\n </span>\n )}\n </Show>\n </CalendarNavigationLink>\n );\n }}\n </For>\n </div>\n <Show when={!props.owner.hideAllDay}>\n <div\n class=\"k2b-calendar-time-grid__all-day\"\n style={{\n \"grid-template-columns\": `4rem repeat(${props.days.length}, minmax(0, 1fr))`,\n \"max-height\": `${props.owner.allDayMaxHeightRem ?? 7}rem`,\n }}\n >\n <div class=\"k2b-calendar-time-grid__all-day-label\">{props.labels.allDay}</div>\n <For each={props.days}>\n {(day) => {\n const dayKey = calendar.formatDateKey(day, dateConfig());\n const allDay = () => eventsByDay().get(dayKey)?.allDay ?? [];\n const previewAllDay = previewEvents().filter((event) => event.dayKey === dayKey && event.allDay);\n return (\n <div\n class=\"k2b-calendar-time-grid__all-day-cell\"\n data-calendar-day-key={dayKey}\n data-drop-preview={\n timePreview()?.allDay && calendar.formatDateKey(timePreview()!.start, dateConfig()) === dayKey ? \"true\" : undefined\n }\n data-interactive={props.owner.onSlotActivate ? \"true\" : undefined}\n {...slotInteractionProps(\n props.owner,\n () => {\n const start = startOfDay(day, dateConfig());\n return { start, end: calendar.addDays(start, 1, dateConfig()), allDay: true };\n },\n () => performance.now() < suppressSlotClickUntil,\n )}\n >\n <div class=\"k2b-calendar-time-grid__all-day-events\">\n <For each={previewAllDay}>{(event) => <div class=\"k2b-calendar-preview\">{event.title}</div>}</For>\n <For each={allDay()}>\n {(event) => (\n <EventChip\n event={event}\n owner={props.owner}\n href={eventHref(props.owner, event)}\n compact\n moving={movingEventId() === event.id}\n onMovePointerDown={\n props.owner.onEventDrop\n ? (pointerEvent, markDragged) => startAllDayMove(pointerEvent, event, markDragged)\n : undefined\n }\n />\n )}\n </For>\n </div>\n </div>\n );\n }}\n </For>\n </div>\n </Show>\n <div ref={scrollContainer} class=\"k2b-calendar-time-grid__scroll\">\n <div\n ref={timeGrid}\n class=\"k2b-calendar-time-grid__grid\"\n style={{ \"grid-template-columns\": `4rem repeat(${props.days.length}, minmax(0, 1fr))` }}\n >\n <div\n ref={timeGutter}\n class=\"k2b-calendar-time-grid__gutter\"\n style={{ \"grid-template-rows\": `repeat(${hours().length}, minmax(4rem, 1fr))` }}\n >\n <For each={hours()}>\n {(hour) => (\n <div\n ref={(element) => {\n if (hour === businessStartHour()) defaultHourMarker = element;\n }}\n class=\"k2b-calendar-time-grid__hour\"\n data-outside-business={hour < businessStartHour() || hour > businessEndHour() ? \"true\" : undefined}\n >\n {`${hour}`.padStart(2, \"0\")}:00\n </div>\n )}\n </For>\n </div>\n <For each={props.days}>\n {(day) => {\n const dayKey = calendar.formatDateKey(day, dateConfig());\n const layouts = createMemo(() => timedEventLayouts(eventsByDay().get(dayKey)?.timed ?? []));\n return (\n <div\n class=\"k2b-calendar-time-grid__column\"\n style={{\n \"min-width\": dayColumnMinWidth(layouts()),\n \"grid-template-rows\": `repeat(${hours().length}, minmax(4rem, 1fr))`,\n }}\n >\n <Show when={currentTimeLine(day) !== null}>\n <div class=\"k2b-calendar-time-grid__now\" style={{ top: `${currentTimeLine(day) ?? 0}%` }} />\n </Show>\n <For each={hours()}>\n {(hour) => (\n <div\n class=\"k2b-calendar-time-grid__slot\"\n data-outside-business={hour < businessStartHour() || hour > businessEndHour() ? \"true\" : undefined}\n data-interactive={props.owner.onSlotActivate ? \"true\" : undefined}\n {...slotInteractionProps(\n props.owner,\n () => {\n const start = zonedSlot(day, hour, dateConfig());\n return { start, end: slotEnd(start), allDay: false };\n },\n () => performance.now() < suppressSlotClickUntil,\n )}\n onPointerDown={startRange}\n />\n )}\n </For>\n <For each={previewEvents().filter((event) => event.dayKey === dayKey && !event.allDay)}>\n {(event) => {\n const layout = eventLayout(event);\n const short = event.endDate.getTime() - event.startDate.getTime() < 60 * 60_000;\n return (\n <div\n class=\"k2b-calendar-preview k2b-calendar-preview--timed\"\n data-short={short ? \"true\" : undefined}\n style={{ top: `${layout.top}%`, height: `${layout.height}%` }}\n >\n <div class=\"k2b-calendar-preview__content\">\n <Show when={event.title}>\n <div class=\"k2b-calendar-preview__title\">{event.title}</div>\n </Show>\n <div class=\"k2b-calendar-preview__label\">\n {formatTime(event.startDate, dateConfig())} - {formatTime(event.endDate, dateConfig())}\n </div>\n </div>\n </div>\n );\n }}\n </For>\n <For each={layouts()}>\n {(layoutItem) => {\n if (!isDayView() && layoutItem.lane >= visibleLaneCount(layoutItem.lanes)) return null;\n const event = layoutItem.event;\n const layout = eventLayout(event);\n const position = laneStyle(layoutItem);\n const resizeStart = (pointerEvent: PointerEvent) => {\n if (!props.owner.onEventResize) return;\n pointerEvent.preventDefault();\n pointerEvent.stopPropagation();\n beginInteraction({\n event: pointerEvent,\n scrollContainer,\n threshold: 1,\n resolve: (clientX, clientY) => {\n const pointer = timeAtPoint(clientX, clientY);\n if (!pointer) return null;\n const minimumEnd = addMinutes(event.sourceStartDate, 15);\n const end = pointer > minimumEnd ? pointer : minimumEnd;\n return { id: event.id, title: event.title, start: event.sourceStartDate, end, allDay: false };\n },\n onActivate: () => {\n suppressSlotClickUntil = performance.now() + 400;\n setMovingEventId(event.id);\n },\n onPreview: setTimePreview,\n onCommit: (next) => {\n clearInteraction();\n if (eventTimeChanged(event, next)) props.owner.onEventResize?.(event, next);\n },\n onCancel: clearInteraction,\n });\n };\n return (\n <div\n class=\"k2b-calendar-time-grid__event-position\"\n style={{\n top: `${layout.top}%`,\n height: `${layout.height}%`,\n left: position.left,\n width: position.width,\n \"z-index\": String(20 + layoutItem.lane),\n }}\n >\n <div class=\"k2b-calendar-time-grid__event-frame\">\n <EventChip\n event={event}\n owner={props.owner}\n href={eventHref(props.owner, event)}\n fill\n moving={movingEventId() === event.id}\n onMovePointerDown={\n props.owner.onEventDrop\n ? (pointerEvent, markDragged) => startTimedMove(pointerEvent, event, markDragged)\n : undefined\n }\n />\n <Show when={props.owner.onEventResize}>\n <button\n type=\"button\"\n aria-label={messages().resizeEvent}\n draggable={false}\n class=\"k2b-calendar-time-grid__resize\"\n onPointerDown={resizeStart}\n onDragStart={(event) => event.preventDefault()}\n >\n <span class=\"k2b-calendar-time-grid__resize-icon\" aria-hidden=\"true\" />\n </button>\n </Show>\n </div>\n </div>\n );\n }}\n </For>\n <For each={overflowLayouts(layouts())}>\n {(overflow) => {\n const layout = timeRangeLayout(overflow.groupStartDate, overflow.groupEndDate);\n const key = `${dayKey}-${overflow.groupId}`;\n const hiddenTitle = () =>\n overflow.hiddenEvents.map((event) => `${formatTime(event.startDate, dateConfig())} ${event.title}`).join(\"\\n\");\n return (\n <>\n <button\n type=\"button\"\n class=\"k2b-calendar-time-grid__overflow\"\n style={{ top: `${layout.top}%`, height: `${layout.height}%` }}\n title={hiddenTitle()}\n aria-label={messages().hiddenOverlappingEvents({ count: overflow.hiddenEvents.length })}\n onClick={(event) => {\n event.stopPropagation();\n setExpandedOverflow(expandedOverflow() === key ? \"\" : key);\n }}\n >\n <span class=\"k2b-calendar-time-grid__overflow-count\">+{overflow.hiddenEvents.length}</span>\n </button>\n <Show when={expandedOverflow() === key}>\n <div class=\"k2b-calendar-time-grid__overflow-menu\" style={{ top: `${layout.top}%` }}>\n <div class=\"k2b-calendar-time-grid__overflow-title\">\n {formatTime(overflow.groupStartDate, dateConfig())} - {formatTime(overflow.groupEndDate, dateConfig())}\n </div>\n <For each={overflow.hiddenEvents}>\n {(event) => <EventChip event={event} owner={props.owner} href={eventHref(props.owner, event)} compact />}\n </For>\n </div>\n </Show>\n </>\n );\n }}\n </For>\n </div>\n );\n }}\n </For>\n </div>\n </div>\n </div>\n );\n};\n\nconst YearView = (props: { owner: CalendarProps; date: Date; now: Date; events: NormalizedEvent[] }): JSX.Element => {\n const dateConfig = createMemo(() => ownerDateConfig(props.owner));\n const year = createMemo(() => zonedYearMonth(props.date, dateConfig()).year);\n const todayKey = createMemo(() => calendar.formatDateKey(props.now, dateConfig()));\n const eventsByDay = createMemo(() => {\n const grouped = new Map<string, NormalizedEvent[]>();\n for (const event of props.events) {\n const events = grouped.get(event.dayKey);\n if (events) events.push(event);\n else grouped.set(event.dayKey, [event]);\n }\n return grouped;\n });\n const months = createMemo(() => {\n const context = dateConfig();\n return Array.from({ length: 12 }, (_, month) => {\n const date = zonedMonthDate(year(), month, context);\n return {\n date,\n label: date.toLocaleDateString(context.locale ?? \"en\", { month: \"long\", timeZone: context.timeZone }),\n days: calendar\n .getMonthGrid(year(), month, context)\n .flat()\n .map((day) => {\n const key = calendar.formatDateKey(day, context);\n return {\n date: day,\n events: eventsByDay().get(key) ?? [],\n isToday: key === todayKey(),\n outside: !calendar.isSameMonth(day, date, context),\n number: calendar.formatDayNumber(day, context),\n };\n }),\n };\n });\n });\n\n return (\n <div class=\"k2b-calendar-year\">\n <For each={months()}>\n {(month) => (\n <div class=\"k2b-calendar-year__month\">\n <div class=\"k2b-calendar-year__title\">{month.label}</div>\n <div class=\"k2b-calendar-year__grid\">\n <For each={month.days}>\n {(day) => (\n <CalendarNavigationLink\n owner={props.owner}\n href={props.owner.getDateHref?.(day.date, \"day\") ?? \"#\"}\n anchorProps={{\n class: \"k2b-calendar-year__day\",\n \"data-today\": day.isToday ? \"true\" : undefined,\n \"data-outside\": day.outside ? \"true\" : undefined,\n }}\n >\n {day.number}\n <Show when={day.events[0]}>\n {(event) => (\n <span\n class=\"k2b-calendar-year__indicator\"\n data-color={event().colorHex ? undefined : (event().color ?? \"blue\")}\n data-today={day.isToday ? \"true\" : undefined}\n style={event().colorHex ? { \"background-color\": day.isToday ? \"white\" : event().colorHex } : undefined}\n />\n )}\n </Show>\n </CalendarNavigationLink>\n )}\n </For>\n </div>\n </div>\n )}\n </For>\n </div>\n );\n};\n\nconst MobileMonthView = (props: {\n owner: CalendarProps;\n date: Date;\n now: Date;\n selectedDate: Date;\n events: NormalizedEvent[];\n labels: Required<CalendarLabels>;\n}): JSX.Element => {\n const dateConfig = createMemo(() => ownerDateConfig(props.owner));\n const selectedDateKey = createMemo(() => calendar.formatDateKey(props.selectedDate, dateConfig()));\n const selectedEvents = createMemo(() => props.events.filter((event) => event.dayKey === selectedDateKey()));\n return (\n <div class=\"k2b-calendar-mobile-month\">\n <MonthView\n owner={{ ...props.owner, withWeekNumbers: false }}\n date={props.date}\n now={props.now}\n events={props.events}\n labels={props.labels}\n />\n <div class=\"k2b-calendar-mobile-month__agenda\">\n <div class=\"k2b-calendar-mobile-month__title\">\n {props.selectedDate.toLocaleDateString(dateConfig().locale ?? \"en\", {\n weekday: \"long\",\n month: \"long\",\n day: \"numeric\",\n timeZone: dateConfig().timeZone,\n })}\n </div>\n <Show when={selectedEvents().length > 0} fallback={<div class=\"k2b-calendar-mobile-month__empty\">{props.labels.noEvents}</div>}>\n <div class=\"k2b-calendar-mobile-month__events\">\n <For each={selectedEvents()}>\n {(event) => <EventChip event={event} owner={props.owner} href={eventHref(props.owner, event)} />}\n </For>\n </div>\n </Show>\n </div>\n </div>\n );\n};\n\nconst CalendarBody = (props: { children: JSX.Element }): JSX.Element => <div class=\"k2b-calendar-body\">{props.children}</div>;\n\nconst Calendar = (props: CalendarProps): JSX.Element => {\n const messages = useUiMessages();\n // Subviews derive their date config from the owner props, so the inherited\n // render locale is merged here once; an explicit dateConfig.locale wins.\n const localizedConfig = useDateConfigLocale(() => props.dateConfig);\n const owner = mergeProps(props, {\n get dateConfig(): DateContext {\n return localizedConfig();\n },\n });\n const view = () => props.view ?? \"month\";\n const dateConfig = createMemo(() => ownerDateConfig(owner));\n const safeDate = (value: Date | string) => {\n const parsed = parseDate(value, dateConfig());\n return validDate(parsed) ? parsed : calendar.today(dateConfig());\n };\n const date = createMemo(() => safeDate(props.date));\n const selectedDate = createMemo(() => safeDate(props.selectedDate ?? props.date));\n const [now, setNow] = createSignal(new Date());\n const normalizedEvents = createMemo(() => normalizeEvents(props.events, dateConfig()));\n const mergedLabels = createMemo<Required<CalendarLabels>>(() => ({\n today: messages().today,\n day: messages().day,\n week: messages().week,\n month: messages().month,\n year: messages().year,\n allDay: messages().allDay,\n noEvents: messages().noEvents,\n previous: messages().previous,\n next: messages().next,\n ...props.labels,\n }));\n const days = createMemo(() => {\n if (view() === \"day\") return [date()];\n return calendar.getWeekDays(date(), dateConfig());\n });\n onMount(() => {\n const updateNow = () => setNow(new Date());\n const interval = window.setInterval(updateNow, 60_000);\n document.addEventListener(\"visibilitychange\", updateNow);\n onCleanup(() => {\n window.clearInterval(interval);\n document.removeEventListener(\"visibilitychange\", updateNow);\n });\n });\n\n return (\n <section class={`k2b-content-calendar ${props.class ?? \"\"}`} aria-busy={props.navigationPending ? \"true\" : undefined}>\n <CalendarHeader date={date()} view={view()} labels={mergedLabels()} owner={owner} />\n {props.toolbarContent}\n <Show\n when={view() !== \"month\"}\n fallback={\n <CalendarBody>\n <MonthView owner={owner} date={date()} now={now()} events={normalizedEvents()} labels={mergedLabels()} />\n </CalendarBody>\n }\n >\n <Show\n when={view() !== \"year\"}\n fallback={\n <CalendarBody>\n <YearView owner={owner} date={date()} now={now()} events={normalizedEvents()} />\n </CalendarBody>\n }\n >\n <Show\n when={view() !== \"mobile-month\"}\n fallback={\n <CalendarBody>\n <MobileMonthView\n owner={owner}\n date={date()}\n now={now()}\n selectedDate={selectedDate()}\n events={normalizedEvents()}\n labels={mergedLabels()}\n />\n </CalendarBody>\n }\n >\n <TimeGridView owner={owner} date={date()} now={now()} events={normalizedEvents()} labels={mergedLabels()} days={days()} />\n </Show>\n </Show>\n </Show>\n </section>\n );\n};\n\nexport default Calendar;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["content/Calendar.tsx"],"sourcesContent":["import { Link, type LinkNavigateEvent } from \"@k2b/ssr/nav\";\nimport { dates as calendar, type DateContext } from \"@k2b/stdlib\";\nimport type { JSX, ParentProps } from \"solid-js\";\nimport { createMemo, createSignal, For, mergeProps, onCleanup, onMount, Show } from \"solid-js\";\nimport { Button } from \"../actions/Button\";\nimport SegmentedControl from \"../actions/SegmentedControl\";\nimport { useDateConfigLocale } from \"../intl/locale\";\nimport { useUiMessages } from \"../intl/messages\";\nimport { layoutCalendarIntervals } from \"./calendar-event-layout\";\nimport { calendarDayIndexAtPoint, calendarMinuteAtPoint, startCalendarPointerSession } from \"./calendar-pointer\";\n\nexport type CalendarView = \"day\" | \"week\" | \"month\" | \"year\" | \"mobile-month\";\n\nexport type CalendarEventColor = \"blue\" | \"emerald\" | \"amber\" | \"red\" | \"violet\" | \"cyan\" | \"zinc\";\n\nexport type CalendarEvent = {\n id: string;\n title: string;\n start: Date | string;\n end?: Date | string;\n allDay?: boolean;\n color?: CalendarEventColor;\n colorHex?: string;\n href?: string;\n dataSpaceItemId?: string;\n meta?: string;\n description?: string;\n display?: \"event\" | \"background\";\n location?: string;\n calendarName?: string;\n attendees?: CalendarAttendee[];\n resources?: CalendarResource[];\n recurrence?: CalendarRecurrence;\n};\n\nexport type CalendarAttendee = {\n name: string;\n status?: \"accepted\" | \"declined\" | \"tentative\" | \"needs-action\";\n};\n\nexport type CalendarResource = {\n name: string;\n kind?: \"room\" | \"equipment\" | \"link\" | \"other\";\n};\n\nexport type CalendarRecurrence = {\n rrule: string;\n exdate?: Array<Date | string>;\n recurrenceId?: Date | string;\n};\n\nexport type CalendarLabels = Partial<{\n today: string;\n day: string;\n week: string;\n month: string;\n year: string;\n allDay: string;\n noEvents: string;\n previous: string;\n next: string;\n}>;\n\nexport type CalendarEventRenderContext = {\n compact: boolean;\n fill: boolean;\n start: Date;\n end: Date;\n allDay: boolean;\n durationHours: number;\n timeLabel: string;\n};\n\nexport type CalendarProps = {\n date: Date | string;\n events: CalendarEvent[];\n view?: CalendarView;\n views?: CalendarView[];\n labels?: CalendarLabels;\n /** stdlib date context used for timezone-aware rendering and calendar math. */\n dateConfig?: DateContext;\n /** Convenience override for dateConfig.timeZone. */\n timeZone?: string;\n firstDayOfWeek?: 0 | 1;\n withWeekNumbers?: boolean;\n startHour?: number;\n endHour?: number;\n visibleStartHour?: number;\n visibleEndHour?: number;\n allDayMaxHeightRem?: number;\n hideAllDay?: boolean;\n selectedDate?: Date | string;\n selectedEventId?: string;\n dayBadges?: Record<string, CalendarDayBadge>;\n getViewHref?: (view: CalendarView) => string;\n getDateHref?: (date: Date, view: CalendarView) => string;\n getEventHref?: (event: CalendarEvent) => string | undefined;\n renderEvent?: (event: CalendarEvent, context: CalendarEventRenderContext) => JSX.Element;\n /** Progressively enhance canonical calendar links after the app has loaded their target state. */\n onNavigate?: (event: LinkNavigateEvent) => void | Promise<void>;\n /** Progressively enhance canonical links without a document view transition. */\n onNavigateHref?: (href: string) => void;\n /** Optionally preload the target behind a canonical calendar link. */\n onPrefetch?: (href: string) => void;\n navigationPending?: boolean;\n onViewChange?: (view: CalendarView) => void;\n onDateChange?: (date: Date, view: CalendarView) => void;\n /** One activation contract for pointer and keyboard input. */\n onEventActivate?: (event: CalendarEvent) => void;\n /** Pointer gesture used for activation. Keyboard activation is always immediate. */\n eventActivation?: \"single\" | \"double\";\n onEventDrop?: (event: CalendarEvent, next: CalendarEventTimeChange) => void;\n onEventResize?: (event: CalendarEvent, next: CalendarEventTimeChange) => void;\n onSlotActivate?: (slot: CalendarEventTimeChange) => void;\n /** Pointer gesture used for empty slots. Keyboard activation is always immediate. */\n slotActivation?: \"single\" | \"double\";\n toolbarActions?: JSX.Element;\n toolbarContent?: JSX.Element;\n class?: string;\n};\n\nexport type CalendarEventTimeChange = {\n start: Date;\n end: Date;\n allDay?: boolean;\n};\n\nexport type CalendarDayBadge = {\n icon?: string;\n label: string;\n};\n\ntype NormalizedEvent = CalendarEvent & {\n startDate: Date;\n endDate: Date;\n dayKey: string;\n sourceStartDate: Date;\n sourceEndDate: Date;\n};\n\ntype CalendarPreview = CalendarEventTimeChange & {\n id: string;\n title?: string;\n};\n\ntype TimedEventLayout = {\n event: NormalizedEvent;\n lane: number;\n lanes: number;\n groupId: number;\n groupStartDate: Date;\n groupEndDate: Date;\n};\n\ntype TimedOverflowLayout = {\n groupId: number;\n hiddenEvents: NormalizedEvent[];\n groupStartDate: Date;\n groupEndDate: Date;\n};\n\nconst ownerDateConfig = (owner: CalendarProps): DateContext => ({\n ...owner.dateConfig,\n timeZone: owner.timeZone ?? owner.dateConfig?.timeZone,\n firstDayOfWeek: owner.firstDayOfWeek ?? owner.dateConfig?.firstDayOfWeek ?? owner.dateConfig?.weekStartsOn ?? 1,\n});\n\nconst dateOnlyPattern = /^\\d{4}-\\d{2}-\\d{2}$/;\n\nconst parseDate = (value: Date | string, context?: DateContext): Date => {\n if (value instanceof Date) return new Date(value);\n if (dateOnlyPattern.test(value)) return calendar.parseCalendarDate(value, context);\n const normalized = value.includes(\"T\") ? value : value.replace(\" \", \"T\");\n const parsed = new Date(normalized);\n if (!Number.isNaN(parsed.getTime())) return parsed;\n const [year, month = \"1\", day = \"1\"] = value.split(\"-\");\n return new Date(Number(year), Number(month) - 1, Number(day), 12);\n};\n\nconst validDate = (value: Date): boolean => !Number.isNaN(value.getTime());\n\nconst weekNumber = (date: Date): number => {\n const target = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));\n const day = target.getUTCDay() || 7;\n target.setUTCDate(target.getUTCDate() + 4 - day);\n const yearStart = new Date(Date.UTC(target.getUTCFullYear(), 0, 1));\n return Math.ceil(((target.getTime() - yearStart.getTime()) / 86400000 + 1) / 7);\n};\nconst zonedWeekNumber = (date: Date, context?: DateContext): number => {\n if (!context?.timeZone) return weekNumber(date);\n const [year = \"1970\", month = \"1\", day = \"1\"] = calendar.formatDateKey(date, context).split(\"-\");\n return weekNumber(new Date(Date.UTC(Number(year), Number(month) - 1, Number(day))));\n};\n\nconst formatTime = (date: Date, context?: DateContext): string => calendar.formatTime(date, context);\nconst formatDay = (date: Date, context?: DateContext): string =>\n date.toLocaleDateString(context?.locale ?? \"en\", { weekday: \"short\", day: \"numeric\", timeZone: context?.timeZone });\nconst formatMonth = (date: Date, context?: DateContext): string => calendar.formatMonthYear(date, context);\nconst zonedYearMonth = (date: Date, context?: DateContext): { year: number; month: number } => {\n const [year = \"1970\", month = \"1\"] = calendar.formatDateKey(date, context).split(\"-\");\n return { year: Number(year), month: Number(month) - 1 };\n};\nconst zonedMonthDate = (year: number, month: number, context?: DateContext): Date => {\n const value = `${year}-${String(month + 1).padStart(2, \"0\")}-01T12:00`;\n if (!context?.timeZone) return parseDate(value);\n return new Date(calendar.zonedDateTimeToInstant(value, context.timeZone, { disambiguation: \"compatible\" }));\n};\n\nconst startOfDay = (date: Date, context?: DateContext): Date => calendar.startOfDay(date, context);\nconst endOfDay = (date: Date, context?: DateContext): Date => calendar.endOfDay(date, context);\nconst isStartOfDay = (date: Date, context?: DateContext): boolean => date.getTime() === startOfDay(date, context).getTime();\nconst addMinutes = (date: Date, minutes: number): Date => new Date(date.getTime() + minutes * 60 * 1000);\nconst zonedHour = (date: Date, context?: DateContext): number => {\n if (!context?.timeZone) return date.getHours() + date.getMinutes() / 60;\n const value = calendar.instantToZonedInput(date, context.timeZone);\n return Number(value.slice(11, 13)) + Number(value.slice(14, 16)) / 60;\n};\nconst zonedSlot = (day: Date, hour: number, context?: DateContext): Date => {\n return zonedMinuteSlot(day, hour * 60, context);\n};\nconst zonedMinuteSlot = (day: Date, minuteOfDay: number, context?: DateContext): Date => {\n const bounded = Math.max(0, Math.min(23 * 60 + 59, minuteOfDay));\n const hour = Math.floor(bounded / 60);\n const minute = bounded % 60;\n const value = `${calendar.formatDateKey(day, context)}T${String(hour).padStart(2, \"0\")}:${String(minute).padStart(2, \"0\")}`;\n if (!context?.timeZone) return parseDate(value);\n return new Date(calendar.zonedDateTimeToInstant(value, context.timeZone, { disambiguation: \"compatible\" }));\n};\nconst normalizeEvents = (events: CalendarEvent[], context?: DateContext): NormalizedEvent[] =>\n events.flatMap((event) => {\n const startDate = parseDate(event.start, context);\n if (!validDate(startDate)) return [];\n const parsedEnd = event.end ? parseDate(event.end, context) : null;\n const endDate = parsedEnd && validDate(parsedEnd) ? parsedEnd : new Date(startDate.getTime() + 60 * 60 * 1000);\n const duration = Math.max(60 * 60 * 1000, endDate.getTime() - startDate.getTime());\n const rangeEnd = endDate > startDate ? endDate : new Date(startDate.getTime() + duration);\n const startKey = calendar.formatDateKey(startDate, context);\n const endKey = calendar.formatDateKey(rangeEnd, context);\n if (!event.allDay && startKey === endKey) {\n return [\n {\n ...event,\n startDate,\n endDate: rangeEnd,\n sourceStartDate: startDate,\n sourceEndDate: rangeEnd,\n dayKey: startKey,\n },\n ];\n }\n const lastDay =\n event.allDay && isStartOfDay(rangeEnd, context)\n ? calendar.addDays(startOfDay(rangeEnd, context), -1, context)\n : startOfDay(rangeEnd, context);\n const days: NormalizedEvent[] = [];\n for (let day = startOfDay(startDate, context); day <= lastDay; day = calendar.addDays(day, 1, context)) {\n const segmentStart = day.getTime() === startOfDay(startDate, context).getTime() ? startDate : startOfDay(day, context);\n const segmentEnd = day.getTime() === startOfDay(rangeEnd, context).getTime() ? rangeEnd : endOfDay(day, context);\n days.push({\n ...event,\n startDate: segmentStart,\n endDate: segmentEnd,\n sourceStartDate: startDate,\n sourceEndDate: rangeEnd,\n dayKey: calendar.formatDateKey(day, context),\n allDay: event.allDay,\n });\n }\n return days;\n });\n\nconst eventHref = (props: CalendarProps, event: CalendarEvent): string | undefined => props.getEventHref?.(event) ?? event.href;\n\nconst moveEventTo = (event: NormalizedEvent, target: Date, allDay = false, context?: DateContext): CalendarEventTimeChange => {\n const duration = Math.max(30 * 60 * 1000, event.sourceEndDate.getTime() - event.sourceStartDate.getTime());\n const start = allDay ? startOfDay(target, context) : new Date(target);\n start.setSeconds(0, 0);\n return { start, end: new Date(start.getTime() + duration), allDay };\n};\n\nconst moveEventToDay = (event: NormalizedEvent, day: Date, context?: DateContext): CalendarEventTimeChange => {\n if (event.allDay) return moveEventTo(event, startOfDay(day, context), true, context);\n const localStart = context?.timeZone ? calendar.instantToZonedInput(event.sourceStartDate, context.timeZone) : null;\n const hour = localStart ? Number(localStart.slice(11, 13)) : event.sourceStartDate.getHours();\n const minute = localStart ? Number(localStart.slice(14, 16)) : event.sourceStartDate.getMinutes();\n return moveEventTo(event, zonedMinuteSlot(day, hour * 60 + minute, context), false, context);\n};\n\nconst eventTimeChanged = (event: NormalizedEvent, next: CalendarEventTimeChange): boolean =>\n event.sourceStartDate.getTime() !== next.start.getTime() ||\n event.sourceEndDate.getTime() !== next.end.getTime() ||\n Boolean(event.allDay) !== Boolean(next.allDay);\n\nconst previewSegments = (preview: CalendarPreview | null, days: Date[], context?: DateContext): NormalizedEvent[] =>\n preview\n ? normalizeEvents(\n [\n {\n id: `preview-${preview.id}`,\n title: preview.title ?? \"\",\n start: preview.start,\n end: preview.end,\n allDay: preview.allDay,\n color: \"blue\",\n },\n ],\n context,\n ).filter((event) => days.some((day) => event.dayKey === calendar.formatDateKey(day, context)))\n : [];\n\nconst timedEventLayouts = (events: NormalizedEvent[]): TimedEventLayout[] => {\n return layoutCalendarIntervals(events, (event) => ({\n start: event.startDate.getTime(),\n end: event.endDate.getTime(),\n })).map(({ item: event, lane, lanes, groupId, groupStart, groupEnd }) => ({\n event,\n lane,\n lanes,\n groupId,\n groupStartDate: new Date(groupStart),\n groupEndDate: new Date(groupEnd),\n }));\n};\n\nconst EventChip = (props: {\n event: NormalizedEvent;\n owner: CalendarProps;\n href?: string;\n compact?: boolean;\n fill?: boolean;\n moving?: boolean;\n onMovePointerDown?: (event: PointerEvent, onActivate: () => void) => void;\n}): JSX.Element => {\n const dateConfig = createMemo(() => ownerDateConfig(props.owner));\n const color = () => props.event.color ?? \"blue\";\n const selected = () => Boolean(props.owner.selectedEventId) && props.owner.selectedEventId === props.event.id;\n const style = () => (props.event.colorHex ? { \"--k2b-calendar-accent\": props.event.colorHex } : undefined);\n const isInteractive = () => Boolean(props.owner.onEventActivate);\n const durationHours = () => (props.event.endDate.getTime() - props.event.startDate.getTime()) / 3_600_000;\n const short = () => Boolean(props.fill && !props.event.allDay && durationHours() < 0.75);\n const showTime = () => !props.event.allDay && !props.compact && durationHours() >= 0.75;\n const showLocation = () => Boolean(props.event.location && !props.compact && durationHours() >= 1.25);\n const showDescription = () =>\n Boolean(props.event.description?.trim() && props.fill && !props.event.allDay && !props.compact && durationHours() >= 1.5);\n const timeLabel = () => `${formatTime(props.event.startDate, dateConfig())} - ${formatTime(props.event.endDate, dateConfig())}`;\n const renderedEvent = () =>\n props.owner.renderEvent?.(props.event, {\n compact: props.compact ?? false,\n fill: props.fill ?? false,\n start: props.event.startDate,\n end: props.event.endDate,\n allDay: props.event.allDay ?? false,\n durationHours: durationHours(),\n timeLabel: timeLabel(),\n });\n const defaultContent = (\n <>\n <span class=\"k2b-calendar-event__title\">{props.event.title}</span>\n <Show when={showTime()}>\n <span class=\"k2b-calendar-event__meta\">{timeLabel()}</span>\n </Show>\n <Show when={showLocation()}>\n <span class=\"k2b-calendar-event__meta\">{props.event.location}</span>\n </Show>\n <Show when={showDescription()}>\n <span class=\"k2b-calendar-event__description\">{props.event.description}</span>\n </Show>\n </>\n );\n const content = () => renderedEvent() ?? defaultContent;\n const isActionable = () => isInteractive() || Boolean(props.onMovePointerDown);\n let suppressClickUntil = 0;\n const onClick = (event: MouseEvent) => {\n if (performance.now() < suppressClickUntil) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n if (!props.owner.onEventActivate || props.owner.eventActivation === \"double\") return;\n event.preventDefault();\n event.stopPropagation();\n props.owner.onEventActivate(props.event);\n };\n const onDoubleClick = (event: MouseEvent) => {\n if (!props.owner.onEventActivate || props.owner.eventActivation !== \"double\") return;\n event.preventDefault();\n event.stopPropagation();\n props.owner.onEventActivate(props.event);\n };\n const onButtonKeyDown = (event: KeyboardEvent) => {\n if (!isInteractive() || (event.key !== \"Enter\" && event.key !== \" \")) return;\n event.preventDefault();\n props.owner.onEventActivate?.(props.event);\n };\n const onPointerDown = (event: PointerEvent) => {\n if (event.pointerType === \"touch\") return;\n if (props.onMovePointerDown) event.stopPropagation();\n props.onMovePointerDown?.(event, () => {\n suppressClickUntil = performance.now() + 400;\n });\n };\n\n return props.href ? (\n <a\n href={props.href}\n class=\"k2b-calendar-event\"\n data-calendar-event=\"\"\n data-color={props.event.colorHex ? undefined : color()}\n data-selected={selected() ? \"true\" : undefined}\n data-compact={props.compact ? \"true\" : undefined}\n data-fill={props.fill ? \"true\" : undefined}\n data-short={short() ? \"true\" : undefined}\n data-moving={props.moving ? \"true\" : undefined}\n data-interactive={isInteractive() ? \"true\" : undefined}\n data-display={props.event.display}\n data-space-item-id={props.event.dataSpaceItemId}\n style={style()}\n draggable={props.onMovePointerDown ? false : undefined}\n onClick={onClick}\n onDblClick={onDoubleClick}\n onDragStart={props.onMovePointerDown ? (event) => event.preventDefault() : undefined}\n onPointerDown={onPointerDown}\n aria-label={`${props.event.title}${props.event.allDay ? \"\" : `, ${formatTime(props.event.startDate, dateConfig())} to ${formatTime(props.event.endDate, dateConfig())}`}`}\n >\n {content()}\n </a>\n ) : isActionable() ? (\n <button\n type=\"button\"\n class=\"k2b-calendar-event\"\n data-calendar-event=\"\"\n data-color={props.event.colorHex ? undefined : color()}\n data-selected={selected() ? \"true\" : undefined}\n data-compact={props.compact ? \"true\" : undefined}\n data-fill={props.fill ? \"true\" : undefined}\n data-short={short() ? \"true\" : undefined}\n data-moving={props.moving ? \"true\" : undefined}\n data-interactive=\"true\"\n data-display={props.event.display}\n style={style()}\n onClick={onClick}\n onDblClick={onDoubleClick}\n onPointerDown={onPointerDown}\n onKeyDown={onButtonKeyDown}\n aria-label={`${props.event.title}${props.event.allDay ? \"\" : `, ${formatTime(props.event.startDate, dateConfig())} to ${formatTime(props.event.endDate, dateConfig())}`}`}\n >\n {content()}\n </button>\n ) : (\n <div\n class=\"k2b-calendar-event\"\n role=\"group\"\n data-calendar-event=\"\"\n data-color={props.event.colorHex ? undefined : color()}\n data-selected={selected() ? \"true\" : undefined}\n data-compact={props.compact ? \"true\" : undefined}\n data-fill={props.fill ? \"true\" : undefined}\n data-short={short() ? \"true\" : undefined}\n data-moving={props.moving ? \"true\" : undefined}\n data-interactive={undefined}\n data-display={props.event.display}\n style={style()}\n aria-label={`${props.event.title}${props.event.allDay ? \"\" : `, ${formatTime(props.event.startDate, dateConfig())} to ${formatTime(props.event.endDate, dateConfig())}`}`}\n >\n {content()}\n </div>\n );\n};\n\nconst slotInteractionProps = (\n owner: CalendarProps,\n slot: () => CalendarEventTimeChange,\n suppressed?: () => boolean,\n nativeControl = false,\n) => {\n const isSlotChild = (event: Event) => {\n if (!(event.target instanceof Element)) return false;\n const control = event.target.closest(\"a,button,[data-calendar-event]\");\n return Boolean(control && control !== event.currentTarget);\n };\n const interactive = Boolean(owner.onSlotActivate);\n const activate = (event: Event) => {\n if (!owner.onSlotActivate || isSlotChild(event) || suppressed?.()) return;\n event.preventDefault();\n owner.onSlotActivate(slot());\n };\n return {\n role: interactive && !nativeControl ? (\"button\" as const) : undefined,\n tabIndex: interactive && !nativeControl ? 0 : undefined,\n onClick: (event: MouseEvent) => {\n if (owner.slotActivation === \"double\") return;\n activate(event);\n },\n onDblClick: (event: MouseEvent) => {\n if (owner.slotActivation !== \"double\") return;\n activate(event);\n },\n onKeyDown: nativeControl\n ? undefined\n : (event: KeyboardEvent) => {\n if (event.key === \"Enter\" || event.key === \" \") activate(event);\n },\n };\n};\n\ntype CalendarNavigationLinkProps = ParentProps<{\n owner: CalendarProps;\n href: string;\n anchorProps?: Omit<JSX.AnchorHTMLAttributes<HTMLAnchorElement>, \"children\" | \"href\" | \"onClick\"> & {\n \"data-divider\"?: string;\n \"data-outside\"?: string;\n \"data-size\"?: string;\n \"data-today\"?: string;\n \"data-variant\"?: string;\n };\n}>;\n\n/** A real anchor is the baseline; the optional handler only enhances it after hydration. */\nconst CalendarNavigationLink = (props: CalendarNavigationLinkProps): JSX.Element => {\n const preload = () => props.owner.onPrefetch?.(props.href);\n const navigateHref: JSX.EventHandler<HTMLAnchorElement, MouseEvent> = (event) => {\n const anchor = event.currentTarget;\n if (\n event.defaultPrevented ||\n event.button !== 0 ||\n event.metaKey ||\n event.ctrlKey ||\n event.shiftKey ||\n event.altKey ||\n (anchor.target && anchor.target !== \"_self\") ||\n anchor.hasAttribute(\"download\") ||\n new URL(anchor.href).origin !== window.location.origin\n ) {\n return;\n }\n event.preventDefault();\n props.owner.onNavigateHref?.(props.href);\n };\n return props.owner.onNavigateHref ? (\n <a {...props.anchorProps} href={props.href} onClick={navigateHref} onPointerEnter={preload} onFocus={preload}>\n {props.children}\n </a>\n ) : props.owner.onNavigate ? (\n <Link\n {...props.anchorProps}\n href={props.href}\n scroll=\"preserve\"\n onNavigate={props.owner.onNavigate}\n onPointerEnter={preload}\n onFocus={preload}\n >\n {props.children}\n </Link>\n ) : (\n <a {...props.anchorProps} href={props.href} onPointerEnter={preload} onFocus={preload}>\n {props.children}\n </a>\n );\n};\n\nconst CalendarViewLinks = (props: {\n owner: CalendarProps;\n view: CalendarView;\n options: Array<{ value: CalendarView; label: string }>;\n}): JSX.Element => {\n const messages = useUiMessages();\n const refs: HTMLAnchorElement[] = [];\n const selectRelative = (currentIndex: number, direction: -1 | 1) => {\n if (props.options.length === 0) return;\n refs[(currentIndex + direction + props.options.length) % props.options.length]?.click();\n };\n const onKeyDown = (event: KeyboardEvent, index: number) => {\n if (event.key === \"ArrowRight\" || event.key === \"ArrowDown\") {\n event.preventDefault();\n selectRelative(index, 1);\n } else if (event.key === \"ArrowLeft\" || event.key === \"ArrowUp\") {\n event.preventDefault();\n selectRelative(index, -1);\n } else if (event.key === \"Home\" || event.key === \"End\") {\n event.preventDefault();\n refs[event.key === \"Home\" ? 0 : props.options.length - 1]?.click();\n }\n };\n\n return (\n <div\n role=\"radiogroup\"\n aria-label={messages().calendarView}\n aria-orientation=\"horizontal\"\n class=\"k2b-segmented-control k2b-calendar-view-switcher\"\n >\n <For each={props.options}>\n {(option, index) => {\n const active = () => (props.view === \"mobile-month\" ? \"month\" : props.view) === option.value;\n const href = () => props.owner.getViewHref?.(option.value) ?? \"#\";\n return (\n <CalendarNavigationLink\n owner={props.owner}\n href={href()}\n anchorProps={{\n ref: (element) => {\n refs[index()] = element;\n },\n role: \"radio\",\n \"aria-checked\": active(),\n tabIndex: active() ? 0 : -1,\n class: \"k2b-segmented-control__option\",\n \"data-divider\":\n index() < props.options.length - 1 &&\n !active() &&\n (props.view === \"mobile-month\" ? \"month\" : props.view) !== props.options[index() + 1]?.value\n ? \"true\"\n : undefined,\n onKeyDown: (event) => onKeyDown(event, index()),\n }}\n >\n {option.label}\n </CalendarNavigationLink>\n );\n }}\n </For>\n </div>\n );\n};\n\nconst adjacentCalendarDate = (date: Date, view: CalendarView, direction: -1 | 1, dateConfig: DateContext) => {\n if (view === \"year\") return calendar.addMonths(date, direction * 12, dateConfig);\n if (view === \"month\" || view === \"mobile-month\") return calendar.addMonths(date, direction, dateConfig);\n return calendar.addDays(date, direction * (view === \"day\" ? 1 : 7), dateConfig);\n};\n\nconst CalendarHeader = (props: { date: Date; view: CalendarView; labels: Required<CalendarLabels>; owner: CalendarProps }): JSX.Element => {\n const messages = useUiMessages();\n const dateConfig = () => ownerDateConfig(props.owner);\n const previous = () => adjacentCalendarDate(props.date, props.view, -1, dateConfig());\n const next = () => adjacentCalendarDate(props.date, props.view, 1, dateConfig());\n const title = () => {\n if (props.view === \"year\")\n return new Intl.DateTimeFormat(dateConfig().locale ?? \"en\", { year: \"numeric\", timeZone: dateConfig().timeZone }).format(props.date);\n if (props.view === \"day\")\n return props.date.toLocaleDateString(dateConfig().locale ?? \"en\", {\n weekday: \"long\",\n month: \"long\",\n day: \"numeric\",\n year: \"numeric\",\n timeZone: dateConfig().timeZone,\n });\n if (props.view === \"week\")\n return `${formatDay(calendar.startOfWeek(props.date, dateConfig()), dateConfig())} - ${formatDay(calendar.addDays(calendar.startOfWeek(props.date, dateConfig()), 6, dateConfig()), dateConfig())}`;\n return formatMonth(props.date, dateConfig());\n };\n const goDate = (date: Date) => props.owner.onDateChange?.(date, props.view);\n const goView = (view: CalendarView) => {\n if (props.owner.onViewChange) {\n props.owner.onViewChange(view);\n return;\n }\n const href = props.owner.getViewHref?.(view);\n if (href) window.location.href = href;\n };\n const navButton = (date: Date, icon: string, label: string) => {\n const href = props.owner.getDateHref?.(date, props.view);\n return (props.owner.onNavigateHref || props.owner.onNavigate) && href ? (\n <CalendarNavigationLink\n owner={props.owner}\n href={href}\n anchorProps={{ \"aria-label\": label, title: label, class: \"k2b-calendar-header__nav-button\" }}\n >\n <i class={`ti ${icon}`} />\n </CalendarNavigationLink>\n ) : props.owner.onDateChange ? (\n <button type=\"button\" aria-label={label} class=\"k2b-calendar-header__nav-button\" onClick={() => goDate(date)}>\n <i class={`ti ${icon}`} />\n </button>\n ) : (\n <CalendarNavigationLink\n owner={props.owner}\n href={href ?? \"#\"}\n anchorProps={{ \"aria-label\": label, title: label, class: \"k2b-calendar-header__nav-button\" }}\n >\n <i class={`ti ${icon}`} />\n </CalendarNavigationLink>\n );\n };\n const todayButton = () => {\n const today = calendar.today(dateConfig());\n const href = props.owner.getDateHref?.(today, props.view);\n const label = <span class=\"k2b-button__label\">{props.labels.today}</span>;\n return (props.owner.onNavigateHref || props.owner.onNavigate) && href ? (\n <CalendarNavigationLink\n owner={props.owner}\n href={href}\n anchorProps={{ class: \"k2b-button k2b-calendar-header__today\", \"data-size\": \"sm\", \"data-variant\": \"input\" }}\n >\n {label}\n </CalendarNavigationLink>\n ) : props.owner.onDateChange ? (\n <Button type=\"button\" variant=\"input\" size=\"sm\" class=\"k2b-calendar-header__today\" onClick={() => goDate(today)}>\n {props.labels.today}\n </Button>\n ) : (\n <CalendarNavigationLink\n owner={props.owner}\n href={href ?? \"#\"}\n anchorProps={{ class: \"k2b-button k2b-calendar-header__today\", \"data-size\": \"sm\", \"data-variant\": \"input\" }}\n >\n {label}\n </CalendarNavigationLink>\n );\n };\n const viewOptions = createMemo(() =>\n (\n [\n { value: \"day\", label: props.labels.day },\n { value: \"week\", label: props.labels.week },\n { value: \"month\", label: props.labels.month },\n { value: \"year\", label: props.labels.year },\n ] satisfies Array<{ value: CalendarView; label: string }>\n ).filter((option) => !props.owner.views || props.owner.views.includes(option.value)),\n );\n\n return (\n <header class=\"k2b-calendar-header\">\n <div class=\"k2b-calendar-header__navigation\">\n {navButton(previous(), \"ti-chevron-left\", props.labels.previous)}\n {navButton(next(), \"ti-chevron-right\", props.labels.next)}\n <div class=\"k2b-calendar-header__title\">{title()}</div>\n </div>\n <div class=\"k2b-calendar-header__actions\">\n {todayButton()}\n <Show\n when={!props.owner.onViewChange && props.owner.getViewHref}\n fallback={\n <SegmentedControl\n value={() => (props.view === \"mobile-month\" ? \"month\" : props.view)}\n onValueChange={goView}\n ariaLabel={messages().calendarView}\n options={viewOptions()}\n />\n }\n >\n <CalendarViewLinks owner={props.owner} view={props.view} options={viewOptions()} />\n </Show>\n {props.owner.toolbarActions}\n </div>\n <Show when={props.owner.navigationPending}>\n <span class=\"k2b-calendar-header__progress\" aria-hidden=\"true\" />\n </Show>\n </header>\n );\n};\n\nconst MonthView = (props: {\n owner: CalendarProps;\n date: Date;\n now: Date;\n events: NormalizedEvent[];\n labels: Required<CalendarLabels>;\n}): JSX.Element => {\n const messages = useUiMessages();\n const dateConfig = createMemo(() => ownerDateConfig(props.owner));\n const [movePreview, setMovePreview] = createSignal<CalendarPreview | null>(null);\n const [movingEventId, setMovingEventId] = createSignal(\"\");\n let cancelInteraction: (() => void) | undefined;\n let suppressSlotClickUntil = 0;\n const month = createMemo(() => zonedYearMonth(props.date, dateConfig()));\n const weeks = createMemo(() => calendar.getMonthGrid(month().year, month().month, dateConfig()));\n const weekdays = createMemo(() => calendar.weekdays(dateConfig()));\n const todayKey = createMemo(() => calendar.formatDateKey(props.now, dateConfig()));\n const eventsByDay = createMemo(() => {\n const grouped = new Map<string, NormalizedEvent[]>();\n for (const event of props.events) {\n const events = grouped.get(event.dayKey);\n if (events) events.push(event);\n else grouped.set(event.dayKey, [event]);\n }\n return grouped;\n });\n const clearMove = () => {\n setMovePreview(null);\n setMovingEventId(\"\");\n };\n const dayAtPoint = (clientX: number, clientY: number): Date | null => {\n const target = document.elementFromPoint(clientX, clientY)?.closest<HTMLElement>(\"[data-calendar-day-key]\");\n const dayKey = target?.dataset.calendarDayKey;\n return dayKey ? calendar.parseCalendarDate(dayKey, dateConfig()) : null;\n };\n const startMove = (pointerEvent: PointerEvent, event: NormalizedEvent, markDragged: () => void) => {\n if (!props.owner.onEventDrop) return;\n cancelInteraction?.();\n cancelInteraction = startCalendarPointerSession({\n event: pointerEvent,\n resolve: (clientX, clientY) => {\n const day = dayAtPoint(clientX, clientY);\n return day ? { id: event.id, ...moveEventToDay(event, day, dateConfig()) } : null;\n },\n onActivate: () => {\n markDragged();\n suppressSlotClickUntil = performance.now() + 400;\n setMovingEventId(event.id);\n },\n onPreview: setMovePreview,\n onCommit: (next) => {\n clearMove();\n if (eventTimeChanged(event, next)) props.owner.onEventDrop?.(event, next);\n },\n onCancel: clearMove,\n });\n };\n onCleanup(() => cancelInteraction?.());\n return (\n <div class=\"k2b-calendar-month\" style={{ \"grid-template-rows\": `auto repeat(${weeks().length}, minmax(5rem, 1fr))` }}>\n <div class=\"k2b-calendar-month__weekdays\" data-week-numbers={props.owner.withWeekNumbers ? \"true\" : undefined}>\n <Show when={props.owner.withWeekNumbers}>\n <div class=\"k2b-calendar-month__weekday\">{messages().weekShort}</div>\n </Show>\n <For each={weekdays()}>{(day) => <div class=\"k2b-calendar-month__weekday\">{day}</div>}</For>\n </div>\n <For each={weeks()}>\n {(week) => (\n <div class=\"k2b-calendar-month__week\" data-week-numbers={props.owner.withWeekNumbers ? \"true\" : undefined}>\n <Show when={props.owner.withWeekNumbers}>\n <div class=\"k2b-calendar-month__week-number\">{zonedWeekNumber(week[0]!, dateConfig())}</div>\n </Show>\n <For each={week}>\n {(day) => {\n const dayKey = calendar.formatDateKey(day, dateConfig());\n const events = eventsByDay().get(dayKey) ?? [];\n const href = props.owner.getDateHref?.(day, \"day\");\n const dayBadge = props.owner.dayBadges?.[dayKey];\n const sameMonth = calendar.isSameMonth(day, props.date, dateConfig());\n const isToday = dayKey === todayKey();\n const dayLabel = day.toLocaleDateString(dateConfig().locale ?? \"en\", {\n weekday: \"long\",\n year: \"numeric\",\n month: \"long\",\n day: \"numeric\",\n timeZone: dateConfig().timeZone,\n });\n const eventStack = createMemo(() => {\n const preview = movePreview();\n const previewForDay = preview && calendar.formatDateKey(preview.start, dateConfig()) === dayKey ? preview : null;\n const candidates = previewForDay ? events.filter((event) => event.id !== previewForDay.id) : events;\n const visibleLimit = previewForDay ? 2 : 3;\n return {\n preview: previewForDay,\n visibleEvents: candidates.slice(0, visibleLimit),\n hiddenCount: Math.max(0, candidates.length - visibleLimit),\n };\n });\n return (\n <div\n class=\"k2b-calendar-month__day\"\n data-calendar-day-key={dayKey}\n data-outside={!sameMonth ? \"true\" : undefined}\n data-drop-preview={\n movePreview()?.start && calendar.formatDateKey(movePreview()!.start, dateConfig()) === dayKey ? \"true\" : undefined\n }\n >\n <Show\n when={props.owner.onSlotActivate}\n fallback={\n <Show when={href}>\n {(dayHref) => (\n <CalendarNavigationLink\n owner={props.owner}\n href={dayHref()}\n anchorProps={{\n class: \"k2b-calendar-month__day-target\",\n \"aria-label\": messages().openDate({ label: dayLabel }),\n }}\n />\n )}\n </Show>\n }\n >\n <button\n type=\"button\"\n class=\"k2b-calendar-month__day-target\"\n data-interactive=\"true\"\n aria-label={messages().createEventOn({ label: dayLabel })}\n {...slotInteractionProps(\n props.owner,\n () => {\n const start = startOfDay(day, dateConfig());\n return { start, end: calendar.addDays(start, 1, dateConfig()), allDay: true };\n },\n () => performance.now() < suppressSlotClickUntil,\n true,\n )}\n />\n </Show>\n <div class=\"k2b-calendar-month__day-header\">\n <Show\n when={props.owner.onSlotActivate && href}\n fallback={\n <span\n class=\"k2b-calendar-month__day-number\"\n data-today={isToday ? \"true\" : undefined}\n data-outside={!sameMonth ? \"true\" : undefined}\n >\n {calendar.formatDayNumber(day, dateConfig())}\n </span>\n }\n >\n {(dayHref) => (\n <CalendarNavigationLink\n owner={props.owner}\n href={dayHref()}\n anchorProps={{\n class: \"k2b-calendar-month__day-number\",\n \"data-today\": isToday ? \"true\" : undefined,\n \"data-outside\": !sameMonth ? \"true\" : undefined,\n \"aria-label\": messages().openDate({ label: dayLabel }),\n }}\n >\n {calendar.formatDayNumber(day, dateConfig())}\n </CalendarNavigationLink>\n )}\n </Show>\n <Show when={dayBadge}>\n {(badge) => (\n <span class=\"k2b-calendar-month__badge\">\n <Show when={badge().icon}>{(icon) => <i class={`k2b-calendar-month__badge-icon ti ti-${icon()}`} />}</Show>\n {badge().label}\n </span>\n )}\n </Show>\n </div>\n <div class=\"k2b-calendar-month__events\">\n <Show when={eventStack().preview}>\n <div class=\"k2b-calendar-preview\">\n {props.events.find((event) => event.id === eventStack().preview!.id)?.title ?? messages().moveEvent}\n </div>\n </Show>\n <For each={eventStack().visibleEvents}>\n {(event) => (\n <EventChip\n event={event}\n owner={props.owner}\n href={eventHref(props.owner, event)}\n compact\n moving={movingEventId() === event.id}\n onMovePointerDown={\n props.owner.onEventDrop\n ? (pointerEvent, markDragged) => startMove(pointerEvent, event, markDragged)\n : undefined\n }\n />\n )}\n </For>\n <Show when={eventStack().hiddenCount > 0}>\n <CalendarNavigationLink owner={props.owner} href={href ?? \"#\"} anchorProps={{ class: \"k2b-calendar-month__more\" }}>\n +{eventStack().hiddenCount} more\n </CalendarNavigationLink>\n </Show>\n </div>\n <div class=\"k2b-calendar-month__dots\">\n <For each={events.slice(0, 4)}>\n {(event) => (\n <span\n class=\"k2b-calendar-dot\"\n data-color={event.colorHex ? undefined : (event.color ?? \"blue\")}\n style={event.colorHex ? { \"background-color\": event.colorHex } : undefined}\n />\n )}\n </For>\n </div>\n </div>\n );\n }}\n </For>\n </div>\n )}\n </For>\n </div>\n );\n};\n\nconst TimeGridView = (props: {\n owner: CalendarProps;\n date: Date;\n now: Date;\n events: NormalizedEvent[];\n labels: Required<CalendarLabels>;\n days: Date[];\n}): JSX.Element => {\n const messages = useUiMessages();\n const dateConfig = createMemo(() => ownerDateConfig(props.owner));\n const gridStartHour = () => props.owner.visibleStartHour ?? 0;\n const gridEndHour = () => props.owner.visibleEndHour ?? 23;\n const businessStartHour = () => props.owner.startHour ?? 8;\n const businessEndHour = () => props.owner.endHour ?? 18;\n const hours = createMemo(() => Array.from({ length: gridEndHour() - gridStartHour() + 1 }, (_, index) => gridStartHour() + index));\n const [timePreview, setTimePreview] = createSignal<CalendarPreview | null>(null);\n const [movingEventId, setMovingEventId] = createSignal(\"\");\n const [expandedOverflow, setExpandedOverflow] = createSignal(\"\");\n let scrollContainer: HTMLDivElement | undefined;\n let timeGrid: HTMLDivElement | undefined;\n let timeGutter: HTMLDivElement | undefined;\n let defaultHourMarker: HTMLDivElement | undefined;\n let cancelInteraction: (() => void) | undefined;\n let suppressSlotClickUntil = 0;\n const slotEnd = (start: Date) => addMinutes(start, 60);\n const previewEvents = createMemo(() => previewSegments(timePreview(), props.days, dateConfig()));\n const eventsByDay = createMemo(() => {\n const grouped = new Map<string, { allDay: NormalizedEvent[]; timed: NormalizedEvent[] }>();\n for (const event of props.events) {\n const bucket = grouped.get(event.dayKey) ?? { allDay: [], timed: [] };\n (event.allDay ? bucket.allDay : bucket.timed).push(event);\n grouped.set(event.dayKey, bucket);\n }\n return grouped;\n });\n const clearInteraction = () => {\n setTimePreview(null);\n setMovingEventId(\"\");\n };\n const dayAtPoint = (clientX: number, clientY: number): Date | null => {\n const target = document.elementFromPoint(clientX, clientY)?.closest<HTMLElement>(\"[data-calendar-day-key]\");\n const dayKey = target?.dataset.calendarDayKey;\n return dayKey ? calendar.parseCalendarDate(dayKey, dateConfig()) : null;\n };\n const timeAtPoint = (clientX: number, clientY: number): Date | null => {\n if (!timeGrid || !timeGutter) return null;\n const gridRect = timeGrid.getBoundingClientRect();\n const gutterRect = timeGutter.getBoundingClientRect();\n const dayIndex = calendarDayIndexAtPoint(clientX, gutterRect.right, gridRect.right - gutterRect.right, props.days.length);\n if (dayIndex === null) return null;\n const minute = Math.min(\n gridEndHour() * 60 + 45,\n calendarMinuteAtPoint(clientY, gridRect.top, gridRect.height, gridStartHour(), gridEndHour()),\n );\n return zonedMinuteSlot(props.days[dayIndex]!, minute, dateConfig());\n };\n const beginInteraction = (options: Parameters<typeof startCalendarPointerSession<CalendarPreview>>[0]) => {\n cancelInteraction?.();\n cancelInteraction = startCalendarPointerSession(options);\n };\n const startTimedMove = (pointerEvent: PointerEvent, event: NormalizedEvent, markDragged: () => void) => {\n if (!props.owner.onEventDrop) return;\n const pointerStart = timeAtPoint(pointerEvent.clientX, pointerEvent.clientY) ?? event.sourceStartDate;\n const duration = Math.max(15 * 60_000, event.sourceEndDate.getTime() - event.sourceStartDate.getTime());\n const offsetMinutes = Math.max(\n 0,\n Math.min(duration / 60_000, Math.round((pointerStart.getTime() - event.sourceStartDate.getTime()) / 900_000) * 15),\n );\n beginInteraction({\n event: pointerEvent,\n scrollContainer,\n resolve: (clientX, clientY) => {\n const pointer = timeAtPoint(clientX, clientY);\n if (!pointer) return null;\n const start = new Date(pointer.getTime() - offsetMinutes * 60_000);\n return { id: event.id, title: event.title, start, end: new Date(start.getTime() + duration), allDay: false };\n },\n onActivate: () => {\n markDragged();\n suppressSlotClickUntil = performance.now() + 400;\n setMovingEventId(event.id);\n },\n onPreview: setTimePreview,\n onCommit: (next) => {\n clearInteraction();\n if (eventTimeChanged(event, next)) props.owner.onEventDrop?.(event, next);\n },\n onCancel: clearInteraction,\n });\n };\n const startAllDayMove = (pointerEvent: PointerEvent, event: NormalizedEvent, markDragged: () => void) => {\n if (!props.owner.onEventDrop) return;\n beginInteraction({\n event: pointerEvent,\n resolve: (clientX, clientY) => {\n const day = dayAtPoint(clientX, clientY);\n return day ? { id: event.id, title: event.title, ...moveEventTo(event, startOfDay(day, dateConfig()), true, dateConfig()) } : null;\n },\n onActivate: () => {\n markDragged();\n suppressSlotClickUntil = performance.now() + 400;\n setMovingEventId(event.id);\n },\n onPreview: setTimePreview,\n onCommit: (next) => {\n clearInteraction();\n if (eventTimeChanged(event, next)) props.owner.onEventDrop?.(event, next);\n },\n onCancel: clearInteraction,\n });\n };\n const startRange = (pointerEvent: PointerEvent) => {\n if (!props.owner.onSlotActivate || pointerEvent.pointerType === \"touch\") return;\n const anchor = timeAtPoint(pointerEvent.clientX, pointerEvent.clientY);\n if (!anchor) return;\n beginInteraction({\n event: pointerEvent,\n scrollContainer,\n resolve: (clientX, clientY) => {\n const current = timeAtPoint(clientX, clientY);\n if (!current) return null;\n const start = current < anchor ? current : anchor;\n const endBase = current < anchor ? anchor : current;\n return { id: \"calendar-create-preview\", start, end: addMinutes(endBase, 15), allDay: false };\n },\n onActivate: () => {\n suppressSlotClickUntil = performance.now() + 400;\n },\n onPreview: setTimePreview,\n onCommit: (next) => {\n clearInteraction();\n props.owner.onSlotActivate?.(next);\n },\n onCancel: clearInteraction,\n });\n };\n const timeRangeLayout = (startDate: Date, endDate: Date) => {\n const start = zonedHour(startDate, dateConfig());\n const end = zonedHour(endDate, dateConfig());\n const visibleStart = Math.max(gridStartHour(), start);\n const visibleEnd = Math.min(gridEndHour() + 1, end);\n const total = Math.max(1, gridEndHour() - gridStartHour() + 1);\n return {\n top: Math.max(0, ((visibleStart - gridStartHour()) / total) * 100),\n height: Math.max(1.25, ((visibleEnd - visibleStart) / total) * 100),\n };\n };\n const eventLayout = (event: NormalizedEvent) => timeRangeLayout(event.startDate, event.endDate);\n const isDayView = () => props.days.length === 1;\n const visibleLaneCount = (lanes: number) => (isDayView() ? lanes : Math.min(lanes, 3));\n const overflowLayouts = (layouts: TimedEventLayout[]): TimedOverflowLayout[] => {\n if (isDayView()) return [];\n const groups = new Map<number, TimedOverflowLayout>();\n for (const layout of layouts) {\n if (layout.lane < visibleLaneCount(layout.lanes)) continue;\n const existing = groups.get(layout.groupId);\n if (existing) existing.hiddenEvents.push(layout.event);\n else\n groups.set(layout.groupId, {\n groupId: layout.groupId,\n hiddenEvents: [layout.event],\n groupStartDate: layout.groupStartDate,\n groupEndDate: layout.groupEndDate,\n });\n }\n return [...groups.values()];\n };\n const dayColumnMinWidth = (layouts: TimedEventLayout[]) => {\n if (!isDayView()) return undefined;\n const lanes = Math.max(1, ...layouts.map((layout) => layout.lanes));\n return `${Math.max(32, lanes * 12)}rem`;\n };\n const laneStyle = (layoutItem: TimedEventLayout) => {\n if (isDayView()) {\n const laneWidth = 100 / layoutItem.lanes;\n return {\n left: `calc(${layoutItem.lane * laneWidth}% + 0.25rem)`,\n width: `calc(${laneWidth}% - 0.5rem)`,\n };\n }\n const visibleLanes = visibleLaneCount(layoutItem.lanes);\n return {\n left: `${layoutItem.lanes <= 1 ? 0 : (28 / Math.max(1, visibleLanes - 1)) * layoutItem.lane}%`,\n width: `${layoutItem.lanes <= 1 ? 100 : layoutItem.lanes > visibleLanes ? 68 : 72}%`,\n };\n };\n const currentTimeLine = (day: Date) => {\n const now = props.now;\n if (calendar.formatDateKey(day, dateConfig()) !== calendar.formatDateKey(now, dateConfig())) return null;\n const hour = zonedHour(now, dateConfig());\n if (hour < gridStartHour() || hour > gridEndHour() + 1) return null;\n return ((hour - gridStartHour()) / Math.max(1, gridEndHour() - gridStartHour() + 1)) * 100;\n };\n onCleanup(() => cancelInteraction?.());\n onMount(() => {\n requestAnimationFrame(() => {\n if (!scrollContainer || !defaultHourMarker) return;\n const targetTop = defaultHourMarker.getBoundingClientRect().top - scrollContainer.getBoundingClientRect().top;\n scrollContainer.scrollTo({ top: Math.max(0, scrollContainer.scrollTop + targetTop), behavior: \"smooth\" });\n });\n });\n return (\n <div class=\"k2b-calendar-time-grid\">\n <div class=\"k2b-calendar-time-grid__days\" style={{ \"grid-template-columns\": `4rem repeat(${props.days.length}, minmax(0, 1fr))` }}>\n <div />\n <For each={props.days}>\n {(day) => {\n const dayBadge = props.owner.dayBadges?.[calendar.formatDateKey(day, dateConfig())];\n const today = () => calendar.isToday(day, dateConfig());\n return (\n <CalendarNavigationLink\n owner={props.owner}\n href={props.owner.getDateHref?.(day, \"day\") ?? \"#\"}\n anchorProps={{ class: \"k2b-calendar-time-grid__day\" }}\n >\n <span class=\"k2b-calendar-time-grid__day-label\" data-today={today() ? \"true\" : undefined}>\n {formatDay(day, dateConfig())}\n </span>\n <Show when={dayBadge}>\n {(badge) => (\n <span class=\"k2b-calendar-time-grid__badge\">\n <Show when={badge().icon}>{(icon) => <i class={`k2b-calendar-time-grid__badge-icon ti ti-${icon()}`} />}</Show>\n {badge().label}\n </span>\n )}\n </Show>\n </CalendarNavigationLink>\n );\n }}\n </For>\n </div>\n <Show when={!props.owner.hideAllDay}>\n <div\n class=\"k2b-calendar-time-grid__all-day\"\n style={{\n \"grid-template-columns\": `4rem repeat(${props.days.length}, minmax(0, 1fr))`,\n \"max-height\": `${props.owner.allDayMaxHeightRem ?? 7}rem`,\n }}\n >\n <div class=\"k2b-calendar-time-grid__all-day-label\">{props.labels.allDay}</div>\n <For each={props.days}>\n {(day) => {\n const dayKey = calendar.formatDateKey(day, dateConfig());\n const allDay = () => eventsByDay().get(dayKey)?.allDay ?? [];\n const previewAllDay = previewEvents().filter((event) => event.dayKey === dayKey && event.allDay);\n return (\n <div\n class=\"k2b-calendar-time-grid__all-day-cell\"\n data-calendar-day-key={dayKey}\n data-drop-preview={\n timePreview()?.allDay && calendar.formatDateKey(timePreview()!.start, dateConfig()) === dayKey ? \"true\" : undefined\n }\n data-interactive={props.owner.onSlotActivate ? \"true\" : undefined}\n {...slotInteractionProps(\n props.owner,\n () => {\n const start = startOfDay(day, dateConfig());\n return { start, end: calendar.addDays(start, 1, dateConfig()), allDay: true };\n },\n () => performance.now() < suppressSlotClickUntil,\n )}\n >\n <div class=\"k2b-calendar-time-grid__all-day-events\">\n <For each={previewAllDay}>{(event) => <div class=\"k2b-calendar-preview\">{event.title}</div>}</For>\n <For each={allDay()}>\n {(event) => (\n <EventChip\n event={event}\n owner={props.owner}\n href={eventHref(props.owner, event)}\n compact\n moving={movingEventId() === event.id}\n onMovePointerDown={\n props.owner.onEventDrop\n ? (pointerEvent, markDragged) => startAllDayMove(pointerEvent, event, markDragged)\n : undefined\n }\n />\n )}\n </For>\n </div>\n </div>\n );\n }}\n </For>\n </div>\n </Show>\n <div ref={scrollContainer} class=\"k2b-calendar-time-grid__scroll\">\n <div\n ref={timeGrid}\n class=\"k2b-calendar-time-grid__grid\"\n style={{ \"grid-template-columns\": `4rem repeat(${props.days.length}, minmax(0, 1fr))` }}\n >\n <div\n ref={timeGutter}\n class=\"k2b-calendar-time-grid__gutter\"\n style={{ \"grid-template-rows\": `repeat(${hours().length}, minmax(4rem, 1fr))` }}\n >\n <For each={hours()}>\n {(hour) => (\n <div\n ref={(element) => {\n if (hour === businessStartHour()) defaultHourMarker = element;\n }}\n class=\"k2b-calendar-time-grid__hour\"\n data-outside-business={hour < businessStartHour() || hour > businessEndHour() ? \"true\" : undefined}\n >\n {`${hour}`.padStart(2, \"0\")}:00\n </div>\n )}\n </For>\n </div>\n <For each={props.days}>\n {(day) => {\n const dayKey = calendar.formatDateKey(day, dateConfig());\n const layouts = createMemo(() => timedEventLayouts(eventsByDay().get(dayKey)?.timed ?? []));\n return (\n <div\n class=\"k2b-calendar-time-grid__column\"\n style={{\n \"min-width\": dayColumnMinWidth(layouts()),\n \"grid-template-rows\": `repeat(${hours().length}, minmax(4rem, 1fr))`,\n }}\n >\n <Show when={currentTimeLine(day) !== null}>\n <div class=\"k2b-calendar-time-grid__now\" style={{ top: `${currentTimeLine(day) ?? 0}%` }} />\n </Show>\n <For each={hours()}>\n {(hour) => (\n <div\n class=\"k2b-calendar-time-grid__slot\"\n data-outside-business={hour < businessStartHour() || hour > businessEndHour() ? \"true\" : undefined}\n data-interactive={props.owner.onSlotActivate ? \"true\" : undefined}\n {...slotInteractionProps(\n props.owner,\n () => {\n const start = zonedSlot(day, hour, dateConfig());\n return { start, end: slotEnd(start), allDay: false };\n },\n () => performance.now() < suppressSlotClickUntil,\n )}\n onPointerDown={startRange}\n />\n )}\n </For>\n <For each={previewEvents().filter((event) => event.dayKey === dayKey && !event.allDay)}>\n {(event) => {\n const layout = eventLayout(event);\n const short = event.endDate.getTime() - event.startDate.getTime() < 60 * 60_000;\n return (\n <div\n class=\"k2b-calendar-preview k2b-calendar-preview--timed\"\n data-short={short ? \"true\" : undefined}\n style={{ top: `${layout.top}%`, height: `${layout.height}%` }}\n >\n <div class=\"k2b-calendar-preview__content\">\n <Show when={event.title}>\n <div class=\"k2b-calendar-preview__title\">{event.title}</div>\n </Show>\n <div class=\"k2b-calendar-preview__label\">\n {formatTime(event.startDate, dateConfig())} - {formatTime(event.endDate, dateConfig())}\n </div>\n </div>\n </div>\n );\n }}\n </For>\n <For each={layouts()}>\n {(layoutItem) => {\n if (!isDayView() && layoutItem.lane >= visibleLaneCount(layoutItem.lanes)) return null;\n const event = layoutItem.event;\n const layout = eventLayout(event);\n const position = laneStyle(layoutItem);\n const resizeStart = (pointerEvent: PointerEvent) => {\n if (!props.owner.onEventResize) return;\n pointerEvent.preventDefault();\n pointerEvent.stopPropagation();\n beginInteraction({\n event: pointerEvent,\n scrollContainer,\n threshold: 1,\n resolve: (clientX, clientY) => {\n const pointer = timeAtPoint(clientX, clientY);\n if (!pointer) return null;\n const minimumEnd = addMinutes(event.sourceStartDate, 15);\n const end = pointer > minimumEnd ? pointer : minimumEnd;\n return { id: event.id, title: event.title, start: event.sourceStartDate, end, allDay: false };\n },\n onActivate: () => {\n suppressSlotClickUntil = performance.now() + 400;\n setMovingEventId(event.id);\n },\n onPreview: setTimePreview,\n onCommit: (next) => {\n clearInteraction();\n if (eventTimeChanged(event, next)) props.owner.onEventResize?.(event, next);\n },\n onCancel: clearInteraction,\n });\n };\n return (\n <div\n class=\"k2b-calendar-time-grid__event-position\"\n style={{\n top: `${layout.top}%`,\n height: `${layout.height}%`,\n left: position.left,\n width: position.width,\n \"z-index\": String(20 + layoutItem.lane),\n }}\n >\n <div class=\"k2b-calendar-time-grid__event-frame\">\n <EventChip\n event={event}\n owner={props.owner}\n href={eventHref(props.owner, event)}\n fill\n moving={movingEventId() === event.id}\n onMovePointerDown={\n props.owner.onEventDrop\n ? (pointerEvent, markDragged) => startTimedMove(pointerEvent, event, markDragged)\n : undefined\n }\n />\n <Show when={props.owner.onEventResize}>\n <button\n type=\"button\"\n aria-label={messages().resizeEvent}\n draggable={false}\n class=\"k2b-calendar-time-grid__resize\"\n onPointerDown={resizeStart}\n onDragStart={(event) => event.preventDefault()}\n >\n <span class=\"k2b-calendar-time-grid__resize-icon\" aria-hidden=\"true\" />\n </button>\n </Show>\n </div>\n </div>\n );\n }}\n </For>\n <For each={overflowLayouts(layouts())}>\n {(overflow) => {\n const layout = timeRangeLayout(overflow.groupStartDate, overflow.groupEndDate);\n const key = `${dayKey}-${overflow.groupId}`;\n const hiddenTitle = () =>\n overflow.hiddenEvents.map((event) => `${formatTime(event.startDate, dateConfig())} ${event.title}`).join(\"\\n\");\n return (\n <>\n <button\n type=\"button\"\n class=\"k2b-calendar-time-grid__overflow\"\n style={{ top: `${layout.top}%`, height: `${layout.height}%` }}\n title={hiddenTitle()}\n aria-label={messages().hiddenOverlappingEvents({ count: overflow.hiddenEvents.length })}\n onClick={(event) => {\n event.stopPropagation();\n setExpandedOverflow(expandedOverflow() === key ? \"\" : key);\n }}\n >\n <span class=\"k2b-calendar-time-grid__overflow-count\">+{overflow.hiddenEvents.length}</span>\n </button>\n <Show when={expandedOverflow() === key}>\n <div class=\"k2b-calendar-time-grid__overflow-menu\" style={{ top: `${layout.top}%` }}>\n <div class=\"k2b-calendar-time-grid__overflow-title\">\n {formatTime(overflow.groupStartDate, dateConfig())} - {formatTime(overflow.groupEndDate, dateConfig())}\n </div>\n <For each={overflow.hiddenEvents}>\n {(event) => <EventChip event={event} owner={props.owner} href={eventHref(props.owner, event)} compact />}\n </For>\n </div>\n </Show>\n </>\n );\n }}\n </For>\n </div>\n );\n }}\n </For>\n </div>\n </div>\n </div>\n );\n};\n\nconst YearView = (props: { owner: CalendarProps; date: Date; now: Date; events: NormalizedEvent[] }): JSX.Element => {\n const dateConfig = createMemo(() => ownerDateConfig(props.owner));\n const year = createMemo(() => zonedYearMonth(props.date, dateConfig()).year);\n const todayKey = createMemo(() => calendar.formatDateKey(props.now, dateConfig()));\n const eventsByDay = createMemo(() => {\n const grouped = new Map<string, NormalizedEvent[]>();\n for (const event of props.events) {\n const events = grouped.get(event.dayKey);\n if (events) events.push(event);\n else grouped.set(event.dayKey, [event]);\n }\n return grouped;\n });\n const months = createMemo(() => {\n const context = dateConfig();\n return Array.from({ length: 12 }, (_, month) => {\n const date = zonedMonthDate(year(), month, context);\n return {\n date,\n label: date.toLocaleDateString(context.locale ?? \"en\", { month: \"long\", timeZone: context.timeZone }),\n days: calendar\n .getMonthGrid(year(), month, context)\n .flat()\n .map((day) => {\n const key = calendar.formatDateKey(day, context);\n return {\n date: day,\n events: eventsByDay().get(key) ?? [],\n isToday: key === todayKey(),\n outside: !calendar.isSameMonth(day, date, context),\n number: calendar.formatDayNumber(day, context),\n };\n }),\n };\n });\n });\n\n return (\n <div class=\"k2b-calendar-year\">\n <For each={months()}>\n {(month) => (\n <div class=\"k2b-calendar-year__month\">\n <div class=\"k2b-calendar-year__title\">{month.label}</div>\n <div class=\"k2b-calendar-year__grid\">\n <For each={month.days}>\n {(day) => (\n <CalendarNavigationLink\n owner={props.owner}\n href={props.owner.getDateHref?.(day.date, \"day\") ?? \"#\"}\n anchorProps={{\n class: \"k2b-calendar-year__day\",\n \"data-today\": day.isToday ? \"true\" : undefined,\n \"data-outside\": day.outside ? \"true\" : undefined,\n }}\n >\n {day.number}\n <Show when={day.events[0]}>\n {(event) => (\n <span\n class=\"k2b-calendar-year__indicator\"\n data-color={event().colorHex ? undefined : (event().color ?? \"blue\")}\n data-today={day.isToday ? \"true\" : undefined}\n style={event().colorHex ? { \"background-color\": day.isToday ? \"white\" : event().colorHex } : undefined}\n />\n )}\n </Show>\n </CalendarNavigationLink>\n )}\n </For>\n </div>\n </div>\n )}\n </For>\n </div>\n );\n};\n\nconst MobileMonthView = (props: {\n owner: CalendarProps;\n date: Date;\n now: Date;\n selectedDate: Date;\n events: NormalizedEvent[];\n labels: Required<CalendarLabels>;\n}): JSX.Element => {\n const dateConfig = createMemo(() => ownerDateConfig(props.owner));\n const selectedDateKey = createMemo(() => calendar.formatDateKey(props.selectedDate, dateConfig()));\n const selectedEvents = createMemo(() => props.events.filter((event) => event.dayKey === selectedDateKey()));\n return (\n <div class=\"k2b-calendar-mobile-month\">\n <MonthView\n owner={{ ...props.owner, withWeekNumbers: false }}\n date={props.date}\n now={props.now}\n events={props.events}\n labels={props.labels}\n />\n <div class=\"k2b-calendar-mobile-month__agenda\">\n <div class=\"k2b-calendar-mobile-month__title\">\n {props.selectedDate.toLocaleDateString(dateConfig().locale ?? \"en\", {\n weekday: \"long\",\n month: \"long\",\n day: \"numeric\",\n timeZone: dateConfig().timeZone,\n })}\n </div>\n <Show when={selectedEvents().length > 0} fallback={<div class=\"k2b-calendar-mobile-month__empty\">{props.labels.noEvents}</div>}>\n <div class=\"k2b-calendar-mobile-month__events\">\n <For each={selectedEvents()}>\n {(event) => <EventChip event={event} owner={props.owner} href={eventHref(props.owner, event)} />}\n </For>\n </div>\n </Show>\n </div>\n </div>\n );\n};\n\nconst CalendarBody = (props: { children: JSX.Element }): JSX.Element => <div class=\"k2b-calendar-body\">{props.children}</div>;\n\nconst Calendar = (props: CalendarProps): JSX.Element => {\n const messages = useUiMessages();\n // Subviews derive their date config from the owner props, so the inherited\n // render locale is merged here once; an explicit dateConfig.locale wins.\n const localizedConfig = useDateConfigLocale(() => props.dateConfig);\n const owner = mergeProps(props, {\n get dateConfig(): DateContext {\n return localizedConfig();\n },\n });\n const view = () => props.view ?? \"month\";\n const dateConfig = createMemo(() => ownerDateConfig(owner));\n const safeDate = (value: Date | string) => {\n const parsed = parseDate(value, dateConfig());\n return validDate(parsed) ? parsed : calendar.today(dateConfig());\n };\n const date = createMemo(() => safeDate(props.date));\n const selectedDate = createMemo(() => safeDate(props.selectedDate ?? props.date));\n const [now, setNow] = createSignal(new Date());\n const normalizedEvents = createMemo(() => normalizeEvents(props.events, dateConfig()));\n const mergedLabels = createMemo<Required<CalendarLabels>>(() => ({\n today: messages().today,\n day: messages().day,\n week: messages().week,\n month: messages().month,\n year: messages().year,\n allDay: messages().allDay,\n noEvents: messages().noEvents,\n previous: messages().previous,\n next: messages().next,\n ...props.labels,\n }));\n const days = createMemo(() => {\n if (view() === \"day\") return [date()];\n return calendar.getWeekDays(date(), dateConfig());\n });\n onMount(() => {\n const updateNow = () => setNow(new Date());\n const interval = window.setInterval(updateNow, 60_000);\n document.addEventListener(\"visibilitychange\", updateNow);\n onCleanup(() => {\n window.clearInterval(interval);\n document.removeEventListener(\"visibilitychange\", updateNow);\n });\n });\n\n return (\n <section class={`k2b-content-calendar ${props.class ?? \"\"}`} aria-busy={props.navigationPending ? \"true\" : undefined}>\n <CalendarHeader date={date()} view={view()} labels={mergedLabels()} owner={owner} />\n {props.toolbarContent}\n <Show\n when={view() !== \"month\"}\n fallback={\n <CalendarBody>\n <MonthView owner={owner} date={date()} now={now()} events={normalizedEvents()} labels={mergedLabels()} />\n </CalendarBody>\n }\n >\n <Show\n when={view() !== \"year\"}\n fallback={\n <CalendarBody>\n <YearView owner={owner} date={date()} now={now()} events={normalizedEvents()} />\n </CalendarBody>\n }\n >\n <Show\n when={view() !== \"mobile-month\"}\n fallback={\n <CalendarBody>\n <MobileMonthView\n owner={owner}\n date={date()}\n now={now()}\n selectedDate={selectedDate()}\n events={normalizedEvents()}\n labels={mergedLabels()}\n />\n </CalendarBody>\n }\n >\n <TimeGridView owner={owner} date={date()} now={now()} events={normalizedEvents()} labels={mergedLabels()} days={days()} />\n </Show>\n </Show>\n </Show>\n </section>\n );\n};\n\nexport default Calendar;\n"],"mappings":"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","ignoreList":[]}