@vonage/vivid 5.4.0 → 5.6.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 (351) hide show
  1. package/LICENSE.md +201 -0
  2. package/accordion/definition.cjs +5 -0
  3. package/accordion/definition.js +5 -0
  4. package/accordion/index.cjs +1 -1
  5. package/accordion/index.js +14 -3
  6. package/alert/definition.cjs +4 -12
  7. package/alert/definition.js +5 -13
  8. package/alert/index.cjs +11 -11
  9. package/alert/index.js +33 -37
  10. package/audio-player/definition.cjs +4 -0
  11. package/audio-player/definition.js +4 -0
  12. package/audio-player/index.cjs +1 -1
  13. package/audio-player/index.js +8 -2
  14. package/banner/definition.cjs +2 -4
  15. package/banner/definition.js +2 -4
  16. package/banner/index.cjs +2 -2
  17. package/banner/index.js +1 -1
  18. package/breadcrumb/definition.cjs +1 -0
  19. package/breadcrumb/definition.js +1 -0
  20. package/breadcrumb/index.cjs +1 -1
  21. package/breadcrumb/index.js +1 -0
  22. package/bundled/affix.js +1 -1
  23. package/bundled/anchored.cjs +1 -1
  24. package/bundled/anchored.js +6 -6
  25. package/bundled/attribute-binding-behaviour.cjs +1 -1
  26. package/bundled/attribute-binding-behaviour.js +3 -1
  27. package/bundled/base-color-picker.cjs +18 -13
  28. package/bundled/base-color-picker.js +107 -84
  29. package/bundled/base-progress.cjs +1 -1
  30. package/bundled/base-progress.js +3 -0
  31. package/bundled/button.cjs +1 -1
  32. package/bundled/button.js +14 -10
  33. package/bundled/calendar-picker.template.cjs +1 -1
  34. package/bundled/calendar-picker.template.js +4 -2
  35. package/bundled/char-count.cjs +1 -1
  36. package/bundled/char-count.js +1 -1
  37. package/bundled/definition10.cjs +7 -7
  38. package/bundled/definition10.js +29 -19
  39. package/bundled/definition11.cjs +12 -19
  40. package/bundled/definition11.js +73 -204
  41. package/bundled/definition12.cjs +19 -10
  42. package/bundled/definition12.js +218 -36
  43. package/bundled/definition13.cjs +10 -1
  44. package/bundled/definition13.js +38 -14
  45. package/bundled/definition14.cjs +1 -5
  46. package/bundled/definition14.js +15 -24
  47. package/bundled/definition15.cjs +5 -30
  48. package/bundled/definition15.js +22 -73
  49. package/bundled/definition16.cjs +30 -19
  50. package/bundled/definition16.js +74 -97
  51. package/bundled/definition17.cjs +19 -13
  52. package/bundled/definition17.js +86 -117
  53. package/bundled/definition18.cjs +13 -12
  54. package/bundled/definition18.js +125 -71
  55. package/bundled/definition19.cjs +16 -16
  56. package/bundled/definition19.js +132 -94
  57. package/bundled/definition2.cjs +8 -9
  58. package/bundled/definition2.js +89 -142
  59. package/bundled/definition22.cjs +1 -1
  60. package/bundled/definition22.js +1 -0
  61. package/bundled/definition3.cjs +1 -1
  62. package/bundled/definition3.js +2 -1
  63. package/bundled/definition5.cjs +1 -1
  64. package/bundled/definition5.js +9 -3
  65. package/bundled/definition6.cjs +1 -1
  66. package/bundled/definition6.js +1 -0
  67. package/bundled/definition7.cjs +1 -1
  68. package/bundled/definition7.js +7 -4
  69. package/bundled/definition8.cjs +1 -1
  70. package/bundled/definition8.js +1 -0
  71. package/bundled/definition9.cjs +6 -6
  72. package/bundled/definition9.js +545 -488
  73. package/bundled/delegates-aria.cjs +1 -1
  74. package/bundled/delegates-aria.js +3 -1
  75. package/bundled/form-associated.cjs +1 -1
  76. package/bundled/form-associated.js +11 -3
  77. package/bundled/host-semantics.js +4 -4
  78. package/bundled/listbox.cjs +1 -1
  79. package/bundled/listbox.js +22 -4
  80. package/bundled/localized.cjs +1 -1
  81. package/bundled/localized.js +149 -66
  82. package/bundled/mixins.cjs +4 -4
  83. package/bundled/mixins.js +11 -8
  84. package/bundled/picker-field.template.cjs +14 -14
  85. package/bundled/picker-field.template.js +36 -56
  86. package/bundled/scrollIntoView.cjs +1 -1
  87. package/bundled/scrollIntoView.js +4 -1
  88. package/bundled/text-field.cjs +1 -1
  89. package/bundled/text-field.js +1 -1
  90. package/bundled/time-selection-picker.template.cjs +12 -12
  91. package/bundled/time-selection-picker.template.js +16 -12
  92. package/bundled/trapped-focus.cjs +1 -0
  93. package/bundled/trapped-focus.js +26 -0
  94. package/bundled/vivid-element.cjs +4 -4
  95. package/bundled/vivid-element.js +529 -492
  96. package/calendar/definition.cjs +2 -0
  97. package/calendar/definition.js +2 -0
  98. package/calendar/index.cjs +13 -13
  99. package/calendar/index.js +174 -144
  100. package/checkbox/definition.cjs +1 -0
  101. package/checkbox/definition.js +1 -0
  102. package/color-picker/definition.cjs +213 -112
  103. package/color-picker/definition.js +213 -112
  104. package/color-picker/index.cjs +104 -75
  105. package/color-picker/index.js +417 -326
  106. package/combobox/definition.cjs +17 -6
  107. package/combobox/definition.js +17 -6
  108. package/combobox/index.cjs +14 -9
  109. package/combobox/index.js +54 -42
  110. package/contextual-help/index.cjs +1 -1
  111. package/contextual-help/index.js +1 -1
  112. package/custom-elements.json +6976 -484
  113. package/data-grid/definition.cjs +105 -7
  114. package/data-grid/definition.js +105 -7
  115. package/data-grid/index.cjs +52 -38
  116. package/data-grid/index.js +313 -242
  117. package/date-picker/index.cjs +1 -1
  118. package/date-picker/index.js +2 -2
  119. package/date-range-picker/definition.cjs +2 -0
  120. package/date-range-picker/definition.js +2 -0
  121. package/date-range-picker/index.cjs +1 -1
  122. package/date-range-picker/index.js +7 -3
  123. package/date-time-picker/index.cjs +1 -1
  124. package/date-time-picker/index.js +2 -2
  125. package/dial-pad/definition.cjs +148 -0
  126. package/dial-pad/definition.js +148 -0
  127. package/dial-pad/index.cjs +27 -20
  128. package/dial-pad/index.js +202 -101
  129. package/dialog/definition.cjs +1 -0
  130. package/dialog/definition.js +1 -0
  131. package/dialog/index.cjs +1 -1
  132. package/dialog/index.js +1 -0
  133. package/divider/index.cjs +1 -1
  134. package/divider/index.js +1 -1
  135. package/fab/definition.cjs +1 -0
  136. package/fab/definition.js +1 -0
  137. package/fab/index.cjs +1 -1
  138. package/fab/index.js +1 -0
  139. package/file-picker/definition.cjs +7 -2
  140. package/file-picker/definition.js +7 -2
  141. package/file-picker/index.cjs +6 -6
  142. package/file-picker/index.js +82 -73
  143. package/icon/definition.cjs +66 -41
  144. package/icon/definition.js +67 -42
  145. package/index.cjs +21 -0
  146. package/index.js +1 -1
  147. package/lib/color-picker/color-picker.d.ts +390 -12
  148. package/lib/color-picker/locale.d.ts +4 -0
  149. package/lib/data-grid/locale.d.ts +5 -0
  150. package/lib/date-picker/date-picker.d.ts +38 -38
  151. package/lib/date-range-picker/date-range-picker.d.ts +20 -20
  152. package/lib/date-time-picker/date-time-picker.d.ts +40 -40
  153. package/lib/dial-pad/dial-pad.d.ts +1 -0
  154. package/lib/icon/icon.d.ts +1 -1
  155. package/lib/menu/menu.d.ts +4 -4
  156. package/lib/rich-text-editor/definition.d.ts +3 -2
  157. package/lib/rich-text-editor/locale.d.ts +29 -3
  158. package/lib/rich-text-editor/popover.d.ts +19 -0
  159. package/lib/rich-text-editor/rich-text-editor.d.ts +16 -45
  160. package/lib/rich-text-editor/rich-text-editor.template.d.ts +2 -2
  161. package/lib/rich-text-editor/rte/config.d.ts +18 -0
  162. package/lib/rich-text-editor/rte/document.d.ts +28 -0
  163. package/lib/rich-text-editor/rte/exports.d.ts +23 -0
  164. package/lib/rich-text-editor/rte/feature.d.ts +46 -0
  165. package/lib/rich-text-editor/rte/features/internal/basic-text-blocks.d.ts +33 -0
  166. package/lib/rich-text-editor/rte/features/internal/foreign-html.d.ts +11 -0
  167. package/lib/rich-text-editor/rte/features/internal/history.d.ts +10 -0
  168. package/lib/rich-text-editor/rte/features/internal/text-style.d.ts +18 -0
  169. package/lib/rich-text-editor/rte/html-parser.d.ts +24 -0
  170. package/lib/rich-text-editor/rte/html-serializer.d.ts +30 -0
  171. package/lib/rich-text-editor/rte/instance.d.ts +57 -0
  172. package/lib/rich-text-editor/rte/utils/default-textblock.d.ts +2 -0
  173. package/lib/rich-text-editor/rte/utils/impl.d.ts +1 -0
  174. package/lib/rich-text-editor/rte/utils/textblock-attrs.d.ts +29 -0
  175. package/lib/rich-text-editor/rte/utils/textblock-marks.d.ts +10 -0
  176. package/lib/rich-text-editor/rte/utils/ui.d.ts +109 -0
  177. package/lib/simple-color-picker/simple-color-picker.d.ts +6 -5
  178. package/lib/text-area/text-area.d.ts +1 -1
  179. package/lib/text-field/text-field.d.ts +1 -1
  180. package/lib/time-picker/time-picker.d.ts +20 -20
  181. package/lib/toggletip/toggletip.d.ts +4 -4
  182. package/lib/tooltip/tooltip.d.ts +4 -4
  183. package/locales/de-DE.cjs +58 -7
  184. package/locales/de-DE.js +58 -7
  185. package/locales/en-GB.cjs +60 -9
  186. package/locales/en-GB.js +60 -9
  187. package/locales/en-US.cjs +60 -9
  188. package/locales/en-US.js +60 -9
  189. package/locales/ja-JP.cjs +59 -8
  190. package/locales/ja-JP.js +59 -8
  191. package/locales/zh-CN.cjs +58 -7
  192. package/locales/zh-CN.js +58 -7
  193. package/menu/definition.cjs +1 -0
  194. package/menu/definition.js +1 -0
  195. package/number-field/definition.cjs +5 -3
  196. package/number-field/definition.js +5 -3
  197. package/number-field/index.cjs +5 -3
  198. package/number-field/index.js +34 -32
  199. package/option/index.cjs +1 -1
  200. package/option/index.js +1 -1
  201. package/package.json +76 -62
  202. package/pagination/definition.cjs +2 -0
  203. package/pagination/definition.js +2 -0
  204. package/pagination/index.cjs +1 -1
  205. package/pagination/index.js +2 -0
  206. package/progress-ring/index.cjs +1 -1
  207. package/progress-ring/index.js +1 -1
  208. package/radio/definition.cjs +4 -0
  209. package/radio/definition.js +4 -0
  210. package/radio/index.cjs +1 -1
  211. package/radio/index.js +1 -1
  212. package/radio-group/index.cjs +1 -1
  213. package/radio-group/index.js +1 -1
  214. package/range-slider/definition.cjs +2 -1
  215. package/range-slider/definition.js +2 -1
  216. package/range-slider/index.cjs +1 -1
  217. package/range-slider/index.js +3 -1
  218. package/rich-text-editor/definition.cjs +17942 -1074
  219. package/rich-text-editor/definition.js +17926 -1079
  220. package/rich-text-editor/index.cjs +29 -130
  221. package/rich-text-editor/index.js +5565 -2474
  222. package/searchable-select/definition.cjs +6 -2
  223. package/searchable-select/definition.js +6 -2
  224. package/searchable-select/index.cjs +1 -1
  225. package/searchable-select/index.js +14 -10
  226. package/select/definition.cjs +22 -4
  227. package/select/definition.js +22 -4
  228. package/selectable-box/index.cjs +1 -1
  229. package/selectable-box/index.js +1 -1
  230. package/shared/color-picker/base-color-picker.d.ts +2 -1
  231. package/shared/patterns/anchored.d.ts +8 -8
  232. package/shared/patterns/char-count/char-count.d.ts +1 -1
  233. package/shared/patterns/localized.d.ts +386 -0
  234. package/shared/picker-field/mixins/calendar-picker.d.ts +10 -10
  235. package/shared/picker-field/mixins/calendar-picker.template.d.ts +10 -10
  236. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +20 -20
  237. package/shared/picker-field/mixins/single-date-picker.d.ts +28 -28
  238. package/shared/picker-field/mixins/single-value-picker.d.ts +8 -8
  239. package/shared/picker-field/mixins/time-selection-picker.d.ts +20 -20
  240. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +20 -20
  241. package/shared/utils/promise.d.ts +7 -0
  242. package/simple-color-picker/definition.cjs +11 -6
  243. package/simple-color-picker/definition.js +11 -6
  244. package/simple-color-picker/index.cjs +6 -6
  245. package/simple-color-picker/index.js +44 -39
  246. package/slider/definition.cjs +7 -1
  247. package/slider/definition.js +7 -1
  248. package/styles/core/all.css +5 -1
  249. package/styles/core/theme.css +5 -1
  250. package/styles/core/typography.css +1 -1
  251. package/styles/tokens/theme-dark.css +4 -4
  252. package/styles/tokens/theme-light.css +4 -4
  253. package/styles/tokens/vivid-2-compat.css +1 -1
  254. package/switch/definition.cjs +1 -0
  255. package/switch/definition.js +1 -0
  256. package/switch/index.cjs +1 -1
  257. package/switch/index.js +1 -0
  258. package/tabs/definition.cjs +2 -0
  259. package/tabs/definition.js +2 -0
  260. package/tabs/index.cjs +1 -1
  261. package/tabs/index.js +2 -0
  262. package/tag/definition.cjs +34 -14
  263. package/tag/definition.js +34 -14
  264. package/tag/index.cjs +25 -12
  265. package/tag/index.js +64 -47
  266. package/tag-group/definition.cjs +1 -2
  267. package/tag-group/definition.js +1 -2
  268. package/tag-group/index.cjs +1 -1
  269. package/tag-group/index.js +11 -12
  270. package/text-area/definition.cjs +13 -7
  271. package/text-area/definition.js +13 -7
  272. package/text-area/index.cjs +6 -6
  273. package/text-area/index.js +20 -14
  274. package/text-field/definition.cjs +16 -6
  275. package/text-field/definition.js +16 -6
  276. package/time-picker/index.cjs +1 -1
  277. package/time-picker/index.js +1 -1
  278. package/toggletip/definition.cjs +5 -1
  279. package/toggletip/definition.js +5 -1
  280. package/toggletip/index.cjs +1 -1
  281. package/toggletip/index.js +1 -1
  282. package/tooltip/definition.cjs +6 -3
  283. package/tooltip/definition.js +6 -3
  284. package/tooltip/index.cjs +1 -1
  285. package/tooltip/index.js +1 -1
  286. package/tree-view/definition.cjs +28 -6
  287. package/tree-view/definition.js +28 -6
  288. package/tree-view/index.cjs +1 -1
  289. package/tree-view/index.js +28 -6
  290. package/unbundled/_commonjsHelpers.cjs +0 -26
  291. package/unbundled/_commonjsHelpers.js +1 -26
  292. package/unbundled/attribute-binding-behaviour.cjs +1 -0
  293. package/unbundled/attribute-binding-behaviour.js +1 -0
  294. package/unbundled/base-color-picker.cjs +45 -21
  295. package/unbundled/base-color-picker.js +45 -21
  296. package/unbundled/base-progress.cjs +3 -0
  297. package/unbundled/base-progress.js +3 -0
  298. package/unbundled/button.cjs +14 -10
  299. package/unbundled/button.js +14 -10
  300. package/unbundled/calendar-picker.template.cjs +3 -1
  301. package/unbundled/calendar-picker.template.js +3 -1
  302. package/unbundled/definition.cjs +1 -0
  303. package/unbundled/definition.js +1 -0
  304. package/unbundled/definition2.cjs +4 -1
  305. package/unbundled/definition2.js +4 -1
  306. package/unbundled/definition3.cjs +1 -0
  307. package/unbundled/definition3.js +1 -0
  308. package/unbundled/definition4.cjs +1 -0
  309. package/unbundled/definition4.js +1 -0
  310. package/unbundled/definition5.cjs +3 -2
  311. package/unbundled/definition5.js +4 -3
  312. package/unbundled/delegates-aria.cjs +1 -0
  313. package/unbundled/delegates-aria.js +1 -0
  314. package/unbundled/form-associated.cjs +4 -0
  315. package/unbundled/form-associated.js +4 -0
  316. package/unbundled/listbox.cjs +16 -1
  317. package/unbundled/listbox.js +16 -1
  318. package/unbundled/localized.cjs +36 -0
  319. package/unbundled/localized.js +37 -2
  320. package/unbundled/mixins.cjs +2 -0
  321. package/unbundled/mixins.js +2 -0
  322. package/unbundled/picker-field.template.cjs +3 -35
  323. package/unbundled/picker-field.template.js +3 -34
  324. package/unbundled/scrollIntoView.cjs +1 -0
  325. package/unbundled/scrollIntoView.js +1 -0
  326. package/unbundled/text-field.cjs +1 -1
  327. package/unbundled/text-field.js +1 -1
  328. package/unbundled/time-selection-picker.template.cjs +5 -1
  329. package/unbundled/time-selection-picker.template.js +5 -1
  330. package/unbundled/trapped-focus.cjs +37 -0
  331. package/unbundled/trapped-focus.js +34 -0
  332. package/unbundled/vivid-element.cjs +1 -1
  333. package/unbundled/vivid-element.js +1 -1
  334. package/video-player/definition.cjs +54 -44
  335. package/video-player/definition.js +50 -40
  336. package/video-player/index.cjs +28 -28
  337. package/video-player/index.js +1448 -1442
  338. package/visually-hidden/index.cjs +1 -1
  339. package/visually-hidden/index.js +1 -1
  340. package/vivid.api.json +6463 -6099
  341. package/bundled/_has.cjs +0 -1
  342. package/bundled/_has.js +0 -34
  343. package/lib/rich-text-editor/facades/prose-mirror-vivid.schema.d.ts +0 -4
  344. package/lib/rich-text-editor/facades/vivid-prose-mirror.facade.d.ts +0 -18
  345. package/lib/rich-text-editor/image-placeholder/definition.d.ts +0 -2
  346. package/lib/rich-text-editor/image-placeholder/image-placeholder.d.ts +0 -7
  347. package/lib/rich-text-editor/image-placeholder/image-placeholder.template.d.ts +0 -4
  348. package/lib/rich-text-editor/menubar/consts.d.ts +0 -18
  349. package/lib/rich-text-editor/menubar/definition.d.ts +0 -2
  350. package/lib/rich-text-editor/menubar/menubar.d.ts +0 -386
  351. package/lib/rich-text-editor/menubar/menubar.template.d.ts +0 -4
