@k2b/ui 0.18.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/README.md +3 -2
  2. package/dist/browser/actions/ContextMenu.js +3 -1
  3. package/dist/browser/actions/ContextMenu.js.map +1 -1
  4. package/dist/browser/actions/Dropdown.js +91 -46
  5. package/dist/browser/actions/Dropdown.js.map +1 -1
  6. package/dist/browser/actions/FilterChip.js +4 -1
  7. package/dist/browser/actions/FilterChip.js.map +1 -1
  8. package/dist/browser/chat/ChatComposer.js +1293 -534
  9. package/dist/browser/chat/ChatComposer.js.map +1 -1
  10. package/dist/browser/chat/chat-behavior.js +9 -0
  11. package/dist/browser/chat/chat-behavior.js.map +1 -1
  12. package/dist/browser/chat/index.js.map +1 -1
  13. package/dist/browser/chat/types.js.map +1 -1
  14. package/dist/browser/content/Calendar.js +579 -533
  15. package/dist/browser/content/Calendar.js.map +1 -1
  16. package/dist/browser/content/Lightbox.js +76 -40
  17. package/dist/browser/content/Lightbox.js.map +1 -1
  18. package/dist/browser/content/PdfPreview.js +146 -79
  19. package/dist/browser/content/PdfPreview.js.map +1 -1
  20. package/dist/browser/content/Timeline.js +1038 -0
  21. package/dist/browser/content/Timeline.js.map +1 -0
  22. package/dist/browser/content/VideoPlayer.js +29 -9
  23. package/dist/browser/content/VideoPlayer.js.map +1 -1
  24. package/dist/browser/content/chart-inspection.js +7 -2
  25. package/dist/browser/content/chart-inspection.js.map +1 -1
  26. package/dist/browser/content/index.js +1 -0
  27. package/dist/browser/content/index.js.map +1 -1
  28. package/dist/browser/content/timeline-model.js +579 -0
  29. package/dist/browser/content/timeline-model.js.map +1 -0
  30. package/dist/browser/feedback/dialog-core.js +26 -14
  31. package/dist/browser/feedback/dialog-core.js.map +1 -1
  32. package/dist/browser/inputs/ChoiceChips.js +66 -0
  33. package/dist/browser/inputs/ChoiceChips.js.map +1 -0
  34. package/dist/browser/inputs/ChoiceGroups.js +53 -12
  35. package/dist/browser/inputs/ChoiceGroups.js.map +1 -1
  36. package/dist/browser/inputs/FileInputs.js +48 -33
  37. package/dist/browser/inputs/FileInputs.js.map +1 -1
  38. package/dist/browser/inputs/SignatureInput.js +558 -0
  39. package/dist/browser/inputs/SignatureInput.js.map +1 -0
  40. package/dist/browser/inputs/emoji/EmojiPicker.js +841 -0
  41. package/dist/browser/inputs/emoji/EmojiPicker.js.map +1 -0
  42. package/dist/browser/inputs/emoji/emoji-data.js +1903 -0
  43. package/dist/browser/inputs/emoji/emoji-data.js.map +1 -0
  44. package/dist/browser/inputs/emoji/emoji-index.js +209 -0
  45. package/dist/browser/inputs/emoji/emoji-index.js.map +1 -0
  46. package/dist/browser/inputs/emoji/emoji-messages.js +64 -0
  47. package/dist/browser/inputs/emoji/emoji-messages.js.map +1 -0
  48. package/dist/browser/inputs/index.js +5 -0
  49. package/dist/browser/inputs/index.js.map +1 -1
  50. package/dist/browser/inputs/markdown/actions.js +48 -2
  51. package/dist/browser/inputs/markdown/actions.js.map +1 -1
  52. package/dist/browser/inputs/markdown/code-zone.js +38 -2
  53. package/dist/browser/inputs/markdown/code-zone.js.map +1 -1
  54. package/dist/browser/inputs/signature-messages.js +39 -0
  55. package/dist/browser/inputs/signature-messages.js.map +1 -0
  56. package/dist/browser/inputs/signature.js +208 -0
  57. package/dist/browser/inputs/signature.js.map +1 -0
  58. package/dist/browser/internal/render-error.js +49 -0
  59. package/dist/browser/internal/render-error.js.map +1 -0
  60. package/dist/browser/intl/messages.js +108 -0
  61. package/dist/browser/intl/messages.js.map +1 -1
  62. package/dist/browser/layout/AppWorkspace.js +321 -222
  63. package/dist/browser/layout/AppWorkspace.js.map +1 -1
  64. package/dist/browser/layout/FloatingWindow.js +4 -1
  65. package/dist/browser/layout/FloatingWindow.js.map +1 -1
  66. package/dist/browser/layout/SidebarItemPreview.js +5 -1
  67. package/dist/browser/layout/SidebarItemPreview.js.map +1 -1
  68. package/dist/browser/layout/index.js.map +1 -1
  69. package/dist/browser/surfaces/ResourceCard.js +212 -0
  70. package/dist/browser/surfaces/ResourceCard.js.map +1 -0
  71. package/dist/browser/surfaces/index.js +1 -0
  72. package/dist/browser/surfaces/index.js.map +1 -1
  73. package/dist/licenses/emojibase-data.txt +21 -0
  74. package/dist/ssr/actions/ContextMenu.js +3 -1
  75. package/dist/ssr/actions/ContextMenu.js.map +1 -1
  76. package/dist/ssr/actions/Dropdown.js +49 -12
  77. package/dist/ssr/actions/Dropdown.js.map +1 -1
  78. package/dist/ssr/actions/FilterChip.js +4 -1
  79. package/dist/ssr/actions/FilterChip.js.map +1 -1
  80. package/dist/ssr/chat/ChatComposer.js +805 -214
  81. package/dist/ssr/chat/ChatComposer.js.map +1 -1
  82. package/dist/ssr/chat/chat-behavior.js +9 -0
  83. package/dist/ssr/chat/chat-behavior.js.map +1 -1
  84. package/dist/ssr/chat/index.js.map +1 -1
  85. package/dist/ssr/chat/types.js.map +1 -1
  86. package/dist/ssr/content/Calendar.js +183 -142
  87. package/dist/ssr/content/Calendar.js.map +1 -1
  88. package/dist/ssr/content/Lightbox.js +19 -5
  89. package/dist/ssr/content/Lightbox.js.map +1 -1
  90. package/dist/ssr/content/PdfPreview.js +77 -36
  91. package/dist/ssr/content/PdfPreview.js.map +1 -1
  92. package/dist/ssr/content/Timeline.js +804 -0
  93. package/dist/ssr/content/Timeline.js.map +1 -0
  94. package/dist/ssr/content/VideoPlayer.js +29 -9
  95. package/dist/ssr/content/VideoPlayer.js.map +1 -1
  96. package/dist/ssr/content/chart-inspection.js +7 -2
  97. package/dist/ssr/content/chart-inspection.js.map +1 -1
  98. package/dist/ssr/content/index.js +1 -0
  99. package/dist/ssr/content/index.js.map +1 -1
  100. package/dist/ssr/content/timeline-model.js +579 -0
  101. package/dist/ssr/content/timeline-model.js.map +1 -0
  102. package/dist/ssr/feedback/dialog-core.js +26 -14
  103. package/dist/ssr/feedback/dialog-core.js.map +1 -1
  104. package/dist/ssr/inputs/ChoiceChips.js +66 -0
  105. package/dist/ssr/inputs/ChoiceChips.js.map +1 -0
  106. package/dist/ssr/inputs/ChoiceGroups.js +12 -4
  107. package/dist/ssr/inputs/ChoiceGroups.js.map +1 -1
  108. package/dist/ssr/inputs/FileInputs.js +19 -4
  109. package/dist/ssr/inputs/FileInputs.js.map +1 -1
  110. package/dist/ssr/inputs/SignatureInput.js +404 -0
  111. package/dist/ssr/inputs/SignatureInput.js.map +1 -0
  112. package/dist/ssr/inputs/emoji/EmojiPicker.js +551 -0
  113. package/dist/ssr/inputs/emoji/EmojiPicker.js.map +1 -0
  114. package/dist/ssr/inputs/emoji/emoji-data.js +1903 -0
  115. package/dist/ssr/inputs/emoji/emoji-data.js.map +1 -0
  116. package/dist/ssr/inputs/emoji/emoji-index.js +209 -0
  117. package/dist/ssr/inputs/emoji/emoji-index.js.map +1 -0
  118. package/dist/ssr/inputs/emoji/emoji-messages.js +64 -0
  119. package/dist/ssr/inputs/emoji/emoji-messages.js.map +1 -0
  120. package/dist/ssr/inputs/index.js +5 -0
  121. package/dist/ssr/inputs/index.js.map +1 -1
  122. package/dist/ssr/inputs/markdown/actions.js +48 -2
  123. package/dist/ssr/inputs/markdown/actions.js.map +1 -1
  124. package/dist/ssr/inputs/markdown/code-zone.js +38 -2
  125. package/dist/ssr/inputs/markdown/code-zone.js.map +1 -1
  126. package/dist/ssr/inputs/signature-messages.js +39 -0
  127. package/dist/ssr/inputs/signature-messages.js.map +1 -0
  128. package/dist/ssr/inputs/signature.js +208 -0
  129. package/dist/ssr/inputs/signature.js.map +1 -0
  130. package/dist/ssr/internal/render-error.js +49 -0
  131. package/dist/ssr/internal/render-error.js.map +1 -0
  132. package/dist/ssr/intl/messages.js +108 -0
  133. package/dist/ssr/intl/messages.js.map +1 -1
  134. package/dist/ssr/layout/AppWorkspace.js +112 -41
  135. package/dist/ssr/layout/AppWorkspace.js.map +1 -1
  136. package/dist/ssr/layout/FloatingWindow.js +4 -1
  137. package/dist/ssr/layout/FloatingWindow.js.map +1 -1
  138. package/dist/ssr/layout/SidebarItemPreview.js +5 -1
  139. package/dist/ssr/layout/SidebarItemPreview.js.map +1 -1
  140. package/dist/ssr/layout/index.js.map +1 -1
  141. package/dist/ssr/surfaces/ResourceCard.js +115 -0
  142. package/dist/ssr/surfaces/ResourceCard.js.map +1 -0
  143. package/dist/ssr/surfaces/index.js +1 -0
  144. package/dist/ssr/surfaces/index.js.map +1 -1
  145. package/dist/styles.css +1 -1
  146. package/dist/types/actions/Dropdown.d.ts +13 -1
  147. package/dist/types/actions/FilterChip.d.ts +5 -0
  148. package/dist/types/chat/ChatComposer.d.ts +24 -1
  149. package/dist/types/chat/chat-behavior.d.ts +15 -0
  150. package/dist/types/chat/index.d.ts +1 -1
  151. package/dist/types/chat/types.d.ts +34 -0
  152. package/dist/types/content/Calendar.d.ts +28 -8
  153. package/dist/types/content/Lightbox.d.ts +8 -0
  154. package/dist/types/content/Timeline.d.ts +49 -0
  155. package/dist/types/content/index.d.ts +4 -2
  156. package/dist/types/content/timeline-model.d.ts +148 -0
  157. package/dist/types/feedback/dialog-core.d.ts +1 -1
  158. package/dist/types/inputs/ChoiceChips.d.ts +20 -0
  159. package/dist/types/inputs/ChoiceGroups.d.ts +11 -2
  160. package/dist/types/inputs/FileInputs.d.ts +6 -0
  161. package/dist/types/inputs/SignatureInput.d.ts +22 -0
  162. package/dist/types/inputs/emoji/EmojiPicker.d.ts +42 -0
  163. package/dist/types/inputs/emoji/emoji-data.d.ts +2 -0
  164. package/dist/types/inputs/emoji/emoji-index.d.ts +109 -0
  165. package/dist/types/inputs/emoji/emoji-messages.d.ts +30 -0
  166. package/dist/types/inputs/index.d.ts +10 -0
  167. package/dist/types/inputs/markdown/actions.d.ts +4 -0
  168. package/dist/types/inputs/markdown/code-zone.d.ts +7 -0
  169. package/dist/types/inputs/signature-messages.d.ts +11 -0
  170. package/dist/types/inputs/signature.d.ts +72 -0
  171. package/dist/types/internal/render-error.d.ts +13 -0
  172. package/dist/types/intl/messages.d.ts +54 -0
  173. package/dist/types/layout/AppWorkspace.d.ts +17 -0
  174. package/dist/types/layout/SidebarItemPreview.d.ts +2 -0
  175. package/dist/types/layout/index.d.ts +1 -1
  176. package/dist/types/surfaces/ResourceCard.d.ts +31 -0
  177. package/dist/types/surfaces/index.d.ts +2 -0
  178. package/package.json +5 -4
@@ -3,7 +3,6 @@ import { delegateEvents as _$delegateEvents } from "solid-js/web";
3
3
  import { use as _$use } from "solid-js/web";
4
4
  import { setStyleProperty as _$setStyleProperty } from "solid-js/web";
5
5
  import { memo as _$memo } from "solid-js/web";
6
- import { getNextMarker as _$getNextMarker } from "solid-js/web";
7
6
  import { className as _$className } from "solid-js/web";
8
7
  import { spread as _$spread } from "solid-js/web";
9
8
  import { mergeProps as _$mergeProps } from "solid-js/web";
@@ -12,55 +11,57 @@ import { setAttribute as _$setAttribute } from "solid-js/web";
12
11
  import { effect as _$effect } from "solid-js/web";
13
12
  import { runHydrationEvents as _$runHydrationEvents } from "solid-js/web";
14
13
  import { addEventListener as _$addEventListener } from "solid-js/web";
14
+ import { getNextMarker as _$getNextMarker } from "solid-js/web";
15
+ import { insert as _$insert } from "solid-js/web";
15
16
  import { createComponent as _$createComponent } from "solid-js/web";
16
17
  import { getNextElement as _$getNextElement } from "solid-js/web";
