@eunomia/elements 1.0.0-beta.9 → 1.0.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 (322) hide show
  1. package/README.md +28 -6
  2. package/dist/angular/forms.d.ts +80 -0
  3. package/dist/angular/forms.js +267 -0
  4. package/dist/cdn/components/chunks/chunk-2XPIGFBD.js +1 -0
  5. package/dist/cdn/components/chunks/chunk-5IUNSTM3.js +1 -0
  6. package/dist/cdn/components/chunks/chunk-7HXPLZ7C.js +1 -0
  7. package/dist/cdn/components/chunks/{chunk-J3SZBXM6.js → chunk-A2NO4RSF.js} +7 -7
  8. package/dist/cdn/components/chunks/{chunk-Q34EQ5HZ.js → chunk-A623JJXJ.js} +1 -1
  9. package/dist/cdn/components/chunks/{chunk-Y3HOIL64.js → chunk-AW7PU43S.js} +2 -2
  10. package/dist/cdn/components/chunks/{chunk-FF3I7C3C.js → chunk-DWTNRFWW.js} +1 -3
  11. package/dist/cdn/components/chunks/chunk-FPNWPMHA.js +1 -0
  12. package/dist/cdn/components/chunks/chunk-GMWUHGNI.js +319 -0
  13. package/dist/cdn/components/chunks/{chunk-FQUWHNQT.js → chunk-GXOEPXDW.js} +1 -1
  14. package/dist/cdn/components/chunks/chunk-HXESKTK2.js +1 -0
  15. package/dist/cdn/components/chunks/chunk-JDUWKPHW.js +46 -0
  16. package/dist/cdn/components/chunks/{chunk-D3JJBHXN.js → chunk-JLKCBPD2.js} +2 -2
  17. package/dist/cdn/components/chunks/chunk-M6ZJHL4Q.js +1 -0
  18. package/dist/cdn/components/chunks/{chunk-TN3HGHQO.js → chunk-MDSUMP3O.js} +4 -4
  19. package/dist/cdn/components/chunks/chunk-MSQWOKBB.js +1 -0
  20. package/dist/cdn/components/chunks/{chunk-3UUZM7X2.js → chunk-NPXRQHUN.js} +3 -3
  21. package/dist/cdn/components/chunks/chunk-OB7DEGNX.js +1 -0
  22. package/dist/cdn/components/chunks/{chunk-JANNHW4Q.js → chunk-PADHCLBG.js} +4 -4
  23. package/dist/cdn/components/chunks/chunk-QMXE3KLT.js +1 -0
  24. package/dist/cdn/components/chunks/chunk-QNWKRPOW.js +1 -0
  25. package/dist/cdn/components/chunks/{chunk-KQUUMZ7U.js → chunk-RZF7QQDX.js} +7 -7
  26. package/dist/cdn/components/chunks/chunk-SCAP7J35.js +1 -0
  27. package/dist/cdn/components/chunks/chunk-TISMX7UL.js +1 -0
  28. package/dist/cdn/components/chunks/chunk-TWLI2ZOT.js +1 -0
  29. package/dist/cdn/components/chunks/chunk-W4VCWRY7.js +210 -0
  30. package/dist/cdn/components/chunks/{chunk-SZZRMJ65.js → chunk-WEG3KO6T.js} +3 -3
  31. package/dist/cdn/components/chunks/chunk-WP6ZYBAC.js +1 -0
  32. package/dist/cdn/components/chunks/{chunk-HGX6GPHM.js → chunk-XCBQ4CKH.js} +1 -1
  33. package/dist/cdn/components/chunks/{chunk-3UW2LJ7T.js → chunk-XZ3LFOQP.js} +2 -2
  34. package/dist/cdn/components/eun-alert.js +1 -1
  35. package/dist/cdn/components/eun-animate.js +92 -180
  36. package/dist/cdn/components/eun-breadcrumb.js +4 -4
  37. package/dist/cdn/components/eun-button.js +1 -1
  38. package/dist/cdn/components/eun-calendar.js +188 -115
  39. package/dist/cdn/components/eun-card.js +1 -1
  40. package/dist/cdn/components/eun-carousel.js +36 -28
  41. package/dist/cdn/components/eun-check-card.js +3 -3
  42. package/dist/cdn/components/eun-checkbox-list.js +2 -2
  43. package/dist/cdn/components/eun-checkbox.js +1 -1
  44. package/dist/cdn/components/eun-chip.js +11 -15
  45. package/dist/cdn/components/eun-collapse.js +21 -10
  46. package/dist/cdn/components/eun-color-picker.js +32 -32
  47. package/dist/cdn/components/eun-counter.js +8 -8
  48. package/dist/cdn/components/eun-date-picker.js +83 -79
  49. package/dist/cdn/components/eun-description-list.js +1 -1
  50. package/dist/cdn/components/eun-divider.js +9 -8
  51. package/dist/cdn/components/eun-drawer.js +8 -6
  52. package/dist/cdn/components/eun-dropdown-button.js +1 -1
  53. package/dist/cdn/components/eun-dropdown-item.js +4 -4
  54. package/dist/cdn/components/eun-fab.js +1 -1
  55. package/dist/cdn/components/eun-image-card.js +2 -2
  56. package/dist/cdn/components/eun-image-carousel.js +55 -29
  57. package/dist/cdn/components/eun-infinite-list.js +2 -2
  58. package/dist/cdn/components/eun-input-file.js +3 -3
  59. package/dist/cdn/components/eun-input-phone.js +6 -6
  60. package/dist/cdn/components/eun-input.js +1 -1
  61. package/dist/cdn/components/eun-label.js +1 -1
  62. package/dist/cdn/components/eun-link.js +18 -329
  63. package/dist/cdn/components/eun-loader.js +1 -1
  64. package/dist/cdn/components/eun-modal.js +9 -7
  65. package/dist/cdn/components/eun-nav-menu.js +363 -0
  66. package/dist/cdn/components/eun-pagination.js +4 -4
  67. package/dist/cdn/components/eun-password-strength.js +2 -2
  68. package/dist/cdn/components/eun-progress-bar.js +1 -1
  69. package/dist/cdn/components/eun-radio-card.js +4 -4
  70. package/dist/cdn/components/eun-radio-list.js +1 -1
  71. package/dist/cdn/components/eun-radio.js +1 -1
  72. package/dist/cdn/components/eun-rating.js +9 -9
  73. package/dist/cdn/components/eun-scheduler-event-editor.js +113 -77
  74. package/dist/cdn/components/eun-scheduler-event.js +1 -1
  75. package/dist/cdn/components/eun-scheduler.js +137 -79
  76. package/dist/cdn/components/eun-search.js +6 -6
  77. package/dist/cdn/components/eun-select.js +1 -1
  78. package/dist/cdn/components/eun-sidebar.js +23 -14
  79. package/dist/cdn/components/eun-slider.js +2 -2
  80. package/dist/cdn/components/eun-sliding-card.js +1 -1
  81. package/dist/cdn/components/eun-step.js +2 -2
  82. package/dist/cdn/components/eun-stepper.js +11 -12
  83. package/dist/cdn/components/eun-switch.js +2 -2
  84. package/dist/cdn/components/eun-tab-group.js +1 -1
  85. package/dist/cdn/components/eun-tab-panel.js +1 -1
  86. package/dist/cdn/components/eun-table-action-bar.js +1 -1
  87. package/dist/cdn/components/eun-table.js +13 -10
  88. package/dist/cdn/components/eun-tag.js +1 -1
  89. package/dist/cdn/components/eun-textarea.js +4 -4
  90. package/dist/cdn/components/eun-time-picker.js +28 -25
  91. package/dist/cdn/components/eun-toast.js +8 -8
  92. package/dist/cdn/components/eun-toggle-group.js +8 -2
  93. package/dist/cdn/components/eun-toggle-item.js +8 -2
  94. package/dist/cdn/components/eun-toggle.js +4 -1
  95. package/dist/cdn/components/eun-toolbar.js +114 -36
  96. package/dist/cdn/components/eun-tooltip.js +1 -1
  97. package/dist/cdn/styles/eunomia-themes.css +1 -1
  98. package/dist/cdn/styles/themes/eunomia-theme.css +1 -1
  99. package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +2 -2
  100. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
  101. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
  102. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
  103. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
  104. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
  105. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
  106. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
  107. package/dist/cdn/styles/tools/mixins/layout/eunomia-grid.mixin.scss +116 -8
  108. package/dist/components/action/button/button.styles.js +2 -2
  109. package/dist/components/action/dropdown-button/dropdown-button.d.ts +4 -0
  110. package/dist/components/action/dropdown-button/dropdown-button.js +1 -0
  111. package/dist/components/action/dropdown-button/dropdown-button.styles.js +5 -4
  112. package/dist/components/action/dropdown-button/dropdown-item.d.ts +1 -0
  113. package/dist/components/action/dropdown-button/dropdown-item.js +1 -0
  114. package/dist/components/action/dropdown-button/dropdown-item.styles.js +4 -4
  115. package/dist/components/action/link/link.d.ts +2 -1
  116. package/dist/components/action/link/link.js +2 -1
  117. package/dist/components/action/link/link.styles.d.ts +40 -1
  118. package/dist/components/action/link/link.styles.js +83 -60
  119. package/dist/components/action/shared-styles/button-palette.styles.js +1 -1
  120. package/dist/components/action/toggle/toggle-group.d.ts +1 -0
  121. package/dist/components/action/toggle/toggle-group.js +1 -0
  122. package/dist/components/action/toggle/toggle-group.styles.d.ts +1 -0
  123. package/dist/components/action/toggle/toggle-group.styles.js +9 -2
  124. package/dist/components/action/toggle/toggle-item.styles.js +8 -2
  125. package/dist/components/action/toggle/toggle.d.ts +1 -0
  126. package/dist/components/action/toggle/toggle.js +1 -0
  127. package/dist/components/action/toggle/toggle.styles.d.ts +1 -0
  128. package/dist/components/action/toggle/toggle.styles.js +5 -1
  129. package/dist/components/alert/drawer/drawer.d.ts +14 -13
  130. package/dist/components/alert/drawer/drawer.js +20 -28
  131. package/dist/components/alert/modal/modal.d.ts +14 -13
  132. package/dist/components/alert/modal/modal.js +20 -28
  133. package/dist/components/alert/modal/modal.styles.js +1 -1
  134. package/dist/components/alert/toast/toast.d.ts +5 -5
  135. package/dist/components/alert/toast/toast.js +9 -10
  136. package/dist/components/alert/toast/toast.styles.js +3 -3
  137. package/dist/components/content/card/image-card.styles.js +1 -1
  138. package/dist/components/content/chip/chip.d.ts +7 -9
  139. package/dist/components/content/chip/chip.js +11 -14
  140. package/dist/components/content/chip/chip.styles.js +1 -5
  141. package/dist/components/content/collapse/collapse.d.ts +5 -0
  142. package/dist/components/content/collapse/collapse.js +7 -0
  143. package/dist/components/content/collapse/collapse.styles.d.ts +3 -0
  144. package/dist/components/content/collapse/collapse.styles.js +13 -1
  145. package/dist/components/content/description-list/description-list.styles.js +1 -1
  146. package/dist/components/content/image-carousel/image-carousel.d.ts +60 -13
  147. package/dist/components/content/image-carousel/image-carousel.js +100 -22
  148. package/dist/components/content/image-carousel/image-carousel.styles.js +32 -6
  149. package/dist/components/content/password-strength/password-strength.styles.js +1 -1
  150. package/dist/components/content/progress-bar/progress-bar.styles.js +1 -1
  151. package/dist/components/content/shared-styles/card-link.styles.js +1 -1
  152. package/dist/components/content/shared-styles/tone-surface.styles.js +1 -3
  153. package/dist/components/form/checkbox/check-card.styles.js +2 -2
  154. package/dist/components/form/checkbox/checkbox-list.d.ts +3 -1
  155. package/dist/components/form/checkbox/checkbox-list.js +3 -1
  156. package/dist/components/form/checkbox/checkbox.styles.js +1 -1
  157. package/dist/components/form/color-picker/color-picker.d.ts +28 -3
  158. package/dist/components/form/color-picker/color-picker.js +53 -7
  159. package/dist/components/form/counter/counter.js +1 -1
  160. package/dist/components/form/counter/counter.styles.js +2 -2
  161. package/dist/components/form/date-picker/date-picker-day-grid.styles.js +1 -1
  162. package/dist/components/form/date-picker/date-picker-month-grid.js +1 -1
  163. package/dist/components/form/date-picker/date-picker.d.ts +50 -13
  164. package/dist/components/form/date-picker/date-picker.js +178 -43
  165. package/dist/components/form/input/input.js +1 -4
  166. package/dist/components/form/input-file/input-file.styles.js +2 -2
  167. package/dist/components/form/input-phone/input-phone.js +4 -3
  168. package/dist/components/form/label/label.styles.js +1 -1
  169. package/dist/components/form/radio/radio-card.styles.js +2 -2
  170. package/dist/components/form/radio/radio.styles.js +1 -1
  171. package/dist/components/form/rating/rating.js +3 -5
  172. package/dist/components/form/rating/rating.styles.js +2 -2
  173. package/dist/components/form/search/search.d.ts +1 -7
  174. package/dist/components/form/search/search.js +2 -12
  175. package/dist/components/form/shared-styles/field.styles.js +2 -2
  176. package/dist/components/form/slider/slider.styles.js +1 -1
  177. package/dist/components/form/switch/switch.styles.js +1 -1
  178. package/dist/components/form/textarea/textarea.js +1 -5
  179. package/dist/components/form/textarea/textarea.styles.js +2 -2
  180. package/dist/components/form/time-picker/time-picker-columns.d.ts +4 -1
  181. package/dist/components/form/time-picker/time-picker-columns.js +64 -15
  182. package/dist/components/form/time-picker/time-picker-columns.styles.js +5 -1
  183. package/dist/components/form/time-picker/time-picker-list.d.ts +4 -1
  184. package/dist/components/form/time-picker/time-picker-list.js +15 -8
  185. package/dist/components/form/time-picker/time-picker.d.ts +11 -2
  186. package/dist/components/form/time-picker/time-picker.js +22 -8
  187. package/dist/components/layout/animate/animate.d.ts +35 -17
  188. package/dist/components/layout/animate/animate.js +27 -14
  189. package/dist/components/layout/animate/animate.styles.d.ts +2 -1
  190. package/dist/components/layout/animate/animate.styles.js +107 -179
  191. package/dist/components/layout/divider/divider.d.ts +1 -0
  192. package/dist/components/layout/divider/divider.js +2 -1
  193. package/dist/components/layout/divider/divider.styles.js +7 -6
  194. package/dist/components/layout/infinite-list/infinite-list.styles.js +1 -1
  195. package/dist/components/navigation/breadcrumb/breadcrumb.styles.js +3 -3
  196. package/dist/components/navigation/carousel/carousel.d.ts +23 -14
  197. package/dist/components/navigation/carousel/carousel.js +39 -27
  198. package/dist/components/navigation/carousel/carousel.styles.js +16 -8
  199. package/dist/components/navigation/nav-menu/nav-menu.d.ts +201 -0
  200. package/dist/components/navigation/nav-menu/nav-menu.js +673 -0
  201. package/dist/components/navigation/nav-menu/nav-menu.styles.d.ts +1 -0
  202. package/dist/components/navigation/nav-menu/nav-menu.styles.js +352 -0
  203. package/dist/components/navigation/pagination/pagination.d.ts +3 -0
  204. package/dist/components/navigation/pagination/pagination.styles.js +2 -2
  205. package/dist/components/navigation/sidebar/sidebar.d.ts +8 -10
  206. package/dist/components/navigation/sidebar/sidebar.js +12 -15
  207. package/dist/components/navigation/sidebar/sidebar.styles.js +13 -4
  208. package/dist/components/navigation/stepper/step.styles.js +2 -2
  209. package/dist/components/navigation/stepper/stepper.d.ts +24 -13
  210. package/dist/components/navigation/stepper/stepper.js +36 -23
  211. package/dist/components/navigation/stepper/stepper.styles.js +2 -2
  212. package/dist/components/navigation/tabs/tab-group/tab-group.js +1 -1
  213. package/dist/components/navigation/tabs/tab-panel/tab-panel.styles.js +1 -1
  214. package/dist/components/navigation/toolbar/toolbar.d.ts +121 -20
  215. package/dist/components/navigation/toolbar/toolbar.js +176 -45
  216. package/dist/components/navigation/toolbar/toolbar.styles.js +113 -28
  217. package/dist/events/editor-state-change.event.d.ts +28 -0
  218. package/dist/events/editor-state-change.event.js +22 -0
  219. package/dist/events/event-cancel.event.d.ts +20 -0
  220. package/dist/events/event-cancel.event.js +17 -0
  221. package/dist/events/period-change.event.d.ts +14 -6
  222. package/dist/events/period-change.event.js +9 -6
  223. package/dist/features/scheduler/calendar/calendar.d.ts +52 -20
  224. package/dist/features/scheduler/calendar/calendar.js +84 -36
  225. package/dist/features/scheduler/calendar/calendar.styles.js +5 -2
  226. package/dist/features/scheduler/scheduler/scheduler.d.ts +69 -4
  227. package/dist/features/scheduler/scheduler/scheduler.js +172 -47
  228. package/dist/features/scheduler/scheduler/scheduler.styles.js +6 -0
  229. package/dist/features/scheduler/scheduler-event/scheduler-event.d.ts +18 -20
  230. package/dist/features/scheduler/scheduler-event/scheduler-event.js +29 -38
  231. package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +2 -2
  232. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.d.ts +102 -18
  233. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.js +249 -112
  234. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.styles.js +11 -1
  235. package/dist/features/scheduler/shared/scheduler-event-popover.d.ts +9 -1
  236. package/dist/features/scheduler/shared/scheduler-event-popover.js +77 -42
  237. package/dist/features/scheduler/shared/scheduler-event-popover.styles.js +14 -3
  238. package/dist/features/scheduler/shared/scheduler-hour-grid.d.ts +3 -2
  239. package/dist/features/scheduler/shared/scheduler-hour-grid.js +53 -46
  240. package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +13 -7
  241. package/dist/features/scheduler/shared/scheduler-month-view.js +1 -1
  242. package/dist/features/scheduler/shared/scheduler-month-view.styles.js +13 -7
  243. package/dist/features/scheduler/shared/scheduler-year-view.d.ts +6 -5
  244. package/dist/features/scheduler/shared/scheduler-year-view.js +11 -7
  245. package/dist/features/scheduler/shared/scheduler-year-view.styles.js +57 -3
  246. package/dist/features/scheduler/shared/scheduler.types.d.ts +5 -9
  247. package/dist/features/scheduler/shared/scheduler.utils.d.ts +61 -0
  248. package/dist/features/scheduler/shared/scheduler.utils.js +78 -4
  249. package/dist/features/table/table/table-native.styles.js +8 -4
  250. package/dist/features/table/table/table.d.ts +2 -1
  251. package/dist/features/table/table/table.js +2 -1
  252. package/dist/features/table/table/table.styles.js +6 -4
  253. package/dist/i18n/en.d.ts +17 -0
  254. package/dist/i18n/en.js +17 -0
  255. package/dist/i18n/fr.js +17 -0
  256. package/dist/index.d.ts +6 -0
  257. package/dist/index.js +4 -0
  258. package/dist/jsx.d.ts +48 -6
  259. package/dist/mixins/anchor-position.mixin.d.ts +17 -0
  260. package/dist/mixins/anchor-position.mixin.js +45 -7
  261. package/dist/mixins/button.mixin.js +2 -1
  262. package/dist/mixins/check.mixin.js +14 -5
  263. package/dist/mixins/dialog-surface.mixin.d.ts +1 -1
  264. package/dist/mixins/dialog-surface.mixin.js +5 -5
  265. package/dist/mixins/form.mixin.js +33 -13
  266. package/dist/mixins/localizable.mixin.d.ts +1 -0
  267. package/dist/mixins/localizable.mixin.js +9 -2
  268. package/dist/mixins/radio.mixin.js +14 -5
  269. package/dist/mixins/validators.mixin.js +4 -3
  270. package/dist/react.d.ts +59 -0
  271. package/dist/react.js +42 -0
  272. package/dist/ssr/animate-ssr.css +35 -0
  273. package/dist/ssr/breadcrumb-ssr.css +3 -3
  274. package/dist/ssr/button-ssr.css +8 -2
  275. package/dist/ssr/card-ssr.css +1 -1
  276. package/dist/ssr/carousel-ssr.css +15 -4
  277. package/dist/ssr/chip-ssr.css +3 -3
  278. package/dist/ssr/collapse-ssr.css +2 -2
  279. package/dist/ssr/description-list-ssr.css +1 -1
  280. package/dist/ssr/divider-ssr.css +23 -0
  281. package/dist/ssr/field-ssr.css +245 -42
  282. package/dist/ssr/image-carousel-ssr.css +2 -4
  283. package/dist/ssr/links-ssr.css +17 -3
  284. package/dist/ssr/nav-menu-ssr.css +82 -0
  285. package/dist/ssr/overlay-ssr.css +4 -0
  286. package/dist/ssr/scheduler-ssr.css +182 -0
  287. package/dist/ssr/stepper-ssr.css +136 -0
  288. package/dist/ssr/table-ssr.css +7 -4
  289. package/dist/ssr/tag-ssr.css +1 -1
  290. package/dist/ssr/toolbar-ssr.css +7 -5
  291. package/dist/utils/css-length.utils.d.ts +14 -0
  292. package/dist/utils/css-length.utils.js +32 -0
  293. package/dist/utils/form-validation.utils.d.ts +36 -0
  294. package/dist/utils/form-validation.utils.js +113 -0
  295. package/dist/utils/implicit-submission.utils.js +2 -14
  296. package/dist/utils/interactive-content.utils.d.ts +10 -0
  297. package/dist/utils/interactive-content.utils.js +43 -0
  298. package/dist/utils/popover.utils.js +3 -2
  299. package/dist/utils/scroll-lock.utils.d.ts +9 -1
  300. package/dist/utils/scroll-lock.utils.js +21 -2
  301. package/dist/utils/theme-generator.utils.d.ts +1 -0
  302. package/dist/utils/theme-generator.utils.js +23 -10
  303. package/dist/utils/validity.utils.d.ts +18 -4
  304. package/dist/utils/validity.utils.js +74 -4
  305. package/package.json +34 -3
  306. package/styles/themes/mixins/eunomia-neutrals.mixin.scss +2 -2
  307. package/styles/tools/mixins/layout/eunomia-grid.mixin.scss +116 -8
  308. package/dist/cdn/components/chunks/chunk-4DRU3IYJ.js +0 -1
  309. package/dist/cdn/components/chunks/chunk-647ISUF4.js +0 -1
  310. package/dist/cdn/components/chunks/chunk-6TIEBY34.js +0 -1
  311. package/dist/cdn/components/chunks/chunk-E6UOI36Q.js +0 -1
  312. package/dist/cdn/components/chunks/chunk-GNAUNTS5.js +0 -1
  313. package/dist/cdn/components/chunks/chunk-IJJ67C66.js +0 -1
  314. package/dist/cdn/components/chunks/chunk-J7ETIRSK.js +0 -1
  315. package/dist/cdn/components/chunks/chunk-JGV7LHEI.js +0 -1
  316. package/dist/cdn/components/chunks/chunk-L74LXUGL.js +0 -1
  317. package/dist/cdn/components/chunks/chunk-MY6ORZJR.js +0 -46
  318. package/dist/cdn/components/chunks/chunk-QWTFP56P.js +0 -1
  319. package/dist/cdn/components/chunks/chunk-SFX2LQ4K.js +0 -205
  320. package/dist/cdn/components/chunks/chunk-WW4BTWMH.js +0 -1
  321. package/dist/utils/boolean.utils.d.ts +0 -14
  322. package/dist/utils/boolean.utils.js +0 -20
