@k2b/ui 0.29.0 → 0.30.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 (173) hide show
  1. package/README.md +1 -1
  2. package/dist/base.css +2 -2
  3. package/dist/browser/actions/Dropdown.js +6 -3
  4. package/dist/browser/actions/Dropdown.js.map +1 -1
  5. package/dist/browser/actions/FilterChip.js +137 -7
  6. package/dist/browser/actions/FilterChip.js.map +1 -1
  7. package/dist/browser/actions/SegmentedControl.js +5 -9
  8. package/dist/browser/actions/SegmentedControl.js.map +1 -1
  9. package/dist/browser/actions/SpotlightSearch.js +6 -3
  10. package/dist/browser/actions/SpotlightSearch.js.map +1 -1
  11. package/dist/browser/actions/Tabs.js +5 -2
  12. package/dist/browser/actions/Tabs.js.map +1 -1
  13. package/dist/browser/actions/ViewTabs.js +294 -0
  14. package/dist/browser/actions/ViewTabs.js.map +1 -0
  15. package/dist/browser/actions/filter-messages.js +6 -2
  16. package/dist/browser/actions/filter-messages.js.map +1 -1
  17. package/dist/browser/actions/index.js +2 -1
  18. package/dist/browser/actions/index.js.map +1 -1
  19. package/dist/browser/chat/ChatComposer.js +1108 -604
  20. package/dist/browser/chat/ChatComposer.js.map +1 -1
  21. package/dist/browser/chat/ChatDecision.js +120 -84
  22. package/dist/browser/chat/ChatDecision.js.map +1 -1
  23. package/dist/browser/chat/ChatPrimitives.js +292 -159
  24. package/dist/browser/chat/ChatPrimitives.js.map +1 -1
  25. package/dist/browser/chat/chat-messages.js +8 -0
  26. package/dist/browser/chat/chat-messages.js.map +1 -1
  27. package/dist/browser/chat/command-search.js +26 -15
  28. package/dist/browser/chat/command-search.js.map +1 -1
  29. package/dist/browser/chat/index.js +4 -2
  30. package/dist/browser/chat/index.js.map +1 -1
  31. package/dist/browser/content/Calendar.js +143 -116
  32. package/dist/browser/content/Calendar.js.map +1 -1
  33. package/dist/browser/content/CalendarWeekView.js +291 -266
  34. package/dist/browser/content/CalendarWeekView.js.map +1 -1
  35. package/dist/browser/content/DataTable.js +224 -155
  36. package/dist/browser/content/DataTable.js.map +1 -1
  37. package/dist/browser/content/data-table-messages.js +4 -2
  38. package/dist/browser/content/data-table-messages.js.map +1 -1
  39. package/dist/browser/feedback/MovedHint.js +197 -0
  40. package/dist/browser/feedback/MovedHint.js.map +1 -0
  41. package/dist/browser/feedback/dialog-core.js +66 -9
  42. package/dist/browser/feedback/dialog-core.js.map +1 -1
  43. package/dist/browser/feedback/index.js +1 -0
  44. package/dist/browser/feedback/index.js.map +1 -1
  45. package/dist/browser/feedback/prompts.js +6 -1
  46. package/dist/browser/feedback/prompts.js.map +1 -1
  47. package/dist/browser/inputs/DatePicker.js +337 -212
  48. package/dist/browser/inputs/DatePicker.js.map +1 -1
  49. package/dist/browser/inputs/date-picker.js +59 -5
  50. package/dist/browser/inputs/date-picker.js.map +1 -1
  51. package/dist/browser/intl/messages.js +12 -0
  52. package/dist/browser/intl/messages.js.map +1 -1
  53. package/dist/browser/intl/weekend.js +39 -0
  54. package/dist/browser/intl/weekend.js.map +1 -0
  55. package/dist/browser/layout/AppOverview.js +0 -1
  56. package/dist/browser/layout/AppOverview.js.map +1 -1
  57. package/dist/browser/layout/AppWorkspace.js +688 -471
  58. package/dist/browser/layout/AppWorkspace.js.map +1 -1
  59. package/dist/browser/layout/PageTitle.js +3 -2
  60. package/dist/browser/layout/PageTitle.js.map +1 -1
  61. package/dist/browser/layout/SettingsModal.js +2 -2
  62. package/dist/browser/layout/SettingsModal.js.map +1 -1
  63. package/dist/browser/layout/SidebarSwitcher.js +13 -12
  64. package/dist/browser/layout/SidebarSwitcher.js.map +1 -1
  65. package/dist/browser/layout/TabBar.js +1 -1
  66. package/dist/browser/layout/TabBar.js.map +1 -1
  67. package/dist/browser/layout/app-host-width.js +44 -0
  68. package/dist/browser/layout/app-host-width.js.map +1 -0
  69. package/dist/browser/layout/app-workspace-controller.js +219 -39
  70. package/dist/browser/layout/app-workspace-controller.js.map +1 -1
  71. package/dist/browser/layout/index.js +1 -0
  72. package/dist/browser/layout/index.js.map +1 -1
  73. package/dist/browser/surfaces/Placeholder.js +36 -13
  74. package/dist/browser/surfaces/Placeholder.js.map +1 -1
  75. package/dist/ssr/actions/Dropdown.js +5 -2
  76. package/dist/ssr/actions/Dropdown.js.map +1 -1
  77. package/dist/ssr/actions/FilterChip.js +59 -7
  78. package/dist/ssr/actions/FilterChip.js.map +1 -1
  79. package/dist/ssr/actions/SegmentedControl.js +1 -2
  80. package/dist/ssr/actions/SegmentedControl.js.map +1 -1
  81. package/dist/ssr/actions/SpotlightSearch.js +2 -2
  82. package/dist/ssr/actions/SpotlightSearch.js.map +1 -1
  83. package/dist/ssr/actions/Tabs.js +2 -2
  84. package/dist/ssr/actions/Tabs.js.map +1 -1
  85. package/dist/ssr/actions/ViewTabs.js +211 -0
  86. package/dist/ssr/actions/ViewTabs.js.map +1 -0
  87. package/dist/ssr/actions/filter-messages.js +6 -2
  88. package/dist/ssr/actions/filter-messages.js.map +1 -1
  89. package/dist/ssr/actions/index.js +2 -1
  90. package/dist/ssr/actions/index.js.map +1 -1
  91. package/dist/ssr/chat/ChatComposer.js +546 -131
  92. package/dist/ssr/chat/ChatComposer.js.map +1 -1
  93. package/dist/ssr/chat/ChatDecision.js +33 -19
  94. package/dist/ssr/chat/ChatDecision.js.map +1 -1
  95. package/dist/ssr/chat/ChatPrimitives.js +95 -24
  96. package/dist/ssr/chat/ChatPrimitives.js.map +1 -1
  97. package/dist/ssr/chat/chat-messages.js +8 -0
  98. package/dist/ssr/chat/chat-messages.js.map +1 -1
  99. package/dist/ssr/chat/command-search.js +26 -15
  100. package/dist/ssr/chat/command-search.js.map +1 -1
  101. package/dist/ssr/chat/index.js +4 -2
  102. package/dist/ssr/chat/index.js.map +1 -1
  103. package/dist/ssr/content/Calendar.js +109 -100
  104. package/dist/ssr/content/Calendar.js.map +1 -1
  105. package/dist/ssr/content/CalendarWeekView.js +42 -28
  106. package/dist/ssr/content/CalendarWeekView.js.map +1 -1
  107. package/dist/ssr/content/DataTable.js +78 -31
  108. package/dist/ssr/content/DataTable.js.map +1 -1
  109. package/dist/ssr/content/data-table-messages.js +4 -2
  110. package/dist/ssr/content/data-table-messages.js.map +1 -1
  111. package/dist/ssr/feedback/MovedHint.js +166 -0
  112. package/dist/ssr/feedback/MovedHint.js.map +1 -0
  113. package/dist/ssr/feedback/dialog-core.js +66 -9
  114. package/dist/ssr/feedback/dialog-core.js.map +1 -1
  115. package/dist/ssr/feedback/index.js +1 -0
  116. package/dist/ssr/feedback/index.js.map +1 -1
  117. package/dist/ssr/feedback/prompts.js +6 -1
  118. package/dist/ssr/feedback/prompts.js.map +1 -1
  119. package/dist/ssr/inputs/DatePicker.js +138 -69
  120. package/dist/ssr/inputs/DatePicker.js.map +1 -1
  121. package/dist/ssr/inputs/date-picker.js +59 -5
  122. package/dist/ssr/inputs/date-picker.js.map +1 -1
  123. package/dist/ssr/intl/messages.js +12 -0
  124. package/dist/ssr/intl/messages.js.map +1 -1
  125. package/dist/ssr/intl/weekend.js +39 -0
  126. package/dist/ssr/intl/weekend.js.map +1 -0
  127. package/dist/ssr/layout/AppOverview.js +0 -1
  128. package/dist/ssr/layout/AppOverview.js.map +1 -1
  129. package/dist/ssr/layout/AppWorkspace.js +203 -39
  130. package/dist/ssr/layout/AppWorkspace.js.map +1 -1
  131. package/dist/ssr/layout/PageTitle.js +3 -2
  132. package/dist/ssr/layout/PageTitle.js.map +1 -1
  133. package/dist/ssr/layout/SettingsModal.js +2 -2
  134. package/dist/ssr/layout/SettingsModal.js.map +1 -1
  135. package/dist/ssr/layout/SidebarSwitcher.js +13 -12
  136. package/dist/ssr/layout/SidebarSwitcher.js.map +1 -1
  137. package/dist/ssr/layout/TabBar.js +1 -1
  138. package/dist/ssr/layout/TabBar.js.map +1 -1
  139. package/dist/ssr/layout/app-host-width.js +44 -0
  140. package/dist/ssr/layout/app-host-width.js.map +1 -0
  141. package/dist/ssr/layout/app-workspace-controller.js +219 -39
  142. package/dist/ssr/layout/app-workspace-controller.js.map +1 -1
  143. package/dist/ssr/layout/index.js +1 -0
  144. package/dist/ssr/layout/index.js.map +1 -1
  145. package/dist/ssr/surfaces/Placeholder.js +24 -7
  146. package/dist/ssr/surfaces/Placeholder.js.map +1 -1
  147. package/dist/styles.css +1 -1
  148. package/dist/types/actions/Dropdown.d.ts +4 -0
  149. package/dist/types/actions/FilterChip.d.ts +22 -0
  150. package/dist/types/actions/ViewTabs.d.ts +30 -0
  151. package/dist/types/actions/filter-messages.d.ts +2 -0
  152. package/dist/types/actions/index.d.ts +4 -2
  153. package/dist/types/chat/ChatComposer.d.ts +52 -0
  154. package/dist/types/chat/ChatDecision.d.ts +18 -2
  155. package/dist/types/chat/ChatPrimitives.d.ts +10 -0
  156. package/dist/types/chat/chat-messages.d.ts +4 -0
  157. package/dist/types/chat/command-search.d.ts +2 -0
  158. package/dist/types/chat/index.d.ts +9 -8
  159. package/dist/types/content/DataTable.d.ts +3 -0
  160. package/dist/types/content/data-table-messages.d.ts +1 -0
  161. package/dist/types/feedback/MovedHint.d.ts +25 -0
  162. package/dist/types/feedback/dialog-core.d.ts +5 -2
  163. package/dist/types/feedback/index.d.ts +2 -0
  164. package/dist/types/feedback/prompts.d.ts +2 -0
  165. package/dist/types/inputs/DatePicker.d.ts +7 -0
  166. package/dist/types/inputs/date-picker.d.ts +25 -1
  167. package/dist/types/intl/messages.d.ts +6 -0
  168. package/dist/types/intl/weekend.d.ts +12 -0
  169. package/dist/types/layout/AppWorkspace.d.ts +43 -7
  170. package/dist/types/layout/app-host-width.d.ts +6 -0
  171. package/dist/types/layout/index.d.ts +2 -1
  172. package/dist/types/surfaces/Placeholder.d.ts +2 -1
  173. package/package.json +4 -4