17
- import { insert as _$insert } from "solid-js/web";
18
- var _tmpl$ = /*#__PURE__*/_$template(`<span class=k2b-calendar-event__title>`),
19
- _tmpl$2 = /*#__PURE__*/_$template(`<span class=k2b-calendar-event__meta>`),
20
- _tmpl$3 = /*#__PURE__*/_$template(`<span class=k2b-calendar-event__description>`),
21
- _tmpl$4 = /*#__PURE__*/_$template(`<a class=k2b-calendar-event data-calendar-event>`),
22
- _tmpl$5 = /*#__PURE__*/_$template(`<button type=button class=k2b-calendar-event data-calendar-event data-interactive=true>`),
23
- _tmpl$6 = /*#__PURE__*/_$template(`<div class=k2b-calendar-event role=group data-calendar-event>`),
24
- _tmpl$7 = /*#__PURE__*/_$template(`<a>`),
25
- _tmpl$8 = /*#__PURE__*/_$template(`<div role=radiogroup aria-orientation=horizontal class="k2b-segmented-control k2b-calendar-view-switcher">`),
26
- _tmpl$9 = /*#__PURE__*/_$template(`<i>`),
27
- _tmpl$0 = /*#__PURE__*/_$template(`<button type=button class=k2b-calendar-header__nav-button><i>`),
28
- _tmpl$1 = /*#__PURE__*/_$template(`<span class=k2b-button__label>`),
29
- _tmpl$10 = /*#__PURE__*/_$template(`<span class=k2b-calendar-header__progress aria-hidden=true>`),
30
- _tmpl$11 = /*#__PURE__*/_$template(`<header class=k2b-calendar-header><div class=k2b-calendar-header__navigation><!$><!/><!$><!/><div class=k2b-calendar-header__title></div></div><div class=k2b-calendar-header__actions><!$><!/><!$><!/><!$><!/></div><!$><!/>`),
31
- _tmpl$12 = /*#__PURE__*/_$template(`<div class=k2b-calendar-month__weekday>`),
32
- _tmpl$13 = /*#__PURE__*/_$template(`<div class=k2b-calendar-month><div class=k2b-calendar-month__weekdays><!$><!/><!$><!/></div><!$><!/>`),
33
- _tmpl$14 = /*#__PURE__*/_$template(`<div class=k2b-calendar-month__week-number>`),
34
- _tmpl$15 = /*#__PURE__*/_$template(`<div class=k2b-calendar-month__week><!$><!/><!$><!/>`),
35
- _tmpl$16 = /*#__PURE__*/_$template(`<button type=button class=k2b-calendar-month__day-target data-interactive=true>`),
36
- _tmpl$17 = /*#__PURE__*/_$template(`<div class=k2b-calendar-preview>`),
37
- _tmpl$18 = /*#__PURE__*/_$template(`<div class=k2b-calendar-month__day><!$><!/><div class=k2b-calendar-month__day-header><!$><!/><!$><!/></div><div class=k2b-calendar-month__events><!$><!/><!$><!/><!$><!/></div><div class=k2b-calendar-month__dots>`),
38
- _tmpl$19 = /*#__PURE__*/_$template(`<span class=k2b-calendar-month__day-number>`),
39
- _tmpl$20 = /*#__PURE__*/_$template(`<span class=k2b-calendar-month__badge><!$><!/><!$><!/>`),
40
- _tmpl$21 = /*#__PURE__*/_$template(`<span class=k2b-calendar-dot>`),
41
- _tmpl$22 = /*#__PURE__*/_$template(`<div class=k2b-calendar-time-grid__all-day><div class=k2b-calendar-time-grid__all-day-label></div><!$><!/>`),
42
- _tmpl$23 = /*#__PURE__*/_$template(`<div class=k2b-calendar-time-grid><div class=k2b-calendar-time-grid__days><div></div><!$><!/></div><!$><!/><div class=k2b-calendar-time-grid__scroll><div class=k2b-calendar-time-grid__grid><div class=k2b-calendar-time-grid__gutter></div><!$><!/>`),
43
- _tmpl$24 = /*#__PURE__*/_$template(`<span class=k2b-calendar-time-grid__day-label>`),
44
- _tmpl$25 = /*#__PURE__*/_$template(`<span class=k2b-calendar-time-grid__badge><!$><!/><!$><!/>`),
45
- _tmpl$26 = /*#__PURE__*/_$template(`<div class=k2b-calendar-time-grid__all-day-cell><div class=k2b-calendar-time-grid__all-day-events><!$><!/><!$><!/>`),
46
- _tmpl$27 = /*#__PURE__*/_$template(`<div class=k2b-calendar-time-grid__hour><!$><!/>:00`),
47
- _tmpl$28 = /*#__PURE__*/_$template(`<div class=k2b-calendar-time-grid__now>`),
48
- _tmpl$29 = /*#__PURE__*/_$template(`<div class=k2b-calendar-time-grid__column><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/>`),
49
- _tmpl$30 = /*#__PURE__*/_$template(`<div class=k2b-calendar-time-grid__slot>`),
50
- _tmpl$31 = /*#__PURE__*/_$template(`<div class=k2b-calendar-preview__title>`),
51
- _tmpl$32 = /*#__PURE__*/_$template(`<div class="k2b-calendar-preview k2b-calendar-preview--timed"><div class=k2b-calendar-preview__content><!$><!/><div class=k2b-calendar-preview__label><!$><!/> - <!$><!/>`),
52
- _tmpl$33 = /*#__PURE__*/_$template(`<button type=button class=k2b-calendar-time-grid__resize><span class=k2b-calendar-time-grid__resize-icon aria-hidden=true>`),
53
- _tmpl$34 = /*#__PURE__*/_$template(`<div class=k2b-calendar-time-grid__event-position><div class=k2b-calendar-time-grid__event-frame><!$><!/><!$><!/>`),
54
- _tmpl$35 = /*#__PURE__*/_$template(`<button type=button class=k2b-calendar-time-grid__overflow><span class=k2b-calendar-time-grid__overflow-count>+<!$><!/>`),
55
- _tmpl$36 = /*#__PURE__*/_$template(`<div class=k2b-calendar-time-grid__overflow-menu><div class=k2b-calendar-time-grid__overflow-title><!$><!/> - <!$><!/></div><!$><!/>`),
56
- _tmpl$37 = /*#__PURE__*/_$template(`<div class=k2b-calendar-year>`),
57
- _tmpl$38 = /*#__PURE__*/_$template(`<div class=k2b-calendar-year__month><div class=k2b-calendar-year__title></div><div class=k2b-calendar-year__grid>`),
58
- _tmpl$39 = /*#__PURE__*/_$template(`<span class=k2b-calendar-year__indicator>`),
59
- _tmpl$40 = /*#__PURE__*/_$template(`<div class=k2b-calendar-mobile-month__events>`),
60
- _tmpl$41 = /*#__PURE__*/_$template(`<div class=k2b-calendar-mobile-month><!$><!/><div class=k2b-calendar-mobile-month__agenda><div class=k2b-calendar-mobile-month__title></div><!$><!/>`),
61
- _tmpl$42 = /*#__PURE__*/_$template(`<div class=k2b-calendar-mobile-month__empty>`),
62
- _tmpl$43 = /*#__PURE__*/_$template(`<div class=k2b-calendar-body>`),
63
- _tmpl$44 = /*#__PURE__*/_$template(`<section><!$><!/><!$><!/><!$><!/>`);
18
+ var _tmpl$ = /*#__PURE__*/_$template(`<span class=k2b-calendar-event__marker aria-hidden=true>`),
19
+ _tmpl$2 = /*#__PURE__*/_$template(`<span class=k2b-calendar-event__title><!$><!/><!$><!/>`),
20
+ _tmpl$3 = /*#__PURE__*/_$template(`<span class=k2b-calendar-event__meta>`),
21
+ _tmpl$4 = /*#__PURE__*/_$template(`<span class=k2b-calendar-event__description>`),
22
+ _tmpl$5 = /*#__PURE__*/_$template(`<a class=k2b-calendar-event data-calendar-event>`),
23
+ _tmpl$6 = /*#__PURE__*/_$template(`<button type=button class=k2b-calendar-event data-calendar-event data-interactive=true>`),
24
+ _tmpl$7 = /*#__PURE__*/_$template(`<div class=k2b-calendar-event role=group data-calendar-event>`),
25
+ _tmpl$8 = /*#__PURE__*/_$template(`<a>`),
26
+ _tmpl$9 = /*#__PURE__*/_$template(`<div role=radiogroup aria-orientation=horizontal class="k2b-segmented-control k2b-calendar-view-switcher">`),
27
+ _tmpl$0 = /*#__PURE__*/_$template(`<i>`),
28
+ _tmpl$1 = /*#__PURE__*/_$template(`<button type=button class=k2b-calendar-header__nav-button><i>`),
29
+ _tmpl$10 = /*#__PURE__*/_$template(`<span class=k2b-button__label>`),
30
+ _tmpl$11 = /*#__PURE__*/_$template(`<span class=k2b-calendar-header__progress aria-hidden=true>`),
31
+ _tmpl$12 = /*#__PURE__*/_$template(`<header class=k2b-calendar-header><div class=k2b-calendar-header__navigation><!$><!/><!$><!/><div class=k2b-calendar-header__title></div></div><div class=k2b-calendar-header__actions><!$><!/><!$><!/><!$><!/></div><!$><!/>`),
32
+ _tmpl$13 = /*#__PURE__*/_$template(`<div class=k2b-calendar-month__weekday>`),
33
+ _tmpl$14 = /*#__PURE__*/_$template(`<div class=k2b-calendar-month><div class=k2b-calendar-month__weekdays><!$><!/><!$><!/></div><!$><!/>`),
34
+ _tmpl$15 = /*#__PURE__*/_$template(`<div class=k2b-calendar-month__week-number>`),
35
+ _tmpl$16 = /*#__PURE__*/_$template(`<div class=k2b-calendar-month__week><!$><!/><!$><!/>`),
36
+ _tmpl$17 = /*#__PURE__*/_$template(`<button type=button class=k2b-calendar-month__day-target data-interactive=true>`),
37
+ _tmpl$18 = /*#__PURE__*/_$template(`<div class=k2b-calendar-preview>`),
38
+ _tmpl$19 = /*#__PURE__*/_$template(`<div class=k2b-calendar-month__day><!$><!/><div class=k2b-calendar-month__day-header><!$><!/><!$><!/></div><div class=k2b-calendar-month__events><!$><!/><!$><!/><!$><!/></div><div class=k2b-calendar-month__dots>`),
39
+ _tmpl$20 = /*#__PURE__*/_$template(`<span class=k2b-calendar-month__day-number>`),
40
+ _tmpl$21 = /*#__PURE__*/_$template(`<span class=k2b-calendar-month__badge><!$><!/><!$><!/>`),
41
+ _tmpl$22 = /*#__PURE__*/_$template(`<span class=k2b-calendar-dot>`),
42
+ _tmpl$23 = /*#__PURE__*/_$template(`<div class=k2b-calendar-time-grid__all-day><div class=k2b-calendar-time-grid__all-day-label></div><!$><!/>`),
43
+ _tmpl$24 = /*#__PURE__*/_$template(`<div class=k2b-calendar-time-grid><div class=k2b-calendar-time-grid__days><div></div><!$><!/></div><!$><!/><div class=k2b-calendar-time-grid__scroll><div class=k2b-calendar-time-grid__grid><div class=k2b-calendar-time-grid__gutter></div><!$><!/>`),
44
+ _tmpl$25 = /*#__PURE__*/_$template(`<span class=k2b-calendar-time-grid__day-label>`),
45
+ _tmpl$26 = /*#__PURE__*/_$template(`<span class=k2b-calendar-time-grid__badge><!$><!/><!$><!/>`),
46
+ _tmpl$27 = /*#__PURE__*/_$template(`<div class=k2b-calendar-time-grid__all-day-cell><div class=k2b-calendar-time-grid__all-day-events><!$><!/><!$><!/>`),
47
+ _tmpl$28 = /*#__PURE__*/_$template(`<div class=k2b-calendar-time-grid__hour><!$><!/>:00`),
48
+ _tmpl$29 = /*#__PURE__*/_$template(`<div class=k2b-calendar-time-grid__now>`),
49
+ _tmpl$30 = /*#__PURE__*/_$template(`<div class=k2b-calendar-time-grid__column><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/>`),
50
+ _tmpl$31 = /*#__PURE__*/_$template(`<div class=k2b-calendar-time-grid__slot>`),
51
+ _tmpl$32 = /*#__PURE__*/_$template(`<div class=k2b-calendar-preview__title>`),
52
+ _tmpl$33 = /*#__PURE__*/_$template(`<div class="k2b-calendar-preview k2b-calendar-preview--timed"><div class=k2b-calendar-preview__content><!$><!/><div class=k2b-calendar-preview__label><!$><!/> - <!$><!/>`),
53
+ _tmpl$34 = /*#__PURE__*/_$template(`<button type=button class=k2b-calendar-time-grid__resize><span class=k2b-calendar-time-grid__resize-icon aria-hidden=true>`),
54
+ _tmpl$35 = /*#__PURE__*/_$template(`<div class=k2b-calendar-time-grid__event-position><div class=k2b-calendar-time-grid__event-frame><!$><!/><!$><!/>`),
55
+ _tmpl$36 = /*#__PURE__*/_$template(`<button type=button class=k2b-calendar-time-grid__overflow><span class=k2b-calendar-time-grid__overflow-count>+<!$><!/>`),
56
+ _tmpl$37 = /*#__PURE__*/_$template(`<div class=k2b-calendar-time-grid__overflow-menu><div class=k2b-calendar-time-grid__overflow-title><!$><!/> - <!$><!/></div><!$><!/>`),
57
+ _tmpl$38 = /*#__PURE__*/_$template(`<div class=k2b-calendar-year>`),
58
+ _tmpl$39 = /*#__PURE__*/_$template(`<div class=k2b-calendar-year__month><div class=k2b-calendar-year__title></div><div class=k2b-calendar-year__grid>`),
59
+ _tmpl$40 = /*#__PURE__*/_$template(`<span class=k2b-calendar-year__indicator>`),
60
+ _tmpl$41 = /*#__PURE__*/_$template(`<div class=k2b-calendar-mobile-month__events>`),
61
+ _tmpl$42 = /*#__PURE__*/_$template(`<div class=k2b-calendar-mobile-month><!$><!/><div class=k2b-calendar-mobile-month__agenda><div class=k2b-calendar-mobile-month__title></div><!$><!/>`),
62
+ _tmpl$43 = /*#__PURE__*/_$template(`<div class=k2b-calendar-mobile-month__empty>`),
63
+ _tmpl$44 = /*#__PURE__*/_$template(`<div class=k2b-calendar-body>`),
64
+ _tmpl$45 = /*#__PURE__*/_$template(`<section><!$><!/><!$><!/><!$><!/>`);
64
65
  import { Link } from "@k2b/ssr/nav";
65
66
  import { dates as calendar } from "@k2b/stdlib";
66
67
  import { createMemo, createSignal, For, mergeProps, onCleanup, onMount, Show } from "solid-js";
@@ -70,6 +71,11 @@ import { useDateConfigLocale } from "../intl/locale";
70
71
  import { useUiMessages } from "../intl/messages";
71
72
  import { layoutCalendarIntervals } from "./calendar-event-layout";
72
73
  import { calendarDayIndexAtPoint, calendarMinuteAtPoint, startCalendarPointerSession } from "./calendar-pointer";
