@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.
- package/README.md +28 -6
- package/dist/angular/forms.d.ts +80 -0
- package/dist/angular/forms.js +267 -0
- package/dist/cdn/components/chunks/chunk-2XPIGFBD.js +1 -0
- package/dist/cdn/components/chunks/chunk-5IUNSTM3.js +1 -0
- package/dist/cdn/components/chunks/chunk-7HXPLZ7C.js +1 -0
- package/dist/cdn/components/chunks/{chunk-J3SZBXM6.js → chunk-A2NO4RSF.js} +7 -7
- package/dist/cdn/components/chunks/{chunk-Q34EQ5HZ.js → chunk-A623JJXJ.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-Y3HOIL64.js → chunk-AW7PU43S.js} +2 -2
- package/dist/cdn/components/chunks/{chunk-FF3I7C3C.js → chunk-DWTNRFWW.js} +1 -3
- package/dist/cdn/components/chunks/chunk-FPNWPMHA.js +1 -0
- package/dist/cdn/components/chunks/chunk-GMWUHGNI.js +319 -0
- package/dist/cdn/components/chunks/{chunk-FQUWHNQT.js → chunk-GXOEPXDW.js} +1 -1
- package/dist/cdn/components/chunks/chunk-HXESKTK2.js +1 -0
- package/dist/cdn/components/chunks/chunk-JDUWKPHW.js +46 -0
- package/dist/cdn/components/chunks/{chunk-D3JJBHXN.js → chunk-JLKCBPD2.js} +2 -2
- package/dist/cdn/components/chunks/chunk-M6ZJHL4Q.js +1 -0
- package/dist/cdn/components/chunks/{chunk-TN3HGHQO.js → chunk-MDSUMP3O.js} +4 -4
- package/dist/cdn/components/chunks/chunk-MSQWOKBB.js +1 -0
- package/dist/cdn/components/chunks/{chunk-3UUZM7X2.js → chunk-NPXRQHUN.js} +3 -3
- package/dist/cdn/components/chunks/chunk-OB7DEGNX.js +1 -0
- package/dist/cdn/components/chunks/{chunk-JANNHW4Q.js → chunk-PADHCLBG.js} +4 -4
- package/dist/cdn/components/chunks/chunk-QMXE3KLT.js +1 -0
- package/dist/cdn/components/chunks/chunk-QNWKRPOW.js +1 -0
- package/dist/cdn/components/chunks/{chunk-KQUUMZ7U.js → chunk-RZF7QQDX.js} +7 -7
- package/dist/cdn/components/chunks/chunk-SCAP7J35.js +1 -0
- package/dist/cdn/components/chunks/chunk-TISMX7UL.js +1 -0
- package/dist/cdn/components/chunks/chunk-TWLI2ZOT.js +1 -0
- package/dist/cdn/components/chunks/chunk-W4VCWRY7.js +210 -0
- package/dist/cdn/components/chunks/{chunk-SZZRMJ65.js → chunk-WEG3KO6T.js} +3 -3
- package/dist/cdn/components/chunks/chunk-WP6ZYBAC.js +1 -0
- package/dist/cdn/components/chunks/{chunk-HGX6GPHM.js → chunk-XCBQ4CKH.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-3UW2LJ7T.js → chunk-XZ3LFOQP.js} +2 -2
- package/dist/cdn/components/eun-alert.js +1 -1
- package/dist/cdn/components/eun-animate.js +92 -180
- package/dist/cdn/components/eun-breadcrumb.js +4 -4
- package/dist/cdn/components/eun-button.js +1 -1
- package/dist/cdn/components/eun-calendar.js +188 -115
- package/dist/cdn/components/eun-card.js +1 -1
- package/dist/cdn/components/eun-carousel.js +36 -28
- package/dist/cdn/components/eun-check-card.js +3 -3
- package/dist/cdn/components/eun-checkbox-list.js +2 -2
- package/dist/cdn/components/eun-checkbox.js +1 -1
- package/dist/cdn/components/eun-chip.js +11 -15
- package/dist/cdn/components/eun-collapse.js +21 -10
- package/dist/cdn/components/eun-color-picker.js +32 -32
- package/dist/cdn/components/eun-counter.js +8 -8
- package/dist/cdn/components/eun-date-picker.js +83 -79
- package/dist/cdn/components/eun-description-list.js +1 -1
- package/dist/cdn/components/eun-divider.js +9 -8
- package/dist/cdn/components/eun-drawer.js +8 -6
- package/dist/cdn/components/eun-dropdown-button.js +1 -1
- package/dist/cdn/components/eun-dropdown-item.js +4 -4
- package/dist/cdn/components/eun-fab.js +1 -1
- package/dist/cdn/components/eun-image-card.js +2 -2
- package/dist/cdn/components/eun-image-carousel.js +55 -29
- package/dist/cdn/components/eun-infinite-list.js +2 -2
- package/dist/cdn/components/eun-input-file.js +3 -3
- package/dist/cdn/components/eun-input-phone.js +6 -6
- package/dist/cdn/components/eun-input.js +1 -1
- package/dist/cdn/components/eun-label.js +1 -1
- package/dist/cdn/components/eun-link.js +18 -329
- package/dist/cdn/components/eun-loader.js +1 -1
- package/dist/cdn/components/eun-modal.js +9 -7
- package/dist/cdn/components/eun-nav-menu.js +363 -0
- package/dist/cdn/components/eun-pagination.js +4 -4
- package/dist/cdn/components/eun-password-strength.js +2 -2
- package/dist/cdn/components/eun-progress-bar.js +1 -1
- package/dist/cdn/components/eun-radio-card.js +4 -4
- package/dist/cdn/components/eun-radio-list.js +1 -1
- package/dist/cdn/components/eun-radio.js +1 -1
- package/dist/cdn/components/eun-rating.js +9 -9
- package/dist/cdn/components/eun-scheduler-event-editor.js +113 -77
- package/dist/cdn/components/eun-scheduler-event.js +1 -1
- package/dist/cdn/components/eun-scheduler.js +137 -79
- package/dist/cdn/components/eun-search.js +6 -6
- package/dist/cdn/components/eun-select.js +1 -1
- package/dist/cdn/components/eun-sidebar.js +23 -14
- package/dist/cdn/components/eun-slider.js +2 -2
- package/dist/cdn/components/eun-sliding-card.js +1 -1
- package/dist/cdn/components/eun-step.js +2 -2
- package/dist/cdn/components/eun-stepper.js +11 -12
- package/dist/cdn/components/eun-switch.js +2 -2
- package/dist/cdn/components/eun-tab-group.js +1 -1
- package/dist/cdn/components/eun-tab-panel.js +1 -1
- package/dist/cdn/components/eun-table-action-bar.js +1 -1
- package/dist/cdn/components/eun-table.js +13 -10
- package/dist/cdn/components/eun-tag.js +1 -1
- package/dist/cdn/components/eun-textarea.js +4 -4
- package/dist/cdn/components/eun-time-picker.js +28 -25
- package/dist/cdn/components/eun-toast.js +8 -8
- package/dist/cdn/components/eun-toggle-group.js +8 -2
- package/dist/cdn/components/eun-toggle-item.js +8 -2
- package/dist/cdn/components/eun-toggle.js +4 -1
- package/dist/cdn/components/eun-toolbar.js +114 -36
- package/dist/cdn/components/eun-tooltip.js +1 -1
- package/dist/cdn/styles/eunomia-themes.css +1 -1
- package/dist/cdn/styles/themes/eunomia-theme.css +1 -1
- package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +2 -2
- package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
- package/dist/cdn/styles/tools/mixins/layout/eunomia-grid.mixin.scss +116 -8
- package/dist/components/action/button/button.styles.js +2 -2
- package/dist/components/action/dropdown-button/dropdown-button.d.ts +4 -0
- package/dist/components/action/dropdown-button/dropdown-button.js +1 -0
- package/dist/components/action/dropdown-button/dropdown-button.styles.js +5 -4
- package/dist/components/action/dropdown-button/dropdown-item.d.ts +1 -0
- package/dist/components/action/dropdown-button/dropdown-item.js +1 -0
- package/dist/components/action/dropdown-button/dropdown-item.styles.js +4 -4
- package/dist/components/action/link/link.d.ts +2 -1
- package/dist/components/action/link/link.js +2 -1
- package/dist/components/action/link/link.styles.d.ts +40 -1
- package/dist/components/action/link/link.styles.js +83 -60
- package/dist/components/action/shared-styles/button-palette.styles.js +1 -1
- package/dist/components/action/toggle/toggle-group.d.ts +1 -0
- package/dist/components/action/toggle/toggle-group.js +1 -0
- package/dist/components/action/toggle/toggle-group.styles.d.ts +1 -0
- package/dist/components/action/toggle/toggle-group.styles.js +9 -2
- package/dist/components/action/toggle/toggle-item.styles.js +8 -2
- package/dist/components/action/toggle/toggle.d.ts +1 -0
- package/dist/components/action/toggle/toggle.js +1 -0
- package/dist/components/action/toggle/toggle.styles.d.ts +1 -0
- package/dist/components/action/toggle/toggle.styles.js +5 -1
- package/dist/components/alert/drawer/drawer.d.ts +14 -13
- package/dist/components/alert/drawer/drawer.js +20 -28
- package/dist/components/alert/modal/modal.d.ts +14 -13
- package/dist/components/alert/modal/modal.js +20 -28
- package/dist/components/alert/modal/modal.styles.js +1 -1
- package/dist/components/alert/toast/toast.d.ts +5 -5
- package/dist/components/alert/toast/toast.js +9 -10
- package/dist/components/alert/toast/toast.styles.js +3 -3
- package/dist/components/content/card/image-card.styles.js +1 -1
- package/dist/components/content/chip/chip.d.ts +7 -9
- package/dist/components/content/chip/chip.js +11 -14
- package/dist/components/content/chip/chip.styles.js +1 -5
- package/dist/components/content/collapse/collapse.d.ts +5 -0
- package/dist/components/content/collapse/collapse.js +7 -0
- package/dist/components/content/collapse/collapse.styles.d.ts +3 -0
- package/dist/components/content/collapse/collapse.styles.js +13 -1
- package/dist/components/content/description-list/description-list.styles.js +1 -1
- package/dist/components/content/image-carousel/image-carousel.d.ts +60 -13
- package/dist/components/content/image-carousel/image-carousel.js +100 -22
- package/dist/components/content/image-carousel/image-carousel.styles.js +32 -6
- package/dist/components/content/password-strength/password-strength.styles.js +1 -1
- package/dist/components/content/progress-bar/progress-bar.styles.js +1 -1
- package/dist/components/content/shared-styles/card-link.styles.js +1 -1
- package/dist/components/content/shared-styles/tone-surface.styles.js +1 -3
- package/dist/components/form/checkbox/check-card.styles.js +2 -2
- package/dist/components/form/checkbox/checkbox-list.d.ts +3 -1
- package/dist/components/form/checkbox/checkbox-list.js +3 -1
- package/dist/components/form/checkbox/checkbox.styles.js +1 -1
- package/dist/components/form/color-picker/color-picker.d.ts +28 -3
- package/dist/components/form/color-picker/color-picker.js +53 -7
- package/dist/components/form/counter/counter.js +1 -1
- package/dist/components/form/counter/counter.styles.js +2 -2
- package/dist/components/form/date-picker/date-picker-day-grid.styles.js +1 -1
- package/dist/components/form/date-picker/date-picker-month-grid.js +1 -1
- package/dist/components/form/date-picker/date-picker.d.ts +50 -13
- package/dist/components/form/date-picker/date-picker.js +178 -43
- package/dist/components/form/input/input.js +1 -4
- package/dist/components/form/input-file/input-file.styles.js +2 -2
- package/dist/components/form/input-phone/input-phone.js +4 -3
- package/dist/components/form/label/label.styles.js +1 -1
- package/dist/components/form/radio/radio-card.styles.js +2 -2
- package/dist/components/form/radio/radio.styles.js +1 -1
- package/dist/components/form/rating/rating.js +3 -5
- package/dist/components/form/rating/rating.styles.js +2 -2
- package/dist/components/form/search/search.d.ts +1 -7
- package/dist/components/form/search/search.js +2 -12
- package/dist/components/form/shared-styles/field.styles.js +2 -2
- package/dist/components/form/slider/slider.styles.js +1 -1
- package/dist/components/form/switch/switch.styles.js +1 -1
- package/dist/components/form/textarea/textarea.js +1 -5
- package/dist/components/form/textarea/textarea.styles.js +2 -2
- package/dist/components/form/time-picker/time-picker-columns.d.ts +4 -1
- package/dist/components/form/time-picker/time-picker-columns.js +64 -15
- package/dist/components/form/time-picker/time-picker-columns.styles.js +5 -1
- package/dist/components/form/time-picker/time-picker-list.d.ts +4 -1
- package/dist/components/form/time-picker/time-picker-list.js +15 -8
- package/dist/components/form/time-picker/time-picker.d.ts +11 -2
- package/dist/components/form/time-picker/time-picker.js +22 -8
- package/dist/components/layout/animate/animate.d.ts +35 -17
- package/dist/components/layout/animate/animate.js +27 -14
- package/dist/components/layout/animate/animate.styles.d.ts +2 -1
- package/dist/components/layout/animate/animate.styles.js +107 -179
- package/dist/components/layout/divider/divider.d.ts +1 -0
- package/dist/components/layout/divider/divider.js +2 -1
- package/dist/components/layout/divider/divider.styles.js +7 -6
- package/dist/components/layout/infinite-list/infinite-list.styles.js +1 -1
- package/dist/components/navigation/breadcrumb/breadcrumb.styles.js +3 -3
- package/dist/components/navigation/carousel/carousel.d.ts +23 -14
- package/dist/components/navigation/carousel/carousel.js +39 -27
- package/dist/components/navigation/carousel/carousel.styles.js +16 -8
- package/dist/components/navigation/nav-menu/nav-menu.d.ts +201 -0
- package/dist/components/navigation/nav-menu/nav-menu.js +673 -0
- package/dist/components/navigation/nav-menu/nav-menu.styles.d.ts +1 -0
- package/dist/components/navigation/nav-menu/nav-menu.styles.js +352 -0
- package/dist/components/navigation/pagination/pagination.d.ts +3 -0
- package/dist/components/navigation/pagination/pagination.styles.js +2 -2
- package/dist/components/navigation/sidebar/sidebar.d.ts +8 -10
- package/dist/components/navigation/sidebar/sidebar.js +12 -15
- package/dist/components/navigation/sidebar/sidebar.styles.js +13 -4
- package/dist/components/navigation/stepper/step.styles.js +2 -2
- package/dist/components/navigation/stepper/stepper.d.ts +24 -13
- package/dist/components/navigation/stepper/stepper.js +36 -23
- package/dist/components/navigation/stepper/stepper.styles.js +2 -2
- package/dist/components/navigation/tabs/tab-group/tab-group.js +1 -1
- package/dist/components/navigation/tabs/tab-panel/tab-panel.styles.js +1 -1
- package/dist/components/navigation/toolbar/toolbar.d.ts +121 -20
- package/dist/components/navigation/toolbar/toolbar.js +176 -45
- package/dist/components/navigation/toolbar/toolbar.styles.js +113 -28
- package/dist/events/editor-state-change.event.d.ts +28 -0
- package/dist/events/editor-state-change.event.js +22 -0
- package/dist/events/event-cancel.event.d.ts +20 -0
- package/dist/events/event-cancel.event.js +17 -0
- package/dist/events/period-change.event.d.ts +14 -6
- package/dist/events/period-change.event.js +9 -6
- package/dist/features/scheduler/calendar/calendar.d.ts +52 -20
- package/dist/features/scheduler/calendar/calendar.js +84 -36
- package/dist/features/scheduler/calendar/calendar.styles.js +5 -2
- package/dist/features/scheduler/scheduler/scheduler.d.ts +69 -4
- package/dist/features/scheduler/scheduler/scheduler.js +172 -47
- package/dist/features/scheduler/scheduler/scheduler.styles.js +6 -0
- package/dist/features/scheduler/scheduler-event/scheduler-event.d.ts +18 -20
- package/dist/features/scheduler/scheduler-event/scheduler-event.js +29 -38
- package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +2 -2
- package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.d.ts +102 -18
- package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.js +249 -112
- package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.styles.js +11 -1
- package/dist/features/scheduler/shared/scheduler-event-popover.d.ts +9 -1
- package/dist/features/scheduler/shared/scheduler-event-popover.js +77 -42
- package/dist/features/scheduler/shared/scheduler-event-popover.styles.js +14 -3
- package/dist/features/scheduler/shared/scheduler-hour-grid.d.ts +3 -2
- package/dist/features/scheduler/shared/scheduler-hour-grid.js +53 -46
- package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +13 -7
- package/dist/features/scheduler/shared/scheduler-month-view.js +1 -1
- package/dist/features/scheduler/shared/scheduler-month-view.styles.js +13 -7
- package/dist/features/scheduler/shared/scheduler-year-view.d.ts +6 -5
- package/dist/features/scheduler/shared/scheduler-year-view.js +11 -7
- package/dist/features/scheduler/shared/scheduler-year-view.styles.js +57 -3
- package/dist/features/scheduler/shared/scheduler.types.d.ts +5 -9
- package/dist/features/scheduler/shared/scheduler.utils.d.ts +61 -0
- package/dist/features/scheduler/shared/scheduler.utils.js +78 -4
- package/dist/features/table/table/table-native.styles.js +8 -4
- package/dist/features/table/table/table.d.ts +2 -1
- package/dist/features/table/table/table.js +2 -1
- package/dist/features/table/table/table.styles.js +6 -4
- package/dist/i18n/en.d.ts +17 -0
- package/dist/i18n/en.js +17 -0
- package/dist/i18n/fr.js +17 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +4 -0
- package/dist/jsx.d.ts +48 -6
- package/dist/mixins/anchor-position.mixin.d.ts +17 -0
- package/dist/mixins/anchor-position.mixin.js +45 -7
- package/dist/mixins/button.mixin.js +2 -1
- package/dist/mixins/check.mixin.js +14 -5
- package/dist/mixins/dialog-surface.mixin.d.ts +1 -1
- package/dist/mixins/dialog-surface.mixin.js +5 -5
- package/dist/mixins/form.mixin.js +33 -13
- package/dist/mixins/localizable.mixin.d.ts +1 -0
- package/dist/mixins/localizable.mixin.js +9 -2
- package/dist/mixins/radio.mixin.js +14 -5
- package/dist/mixins/validators.mixin.js +4 -3
- package/dist/react.d.ts +59 -0
- package/dist/react.js +42 -0
- package/dist/ssr/animate-ssr.css +35 -0
- package/dist/ssr/breadcrumb-ssr.css +3 -3
- package/dist/ssr/button-ssr.css +8 -2
- package/dist/ssr/card-ssr.css +1 -1
- package/dist/ssr/carousel-ssr.css +15 -4
- package/dist/ssr/chip-ssr.css +3 -3
- package/dist/ssr/collapse-ssr.css +2 -2
- package/dist/ssr/description-list-ssr.css +1 -1
- package/dist/ssr/divider-ssr.css +23 -0
- package/dist/ssr/field-ssr.css +245 -42
- package/dist/ssr/image-carousel-ssr.css +2 -4
- package/dist/ssr/links-ssr.css +17 -3
- package/dist/ssr/nav-menu-ssr.css +82 -0
- package/dist/ssr/overlay-ssr.css +4 -0
- package/dist/ssr/scheduler-ssr.css +182 -0
- package/dist/ssr/stepper-ssr.css +136 -0
- package/dist/ssr/table-ssr.css +7 -4
- package/dist/ssr/tag-ssr.css +1 -1
- package/dist/ssr/toolbar-ssr.css +7 -5
- package/dist/utils/css-length.utils.d.ts +14 -0
- package/dist/utils/css-length.utils.js +32 -0
- package/dist/utils/form-validation.utils.d.ts +36 -0
- package/dist/utils/form-validation.utils.js +113 -0
- package/dist/utils/implicit-submission.utils.js +2 -14
- package/dist/utils/interactive-content.utils.d.ts +10 -0
- package/dist/utils/interactive-content.utils.js +43 -0
- package/dist/utils/popover.utils.js +3 -2
- package/dist/utils/scroll-lock.utils.d.ts +9 -1
- package/dist/utils/scroll-lock.utils.js +21 -2
- package/dist/utils/theme-generator.utils.d.ts +1 -0
- package/dist/utils/theme-generator.utils.js +23 -10
- package/dist/utils/validity.utils.d.ts +18 -4
- package/dist/utils/validity.utils.js +74 -4
- package/package.json +34 -3
- package/styles/themes/mixins/eunomia-neutrals.mixin.scss +2 -2
- package/styles/tools/mixins/layout/eunomia-grid.mixin.scss +116 -8
- package/dist/cdn/components/chunks/chunk-4DRU3IYJ.js +0 -1
- package/dist/cdn/components/chunks/chunk-647ISUF4.js +0 -1
- package/dist/cdn/components/chunks/chunk-6TIEBY34.js +0 -1
- package/dist/cdn/components/chunks/chunk-E6UOI36Q.js +0 -1
- package/dist/cdn/components/chunks/chunk-GNAUNTS5.js +0 -1
- package/dist/cdn/components/chunks/chunk-IJJ67C66.js +0 -1
- package/dist/cdn/components/chunks/chunk-J7ETIRSK.js +0 -1
- package/dist/cdn/components/chunks/chunk-JGV7LHEI.js +0 -1
- package/dist/cdn/components/chunks/chunk-L74LXUGL.js +0 -1
- package/dist/cdn/components/chunks/chunk-MY6ORZJR.js +0 -46
- package/dist/cdn/components/chunks/chunk-QWTFP56P.js +0 -1
- package/dist/cdn/components/chunks/chunk-SFX2LQ4K.js +0 -205
- package/dist/cdn/components/chunks/chunk-WW4BTWMH.js +0 -1
- package/dist/utils/boolean.utils.d.ts +0 -14
- 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
|
|
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
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
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
|
|
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
|
|
683
|
-
*
|
|
684
|
-
* user's own scroll position on every
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
759
|
-
*
|
|
760
|
-
*
|
|
761
|
-
*
|
|
762
|
-
*
|
|
763
|
-
*
|
|
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?.[
|
|
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
|
|
870
|
-
*
|
|
871
|
-
* `eun-scheduler`)
|
|
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.
|
|
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.
|
|
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.
|
|
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,
|
|
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.
|
|
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, #
|
|
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(
|
|
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
|
|
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
|
-
/**
|
|
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
|