@@ -20,53 +20,54 @@ var _tmpl$ = ["<div role=\"radiogroup\"", " aria-orientation=\"horizontal\" clas
20
20
  _tmpl$1 = ["<span class=\"k2b-calendar-header__title-size\" aria-hidden=\"true\">", "</span>"],
21
21
  _tmpl$10 = ["<div class=\"k2b-calendar-month__weekday\">", "</div>"],
22
22
  _tmpl$11 = ["<div class=\"k2b-calendar-month\" style=\"", "\"><div class=\"k2b-calendar-month__weekdays\"", ">", "", "</div>", "</div>"],
23
- _tmpl$12 = ["<div class=\"k2b-calendar-month__week-number\">", "</div>"],
24
- _tmpl$13 = ["<div class=\"k2b-calendar-month__week\"", ">", "", "</div>"],
25
- _tmpl$14 = ["<div class=\"k2b-calendar-preview\">", "</div>"],
26
- _tmpl$15 = ["<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\">", "</div></div>"],
27
- _tmpl$16 = ["<span class=\"k2b-calendar-month__day-number\"", ">", "</span>"],
28
- _tmpl$17 = ["<span class=\"k2b-calendar-month__badge\">", "", "</span>"],
29
- _tmpl$18 = ["<span class=\"k2b-calendar-dot\"", " style=\"", "\"></span>"],
30
- _tmpl$19 = ["<div class=\"k2b-calendar-month__week-number\" role=\"rowheader\">", "</div>"],
31
- _tmpl$20 = ["<div class=\"k2b-calendar-month__week\" role=\"row\"", " style=\"", "\"", ">", "", "</div>"],
32
- _tmpl$21 = ["<button type=\"button\" class=\"k2b-calendar-month__week-link\" tabindex=\"-1\"", ">", "</button>"],
33
- _tmpl$22 = ["<button type=\"button\" class=\"k2b-calendar-month__more\" tabindex=\"-1\" style=\"", "\"", " aria-haspopup=\"dialog\"", "><span class=\"k2b-calendar-month__more-long\">", "</span><span class=\"k2b-calendar-month__more-short\">+", "</span></button>"],
34
- _tmpl$23 = ["<div class=\"k2b-calendar-month__day\" role=\"gridcell\"", "><div class=\"k2b-calendar-month__day-header\"><span class=\"k2b-calendar-month__day-number\"", ">", "</span>", "</div><div class=\"k2b-calendar-month__lanes\">", "", "", "</div></div>"],
35
- _tmpl$24 = ["<div class=\"k2b-calendar-month__segment\" style=\"", "\">", "</div>"],
36
- _tmpl$25 = ["<div class=\"k2b-calendar-month__weekday\" role=\"columnheader\">", "</div>"],
37
- _tmpl$26 = ["<div class=\"k2b-calendar-month__weekdays\" role=\"row\"", ">", "", "</div>"],
38
- _tmpl$27 = ["<div class=\"k2b-calendar-month__weekday\" role=\"columnheader\"", ">", "</div>"],
39
- _tmpl$28 = ["<div class=\"k2b-calendar-month\" role=\"grid\"", " aria-multiselectable=\"true\" data-lanes=\"true\" style=\"", "\">", "", "</div>"],
40
- _tmpl$29 = ["<div class=\"k2b-calendar-month-viewport\"><div class=\"k2b-calendar-month\" role=\"grid\"", " aria-multiselectable=\"true\" data-lanes=\"true\" data-continuous=\"true\"", " style=\"", "\">", "<div class=\"k2b-calendar-month__track\" role=\"rowgroup\" style=\"", "\">", "</div></div><div class=\"k2b-calendar-month__scroll-label\" aria-hidden=\"true\"", ">", "</div></div>"],
41
- _tmpl$30 = ["<ul class=\"k2b-calendar-day-list__events\">", "</ul>"],
42
- _tmpl$31 = "<i class=\"ti ti-plus\" aria-hidden=\"true\"></i>",
43
- _tmpl$32 = ["<div class=\"k2b-calendar-day-list\"><div class=\"k2b-calendar-day-list__title\">", "</div>", "<div class=\"k2b-calendar-day-list__actions\">", "", "</div></div>"],
44
- _tmpl$33 = ["<p class=\"k2b-calendar-day-list__empty\">", "</p>"],
45
- _tmpl$34 = ["<li>", "</li>"],
46
- _tmpl$35 = "<i class=\"ti ti-zoom-in\" aria-hidden=\"true\"></i>",
47
- _tmpl$36 = ["<div class=\"k2b-calendar-popover\" popover=\"auto\" role=\"dialog\"", ">", "</div>"],
48
- _tmpl$37 = ["<div class=\"k2b-calendar-time-grid__all-day\" style=\"", "\"><div class=\"k2b-calendar-time-grid__all-day-label\">", "</div>", "</div>"],
49
- _tmpl$38 = ["<div class=\"k2b-calendar-time-grid\"", "><div class=\"k2b-calendar-time-grid__days\" style=\"", "\"><div class=\"k2b-calendar-time-grid__corner\"></div>", "</div>", "<div class=\"k2b-calendar-time-grid__scroll k2b-detail-trail\"><div class=\"k2b-calendar-time-grid__grid\" style=\"", "\"><div class=\"k2b-calendar-time-grid__gutter\" style=\"", "\">", "</div>", "</div></div></div>"],
50
- _tmpl$39 = ["<span class=\"k2b-calendar-time-grid__day-label\"", ">", "</span>"],
51
- _tmpl$40 = ["<span class=\"k2b-calendar-time-grid__badge\">", "", "</span>"],
52
- _tmpl$41 = ["<div class=\"k2b-calendar-time-grid__all-day-events\">", "", "</div>"],
53
- _tmpl$42 = ["<div class=\"k2b-calendar-time-grid__hour\"", ">", ":00</div>"],
54
- _tmpl$43 = ["<div class=\"k2b-calendar-time-grid__now\" style=\"", "\"></div>"],
55
- _tmpl$44 = ["<div class=\"k2b-calendar-time-grid__column\" style=\"", "\">", "", "", "", "", "</div>"],
56
- _tmpl$45 = ["<div class=\"k2b-calendar-preview__title\">", "</div>"],
57
- _tmpl$46 = ["<div class=\"k2b-calendar-preview k2b-calendar-preview--timed\"", " style=\"", "\"><div class=\"k2b-calendar-preview__content\">", "<div class=\"k2b-calendar-preview__label\">", " - ", "</div></div></div>"],
58
- _tmpl$47 = ["<button type=\"button\"", " draggable=\"false\" class=\"k2b-calendar-time-grid__resize\"><span class=\"k2b-calendar-time-grid__resize-icon\" aria-hidden=\"true\"></span></button>"],
59
- _tmpl$48 = ["<div class=\"k2b-calendar-time-grid__event-position\" style=\"", "\"><div class=\"k2b-calendar-time-grid__event-frame\">", "", "</div></div>"],
60
- _tmpl$49 = ["<button type=\"button\" class=\"k2b-calendar-time-grid__overflow\" style=\"", "\"", "><span class=\"k2b-calendar-time-grid__overflow-count\">+", "</span></button>"],
61
- _tmpl$50 = ["<div class=\"k2b-calendar-time-grid__overflow-menu\" style=\"", "\"><div class=\"k2b-calendar-time-grid__overflow-title\">", " - ", "</div>", "</div>"],
62
- _tmpl$51 = ["<div class=\"k2b-calendar-year\">", "</div>"],
63
- _tmpl$52 = ["<div class=\"k2b-calendar-year__month\"><div class=\"k2b-calendar-year__title\">", "</div><div class=\"k2b-calendar-year__grid\">", "</div></div>"],
64
- _tmpl$53 = ["<span class=\"k2b-calendar-year__indicator\"", " style=\"", "\"></span>"],
65
- _tmpl$54 = ["<div class=\"k2b-calendar-mobile-month__events\">", "</div>"],
66
- _tmpl$55 = ["<div class=\"k2b-calendar-mobile-month\">", "<div class=\"k2b-calendar-mobile-month__agenda\"><div class=\"k2b-calendar-mobile-month__title\">", "</div>", "</div></div>"],
67
- _tmpl$56 = ["<div class=\"k2b-calendar-mobile-month__empty\">", "</div>"],
68
- _tmpl$57 = ["<div class=\"k2b-calendar-body\">", "</div>"],
69
- _tmpl$58 = ["<section class=\"", "\"", ">", "", "</section>"];
23
+ _tmpl$12 = ["<div class=\"k2b-calendar-month__weekday\"", ">", "</div>"],
24
+ _tmpl$13 = ["<div class=\"k2b-calendar-month__week-number\">", "</div>"],
25
+ _tmpl$14 = ["<div class=\"k2b-calendar-month__week\"", ">", "", "</div>"],
26
+ _tmpl$15 = ["<div class=\"k2b-calendar-preview\">", "</div>"],
27
+ _tmpl$16 = ["<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\">", "</div></div>"],
28
+ _tmpl$17 = ["<span class=\"k2b-calendar-month__day-number\"", ">", "</span>"],
29
+ _tmpl$18 = ["<span class=\"k2b-calendar-month__badge\">", "", "</span>"],
30
+ _tmpl$19 = ["<span class=\"k2b-calendar-dot\"", " style=\"", "\"></span>"],
31
+ _tmpl$20 = ["<div class=\"k2b-calendar-month__week-number\" role=\"rowheader\">", "</div>"],
32
+ _tmpl$21 = ["<div class=\"k2b-calendar-month__week\" role=\"row\"", " style=\"", "\"", ">", "", "</div>"],
33
+ _tmpl$22 = ["<button type=\"button\" class=\"k2b-calendar-month__week-link\" tabindex=\"-1\"", ">", "</button>"],
34
+ _tmpl$23 = ["<button type=\"button\" class=\"k2b-calendar-month__more\" tabindex=\"-1\" style=\"", "\"", " aria-haspopup=\"dialog\"", "><span class=\"k2b-calendar-month__more-long\">", "</span><span class=\"k2b-calendar-month__more-short\">+", "</span></button>"],
35
+ _tmpl$24 = ["<div class=\"k2b-calendar-month__day\" role=\"gridcell\"", "><div class=\"k2b-calendar-month__day-header\"><span class=\"k2b-calendar-month__day-number\"", ">", "</span>", "</div><div class=\"k2b-calendar-month__lanes\">", "", "", "</div></div>"],
36
+ _tmpl$25 = ["<div class=\"k2b-calendar-month__segment\" style=\"", "\">", "</div>"],
37
+ _tmpl$26 = ["<div class=\"k2b-calendar-month__weekday\" role=\"columnheader\">", "</div>"],
38
+ _tmpl$27 = ["<div class=\"k2b-calendar-month__weekdays\" role=\"row\"", ">", "", "</div>"],
39
+ _tmpl$28 = ["<div class=\"k2b-calendar-month__weekday\" role=\"columnheader\"", ">", "</div>"],
40
+ _tmpl$29 = ["<div class=\"k2b-calendar-month\" role=\"grid\"", " aria-multiselectable=\"true\" data-lanes=\"true\" style=\"", "\">", "", "</div>"],
41
+ _tmpl$30 = ["<div class=\"k2b-calendar-month-viewport\"><div class=\"k2b-calendar-month\" role=\"grid\"", " aria-multiselectable=\"true\" data-lanes=\"true\" data-continuous=\"true\"", " style=\"", "\">", "<div class=\"k2b-calendar-month__track\" role=\"rowgroup\" style=\"", "\">", "</div></div><div class=\"k2b-calendar-month__scroll-label\" aria-hidden=\"true\"", ">", "</div></div>"],
42
+ _tmpl$31 = ["<ul class=\"k2b-calendar-day-list__events\">", "</ul>"],
43
+ _tmpl$32 = "<i class=\"ti ti-plus\" aria-hidden=\"true\"></i>",
44
+ _tmpl$33 = ["<div class=\"k2b-calendar-day-list\"><div class=\"k2b-calendar-day-list__title\">", "</div>", "<div class=\"k2b-calendar-day-list__actions\">", "", "</div></div>"],
45
+ _tmpl$34 = ["<p class=\"k2b-calendar-day-list__empty\">", "</p>"],
46
+ _tmpl$35 = ["<li>", "</li>"],
47
+ _tmpl$36 = "<i class=\"ti ti-zoom-in\" aria-hidden=\"true\"></i>",
48
+ _tmpl$37 = ["<div class=\"k2b-calendar-popover\" popover=\"auto\" role=\"dialog\"", ">", "</div>"],
49
+ _tmpl$38 = ["<div class=\"k2b-calendar-time-grid__all-day\" style=\"", "\"><div class=\"k2b-calendar-time-grid__all-day-label\">", "</div>", "</div>"],
50
+ _tmpl$39 = ["<div class=\"k2b-calendar-time-grid\"", "><div class=\"k2b-calendar-time-grid__days\" style=\"", "\"><div class=\"k2b-calendar-time-grid__corner\"></div>", "</div>", "<div class=\"k2b-calendar-time-grid__scroll k2b-detail-trail\"><div class=\"k2b-calendar-time-grid__grid\" style=\"", "\"><div class=\"k2b-calendar-time-grid__gutter\" style=\"", "\">", "</div>", "</div></div></div>"],
51
+ _tmpl$40 = ["<span class=\"k2b-calendar-time-grid__day-label\"", ">", "</span>"],
52
+ _tmpl$41 = ["<span class=\"k2b-calendar-time-grid__badge\">", "", "</span>"],
53
+ _tmpl$42 = ["<div class=\"k2b-calendar-time-grid__all-day-events\">", "", "</div>"],
54
+ _tmpl$43 = ["<div class=\"k2b-calendar-time-grid__hour\"", ">", ":00</div>"],
55
+ _tmpl$44 = ["<div class=\"k2b-calendar-time-grid__now\" style=\"", "\"></div>"],
56
+ _tmpl$45 = ["<div class=\"k2b-calendar-time-grid__column\"", " style=\"", "\">", "", "", "", "", "</div>"],
57
+ _tmpl$46 = ["<div class=\"k2b-calendar-preview__title\">", "</div>"],
58
+ _tmpl$47 = ["<div class=\"k2b-calendar-preview k2b-calendar-preview--timed\"", " style=\"", "\"><div class=\"k2b-calendar-preview__content\">", "<div class=\"k2b-calendar-preview__label\">", " - ", "</div></div></div>"],
59
+ _tmpl$48 = ["<button type=\"button\"", " draggable=\"false\" class=\"k2b-calendar-time-grid__resize\"><span class=\"k2b-calendar-time-grid__resize-icon\" aria-hidden=\"true\"></span></button>"],
60
+ _tmpl$49 = ["<div class=\"k2b-calendar-time-grid__event-position\" style=\"", "\"><div class=\"k2b-calendar-time-grid__event-frame\">", "", "</div></div>"],
61
+ _tmpl$50 = ["<button type=\"button\" class=\"k2b-calendar-time-grid__overflow\" style=\"", "\"", "><span class=\"k2b-calendar-time-grid__overflow-count\">+", "</span></button>"],
62
+ _tmpl$51 = ["<div class=\"k2b-calendar-time-grid__overflow-menu\" style=\"", "\"><div class=\"k2b-calendar-time-grid__overflow-title\">", " - ", "</div>", "</div>"],
63
+ _tmpl$52 = ["<div class=\"k2b-calendar-year\">", "</div>"],
64
+ _tmpl$53 = ["<div class=\"k2b-calendar-year__month\"><div class=\"k2b-calendar-year__title\">", "</div><div class=\"k2b-calendar-year__grid\">", "</div></div>"],
65
+ _tmpl$54 = ["<span class=\"k2b-calendar-year__indicator\"", " style=\"", "\"></span>"],
66
+ _tmpl$55 = ["<div class=\"k2b-calendar-mobile-month__events\">", "</div>"],
67
+ _tmpl$56 = ["<div class=\"k2b-calendar-mobile-month\">", "<div class=\"k2b-calendar-mobile-month__agenda\"><div class=\"k2b-calendar-mobile-month__title\">", "</div>", "</div></div>"],
68
+ _tmpl$57 = ["<div class=\"k2b-calendar-mobile-month__empty\">", "</div>"],
69
+ _tmpl$58 = ["<div class=\"k2b-calendar-body\">", "</div>"],
70
+ _tmpl$59 = ["<section class=\"", "\"", ">", "", "</section>"];
70
71
  import { Link } from "@k2b/ssr/nav";
71
72
  import { dates as calendar } from "@k2b/stdlib";
72
73
  import { createComputed, createEffect, createMemo, createSignal, For, mergeProps, on, onCleanup, onMount, Show, untrack } from "solid-js";
@@ -75,6 +76,7 @@ import { GestureMenu } from "../actions/GestureMenu";
75
76
  import SegmentedControl from "../actions/SegmentedControl";
76
77
  import { useDateConfigLocale } from "../intl/locale";
77
78
  import { useUiMessages } from "../intl/messages";
79
+ import { isWeekendColumn, isWeekendKey } from "../intl/weekend";
78
80
  import { prefersReducedMotion } from "../motion";
79
81
  import { CalendarDayView } from "./CalendarDayView";
80
82
  import { CalendarWeekView } from "./CalendarWeekView";
@@ -791,17 +793,17 @@ const MonthPickerView = props => {
791
793
  get each() {
792
794
  return weekdays();
793
795
  },
794
- children: day => _$ssr(_tmpl$10, _$escape(day))
796
+ children: (day, index) => _$ssr(_tmpl$12, _$ssrAttribute("data-weekend", isWeekendColumn(index(), dateConfig().firstDayOfWeek ?? 1, dateConfig().locale) ? "true" : _$escape(undefined, true), false), _$escape(day))
795
797
  })), _$escape(_$createComponent(For, {
796
798
  get each() {
797
799
  return weeks();
798
800
  },
799
- children: week => _$ssr(_tmpl$13, _$ssrAttribute("data-week-numbers", props.owner.withWeekNumbers ? "true" : _$escape(undefined, true), false), _$escape(_$createComponent(Show, {
801
+ children: week => _$ssr(_tmpl$14, _$ssrAttribute("data-week-numbers", props.owner.withWeekNumbers ? "true" : _$escape(undefined, true), false), _$escape(_$createComponent(Show, {
800
802
  get when() {
801
803
  return props.owner.withWeekNumbers;
802
804
  },
803
805
  get children() {
804
- return _$ssr(_tmpl$12, _$escape(zonedWeekNumber(week[0], dateConfig())));
806
+ return _$ssr(_tmpl$13, _$escape(zonedWeekNumber(week[0], dateConfig())));
805
807
  }
806
808
  })), _$escape(_$createComponent(For, {
807
809
  each: week,
@@ -830,7 +832,7 @@ const MonthPickerView = props => {
830
832
  hiddenCount: Math.max(0, candidates.length - visibleLimit)
831
833
  };
832
834
  });
833
- return _$ssr(_tmpl$15, _$ssrAttribute("data-calendar-day-key", _$escape(dayKey, true), false) + _$ssrAttribute("data-outside", !sameMonth ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-drop-preview", movePreview()?.start && calendar.formatDateKey(movePreview().start, dateConfig()) === dayKey ? "true" : _$escape(undefined, true), false), _$escape(_$createComponent(Show, {
835
+ return _$ssr(_tmpl$16, _$ssrAttribute("data-calendar-day-key", _$escape(dayKey, true), false) + _$ssrAttribute("data-outside", !sameMonth ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-weekend", isWeekendKey(dayKey, dateConfig().locale) ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-drop-preview", movePreview()?.start && calendar.formatDateKey(movePreview().start, dateConfig()) === dayKey ? "true" : _$escape(undefined, true), false), _$escape(_$createComponent(Show, {
834
836
  get when() {
835
837
  return props.owner.onSlotActivate;
836
838
  },
@@ -879,7 +881,7 @@ const MonthPickerView = props => {
879
881
  return props.owner.onSlotActivate && href;
880
882
  },
881
883
  get fallback() {
882
- return _$ssr(_tmpl$16, _$ssrAttribute("data-today", isToday ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-outside", !sameMonth ? "true" : _$escape(undefined, true), false), _$escape(calendar.formatDayNumber(day, dateConfig())));
884
+ return _$ssr(_tmpl$17, _$ssrAttribute("data-today", isToday ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-outside", !sameMonth ? "true" : _$escape(undefined, true), false), _$escape(calendar.formatDayNumber(day, dateConfig())));
883
885
  },
884
886
  children: dayHref => _$createComponent(CalendarNavigationLink, {
885
887
  get owner() {
@@ -904,7 +906,7 @@ const MonthPickerView = props => {
904
906
  })
905
907
  })), _$escape(_$createComponent(Show, {
906
908
  when: dayBadge,
907
- children: badge => _$ssr(_tmpl$17, _$escape(_$createComponent(Show, {
909
+ children: badge => _$ssr(_tmpl$18, _$escape(_$createComponent(Show, {
908
910
  get when() {
909
911
  return badge().icon;
910
912
  },
@@ -915,7 +917,7 @@ const MonthPickerView = props => {
915
917
  return eventStack().preview;
916
918
  },
917
919
  get children() {
918
- return _$ssr(_tmpl$14, _$escape(props.events.find(event => event.id === eventStack().preview.id)?.title ?? calendarMessages().moveEvent));
920
+ return _$ssr(_tmpl$15, _$escape(props.events.find(event => event.id === eventStack().preview.id)?.title ?? calendarMessages().moveEvent));
919
921
  }
920
922
  })), _$escape(_$createComponent(For, {
921
923
  get each() {
@@ -961,7 +963,7 @@ const MonthPickerView = props => {
961
963
  get each() {
962
964
  return events.slice(0, 4);
963
965
  },
964
- children: event => _$ssr(_tmpl$18, _$ssrAttribute("data-color", event.colorHex ? _$escape(undefined, true) : _$escape(event.color ?? "blue", true), false), _$ssrStyle(event.colorHex ? {
966
+ children: event => _$ssr(_tmpl$19, _$ssrAttribute("data-color", event.colorHex ? _$escape(undefined, true) : _$escape(event.color ?? "blue", true), false), _$ssrStyle(event.colorHex ? {
965
967
  "background-color": event.colorHex
966
968
  } : undefined))
967
969
  })));
@@ -1048,6 +1050,7 @@ const MonthView = props => {
1048
1050
  equals: (previous, next) => previous.map(week => week[0]?.key).join() === next.map(week => week[0]?.key).join()
1049
1051
  });
1050
1052
  const weekdays = createMemo(() => calendar.weekdays(dateConfig()));
1053
+ const weekendColumn = index => isWeekendColumn(index, dateConfig().firstDayOfWeek ?? 1, dateConfig().locale);
1051
1054
  const todayKey = createMemo(() => calendar.formatDateKey(props.now, dateConfig()));
1052
1055
  const items = createMemo(() => monthItems(props.events));
1053
1056
  const [capacities, setCapacities] = createSignal([]);
@@ -2102,14 +2105,14 @@ const MonthView = props => {
2102
2105
  const fit = createMemo(() => fitMonthWeek(layout(), capacity()));
2103
2106
  const weekHref = () => viewHref(week()[0].key, "week");
2104
2107
  const weekNumber = () => zonedWeekNumber(week()[0].day, dateConfig());
2105
- return _$ssr(_tmpl$20, _$ssrAttribute("data-week-key", continuous() ? _$escape(week()[0]?.key, true) : _$escape(undefined, true), false) + _$ssrAttribute("aria-rowindex", continuous() ? _$escape(weekIndex(), true) + 2 : _$escape(undefined, true), false), _$ssrStyle(continuous() ? {
2108
+ return _$ssr(_tmpl$21, _$ssrAttribute("data-week-key", continuous() ? _$escape(week()[0]?.key, true) : _$escape(undefined, true), false) + _$ssrAttribute("aria-rowindex", continuous() ? _$escape(weekIndex(), true) + 2 : _$escape(undefined, true), false), _$ssrStyle(continuous() ? {
2106
2109
  "--k2b-calendar-week-index": String(weekIndex())
2107
2110
  } : undefined), _$ssrAttribute("data-week-numbers", props.owner.withWeekNumbers ? "true" : _$escape(undefined, true), false), _$escape(_$createComponent(Show, {
2108
2111
  get when() {
2109
2112
  return props.owner.withWeekNumbers;
2110
2113
  },
2111
2114
  get children() {
2112
- return _$ssr(_tmpl$19, _$escape(_$createComponent(Show, {
2115
+ return _$ssr(_tmpl$20, _$escape(_$createComponent(Show, {
2113
2116
  get when() {
2114
2117
  return weekHref();
2115
2118
  },
@@ -2122,7 +2125,7 @@ const MonthView = props => {
2122
2125
  return weekNumber();
2123
2126
  },
2124
2127
  get children() {
2125
- return _$ssr(_tmpl$21, _$ssrAttribute("title", _$escape(calendarMessages().calendarOpenWeekNumber({
2128
+ return _$ssr(_tmpl$22, _$ssrAttribute("title", _$escape(calendarMessages().calendarOpenWeekNumber({
2126
2129
  week: weekNumber()
2127
2130
  }), true), false) + _$ssrAttribute("aria-label", _$escape(calendarMessages().calendarOpenWeekNumber({
2128
2131
  week: weekNumber()
@@ -2172,9 +2175,9 @@ const MonthView = props => {
2172
2175
  shown: [],
2173
2176
  hidden: 0
2174
2177
  };
2175
- return _$ssr(_tmpl$23, _$ssrAttribute("tabindex", rovingKey() === key ? 0 : -1, false) + _$ssrAttribute("aria-label", _$escape(label, true), false) + _$ssrAttribute("aria-selected", within(selection(), key) ? "true" : "false", false) + _$ssrAttribute("aria-current", key === todayKey() ? "date" : _$escape(undefined, true), false) + _$ssrAttribute("data-calendar-day-key", _$escape(key, true), false) + _$ssrAttribute("data-outside", !sameMonth() ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-month-first", continuous() && key.endsWith("-01") ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-month-top", continuous() && Number(key.slice(8)) <= 7 ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-weekend", column() > 4 ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-past", key < todayKey() ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-selected", _$escape(selectionPart(key), true), false) + _$ssrAttribute("data-drop-preview", within(dropRange(), key) ? "true" : _$escape(undefined, true), false), _$ssrAttribute("data-pulse", continuous() && pulseKey() === key ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-today", key === todayKey() ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-outside", !sameMonth() ? "true" : _$escape(undefined, true), false), continuous() && key.endsWith("-01") ? _$escape(shortDayLabel(key).replace(/\.$/, "")) : _$escape(calendar.formatDayNumber(day, dateConfig())), _$escape(_$createComponent(Show, {
2178
+ return _$ssr(_tmpl$24, _$ssrAttribute("tabindex", rovingKey() === key ? 0 : -1, false) + _$ssrAttribute("aria-label", _$escape(label, true), false) + _$ssrAttribute("aria-selected", within(selection(), key) ? "true" : "false", false) + _$ssrAttribute("aria-current", key === todayKey() ? "date" : _$escape(undefined, true), false) + _$ssrAttribute("data-calendar-day-key", _$escape(key, true), false) + _$ssrAttribute("data-outside", !sameMonth() ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-month-first", continuous() && key.endsWith("-01") ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-month-top", continuous() && Number(key.slice(8)) <= 7 ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-weekend", isWeekendKey(key, dateConfig().locale) ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-past", key < todayKey() ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-selected", _$escape(selectionPart(key), true), false) + _$ssrAttribute("data-drop-preview", within(dropRange(), key) ? "true" : _$escape(undefined, true), false), _$ssrAttribute("data-pulse", continuous() && pulseKey() === key ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-today", key === todayKey() ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-outside", !sameMonth() ? "true" : _$escape(undefined, true), false), continuous() && key.endsWith("-01") ? _$escape(shortDayLabel(key).replace(/\.$/, "")) : _$escape(calendar.formatDayNumber(day, dateConfig())), _$escape(_$createComponent(Show, {
2176
2179
  when: dayBadge,
2177
- children: badge => _$ssr(_tmpl$17, _$escape(_$createComponent(Show, {
2180
+ children: badge => _$ssr(_tmpl$18, _$escape(_$createComponent(Show, {
2178
2181
  get when() {
2179
2182
  return badge().icon;
2180
2183
  },
@@ -2253,7 +2256,7 @@ const MonthView = props => {
2253
2256
  get each() {
2254
2257
  return cell().shown;
2255
2258
  },
2256
- children: (item, index) => _$ssr(_tmpl$24, _$ssrStyleProperty("--k2b-calendar-span:", "1") + _$ssrStyleProperty(";--k2b-calendar-row:", _$escape(String(cell().top + index()), true)), _$escape(_$createComponent(EventChip, {
2259
+ children: (item, index) => _$ssr(_tmpl$25, _$ssrStyleProperty("--k2b-calendar-span:", "1") + _$ssrStyleProperty(";--k2b-calendar-row:", _$escape(String(cell().top + index()), true)), _$escape(_$createComponent(EventChip, {
2257
2260
  get event() {
2258
2261
  return item.event;
2259
2262
  },
@@ -2279,7 +2282,7 @@ const MonthView = props => {
2279
2282
  return cell().hidden > 0;
2280
2283
  },
2281
2284
  get children() {
2282
- return _$ssr(_tmpl$22, _$ssrStyleProperty("--k2b-calendar-row:", _$escape(String(cell().top + cell().shown.length), true)), _$ssrAttribute("aria-label", _$escape(calendarMessages().calendarMoreEventsOn({
2285
+ return _$ssr(_tmpl$23, _$ssrStyleProperty("--k2b-calendar-row:", _$escape(String(cell().top + cell().shown.length), true)), _$ssrAttribute("aria-label", _$escape(calendarMessages().calendarMoreEventsOn({
2283
2286
  count: cell().hidden,
2284
2287
  label
2285
2288
  }), true), false), _$ssrAttribute("aria-expanded", (() => {
@@ -2293,20 +2296,20 @@ const MonthView = props => {
2293
2296
  }
2294
2297
  })));
2295
2298
  };
2296
- const weekdayRow = () => _$ssr(_tmpl$26, _$ssrAttribute("data-week-numbers", props.owner.withWeekNumbers ? "true" : _$escape(undefined, true), false), _$escape(_$createComponent(Show, {
2299
+ const weekdayRow = () => _$ssr(_tmpl$27, _$ssrAttribute("data-week-numbers", props.owner.withWeekNumbers ? "true" : _$escape(undefined, true), false), _$escape(_$createComponent(Show, {
2297
2300
  get when() {
2298
2301
  return props.owner.withWeekNumbers;
2299
2302
  },
2300
2303
  get children() {
2301
- return _$ssr(_tmpl$25, _$escape(calendarMessages().weekShort));
2304
+ return _$ssr(_tmpl$26, _$escape(calendarMessages().weekShort));
2302
2305
  }
2303
2306
  })), _$escape(_$createComponent(For, {
2304
2307
  get each() {
2305
2308
  return weekdays();
2306
2309
  },
2307
- children: (day, index) => _$ssr(_tmpl$27, _$ssrAttribute("data-weekend", index() > 4 ? "true" : _$escape(undefined, true), false), _$escape(day))
2310
+ children: (day, index) => _$ssr(_tmpl$28, _$ssrAttribute("data-weekend", weekendColumn(index()) ? "true" : _$escape(undefined, true), false), _$escape(day))
2308
2311
  })));
2309
- const grid = () => _$ssr(_tmpl$28, _$ssrAttribute("aria-label", _$escape(formatMonth(props.date, dateConfig()), true), false), _$ssrStyleProperty("grid-template-rows:", `auto repeat(${_$escape(weeks().length, true)}, minmax(5rem, 1fr))`) + _$ssrStyleProperty(";--k2b-calendar-lane:", "1.25rem") + _$ssrStyleProperty(";--k2b-calendar-lane-gap:", "0.125rem"), _$escape(weekdayRow()), _$escape(_$createComponent(For, {
2312
+ const grid = () => _$ssr(_tmpl$29, _$ssrAttribute("aria-label", _$escape(formatMonth(props.date, dateConfig()), true), false), _$ssrStyleProperty("grid-template-rows:", `auto repeat(${_$escape(weeks().length, true)}, minmax(5rem, 1fr))`) + _$ssrStyleProperty(";--k2b-calendar-lane:", "1.25rem") + _$ssrStyleProperty(";--k2b-calendar-lane-gap:", "0.125rem"), _$escape(weekdayRow()), _$escape(_$createComponent(For, {
2310
2313
  get each() {
2311
2314
  return weeks();
2312
2315
  },
@@ -2324,7 +2327,7 @@ const MonthView = props => {
2324
2327
  }));
2325
2328
  return weekRow(days, () => monthRowOf(trackWeeks(), key) ?? 0);
2326
2329
  };
2327
- const continuousGrid = () => _$ssr(_tmpl$29, _$ssrAttribute("aria-label", _$escape(formatMonth(parseKey(focusMonthKey()), dateConfig()), true), false), _$ssrAttribute("aria-rowcount", _$escape(trackWeeks().length, true) + 1, false), _$ssrStyleProperty("--k2b-calendar-lane:", "1.25rem") + _$ssrStyleProperty(";--k2b-calendar-lane-gap:", "0.125rem"), _$escape(weekdayRow()), _$ssrStyleProperty("--k2b-calendar-weeks:", _$escape(String(trackWeeks().length), true)), _$escape(_$createComponent(For, {
2330
+ const continuousGrid = () => _$ssr(_tmpl$30, _$ssrAttribute("aria-label", _$escape(formatMonth(parseKey(focusMonthKey()), dateConfig()), true), false), _$ssrAttribute("aria-rowcount", _$escape(trackWeeks().length, true) + 1, false), _$ssrStyleProperty("--k2b-calendar-lane:", "1.25rem") + _$ssrStyleProperty(";--k2b-calendar-lane-gap:", "0.125rem"), _$escape(weekdayRow()), _$ssrStyleProperty("--k2b-calendar-weeks:", _$escape(String(trackWeeks().length), true)), _$escape(_$createComponent(For, {
2328
2331
  get each() {
2329
2332
  return renderedWeeks();
2330
2333
  },
@@ -2335,19 +2338,19 @@ const MonthView = props => {
2335
2338
  const href = viewHref(dayKey, "day");
2336
2339
  // Read where it renders, so a refresh while the list is open updates it as it does the grid.
2337
2340
  const entries = () => dayEntries(dayKey);
2338
- return _$ssr(_tmpl$32, _$escape(dayLabel(day)), _$escape(_$createComponent(Show, {
2341
+ return _$ssr(_tmpl$33, _$escape(dayLabel(day)), _$escape(_$createComponent(Show, {
2339
2342
  get when() {
2340
2343
  return entries().length > 0;
2341
2344
  },
2342
2345
  get fallback() {
2343
- return _$ssr(_tmpl$33, _$escape(calendarMessages().calendarNothingPlanned));
2346
+ return _$ssr(_tmpl$34, _$escape(calendarMessages().calendarNothingPlanned));
2344
2347
  },
2345
2348
  get children() {
2346
- return _$ssr(_tmpl$30, _$escape(_$createComponent(For, {
2349
+ return _$ssr(_tmpl$31, _$escape(_$createComponent(For, {
2347
2350
  get each() {
2348
2351
  return entries();
2349
2352
  },
2350
- children: item => _$ssr(_tmpl$34, _$escape(_$createComponent(EventChip, {
2353
+ children: item => _$ssr(_tmpl$35, _$escape(_$createComponent(EventChip, {
2351
2354
  get event() {
2352
2355
  return item.event;
2353
2356
  },
@@ -2384,7 +2387,7 @@ const MonthView = props => {
2384
2387
  size: "sm",
2385
2388
  onClick: () => openView(dayKey, "day"),
2386
2389
  get children() {
2387
- return [_$ssr(_tmpl$35), calendarMessages().calendarOpenDay];
2390
+ return [_$ssr(_tmpl$36), calendarMessages().calendarOpenDay];
2388
2391
  }
2389
2392
  });
2390
2393
  }
@@ -2403,7 +2406,7 @@ const MonthView = props => {
2403
2406
  "data-size": "sm"
2404
2407
  },
2405
2408
  get children() {
2406
- return [_$ssr(_tmpl$35), calendarMessages().calendarOpenDay];
2409
+ return [_$ssr(_tmpl$36), calendarMessages().calendarOpenDay];
2407
2410
  }
2408
2411
  })
2409
2412
  })), _$escape(_$createComponent(Show, {
@@ -2425,7 +2428,7 @@ const MonthView = props => {
2425
2428
  });
2426
2429
  },
2427
2430
  get children() {
2428
- return [_$ssr(_tmpl$31), calendarMessages().calendarNewEvent];
2431
+ return [_$ssr(_tmpl$32), calendarMessages().calendarNewEvent];
2429
2432
  }
2430
2433
  });
2431
2434
  }
@@ -2455,7 +2458,7 @@ const MonthView = props => {
2455
2458
  }
2456
2459
  });
2457
2460
  }
2458
- }), _$ssr(_tmpl$36, _$ssrAttribute("aria-label", (() => {
2461
+ }), _$ssr(_tmpl$37, _$ssrAttribute("aria-label", (() => {
2459
2462
  const current = popover();
2460
2463
  if (current?.kind === "day") return dayLabel(parseKey(current.dayKey));
2461
2464
  return _$escape(calendarMessages().calendarQuickCreate, true);
@@ -2706,7 +2709,7 @@ const TimeGridView = props => {
2706
2709
  });
2707
2710
  });
2708
2711
  });
2709
- return _$ssr(_tmpl$38, _$ssrAttribute("data-view", isDayView() ? "day" : "week", false), _$ssrStyleProperty("grid-template-columns:", _$escape(columnTemplate(), true)), _$escape(_$createComponent(For, {
2712
+ return _$ssr(_tmpl$39, _$ssrAttribute("data-view", isDayView() ? "day" : "week", false), _$ssrStyleProperty("grid-template-columns:", _$escape(columnTemplate(), true)), _$escape(_$createComponent(For, {
2710
2713
  get each() {
2711
2714
  return props.days;
2712
2715
  },
@@ -2720,13 +2723,16 @@ const TimeGridView = props => {
2720
2723
  get href() {
2721
2724
  return props.owner.getDateHref?.(day, "day") ?? "#";
2722
2725
  },
2723
- anchorProps: {
2724
- class: "k2b-calendar-time-grid__day"
2726
+ get anchorProps() {
2727
+ return {
2728
+ class: "k2b-calendar-time-grid__day",
2729
+ "data-weekend": isWeekendKey(calendar.formatDateKey(day, dateConfig()), dateConfig().locale) ? "true" : undefined
2730
+ };
2725
2731
  },
2726
2732
  get children() {
2727
- return [_$ssr(_tmpl$39, _$ssrAttribute("data-today", today() ? "true" : _$escape(undefined, true), false), _$escape(formatDay(day, dateConfig()))), _$createComponent(Show, {
2733
+ return [_$ssr(_tmpl$40, _$ssrAttribute("data-today", today() ? "true" : _$escape(undefined, true), false), _$escape(formatDay(day, dateConfig()))), _$createComponent(Show, {
2728
2734
  when: dayBadge,
2729
- children: badge => _$ssr(_tmpl$40, _$escape(_$createComponent(Show, {
2735
+ children: badge => _$ssr(_tmpl$41, _$escape(_$createComponent(Show, {
2730
2736
  get when() {
2731
2737
  return badge().icon;
2732
2738
  },
@@ -2741,7 +2747,7 @@ const TimeGridView = props => {
2741
2747
  return !props.owner.hideAllDay;
2742
2748
  },
2743
2749
  get children() {
2744
- return _$ssr(_tmpl$37, _$ssrStyleProperty("grid-template-columns:", _$escape(columnTemplate(), true)) + _$ssrStyleProperty(";max-height:", `${_$escape(props.owner.allDayMaxHeightRem ?? 7, true)}rem`), _$escape(props.labels.allDay), _$escape(_$createComponent(For, {
2750
+ return _$ssr(_tmpl$38, _$ssrStyleProperty("grid-template-columns:", _$escape(columnTemplate(), true)) + _$ssrStyleProperty(";max-height:", `${_$escape(props.owner.allDayMaxHeightRem ?? 7, true)}rem`), _$escape(props.labels.allDay), _$escape(_$createComponent(For, {
2745
2751
  get each() {
2746
2752
  return props.days;
2747
2753
  },
@@ -2752,6 +2758,9 @@ const TimeGridView = props => {
2752
2758
  return _$ssrElement("div", _$mergeProps({
2753
2759
  "class": "k2b-calendar-time-grid__all-day-cell",
2754
2760
  "data-calendar-day-key": dayKey,
2761
+ get ["data-weekend"]() {
2762
+ return isWeekendKey(dayKey, dateConfig().locale) ? "true" : undefined;
2763
+ },
2755
2764
  get ["data-drop-preview"]() {
2756
2765
  return timePreview()?.allDay && calendar.formatDateKey(timePreview().start, dateConfig()) === dayKey ? "true" : undefined;
2757
2766
  },
@@ -2765,9 +2774,9 @@ const TimeGridView = props => {
2765
2774
  end: calendar.addDays(start, 1, dateConfig()),
2766
2775
  allDay: true
2767
2776
  };
2768
- }, () => performance.now() < suppressSlotClickUntil)), _$ssr(_tmpl$41, _$escape(_$createComponent(For, {
2777
+ }, () => performance.now() < suppressSlotClickUntil)), _$ssr(_tmpl$42, _$escape(_$createComponent(For, {
2769
2778
  each: previewAllDay,
2770
- children: event => _$ssr(_tmpl$14, _$escape(event.title))
2779
+ children: event => _$ssr(_tmpl$15, _$escape(event.title))
2771
2780
  })), _$escape(_$createComponent(For, {
2772
2781
  get each() {
2773
2782
  return allDay();
@@ -2796,7 +2805,7 @@ const TimeGridView = props => {
2796
2805
  get each() {
2797
2806
  return hours();
2798
2807
  },
2799
- children: hour => _$ssr(_tmpl$42, _$ssrAttribute("data-outside-business", hour < businessStartHour() || hour > businessEndHour() ? "true" : _$escape(undefined, true), false), _$escape(`${hour}`.padStart(2, "0")))
2808
+ children: hour => _$ssr(_tmpl$43, _$ssrAttribute("data-outside-business", hour < businessStartHour() || hour > businessEndHour() ? "true" : _$escape(undefined, true), false), _$escape(`${hour}`.padStart(2, "0")))
2800
2809
  })), _$escape(_$createComponent(For, {
2801
2810
  get each() {
2802
2811
  return props.days;
@@ -2804,12 +2813,12 @@ const TimeGridView = props => {
2804
2813
  children: day => {
2805
2814
  const dayKey = calendar.formatDateKey(day, dateConfig());
2806
2815
  const layouts = createMemo(() => timedEventLayouts(eventsByDay().get(dayKey)?.timed ?? []));
2807
- return _$ssr(_tmpl$44, _$ssrStyleProperty("grid-template-rows:", `repeat(${_$escape(hours().length, true)}, minmax(4rem, 1fr))`), _$escape(_$createComponent(Show, {
2816
+ return _$ssr(_tmpl$45, _$ssrAttribute("data-weekend", isWeekendKey(dayKey, dateConfig().locale) ? "true" : _$escape(undefined, true), false), _$ssrStyleProperty("grid-template-rows:", `repeat(${_$escape(hours().length, true)}, minmax(4rem, 1fr))`), _$escape(_$createComponent(Show, {
2808
2817
  get when() {
2809
2818
  return currentTimeLine(day) !== null;
2810
2819
  },
2811
2820
  get children() {
2812
- return _$ssr(_tmpl$43, _$ssrStyleProperty("top:", `${_$escape(currentTimeLine(day) ?? 0, true)}%`));
2821
+ return _$ssr(_tmpl$44, _$ssrStyleProperty("top:", `${_$escape(currentTimeLine(day) ?? 0, true)}%`));
2813
2822
  }
2814
2823
  })), _$escape(_$createComponent(For, {
2815
2824
  get each() {
@@ -2838,12 +2847,12 @@ const TimeGridView = props => {
2838
2847
  children: event => {
2839
2848
  const layout = eventLayout(event);
2840
2849
  const short = event.endDate.getTime() - event.startDate.getTime() < 60 * 60_000;
2841
- return _$ssr(_tmpl$46, _$ssrAttribute("data-short", short ? "true" : _$escape(undefined, true), false), _$ssrStyleProperty("top:", `${_$escape(layout.top, true)}%`) + _$ssrStyleProperty(";height:", `${_$escape(layout.height, true)}%`), _$escape(_$createComponent(Show, {
2850
+ return _$ssr(_tmpl$47, _$ssrAttribute("data-short", short ? "true" : _$escape(undefined, true), false), _$ssrStyleProperty("top:", `${_$escape(layout.top, true)}%`) + _$ssrStyleProperty(";height:", `${_$escape(layout.height, true)}%`), _$escape(_$createComponent(Show, {
2842
2851
  get when() {
2843
2852
  return event.title;
2844
2853
  },
2845
2854
  get children() {
2846
- return _$ssr(_tmpl$45, _$escape(event.title));
2855
+ return _$ssr(_tmpl$46, _$escape(event.title));
2847
2856
  }
2848
2857
  })), _$escape(formatTime(event.startDate, dateConfig())), _$escape(formatTime(event.endDate, dateConfig())));
2849
2858
  }
@@ -2889,7 +2898,7 @@ const TimeGridView = props => {
2889
2898
  onCancel: clearInteraction
2890
2899
  });
2891
2900
  };
2892
- return _$ssr(_tmpl$48, _$ssrStyleProperty("top:", `${_$escape(layout.top, true)}%`) + _$ssrStyleProperty(";height:", `${_$escape(layout.height, true)}%`) + _$ssrStyleProperty(";left:", _$escape(position.left, true)) + _$ssrStyleProperty(";width:", _$escape(position.width, true)) + _$ssrStyleProperty(";z-index:", _$escape(String(20 + layoutItem.lane), true)), _$escape(_$createComponent(EventChip, {
2901
+ return _$ssr(_tmpl$49, _$ssrStyleProperty("top:", `${_$escape(layout.top, true)}%`) + _$ssrStyleProperty(";height:", `${_$escape(layout.height, true)}%`) + _$ssrStyleProperty(";left:", _$escape(position.left, true)) + _$ssrStyleProperty(";width:", _$escape(position.width, true)) + _$ssrStyleProperty(";z-index:", _$escape(String(20 + layoutItem.lane), true)), _$escape(_$createComponent(EventChip, {
2893
2902
  event: event,
2894
2903
  get owner() {
2895
2904
  return props.owner;
@@ -2909,7 +2918,7 @@ const TimeGridView = props => {
2909
2918
  return props.owner.onEventResize;
2910
2919
  },
2911
2920
  get children() {
2912
- return _$ssr(_tmpl$47, _$ssrAttribute("aria-label", _$escape(calendarMessages().resizeEvent, true), false));
2921
+ return _$ssr(_tmpl$48, _$ssrAttribute("aria-label", _$escape(calendarMessages().resizeEvent, true), false));
2913
2922
  }
2914
2923
  })));
2915
2924
  }
@@ -2921,14 +2930,14 @@ const TimeGridView = props => {
2921
2930
  const layout = timeRangeLayout(overflow.groupStartDate, overflow.groupEndDate);
2922
2931
  const key = `${dayKey}-${overflow.groupId}`;
2923
2932
  const hiddenTitle = () => overflow.hiddenEvents.map(event => `${formatTime(event.startDate, dateConfig())} ${event.title}`).join("\n");
2924
- return [_$ssr(_tmpl$49, _$ssrStyleProperty("top:", `${_$escape(layout.top, true)}%`) + _$ssrStyleProperty(";height:", `${_$escape(layout.height, true)}%`), _$ssrAttribute("title", _$escape(hiddenTitle(), true), false) + _$ssrAttribute("aria-label", _$escape(calendarMessages().hiddenOverlappingEvents({
2933
+ return [_$ssr(_tmpl$50, _$ssrStyleProperty("top:", `${_$escape(layout.top, true)}%`) + _$ssrStyleProperty(";height:", `${_$escape(layout.height, true)}%`), _$ssrAttribute("title", _$escape(hiddenTitle(), true), false) + _$ssrAttribute("aria-label", _$escape(calendarMessages().hiddenOverlappingEvents({
2925
2934
  count: overflow.hiddenEvents.length
2926
2935
  }), true), false), _$escape(overflow.hiddenEvents.length)), _$createComponent(Show, {
2927
2936
  get when() {
2928
2937
  return expandedOverflow() === key;
2929
2938
  },
2930
2939
  get children() {
2931
- return _$ssr(_tmpl$50, _$ssrStyleProperty("top:", `${_$escape(layout.top, true)}%`), _$escape(formatTime(overflow.groupStartDate, dateConfig())), _$escape(formatTime(overflow.groupEndDate, dateConfig())), _$escape(_$createComponent(For, {
2940
+ return _$ssr(_tmpl$51, _$ssrStyleProperty("top:", `${_$escape(layout.top, true)}%`), _$escape(formatTime(overflow.groupStartDate, dateConfig())), _$escape(formatTime(overflow.groupEndDate, dateConfig())), _$escape(_$createComponent(For, {
2932
2941
  get each() {
2933
2942
  return overflow.hiddenEvents;
2934
2943
  },
@@ -2987,11 +2996,11 @@ const YearView = props => {
2987
2996
  };
2988
2997
  });
2989
2998
  });
2990
- return _$ssr(_tmpl$51, _$escape(_$createComponent(For, {
2999
+ return _$ssr(_tmpl$52, _$escape(_$createComponent(For, {
2991
3000
  get each() {
2992
3001
  return months();
2993
3002
  },
2994
- children: month => _$ssr(_tmpl$52, _$escape(month.label), _$escape(_$createComponent(For, {
3003
+ children: month => _$ssr(_tmpl$53, _$escape(month.label), _$escape(_$createComponent(For, {
2995
3004
  get each() {
2996
3005
  return month.days;
2997
3006
  },
@@ -3014,7 +3023,7 @@ const YearView = props => {
3014
3023
  get when() {
3015
3024
  return day.events[0];
3016
3025
  },
3017
- children: event => _$ssr(_tmpl$53, _$ssrAttribute("data-color", event().colorHex ? _$escape(undefined, true) : _$escape(event().color ?? "blue", true), false) + _$ssrAttribute("data-today", day.isToday ? "true" : _$escape(undefined, true), false), _$ssrStyle(event().colorHex ? {
3026
+ children: event => _$ssr(_tmpl$54, _$ssrAttribute("data-color", event().colorHex ? _$escape(undefined, true) : _$escape(event().color ?? "blue", true), false) + _$ssrAttribute("data-today", day.isToday ? "true" : _$escape(undefined, true), false), _$ssrStyle(event().colorHex ? {
3018
3027
  "background-color": day.isToday ? "white" : event().colorHex
3019
3028
  } : undefined))
3020
3029
  })];
@@ -3027,7 +3036,7 @@ const MobileMonthView = props => {
3027
3036
  const dateConfig = createMemo(() => ownerDateConfig(props.owner));
3028
3037
  const selectedDateKey = createMemo(() => calendar.formatDateKey(props.selectedDate, dateConfig()));
3029
3038
  const selectedEvents = createMemo(() => props.events.filter(event => event.dayKey === selectedDateKey()));
3030
- return _$ssr(_tmpl$55, _$escape(_$createComponent(MonthPickerView, {
3039
+ return _$ssr(_tmpl$56, _$escape(_$createComponent(MonthPickerView, {
3031
3040
  get owner() {
3032
3041
  return {
3033
3042
  ...props.owner,
@@ -3057,10 +3066,10 @@ const MobileMonthView = props => {
3057
3066
  return selectedEvents().length > 0;
3058
3067
  },
3059
3068
  get fallback() {
3060
- return _$ssr(_tmpl$56, _$escape(props.labels.noEvents));
3069
+ return _$ssr(_tmpl$57, _$escape(props.labels.noEvents));
3061
3070
  },
3062
3071
  get children() {
3063
- return _$ssr(_tmpl$54, _$escape(_$createComponent(For, {
3072
+ return _$ssr(_tmpl$55, _$escape(_$createComponent(For, {
3064
3073
  get each() {
3065
3074
  return selectedEvents();
3066
3075
  },
@@ -3077,7 +3086,7 @@ const MobileMonthView = props => {
3077
3086
  }
3078
3087
  })));
3079
3088
  };
3080
- const CalendarBody = props => _$ssr(_tmpl$57, _$escape(props.children));
3089
+ const CalendarBody = props => _$ssr(_tmpl$58, _$escape(props.children));
3081
3090
  const CalendarRoot = props => {
3082
3091
  const messages = useUiMessages();
3083
3092
  const calendarMessages = useCalendarMessages();
@@ -3304,7 +3313,7 @@ const CalendarRoot = props => {
3304
3313
  },
3305
3314
  register: setTimeView
3306
3315
  });
3307
- return _$ssr(_tmpl$58, `k2b-content-calendar ${_$escape(props.class ?? "", true)}`, _$ssrAttribute("aria-busy", props.navigationPending ? "true" : _$escape(undefined, true), false), _$escape(_$createComponent(CalendarHeader, {
3316
+ return _$ssr(_tmpl$59, `k2b-content-calendar ${_$escape(props.class ?? "", true)}`, _$ssrAttribute("aria-busy", props.navigationPending ? "true" : _$escape(undefined, true), false), _$escape(_$createComponent(CalendarHeader, {
3308
3317
  get date() {
3309
3318
  return date();
3310
3319
  },