74
+
75
+ /** A view the application adds to the switcher; the calendar shows its header and toolbar, the application the body. */
76
+
77
+ /** What the built-in views read from the props: they only ever link to built-in views. */
78
+
73
79
  const ownerDateConfig = owner => ({
74
80
  ...owner.dateConfig,
75
81
  timeZone: owner.timeZone ?? owner.dateConfig?.timeZone,
@@ -239,11 +245,14 @@ const EventChip = props => {
239
245
  const showLocation = () => Boolean(props.event.location && !props.compact && durationHours() >= 1.25);
240
246
  const showDescription = () => Boolean(props.event.description?.trim() && props.fill && !props.event.allDay && !props.compact && durationHours() >= 1.5);
241
247
  const timeLabel = () => `${formatTime(props.event.startDate, dateConfig())} - ${formatTime(props.event.endDate, dateConfig())}`;
242
- const ariaLabel = () => props.event.allDay ? props.event.title : messages().calendarEventTime({
243
- title: props.event.title,
244
- start: formatTime(props.event.startDate, dateConfig()),
245
- end: formatTime(props.event.endDate, dateConfig())
246
- });
248
+ const ariaLabel = () => {
249
+ const label = props.event.allDay ? props.event.title : messages().calendarEventTime({
250
+ title: props.event.title,
251
+ start: formatTime(props.event.startDate, dateConfig()),
252
+ end: formatTime(props.event.endDate, dateConfig())
253
+ });
254
+ return props.event.accessibleDetail ? `${label}, ${props.event.accessibleDetail}` : label;
255
+ };
247
256
  const renderedEvent = () => props.owner.renderEvent?.(props.event, {
248
257
  compact: props.compact ?? false,
249
258
  fill: props.fill ?? false,
@@ -254,35 +263,47 @@ const EventChip = props => {
254
263
  timeLabel: timeLabel()
255
264
  });
256
265
  const defaultContent = [(() => {
257
- var _el$ = _$getNextElement(_tmpl$);
258
- _$insert(_el$, () => props.event.title);
266
+ var _el$ = _$getNextElement(_tmpl$2),
267
+ _el$3 = _el$.firstChild,
268
+ [_el$4, _co$] = _$getNextMarker(_el$3.nextSibling),
269
+ _el$5 = _el$4.nextSibling,
270
+ [_el$6, _co$2] = _$getNextMarker(_el$5.nextSibling);
271
+ _$insert(_el$, _$createComponent(Show, {
272
+ get when() {
273
+ return props.event.display === "marker";
274
+ },
275
+ get children() {
276
+ return _$getNextElement(_tmpl$);
277
+ }
278
+ }), _el$4, _co$);
279
+ _$insert(_el$, () => props.event.title, _el$6, _co$2);
259
280
  return _el$;
260
281
  })(), _$createComponent(Show, {
261
282
  get when() {
262
283
  return showTime();
263
284
  },
264
285
  get children() {
265
- var _el$2 = _$getNextElement(_tmpl$2);
266
- _$insert(_el$2, timeLabel);
267
- return _el$2;
286
+ var _el$7 = _$getNextElement(_tmpl$3);
287
+ _$insert(_el$7, timeLabel);
288
+ return _el$7;
268
289
  }
269
290
  }), _$createComponent(Show, {
270
291
  get when() {
271
292
  return showLocation();
272
293
  },
273
294
  get children() {
274
- var _el$3 = _$getNextElement(_tmpl$2);
275
- _$insert(_el$3, () => props.event.location);
276
- return _el$3;
295
+ var _el$8 = _$getNextElement(_tmpl$3);
296
+ _$insert(_el$8, () => props.event.location);
297
+ return _el$8;
277
298
  }
278
299
  }), _$createComponent(Show, {
279
300
  get when() {
280
301
  return showDescription();
281
302
  },
282
303
  get children() {
283
- var _el$4 = _$getNextElement(_tmpl$3);
284
- _$insert(_el$4, () => props.event.description);
285
- return _el$4;
304
+ var _el$9 = _$getNextElement(_tmpl$4);
305
+ _$insert(_el$9, () => props.event.description);
306
+ return _el$9;
286
307
  }
287
308
  })];
288
309
  const content = () => renderedEvent() ?? defaultContent;
@@ -318,12 +339,12 @@ const EventChip = props => {
318
339
  });
319
340
  };
320
341
  return props.href ? (() => {
321
- var _el$5 = _$getNextElement(_tmpl$4);
322
- _el$5.$$pointerdown = onPointerDown;
323
- _$addEventListener(_el$5, "dragstart", props.onMovePointerDown ? event => event.preventDefault() : undefined);
324
- _el$5.$$dblclick = onDoubleClick;
325
- _el$5.$$click = onClick;
326
- _$insert(_el$5, content);
342
+ var _el$0 = _$getNextElement(_tmpl$5);
343
+ _el$0.$$pointerdown = onPointerDown;
344
+ _$addEventListener(_el$0, "dragstart", props.onMovePointerDown ? event => event.preventDefault() : undefined);
345
+ _el$0.$$dblclick = onDoubleClick;
346
+ _el$0.$$click = onClick;
347
+ _$insert(_el$0, content);
327
348
  _$effect(_p$ => {
328
349
  var _v$ = props.href,
329
350
  _v$2 = props.event.colorHex ? undefined : color(),
@@ -338,19 +359,19 @@ const EventChip = props => {
338
359
  _v$1 = style(),
339
360
  _v$10 = props.onMovePointerDown ? false : undefined,
340
361
  _v$11 = ariaLabel();
341
- _v$ !== _p$.e && _$setAttribute(_el$5, "href", _p$.e = _v$);
342
- _v$2 !== _p$.t && _$setAttribute(_el$5, "data-color", _p$.t = _v$2);
343
- _v$3 !== _p$.a && _$setAttribute(_el$5, "data-selected", _p$.a = _v$3);
344
- _v$4 !== _p$.o && _$setAttribute(_el$5, "data-compact", _p$.o = _v$4);
345
- _v$5 !== _p$.i && _$setAttribute(_el$5, "data-fill", _p$.i = _v$5);
346
- _v$6 !== _p$.n && _$setAttribute(_el$5, "data-short", _p$.n = _v$6);
347
- _v$7 !== _p$.s && _$setAttribute(_el$5, "data-moving", _p$.s = _v$7);
348
- _v$8 !== _p$.h && _$setAttribute(_el$5, "data-interactive", _p$.h = _v$8);
349
- _v$9 !== _p$.r && _$setAttribute(_el$5, "data-display", _p$.r = _v$9);
350
- _v$0 !== _p$.d && _$setAttribute(_el$5, "data-space-item-id", _p$.d = _v$0);
351
- _p$.l = _$style(_el$5, _v$1, _p$.l);
352
- _v$10 !== _p$.u && _$setAttribute(_el$5, "draggable", _p$.u = _v$10);
353
- _v$11 !== _p$.c && _$setAttribute(_el$5, "aria-label", _p$.c = _v$11);
362
+ _v$ !== _p$.e && _$setAttribute(_el$0, "href", _p$.e = _v$);
363
+ _v$2 !== _p$.t && _$setAttribute(_el$0, "data-color", _p$.t = _v$2);
364
+ _v$3 !== _p$.a && _$setAttribute(_el$0, "data-selected", _p$.a = _v$3);
365
+ _v$4 !== _p$.o && _$setAttribute(_el$0, "data-compact", _p$.o = _v$4);
366
+ _v$5 !== _p$.i && _$setAttribute(_el$0, "data-fill", _p$.i = _v$5);
367
+ _v$6 !== _p$.n && _$setAttribute(_el$0, "data-short", _p$.n = _v$6);
368
+ _v$7 !== _p$.s && _$setAttribute(_el$0, "data-moving", _p$.s = _v$7);
369
+ _v$8 !== _p$.h && _$setAttribute(_el$0, "data-interactive", _p$.h = _v$8);
370
+ _v$9 !== _p$.r && _$setAttribute(_el$0, "data-display", _p$.r = _v$9);
371
+ _v$0 !== _p$.d && _$setAttribute(_el$0, "data-space-item-id", _p$.d = _v$0);
372
+ _p$.l = _$style(_el$0, _v$1, _p$.l);
373
+ _v$10 !== _p$.u && _$setAttribute(_el$0, "draggable", _p$.u = _v$10);
374
+ _v$11 !== _p$.c && _$setAttribute(_el$0, "aria-label", _p$.c = _v$11);
354
375
  return _p$;
355
376
  }, {
356
377
  e: undefined,
@@ -368,14 +389,14 @@ const EventChip = props => {
368
389
  c: undefined
369
390
  });
370
391
  _$runHydrationEvents();
371
- return _el$5;
392
+ return _el$0;
372
393
  })() : isActionable() ? (() => {
373
- var _el$6 = _$getNextElement(_tmpl$5);
374
- _el$6.$$keydown = onButtonKeyDown;
375
- _el$6.$$pointerdown = onPointerDown;
376
- _el$6.$$dblclick = onDoubleClick;
377
- _el$6.$$click = onClick;
378
- _$insert(_el$6, content);
394
+ var _el$1 = _$getNextElement(_tmpl$6);
395
+ _el$1.$$keydown = onButtonKeyDown;
396
+ _el$1.$$pointerdown = onPointerDown;
397
+ _el$1.$$dblclick = onDoubleClick;
398
+ _el$1.$$click = onClick;
399
+ _$insert(_el$1, content);
379
400
  _$effect(_p$ => {
380
401
  var _v$12 = props.event.colorHex ? undefined : color(),
381
402
  _v$13 = selected() ? "true" : undefined,
@@ -386,15 +407,15 @@ const EventChip = props => {
386
407
  _v$18 = props.event.display,
387
408
  _v$19 = style(),
388
409
  _v$20 = ariaLabel();
389
- _v$12 !== _p$.e && _$setAttribute(_el$6, "data-color", _p$.e = _v$12);
390
- _v$13 !== _p$.t && _$setAttribute(_el$6, "data-selected", _p$.t = _v$13);
391
- _v$14 !== _p$.a && _$setAttribute(_el$6, "data-compact", _p$.a = _v$14);
392
- _v$15 !== _p$.o && _$setAttribute(_el$6, "data-fill", _p$.o = _v$15);
393
- _v$16 !== _p$.i && _$setAttribute(_el$6, "data-short", _p$.i = _v$16);
394
- _v$17 !== _p$.n && _$setAttribute(_el$6, "data-moving", _p$.n = _v$17);
395
- _v$18 !== _p$.s && _$setAttribute(_el$6, "data-display", _p$.s = _v$18);
396
- _p$.h = _$style(_el$6, _v$19, _p$.h);
397
- _v$20 !== _p$.r && _$setAttribute(_el$6, "aria-label", _p$.r = _v$20);
410
+ _v$12 !== _p$.e && _$setAttribute(_el$1, "data-color", _p$.e = _v$12);
411
+ _v$13 !== _p$.t && _$setAttribute(_el$1, "data-selected", _p$.t = _v$13);
412
+ _v$14 !== _p$.a && _$setAttribute(_el$1, "data-compact", _p$.a = _v$14);
413
+ _v$15 !== _p$.o && _$setAttribute(_el$1, "data-fill", _p$.o = _v$15);
414
+ _v$16 !== _p$.i && _$setAttribute(_el$1, "data-short", _p$.i = _v$16);
415
+ _v$17 !== _p$.n && _$setAttribute(_el$1, "data-moving", _p$.n = _v$17);
416
+ _v$18 !== _p$.s && _$setAttribute(_el$1, "data-display", _p$.s = _v$18);
417
+ _p$.h = _$style(_el$1, _v$19, _p$.h);
418
+ _v$20 !== _p$.r && _$setAttribute(_el$1, "aria-label", _p$.r = _v$20);
398
419
  return _p$;
399
420
  }, {
400
421
  e: undefined,
@@ -408,11 +429,11 @@ const EventChip = props => {
408
429
  r: undefined
409
430
  });
410
431
  _$runHydrationEvents();
411
- return _el$6;
432
+ return _el$1;
412
433
  })() : (() => {
413
- var _el$7 = _$getNextElement(_tmpl$6);
414
- _$setAttribute(_el$7, "data-interactive", undefined);
415
- _$insert(_el$7, content);
434
+ var _el$10 = _$getNextElement(_tmpl$7);
435
+ _$setAttribute(_el$10, "data-interactive", undefined);
436
+ _$insert(_el$10, content);
416
437
  _$effect(_p$ => {
417
438
  var _v$21 = props.event.colorHex ? undefined : color(),
418
439
  _v$22 = selected() ? "true" : undefined,
@@ -423,15 +444,15 @@ const EventChip = props => {
423
444
  _v$27 = props.event.display,
424
445
  _v$28 = style(),
425
446
  _v$29 = ariaLabel();
426
- _v$21 !== _p$.e && _$setAttribute(_el$7, "data-color", _p$.e = _v$21);
427
- _v$22 !== _p$.t && _$setAttribute(_el$7, "data-selected", _p$.t = _v$22);
428
- _v$23 !== _p$.a && _$setAttribute(_el$7, "data-compact", _p$.a = _v$23);
429
- _v$24 !== _p$.o && _$setAttribute(_el$7, "data-fill", _p$.o = _v$24);
430
- _v$25 !== _p$.i && _$setAttribute(_el$7, "data-short", _p$.i = _v$25);
431
- _v$26 !== _p$.n && _$setAttribute(_el$7, "data-moving", _p$.n = _v$26);
432
- _v$27 !== _p$.s && _$setAttribute(_el$7, "data-display", _p$.s = _v$27);
433
- _p$.h = _$style(_el$7, _v$28, _p$.h);
434
- _v$29 !== _p$.r && _$setAttribute(_el$7, "aria-label", _p$.r = _v$29);
447
+ _v$21 !== _p$.e && _$setAttribute(_el$10, "data-color", _p$.e = _v$21);
448
+ _v$22 !== _p$.t && _$setAttribute(_el$10, "data-selected", _p$.t = _v$22);
449
+ _v$23 !== _p$.a && _$setAttribute(_el$10, "data-compact", _p$.a = _v$23);
450
+ _v$24 !== _p$.o && _$setAttribute(_el$10, "data-fill", _p$.o = _v$24);
451
+ _v$25 !== _p$.i && _$setAttribute(_el$10, "data-short", _p$.i = _v$25);
452
+ _v$26 !== _p$.n && _$setAttribute(_el$10, "data-moving", _p$.n = _v$26);
453
+ _v$27 !== _p$.s && _$setAttribute(_el$10, "data-display", _p$.s = _v$27);
454
+ _p$.h = _$style(_el$10, _v$28, _p$.h);
455
+ _v$29 !== _p$.r && _$setAttribute(_el$10, "aria-label", _p$.r = _v$29);
435
456
  return _p$;
436
457
  }, {
437
458
  e: undefined,
@@ -444,7 +465,7 @@ const EventChip = props => {
444
465
  h: undefined,
445
466
  r: undefined
446
467
  });
447
- return _el$7;
468
+ return _el$10;
448
469
  })();
449
470
  };
450
471
  const slotInteractionProps = (owner, slot, suppressed, nativeControl = false) => {
@@ -487,8 +508,8 @@ const CalendarNavigationLink = props => {
487
508
  props.owner.onNavigateHref?.(props.href);
488
509
  };
489
510
  return props.owner.onNavigateHref ? (() => {
490
- var _el$8 = _$getNextElement(_tmpl$7);
491
- _$spread(_el$8, _$mergeProps(() => props.anchorProps, {
511
+ var _el$11 = _$getNextElement(_tmpl$8);
512
+ _$spread(_el$11, _$mergeProps(() => props.anchorProps, {
492
513
  get href() {
493
514
  return props.href;
494
515
  },
@@ -496,9 +517,9 @@ const CalendarNavigationLink = props => {
496
517
  "onPointerEnter": preload,
497
518
  "onFocus": preload
498
519
  }), false, true);
499
- _$insert(_el$8, () => props.children);
520
+ _$insert(_el$11, () => props.children);
500
521
  _$runHydrationEvents();
501
- return _el$8;
522
+ return _el$11;
502
523
  })() : props.owner.onNavigate ? _$createComponent(Link, _$mergeProps(() => props.anchorProps, {
503
524
  get href() {
504
525
  return props.href;
@@ -513,17 +534,17 @@ const CalendarNavigationLink = props => {
513
534
  return props.children;
514
535
  }
515
536
  })) : (() => {
516
- var _el$9 = _$getNextElement(_tmpl$7);
517
- _$spread(_el$9, _$mergeProps(() => props.anchorProps, {
537
+ var _el$12 = _$getNextElement(_tmpl$8);
538
+ _$spread(_el$12, _$mergeProps(() => props.anchorProps, {
518
539
  get href() {
519
540
  return props.href;
520
541
  },
521
542
  "onPointerEnter": preload,
522
543
  "onFocus": preload
523
544
  }), false, true);
524
- _$insert(_el$9, () => props.children);
545
+ _$insert(_el$12, () => props.children);
525
546
  _$runHydrationEvents();
526
- return _el$9;
547
+ return _el$12;
527
548
  })();
528
549
  };
529
550
  const CalendarViewLinks = props => {
@@ -546,8 +567,8 @@ const CalendarViewLinks = props => {
546
567
  }
547
568
  };
548
569
  return (() => {
549
- var _el$0 = _$getNextElement(_tmpl$8);
550
- _$insert(_el$0, _$createComponent(For, {
570
+ var _el$13 = _$getNextElement(_tmpl$9);
571
+ _$insert(_el$13, _$createComponent(For, {
551
572
  get each() {
552
573
  return props.options;
553
574
  },
@@ -580,14 +601,16 @@ const CalendarViewLinks = props => {
580
601
  });
581
602
  }
582
603
  }));
583
- _$effect(() => _$setAttribute(_el$0, "aria-label", messages().calendarView));
584
- return _el$0;
604
+ _$effect(() => _$setAttribute(_el$13, "aria-label", messages().calendarView));
605
+ return _el$13;
585
606
  })();
586
607
  };
608
+
609
+ /** Custom views page by day, like the day view. */
587
610
  const adjacentCalendarDate = (date, view, direction, dateConfig) => {
588
611
  if (view === "year") return calendar.addMonths(date, direction * 12, dateConfig);
589
612
  if (view === "month" || view === "mobile-month") return calendar.addMonths(date, direction, dateConfig);
590
- return calendar.addDays(date, direction * (view === "day" ? 1 : 7), dateConfig);
613
+ return calendar.addDays(date, direction * (view === "week" ? 7 : 1), dateConfig);
591
614
  };
592
615
  const CalendarHeader = props => {
593
616
  const messages = useUiMessages();
@@ -599,7 +622,7 @@ const CalendarHeader = props => {
599
622
  year: "numeric",
600
623
  timeZone: dateConfig().timeZone
601
624
  }).format(props.date);
602
- if (props.view === "day") return props.date.toLocaleDateString(dateConfig().locale ?? "en", {
625
+ if (props.view !== "week" && props.view !== "month" && props.view !== "mobile-month") return props.date.toLocaleDateString(dateConfig().locale ?? "en", {
603
626
  weekday: "long",
604
627
  month: "long",
605
628
  day: "numeric",
@@ -631,18 +654,18 @@ const CalendarHeader = props => {
631
654
  class: "k2b-calendar-header__nav-button"
632
655
  },
633
656
  get children() {
634
- var _el$1 = _$getNextElement(_tmpl$9);
635
- _$className(_el$1, `ti ${icon}`);
636
- return _el$1;
657
+ var _el$14 = _$getNextElement(_tmpl$0);
658
+ _$className(_el$14, `ti ${icon}`);
659
+ return _el$14;
637
660
  }
638
661
  }) : props.owner.onDateChange ? (() => {
639
- var _el$10 = _$getNextElement(_tmpl$0),
640
- _el$11 = _el$10.firstChild;
641
- _el$10.$$click = () => goDate(date);
642
- _$setAttribute(_el$10, "aria-label", label);
643
- _$className(_el$11, `ti ${icon}`);
662
+ var _el$15 = _$getNextElement(_tmpl$1),
663
+ _el$16 = _el$15.firstChild;
664
+ _el$15.$$click = () => goDate(date);
665
+ _$setAttribute(_el$15, "aria-label", label);
666
+ _$className(_el$16, `ti ${icon}`);
644
667
  _$runHydrationEvents();
645
- return _el$10;
668
+ return _el$15;
646
669
  })() : _$createComponent(CalendarNavigationLink, {
647
670
  get owner() {
648
671
  return props.owner;
@@ -654,9 +677,9 @@ const CalendarHeader = props => {
654
677
  class: "k2b-calendar-header__nav-button"
655
678
  },
656
679
  get children() {
657
- var _el$12 = _$getNextElement(_tmpl$9);
658
- _$className(_el$12, `ti ${icon}`);
659
- return _el$12;
680
+ var _el$17 = _$getNextElement(_tmpl$0);
681
+ _$className(_el$17, `ti ${icon}`);
682
+ return _el$17;
660
683
  }
661
684
  });
662
685
  };
@@ -664,9 +687,9 @@ const CalendarHeader = props => {
664
687
  const today = calendar.today(dateConfig());
665
688
  const href = props.owner.getDateHref?.(today, props.view);
666
689
  const label = (() => {
667
- var _el$13 = _$getNextElement(_tmpl$1);
668
- _$insert(_el$13, () => props.labels.today);
669
- return _el$13;
690
+ var _el$18 = _$getNextElement(_tmpl$10);
691
+ _$insert(_el$18, () => props.labels.today);
692
+ return _el$18;
670
693
  })();
671
694
  return (props.owner.onNavigateHref || props.owner.onNavigate) && href ? _$createComponent(CalendarNavigationLink, {
672
695
  get owner() {
@@ -701,7 +724,7 @@ const CalendarHeader = props => {
701
724
  children: label
702
725
  });
703
726
  };
704
- const viewOptions = createMemo(() => [{
727
+ const viewOptions = createMemo(() => [...[{
705
728
  value: "day",
706
729
  label: props.labels.day
707
730
  }, {
@@ -713,29 +736,29 @@ const CalendarHeader = props => {
713
736
  }, {
714
737
  value: "year",
715
738
  label: props.labels.year
716
- }].filter(option => !props.owner.views || props.owner.views.includes(option.value)));
739
+ }].filter(option => !props.owner.views || props.owner.views.includes(option.value)), ...(props.owner.customViews ?? [])]);
717
740
  return (() => {
718
- var _el$14 = _$getNextElement(_tmpl$11),
719
- _el$15 = _el$14.firstChild,
720
- _el$17 = _el$15.firstChild,
721
- [_el$18, _co$] = _$getNextMarker(_el$17.nextSibling),
722
- _el$19 = _el$18.nextSibling,
723
- [_el$20, _co$2] = _$getNextMarker(_el$19.nextSibling),
724
- _el$16 = _el$20.nextSibling,
725
- _el$21 = _el$15.nextSibling,
726
- _el$22 = _el$21.firstChild,
741
+ var _el$19 = _$getNextElement(_tmpl$12),
742
+ _el$20 = _el$19.firstChild,
743
+ _el$22 = _el$20.firstChild,
727
744
  [_el$23, _co$3] = _$getNextMarker(_el$22.nextSibling),
728
745
  _el$24 = _el$23.nextSibling,
729
746
  [_el$25, _co$4] = _$getNextMarker(_el$24.nextSibling),
730
- _el$26 = _el$25.nextSibling,
731
- [_el$27, _co$5] = _$getNextMarker(_el$26.nextSibling),
732
- _el$29 = _el$21.nextSibling,
733
- [_el$30, _co$6] = _$getNextMarker(_el$29.nextSibling);
734
- _$insert(_el$15, () => navButton(previous(), "ti-chevron-left", props.labels.previous), _el$18, _co$);
735
- _$insert(_el$15, () => navButton(next(), "ti-chevron-right", props.labels.next), _el$20, _co$2);
736
- _$insert(_el$16, title);
737
- _$insert(_el$21, todayButton, _el$23, _co$3);
738
- _$insert(_el$21, _$createComponent(Show, {
747
+ _el$21 = _el$25.nextSibling,
748
+ _el$26 = _el$20.nextSibling,
749
+ _el$27 = _el$26.firstChild,
750
+ [_el$28, _co$5] = _$getNextMarker(_el$27.nextSibling),
751
+ _el$29 = _el$28.nextSibling,
752
+ [_el$30, _co$6] = _$getNextMarker(_el$29.nextSibling),
753
+ _el$31 = _el$30.nextSibling,
754
+ [_el$32, _co$7] = _$getNextMarker(_el$31.nextSibling),
755
+ _el$34 = _el$26.nextSibling,
756
+ [_el$35, _co$8] = _$getNextMarker(_el$34.nextSibling);
757
+ _$insert(_el$20, () => navButton(previous(), "ti-chevron-left", props.labels.previous), _el$23, _co$3);
758
+ _$insert(_el$20, () => navButton(next(), "ti-chevron-right", props.labels.next), _el$25, _co$4);
759
+ _$insert(_el$21, title);
760
+ _$insert(_el$26, todayButton, _el$28, _co$5);
761
+ _$insert(_el$26, _$createComponent(Show, {
739
762
  get when() {
740
763
  return _$memo(() => !!!props.owner.onViewChange)() && props.owner.getViewHref;
741
764
  },
@@ -764,17 +787,17 @@ const CalendarHeader = props => {
764
787
  }
765
788
  });
766
789
  }
767
- }), _el$25, _co$4);
768
- _$insert(_el$21, () => props.owner.toolbarActions, _el$27, _co$5);
769
- _$insert(_el$14, _$createComponent(Show, {
790
+ }), _el$30, _co$6);
791
+ _$insert(_el$26, () => props.owner.toolbarActions, _el$32, _co$7);
792
+ _$insert(_el$19, _$createComponent(Show, {
770
793
  get when() {
771
794
  return props.owner.navigationPending;
772
795
  },
773
796
  get children() {
774
- return _$getNextElement(_tmpl$10);
797
+ return _$getNextElement(_tmpl$11);
775
798
  }
776
- }), _el$30, _co$6);
777
- return _el$14;
799
+ }), _el$35, _co$8);
800
+ return _el$19;
778
801
  })();
779
802
  };
780
803
  const MonthView = props => {
@@ -832,55 +855,55 @@ const MonthView = props => {
832
855
  };
833
856
  onCleanup(() => cancelInteraction?.());
834
857
  return (() => {
835
- var _el$31 = _$getNextElement(_tmpl$13),
836
- _el$32 = _el$31.firstChild,
837
- _el$34 = _el$32.firstChild,
838
- [_el$35, _co$7] = _$getNextMarker(_el$34.nextSibling),
839
- _el$36 = _el$35.nextSibling,
840
- [_el$37, _co$8] = _$getNextMarker(_el$36.nextSibling),
841
- _el$38 = _el$32.nextSibling,
842
- [_el$39, _co$9] = _$getNextMarker(_el$38.nextSibling);
843
- _$insert(_el$32, _$createComponent(Show, {
858
+ var _el$36 = _$getNextElement(_tmpl$14),
859
+ _el$37 = _el$36.firstChild,
860
+ _el$39 = _el$37.firstChild,
861
+ [_el$40, _co$9] = _$getNextMarker(_el$39.nextSibling),
862
+ _el$41 = _el$40.nextSibling,
863
+ [_el$42, _co$0] = _$getNextMarker(_el$41.nextSibling),
864
+ _el$43 = _el$37.nextSibling,
865
+ [_el$44, _co$1] = _$getNextMarker(_el$43.nextSibling);
866
+ _$insert(_el$37, _$createComponent(Show, {
844
867
  get when() {
845
868
  return props.owner.withWeekNumbers;
846
869
  },
847
870
  get children() {
848
- var _el$33 = _$getNextElement(_tmpl$12);
849
- _$insert(_el$33, () => messages().weekShort);
850
- return _el$33;
871
+ var _el$38 = _$getNextElement(_tmpl$13);
872
+ _$insert(_el$38, () => messages().weekShort);
873
+ return _el$38;
851
874
  }
852
- }), _el$35, _co$7);
853
- _$insert(_el$32, _$createComponent(For, {
875
+ }), _el$40, _co$9);
876
+ _$insert(_el$37, _$createComponent(For, {
854
877
  get each() {
855
878
  return weekdays();
856
879
  },
857
880
  children: day => (() => {
858
- var _el$40 = _$getNextElement(_tmpl$12);
859
- _$insert(_el$40, day);
860
- return _el$40;
881
+ var _el$45 = _$getNextElement(_tmpl$13);
882
+ _$insert(_el$45, day);
883
+ return _el$45;
861
884
  })()
862
- }), _el$37, _co$8);
863
- _$insert(_el$31, _$createComponent(For, {
885
+ }), _el$42, _co$0);
886
+ _$insert(_el$36, _$createComponent(For, {
864
887
  get each() {
865
888
  return weeks();
866
889
  },
867
890
  children: week => (() => {
868
- var _el$41 = _$getNextElement(_tmpl$15),
869
- _el$43 = _el$41.firstChild,
870
- [_el$44, _co$0] = _$getNextMarker(_el$43.nextSibling),
871
- _el$45 = _el$44.nextSibling,
872
- [_el$46, _co$1] = _$getNextMarker(_el$45.nextSibling);
873
- _$insert(_el$41, _$createComponent(Show, {
891
+ var _el$46 = _$getNextElement(_tmpl$16),
892
+ _el$48 = _el$46.firstChild,
893
+ [_el$49, _co$10] = _$getNextMarker(_el$48.nextSibling),
894
+ _el$50 = _el$49.nextSibling,
895
+ [_el$51, _co$11] = _$getNextMarker(_el$50.nextSibling);
896
+ _$insert(_el$46, _$createComponent(Show, {
874
897
  get when() {
875
898
  return props.owner.withWeekNumbers;
876
899
  },
877
900
  get children() {
878
- var _el$42 = _$getNextElement(_tmpl$14);
879
- _$insert(_el$42, () => zonedWeekNumber(week[0], dateConfig()));
880
- return _el$42;
901
+ var _el$47 = _$getNextElement(_tmpl$15);
902
+ _$insert(_el$47, () => zonedWeekNumber(week[0], dateConfig()));
903
+ return _el$47;
881
904
  }
882
- }), _el$44, _co$0);
883
- _$insert(_el$41, _$createComponent(For, {
905
+ }), _el$49, _co$10);
906
+ _$insert(_el$46, _$createComponent(For, {
884
907
  each: week,
885
908
  children: day => {
886
909
  const dayKey = calendar.formatDateKey(day, dateConfig());
@@ -908,25 +931,25 @@ const MonthView = props => {
908
931
  };
909
932
  });
910
933
  return (() => {
911
- var _el$47 = _$getNextElement(_tmpl$18),
912
- _el$63 = _el$47.firstChild,
934
+ var _el$52 = _$getNextElement(_tmpl$19),
935
+ _el$68 = _el$52.firstChild,
936
+ [_el$69, _co$17] = _$getNextMarker(_el$68.nextSibling),
937
+ _el$54 = _el$69.nextSibling,
938
+ _el$55 = _el$54.firstChild,
939
+ [_el$56, _co$12] = _$getNextMarker(_el$55.nextSibling),
940
+ _el$57 = _el$56.nextSibling,
941
+ [_el$58, _co$13] = _$getNextMarker(_el$57.nextSibling),
942
+ _el$59 = _el$54.nextSibling,
943
+ _el$61 = _el$59.firstChild,
944
+ [_el$62, _co$14] = _$getNextMarker(_el$61.nextSibling),
945
+ _el$63 = _el$62.nextSibling,
913
946
  [_el$64, _co$15] = _$getNextMarker(_el$63.nextSibling),
914
- _el$49 = _el$64.nextSibling,
915
- _el$50 = _el$49.firstChild,
916
- [_el$51, _co$10] = _$getNextMarker(_el$50.nextSibling),
917
- _el$52 = _el$51.nextSibling,
918
- [_el$53, _co$11] = _$getNextMarker(_el$52.nextSibling),
919
- _el$54 = _el$49.nextSibling,
920
- _el$56 = _el$54.firstChild,
921
- [_el$57, _co$12] = _$getNextMarker(_el$56.nextSibling),
922
- _el$58 = _el$57.nextSibling,
923
- [_el$59, _co$13] = _$getNextMarker(_el$58.nextSibling),
924
- _el$60 = _el$59.nextSibling,
925
- [_el$61, _co$14] = _$getNextMarker(_el$60.nextSibling),
926
- _el$62 = _el$54.nextSibling;
927
- _$setAttribute(_el$47, "data-calendar-day-key", dayKey);
928
- _$setAttribute(_el$47, "data-outside", !sameMonth ? "true" : undefined);
929
- _$insert(_el$47, _$createComponent(Show, {
947
+ _el$65 = _el$64.nextSibling,
948
+ [_el$66, _co$16] = _$getNextMarker(_el$65.nextSibling),
949
+ _el$67 = _el$59.nextSibling;
950
+ _$setAttribute(_el$52, "data-calendar-day-key", dayKey);
951
+ _$setAttribute(_el$52, "data-outside", !sameMonth ? "true" : undefined);
952
+ _$insert(_el$52, _$createComponent(Show, {
930
953
  get when() {
931
954
  return props.owner.onSlotActivate;
932
955
  },
@@ -952,8 +975,8 @@ const MonthView = props => {
952
975
  });
953
976
  },
954
977
  get children() {
955
- var _el$48 = _$getNextElement(_tmpl$16);
956
- _$spread(_el$48, _$mergeProps({
978
+ var _el$53 = _$getNextElement(_tmpl$17);
979
+ _$spread(_el$53, _$mergeProps({
957
980
  get ["aria-label"]() {
958
981
  return messages().createEventOn({
959
982
  label: dayLabel
@@ -968,20 +991,20 @@ const MonthView = props => {
968
991
  };
969
992
  }, () => performance.now() < suppressSlotClickUntil, true)), false, false);
970
993
  _$runHydrationEvents();
971
- return _el$48;
994
+ return _el$53;
972
995
  }
973
- }), _el$64, _co$15);
974
- _$insert(_el$49, _$createComponent(Show, {
996
+ }), _el$69, _co$17);
997
+ _$insert(_el$54, _$createComponent(Show, {
975
998
  get when() {
976
999
  return props.owner.onSlotActivate && href;
977
1000
  },
978
1001
  get fallback() {
979
1002
  return (() => {
980
- var _el$65 = _$getNextElement(_tmpl$19);
981
- _$setAttribute(_el$65, "data-today", isToday ? "true" : undefined);
982
- _$setAttribute(_el$65, "data-outside", !sameMonth ? "true" : undefined);
983
- _$insert(_el$65, () => calendar.formatDayNumber(day, dateConfig()));
984
- return _el$65;
1003
+ var _el$70 = _$getNextElement(_tmpl$20);
1004
+ _$setAttribute(_el$70, "data-today", isToday ? "true" : undefined);
1005
+ _$setAttribute(_el$70, "data-outside", !sameMonth ? "true" : undefined);
1006
+ _$insert(_el$70, () => calendar.formatDayNumber(day, dateConfig()));
1007
+ return _el$70;
985
1008
  })();
986
1009
  },
987
1010
  children: dayHref => _$createComponent(CalendarNavigationLink, {
@@ -1005,40 +1028,40 @@ const MonthView = props => {
1005
1028
  return calendar.formatDayNumber(day, dateConfig());
1006
1029
  }
1007
1030
  })
1008
- }), _el$51, _co$10);
1009
- _$insert(_el$49, _$createComponent(Show, {
1031
+ }), _el$56, _co$12);
1032
+ _$insert(_el$54, _$createComponent(Show, {
1010
1033
  when: dayBadge,
1011
1034
  children: badge => (() => {
1012
- var _el$66 = _$getNextElement(_tmpl$20),
1013
- _el$67 = _el$66.firstChild,
1014
- [_el$68, _co$16] = _$getNextMarker(_el$67.nextSibling),
1015
- _el$69 = _el$68.nextSibling,
1016
- [_el$70, _co$17] = _$getNextMarker(_el$69.nextSibling);
1017
- _$insert(_el$66, _$createComponent(Show, {
1035
+ var _el$71 = _$getNextElement(_tmpl$21),
1036
+ _el$72 = _el$71.firstChild,
1037
+ [_el$73, _co$18] = _$getNextMarker(_el$72.nextSibling),
1038
+ _el$74 = _el$73.nextSibling,
1039
+ [_el$75, _co$19] = _$getNextMarker(_el$74.nextSibling);
1040
+ _$insert(_el$71, _$createComponent(Show, {
1018
1041
  get when() {
1019
1042
  return badge().icon;
1020
1043
  },
1021
1044
  children: icon => (() => {
1022
- var _el$71 = _$getNextElement(_tmpl$9);
1023
- _$effect(() => _$className(_el$71, `k2b-calendar-month__badge-icon ti ti-${icon()}`));
1024
- return _el$71;
1045
+ var _el$76 = _$getNextElement(_tmpl$0);
1046
+ _$effect(() => _$className(_el$76, `k2b-calendar-month__badge-icon ti ti-${icon()}`));
1047
+ return _el$76;
1025
1048
  })()
1026
- }), _el$68, _co$16);
1027
- _$insert(_el$66, () => badge().label, _el$70, _co$17);
1028
- return _el$66;
1049
+ }), _el$73, _co$18);
1050
+ _$insert(_el$71, () => badge().label, _el$75, _co$19);
1051
+ return _el$71;
1029
1052
  })()
1030
- }), _el$53, _co$11);
1031
- _$insert(_el$54, _$createComponent(Show, {
1053
+ }), _el$58, _co$13);
1054
+ _$insert(_el$59, _$createComponent(Show, {
1032
1055
  get when() {
1033
1056
  return eventStack().preview;
1034
1057
  },
1035
1058
  get children() {
1036
- var _el$55 = _$getNextElement(_tmpl$17);
1037
- _$insert(_el$55, () => props.events.find(event => event.id === eventStack().preview.id)?.title ?? messages().moveEvent);
1038
- return _el$55;
1059
+ var _el$60 = _$getNextElement(_tmpl$18);
1060
+ _$insert(_el$60, () => props.events.find(event => event.id === eventStack().preview.id)?.title ?? messages().moveEvent);
1061
+ return _el$60;
1039
1062
  }
1040
- }), _el$57, _co$12);
1041
- _$insert(_el$54, _$createComponent(For, {
1063
+ }), _el$62, _co$14);
1064
+ _$insert(_el$59, _$createComponent(For, {
1042
1065
  get each() {
1043
1066
  return eventStack().visibleEvents;
1044
1067
  },
@@ -1058,8 +1081,8 @@ const MonthView = props => {
1058
1081
  return props.owner.onEventDrop ? (pointerEvent, markDragged) => startMove(pointerEvent, event, markDragged) : undefined;
1059
1082
  }
1060
1083
  })
1061
- }), _el$59, _co$13);
1062
- _$insert(_el$54, _$createComponent(Show, {
1084
+ }), _el$64, _co$15);
1085
+ _$insert(_el$59, _$createComponent(Show, {
1063
1086
  get when() {
1064
1087
  return eventStack().hiddenCount > 0;
1065
1088
  },
@@ -1077,48 +1100,48 @@ const MonthView = props => {
1077
1100
  }
1078
1101
  });
1079
1102
  }
1080
- }), _el$61, _co$14);
1081
- _$insert(_el$62, _$createComponent(For, {
1103
+ }), _el$66, _co$16);
1104
+ _$insert(_el$67, _$createComponent(For, {
1082
1105
  get each() {
1083
1106
  return events.slice(0, 4);
1084
1107
  },
1085
1108
  children: event => (() => {
1086
- var _el$72 = _$getNextElement(_tmpl$21);
1109
+ var _el$77 = _$getNextElement(_tmpl$22);
1087
1110
  _$effect(_p$ => {
1088
1111
  var _v$32 = event.colorHex ? undefined : event.color ?? "blue",
1089
1112
  _v$33 = event.colorHex ? {
1090
1113
  "background-color": event.colorHex
1091
1114
  } : undefined;
1092
- _v$32 !== _p$.e && _$setAttribute(_el$72, "data-color", _p$.e = _v$32);
1093
- _p$.t = _$style(_el$72, _v$33, _p$.t);
1115
+ _v$32 !== _p$.e && _$setAttribute(_el$77, "data-color", _p$.e = _v$32);
1116
+ _p$.t = _$style(_el$77, _v$33, _p$.t);
1094
1117
  return _p$;
1095
1118
  }, {
1096
1119
  e: undefined,
1097
1120
  t: undefined
1098
1121
  });
1099
- return _el$72;
1122
+ return _el$77;
1100
1123
  })()
1101
1124
  }));
1102
- _$effect(() => _$setAttribute(_el$47, "data-drop-preview", movePreview()?.start && calendar.formatDateKey(movePreview().start, dateConfig()) === dayKey ? "true" : undefined));
1103
- return _el$47;
1125
+ _$effect(() => _$setAttribute(_el$52, "data-drop-preview", movePreview()?.start && calendar.formatDateKey(movePreview().start, dateConfig()) === dayKey ? "true" : undefined));
1126
+ return _el$52;
1104
1127
  })();
1105
1128
  }
1106
- }), _el$46, _co$1);
1107
- _$effect(() => _$setAttribute(_el$41, "data-week-numbers", props.owner.withWeekNumbers ? "true" : undefined));
1108
- return _el$41;
1129
+ }), _el$51, _co$11);
1130
+ _$effect(() => _$setAttribute(_el$46, "data-week-numbers", props.owner.withWeekNumbers ? "true" : undefined));
1131
+ return _el$46;
1109
1132
  })()
1110
- }), _el$39, _co$9);
1133
+ }), _el$44, _co$1);
1111
1134
  _$effect(_p$ => {
1112
1135
  var _v$30 = `auto repeat(${weeks().length}, ${props.compact ? "minmax(2.75rem, auto)" : "minmax(5rem, 1fr)"})`,
1113
1136
  _v$31 = props.owner.withWeekNumbers ? "true" : undefined;
1114
- _v$30 !== _p$.e && _$setStyleProperty(_el$31, "grid-template-rows", _p$.e = _v$30);
1115
- _v$31 !== _p$.t && _$setAttribute(_el$32, "data-week-numbers", _p$.t = _v$31);
1137
+ _v$30 !== _p$.e && _$setStyleProperty(_el$36, "grid-template-rows", _p$.e = _v$30);
1138
+ _v$31 !== _p$.t && _$setAttribute(_el$37, "data-week-numbers", _p$.t = _v$31);
1116
1139
  return _p$;
1117
1140
  }, {
1118
1141
  e: undefined,
1119
1142
  t: undefined
1120
1143
  });
1121
- return _el$31;
1144
+ return _el$36;
1122
1145
  })();
1123
1146
  };
1124
1147
  const TimeGridView = props => {
@@ -1324,26 +1347,28 @@ const TimeGridView = props => {
1324
1347
  requestAnimationFrame(() => {
1325
1348
  if (!scrollContainer || !defaultHourMarker) return;
1326
1349
  const targetTop = defaultHourMarker.getBoundingClientRect().top - scrollContainer.getBoundingClientRect().top;
1350
+ // Reduced motion jumps to the business hours instead of gliding there, like every transition of the library.
1351
+ const behavior = window.matchMedia("(prefers-reduced-motion: reduce)").matches ? "auto" : "smooth";
1327
1352
  scrollContainer.scrollTo({
1328
1353
  top: Math.max(0, scrollContainer.scrollTop + targetTop),
1329
- behavior: "smooth"
1354
+ behavior
1330
1355
  });
1331
1356
  });
1332
1357
  });
1333
1358
  return (() => {
1334
- var _el$73 = _$getNextElement(_tmpl$23),
1335
- _el$74 = _el$73.firstChild,
1336
- _el$75 = _el$74.firstChild,
1337
- _el$76 = _el$75.nextSibling,
1338
- [_el$77, _co$18] = _$getNextMarker(_el$76.nextSibling),
1339
- _el$87 = _el$74.nextSibling,
1340
- [_el$88, _co$21] = _$getNextMarker(_el$87.nextSibling),
1341
- _el$82 = _el$88.nextSibling,
1342
- _el$83 = _el$82.firstChild,
1343
- _el$84 = _el$83.firstChild,
1344
- _el$85 = _el$84.nextSibling,
1345
- [_el$86, _co$20] = _$getNextMarker(_el$85.nextSibling);
1346
- _$insert(_el$74, _$createComponent(For, {
1359
+ var _el$78 = _$getNextElement(_tmpl$24),
1360
+ _el$79 = _el$78.firstChild,
1361
+ _el$80 = _el$79.firstChild,
1362
+ _el$81 = _el$80.nextSibling,
1363
+ [_el$82, _co$20] = _$getNextMarker(_el$81.nextSibling),
1364
+ _el$92 = _el$79.nextSibling,
1365
+ [_el$93, _co$23] = _$getNextMarker(_el$92.nextSibling),
1366
+ _el$87 = _el$93.nextSibling,
1367
+ _el$88 = _el$87.firstChild,
1368
+ _el$89 = _el$88.firstChild,
1369
+ _el$90 = _el$89.nextSibling,
1370
+ [_el$91, _co$22] = _$getNextMarker(_el$90.nextSibling);
1371
+ _$insert(_el$79, _$createComponent(For, {
1347
1372
  get each() {
1348
1373
  return props.days;
1349
1374
  },
@@ -1362,47 +1387,47 @@ const TimeGridView = props => {
1362
1387
  },
1363
1388
  get children() {
1364
1389
  return [(() => {
1365
- var _el$89 = _$getNextElement(_tmpl$24);
1366
- _$insert(_el$89, () => formatDay(day, dateConfig()));
1367
- _$effect(() => _$setAttribute(_el$89, "data-today", today() ? "true" : undefined));
1368
- return _el$89;
1390
+ var _el$94 = _$getNextElement(_tmpl$25);
1391
+ _$insert(_el$94, () => formatDay(day, dateConfig()));
1392
+ _$effect(() => _$setAttribute(_el$94, "data-today", today() ? "true" : undefined));
1393
+ return _el$94;
1369
1394
  })(), _$createComponent(Show, {
1370
1395
  when: dayBadge,
1371
1396
  children: badge => (() => {
1372
- var _el$90 = _$getNextElement(_tmpl$25),
1373
- _el$91 = _el$90.firstChild,
1374
- [_el$92, _co$22] = _$getNextMarker(_el$91.nextSibling),
1375
- _el$93 = _el$92.nextSibling,
1376
- [_el$94, _co$23] = _$getNextMarker(_el$93.nextSibling);
1377
- _$insert(_el$90, _$createComponent(Show, {
1397
+ var _el$95 = _$getNextElement(_tmpl$26),
1398
+ _el$96 = _el$95.firstChild,
1399
+ [_el$97, _co$24] = _$getNextMarker(_el$96.nextSibling),
1400
+ _el$98 = _el$97.nextSibling,
1401
+ [_el$99, _co$25] = _$getNextMarker(_el$98.nextSibling);
1402
+ _$insert(_el$95, _$createComponent(Show, {
1378
1403
  get when() {
1379
1404
  return badge().icon;
1380
1405
  },
1381
1406
  children: icon => (() => {
1382
- var _el$95 = _$getNextElement(_tmpl$9);
1383
- _$effect(() => _$className(_el$95, `k2b-calendar-time-grid__badge-icon ti ti-${icon()}`));
1384
- return _el$95;
1407
+ var _el$100 = _$getNextElement(_tmpl$0);
1408
+ _$effect(() => _$className(_el$100, `k2b-calendar-time-grid__badge-icon ti ti-${icon()}`));
1409
+ return _el$100;
1385
1410
  })()
1386
- }), _el$92, _co$22);
1387
- _$insert(_el$90, () => badge().label, _el$94, _co$23);
1388
- return _el$90;
1411
+ }), _el$97, _co$24);
1412
+ _$insert(_el$95, () => badge().label, _el$99, _co$25);
1413
+ return _el$95;
1389
1414
  })()
1390
1415
  })];
1391
1416
  }
1392
1417
  });
1393
1418
  }
1394
- }), _el$77, _co$18);
1395
- _$insert(_el$73, _$createComponent(Show, {
1419
+ }), _el$82, _co$20);
1420
+ _$insert(_el$78, _$createComponent(Show, {
1396
1421
  get when() {
1397
1422
  return !props.owner.hideAllDay;
1398
1423
  },
1399
1424
  get children() {
1400
- var _el$78 = _$getNextElement(_tmpl$22),
1401
- _el$79 = _el$78.firstChild,
1402
- _el$80 = _el$79.nextSibling,
1403
- [_el$81, _co$19] = _$getNextMarker(_el$80.nextSibling);
1404
- _$insert(_el$79, () => props.labels.allDay);
1405
- _$insert(_el$78, _$createComponent(For, {
1425
+ var _el$83 = _$getNextElement(_tmpl$23),
1426
+ _el$84 = _el$83.firstChild,
1427
+ _el$85 = _el$84.nextSibling,
1428
+ [_el$86, _co$21] = _$getNextMarker(_el$85.nextSibling);
1429
+ _$insert(_el$84, () => props.labels.allDay);
1430
+ _$insert(_el$83, _$createComponent(For, {
1406
1431
  get each() {
1407
1432
  return props.days;
1408
1433
  },
@@ -1411,14 +1436,14 @@ const TimeGridView = props => {
1411
1436
  const allDay = () => eventsByDay().get(dayKey)?.allDay ?? [];
1412
1437
  const previewAllDay = previewEvents().filter(event => event.dayKey === dayKey && event.allDay);
1413
1438
  return (() => {
1414
- var _el$96 = _$getNextElement(_tmpl$26),
1415
- _el$97 = _el$96.firstChild,
1416
- _el$98 = _el$97.firstChild,
1417
- [_el$99, _co$24] = _$getNextMarker(_el$98.nextSibling),
1418
- _el$100 = _el$99.nextSibling,
1419
- [_el$101, _co$25] = _$getNextMarker(_el$100.nextSibling);
1420
- _$setAttribute(_el$96, "data-calendar-day-key", dayKey);
1421
- _$spread(_el$96, _$mergeProps({
1439
+ var _el$101 = _$getNextElement(_tmpl$27),
1440
+ _el$102 = _el$101.firstChild,
1441
+ _el$103 = _el$102.firstChild,
1442
+ [_el$104, _co$26] = _$getNextMarker(_el$103.nextSibling),
1443
+ _el$105 = _el$104.nextSibling,
1444
+ [_el$106, _co$27] = _$getNextMarker(_el$105.nextSibling);
1445
+ _$setAttribute(_el$101, "data-calendar-day-key", dayKey);
1446
+ _$spread(_el$101, _$mergeProps({
1422
1447
  get ["data-drop-preview"]() {
1423
1448
  return timePreview()?.allDay && calendar.formatDateKey(timePreview().start, dateConfig()) === dayKey ? "true" : undefined;
1424
1449
  },
@@ -1433,15 +1458,15 @@ const TimeGridView = props => {
1433
1458
  allDay: true
1434
1459
  };
1435
1460
  }, () => performance.now() < suppressSlotClickUntil)), false, true);
1436
- _$insert(_el$97, _$createComponent(For, {
1461
+ _$insert(_el$102, _$createComponent(For, {
1437
1462
  each: previewAllDay,
1438
1463
  children: event => (() => {
1439
- var _el$102 = _$getNextElement(_tmpl$17);
1440
- _$insert(_el$102, () => event.title);
1441
- return _el$102;
1464
+ var _el$107 = _$getNextElement(_tmpl$18);
1465
+ _$insert(_el$107, () => event.title);
1466
+ return _el$107;
1442
1467
  })()
1443
- }), _el$99, _co$24);
1444
- _$insert(_el$97, _$createComponent(For, {
1468
+ }), _el$104, _co$26);
1469
+ _$insert(_el$102, _$createComponent(For, {
1445
1470
  get each() {
1446
1471
  return allDay();
1447
1472
  },
@@ -1461,49 +1486,49 @@ const TimeGridView = props => {
1461
1486
  return props.owner.onEventDrop ? (pointerEvent, markDragged) => startAllDayMove(pointerEvent, event, markDragged) : undefined;
1462
1487
  }
1463
1488
  })
1464
- }), _el$101, _co$25);
1489
+ }), _el$106, _co$27);
1465
1490
  _$runHydrationEvents();
1466
- return _el$96;
1491
+ return _el$101;
1467
1492
  })();
1468
1493
  }
1469
- }), _el$81, _co$19);
1494
+ }), _el$86, _co$21);
1470
1495
  _$effect(_p$ => {
1471
1496
  var _v$34 = `4rem repeat(${props.days.length}, minmax(0, 1fr))`,
1472
1497
  _v$35 = `${props.owner.allDayMaxHeightRem ?? 7}rem`;
1473
- _v$34 !== _p$.e && _$setStyleProperty(_el$78, "grid-template-columns", _p$.e = _v$34);
1474
- _v$35 !== _p$.t && _$setStyleProperty(_el$78, "max-height", _p$.t = _v$35);
1498
+ _v$34 !== _p$.e && _$setStyleProperty(_el$83, "grid-template-columns", _p$.e = _v$34);
1499
+ _v$35 !== _p$.t && _$setStyleProperty(_el$83, "max-height", _p$.t = _v$35);
1475
1500
  return _p$;
1476
1501
  }, {
1477
1502
  e: undefined,
1478
1503
  t: undefined
1479
1504
  });
1480
- return _el$78;
1505
+ return _el$83;
1481
1506
  }
1482
- }), _el$88, _co$21);
1507
+ }), _el$93, _co$23);
1483
1508
  var _ref$ = scrollContainer;
1484
- typeof _ref$ === "function" ? _$use(_ref$, _el$82) : scrollContainer = _el$82;
1509
+ typeof _ref$ === "function" ? _$use(_ref$, _el$87) : scrollContainer = _el$87;
1485
1510
  var _ref$2 = timeGrid;
1486
- typeof _ref$2 === "function" ? _$use(_ref$2, _el$83) : timeGrid = _el$83;
1511
+ typeof _ref$2 === "function" ? _$use(_ref$2, _el$88) : timeGrid = _el$88;
1487
1512
  var _ref$3 = timeGutter;
1488
- typeof _ref$3 === "function" ? _$use(_ref$3, _el$84) : timeGutter = _el$84;
1489
- _$insert(_el$84, _$createComponent(For, {
1513
+ typeof _ref$3 === "function" ? _$use(_ref$3, _el$89) : timeGutter = _el$89;
1514
+ _$insert(_el$89, _$createComponent(For, {
1490
1515
  get each() {
1491
1516
  return hours();
1492
1517
  },
1493
1518
  children: hour => (() => {
1494
- var _el$103 = _$getNextElement(_tmpl$27),
1495
- _el$105 = _el$103.firstChild,
1496
- [_el$106, _co$26] = _$getNextMarker(_el$105.nextSibling),
1497
- _el$104 = _el$106.nextSibling;
1519
+ var _el$108 = _$getNextElement(_tmpl$28),
1520
+ _el$110 = _el$108.firstChild,
1521
+ [_el$111, _co$28] = _$getNextMarker(_el$110.nextSibling),
1522
+ _el$109 = _el$111.nextSibling;
1498
1523
  _$use(element => {
1499
1524
  if (hour === businessStartHour()) defaultHourMarker = element;
1500
- }, _el$103);
1501
- _$insert(_el$103, () => `${hour}`.padStart(2, "0"), _el$106, _co$26);
1502
- _$effect(() => _$setAttribute(_el$103, "data-outside-business", hour < businessStartHour() || hour > businessEndHour() ? "true" : undefined));
1503
- return _el$103;
1525
+ }, _el$108);
1526
+ _$insert(_el$108, () => `${hour}`.padStart(2, "0"), _el$111, _co$28);
1527
+ _$effect(() => _$setAttribute(_el$108, "data-outside-business", hour < businessStartHour() || hour > businessEndHour() ? "true" : undefined));
1528
+ return _el$108;
1504
1529
  })()
1505
1530
  }));
1506
- _$insert(_el$83, _$createComponent(For, {
1531
+ _$insert(_el$88, _$createComponent(For, {
1507
1532
  get each() {
1508
1533
  return props.days;
1509
1534
  },
@@ -1511,34 +1536,34 @@ const TimeGridView = props => {
1511
1536
  const dayKey = calendar.formatDateKey(day, dateConfig());
1512
1537
  const layouts = createMemo(() => timedEventLayouts(eventsByDay().get(dayKey)?.timed ?? []));
1513
1538
  return (() => {
1514
- var _el$107 = _$getNextElement(_tmpl$29),
1515
- _el$109 = _el$107.firstChild,
1516
- [_el$110, _co$27] = _$getNextMarker(_el$109.nextSibling),
1517
- _el$111 = _el$110.nextSibling,
1518
- [_el$112, _co$28] = _$getNextMarker(_el$111.nextSibling),
1519
- _el$113 = _el$112.nextSibling,
1520
- [_el$114, _co$29] = _$getNextMarker(_el$113.nextSibling),
1521
- _el$115 = _el$114.nextSibling,
1522
- [_el$116, _co$30] = _$getNextMarker(_el$115.nextSibling),
1523
- _el$117 = _el$116.nextSibling,
1524
- [_el$118, _co$31] = _$getNextMarker(_el$117.nextSibling);
1525
- _$insert(_el$107, _$createComponent(Show, {
1539
+ var _el$112 = _$getNextElement(_tmpl$30),
1540
+ _el$114 = _el$112.firstChild,
1541
+ [_el$115, _co$29] = _$getNextMarker(_el$114.nextSibling),
1542
+ _el$116 = _el$115.nextSibling,
1543
+ [_el$117, _co$30] = _$getNextMarker(_el$116.nextSibling),
1544
+ _el$118 = _el$117.nextSibling,
1545
+ [_el$119, _co$31] = _$getNextMarker(_el$118.nextSibling),
1546
+ _el$120 = _el$119.nextSibling,
1547
+ [_el$121, _co$32] = _$getNextMarker(_el$120.nextSibling),
1548
+ _el$122 = _el$121.nextSibling,
1549
+ [_el$123, _co$33] = _$getNextMarker(_el$122.nextSibling);
1550
+ _$insert(_el$112, _$createComponent(Show, {
1526
1551
  get when() {
1527
1552
  return currentTimeLine(day) !== null;
1528
1553
  },
1529
1554
  get children() {
1530
- var _el$108 = _$getNextElement(_tmpl$28);
1531
- _$effect(_$p => _$setStyleProperty(_el$108, "top", `${currentTimeLine(day) ?? 0}%`));
1532
- return _el$108;
1555
+ var _el$113 = _$getNextElement(_tmpl$29);
1556
+ _$effect(_$p => _$setStyleProperty(_el$113, "top", `${currentTimeLine(day) ?? 0}%`));
1557
+ return _el$113;
1533
1558
  }
1534
- }), _el$110, _co$27);
1535
- _$insert(_el$107, _$createComponent(For, {
1559
+ }), _el$115, _co$29);
1560
+ _$insert(_el$112, _$createComponent(For, {
1536
1561
  get each() {
1537
1562
  return hours();
1538
1563
  },
1539
1564
  children: hour => (() => {
1540
- var _el$119 = _$getNextElement(_tmpl$30);
1541
- _$spread(_el$119, _$mergeProps({
1565
+ var _el$124 = _$getNextElement(_tmpl$31);
1566
+ _$spread(_el$124, _$mergeProps({
1542
1567
  get ["data-outside-business"]() {
1543
1568
  return hour < businessStartHour() || hour > businessEndHour() ? "true" : undefined;
1544
1569
  },
@@ -1556,10 +1581,10 @@ const TimeGridView = props => {
1556
1581
  "onPointerDown": startRange
1557
1582
  }), false, false);
1558
1583
  _$runHydrationEvents();
1559
- return _el$119;
1584
+ return _el$124;
1560
1585
  })()
1561
- }), _el$112, _co$28);
1562
- _$insert(_el$107, _$createComponent(For, {
1586
+ }), _el$117, _co$30);
1587
+ _$insert(_el$112, _$createComponent(For, {
1563
1588
  get each() {
1564
1589
  return previewEvents().filter(event => event.dayKey === dayKey && !event.allDay);
1565
1590
  },
@@ -1567,44 +1592,44 @@ const TimeGridView = props => {
1567
1592
  const layout = eventLayout(event);
1568
1593
  const short = event.endDate.getTime() - event.startDate.getTime() < 60 * 60_000;
1569
1594
  return (() => {
1570
- var _el$120 = _$getNextElement(_tmpl$32),
1571
- _el$121 = _el$120.firstChild,
1572
- _el$129 = _el$121.firstChild,
1573
- [_el$130, _co$34] = _$getNextMarker(_el$129.nextSibling),
1574
- _el$123 = _el$130.nextSibling,
1575
- _el$125 = _el$123.firstChild,
1576
- [_el$126, _co$32] = _$getNextMarker(_el$125.nextSibling),
1577
- _el$124 = _el$126.nextSibling,
1578
- _el$127 = _el$124.nextSibling,
1579
- [_el$128, _co$33] = _$getNextMarker(_el$127.nextSibling);
1580
- _$setAttribute(_el$120, "data-short", short ? "true" : undefined);
1581
- _$insert(_el$121, _$createComponent(Show, {
1595
+ var _el$125 = _$getNextElement(_tmpl$33),
1596
+ _el$126 = _el$125.firstChild,
1597
+ _el$134 = _el$126.firstChild,
1598
+ [_el$135, _co$36] = _$getNextMarker(_el$134.nextSibling),
1599
+ _el$128 = _el$135.nextSibling,
1600
+ _el$130 = _el$128.firstChild,
1601
+ [_el$131, _co$34] = _$getNextMarker(_el$130.nextSibling),
1602
+ _el$129 = _el$131.nextSibling,
1603
+ _el$132 = _el$129.nextSibling,
1604
+ [_el$133, _co$35] = _$getNextMarker(_el$132.nextSibling);
1605
+ _$setAttribute(_el$125, "data-short", short ? "true" : undefined);
1606
+ _$insert(_el$126, _$createComponent(Show, {
1582
1607
  get when() {
1583
1608
  return event.title;
1584
1609
  },
1585
1610
  get children() {
1586
- var _el$122 = _$getNextElement(_tmpl$31);
1587
- _$insert(_el$122, () => event.title);
1588
- return _el$122;
1611
+ var _el$127 = _$getNextElement(_tmpl$32);
1612
+ _$insert(_el$127, () => event.title);
1613
+ return _el$127;
1589
1614
  }
1590
- }), _el$130, _co$34);
1591
- _$insert(_el$123, () => formatTime(event.startDate, dateConfig()), _el$126, _co$32);
1592
- _$insert(_el$123, () => formatTime(event.endDate, dateConfig()), _el$128, _co$33);
1615
+ }), _el$135, _co$36);
1616
+ _$insert(_el$128, () => formatTime(event.startDate, dateConfig()), _el$131, _co$34);
1617
+ _$insert(_el$128, () => formatTime(event.endDate, dateConfig()), _el$133, _co$35);
1593
1618
  _$effect(_p$ => {
1594
1619
  var _v$41 = `${layout.top}%`,
1595
1620
  _v$42 = `${layout.height}%`;
1596
- _v$41 !== _p$.e && _$setStyleProperty(_el$120, "top", _p$.e = _v$41);
1597
- _v$42 !== _p$.t && _$setStyleProperty(_el$120, "height", _p$.t = _v$42);
1621
+ _v$41 !== _p$.e && _$setStyleProperty(_el$125, "top", _p$.e = _v$41);
1622
+ _v$42 !== _p$.t && _$setStyleProperty(_el$125, "height", _p$.t = _v$42);
1598
1623
  return _p$;
1599
1624
  }, {
1600
1625
  e: undefined,
1601
1626
  t: undefined
1602
1627
  });
1603
- return _el$120;
1628
+ return _el$125;
1604
1629
  })();
1605
1630
  }
1606
- }), _el$114, _co$29);
1607
- _$insert(_el$107, _$createComponent(For, {
1631
+ }), _el$119, _co$31);
1632
+ _$insert(_el$112, _$createComponent(For, {
1608
1633
  get each() {
1609
1634
  return layouts();
1610
1635
  },
@@ -1647,13 +1672,13 @@ const TimeGridView = props => {
1647
1672
  });
1648
1673
  };
1649
1674
  return (() => {
1650
- var _el$131 = _$getNextElement(_tmpl$34),
1651
- _el$132 = _el$131.firstChild,
1652
- _el$134 = _el$132.firstChild,
1653
- [_el$135, _co$35] = _$getNextMarker(_el$134.nextSibling),
1654
- _el$136 = _el$135.nextSibling,
1655
- [_el$137, _co$36] = _$getNextMarker(_el$136.nextSibling);
1656
- _$insert(_el$132, _$createComponent(EventChip, {
1675
+ var _el$136 = _$getNextElement(_tmpl$35),
1676
+ _el$137 = _el$136.firstChild,
1677
+ _el$139 = _el$137.firstChild,
1678
+ [_el$140, _co$37] = _$getNextMarker(_el$139.nextSibling),
1679
+ _el$141 = _el$140.nextSibling,
1680
+ [_el$142, _co$38] = _$getNextMarker(_el$141.nextSibling);
1681
+ _$insert(_el$137, _$createComponent(EventChip, {
1657
1682
  event: event,
1658
1683
  get owner() {
1659
1684
  return props.owner;
@@ -1668,32 +1693,32 @@ const TimeGridView = props => {
1668
1693
  get onMovePointerDown() {
1669
1694
  return props.owner.onEventDrop ? (pointerEvent, markDragged) => startTimedMove(pointerEvent, event, markDragged) : undefined;
1670
1695
  }
1671
- }), _el$135, _co$35);
1672
- _$insert(_el$132, _$createComponent(Show, {
1696
+ }), _el$140, _co$37);
1697
+ _$insert(_el$137, _$createComponent(Show, {
1673
1698
  get when() {
1674
1699
  return props.owner.onEventResize;
1675
1700
  },
1676
1701
  get children() {
1677
- var _el$133 = _$getNextElement(_tmpl$33);
1678
- _el$133.addEventListener("dragstart", event => event.preventDefault());
1679
- _el$133.$$pointerdown = resizeStart;
1680
- _$setAttribute(_el$133, "draggable", false);
1681
- _$effect(() => _$setAttribute(_el$133, "aria-label", messages().resizeEvent));
1702
+ var _el$138 = _$getNextElement(_tmpl$34);
1703
+ _el$138.addEventListener("dragstart", event => event.preventDefault());
1704
+ _el$138.$$pointerdown = resizeStart;
1705
+ _$setAttribute(_el$138, "draggable", false);
1706
+ _$effect(() => _$setAttribute(_el$138, "aria-label", messages().resizeEvent));
1682
1707
  _$runHydrationEvents();
1683
- return _el$133;
1708
+ return _el$138;
1684
1709
  }
1685
- }), _el$137, _co$36);
1710
+ }), _el$142, _co$38);
1686
1711
  _$effect(_p$ => {
1687
1712
  var _v$43 = `${layout.top}%`,
1688
1713
  _v$44 = `${layout.height}%`,
1689
1714
  _v$45 = position.left,
1690
1715
  _v$46 = position.width,
1691
1716
  _v$47 = String(20 + layoutItem.lane);
1692
- _v$43 !== _p$.e && _$setStyleProperty(_el$131, "top", _p$.e = _v$43);
1693
- _v$44 !== _p$.t && _$setStyleProperty(_el$131, "height", _p$.t = _v$44);
1694
- _v$45 !== _p$.a && _$setStyleProperty(_el$131, "left", _p$.a = _v$45);
1695
- _v$46 !== _p$.o && _$setStyleProperty(_el$131, "width", _p$.o = _v$46);
1696
- _v$47 !== _p$.i && _$setStyleProperty(_el$131, "z-index", _p$.i = _v$47);
1717
+ _v$43 !== _p$.e && _$setStyleProperty(_el$136, "top", _p$.e = _v$43);
1718
+ _v$44 !== _p$.t && _$setStyleProperty(_el$136, "height", _p$.t = _v$44);
1719
+ _v$45 !== _p$.a && _$setStyleProperty(_el$136, "left", _p$.a = _v$45);
1720
+ _v$46 !== _p$.o && _$setStyleProperty(_el$136, "width", _p$.o = _v$46);
1721
+ _v$47 !== _p$.i && _$setStyleProperty(_el$136, "z-index", _p$.i = _v$47);
1697
1722
  return _p$;
1698
1723
  }, {
1699
1724
  e: undefined,
@@ -1702,11 +1727,11 @@ const TimeGridView = props => {
1702
1727
  o: undefined,
1703
1728
  i: undefined
1704
1729
  });
1705
- return _el$131;
1730
+ return _el$136;
1706
1731
  })();
1707
1732
  }
1708
- }), _el$116, _co$30);
1709
- _$insert(_el$107, _$createComponent(For, {
1733
+ }), _el$121, _co$32);
1734
+ _$insert(_el$112, _$createComponent(For, {
1710
1735
  get each() {
1711
1736
  return overflowLayouts(layouts());
1712
1737
  },
@@ -1715,16 +1740,16 @@ const TimeGridView = props => {
1715
1740
  const key = `${dayKey}-${overflow.groupId}`;
1716
1741
  const hiddenTitle = () => overflow.hiddenEvents.map(event => `${formatTime(event.startDate, dateConfig())} ${event.title}`).join("\n");
1717
1742
  return [(() => {
1718
- var _el$138 = _$getNextElement(_tmpl$35),
1719
- _el$139 = _el$138.firstChild,
1720
- _el$140 = _el$139.firstChild,
1721
- _el$141 = _el$140.nextSibling,
1722
- [_el$142, _co$37] = _$getNextMarker(_el$141.nextSibling);
1723
- _el$138.$$click = event => {
1743
+ var _el$143 = _$getNextElement(_tmpl$36),
1744
+ _el$144 = _el$143.firstChild,
1745
+ _el$145 = _el$144.firstChild,
1746
+ _el$146 = _el$145.nextSibling,
1747
+ [_el$147, _co$39] = _$getNextMarker(_el$146.nextSibling);
1748
+ _el$143.$$click = event => {
1724
1749
  event.stopPropagation();
1725
1750
  setExpandedOverflow(expandedOverflow() === key ? "" : key);
1726
1751
  };
1727
- _$insert(_el$139, () => overflow.hiddenEvents.length, _el$142, _co$37);
1752
+ _$insert(_el$144, () => overflow.hiddenEvents.length, _el$147, _co$39);
1728
1753
  _$effect(_p$ => {
1729
1754
  var _v$48 = `${layout.top}%`,
1730
1755
  _v$49 = `${layout.height}%`,
@@ -1732,10 +1757,10 @@ const TimeGridView = props => {
1732
1757
  _v$51 = messages().hiddenOverlappingEvents({
1733
1758
  count: overflow.hiddenEvents.length
1734
1759
  });
1735
- _v$48 !== _p$.e && _$setStyleProperty(_el$138, "top", _p$.e = _v$48);
1736
- _v$49 !== _p$.t && _$setStyleProperty(_el$138, "height", _p$.t = _v$49);
1737
- _v$50 !== _p$.a && _$setAttribute(_el$138, "title", _p$.a = _v$50);
1738
- _v$51 !== _p$.o && _$setAttribute(_el$138, "aria-label", _p$.o = _v$51);
1760
+ _v$48 !== _p$.e && _$setStyleProperty(_el$143, "top", _p$.e = _v$48);
1761
+ _v$49 !== _p$.t && _$setStyleProperty(_el$143, "height", _p$.t = _v$49);
1762
+ _v$50 !== _p$.a && _$setAttribute(_el$143, "title", _p$.a = _v$50);
1763
+ _v$51 !== _p$.o && _$setAttribute(_el$143, "aria-label", _p$.o = _v$51);
1739
1764
  return _p$;
1740
1765
  }, {
1741
1766
  e: undefined,
@@ -1744,24 +1769,24 @@ const TimeGridView = props => {
1744
1769
  o: undefined
1745
1770
  });
1746
1771
  _$runHydrationEvents();
1747
- return _el$138;
1772
+ return _el$143;
1748
1773
  })(), _$createComponent(Show, {
1749
1774
  get when() {
1750
1775
  return expandedOverflow() === key;
1751
1776
  },
1752
1777
  get children() {
1753
- var _el$143 = _$getNextElement(_tmpl$36),
1754
- _el$144 = _el$143.firstChild,
1755
- _el$146 = _el$144.firstChild,
1756
- [_el$147, _co$38] = _$getNextMarker(_el$146.nextSibling),
1757
- _el$145 = _el$147.nextSibling,
1758
- _el$148 = _el$145.nextSibling,
1759
- [_el$149, _co$39] = _$getNextMarker(_el$148.nextSibling),
1760
- _el$150 = _el$144.nextSibling,
1761
- [_el$151, _co$40] = _$getNextMarker(_el$150.nextSibling);
1762
- _$insert(_el$144, () => formatTime(overflow.groupStartDate, dateConfig()), _el$147, _co$38);
1763
- _$insert(_el$144, () => formatTime(overflow.groupEndDate, dateConfig()), _el$149, _co$39);
1764
- _$insert(_el$143, _$createComponent(For, {
1778
+ var _el$148 = _$getNextElement(_tmpl$37),
1779
+ _el$149 = _el$148.firstChild,
1780
+ _el$151 = _el$149.firstChild,
1781
+ [_el$152, _co$40] = _$getNextMarker(_el$151.nextSibling),
1782
+ _el$150 = _el$152.nextSibling,
1783
+ _el$153 = _el$150.nextSibling,
1784
+ [_el$154, _co$41] = _$getNextMarker(_el$153.nextSibling),
1785
+ _el$155 = _el$149.nextSibling,
1786
+ [_el$156, _co$42] = _$getNextMarker(_el$155.nextSibling);
1787
+ _$insert(_el$149, () => formatTime(overflow.groupStartDate, dateConfig()), _el$152, _co$40);
1788
+ _$insert(_el$149, () => formatTime(overflow.groupEndDate, dateConfig()), _el$154, _co$41);
1789
+ _$insert(_el$148, _$createComponent(For, {
1765
1790
  get each() {
1766
1791
  return overflow.hiddenEvents;
1767
1792
  },
@@ -1775,41 +1800,41 @@ const TimeGridView = props => {
1775
1800
  },
1776
1801
  compact: true
1777
1802
  })
1778
- }), _el$151, _co$40);
1779
- _$effect(_$p => _$setStyleProperty(_el$143, "top", `${layout.top}%`));
1780
- return _el$143;
1803
+ }), _el$156, _co$42);
1804
+ _$effect(_$p => _$setStyleProperty(_el$148, "top", `${layout.top}%`));
1805
+ return _el$148;
1781
1806
  }
1782
1807
  })];
1783
1808
  }
1784
- }), _el$118, _co$31);
1809
+ }), _el$123, _co$33);
1785
1810
  _$effect(_p$ => {
1786
1811
  var _v$39 = dayColumnMinWidth(layouts()),
1787
1812
  _v$40 = `repeat(${hours().length}, minmax(4rem, 1fr))`;
1788
- _v$39 !== _p$.e && _$setStyleProperty(_el$107, "min-width", _p$.e = _v$39);
1789
- _v$40 !== _p$.t && _$setStyleProperty(_el$107, "grid-template-rows", _p$.t = _v$40);
1813
+ _v$39 !== _p$.e && _$setStyleProperty(_el$112, "min-width", _p$.e = _v$39);
1814
+ _v$40 !== _p$.t && _$setStyleProperty(_el$112, "grid-template-rows", _p$.t = _v$40);
1790
1815
  return _p$;
1791
1816
  }, {
1792
1817
  e: undefined,
1793
1818
  t: undefined
1794
1819
  });
1795
- return _el$107;
1820
+ return _el$112;
1796
1821
  })();
1797
1822
  }
1798
- }), _el$86, _co$20);
1823
+ }), _el$91, _co$22);
1799
1824
  _$effect(_p$ => {
1800
1825
  var _v$36 = `4rem repeat(${props.days.length}, minmax(0, 1fr))`,
1801
1826
  _v$37 = `4rem repeat(${props.days.length}, minmax(0, 1fr))`,
1802
1827
  _v$38 = `repeat(${hours().length}, minmax(4rem, 1fr))`;
1803
- _v$36 !== _p$.e && _$setStyleProperty(_el$74, "grid-template-columns", _p$.e = _v$36);
1804
- _v$37 !== _p$.t && _$setStyleProperty(_el$83, "grid-template-columns", _p$.t = _v$37);
1805
- _v$38 !== _p$.a && _$setStyleProperty(_el$84, "grid-template-rows", _p$.a = _v$38);
1828
+ _v$36 !== _p$.e && _$setStyleProperty(_el$79, "grid-template-columns", _p$.e = _v$36);
1829
+ _v$37 !== _p$.t && _$setStyleProperty(_el$88, "grid-template-columns", _p$.t = _v$37);
1830
+ _v$38 !== _p$.a && _$setStyleProperty(_el$89, "grid-template-rows", _p$.a = _v$38);
1806
1831
  return _p$;
1807
1832
  }, {
1808
1833
  e: undefined,
1809
1834
  t: undefined,
1810
1835
  a: undefined
1811
1836
  });
1812
- return _el$73;
1837
+ return _el$78;
1813
1838
  })();
1814
1839
  };
1815
1840
  const YearView = props => {
@@ -1850,17 +1875,17 @@ const YearView = props => {
1850
1875
  });
1851
1876
  });
1852
1877
  return (() => {
1853
- var _el$152 = _$getNextElement(_tmpl$37);
1854
- _$insert(_el$152, _$createComponent(For, {
1878
+ var _el$157 = _$getNextElement(_tmpl$38);
1879
+ _$insert(_el$157, _$createComponent(For, {
1855
1880
  get each() {
1856
1881
  return months();
1857
1882
  },
1858
1883
  children: month => (() => {
1859
- var _el$153 = _$getNextElement(_tmpl$38),
1860
- _el$154 = _el$153.firstChild,
1861
- _el$155 = _el$154.nextSibling;
1862
- _$insert(_el$154, () => month.label);
1863
- _$insert(_el$155, _$createComponent(For, {
1884
+ var _el$158 = _$getNextElement(_tmpl$39),
1885
+ _el$159 = _el$158.firstChild,
1886
+ _el$160 = _el$159.nextSibling;
1887
+ _$insert(_el$159, () => month.label);
1888
+ _$insert(_el$160, _$createComponent(For, {
1864
1889
  get each() {
1865
1890
  return month.days;
1866
1891
  },
@@ -1884,32 +1909,32 @@ const YearView = props => {
1884
1909
  return day.events[0];
1885
1910
  },
1886
1911
  children: event => (() => {
1887
- var _el$156 = _$getNextElement(_tmpl$39);
1912
+ var _el$161 = _$getNextElement(_tmpl$40);
1888
1913
  _$effect(_p$ => {
1889
1914
  var _v$52 = event().colorHex ? undefined : event().color ?? "blue",
1890
1915
  _v$53 = day.isToday ? "true" : undefined,
1891
1916
  _v$54 = event().colorHex ? {
1892
1917
  "background-color": day.isToday ? "white" : event().colorHex
1893
1918
  } : undefined;
1894
- _v$52 !== _p$.e && _$setAttribute(_el$156, "data-color", _p$.e = _v$52);
1895
- _v$53 !== _p$.t && _$setAttribute(_el$156, "data-today", _p$.t = _v$53);
1896
- _p$.a = _$style(_el$156, _v$54, _p$.a);
1919
+ _v$52 !== _p$.e && _$setAttribute(_el$161, "data-color", _p$.e = _v$52);
1920
+ _v$53 !== _p$.t && _$setAttribute(_el$161, "data-today", _p$.t = _v$53);
1921
+ _p$.a = _$style(_el$161, _v$54, _p$.a);
1897
1922
  return _p$;
1898
1923
  }, {
1899
1924
  e: undefined,
1900
1925
  t: undefined,
1901
1926
  a: undefined
1902
1927
  });
1903
- return _el$156;
1928
+ return _el$161;
1904
1929
  })()
1905
1930
  })];
1906
1931
  }
1907
1932
  })
1908
1933
  }));
1909
- return _el$153;
1934
+ return _el$158;
1910
1935
  })()
1911
1936
  }));
1912
- return _el$152;
1937
+ return _el$157;
1913
1938
  })();
1914
1939
  };
1915
1940
  const MobileMonthView = props => {
@@ -1917,14 +1942,14 @@ const MobileMonthView = props => {
1917
1942
  const selectedDateKey = createMemo(() => calendar.formatDateKey(props.selectedDate, dateConfig()));
1918
1943
  const selectedEvents = createMemo(() => props.events.filter(event => event.dayKey === selectedDateKey()));
1919
1944
  return (() => {
1920
- var _el$157 = _$getNextElement(_tmpl$41),
1921
- _el$163 = _el$157.firstChild,
1922
- [_el$164, _co$42] = _$getNextMarker(_el$163.nextSibling),
1923
- _el$158 = _el$164.nextSibling,
1924
- _el$159 = _el$158.firstChild,
1925
- _el$161 = _el$159.nextSibling,
1926
- [_el$162, _co$41] = _$getNextMarker(_el$161.nextSibling);
1927
- _$insert(_el$157, _$createComponent(MonthView, {
1945
+ var _el$162 = _$getNextElement(_tmpl$42),
1946
+ _el$168 = _el$162.firstChild,
1947
+ [_el$169, _co$44] = _$getNextMarker(_el$168.nextSibling),
1948
+ _el$163 = _el$169.nextSibling,
1949
+ _el$164 = _el$163.firstChild,
1950
+ _el$166 = _el$164.nextSibling,
1951
+ [_el$167, _co$43] = _$getNextMarker(_el$166.nextSibling);
1952
+ _$insert(_el$162, _$createComponent(MonthView, {
1928
1953
  get owner() {
1929
1954
  return {
1930
1955
  ...props.owner,
@@ -1944,27 +1969,27 @@ const MobileMonthView = props => {
1944
1969
  return props.labels;
1945
1970
  },
1946
1971
  compact: true
1947
- }), _el$164, _co$42);
1948
- _$insert(_el$159, () => props.selectedDate.toLocaleDateString(dateConfig().locale ?? "en", {
1972
+ }), _el$169, _co$44);
1973
+ _$insert(_el$164, () => props.selectedDate.toLocaleDateString(dateConfig().locale ?? "en", {
1949
1974
  weekday: "long",
1950
1975
  month: "long",
1951
1976
  day: "numeric",
1952
1977
  timeZone: dateConfig().timeZone
1953
1978
  }));
1954
- _$insert(_el$158, _$createComponent(Show, {
1979
+ _$insert(_el$163, _$createComponent(Show, {
1955
1980
  get when() {
1956
1981
  return selectedEvents().length > 0;
1957
1982
  },
1958
1983
  get fallback() {
1959
1984
  return (() => {
1960
- var _el$165 = _$getNextElement(_tmpl$42);
1961
- _$insert(_el$165, () => props.labels.noEvents);
1962
- return _el$165;
1985
+ var _el$170 = _$getNextElement(_tmpl$43);
1986
+ _$insert(_el$170, () => props.labels.noEvents);
1987
+ return _el$170;
1963
1988
  })();
1964
1989
  },
1965
1990
  get children() {
1966
- var _el$160 = _$getNextElement(_tmpl$40);
1967
- _$insert(_el$160, _$createComponent(For, {
1991
+ var _el$165 = _$getNextElement(_tmpl$41);
1992
+ _$insert(_el$165, _$createComponent(For, {
1968
1993
  get each() {
1969
1994
  return selectedEvents();
1970
1995
  },
@@ -1978,18 +2003,18 @@ const MobileMonthView = props => {
1978
2003
  }
1979
2004
  })
1980
2005
  }));
1981
- return _el$160;
2006
+ return _el$165;
1982
2007
  }
1983
- }), _el$162, _co$41);
1984
- return _el$157;
2008
+ }), _el$167, _co$43);
2009
+ return _el$162;
1985
2010
  })();
1986
2011
  };
1987
2012
  const CalendarBody = props => (() => {
1988
- var _el$166 = _$getNextElement(_tmpl$43);
1989
- _$insert(_el$166, () => props.children);
1990
- return _el$166;
2013
+ var _el$171 = _$getNextElement(_tmpl$44);
2014
+ _$insert(_el$171, () => props.children);
2015
+ return _el$171;
1991
2016
  })();
1992
- const Calendar = props => {
2017
+ const CalendarRoot = props => {
1993
2018
  const messages = useUiMessages();
1994
2019
  // Subviews derive their date config from the owner props, so the inherited
1995
2020
  // render locale is merged here once; an explicit dateConfig.locale wins.
@@ -2000,6 +2025,7 @@ const Calendar = props => {
2000
2025
  }
2001
2026
  });
2002
2027
  const view = () => props.view ?? "month";
2028
+ const custom = () => props.customViews?.some(option => option.value === view()) ?? false;
2003
2029
  const dateConfig = createMemo(() => ownerDateConfig(owner));
2004
2030
  const safeDate = value => {
2005
2031
  const parsed = parseDate(value, dateConfig());
@@ -2035,14 +2061,14 @@ const Calendar = props => {
2035
2061
  });
2036
2062
  });
2037
2063
  return (() => {
2038
- var _el$167 = _$getNextElement(_tmpl$44),
2039
- _el$168 = _el$167.firstChild,
2040
- [_el$169, _co$43] = _$getNextMarker(_el$168.nextSibling),
2041
- _el$170 = _el$169.nextSibling,
2042
- [_el$171, _co$44] = _$getNextMarker(_el$170.nextSibling),
2043
- _el$172 = _el$171.nextSibling,
2044
- [_el$173, _co$45] = _$getNextMarker(_el$172.nextSibling);
2045
- _$insert(_el$167, _$createComponent(CalendarHeader, {
2064
+ var _el$172 = _$getNextElement(_tmpl$45),
2065
+ _el$173 = _el$172.firstChild,
2066
+ [_el$174, _co$45] = _$getNextMarker(_el$173.nextSibling),
2067
+ _el$175 = _el$174.nextSibling,
2068
+ [_el$176, _co$46] = _$getNextMarker(_el$175.nextSibling),
2069
+ _el$177 = _el$176.nextSibling,
2070
+ [_el$178, _co$47] = _$getNextMarker(_el$177.nextSibling);
2071
+ _$insert(_el$172, _$createComponent(CalendarHeader, {
2046
2072
  get date() {
2047
2073
  return date();
2048
2074
  },
@@ -2053,42 +2079,28 @@ const Calendar = props => {
2053
2079
  return mergedLabels();
2054
2080
  },
2055
2081
  owner: owner
2056
- }), _el$169, _co$43);
2057
- _$insert(_el$167, () => props.toolbarContent, _el$171, _co$44);
2058
- _$insert(_el$167, _$createComponent(Show, {
2082
+ }), _el$174, _co$45);
2083
+ _$insert(_el$172, () => props.toolbarContent, _el$176, _co$46);
2084
+ _$insert(_el$172, _$createComponent(Show, {
2059
2085
  get when() {
2060
- return view() !== "month";
2086
+ return !custom();
2061
2087
  },
2062
2088
  get fallback() {
2063
2089
  return _$createComponent(CalendarBody, {
2064
2090
  get children() {
2065
- return _$createComponent(MonthView, {
2066
- owner: owner,
2067
- get date() {
2068
- return date();
2069
- },
2070
- get now() {
2071
- return now();
2072
- },
2073
- get events() {
2074
- return normalizedEvents();
2075
- },
2076
- get labels() {
2077
- return mergedLabels();
2078
- }
2079
- });
2091
+ return props.children;
2080
2092
  }
2081
2093
  });
2082
2094
  },
2083
2095
  get children() {
2084
2096
  return _$createComponent(Show, {
2085
2097
  get when() {
2086
- return view() !== "year";
2098
+ return view() !== "month";
2087
2099
  },
2088
2100
  get fallback() {
2089
2101
  return _$createComponent(CalendarBody, {
2090
2102
  get children() {
2091
- return _$createComponent(YearView, {
2103
+ return _$createComponent(MonthView, {
2092
2104
  owner: owner,
2093
2105
  get date() {
2094
2106
  return date();
@@ -2098,6 +2110,9 @@ const Calendar = props => {
2098
2110
  },
2099
2111
  get events() {
2100
2112
  return normalizedEvents();
2113
+ },
2114
+ get labels() {
2115
+ return mergedLabels();
2101
2116
  }
2102
2117
  });
2103
2118
  }
@@ -2106,12 +2121,12 @@ const Calendar = props => {
2106
2121
  get children() {
2107
2122
  return _$createComponent(Show, {
2108
2123
  get when() {
2109
- return view() !== "mobile-month";
2124
+ return view() !== "year";
2110
2125
  },
2111
2126
  get fallback() {
2112
2127
  return _$createComponent(CalendarBody, {
2113
2128
  get children() {
2114
- return _$createComponent(MobileMonthView, {
2129
+ return _$createComponent(YearView, {
2115
2130
  owner: owner,
2116
2131
  get date() {
2117
2132
  return date();
@@ -2119,36 +2134,61 @@ const Calendar = props => {
2119
2134
  get now() {
2120
2135
  return now();
2121
2136
  },
2122
- get selectedDate() {
2123
- return selectedDate();
2124
- },
2125
2137
  get events() {
2126
2138
  return normalizedEvents();
2127
- },
2128
- get labels() {
2129
- return mergedLabels();
2130
2139
  }
2131
2140
  });
2132
2141
  }
2133
2142
  });
2134
2143
  },
2135
2144
  get children() {
2136
- return _$createComponent(TimeGridView, {
2137
- owner: owner,
2138
- get date() {
2139
- return date();
2140
- },
2141
- get now() {
2142
- return now();
2143
- },
2144
- get events() {
2145
- return normalizedEvents();
2145
+ return _$createComponent(Show, {
2146
+ get when() {
2147
+ return view() !== "mobile-month";
2146
2148
  },
2147
- get labels() {
2148
- return mergedLabels();
2149
+ get fallback() {
2150
+ return _$createComponent(CalendarBody, {
2151
+ get children() {
2152
+ return _$createComponent(MobileMonthView, {
2153
+ owner: owner,
2154
+ get date() {
2155
+ return date();
2156
+ },
2157
+ get now() {
2158
+ return now();
2159
+ },
2160
+ get selectedDate() {
2161
+ return selectedDate();
2162
+ },
2163
+ get events() {
2164
+ return normalizedEvents();
2165
+ },
2166
+ get labels() {
2167
+ return mergedLabels();
2168
+ }
2169
+ });
2170
+ }
2171
+ });
2149
2172
  },
2150
- get days() {
2151
- return days();
2173
+ get children() {
2174
+ return _$createComponent(TimeGridView, {
2175
+ owner: owner,
2176
+ get date() {
2177
+ return date();
2178
+ },
2179
+ get now() {
2180
+ return now();
2181
+ },
2182
+ get events() {
2183
+ return normalizedEvents();
2184
+ },
2185
+ get labels() {
2186
+ return mergedLabels();
2187
+ },
2188
+ get days() {
2189
+ return days();
2190
+ }
2191
+ });
2152
2192
  }
2153
2193
  });
2154
2194
  }
@@ -2156,20 +2196,26 @@ const Calendar = props => {
2156
2196
  }
2157
2197
  });
2158
2198
  }
2159
- }), _el$173, _co$45);
2199
+ }), _el$178, _co$47);
2160
2200
  _$effect(_p$ => {
2161
2201
  var _v$55 = `k2b-content-calendar ${props.class ?? ""}`,
2162
2202
  _v$56 = props.navigationPending ? "true" : undefined;
2163
- _v$55 !== _p$.e && _$className(_el$167, _p$.e = _v$55);
2164
- _v$56 !== _p$.t && _$setAttribute(_el$167, "aria-busy", _p$.t = _v$56);
2203
+ _v$55 !== _p$.e && _$className(_el$172, _p$.e = _v$55);
2204
+ _v$56 !== _p$.t && _$setAttribute(_el$172, "aria-busy", _p$.t = _v$56);
2165
2205
  return _p$;
2166
2206
  }, {
2167
2207
  e: undefined,
2168
2208
  t: undefined
2169
2209
  });
2170
- return _el$167;
2210
+ return _el$172;
2171
2211
  })();
2172
2212
  };
2213
+
2214
+ /** JSX infers the values of `customViews`; inference from the last signature, as in `createComponent`, sees plain props. */
2215
+
2216
+ function Calendar(props) {
2217
+ return CalendarRoot(props);
2218
+ }
2173
2219
  export default Calendar;
2174
2220
  _$delegateEvents(["click", "dblclick", "pointerdown", "keydown"]);
2175
2221
  //# sourceMappingURL=Calendar.js.map