@@ -20,6 +20,7 @@ function isCellOrHeader(el) {
20
20
  }
21
21
  const getCellOrHeader = (f) => f.matches('[role="columnheader"i]') ? '[role="gridcell"i]' : '[role="columnheader"i]';
22
22
  function getNextFocusableGridElement(key, activeElement) {
23
+ /* v8 ignore else -- @preserve */
23
24
  if (activeElement.parentNode instanceof HTMLElement) {
24
25
  switch (key) {
25
26
  case ARROW_RIGHT:
@@ -55,6 +56,7 @@ function getDay(el) {
55
56
  const cellOrHeader = el.closest('[role="gridcell"i], [role="columnheader"i]');
56
57
  if (cellOrHeader) {
57
58
  const { parentElement } = cellOrHeader;
59
+ /* v8 ignore else -- @preserve */
58
60
  if (parentElement) {
59
61
  return parentElement.children && Array.from(parentElement.children).indexOf(cellOrHeader);
60
62
  }
@@ -16,6 +16,7 @@ function isCellOrHeader(el) {
16
16
  }
17
17
  const getCellOrHeader = (f) => f.matches('[role="columnheader"i]') ? '[role="gridcell"i]' : '[role="columnheader"i]';
18
18
  function getNextFocusableGridElement(key, activeElement) {
19
+ /* v8 ignore else -- @preserve */
19
20
  if (activeElement.parentNode instanceof HTMLElement) {
20
21
  switch (key) {
21
22
  case ARROW_RIGHT:
@@ -51,6 +52,7 @@ function getDay(el) {
51
52
  const cellOrHeader = el.closest('[role="gridcell"i], [role="columnheader"i]');
52
53
  if (cellOrHeader) {
53
54
  const { parentElement } = cellOrHeader;
55
+ /* v8 ignore else -- @preserve */
54
56
  if (parentElement) {
55
57
  return parentElement.children && Array.from(parentElement.children).indexOf(cellOrHeader);
56
58
  }
@@ -1,14 +1,14 @@
1
- "use strict";const l=require("../bundled/vivid-element.cjs"),q=require("../bundled/enums.cjs"),x=require("../bundled/calendar-event.cjs"),a=require("../bundled/_has.cjs"),m=require("../bundled/repeat.cjs"),I=require("../bundled/class-names.cjs"),$=Array.isArray||function(e){return e!=null&&e.length>=0&&Object.prototype.toString.call(e)==="[object Array]"};function v(t){for(var e=[],r;!(r=t.next()).done;)e.push(r.value);return e}function w(t,e,r){for(var n=0,o=r.length;n<o;){if(t(e,r[n]))return!0;n+=1}return!1}function z(t){var e=String(t).match(/^function (\w*)/);return e==null?"":e[1]}function H(t,e){return t===e?t!==0||1/t===1/e:t!==t&&e!==e}const g=typeof Object.is=="function"?Object.is:H;var b=Object.prototype.toString,D=function(){return b.call(arguments)==="[object Arguments]"?function(e){return b.call(e)==="[object Arguments]"}:function(e){return a._has("callee",e)}}(),R=!{toString:null}.propertyIsEnumerable("toString"),A=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],k=function(){return arguments.propertyIsEnumerable("length")}(),T=function(e,r){for(var n=0;n<e.length;){if(e[n]===r)return!0;n+=1}return!1},_=typeof Object.keys=="function"&&!k?a._curry1(function(e){return Object(e)!==e?[]:Object.keys(e)}):a._curry1(function(e){if(Object(e)!==e)return[];var r,n,o=[],i=k&&D(e);for(r in e)a._has(r,e)&&(!i||r!=="length")&&(o[o.length]=r);if(R)for(n=A.length-1;n>=0;)r=A[n],a._has(r,e)&&!T(o,r)&&(o[o.length]=r),n-=1;return o}),O=a._curry1(function(e){return e===null?"Null":e===void 0?"Undefined":Object.prototype.toString.call(e).slice(8,-1)});function E(t,e,r,n){var o=v(t),i=v(e);function s(c,d){return y(c,d,r.slice(),n.slice())}return!w(function(c,d){return!w(s,d,c)},i,o)}function y(t,e,r,n){if(g(t,e))return!0;var o=O(t);if(o!==O(e))return!1;if(typeof t["fantasy-land/equals"]=="function"||typeof e["fantasy-land/equals"]=="function")return typeof t["fantasy-land/equals"]=="function"&&t["fantasy-land/equals"](e)&&typeof e["fantasy-land/equals"]=="function"&&e["fantasy-land/equals"](t);if(typeof t.equals=="function"||typeof e.equals=="function")return typeof t.equals=="function"&&t.equals(e)&&typeof e.equals=="function"&&e.equals(t);switch(o){case"Arguments":case"Array":case"Object":if(typeof t.constructor=="function"&&z(t.constructor)==="Promise")return t===e;break;case"Boolean":case"Number":case"String":if(!(typeof t==typeof e&&g(t.valueOf(),e.valueOf())))return!1;break;case"Date":if(!g(t.valueOf(),e.valueOf()))return!1;break;case"Error":return t.name===e.name&&t.message===e.message;case"RegExp":if(!(t.source===e.source&&t.global===e.global&&t.ignoreCase===e.ignoreCase&&t.multiline===e.multiline&&t.sticky===e.sticky&&t.unicode===e.unicode))return!1;break}for(var i=r.length-1;i>=0;){if(r[i]===t)return n[i]===e;i-=1}switch(o){case"Map":return t.size!==e.size?!1:E(t.entries(),e.entries(),r.concat([t]),n.concat([e]));case"Set":return t.size!==e.size?!1:E(t.values(),e.values(),r.concat([t]),n.concat([e]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var s=_(t);if(s.length!==_(e).length)return!1;var c=r.concat([t]),d=n.concat([e]);for(i=s.length-1;i>=0;){var f=s[i];if(!(a._has(f,e)&&y(e[f],t[f],c,d)))return!1;i-=1}return!0}var M=a._curry2(function(e,r){return y(e,r,[],[])});function F(t){return Object.prototype.toString.call(t)==="[object Object]"}function N(t){return Object.prototype.toString.call(t)==="[object String]"}var U=a._curry1(function(e){return!e});function P(t){var e=Object.prototype.toString.call(t);return e==="[object Uint8ClampedArray]"||e==="[object Int8Array]"||e==="[object Uint8Array]"||e==="[object Int16Array]"||e==="[object Uint16Array]"||e==="[object Int32Array]"||e==="[object Uint32Array]"||e==="[object Float32Array]"||e==="[object Float64Array]"||e==="[object BigInt64Array]"||e==="[object BigUint64Array]"}var L=a._curry1(function(e){return e!=null&&typeof e["fantasy-land/empty"]=="function"?e["fantasy-land/empty"]():e!=null&&e.constructor!=null&&typeof e.constructor["fantasy-land/empty"]=="function"?e.constructor["fantasy-land/empty"]():e!=null&&typeof e.empty=="function"?e.empty():e!=null&&e.constructor!=null&&typeof e.constructor.empty=="function"?e.constructor.empty():e==Set||e instanceof Set?new Set:e==Map||e instanceof Map?new Map:$(e)?[]:N(e)?"":F(e)?{}:D(e)?function(){return arguments}():P(e)?e.constructor.from(""):void 0}),W=a._curry1(function(e){return e!=null&&M(e,L(e))});const B=':host{display:block;overflow:auto;block-size:inherit;max-block-size:inherit}ol{padding:0;margin:0;list-style:none}[role=grid i]{position:relative;z-index:0;display:grid;margin:auto;grid-template-areas:"filler column-headers" "row-headers calendar";grid-template-columns:min-content auto;inline-size:max(100%,500px);min-inline-size:880px}.row-headers{display:grid;grid-area:row-headers;grid-template-rows:repeat(24,1fr);margin-inline-end:2px}.row-headers>[role=rowheader i]{display:flex;align-items:flex-end;justify-content:flex-end}.row-headers>[role=rowheader i]>time{font:var(--vvd-typography-base-condensed);font-size:small;line-height:1;text-transform:uppercase;white-space:nowrap}.sticky-column .row-headers,.sticky-all .row-headers{position:sticky;z-index:1;background-color:var(--calendar-column-background-color, var(--vvd-color-canvas));inset-inline-start:0;margin-inline-end:3px}.calendar-row{display:contents}.calendar-grid-presentation{display:grid;overflow:hidden;border-radius:8px;background:var(--vvd-color-surface-2dp);counter-reset:listing;filter:var(--vvd-shadow-surface-2dp);gap:1px;grid-area:calendar;grid-auto-flow:column;grid-template:repeat(24,1fr)/repeat(7,1fr)}.hours{display:contents}.hours>[role=listitem i]{position:relative;grid-column:1/8;grid-row:var(--row);min-block-size:calc(1px*(48 + 4*clamp(-1,var(--vvd-size-density, 0),2)));pointer-events:none}.hours>[role=listitem i]:not(:first-child):after{position:absolute;border-block-end:var(--vvd-color-neutral-100) 1px solid;content:"";inline-size:100%;margin-block-start:-1px}.hours>[role=listitem i]:nth-child(24n+1){--row: 1}.hours>[role=listitem i]:nth-child(24n+2){--row: 2}.hours>[role=listitem i]:nth-child(24n+3){--row: 3}.hours>[role=listitem i]:nth-child(24n+4){--row: 4}.hours>[role=listitem i]:nth-child(24n+5){--row: 5}.hours>[role=listitem i]:nth-child(24n+6){--row: 6}.hours>[role=listitem i]:nth-child(24n+7){--row: 7}.hours>[role=listitem i]:nth-child(24n+8){--row: 8}.hours>[role=listitem i]:nth-child(24n+9){--row: 9}.hours>[role=listitem i]:nth-child(24n+10){--row: 10}.hours>[role=listitem i]:nth-child(24n+11){--row: 11}.hours>[role=listitem i]:nth-child(24n+12){--row: 12}.hours>[role=listitem i]:nth-child(24n+13){--row: 13}.hours>[role=listitem i]:nth-child(24n+14){--row: 14}.hours>[role=listitem i]:nth-child(24n+15){--row: 15}.hours>[role=listitem i]:nth-child(24n+16){--row: 16}.hours>[role=listitem i]:nth-child(24n+17){--row: 17}.hours>[role=listitem i]:nth-child(24n+18){--row: 18}.hours>[role=listitem i]:nth-child(24n+19){--row: 19}.hours>[role=listitem i]:nth-child(24n+20){--row: 20}.hours>[role=listitem i]:nth-child(24n+21){--row: 21}.hours>[role=listitem i]:nth-child(24n+22){--row: 22}.hours>[role=listitem i]:nth-child(24n+23){--row: 23}.hours>[role=listitem i]:nth-child(24n+24){--row: 24}[role=gridcell i]{display:grid;gap:1px;grid-auto-flow:column}[role=gridcell i],[role=columnheader i],[role=columnheader i] [role=button i]{position:relative}[role=gridcell i]:before,[role=columnheader i]:before,[role=columnheader i] [role=button i]:before{position:absolute;z-index:-1;background-color:var(--vvd-color-information-400);content:"";inset:0}[role=gridcell i]:focus,[role=columnheader i]:focus,[role=columnheader i] [role=button i]:focus{outline:none}[role=gridcell i]:not(:focus-visible):before,[role=columnheader i]:not(:focus-visible):before,[role=columnheader i] [role=button i]:not(:focus-visible):before{display:none}.columns{display:contents}.columns>[role=gridcell i]{position:relative;grid-column:var(--column);grid-row:1/25}.columns>[role=gridcell i]:nth-child(1){--column: 1}.columns>[role=gridcell i]:nth-child(2){--column: 2}.columns>[role=gridcell i]:nth-child(3){--column: 3}.columns>[role=gridcell i]:nth-child(4){--column: 4}.columns>[role=gridcell i]:nth-child(5){--column: 5}.columns>[role=gridcell i]:nth-child(6){--column: 6}.columns>[role=gridcell i]:nth-child(7){--column: 7}.columns>[role=gridcell i]:not(:first-child):after{position:absolute;block-size:100%;border-inline-end:var(--vvd-color-neutral-100) 1px solid;content:"";margin-inline-start:-1px}.column-headers{display:grid;grid-area:column-headers;grid-template-columns:repeat(7,1fr)}.column-headers [role=columnheader i] h2{display:grid;align-items:baseline;margin:0;font:var(--vvd-typography-heading-4);grid-template-columns:1fr auto 1fr}.column-headers [role=columnheader i] h2>em{font:inherit;inline-size:min-content;inset-inline-start:0}.column-headers [role=columnheader i] h2>small{font:var(--vvd-typography-base-condensed);text-transform:uppercase}.sticky-header .column-headers,.sticky-all .column-headers{position:sticky;z-index:1;background-color:var(--calendar-header-background-color, var(--vvd-color-canvas));inset-block-start:0;margin-block-end:3px}.filler{background-color:transparent;grid-area:filler}.sticky-header .filler,.sticky-all .filler,.sticky-column .filler{position:sticky;z-index:2;background-color:var(--calendar-header-background-color, var(--vvd-color-canvas));margin-block-end:3px}.sticky-column .filler{inset-inline-start:0}.sticky-header .filler{inset-block-start:0}.sticky-all .filler{inset-block-start:0;inset-inline-start:0}',S="ArrowUp",C="ArrowRight",p="ArrowDown",j="ArrowLeft";function K(t){return t instanceof HTMLElement&&(t.matches('[role="gridcell"i]')||t.matches('[role="columnheader"i]'))}const Y=t=>t.matches('[role="columnheader"i]')?'[role="gridcell"i]':'[role="columnheader"i]';function V(t,e){if(e.parentNode instanceof HTMLElement)switch(t){case C:return e.nextElementSibling||e.parentNode.firstElementChild;case j:return e.previousElementSibling||e.parentNode.lastElementChild;case S:case p:{const{children:r}=e.parentNode,n=Array.from(r).indexOf(e);return this.shadowRoot.querySelector(`${Y(e)}:nth-child(${n+1})`)}}}function G(t,e){if(t!==p)return;const r=e.closest('[role="columnheader"i]'),n=this.shadowRoot.querySelectorAll('[role="columnheader"i]'),o=Array.from(n).indexOf(r);return this.shadowRoot.querySelector(`[role="gridcell"i]:nth-child(${o+1})`)}function X(t){const e=t.closest('[role="gridcell"i], [role="columnheader"i]');if(e){const{parentElement:r}=e;if(r)return r.children&&Array.from(r.children).indexOf(e)}}function J(t,e,r){const n=e.closest('[role="rowheader"], [role="gridcell"i]');if(n){const o=n.getBoundingClientRect(),i=t.clientY-o.y,s=o.height/r,c=i/s;return Math.round((c+Number.EPSILON)*100)/100}}const Q=function(t){if(!(t instanceof KeyboardEvent||t instanceof MouseEvent))throw new Error("Invalid event. Event must be instance of KeyboardEvent or MouseEvent");const[e]=t.composedPath();if(!(e&&e instanceof HTMLElement&&this.shadowRoot.contains(e)))throw new Error("Invalid event. Event must contain a target object which is a direct descendant of calendar");const r=X(e);let n;t instanceof MouseEvent&&(n=J(t,e,this._hours));const o={...r!=null&&{day:r},...n!=null&&{hour:n}};return U(W(o))?o:null};var Z=Object.defineProperty,h=(t,e,r,n)=>{for(var o=void 0,i=t.length-1,s;i>=0;i--)(s=t[i])&&(o=s(e,r,o)||o);return o&&Z(e,r,o),o};const ee=t=>{const e=window.getComputedStyle(t).overflowY,r=window.getComputedStyle(t).overflowX;return{vertical:(e==="auto"||e==="scroll")&&t.scrollHeight>t.clientHeight,horizontal:(r==="auto"||r==="scroll")&&t.scrollWidth>t.clientWidth}};class u extends l.VividElement{constructor(){super(...arguments),this.hour12=!1,this.stickyMode=q.Sticky.All,this._hours=24,this._days=7,this.hoursAsDatetime=Array.from({length:this._hours-1}).fill(new Date(new Date().setHours(0,0,0))).map((e,r)=>new Date(e.setHours(++r))),this._generateDaysArr=e=>{if(e.length==this._days)return e;const r=new Date(e[e.length-1]);return r.setDate(r.getDate()+1),this._generateDaysArr([...e,r])},this.getEventContext=Q}get#e(){const{activeElement:e}=document;return e instanceof x.CalendarEvent?e:null}getCalendarEventContainingCell(e){const r=e.getAttribute("slot");return this.shadowRoot.querySelector(`slot[name="${r}"i]`).parentElement}arrowKeysInteractions(e){const{activeElement:r}=this.shadowRoot;let n;K(r)?n=V.call(this,e,r):this.#e?n=this.getCalendarEventContainingCell(this.#e):r?.matches('em[role="button"i]')?n=G.call(this,e,r):n=this.shadowRoot.querySelector('[role="columnheader"i]'),this.activateElement(n)}activateElement(e){const r=({target:n})=>n.setAttribute("tabindex","-1");e?.addEventListener("blur",r,{once:!0}),e?.setAttribute("tabindex","0"),e?.focus()}onKeydown({key:e}){const r=[S,C,p,j].some(n=>n==e);return r&&this.arrowKeysInteractions(e),!r}connectedCallback(){super.connectedCallback(),this.initializeScrollPosition()}initializeScrollPosition(){if(!ee(this).vertical)return;const n=this.scrollHeight/this._hours*(8-1);l.Updates.enqueue(()=>{this.scrollTo({top:n})})}}h([l.attr],u.prototype,"datetime");h([l.attr({attribute:"start-day"})],u.prototype,"startDay");h([l.attr],u.prototype,"locales");h([l.attr({mode:"boolean"})],u.prototype,"hour12");h([l.attr({attribute:"sticky-mode",mode:"fromView"})],u.prototype,"stickyMode");function te(t){const e=r=>`0${r}`.slice(-2);return`${t.getFullYear()}-${e(t.getMonth()+1)}-${e(t.getDate())}`}const re=new Map([["sunday",0],["monday",1]]);function ne(t=new Date,e){t=new Date(t);let r=re.get(e);r??=1;const n=t.getDate()-(t.getDay()+7-r)%7;return new Date(t.setDate(n))}const oe=({stickyMode:t})=>I.classNames([`sticky-${t}`,!!t]),ie=()=>l.html` <div class="row-headers" role="row">
2
- ${m.repeat(t=>t.hoursAsDatetime,l.html`<span role="rowheader">
1
+ "use strict";const l=require("../bundled/vivid-element.cjs"),I=require("../bundled/enums.cjs"),$=require("../bundled/calendar-event.cjs"),f=require("../bundled/repeat.cjs"),z=require("../bundled/class-names.cjs"),H=':host{display:block;overflow:auto;block-size:inherit;max-block-size:inherit}ol{padding:0;margin:0;list-style:none}[role=grid i]{position:relative;z-index:0;display:grid;margin:auto;grid-template-areas:"filler column-headers" "row-headers calendar";grid-template-columns:min-content auto;inline-size:max(100%,500px);min-inline-size:880px}.row-headers{display:grid;grid-area:row-headers;grid-template-rows:repeat(24,1fr);margin-inline-end:2px}.row-headers>[role=rowheader i]{display:flex;align-items:flex-end;justify-content:flex-end}.row-headers>[role=rowheader i]>time{font:var(--vvd-typography-base-condensed);font-size:small;line-height:1;text-transform:uppercase;white-space:nowrap}.sticky-column .row-headers,.sticky-all .row-headers{position:sticky;z-index:1;background-color:var(--calendar-column-background-color, var(--vvd-color-canvas));inset-inline-start:0;margin-inline-end:3px}.calendar-row{display:contents}.calendar-grid-presentation{display:grid;overflow:hidden;border-radius:8px;background:var(--vvd-color-surface-2dp);counter-reset:listing;filter:var(--vvd-shadow-surface-2dp);gap:1px;grid-area:calendar;grid-auto-flow:column;grid-template:repeat(24,1fr)/repeat(7,1fr)}.hours{display:contents}.hours>[role=listitem i]{position:relative;grid-column:1/8;grid-row:var(--row);min-block-size:calc(1px*(48 + 4*clamp(-1,var(--vvd-size-density, 0),2)));pointer-events:none}.hours>[role=listitem i]:not(:first-child):after{position:absolute;border-block-end:var(--vvd-color-neutral-100) 1px solid;content:"";inline-size:100%;margin-block-start:-1px}.hours>[role=listitem i]:nth-child(24n+1){--row: 1}.hours>[role=listitem i]:nth-child(24n+2){--row: 2}.hours>[role=listitem i]:nth-child(24n+3){--row: 3}.hours>[role=listitem i]:nth-child(24n+4){--row: 4}.hours>[role=listitem i]:nth-child(24n+5){--row: 5}.hours>[role=listitem i]:nth-child(24n+6){--row: 6}.hours>[role=listitem i]:nth-child(24n+7){--row: 7}.hours>[role=listitem i]:nth-child(24n+8){--row: 8}.hours>[role=listitem i]:nth-child(24n+9){--row: 9}.hours>[role=listitem i]:nth-child(24n+10){--row: 10}.hours>[role=listitem i]:nth-child(24n+11){--row: 11}.hours>[role=listitem i]:nth-child(24n+12){--row: 12}.hours>[role=listitem i]:nth-child(24n+13){--row: 13}.hours>[role=listitem i]:nth-child(24n+14){--row: 14}.hours>[role=listitem i]:nth-child(24n+15){--row: 15}.hours>[role=listitem i]:nth-child(24n+16){--row: 16}.hours>[role=listitem i]:nth-child(24n+17){--row: 17}.hours>[role=listitem i]:nth-child(24n+18){--row: 18}.hours>[role=listitem i]:nth-child(24n+19){--row: 19}.hours>[role=listitem i]:nth-child(24n+20){--row: 20}.hours>[role=listitem i]:nth-child(24n+21){--row: 21}.hours>[role=listitem i]:nth-child(24n+22){--row: 22}.hours>[role=listitem i]:nth-child(24n+23){--row: 23}.hours>[role=listitem i]:nth-child(24n+24){--row: 24}[role=gridcell i]{display:grid;gap:1px;grid-auto-flow:column}[role=gridcell i],[role=columnheader i],[role=columnheader i] [role=button i]{position:relative}[role=gridcell i]:before,[role=columnheader i]:before,[role=columnheader i] [role=button i]:before{position:absolute;z-index:-1;background-color:var(--vvd-color-information-400);content:"";inset:0}[role=gridcell i]:focus,[role=columnheader i]:focus,[role=columnheader i] [role=button i]:focus{outline:none}[role=gridcell i]:not(:focus-visible):before,[role=columnheader i]:not(:focus-visible):before,[role=columnheader i] [role=button i]:not(:focus-visible):before{display:none}.columns{display:contents}.columns>[role=gridcell i]{position:relative;grid-column:var(--column);grid-row:1/25}.columns>[role=gridcell i]:nth-child(1){--column: 1}.columns>[role=gridcell i]:nth-child(2){--column: 2}.columns>[role=gridcell i]:nth-child(3){--column: 3}.columns>[role=gridcell i]:nth-child(4){--column: 4}.columns>[role=gridcell i]:nth-child(5){--column: 5}.columns>[role=gridcell i]:nth-child(6){--column: 6}.columns>[role=gridcell i]:nth-child(7){--column: 7}.columns>[role=gridcell i]:not(:first-child):after{position:absolute;block-size:100%;border-inline-end:var(--vvd-color-neutral-100) 1px solid;content:"";margin-inline-start:-1px}.column-headers{display:grid;grid-area:column-headers;grid-template-columns:repeat(7,1fr)}.column-headers [role=columnheader i] h2{display:grid;align-items:baseline;margin:0;font:var(--vvd-typography-heading-4);grid-template-columns:1fr auto 1fr}.column-headers [role=columnheader i] h2>em{font:inherit;inline-size:min-content;inset-inline-start:0}.column-headers [role=columnheader i] h2>small{font:var(--vvd-typography-base-condensed);text-transform:uppercase}.sticky-header .column-headers,.sticky-all .column-headers{position:sticky;z-index:1;background-color:var(--calendar-header-background-color, var(--vvd-color-canvas));inset-block-start:0;margin-block-end:3px}.filler{background-color:transparent;grid-area:filler}.sticky-header .filler,.sticky-all .filler,.sticky-column .filler{position:sticky;z-index:2;background-color:var(--calendar-header-background-color, var(--vvd-color-canvas));margin-block-end:3px}.sticky-column .filler{inset-inline-start:0}.sticky-header .filler{inset-block-start:0}.sticky-all .filler{inset-block-start:0;inset-inline-start:0}',C="ArrowUp",j="ArrowRight",v="ArrowDown",q="ArrowLeft";function R(t){return t instanceof HTMLElement&&(t.matches('[role="gridcell"i]')||t.matches('[role="columnheader"i]'))}const T=t=>t.matches('[role="columnheader"i]')?'[role="gridcell"i]':'[role="columnheader"i]';function M(t,e){/* v8 ignore else -- @preserve */if(e.parentNode instanceof HTMLElement)switch(t){case j:return e.nextElementSibling||e.parentNode.firstElementChild;case q:return e.previousElementSibling||e.parentNode.lastElementChild;case C:case v:{const{children:r}=e.parentNode,n=Array.from(r).indexOf(e);return this.shadowRoot.querySelector(`${T(e)}:nth-child(${n+1})`)}}}function F(t,e){if(t!==v)return;const r=e.closest('[role="columnheader"i]'),n=this.shadowRoot.querySelectorAll('[role="columnheader"i]'),o=Array.from(n).indexOf(r);return this.shadowRoot.querySelector(`[role="gridcell"i]:nth-child(${o+1})`)}function u(t){return t!=null&&typeof t=="object"&&t["@@functional/placeholder"]===!0}function s(t){return function e(r){return arguments.length===0||u(r)?e:t.apply(this,arguments)}}function N(t){return function e(r,n){switch(arguments.length){case 0:return e;case 1:return u(r)?e:s(function(o){return t(r,o)});default:return u(r)&&u(n)?e:u(r)?s(function(o){return t(o,n)}):u(n)?s(function(o){return t(r,o)}):t(r,n)}}}const P=Array.isArray||function(e){return e!=null&&e.length>=0&&Object.prototype.toString.call(e)==="[object Array]"};function b(t){for(var e=[],r;!(r=t.next()).done;)e.push(r.value);return e}function A(t,e,r){for(var n=0,o=r.length;n<o;){if(t(e,r[n]))return!0;n+=1}return!1}function U(t){var e=String(t).match(/^function (\w*)/);return e==null?"":e[1]}function g(t,e){return Object.prototype.hasOwnProperty.call(e,t)}function L(t,e){return t===e?t!==0||1/t===1/e:t!==t&&e!==e}const y=typeof Object.is=="function"?Object.is:L;var k=Object.prototype.toString,x=function(){return k.call(arguments)==="[object Arguments]"?function(e){return k.call(e)==="[object Arguments]"}:function(e){return g("callee",e)}}(),W=!{toString:null}.propertyIsEnumerable("toString"),O=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],E=function(){return arguments.propertyIsEnumerable("length")}(),B=function(e,r){for(var n=0;n<e.length;){if(e[n]===r)return!0;n+=1}return!1},D=s(typeof Object.keys=="function"&&!E?function(e){return Object(e)!==e?[]:Object.keys(e)}:function(e){if(Object(e)!==e)return[];var r,n,o=[],i=E&&x(e);for(r in e)g(r,e)&&(!i||r!=="length")&&(o[o.length]=r);if(W)for(n=O.length-1;n>=0;)r=O[n],g(r,e)&&!B(o,r)&&(o[o.length]=r),n-=1;return o}),S=s(function(e){return e===null?"Null":e===void 0?"Undefined":Object.prototype.toString.call(e).slice(8,-1)});function _(t,e,r,n){var o=b(t),i=b(e);function a(c,h){return w(c,h,r.slice(),n.slice())}return!A(function(c,h){return!A(a,h,c)},i,o)}function w(t,e,r,n){if(y(t,e))return!0;var o=S(t);if(o!==S(e))return!1;if(typeof t["fantasy-land/equals"]=="function"||typeof e["fantasy-land/equals"]=="function")return typeof t["fantasy-land/equals"]=="function"&&t["fantasy-land/equals"](e)&&typeof e["fantasy-land/equals"]=="function"&&e["fantasy-land/equals"](t);if(typeof t.equals=="function"||typeof e.equals=="function")return typeof t.equals=="function"&&t.equals(e)&&typeof e.equals=="function"&&e.equals(t);switch(o){case"Arguments":case"Array":case"Object":if(typeof t.constructor=="function"&&U(t.constructor)==="Promise")return t===e;break;case"Boolean":case"Number":case"String":if(!(typeof t==typeof e&&y(t.valueOf(),e.valueOf())))return!1;break;case"Date":if(!y(t.valueOf(),e.valueOf()))return!1;break;case"Error":return t.name===e.name&&t.message===e.message;case"RegExp":if(!(t.source===e.source&&t.global===e.global&&t.ignoreCase===e.ignoreCase&&t.multiline===e.multiline&&t.sticky===e.sticky&&t.unicode===e.unicode))return!1;break}for(var i=r.length-1;i>=0;){if(r[i]===t)return n[i]===e;i-=1}switch(o){case"Map":return t.size!==e.size?!1:_(t.entries(),e.entries(),r.concat([t]),n.concat([e]));case"Set":return t.size!==e.size?!1:_(t.values(),e.values(),r.concat([t]),n.concat([e]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var a=D(t);if(a.length!==D(e).length)return!1;var c=r.concat([t]),h=n.concat([e]);for(i=a.length-1;i>=0;){var p=a[i];if(!(g(p,e)&&w(e[p],t[p],c,h)))return!1;i-=1}return!0}var K=N(function(e,r){return w(e,r,[],[])});function Y(t){return Object.prototype.toString.call(t)==="[object Object]"}function V(t){return Object.prototype.toString.call(t)==="[object String]"}var G=s(function(e){return!e});function X(t){var e=Object.prototype.toString.call(t);return e==="[object Uint8ClampedArray]"||e==="[object Int8Array]"||e==="[object Uint8Array]"||e==="[object Int16Array]"||e==="[object Uint16Array]"||e==="[object Int32Array]"||e==="[object Uint32Array]"||e==="[object Float32Array]"||e==="[object Float64Array]"||e==="[object BigInt64Array]"||e==="[object BigUint64Array]"}var J=s(function(e){return e!=null&&typeof e["fantasy-land/empty"]=="function"?e["fantasy-land/empty"]():e!=null&&e.constructor!=null&&typeof e.constructor["fantasy-land/empty"]=="function"?e.constructor["fantasy-land/empty"]():e!=null&&typeof e.empty=="function"?e.empty():e!=null&&e.constructor!=null&&typeof e.constructor.empty=="function"?e.constructor.empty():e==Set||e instanceof Set?new Set:e==Map||e instanceof Map?new Map:P(e)?[]:V(e)?"":Y(e)?{}:x(e)?function(){return arguments}():X(e)?e.constructor.from(""):void 0}),Q=s(function(e){return e!=null&&K(e,J(e))});function Z(t){const e=t.closest('[role="gridcell"i], [role="columnheader"i]');if(e){const{parentElement:r}=e;/* v8 ignore else -- @preserve */if(r)return r.children&&Array.from(r.children).indexOf(e)}}function ee(t,e,r){const n=e.closest('[role="rowheader"], [role="gridcell"i]');if(n){const o=n.getBoundingClientRect(),i=t.clientY-o.y,a=o.height/r,c=i/a;return Math.round((c+Number.EPSILON)*100)/100}}const te=function(t){if(!(t instanceof KeyboardEvent||t instanceof MouseEvent))throw new Error("Invalid event. Event must be instance of KeyboardEvent or MouseEvent");const[e]=t.composedPath();if(!(e&&e instanceof HTMLElement&&this.shadowRoot.contains(e)))throw new Error("Invalid event. Event must contain a target object which is a direct descendant of calendar");const r=Z(e);let n;t instanceof MouseEvent&&(n=ee(t,e,this._hours));const o={...r!=null&&{day:r},...n!=null&&{hour:n}};return G(Q(o))?o:null};var re=Object.defineProperty,m=(t,e,r,n)=>{for(var o=void 0,i=t.length-1,a;i>=0;i--)(a=t[i])&&(o=a(e,r,o)||o);return o&&re(e,r,o),o};const ne=t=>{const e=window.getComputedStyle(t).overflowY,r=window.getComputedStyle(t).overflowX;return{vertical:(e==="auto"||e==="scroll")&&t.scrollHeight>t.clientHeight,horizontal:(r==="auto"||r==="scroll")&&t.scrollWidth>t.clientWidth}};class d extends l.VividElement{constructor(){super(...arguments),this.hour12=!1,this.stickyMode=I.Sticky.All,this._hours=24,this._days=7,this.hoursAsDatetime=Array.from({length:this._hours-1}).fill(new Date(new Date().setHours(0,0,0))).map((e,r)=>new Date(e.setHours(++r))),this._generateDaysArr=e=>{if(e.length==this._days)return e;const r=new Date(e[e.length-1]);return r.setDate(r.getDate()+1),this._generateDaysArr([...e,r])},this.getEventContext=te}get#e(){const{activeElement:e}=document;return e instanceof $.CalendarEvent?e:null}getCalendarEventContainingCell(e){const r=e.getAttribute("slot");return this.shadowRoot.querySelector(`slot[name="${r}"i]`).parentElement}arrowKeysInteractions(e){const{activeElement:r}=this.shadowRoot;let n;R(r)?n=M.call(this,e,r):this.#e?n=this.getCalendarEventContainingCell(this.#e):r?.matches('em[role="button"i]')?n=F.call(this,e,r):n=this.shadowRoot.querySelector('[role="columnheader"i]'),this.activateElement(n)}activateElement(e){const r=({target:n})=>n.setAttribute("tabindex","-1");e?.addEventListener("blur",r,{once:!0}),e?.setAttribute("tabindex","0"),e?.focus()}onKeydown({key:e}){const r=[C,j,v,q].some(n=>n==e);return r&&this.arrowKeysInteractions(e),!r}connectedCallback(){super.connectedCallback(),this.initializeScrollPosition()}initializeScrollPosition(){if(!ne(this).vertical)return;const n=this.scrollHeight/this._hours*(8-1);l.Updates.enqueue(()=>{this.scrollTo({top:n})})}}m([l.attr],d.prototype,"datetime");m([l.attr({attribute:"start-day"})],d.prototype,"startDay");m([l.attr],d.prototype,"locales");m([l.attr({mode:"boolean"})],d.prototype,"hour12");m([l.attr({attribute:"sticky-mode",mode:"fromView"})],d.prototype,"stickyMode");function oe(t){const e=r=>`0${r}`.slice(-2);return`${t.getFullYear()}-${e(t.getMonth()+1)}-${e(t.getDate())}`}const ie=new Map([["sunday",0],["monday",1]]);function le(t=new Date,e){t=new Date(t);let r=ie.get(e);r??=1;const n=t.getDate()-(t.getDay()+7-r)%7;return new Date(t.setDate(n))}const ae=({stickyMode:t})=>z.classNames([`sticky-${t}`,!!t]),se=()=>l.html` <div class="row-headers" role="row">
2
+ ${f.repeat(t=>t.hoursAsDatetime,l.html`<span role="rowheader">
3
3
  <time
4
4
  datetime="${(t,e)=>new Intl.DateTimeFormat(e.parent.locales,{hour:"numeric",minute:"numeric",hour12:!1}).format(t)}"
5
5
  >
6
6
  ${(t,e)=>new Intl.DateTimeFormat(e.parent.locales,{hour:"numeric",hour12:e.parent.hour12}).format(t)}
7
7
  </time>
8
8
  </span>`)}
9
- </div>`,le=()=>l.html` <div class="column-headers" role="row">
10
- ${m.repeat(t=>t._generateDaysArr([ne(t.datetime,t.startDay)]),l.html` <div role="columnheader" tabindex="-1">
11
- <time datetime=${t=>te(t)}>
9
+ </div>`,ce=()=>l.html` <div class="column-headers" role="row">
10
+ ${f.repeat(t=>t._generateDaysArr([le(t.datetime,t.startDay)]),l.html` <div role="columnheader" tabindex="-1">
11
+ <time datetime=${t=>oe(t)}>
12
12
  <h2>
13
13
  <!-- TODO add to column aria-labelledby or describedby to count
14
14
  events and related day e.g. "3 events, Sunday, March 8" -->
@@ -25,29 +25,29 @@
25
25
  </h2>
26
26
  </time>
27
27
  </div>`)}
28
- </div>`,ae=l.html`
28
+ </div>`,ue=l.html`
29
29
  <div role="gridcell" tabindex="-1">
30
30
  <slot name="day-${(t,e)=>e.index}"></slot>
31
31
  </div>
32
- `,se=l.html`
32
+ `,de=l.html`
33
33
  <div
34
34
  role="grid"
35
- class="${oe}"
35
+ class="${ae}"
36
36
  @keydown=${(t,e)=>t.onKeydown(e.event)}
37
37
  >
38
38
  <div class="filler"></div>
39
- ${le}
39
+ ${ce}
40
40
  <div class="calendar-row" role="rowgroup">
41
- ${ie}
41
+ ${se}
42
42
  <div class="calendar-grid-presentation" role="presentation">
43
43
  <div class="hours" role="list">
44
- ${m.repeat(t=>Array.from({length:t.hoursAsDatetime.length+1}),l.html` <div role="listitem"></div>`)}
44
+ ${f.repeat(t=>Array.from({length:t.hoursAsDatetime.length+1}),l.html` <div role="listitem"></div>`)}
45
45
  </div>
46
46
  <div class="columns" role="row">
47
- ${m.repeat(t=>Array.from(Array(t._days)),ae,{positioning:!0})}
47
+ ${f.repeat(t=>Array.from(Array(t._days)),ue,{positioning:!0})}
48
48
  </div>
49
49
  <slot></slot>
50
50
  </div>
51
51
  </div>
52
52
  </div>
53
- `,ce=l.defineVividComponent("calendar",u,se,[],{styles:B,shadowOptions:{delegatesFocus:!0}}),ue=l.createRegisterFunction(ce);ue();
53
+ `,he=l.defineVividComponent("calendar",d,de,[],{styles:H,shadowOptions:{delegatesFocus:!0}}),me=l.createRegisterFunction(he);me();