@@ -17,7 +17,7 @@ import { renderSchedulerWeekView } from "../shared/scheduler-week-view.js";
17
17
  import { MONTH_EVENT_ROW_HEIGHT, renderSchedulerMonthView, } from "../shared/scheduler-month-view.js";
18
18
  import { renderSchedulerYearView } from "../shared/scheduler-year-view.js";
19
19
  import { EunomiaSchedulerEventCardTagName, } from "../scheduler-event/scheduler-event.js";
20
- import { addPeriod, getVisibleRange } from "../shared/scheduler.utils.js";
20
+ import { addPeriod, getVisibleRange, } from "../shared/scheduler.utils.js";
21
21
  import { EventClickEvent } from "../../../events/event-click.event.js";
22
22
  import { SlotClickEvent } from "../../../events/slot-click.event.js";
23
23
  import { PeriodChangeEvent } from "../../../events/period-change.event.js";
@@ -99,7 +99,7 @@ const HOUR_GRID_SLOT_HEIGHT = 24;
99
99
  * @prop {number} [dayStartHour=0] - The first visible hour row in day, week, and work week
100
100
  * @prop {number} [dayEndHour=24] - The last visible hour row, exclusive, in day, week, and work week
101
101
  * @prop {number} [slotDuration=30] - The grid's row granularity, in minutes
102
- * @prop {string} [locale] - The locale used throughout. Defaults to the runtime's own
102
+ * @prop {string} [locale] - The locale used throughout. Defaults to the one set with setDefaultLocale, English otherwise
103
103
  * @prop {boolean} [readonly=false] - Disables the slot click event, removing the create-here affordance, and event-chip dragging. View only
104
104
  * @prop {boolean} [noAnimation=false] - Disables the mobile swipe slide animation
105
105
  * @prop {boolean} [hideNowLine=false] - Hides the line marking the current time in day, week and work week views
@@ -110,13 +110,14 @@ const HOUR_GRID_SLOT_HEIGHT = 24;
110
110
  * @fires {EventClickEvent} euneventclick - Fired when an event chip is clicked
111
111
  * @fires {SlotClickEvent} eunslotclick - Fired when an empty hour-grid slot is clicked
112
112
  * @fires {EventUpdateEvent} euneventupdate - Fired when a day, week, or work week event chip is dragged to a new time or day and dropped
113
- * @fires {PeriodChangeEvent} eunperiodchange - Fired whenever the visible period changes, from a swipe, a drill-down, or an external view or displayedDate assignment
113
+ * @fires {PeriodChangeEvent} eunperiodchange - Fired whenever the visible period changes, from a swipe, a drill-down, a navigation method, or an external view or displayedDate assignment. Not fired for the initial render, read visibleRange instead
114
114
  * @cssprop [--scheduler-slot-height] - Sets the pixel height per slotDuration row in day, week, and work week
115
115
  * @cssprop [--scheduler-gutter-width] - Sets the width of the hour-label gutter
116
- * @cssprop [--scheduler-body-max-height=640px] - Sets the maximum height, with scroll, of the day, week, and work week grid body and the year view. Below a small viewport, the grid also fills its own host's height first, still capped at this same value
116
+ * @cssprop [--scheduler-body-max-height=640px] - Sets the maximum height, with scroll, of the day, week, and work week grid body and the year view, and of the month view when set (uncapped by default). Below a small viewport, the grid also fills its own host's height first, still capped at this same value
117
117
  * @cssprop [--scheduler-month-cell-height] - Sets the height of month view cells
118
118
  * @cssprop [--scheduler-swipe-duration=200ms] - Sets the duration of the mobile swipe slide animation
119
119
  * @cssprop [--scheduler-accent-color] - Sets the color marking today, the selected day and the focus ring. Defaults to the theme's primary color
120
+ * @cssprop [--scheduler-focus-outline-color] - Sets the keyboard focus outline color, falling back to --scheduler-accent-color
120
121
  * @cssprop [--scheduler-accent-text-color] - Sets the text color shown on the accent color, such as today's number in month view
121
122
  * @cssprop [--scheduler-now-line-color] - Sets the color of the line marking the current time. Defaults to the critical color
122
123
  * @element eun-calendar
@@ -653,24 +654,55 @@ let EunomiaCalendar = class EunomiaCalendar extends LocalizableMixin(LitElement)
653
654
  this.syncDisplayedMonth();
654
655
  void this.updateComplete.then(() => this.focusMonthCell());
655
656
  }
657
+ /**
658
+ * The range currently visible for {@link view} and {@link displayedDate},
659
+ * the same one `eunperiodchange` reports. In `month` view, it covers the
660
+ * whole 6-week grid, leading and trailing days included.
661
+ */
662
+ get visibleRange() {
663
+ return getVisibleRange(this.view, this.displayedDate, this.weekStartsOn);
664
+ }
665
+ /**
666
+ * Moves the displayed period one `view`-sized unit forward.
667
+ */
668
+ next() {
669
+ this.navigate(1);
670
+ }
671
+ /**
672
+ * Moves the displayed period one `view`-sized unit back.
673
+ */
674
+ previous() {
675
+ this.navigate(-1);
676
+ }
677
+ /**
678
+ * Brings the period containing today into view.
679
+ */
680
+ today() {
681
+ this.displayedDate = new Date();
682
+ }
656
683
  /**
657
684
  * Re-dispatches `eunperiodchange` whenever the visible period changes.
685
+ * Skipped on the first update (every old value is still `undefined`
686
+ * then), since a listener attached after the upgrade could never catch
687
+ * it : {@link visibleRange} gives the initial range instead.
658
688
  *
659
689
  * @param changed the changed properties.
660
690
  */
661
691
  updated(changed) {
662
692
  super.updated(changed);
663
- if (changed.has("view") ||
664
- changed.has("displayedDate") ||
665
- changed.has("weekStartsOn")) {
666
- const range = getVisibleRange(this.view, this.displayedDate, this.weekStartsOn);
667
- this.dispatchEvent(new PeriodChangeEvent(this.view, range.start, range.end));
693
+ const periodChanged = ["view", "displayedDate", "weekStartsOn"].some((key) => changed.has(key) && changed.get(key) !== undefined);
694
+ if (periodChanged) {
695
+ const range = this.visibleRange;
696
+ this.dispatchEvent(new PeriodChangeEvent(this.view, range.start, range.end, this.displayedDate));
697
+ }
698
+ if (changed.has("view") && changed.get("view") !== undefined) {
699
+ this.scrollToCurrentPeriod();
668
700
  }
669
701
  this.syncMonthCellObserver();
670
702
  }
671
703
  /**
672
- * Positions the very first render on "now" instead of opening scrolled
673
- * to midnight/January : {@link displayedDate} already defaults to today
704
+ * Positions the very first render, and every later view change, on
705
+ * "now" instead of opening scrolled to midnight/January : {@link displayedDate} already defaults to today
674
706
  * (see its own doc), which is enough for `month` view, but the
675
707
  * scrollable views need their own scroll position set explicitly.
676
708
  * Deferred to {@link runOnceVisible} rather than applied directly here,
@@ -679,14 +711,22 @@ let EunomiaCalendar = class EunomiaCalendar extends LocalizableMixin(LitElement)
679
711
  * zero layout at this point — `scrollTop` silently no-ops on a
680
712
  * zero-height/`display: none` box, so scrolling only once the box
681
713
  * actually has size is what makes this work regardless of where the
682
- * calendar happens to live. Runs once total, matching "open the
683
- * calendar and land on the current period" rather than fighting the
684
- * user's own scroll position on every later render.
714
+ * calendar happens to live. Runs on the first render and on view
715
+ * changes only, matching "open a view and land on the current period"
716
+ * rather than fighting the user's own scroll position on every other
717
+ * render.
685
718
  *
686
719
  * @param changed the changed properties.
687
720
  */
688
721
  firstUpdated(changed) {
689
722
  super.firstUpdated(changed);
723
+ this.scrollToCurrentPeriod();
724
+ }
725
+ /**
726
+ * Scrolls the current view to "now", see {@link firstUpdated}.
727
+ * @private
728
+ */
729
+ scrollToCurrentPeriod() {
690
730
  if (this.view === "year") {
691
731
  this.runOnceVisible(".year-scroll", () => this.scrollYearViewToCurrentMonth());
692
732
  }
@@ -699,7 +739,7 @@ let EunomiaCalendar = class EunomiaCalendar extends LocalizableMixin(LitElement)
699
739
  * shadow root actually has layout (`clientHeight > 0`) — immediately, if
700
740
  * it already does, otherwise once a {@link ResizeObserver} sees it gain
701
741
  * size (e.g. its `eun-tab-panel` ancestor becomes the active tab) —
702
- * and only once, ever. See {@link firstUpdated}'s own doc for why this
742
+ * and only once per call. See {@link firstUpdated}'s own doc for why this
703
743
  * indirection exists.
704
744
  * @param selector a shadow-root selector for the element to watch.
705
745
  * @param action called exactly once, as soon as that element is visible.
@@ -726,7 +766,8 @@ let EunomiaCalendar = class EunomiaCalendar extends LocalizableMixin(LitElement)
726
766
  }
727
767
  /**
728
768
  * Scrolls day/week/work-week's `#hour-grid-scroll` so the current time
729
- * sits roughly a third of the way down the visible area, rather than
769
+ * sits roughly a third of the way down the area left visible below the
770
+ * sticky header and all-day rows, rather than
730
771
  * opening scrolled to {@link dayStartHour}. Computed from the time math
731
772
  * directly (not the `.hour-grid-now-line` element, which only renders
732
773
  * within {@link dayStartHour}/{@link dayEndHour}'s own bounds) so a
@@ -752,25 +793,27 @@ let EunomiaCalendar = class EunomiaCalendar extends LocalizableMixin(LitElement)
752
793
  const bodyOffsetTop = bodyEl.getBoundingClientRect().top -
753
794
  scrollEl.getBoundingClientRect().top +
754
795
  scrollEl.scrollTop;
755
- scrollEl.scrollTop = Math.max(0, bodyOffsetTop + topWithinBody - scrollEl.clientHeight / 3);
796
+ // The sticky header and all-day rows cover the top of the scroll area.
797
+ const stickyHeight = this.shadowRoot
798
+ ?.querySelector(".hour-grid-top")
799
+ ?.getBoundingClientRect().height ?? 0;
800
+ const visibleHeight = scrollEl.clientHeight - stickyHeight;
801
+ scrollEl.scrollTop = Math.max(0, bodyOffsetTop + topWithinBody - stickyHeight - visibleHeight / 3);
756
802
  }
757
803
  /**
758
- * Scrolls `year` view's `.year-scroll` so the current month's section
759
- * starts right below the sticky weekday header, rather than opening
760
- * scrolled to January. The header's own height is subtracted from the
761
- * target, since it stays pinned to the top of the scroll container and
762
- * would otherwise overlap the very section just scrolled into view. A
763
- * no-op if {@link displayedDate} isn't showing the current year.
804
+ * Scrolls `year` view's `.year-scroll` so {@link displayedDate}'s month
805
+ * section (the current month by default, or the month just left when
806
+ * coming back from `month` view) starts right below the sticky weekday
807
+ * header, rather than opening scrolled to January. The header's own
808
+ * height is subtracted from the target, since it stays pinned to the top
809
+ * of the scroll container and would otherwise overlap the very section
810
+ * just scrolled into view.
764
811
  * @private
765
812
  */
766
813
  scrollYearViewToCurrentMonth() {
767
- const now = new Date();
768
- if (this.displayedDate.getFullYear() !== now.getFullYear()) {
769
- return;
770
- }
771
814
  const scrollEl = this.shadowRoot?.querySelector(".year-scroll");
772
815
  const sections = this.shadowRoot?.querySelectorAll(".year-month-section");
773
- const currentSection = sections?.[now.getMonth()];
816
+ const currentSection = sections?.[this.displayedDate.getMonth()];
774
817
  if (!scrollEl || !currentSection) {
775
818
  return;
776
819
  }
@@ -866,9 +909,9 @@ let EunomiaCalendar = class EunomiaCalendar extends LocalizableMixin(LitElement)
866
909
  super.disconnectedCallback?.();
867
910
  }
868
911
  /**
869
- * Moves the displayed period by one `view`-sized unit — swipe only ; the
870
- * header's own prev/next/"Today" buttons live in the consumer (see
871
- * `eun-scheduler`) and simply reassign {@link displayedDate} from outside.
912
+ * Moves the displayed period by one `view`-sized unit — swipe and
913
+ * {@link next}/{@link previous}, the header itself living in the consumer
914
+ * (see `eun-scheduler`).
872
915
  * @private
873
916
  */
874
917
  navigate(direction) {
@@ -1019,7 +1062,7 @@ let EunomiaCalendar = class EunomiaCalendar extends LocalizableMixin(LitElement)
1019
1062
  dayStartHour: this.dayStartHour,
1020
1063
  dayEndHour: this.dayEndHour,
1021
1064
  slotDuration: this.slotDuration,
1022
- locale: this.locale,
1065
+ locale: this.resolvedLocale,
1023
1066
  slotHeight: HOUR_GRID_SLOT_HEIGHT,
1024
1067
  eventAppearance: this.eventAppearance,
1025
1068
  onSlotClick: this.handleSlotClick,
@@ -1040,7 +1083,7 @@ let EunomiaCalendar = class EunomiaCalendar extends LocalizableMixin(LitElement)
1040
1083
  events: this.events,
1041
1084
  weekStartsOn: this.weekStartsOn,
1042
1085
  focusedDate: this.focusedDate,
1043
- locale: this.locale,
1086
+ locale: this.resolvedLocale,
1044
1087
  desktop: !this.isMobile,
1045
1088
  maxEventsPerCell: this.monthMaxEventsPerCell,
1046
1089
  moreLabel: (count) => (this.moreEventsLabel ?? this.dictionary.calendar.moreEvents).replace("{count}", String(count)),
@@ -1053,7 +1096,7 @@ let EunomiaCalendar = class EunomiaCalendar extends LocalizableMixin(LitElement)
1053
1096
  displayedYear: this.displayedDate,
1054
1097
  events: this.events,
1055
1098
  weekStartsOn: this.weekStartsOn,
1056
- locale: this.locale,
1099
+ locale: this.resolvedLocale,
1057
1100
  onDayClick: this.goToDayView,
1058
1101
  onMonthLabelClick: (month) => {
1059
1102
  this.view = "month";
@@ -1083,7 +1126,10 @@ let EunomiaCalendar = class EunomiaCalendar extends LocalizableMixin(LitElement)
1083
1126
  : (days.find((day) => isToday(day)) ?? days[0]);
1084
1127
  return html `
1085
1128
  ${this.renderWeekDayStrip(days, selected)}
1086
- ${renderSchedulerDayView(selected, hourGridProps)}
1129
+ ${renderSchedulerDayView(selected, {
1130
+ ...hourGridProps,
1131
+ hideDayHeader: true,
1132
+ })}
1087
1133
  `;
1088
1134
  }
1089
1135
  /** @private */
@@ -1107,7 +1153,9 @@ let EunomiaCalendar = class EunomiaCalendar extends LocalizableMixin(LitElement)
1107
1153
  }}
1108
1154
  >
1109
1155
  <span class="week-day-strip-weekday">
1110
- ${day.toLocaleDateString(this.locale, { weekday: "short" })}
1156
+ ${day.toLocaleDateString(this.resolvedLocale, {
1157
+ weekday: "short",
1158
+ })}
1111
1159
  </span>
1112
1160
  <span class="week-day-strip-daynum">${day.getDate()}</span>
1113
1161
  </button>
@@ -95,7 +95,7 @@ const base = css `
95
95
 
96
96
  .week-day-strip-weekday {
97
97
  font-size: 11px;
98
- color: var(--eun-text-secondary, #484e61);
98
+ color: var(--eun-text-secondary, #666e8a);
99
99
  }
100
100
 
101
101
  .week-day-strip-daynum {
@@ -128,7 +128,10 @@ const base = css `
128
128
 
129
129
  .week-day-strip-day:focus-visible {
130
130
  outline: 2px solid
131
- var(--scheduler-accent-color, var(--eun-color-primary-500, #3d6fff));
131
+ var(
132
+ --scheduler-focus-outline-color,
133
+ var(--scheduler-accent-color, var(--eun-color-primary-500, #3d6fff))
134
+ );
132
135
  outline-offset: 1px;
133
136
  }
134
137
 
@@ -1,6 +1,7 @@
1
1
  import { LitElement, PropertyValues, TemplateResult } from "lit";
2
2
  import { WeekStartsOn } from "../../../utils/date.utils.js";
3
3
  import { EunomiaSchedulerEvent, EunomiaSchedulerView } from "../shared/scheduler.types.js";
4
+ import { DateRange } from "../shared/scheduler.utils.js";
4
5
  import type { EunomiaSchedulerEventAppearance } from "../scheduler-event/scheduler-event.js";
5
6
  /**
6
7
  * Tag name of the scheduler component.
@@ -38,7 +39,7 @@ declare const EunomiaScheduler_base: import("../../../utils/constructor.type.js"
38
39
  * @prop {number} [dayStartHour=0] - The first visible hour row in day, week, and work week
39
40
  * @prop {number} [dayEndHour=24] - The last visible hour row, exclusive, in day, week, and work week
40
41
  * @prop {number} [slotDuration=30] - The grid's row granularity, in minutes, also the default duration for a newly created event
41
- * @prop {string} [locale] - The locale used throughout. Defaults to the runtime's own
42
+ * @prop {string} [locale] - The locale used throughout. Defaults to the one set with setDefaultLocale, English otherwise
42
43
  * @prop {boolean} [readonly=false] - Disables creating, editing, and deleting. View only
43
44
  * @prop {boolean} [noAnimation=false] - Disables the mobile swipe slide animation and the drawer or modal's own transitions
44
45
  * @prop {boolean} [hideNowLine=false] - Hides the line marking the current time in day, week and work week views
@@ -54,21 +55,23 @@ declare const EunomiaScheduler_base: import("../../../utils/constructor.type.js"
54
55
  * @prop {string} [viewYearLabel] - The label of the year view switcher option. Defaults to the localized string for the current locale (English: "Year")
55
56
  * @prop {string} [applyLabel] - The label of the event editor's save button. Defaults to the localized string for the current locale (English: "Apply")
56
57
  * @prop {string} [deleteLabel] - The label of the delete button, in the event editor and the read-only event popover. Defaults to the localized string for the current locale (English: "Delete")
58
+ * @prop {string} [deleteConfirmLabel] - The question the read-only event popover asks before deleting. Defaults to the localized string for the current locale (English: "Delete this event?")
57
59
  * @prop {string} [moreEventsLabel] - The template for the month view's overflow affordance, with the placeholder replaced by the hidden event count. Defaults to the localized string for the current locale (English: "+{count} more")
58
60
  * @prop {'default' | 'transparent' | 'ghost'} [eventAppearance='default'] - The appearance applied to day, week, and work week event chips. Month view is unaffected, always picking ghost, or default for multi-day bars, itself
59
61
  * @attr {'default' | 'transparent' | 'ghost'} [event-appearance='default'] - The visual variant applied to day, week, and work week event chips
60
62
  * @fires {EventCreateEvent} euneventcreate - Fired when a new event is saved
61
63
  * @fires {EventUpdateEvent} euneventupdate - Fired when an existing event is saved, or a day, week, or work week chip is dragged to a new time or day
62
64
  * @fires {EventDeleteEvent} euneventdelete - Fired when an event is deleted
63
- * @fires {PeriodChangeEvent} eunperiodchange - Fired whenever the visible period changes, from navigation, a swipe, a view switch, or an external view or displayedDate assignment
65
+ * @fires {PeriodChangeEvent} eunperiodchange - Fired whenever the visible period changes, from navigation, a swipe, a view switch, or an external view or displayedDate assignment. Not fired for the initial render, read visibleRange instead
64
66
  * @cssprop [--scheduler-border-color] - Sets the border color throughout the shell and grids
65
67
  * @cssprop [--scheduler-background] - Sets the background color
66
68
  * @cssprop [--scheduler-slot-height] - Sets the pixel height per slotDuration row in day, week, and work week
67
69
  * @cssprop [--scheduler-gutter-width] - Sets the width of the hour-label gutter
68
- * @cssprop [--scheduler-body-max-height] - Sets the maximum height, with scroll, of the day, week, and work week grid body
70
+ * @cssprop [--scheduler-body-max-height] - Sets the maximum height, with scroll, of the day, week, and work week grid body and the year view, and of the month view when set (uncapped by default)
69
71
  * @cssprop [--scheduler-month-cell-min-height] - Sets the minimum height of month view cells
70
72
  * @cssprop [--scheduler-swipe-duration=200ms] - Sets the duration of the mobile swipe slide animation
71
73
  * @cssprop [--scheduler-accent-color] - Sets the color marking today, the selected day and the focus ring. Defaults to the theme's primary color
74
+ * @cssprop [--scheduler-focus-outline-color] - Sets the keyboard focus outline color, falling back to --scheduler-accent-color, or to each event's own color on an event
72
75
  * @cssprop [--scheduler-accent-text-color] - Sets the text color shown on the accent color, such as today's number in month view
73
76
  * @cssprop [--scheduler-now-line-color] - Sets the color of the line marking the current time. Defaults to the critical color
74
77
  * @element eun-scheduler
@@ -176,6 +179,10 @@ export declare class EunomiaScheduler extends EunomiaScheduler_base {
176
179
  * Falls back to the localized string for the current locale when unset.
177
180
  */
178
181
  deleteLabel?: string;
182
+ /**
183
+ * Falls back to the localized string for the current locale when unset.
184
+ */
185
+ deleteConfirmLabel?: string;
179
186
  /**
180
187
  * Label of the read-only event popover's "switch to editing" button.
181
188
  * Falls back to the localized string for the current locale when unset.
@@ -281,6 +288,18 @@ export declare class EunomiaScheduler extends EunomiaScheduler_base {
281
288
  * @internal
282
289
  */
283
290
  private selectedEvent;
291
+ /**
292
+ * Whether the popover's Delete was pressed once and now waits for its
293
+ * confirmation. Reset on every {@link openEventPopover}.
294
+ * @internal
295
+ */
296
+ private confirmingDelete;
297
+ /**
298
+ * Whether the drawer or modal footer's Delete was pressed once and now
299
+ * waits for its confirmation. Reset whenever the editor opens.
300
+ * @internal
301
+ */
302
+ private confirmingEditorDelete;
284
303
  /**
285
304
  * The chip element the popover is currently anchored to, so it can be
286
305
  * refocused on close (same "return focus to the trigger" pattern
@@ -307,10 +326,18 @@ export declare class EunomiaScheduler extends EunomiaScheduler_base {
307
326
  * @readonly
308
327
  */
309
328
  private readonly calendarEl?;
329
+ /**
330
+ * The range currently visible for {@link view} and {@link displayedDate},
331
+ * the same one `eunperiodchange` reports. In `month` view, it covers the
332
+ * whole 6-week grid, leading and trailing days included.
333
+ */
334
+ get visibleRange(): DateRange;
310
335
  /**
311
336
  * Re-dispatches `eunperiodchange` whenever the visible period changes —
312
337
  * `view`/`displayedDate` are otherwise entirely self-managed (nav
313
338
  * buttons, swipe, view switch) but always overridable from outside.
339
+ * Skipped on the first update, same as `eun-calendar` : {@link
340
+ * visibleRange} gives the initial range instead.
314
341
  *
315
342
  * @param changed the changed properties.
316
343
  */
@@ -374,6 +401,12 @@ export declare class EunomiaScheduler extends EunomiaScheduler_base {
374
401
  private handleCalendarEventClick;
375
402
  /** @private */
376
403
  private handleCalendarSlotClick;
404
+ /**
405
+ * The end a new event starting at `start` is seeded with, one
406
+ * {@link slotDuration} later.
407
+ * @private
408
+ */
409
+ private defaultCreateEnd;
377
410
  /**
378
411
  * Opens the editor in "create" mode, seeded at `start`.
379
412
  * @private
@@ -481,9 +514,19 @@ export declare class EunomiaScheduler extends EunomiaScheduler_base {
481
514
  private handleEventPopoverToggle;
482
515
  /** @private */
483
516
  private handlePopoverEdit;
484
- /** @private */
517
+ /**
518
+ * Swaps the popover's actions for the delete confirmation, moving focus
519
+ * onto its Cancel button since the pressed Delete button goes away.
520
+ * @private
521
+ */
485
522
  private handlePopoverDelete;
486
523
  /** @private */
524
+ private handlePopoverConfirmDelete;
525
+ /** @private */
526
+ private handlePopoverCancelDelete;
527
+ /** @private */
528
+ private focusPopoverButton;
529
+ /** @private */
487
530
  private handlePopoverClose;
488
531
  /** @private */
489
532
  private openEditorSurface;
@@ -541,6 +584,28 @@ export declare class EunomiaScheduler extends EunomiaScheduler_base {
541
584
  private handleModalDelete;
542
585
  /** @private */
543
586
  private handleModalCancel;
587
+ /**
588
+ * Renders the drawer or modal footer : Delete/Cancel/Apply, or the delete
589
+ * confirmation that replaces them once Delete was pressed, same as the
590
+ * event popover. Apply stays disabled while an edited event has no
591
+ * changes.
592
+ * @private
593
+ */
594
+ private renderEditorFooter;
595
+ /**
596
+ * Swaps the open footer for the delete confirmation, moving focus onto
597
+ * its Cancel button since the pressed Delete button goes away.
598
+ * @private
599
+ */
600
+ private handleEditorDeleteClick;
601
+ /** @private */
602
+ private handleEditorCancelDelete;
603
+ /**
604
+ * Focuses `selector` inside whichever editor surface is open, the drawer
605
+ * and the modal rendering the same footer.
606
+ * @private
607
+ */
608
+ private focusOpenFooterButton;
544
609
  /**
545
610
  * The prev/today/next navigation cluster, shared verbatim between the
546
611
  * desktop header (inside `#header-nav`) and the mobile one (inside