@globalpayments/vega 2.26.0 → 2.28.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/dist/cjs/{app-globals-2bae50fb.js → app-globals-512d84f4.js} +61 -9
- package/dist/cjs/{breakpoints-cb3291ba.js → breakpoints-7e2dff90.js} +1 -1
- package/dist/cjs/{child-nodes-event-prevent-slimmer-cc557cb3.js → child-nodes-event-prevent-slimmer-e383a914.js} +1 -1
- package/dist/cjs/{child-nodes-notify-observer-slimmer-c144a963.js → child-nodes-notify-observer-slimmer-79f2f5a7.js} +2 -2
- package/dist/cjs/{create-public-api-runtime-metrics-slimmer-d2d49ff5.js → create-public-api-runtime-metrics-slimmer-7510221b.js} +39 -2
- package/dist/cjs/{design-token-2c2cdd7d.js → design-token-17b8e4d8.js} +5 -5
- package/dist/cjs/{dom-node-subject-observer-factory-d2698876.js → dom-node-subject-observer-factory-2e41340d.js} +2 -31
- package/dist/cjs/{element-appender-slimmer-5fa9ff52.js → element-appender-slimmer-bf5ecbd8.js} +4 -4
- package/dist/cjs/{event-emit-slimmer-54616105.js → event-emit-slimmer-8f51adaa.js} +1 -1
- package/dist/cjs/{feature-flag-controller-e031c341.js → feature-flag-controller-078da332.js} +3 -0
- package/dist/cjs/{form-field-controller-slimmer-8b314ba2.js → form-field-controller-slimmer-223f8ee3.js} +54 -12
- package/dist/cjs/{icon-manager-2c3cf5ba.js → icon-manager-5a2b67cf.js} +4 -1
- package/dist/cjs/index.cjs.js +18 -14
- package/dist/cjs/{internal-icon-manager-3dd4faeb.js → internal-icon-manager-858baff1.js} +1 -1
- package/dist/cjs/loader.cjs.js +15 -12
- package/dist/cjs/{min-number-rule-0ce5347c.js → min-number-rule-84f21ad9.js} +8 -4
- package/dist/cjs/{min-string-length-rule-d1a1ea94.js → min-string-length-rule-75f24a48.js} +11 -4
- package/dist/cjs/observer-f49483e8.js +32 -0
- package/dist/cjs/{page-resize-observer-slimmer-1e404fc7.js → page-resize-observer-slimmer-a8cf1874.js} +1 -1
- package/dist/cjs/{remote-invocation-registry-162044d5.js → remote-invocation-registry-32aaf6c2.js} +3 -3
- package/dist/cjs/{required-field-rule-8655758f.js → required-field-rule-9a57b1a0.js} +1 -1
- package/dist/cjs/{responsive-format-facade-aa849dc7.js → responsive-format-facade-7bc51a43.js} +3 -3
- package/dist/cjs/{state-background-color-formatter-33ae4282.js → state-background-color-formatter-418b84e6.js} +1 -1
- package/dist/cjs/{static-subject-title-35e2a92c.js → static-subject-title-3599787e.js} +2 -0
- package/dist/cjs/{string-input-formatter-slimmer-0ac6e18a.js → string-input-formatter-slimmer-fcfa5bb7.js} +1 -1
- package/dist/cjs/{style-formatter-dc0682a4.js → style-formatter-a0829641.js} +2 -2
- package/dist/cjs/{sub-state-observer-slimmer-58217668.js → sub-state-observer-slimmer-36660092.js} +6 -5
- package/dist/cjs/translation-0dd74433.js +276 -0
- package/dist/cjs/translation-slimmer-83577cfd.js +42 -0
- package/dist/cjs/{type-guard-4d05d4b2.js → type-guard-a07b353b.js} +2 -2
- package/dist/cjs/{ui-077fc009.js → ui-32e69595.js} +1 -1
- package/dist/cjs/vega-accordion.cjs.entry.js +20 -20
- package/dist/cjs/vega-app-footer.cjs.entry.js +11 -11
- package/dist/cjs/vega-app-header-button.cjs.entry.js +25 -25
- package/dist/cjs/vega-backdrop.cjs.entry.js +2 -2
- package/dist/cjs/vega-banner.cjs.entry.js +14 -14
- package/dist/cjs/vega-bar-chart.cjs.entry.js +1 -1
- package/dist/cjs/vega-box.cjs.entry.js +9 -9
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +7 -6
- package/dist/cjs/vega-button-circle.cjs.entry.js +20 -19
- package/dist/cjs/vega-button-group_2.cjs.entry.js +12 -11
- package/dist/cjs/vega-button-link.cjs.entry.js +13 -12
- package/dist/cjs/vega-button.cjs.entry.js +21 -20
- package/dist/cjs/vega-calendar_3.cjs.entry.js +963 -826
- package/dist/cjs/vega-card.cjs.entry.js +7 -7
- package/dist/cjs/vega-carousel.cjs.entry.js +16 -15
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +34 -32
- package/dist/cjs/vega-chip.cjs.entry.js +23 -22
- package/dist/cjs/vega-color-picker.cjs.entry.js +20 -18
- package/dist/cjs/vega-combo-box.cjs.entry.js +29 -27
- package/dist/cjs/vega-counter-badge.cjs.entry.js +4 -4
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +86 -48
- package/dist/cjs/{vega-dialog-controller-cb07e697.js → vega-dialog-controller-6a8525b3.js} +3 -3
- package/dist/cjs/vega-dialog_2.cjs.entry.js +26 -25
- package/dist/cjs/vega-divider.cjs.entry.js +10 -10
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +63 -50
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/vega-field-error.cjs.entry.js +2 -2
- package/dist/cjs/vega-field-label.cjs.entry.js +7 -6
- package/dist/cjs/vega-file-uploader.cjs.entry.js +33 -24
- package/dist/cjs/vega-flex.cjs.entry.js +12 -12
- package/dist/cjs/vega-font.cjs.entry.js +11 -11
- package/dist/cjs/vega-form.cjs.entry.js +23 -21
- package/dist/cjs/vega-grid.cjs.entry.js +8 -8
- package/dist/cjs/vega-icon.cjs.entry.js +9 -10
- package/dist/cjs/vega-image-uploader.cjs.entry.js +40 -31
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +26 -25
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +35 -31
- package/dist/cjs/vega-input-range.cjs.entry.js +41 -31
- package/dist/cjs/vega-input-select.cjs.entry.js +43 -34
- package/dist/cjs/vega-input.cjs.entry.js +83 -48
- package/dist/cjs/vega-item-toggle.cjs.entry.js +7 -6
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +24 -24
- package/dist/cjs/vega-line-chart.cjs.entry.js +1 -1
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +12 -12
- package/dist/cjs/vega-page-notification_2.cjs.entry.js +9 -8
- package/dist/cjs/vega-pagination.cjs.entry.js +27 -18
- package/dist/cjs/vega-pie-chart.cjs.entry.js +1 -1
- package/dist/cjs/vega-popover_2.cjs.entry.js +16 -15
- package/dist/cjs/vega-progress-tracker.cjs.entry.js +13 -12
- package/dist/cjs/vega-radio_2.cjs.entry.js +29 -27
- package/dist/cjs/vega-section-title.cjs.entry.js +2 -2
- package/dist/cjs/vega-segment-control.cjs.entry.js +10 -9
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +28 -26
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +25 -23
- package/dist/cjs/vega-signature-capture.cjs.entry.js +40 -31
- package/dist/cjs/{vega-skeleton-loader-controller-cb631f0e.js → vega-skeleton-loader-controller-e886dc58.js} +28 -6
- package/dist/cjs/vega-skeleton.cjs.entry.js +2 -2
- package/dist/cjs/vega-stepper.cjs.entry.js +22 -20
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +43 -17
- package/dist/cjs/vega-table_8.cjs.entry.js +389 -333
- package/dist/cjs/vega-text.cjs.entry.js +4 -4
- package/dist/cjs/vega-textarea.cjs.entry.js +27 -25
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +46 -29
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +18 -16
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +10 -10
- package/dist/cjs/vega.cjs.js +15 -12
- package/dist/collection/components/vega-accordion/vega-accordion.css +21 -0
- package/dist/collection/components/vega-accordion/vega-accordion.js +16 -16
- package/dist/collection/components/vega-app-footer/vega-app-footer.js +23 -23
- package/dist/collection/components/vega-app-header-button/vega-app-header-button.css +7 -1
- package/dist/collection/components/vega-app-header-button/vega-app-header-button.js +23 -23
- package/dist/collection/components/vega-backdrop/vega-backdrop.js +7 -7
- package/dist/collection/components/vega-banner/vega-banner.js +19 -19
- package/dist/collection/components/vega-box/vega-box.css +21 -0
- package/dist/collection/components/vega-box/vega-box.js +27 -27
- package/dist/collection/components/vega-breadcrumb/vega-breadcrumb.js +7 -7
- package/dist/collection/components/vega-button/vega-button.css +1 -0
- package/dist/collection/components/vega-button/vega-button.js +22 -22
- package/dist/collection/components/vega-button-circle/vega-button-circle.css +4 -0
- package/dist/collection/components/vega-button-circle/vega-button-circle.js +20 -20
- package/dist/collection/components/vega-button-group/vega-button-group-item/vega-button-group-item.css +10 -0
- package/dist/collection/components/vega-button-group/vega-button-group-item/vega-button-group-item.js +8 -8
- package/dist/collection/components/vega-button-group/vega-button-group.css +13 -0
- package/dist/collection/components/vega-button-group/vega-button-group.js +9 -9
- package/dist/collection/components/vega-button-link/vega-button-link.js +20 -20
- package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-current-period-controller.js +17 -3
- package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-responsive-controller.js +1 -1
- package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-view-controller.js +3 -0
- package/dist/collection/components/vega-calendar/slimmers/common/layout/full-day-event-layout-generator.js +1 -1
- package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-switch-panel.js +19 -10
- package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-view-renderer.js +4 -1
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-day-event-layout-renderer.js +1 -1
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-time-line-renderer.js +12 -2
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.js +9 -8
- package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.js +3 -1
- package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.js +12 -6
- package/dist/collection/components/vega-calendar/utils/index.js +24 -0
- package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/renderers/vega-calendar-event-renderer.js +3 -2
- package/dist/collection/components/vega-calendar/vega-calendar-event/vega-calendar-event.js +2 -2
- package/dist/collection/components/vega-calendar/vega-calendar-event-slot/vega-calendar-event-slot.js +2 -2
- package/dist/collection/components/vega-calendar/vega-calendar.css +10 -6
- package/dist/collection/components/vega-calendar/vega-calendar.js +60 -19
- package/dist/collection/components/vega-card/vega-card.js +6 -6
- package/dist/collection/components/vega-carousel/vega-carousel.js +19 -19
- package/dist/collection/components/vega-chart/vega-bar-chart/vega-bar-chart.js +3 -3
- package/dist/collection/components/vega-chart/vega-line-chart/vega-line-chart.js +4 -4
- package/dist/collection/components/vega-chart/vega-pie-chart/vega-pie-chart.js +4 -4
- package/dist/collection/components/vega-checkbox/vega-checkbox-group/vega-checkbox-group.js +21 -21
- package/dist/collection/components/vega-checkbox/vega-checkbox.js +19 -19
- package/dist/collection/components/vega-chip/vega-chip.css +4 -0
- package/dist/collection/components/vega-chip/vega-chip.js +26 -26
- package/dist/collection/components/vega-color-picker/vega-color-picker.js +21 -21
- package/dist/collection/components/vega-combo-box/vega-combo-box.js +37 -37
- package/dist/collection/components/vega-counter-badge/vega-counter-badge.js +9 -9
- package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.js +16 -2
- package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-range-input-renderer.js +5 -2
- package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.js +1 -1
- package/dist/collection/components/vega-date-picker/vega-date-picker.js +42 -37
- package/dist/collection/components/vega-dialog/vega-dialog.js +13 -13
- package/dist/collection/components/vega-divider/vega-divider.js +7 -7
- package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.js +6 -1
- package/dist/collection/components/vega-dropdown/vega-dropdown-content-box/vega-dropdown-content-box.js +1 -1
- package/dist/collection/components/vega-dropdown/vega-dropdown-group/vega-dropdown-group.js +4 -4
- package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.js +12 -12
- package/dist/collection/components/vega-dropdown/vega-dropdown.js +70 -65
- package/dist/collection/components/vega-field-error/vega-field-error.js +3 -3
- package/dist/collection/components/vega-field-label/vega-field-label.js +12 -12
- package/dist/collection/components/vega-file-uploader/slimmers/renderers/vega-file-uploader-container-renderer.js +4 -1
- package/dist/collection/components/vega-file-uploader/vega-file-uploader.js +35 -30
- package/dist/collection/components/vega-flex/vega-flex.js +16 -16
- package/dist/collection/components/vega-font/vega-font.js +10 -10
- package/dist/collection/components/vega-form/vega-form.js +19 -19
- package/dist/collection/components/vega-grid/vega-grid.js +8 -8
- package/dist/collection/components/vega-hint/vega-hint.js +1 -1
- package/dist/collection/components/vega-icon/vega-icon.js +5 -5
- package/dist/collection/components/vega-image-uploader/slimmers/renderers/vega-image-uploader-default-content-renderer.js +4 -1
- package/dist/collection/components/vega-image-uploader/vega-image-uploader.js +45 -40
- package/dist/collection/components/vega-input/vega-input.js +58 -58
- package/dist/collection/components/vega-input-credit-card/vega-input-credit-card.js +29 -29
- package/dist/collection/components/vega-input-phone-number/vega-input-phone-number.js +28 -28
- package/dist/collection/components/vega-input-range/slimmers/renderers/vega-input-range-input-renderer.js +4 -1
- package/dist/collection/components/vega-input-range/vega-input-range.js +37 -32
- package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +5 -2
- package/dist/collection/components/vega-input-select/vega-input-select.js +45 -40
- package/dist/collection/components/vega-item-toggle/vega-item-toggle.js +9 -9
- package/dist/collection/components/vega-loader-wrapper/vega-loader-wrapper.js +1 -1
- package/dist/collection/components/vega-loading-indicator/vega-loading-indicator.js +15 -15
- package/dist/collection/components/vega-modal/vega-modal.js +29 -29
- package/dist/collection/components/vega-nav/vega-left-nav/vega-left-nav.js +16 -16
- package/dist/collection/components/vega-nav/vega-left-nav-group/vega-left-nav-group.js +6 -6
- package/dist/collection/components/vega-nav/vega-left-nav-link/vega-left-nav-link.js +8 -8
- package/dist/collection/components/vega-nav/vega-left-nav-section/vega-left-nav-section.js +4 -4
- package/dist/collection/components/vega-nav/vega-nav-card/vega-nav-card.js +3 -3
- package/dist/collection/components/vega-page-notification/vega-page-notification-list/vega-page-notification-list.js +1 -1
- package/dist/collection/components/vega-page-notification/vega-page-notification.js +15 -15
- package/dist/collection/components/vega-pagination/internal/vega-pagination-current-page-label.js +2 -2
- package/dist/collection/components/vega-pagination/internal/vega-pagination-go-to.js +2 -2
- package/dist/collection/components/vega-pagination/internal/vega-pagination-page-size-selector.js +2 -2
- package/dist/collection/components/vega-pagination/vega-pagination.js +23 -18
- package/dist/collection/components/vega-popover/vega-popover-content-box/vega-popover-content-box.js +3 -3
- package/dist/collection/components/vega-popover/vega-popover.js +19 -19
- package/dist/collection/components/vega-progress-tracker/vega-progress-tracker.js +23 -23
- package/dist/collection/components/vega-radio/vega-radio-group/vega-radio-group.js +22 -22
- package/dist/collection/components/vega-radio/vega-radio.js +16 -16
- package/dist/collection/components/vega-section-title/vega-section-title.js +7 -7
- package/dist/collection/components/vega-segment-control/vega-segment-control.js +12 -12
- package/dist/collection/components/vega-selection-chip/vega-selection-chip-group/vega-selection-chip-group.js +16 -16
- package/dist/collection/components/vega-selection-chip/vega-selection-chip.js +18 -18
- package/dist/collection/components/vega-selection-tile/vega-selection-tile-group/vega-selection-tile-group.js +18 -18
- package/dist/collection/components/vega-selection-tile/vega-selection-tile.js +13 -13
- package/dist/collection/components/vega-signature-capture/slimmers/written-mode/renderers/written-mode-renderer.js +5 -2
- package/dist/collection/components/vega-signature-capture/vega-signature-capture.js +34 -29
- package/dist/collection/components/vega-skeleton/vega-skeleton.js +7 -7
- package/dist/collection/components/vega-slot-container/vega-slot-container.js +1 -1
- package/dist/collection/components/vega-stepper/vega-stepper.js +22 -22
- package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/renderers/vega-tab-group-tab-list-renderer.js +26 -1
- package/dist/collection/components/vega-tab-group/vega-tab-group-panel/vega-tab-group-panel.js +3 -3
- package/dist/collection/components/vega-tab-group/vega-tab-group.css +29 -0
- package/dist/collection/components/vega-tab-group/vega-tab-group.js +14 -14
- package/dist/collection/components/vega-table/slimmers/renderers/vega-table-renderer.js +4 -1
- package/dist/collection/components/vega-table/vega-table-body/vega-table-body.js +1 -1
- package/dist/collection/components/vega-table/vega-table-cell/vega-table-cell.js +5 -5
- package/dist/collection/components/vega-table/vega-table-expand-row/vega-table-expand-row.js +2 -2
- package/dist/collection/components/vega-table/vega-table-head/vega-table-head.js +1 -1
- package/dist/collection/components/vega-table/vega-table-head-cell/slimmers/renderers/sort-icon-renderer.js +38 -0
- package/dist/collection/components/vega-table/vega-table-head-cell/vega-table-head-cell.css +27 -31
- package/dist/collection/components/vega-table/vega-table-head-cell/vega-table-head-cell.js +25 -26
- package/dist/collection/components/vega-table/vega-table-head-row/vega-table-head-row.js +3 -3
- package/dist/collection/components/vega-table/vega-table-row/vega-table-row.js +6 -6
- package/dist/collection/components/vega-table/vega-table.js +87 -82
- package/dist/collection/components/vega-text/vega-text.js +4 -4
- package/dist/collection/components/vega-textarea/vega-textarea.js +31 -31
- package/dist/collection/components/vega-time-picker/slimmers/renderers/vega-time-picker-range-input-renderer.js +7 -2
- package/dist/collection/components/vega-time-picker/slimmers/renderers/vega-time-picker-single-input-renderer.js +6 -1
- package/dist/collection/components/vega-time-picker/vega-time-picker-dropdown/vega-time-picker-dropdown.js +1 -1
- package/dist/collection/components/vega-time-picker/vega-time-picker.js +31 -26
- package/dist/collection/components/vega-toggle-switch/vega-toggle-switch.js +20 -20
- package/dist/collection/components/vega-tooltip/vega-tooltip-content-box/vega-tooltip-content-box.js +2 -2
- package/dist/collection/components/vega-tooltip/vega-tooltip.js +15 -15
- package/dist/collection/components/vega-virtual-scroll/vega-virtual-scroll.js +16 -16
- package/dist/collection/constants/runtime-metrics-payload-definition/public-api/VegaTranslation/runtime-metrics-payload-definition.js +42 -0
- package/dist/collection/constants/ui.js +1 -1
- package/dist/collection/global/icons/arrow-up-arrow-down.js +3 -0
- package/dist/collection/global/icons/circle-arrow-down.js +3 -0
- package/dist/collection/global/icons/circle-arrow-up.js +3 -0
- package/dist/collection/global/scripts/before-vega-load.js +12 -2
- package/dist/collection/helpers/calendar/calendar-period/calendar-period.abstract.js +8 -0
- package/dist/collection/helpers/calendar/calendar-period/day-period.js +27 -4
- package/dist/collection/helpers/calendar/calendar-period/month-period.js +4 -2
- package/dist/collection/helpers/calendar/calendar-period/week-period.js +4 -2
- package/dist/collection/helpers/calendar/calendar-view-generator/month-view-generator.js +8 -2
- package/dist/collection/helpers/calendar/calendar-view-generator/week-view-generator.js +8 -1
- package/dist/collection/helpers/calendar/test/calendar-period/day-period.test.js +16 -0
- package/dist/collection/helpers/calendar/test/calendar-view-generator/month-view-generator.test.js +50 -0
- package/dist/collection/helpers/calendar/test/calendar-view-generator/week-view-generator.test.js +15 -0
- package/dist/collection/helpers/change-manager/subject/static-subject/static-subject-title.js +1 -0
- package/dist/collection/helpers/common/wait-for-vega-handler.js +2 -0
- package/dist/collection/helpers/dialog/vega-dialog-controller.js +1 -0
- package/dist/collection/helpers/event-manager/vega-event-manager.js +3 -0
- package/dist/collection/helpers/feature-control/feature-flag-controller.js +3 -0
- package/dist/collection/helpers/formatter/string-formatter/number-mask-strategy.js +36 -4
- package/dist/collection/helpers/formatter/string-formatter/number-thousand-comma-strategy.js +9 -7
- package/dist/collection/helpers/formatter/test/responsive-map-formatter/responsive-box-display-formatter.test.js +15 -3
- package/dist/collection/helpers/formatter/test/string-formatter/number-mask-strategy.test.js +11 -2
- package/dist/collection/helpers/formatter/test/string-formatter/number-thousand-comma-mask-strategy.test.js +2 -0
- package/dist/collection/helpers/icon/icon-manager.js +3 -0
- package/dist/collection/helpers/loading-indicator/vega-loader-controller.js +2 -0
- package/dist/collection/helpers/notify/vega-notify-controller.js +6 -0
- package/dist/collection/helpers/public-api.js +1 -0
- package/dist/collection/helpers/skeleton-loader/vega-skeleton-loader-controller.js +4 -0
- package/dist/collection/helpers/slimmers/field-error-ui-controller-slimmer.js +46 -3
- package/dist/collection/helpers/slimmers/global/vega-translate-observer-slimmer.js +44 -0
- package/dist/collection/helpers/slimmers/sub-state/sub-state-observer-slimmer.js +2 -2
- package/dist/collection/helpers/slimmers/test/string-input-formatter-slimmer.test.js +20 -0
- package/dist/collection/helpers/slimmers/test/translation-slimmer.test.js +89 -0
- package/dist/collection/helpers/slimmers/translation/index.js +1 -0
- package/dist/collection/helpers/slimmers/translation/translation-slimmer.js +37 -0
- package/dist/collection/helpers/theme/theme-manager.js +5 -0
- package/dist/collection/helpers/translation/index.js +4 -0
- package/dist/collection/helpers/translation/internal-translation-controller.js +104 -0
- package/dist/collection/helpers/translation/locales/en.js +74 -0
- package/dist/collection/helpers/translation/tests/internal-translation-controller.test.js +182 -0
- package/dist/collection/helpers/translation/tests/translation.test.js +32 -0
- package/dist/collection/helpers/translation/translation.js +51 -0
- package/dist/collection/helpers/validator/rules/check-box-required-rule.js +1 -1
- package/dist/collection/helpers/validator/rules/date-range-rule.js +1 -1
- package/dist/collection/helpers/validator/rules/date-required-rule.js +1 -1
- package/dist/collection/helpers/validator/rules/email-field-rule.js +1 -1
- package/dist/collection/helpers/validator/rules/input-phone-number-required-rule.js +1 -1
- package/dist/collection/helpers/validator/rules/input-range-min-and-max-rule.js +5 -5
- package/dist/collection/helpers/validator/rules/input-range-required-rule.js +1 -1
- package/dist/collection/helpers/validator/rules/max-number-rule.js +4 -2
- package/dist/collection/helpers/validator/rules/max-string-length-rule.js +4 -2
- package/dist/collection/helpers/validator/rules/min-and-max-date-rule.js +25 -10
- package/dist/collection/helpers/validator/rules/min-number-rule.js +4 -2
- package/dist/collection/helpers/validator/rules/min-string-length-rule.js +7 -2
- package/dist/collection/helpers/validator/rules/required-field-rule.js +1 -1
- package/dist/collection/helpers/validator/rules/time-range-required-rule.js +1 -1
- package/dist/collection/helpers/validator/rules/time-range-rule.js +1 -1
- package/dist/collection/helpers/validator/rules/time-required-rule.js +1 -1
- package/dist/collection/helpers/validator/rules/valid-phone-number-rule.js +8 -5
- package/dist/collection/helpers/validator/test/rules/custom-validation-rule.test.js +56 -0
- package/dist/collection/helpers/validator/test/rules/input-range-min-and-max-rule.test.js +4 -4
- package/dist/collection/helpers/validator/test/rules/max-number-rule.test.js +3 -3
- package/dist/collection/helpers/validator/test/rules/max-string-length-rule.test.js +1 -1
- package/dist/collection/helpers/validator/test/rules/min-and-max-date-rule.test.js +10 -10
- package/dist/collection/helpers/validator/test/rules/min-number-rule.test.js +2 -2
- package/dist/collection/helpers/validator/test/rules/min-string-length-rule.test.js +1 -1
- package/dist/collection/helpers/validator/test/rules/valid-phone-number-rule.test.js +4 -1
- package/dist/collection/helpers/zindex/vega-z-index-manager.js +1 -0
- package/dist/esm/{app-globals-b5bc861f.js → app-globals-41797af8.js} +61 -9
- package/dist/esm/{breakpoints-e59edf8d.js → breakpoints-36a3ed69.js} +1 -1
- package/dist/esm/{child-nodes-event-prevent-slimmer-d3883004.js → child-nodes-event-prevent-slimmer-345c46c5.js} +1 -1
- package/dist/esm/{child-nodes-notify-observer-slimmer-50cd94b9.js → child-nodes-notify-observer-slimmer-3d52b843.js} +1 -1
- package/dist/esm/{create-public-api-runtime-metrics-slimmer-dc9af92b.js → create-public-api-runtime-metrics-slimmer-928ad7f0.js} +37 -2
- package/dist/esm/{design-token-44525832.js → design-token-3671ce60.js} +5 -5
- package/dist/esm/{dom-node-subject-observer-factory-0d4b85b8.js → dom-node-subject-observer-factory-9461cd67.js} +2 -30
- package/dist/esm/{element-appender-slimmer-1aa00c06.js → element-appender-slimmer-1172e2ea.js} +4 -4
- package/dist/esm/{event-emit-slimmer-0315fa00.js → event-emit-slimmer-eee9fd41.js} +1 -1
- package/dist/esm/{feature-flag-controller-a5fe5022.js → feature-flag-controller-10780eeb.js} +3 -0
- package/dist/esm/{form-field-controller-slimmer-bf7441bd.js → form-field-controller-slimmer-edbaaf7c.js} +49 -7
- package/dist/esm/{icon-manager-754cda3f.js → icon-manager-0f030f8a.js} +4 -1
- package/dist/esm/index.js +16 -14
- package/dist/esm/{internal-icon-manager-ebe6ecf4.js → internal-icon-manager-9671142a.js} +1 -1
- package/dist/esm/loader.js +15 -12
- package/dist/esm/{min-number-rule-88e546e5.js → min-number-rule-8f643dbd.js} +8 -4
- package/dist/esm/{min-string-length-rule-27a8ba07.js → min-string-length-rule-c6a69eeb.js} +11 -4
- package/dist/esm/observer-3959f9dd.js +30 -0
- package/dist/esm/{page-resize-observer-slimmer-8caeb03b.js → page-resize-observer-slimmer-994c1e1b.js} +1 -1
- package/dist/esm/{remote-invocation-registry-cf9c81bb.js → remote-invocation-registry-1682b34e.js} +1 -1
- package/dist/esm/{required-field-rule-f438a73f.js → required-field-rule-5da360cc.js} +1 -1
- package/dist/esm/{responsive-format-facade-4488d609.js → responsive-format-facade-5a1329a7.js} +3 -3
- package/dist/esm/{state-background-color-formatter-de7e6522.js → state-background-color-formatter-0540d006.js} +1 -1
- package/dist/esm/{static-subject-title-2a4d6602.js → static-subject-title-6987a80b.js} +2 -1
- package/dist/esm/{string-input-formatter-slimmer-633271ed.js → string-input-formatter-slimmer-bfe3f5e5.js} +1 -1
- package/dist/esm/{style-formatter-391b4f97.js → style-formatter-2fa5ce09.js} +2 -2
- package/dist/esm/{sub-state-observer-slimmer-46abe492.js → sub-state-observer-slimmer-8eff5559.js} +4 -3
- package/dist/esm/translation-0fa7cf77.js +272 -0
- package/dist/esm/translation-slimmer-79f9a9c9.js +40 -0
- package/dist/esm/{type-guard-467c9e3e.js → type-guard-63caf78b.js} +2 -2
- package/dist/esm/{ui-df46cc20.js → ui-8424715a.js} +1 -1
- package/dist/esm/vega-accordion.entry.js +19 -19
- package/dist/esm/vega-app-footer.entry.js +11 -11
- package/dist/esm/vega-app-header-button.entry.js +25 -25
- package/dist/esm/vega-backdrop.entry.js +2 -2
- package/dist/esm/vega-banner.entry.js +14 -14
- package/dist/esm/vega-bar-chart.entry.js +1 -1
- package/dist/esm/vega-box.entry.js +9 -9
- package/dist/esm/vega-breadcrumb.entry.js +7 -6
- package/dist/esm/vega-button-circle.entry.js +20 -19
- package/dist/esm/vega-button-group_2.entry.js +12 -11
- package/dist/esm/vega-button-link.entry.js +13 -12
- package/dist/esm/vega-button.entry.js +21 -20
- package/dist/esm/vega-calendar_3.entry.js +962 -825
- package/dist/esm/vega-card.entry.js +7 -7
- package/dist/esm/vega-carousel.entry.js +16 -15
- package/dist/esm/vega-checkbox_2.entry.js +32 -30
- package/dist/esm/vega-chip.entry.js +23 -22
- package/dist/esm/vega-color-picker.entry.js +20 -18
- package/dist/esm/vega-combo-box.entry.js +29 -27
- package/dist/esm/vega-counter-badge.entry.js +4 -4
- package/dist/esm/vega-date-picker_2.entry.js +86 -48
- package/dist/esm/{vega-dialog-controller-fb1a8e21.js → vega-dialog-controller-3b905672.js} +2 -2
- package/dist/esm/vega-dialog_2.entry.js +26 -25
- package/dist/esm/vega-divider.entry.js +10 -10
- package/dist/esm/vega-dropdown_5.entry.js +63 -50
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/vega-field-error.entry.js +2 -2
- package/dist/esm/vega-field-label.entry.js +7 -6
- package/dist/esm/vega-file-uploader.entry.js +32 -23
- package/dist/esm/vega-flex.entry.js +12 -12
- package/dist/esm/vega-font.entry.js +11 -11
- package/dist/esm/vega-form.entry.js +19 -17
- package/dist/esm/vega-grid.entry.js +8 -8
- package/dist/esm/vega-icon.entry.js +9 -10
- package/dist/esm/vega-image-uploader.entry.js +40 -31
- package/dist/esm/vega-input-credit-card.entry.js +26 -25
- package/dist/esm/vega-input-phone-number.entry.js +35 -31
- package/dist/esm/vega-input-range.entry.js +41 -31
- package/dist/esm/vega-input-select.entry.js +43 -34
- package/dist/esm/vega-input.entry.js +83 -48
- package/dist/esm/vega-item-toggle.entry.js +7 -6
- package/dist/esm/vega-left-nav_5.entry.js +23 -23
- package/dist/esm/vega-line-chart.entry.js +1 -1
- package/dist/esm/vega-loader-wrapper_2.entry.js +12 -12
- package/dist/esm/vega-page-notification_2.entry.js +9 -8
- package/dist/esm/vega-pagination.entry.js +27 -18
- package/dist/esm/vega-pie-chart.entry.js +1 -1
- package/dist/esm/vega-popover_2.entry.js +16 -15
- package/dist/esm/vega-progress-tracker.entry.js +13 -12
- package/dist/esm/vega-radio_2.entry.js +27 -25
- package/dist/esm/vega-section-title.entry.js +2 -2
- package/dist/esm/vega-segment-control.entry.js +10 -9
- package/dist/esm/vega-selection-chip_2.entry.js +27 -25
- package/dist/esm/vega-selection-tile_2.entry.js +24 -22
- package/dist/esm/vega-signature-capture.entry.js +40 -31
- package/dist/esm/{vega-skeleton-loader-controller-74e3d189.js → vega-skeleton-loader-controller-6fb25f3b.js} +25 -3
- package/dist/esm/vega-skeleton.entry.js +2 -2
- package/dist/esm/vega-stepper.entry.js +22 -20
- package/dist/esm/vega-tab-group_2.entry.js +42 -16
- package/dist/esm/vega-table_8.entry.js +377 -321
- package/dist/esm/vega-text.entry.js +4 -4
- package/dist/esm/vega-textarea.entry.js +27 -25
- package/dist/esm/vega-time-picker_2.entry.js +46 -29
- package/dist/esm/vega-toggle-switch.entry.js +18 -16
- package/dist/esm/vega-tooltip_2.entry.js +10 -10
- package/dist/esm/vega.js +15 -12
- package/dist/types/components/vega-accordion/vega-accordion.d.ts +11 -11
- package/dist/types/components/vega-app-footer/vega-app-footer.d.ts +12 -12
- package/dist/types/components/vega-app-header-button/vega-app-header-button.d.ts +14 -14
- package/dist/types/components/vega-backdrop/vega-backdrop.d.ts +5 -5
- package/dist/types/components/vega-banner/vega-banner.d.ts +12 -12
- package/dist/types/components/vega-box/vega-box.d.ts +26 -26
- package/dist/types/components/vega-breadcrumb/vega-breadcrumb.d.ts +5 -5
- package/dist/types/components/vega-button/vega-button.d.ts +13 -13
- package/dist/types/components/vega-button-circle/vega-button-circle.d.ts +13 -13
- package/dist/types/components/vega-button-group/vega-button-group-item/vega-button-group-item.d.ts +7 -7
- package/dist/types/components/vega-button-group/vega-button-group.d.ts +6 -6
- package/dist/types/components/vega-button-link/vega-button-link.d.ts +12 -12
- package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-current-period-controller.d.ts +5 -0
- package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-view-controller.d.ts +1 -0
- package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-switch-panel.d.ts +2 -1
- package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-view-renderer.d.ts +1 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-time-line-renderer.d.ts +4 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.d.ts +1 -1
- package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.d.ts +1 -1
- package/dist/types/components/vega-calendar/types.d.ts +9 -1
- package/dist/types/components/vega-calendar/utils/index.d.ts +13 -0
- package/dist/types/components/vega-calendar/vega-calendar-event/vega-calendar-event.d.ts +2 -2
- package/dist/types/components/vega-calendar/vega-calendar-event-slot/vega-calendar-event-slot.d.ts +2 -2
- package/dist/types/components/vega-calendar/vega-calendar.d.ts +26 -14
- package/dist/types/components/vega-card/vega-card.d.ts +5 -5
- package/dist/types/components/vega-carousel/vega-carousel.d.ts +11 -11
- package/dist/types/components/vega-chart/vega-bar-chart/vega-bar-chart.d.ts +2 -2
- package/dist/types/components/vega-chart/vega-line-chart/vega-line-chart.d.ts +3 -3
- package/dist/types/components/vega-chart/vega-pie-chart/vega-pie-chart.d.ts +3 -3
- package/dist/types/components/vega-checkbox/vega-checkbox-group/vega-checkbox-group.d.ts +12 -12
- package/dist/types/components/vega-checkbox/vega-checkbox.d.ts +11 -11
- package/dist/types/components/vega-chip/vega-chip.d.ts +16 -16
- package/dist/types/components/vega-color-picker/vega-color-picker.d.ts +12 -12
- package/dist/types/components/vega-combo-box/vega-combo-box.d.ts +22 -22
- package/dist/types/components/vega-counter-badge/vega-counter-badge.d.ts +5 -5
- package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.d.ts +7 -0
- package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-range-input-renderer.d.ts +1 -0
- package/dist/types/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.d.ts +1 -1
- package/dist/types/components/vega-date-picker/vega-date-picker.d.ts +24 -22
- package/dist/types/components/vega-dialog/vega-dialog.d.ts +10 -10
- package/dist/types/components/vega-divider/vega-divider.d.ts +4 -4
- package/dist/types/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.d.ts +1 -0
- package/dist/types/components/vega-dropdown/vega-dropdown-content-box/vega-dropdown-content-box.d.ts +1 -1
- package/dist/types/components/vega-dropdown/vega-dropdown-group/vega-dropdown-group.d.ts +3 -3
- package/dist/types/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.d.ts +10 -10
- package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +42 -40
- package/dist/types/components/vega-field-error/vega-field-error.d.ts +2 -2
- package/dist/types/components/vega-field-label/vega-field-label.d.ts +8 -8
- package/dist/types/components/vega-file-uploader/slimmers/renderers/vega-file-uploader-container-renderer.d.ts +1 -0
- package/dist/types/components/vega-file-uploader/vega-file-uploader.d.ts +23 -21
- package/dist/types/components/vega-flex/vega-flex.d.ts +13 -13
- package/dist/types/components/vega-font/vega-font.d.ts +6 -6
- package/dist/types/components/vega-form/vega-form.d.ts +13 -13
- package/dist/types/components/vega-grid/vega-grid.d.ts +4 -4
- package/dist/types/components/vega-hint/vega-hint.d.ts +1 -1
- package/dist/types/components/vega-icon/vega-icon.d.ts +4 -4
- package/dist/types/components/vega-image-uploader/slimmers/renderers/vega-image-uploader-default-content-renderer.d.ts +1 -0
- package/dist/types/components/vega-image-uploader/vega-image-uploader.d.ts +27 -25
- package/dist/types/components/vega-input/vega-input.d.ts +35 -35
- package/dist/types/components/vega-input-credit-card/vega-input-credit-card.d.ts +18 -18
- package/dist/types/components/vega-input-phone-number/vega-input-phone-number.d.ts +17 -17
- package/dist/types/components/vega-input-range/slimmers/renderers/vega-input-range-input-renderer.d.ts +1 -0
- package/dist/types/components/vega-input-range/vega-input-range.d.ts +20 -18
- package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.d.ts +1 -0
- package/dist/types/components/vega-input-select/vega-input-select.d.ts +26 -24
- package/dist/types/components/vega-item-toggle/vega-item-toggle.d.ts +6 -6
- package/dist/types/components/vega-loader-wrapper/vega-loader-wrapper.d.ts +1 -1
- package/dist/types/components/vega-loading-indicator/vega-loading-indicator.d.ts +8 -8
- package/dist/types/components/vega-modal/vega-modal.d.ts +18 -18
- package/dist/types/components/vega-nav/vega-left-nav/vega-left-nav.d.ts +10 -10
- package/dist/types/components/vega-nav/vega-left-nav-group/vega-left-nav-group.d.ts +5 -5
- package/dist/types/components/vega-nav/vega-left-nav-link/vega-left-nav-link.d.ts +7 -7
- package/dist/types/components/vega-nav/vega-left-nav-section/vega-left-nav-section.d.ts +4 -4
- package/dist/types/components/vega-nav/vega-nav-card/vega-nav-card.d.ts +3 -3
- package/dist/types/components/vega-page-notification/vega-page-notification-list/vega-page-notification-list.d.ts +1 -1
- package/dist/types/components/vega-page-notification/vega-page-notification.d.ts +8 -8
- package/dist/types/components/vega-pagination/internal/vega-pagination-current-page-label.d.ts +2 -0
- package/dist/types/components/vega-pagination/internal/vega-pagination-go-to.d.ts +2 -0
- package/dist/types/components/vega-pagination/internal/vega-pagination-page-size-selector.d.ts +2 -0
- package/dist/types/components/vega-pagination/vega-pagination.d.ts +12 -10
- package/dist/types/components/vega-popover/vega-popover-content-box/vega-popover-content-box.d.ts +2 -2
- package/dist/types/components/vega-popover/vega-popover.d.ts +13 -13
- package/dist/types/components/vega-progress-tracker/vega-progress-tracker.d.ts +13 -13
- package/dist/types/components/vega-radio/vega-radio-group/vega-radio-group.d.ts +13 -13
- package/dist/types/components/vega-radio/vega-radio.d.ts +12 -12
- package/dist/types/components/vega-section-title/vega-section-title.d.ts +5 -5
- package/dist/types/components/vega-segment-control/vega-segment-control.d.ts +8 -8
- package/dist/types/components/vega-selection-chip/vega-selection-chip-group/vega-selection-chip-group.d.ts +11 -11
- package/dist/types/components/vega-selection-chip/vega-selection-chip.d.ts +12 -12
- package/dist/types/components/vega-selection-tile/vega-selection-tile-group/vega-selection-tile-group.d.ts +12 -12
- package/dist/types/components/vega-selection-tile/vega-selection-tile.d.ts +10 -10
- package/dist/types/components/vega-signature-capture/slimmers/written-mode/renderers/written-mode-renderer.d.ts +1 -0
- package/dist/types/components/vega-signature-capture/vega-signature-capture.d.ts +18 -16
- package/dist/types/components/vega-skeleton/vega-skeleton.d.ts +5 -5
- package/dist/types/components/vega-slot-container/vega-slot-container.d.ts +1 -1
- package/dist/types/components/vega-stepper/vega-stepper.d.ts +13 -13
- package/dist/types/components/vega-tab-group/slimmers/vega-tab-group/renderers/vega-tab-group-tab-list-renderer.d.ts +2 -0
- package/dist/types/components/vega-tab-group/types.d.ts +7 -0
- package/dist/types/components/vega-tab-group/vega-tab-group-panel/vega-tab-group-panel.d.ts +2 -2
- package/dist/types/components/vega-tab-group/vega-tab-group.d.ts +9 -9
- package/dist/types/components/vega-table/slimmers/renderers/vega-table-renderer.d.ts +1 -0
- package/dist/types/components/vega-table/vega-table-body/vega-table-body.d.ts +1 -1
- package/dist/types/components/vega-table/vega-table-cell/vega-table-cell.d.ts +5 -5
- package/dist/types/components/vega-table/vega-table-expand-row/vega-table-expand-row.d.ts +2 -2
- package/dist/types/components/vega-table/vega-table-head/vega-table-head.d.ts +1 -1
- package/dist/types/components/vega-table/vega-table-head-cell/slimmers/renderers/sort-icon-renderer.d.ts +8 -0
- package/dist/types/components/vega-table/vega-table-head-cell/vega-table-head-cell.d.ts +10 -10
- package/dist/types/components/vega-table/vega-table-head-row/vega-table-head-row.d.ts +3 -3
- package/dist/types/components/vega-table/vega-table-row/vega-table-row.d.ts +6 -6
- package/dist/types/components/vega-table/vega-table.d.ts +51 -49
- package/dist/types/components/vega-text/vega-text.d.ts +3 -3
- package/dist/types/components/vega-textarea/vega-textarea.d.ts +18 -18
- package/dist/types/components/vega-time-picker/slimmers/renderers/vega-time-picker-range-input-renderer.d.ts +1 -0
- package/dist/types/components/vega-time-picker/slimmers/renderers/vega-time-picker-single-input-renderer.d.ts +1 -0
- package/dist/types/components/vega-time-picker/vega-time-picker-dropdown/vega-time-picker-dropdown.d.ts +1 -1
- package/dist/types/components/vega-time-picker/vega-time-picker.d.ts +18 -16
- package/dist/types/components/vega-toggle-switch/vega-toggle-switch.d.ts +12 -12
- package/dist/types/components/vega-tooltip/vega-tooltip-content-box/vega-tooltip-content-box.d.ts +2 -2
- package/dist/types/components/vega-tooltip/vega-tooltip.d.ts +11 -11
- package/dist/types/components/vega-virtual-scroll/vega-virtual-scroll.d.ts +9 -9
- package/dist/types/components.d.ts +1462 -1452
- package/dist/types/constants/runtime-metrics-payload-definition/public-api/VegaTranslation/runtime-metrics-payload-definition.d.ts +2 -0
- package/dist/types/constants/ui.d.ts +1 -1
- package/dist/types/global/icons/arrow-up-arrow-down.d.ts +3 -0
- package/dist/types/global/icons/circle-arrow-down.d.ts +3 -0
- package/dist/types/global/icons/circle-arrow-up.d.ts +3 -0
- package/dist/types/helpers/calendar/calendar-period/calendar-period.abstract.d.ts +7 -0
- package/dist/types/helpers/calendar/calendar-period/day-period.d.ts +8 -1
- package/dist/types/helpers/calendar/calendar-period/month-period.d.ts +2 -1
- package/dist/types/helpers/calendar/calendar-period/week-period.d.ts +2 -1
- package/dist/types/helpers/change-manager/subject/static-subject/static-subject-title.d.ts +2 -1
- package/dist/types/helpers/common/wait-for-vega-handler.d.ts +2 -0
- package/dist/types/helpers/dialog/vega-dialog-controller.d.ts +1 -0
- package/dist/types/helpers/event-manager/vega-event-manager.d.ts +3 -0
- package/dist/types/helpers/feature-control/feature-flag-controller.d.ts +3 -0
- package/dist/types/helpers/formatter/string-formatter/number-mask-strategy.d.ts +20 -0
- package/dist/types/helpers/icon/icon-manager.d.ts +3 -0
- package/dist/types/helpers/loading-indicator/vega-loader-controller.d.ts +2 -0
- package/dist/types/helpers/notify/vega-notify-controller.d.ts +6 -0
- package/dist/types/helpers/public-api.d.ts +1 -0
- package/dist/types/helpers/skeleton-loader/vega-skeleton-loader-controller.d.ts +4 -0
- package/dist/types/helpers/slimmers/field-error-ui-controller-slimmer.d.ts +22 -2
- package/dist/types/helpers/slimmers/global/vega-translate-observer-slimmer.d.ts +19 -0
- package/dist/types/helpers/slimmers/sub-state/sub-state-observer-slimmer.d.ts +1 -1
- package/dist/types/helpers/slimmers/test/translation-slimmer.test.d.ts +1 -0
- package/dist/types/helpers/slimmers/translation/index.d.ts +1 -0
- package/dist/types/helpers/slimmers/translation/translation-slimmer.d.ts +22 -0
- package/dist/types/helpers/theme/theme-manager.d.ts +5 -0
- package/dist/types/helpers/translation/index.d.ts +4 -0
- package/dist/types/helpers/translation/interface.d.ts +90 -0
- package/dist/types/helpers/translation/internal-translation-controller.d.ts +58 -0
- package/dist/types/helpers/translation/locales/en.d.ts +5 -0
- package/dist/types/helpers/translation/tests/internal-translation-controller.test.d.ts +1 -0
- package/dist/types/helpers/translation/tests/translation.test.d.ts +1 -0
- package/dist/types/helpers/translation/translation.d.ts +33 -0
- package/dist/types/helpers/validator/rules/check-box-required-rule.d.ts +4 -3
- package/dist/types/helpers/validator/rules/date-range-rule.d.ts +4 -3
- package/dist/types/helpers/validator/rules/date-required-rule.d.ts +4 -3
- package/dist/types/helpers/validator/rules/email-field-rule.d.ts +4 -3
- package/dist/types/helpers/validator/rules/form-field-validation-rule.d.ts +2 -5
- package/dist/types/helpers/validator/rules/input-phone-number-required-rule.d.ts +4 -3
- package/dist/types/helpers/validator/rules/input-range-min-and-max-rule.d.ts +6 -5
- package/dist/types/helpers/validator/rules/input-range-required-rule.d.ts +4 -3
- package/dist/types/helpers/validator/rules/max-number-rule.d.ts +4 -3
- package/dist/types/helpers/validator/rules/max-string-length-rule.d.ts +4 -3
- package/dist/types/helpers/validator/rules/min-and-max-date-rule.d.ts +8 -7
- package/dist/types/helpers/validator/rules/min-number-rule.d.ts +4 -3
- package/dist/types/helpers/validator/rules/min-string-length-rule.d.ts +4 -3
- package/dist/types/helpers/validator/rules/required-field-rule.d.ts +4 -3
- package/dist/types/helpers/validator/rules/time-range-required-rule.d.ts +4 -3
- package/dist/types/helpers/validator/rules/time-range-rule.d.ts +4 -3
- package/dist/types/helpers/validator/rules/time-required-rule.d.ts +4 -3
- package/dist/types/helpers/validator/rules/valid-credit-card-number-rule.d.ts +2 -1
- package/dist/types/helpers/validator/rules/valid-phone-number-rule.d.ts +7 -6
- package/dist/types/helpers/validator/rules/validation-rule.d.ts +15 -2
- package/dist/types/helpers/validator/test/rules/custom-validation-rule.test.d.ts +1 -0
- package/dist/types/helpers/zindex/vega-z-index-manager.d.ts +1 -0
- package/dist/types/types/public-api.d.ts +1 -0
- package/dist/types/types/type-guard.d.ts +1 -1
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/p-0120ce7a.js +1 -0
- package/dist/vega/p-0395e791.entry.js +1 -0
- package/dist/vega/p-048a97d1.entry.js +1 -0
- package/dist/vega/p-056f448c.entry.js +1 -0
- package/dist/vega/{p-1cb8f21a.entry.js → p-063c3ba6.entry.js} +1 -1
- package/dist/vega/p-0dd750b0.entry.js +1 -0
- package/dist/vega/p-115e5967.js +1 -0
- package/dist/vega/p-1b901368.entry.js +13 -0
- package/dist/vega/p-1bbc62ef.entry.js +1 -0
- package/dist/vega/{p-66098cf8.js → p-1ea57951.js} +1 -1
- package/dist/vega/p-1f38eef6.entry.js +1 -0
- package/dist/vega/p-1fc5373a.entry.js +1 -0
- package/dist/vega/p-22a85055.entry.js +1 -0
- package/dist/vega/p-26d0d411.entry.js +1 -0
- package/dist/vega/p-331a62d5.js +1 -0
- package/dist/vega/p-33366630.entry.js +1 -0
- package/dist/vega/p-34545d2d.entry.js +1 -0
- package/dist/vega/p-365c340d.entry.js +1 -0
- package/dist/vega/{p-f71aa49e.entry.js → p-3fc59fd3.entry.js} +1 -1
- package/dist/vega/p-40f6add9.entry.js +1 -0
- package/dist/vega/p-41784db1.js +1 -0
- package/dist/vega/p-456416ea.js +1 -0
- package/dist/vega/{p-883a939b.js → p-47c87634.js} +1 -1
- package/dist/vega/{p-5f456ea0.entry.js → p-4bc042ec.entry.js} +1 -1
- package/dist/vega/p-51622ace.entry.js +1 -0
- package/dist/vega/p-51cd2a39.entry.js +1 -0
- package/dist/vega/{p-1c1805aa.js → p-573948c2.js} +1 -1
- package/dist/vega/p-5d231a82.entry.js +1 -0
- package/dist/vega/{p-191c5c26.js → p-5dc98104.js} +1 -1
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/p-64e8bb64.js +1 -0
- package/dist/vega/p-657df167.entry.js +1 -0
- package/dist/vega/p-68055c2d.entry.js +1 -0
- package/dist/vega/p-6874d6a1.entry.js +1 -0
- package/dist/vega/p-6c6d86da.js +1 -0
- package/dist/vega/p-6d015656.entry.js +1 -0
- package/dist/vega/p-6e3cc7f0.entry.js +1 -0
- package/dist/vega/p-74168615.js +1 -0
- package/dist/vega/{p-4b29a9c2.entry.js → p-7a1df282.entry.js} +1 -1
- package/dist/vega/p-80c0f98c.entry.js +1 -0
- package/dist/vega/{p-016045b0.js → p-83af8ed7.js} +1 -1
- package/dist/vega/{p-462a6417.entry.js → p-84118b6d.entry.js} +1 -1
- package/dist/vega/p-880f91fb.js +1 -0
- package/dist/vega/p-8b0533c4.entry.js +1 -0
- package/dist/vega/p-8c72aa56.entry.js +1 -0
- package/dist/vega/p-8f60c3ee.entry.js +1 -0
- package/dist/vega/p-8fd6775a.entry.js +1 -0
- package/dist/vega/p-9a4ffc2c.entry.js +1 -0
- package/dist/vega/p-9e6934fb.js +1 -0
- package/dist/vega/{p-2df25c7f.js → p-9fbdeada.js} +1 -1
- package/dist/vega/p-a190c86a.js +1 -0
- package/dist/vega/p-a19ae233.entry.js +1 -0
- package/dist/vega/p-a454acc4.entry.js +1 -0
- package/dist/vega/{p-f1a59ae3.entry.js → p-a57eed48.entry.js} +1 -1
- package/dist/vega/p-a59c221b.entry.js +1 -0
- package/dist/vega/{p-a73c06f0.js → p-a5f80d35.js} +1 -1
- package/dist/vega/p-a8b1f19c.entry.js +1 -0
- package/dist/vega/{p-764be3f6.entry.js → p-a901494d.entry.js} +1 -1
- package/dist/vega/{p-af26780d.js → p-ac0ab38b.js} +1 -1
- package/dist/vega/p-acc14aa2.js +1 -0
- package/dist/vega/{p-9909e768.js → p-acf8b473.js} +1 -1
- package/dist/vega/{p-2675fb06.entry.js → p-b2053fa8.entry.js} +1 -1
- package/dist/vega/p-bccacf42.js +1 -0
- package/dist/vega/p-be26b334.entry.js +1 -0
- package/dist/vega/p-be784f53.js +1 -0
- package/dist/vega/{p-f6fa60f9.entry.js → p-cbeda6ca.entry.js} +1 -1
- package/dist/vega/p-d0a83562.entry.js +1 -0
- package/dist/vega/{p-3e1b21ec.entry.js → p-d4c85e4e.entry.js} +1 -1
- package/dist/vega/p-d4fb2264.entry.js +1 -0
- package/dist/vega/p-d550fc66.entry.js +1 -0
- package/dist/vega/p-d686dd96.entry.js +1 -0
- package/dist/vega/{p-bb491bed.js → p-da86ba01.js} +1 -1
- package/dist/vega/{p-59a75a4e.js → p-db120a1e.js} +1 -1
- package/dist/vega/p-e0410974.entry.js +1 -0
- package/dist/vega/p-ead9a2b9.entry.js +1 -0
- package/dist/vega/p-ec157238.js +1 -0
- package/dist/vega/p-f0ad06bd.entry.js +1 -0
- package/dist/vega/p-f2019f70.entry.js +1 -0
- package/dist/vega/p-f41102cd.js +1 -0
- package/dist/vega/{p-3542f8fe.js → p-f46c930f.js} +1 -1
- package/dist/vega/p-f948debe.entry.js +1 -0
- package/dist/vega/p-fb6c90d6.js +1 -0
- package/dist/vega/p-fc746bae.entry.js +1 -0
- package/dist/vega/{p-b6ef48be.entry.js → p-fd929ab5.entry.js} +1 -1
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +2 -2
- package/dist/cjs/misc-3d30df91.js +0 -41
- package/dist/esm/misc-9fdbcfbb.js +0 -37
- package/dist/vega/p-0134e8c5.js +0 -1
- package/dist/vega/p-020baf8d.entry.js +0 -1
- package/dist/vega/p-0702921a.entry.js +0 -1
- package/dist/vega/p-0f71ffab.entry.js +0 -1
- package/dist/vega/p-13f2c41c.entry.js +0 -1
- package/dist/vega/p-16c85ca9.entry.js +0 -1
- package/dist/vega/p-1878a270.entry.js +0 -1
- package/dist/vega/p-1f712313.js +0 -1
- package/dist/vega/p-23ec14fe.js +0 -1
- package/dist/vega/p-241bd30d.entry.js +0 -1
- package/dist/vega/p-25310239.entry.js +0 -1
- package/dist/vega/p-28b1a294.entry.js +0 -1
- package/dist/vega/p-29ac203a.js +0 -1
- package/dist/vega/p-396c3e32.entry.js +0 -1
- package/dist/vega/p-3c8b2105.js +0 -1
- package/dist/vega/p-3e6e7fe0.entry.js +0 -1
- package/dist/vega/p-41f61205.entry.js +0 -1
- package/dist/vega/p-4302b57d.entry.js +0 -1
- package/dist/vega/p-47d106e7.js +0 -1
- package/dist/vega/p-47ee3c26.entry.js +0 -1
- package/dist/vega/p-4925ec08.entry.js +0 -1
- package/dist/vega/p-4f8ce53e.entry.js +0 -1
- package/dist/vega/p-5041624e.entry.js +0 -1
- package/dist/vega/p-527fec9b.entry.js +0 -1
- package/dist/vega/p-530f2b72.entry.js +0 -1
- package/dist/vega/p-54f87b68.entry.js +0 -1
- package/dist/vega/p-55ccc669.entry.js +0 -1
- package/dist/vega/p-68e87fb4.entry.js +0 -13
- package/dist/vega/p-75c401fe.entry.js +0 -1
- package/dist/vega/p-770c736e.js +0 -1
- package/dist/vega/p-7cbd8367.entry.js +0 -1
- package/dist/vega/p-7ff750c0.entry.js +0 -1
- package/dist/vega/p-8172bde8.entry.js +0 -1
- package/dist/vega/p-8b5d3a52.js +0 -1
- package/dist/vega/p-8ca2b2a6.js +0 -1
- package/dist/vega/p-9f9535d4.js +0 -1
- package/dist/vega/p-a1f7484f.js +0 -1
- package/dist/vega/p-a537eaa9.entry.js +0 -1
- package/dist/vega/p-b34a7f6c.entry.js +0 -1
- package/dist/vega/p-b441fd2d.entry.js +0 -1
- package/dist/vega/p-b9cb9098.entry.js +0 -1
- package/dist/vega/p-bb953c8e.js +0 -1
- package/dist/vega/p-bc5ce560.entry.js +0 -1
- package/dist/vega/p-be893ca7.entry.js +0 -1
- package/dist/vega/p-c093f5d2.js +0 -1
- package/dist/vega/p-c4ebfb95.entry.js +0 -1
- package/dist/vega/p-c6e0ca01.entry.js +0 -1
- package/dist/vega/p-c946ff64.entry.js +0 -1
- package/dist/vega/p-ca656348.entry.js +0 -1
- package/dist/vega/p-d26f7423.entry.js +0 -1
- package/dist/vega/p-d6893dba.entry.js +0 -1
- package/dist/vega/p-d9cd543f.entry.js +0 -1
- package/dist/vega/p-d9fc1fff.entry.js +0 -1
- package/dist/vega/p-e011e457.entry.js +0 -1
- package/dist/vega/p-e4085f89.entry.js +0 -1
- package/dist/vega/p-ea1f50c9.entry.js +0 -1
- package/dist/vega/p-eae4a1c1.js +0 -1
- package/dist/vega/p-f9e456a6.js +0 -1
- /package/dist/vega/{p-7c316199.js → p-319efe6c.js} +0 -0
- /package/dist/vega/{p-961e1ecd.js → p-e2acbc60.js} +0 -0
|
@@ -2,35 +2,38 @@ import { h, F as Fragment, f as forceUpdate, r as registerInstance, c as createE
|
|
|
2
2
|
import { s as sanitizeVegaComponent } from './component-cae24190.js';
|
|
3
3
|
import { c as MapToComponentField, V as VegaSlimmer, M as MapToComponentMethod, L as LogUtility, I as InjectVegaSlimmer } from './global-slimmer-registry-17c4efd4.js';
|
|
4
4
|
import { V as VegaComponentUsageRuntimeMetricsSlimmer, I as InjectVegaGlobalSlimmer } from './component-usage-runtime-metrics-b3f6ac79.js';
|
|
5
|
-
import { D as DomNodeSubjectObserverFactory, d as domNodeSubjectFactory } from './dom-node-subject-observer-factory-
|
|
5
|
+
import { D as DomNodeSubjectObserverFactory, d as domNodeSubjectFactory } from './dom-node-subject-observer-factory-9461cd67.js';
|
|
6
6
|
import { a as VegaClick, e as VegaChange, b as VegaDropdownClick, f as VegaEventClick, g as VegaDateDblClick, h as VegaMoreActionClick } from './vega-event-id-7465a011.js';
|
|
7
|
-
import { V as VegaInternalIconManager } from './internal-icon-manager-
|
|
7
|
+
import { V as VegaInternalIconManager } from './internal-icon-manager-9671142a.js';
|
|
8
8
|
import { p as pad } from './date-732bc749.js';
|
|
9
|
-
import { c as createEventEmitSlimmer } from './event-emit-slimmer-
|
|
10
|
-
import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-
|
|
9
|
+
import { c as createEventEmitSlimmer } from './event-emit-slimmer-eee9fd41.js';
|
|
10
|
+
import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-345c46c5.js';
|
|
11
11
|
import { i as VegaInternalCalendarMonthEventsChange } from './vega-internal-event-id-7e05cf4a.js';
|
|
12
12
|
import { c as createEnterKeyHandlerToTriggerClick } from './accessibility-e5fd0fab.js';
|
|
13
13
|
import { f as flatNestedArray } from './array-506b88b9.js';
|
|
14
|
-
import { g as generateUUID } from './
|
|
15
|
-
import { P as PageResizeObserverSlimmer } from './page-resize-observer-slimmer-
|
|
14
|
+
import { g as generateUUID } from './create-public-api-runtime-metrics-slimmer-928ad7f0.js';
|
|
15
|
+
import { P as PageResizeObserverSlimmer } from './page-resize-observer-slimmer-994c1e1b.js';
|
|
16
16
|
import { d as debounce } from './timer-9321173b.js';
|
|
17
17
|
import { C as ChangeManager } from './change-manager-6a7eb88c.js';
|
|
18
|
-
import { c as createSubStateNotifySlimmer, S as SubStateObserverSlimmer } from './sub-state-observer-slimmer-
|
|
18
|
+
import { c as createSubStateNotifySlimmer, S as SubStateObserverSlimmer } from './sub-state-observer-slimmer-8eff5559.js';
|
|
19
|
+
import { T as TranslationSlimmer } from './translation-slimmer-79f9a9c9.js';
|
|
19
20
|
import { s as slotPlaceholder } from './placeholder-bf562081.js';
|
|
20
|
-
import { p as isBackgroundColorTokenType } from './type-guard-
|
|
21
|
-
import { s as stateBackgroundColorFormatter } from './state-background-color-formatter-
|
|
21
|
+
import { p as isBackgroundColorTokenType } from './type-guard-63caf78b.js';
|
|
22
|
+
import { s as stateBackgroundColorFormatter } from './state-background-color-formatter-0540d006.js';
|
|
22
23
|
import { b as parsePixelStringToNumber } from './pixel-f32c07ce.js';
|
|
24
|
+
import './observer-3959f9dd.js';
|
|
23
25
|
import './ui-0132dbb5.js';
|
|
24
|
-
import './icon-manager-
|
|
25
|
-
import './create-public-api-runtime-metrics-slimmer-dc9af92b.js';
|
|
26
|
+
import './icon-manager-0f030f8a.js';
|
|
26
27
|
import './dynamic-slimmer-90b8af32.js';
|
|
27
28
|
import './internal-vega-event-manager-722461c1.js';
|
|
28
29
|
import './vega-env-manager-8f8dc473.js';
|
|
29
|
-
import './feature-flag-controller-
|
|
30
|
+
import './feature-flag-controller-10780eeb.js';
|
|
30
31
|
import './index-0863eec6.js';
|
|
31
32
|
import './number-e2519d1c.js';
|
|
32
|
-
import './breakpoints-
|
|
33
|
-
import './ui-
|
|
33
|
+
import './breakpoints-36a3ed69.js';
|
|
34
|
+
import './ui-8424715a.js';
|
|
35
|
+
import './translation-0fa7cf77.js';
|
|
36
|
+
import './static-subject-title-6987a80b.js';
|
|
34
37
|
import './regex-dfe11abf.js';
|
|
35
38
|
import './typography-a8fc4764.js';
|
|
36
39
|
|
|
@@ -69,1047 +72,1146 @@ const chevronLeft = {
|
|
|
69
72
|
};
|
|
70
73
|
|
|
71
74
|
/**
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
* @param {Date} date the date object
|
|
75
|
-
* @param {boolean} isShortName short or long name
|
|
76
|
-
* @returns {string} the month English name
|
|
77
|
-
*/
|
|
78
|
-
function getMonthName(date, isShortName = false) {
|
|
79
|
-
return date.toLocaleDateString('en-US', { month: isShortName ? 'short' : 'long' });
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* The function `getTimeIndex` calculates the index of a given time string based on a specified time unit.
|
|
83
|
-
*
|
|
84
|
-
* @param {string} timeString - A string representing a time in the format "HH:MM", where HH is the hour and MM is the minutes.
|
|
85
|
-
* @param {number} [unit=15] - The `unit` parameter in the `getTimeIndex` function is used to specify
|
|
86
|
-
* the interval in minutes for dividing the day. By default, it is set to 15 minutes, meaning that the
|
|
87
|
-
* day will be divided into 15-minute intervals.
|
|
88
|
-
* @returns {number} the index of the given time string based on the specified time unit.
|
|
89
|
-
*/
|
|
90
|
-
function getTimeIndex(timeString, unit = 15) {
|
|
91
|
-
const [hour, minutes] = timeString.split(':');
|
|
92
|
-
return Math.round((Number(hour) * 60 + Number(minutes)) / unit);
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Returns a string that includes the event key for a calendar event slot.
|
|
75
|
+
* Get a week days array
|
|
96
76
|
*
|
|
97
|
-
* @param {
|
|
98
|
-
* @returns {
|
|
77
|
+
* @param {number} firstWeekDay - The first week day (0: Sunday, 1: Monday, ...)
|
|
78
|
+
* @returns {number[]} - The week days array
|
|
99
79
|
*/
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
const ellipsisVertical = {
|
|
105
|
-
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M48 464a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm0-160a48 48 0 1 1 0-96 48 48 0 1 1 0 96zM0 96a48 48 0 1 1 96 0A48 48 0 1 1 0 96z"/></svg>`,
|
|
80
|
+
const getWeekdays = (firstWeekDay = 0) => {
|
|
81
|
+
const weekdays = [0, 1, 2, 3, 4, 5, 6];
|
|
82
|
+
return weekdays.concat(weekdays).slice(firstWeekDay, firstWeekDay + 7);
|
|
106
83
|
};
|
|
107
84
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
113
|
-
};
|
|
114
|
-
/** The `VegaCalendarSwitchPanelRenderer` class in TypeScript React renders a calendar switch panel with date navigation, view selection, and action buttons. */
|
|
115
|
-
class VegaCalendarSwitchPanelRenderer extends VegaSlimmer {
|
|
85
|
+
/**
|
|
86
|
+
* Calendar view generator abstract class.
|
|
87
|
+
*/
|
|
88
|
+
class CalendarViewGenerator {
|
|
116
89
|
constructor() {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
* This function is responsible for updating the `viewMode` property of the `VegaCalendarSwitchPanelRenderer` class with the value extracted from the `input` parameter.
|
|
120
|
-
*
|
|
121
|
-
* @param {NotifyObserverPayload<VegaCalendarViewModeType>} input mark which view should be selected
|
|
122
|
-
*/
|
|
123
|
-
this.handleViewChange = (input) => {
|
|
124
|
-
this.currentPeriodController.updateCalendarPeriod(input.detail, this.currentPeriod.current);
|
|
125
|
-
};
|
|
126
|
-
/**
|
|
127
|
-
* reset view content to today
|
|
128
|
-
*/
|
|
129
|
-
this.todayButtonClick = () => {
|
|
130
|
-
this.currentPeriodController.setCurrentPeriod(this.currentPeriod.now());
|
|
131
|
-
};
|
|
132
|
-
/**
|
|
133
|
-
* update view content after click next button
|
|
134
|
-
*/
|
|
135
|
-
this.nextButtonClick = () => {
|
|
136
|
-
this.currentPeriodController.setCurrentPeriod(this.currentPeriod.next());
|
|
137
|
-
};
|
|
138
|
-
/**
|
|
139
|
-
* update view content after click previous button
|
|
140
|
-
*/
|
|
141
|
-
this.prevButtonClick = () => {
|
|
142
|
-
this.currentPeriodController.setCurrentPeriod(this.currentPeriod.previous());
|
|
143
|
-
};
|
|
144
|
-
/**
|
|
145
|
-
* The more action menu ite click
|
|
146
|
-
*
|
|
147
|
-
* @param {NotifyObserverPayload<string>} payload The object contains the menu item key
|
|
148
|
-
*/
|
|
149
|
-
this.moreActionMenuClick = (payload) => {
|
|
150
|
-
this.moreActionClickEmitter.emit(payload.detail);
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* get the switch panel container element
|
|
155
|
-
*
|
|
156
|
-
* @returns {HTMLElement} container element
|
|
157
|
-
*/
|
|
158
|
-
getSwitchPanelRef() {
|
|
159
|
-
return this.switchPanelRef;
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* calendar switch panel with date switch, view switch, add new button, and more action components.
|
|
163
|
-
*
|
|
164
|
-
* @returns {HTMLElement} html element
|
|
165
|
-
*/
|
|
166
|
-
render() {
|
|
167
|
-
return (h("vega-flex", { direction: "row", gap: "size-16", justifyContent: "space-between", alignItems: "center", class: "calendar-switch-panel", ref: (node) => (this.switchPanelRef = node) },
|
|
168
|
-
this.renderDateSwitch(),
|
|
169
|
-
h("div", { class: "calendar-view-switch-container" },
|
|
170
|
-
this.renderViewSwitch(),
|
|
171
|
-
this.renderMoreActionMenu())));
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* The `renderDateSwitch` function returns a container with buttons for switching dates and displaying the current date.
|
|
175
|
-
*
|
|
176
|
-
* @returns {HTMLDivElement} action button elements container.
|
|
177
|
-
*/
|
|
178
|
-
renderDateSwitch() {
|
|
179
|
-
return (h("div", { class: "calendar-date-switch-container" },
|
|
180
|
-
h("vega-button", { variant: "secondary", size: "small", ref: (button) => {
|
|
181
|
-
DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, VegaClick, this.todayButtonClick);
|
|
182
|
-
} }, "Today"),
|
|
183
|
-
h("vega-button-circle", { variant: "secondary", size: "small", icon: VegaInternalIconManager.getIconKey('chevron-left'), label: "previous", showTooltip: false, ref: (button) => {
|
|
184
|
-
DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, VegaClick, this.prevButtonClick);
|
|
185
|
-
} }),
|
|
186
|
-
h("vega-button-circle", { variant: "secondary", size: "small", icon: VegaInternalIconManager.getIconKey('chevron-right'), label: "next", showTooltip: false, ref: (button) => {
|
|
187
|
-
DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, VegaClick, this.nextButtonClick);
|
|
188
|
-
} }),
|
|
189
|
-
this.renderCurrentPeriod()));
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* The function `renderCurrentPeriod` returns an HTML element displaying the view date content summary info.
|
|
193
|
-
*
|
|
194
|
-
* @returns {HTMLVegaFontElement} The text content inside the element is "Current Date Test".
|
|
195
|
-
*/
|
|
196
|
-
renderCurrentPeriod() {
|
|
197
|
-
return (h("vega-font", { class: "calendar-current-date", variant: "font-field-label", color: "text-primary" }, this.getViewDateSummary()));
|
|
90
|
+
this.WEEKDAYS_SHORT = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
|
|
91
|
+
this.weekdays = getWeekdays();
|
|
198
92
|
}
|
|
199
93
|
/**
|
|
200
|
-
*
|
|
94
|
+
* Get weekday names.
|
|
201
95
|
*
|
|
202
|
-
* @returns {
|
|
96
|
+
* @returns {string[]} - The weekday strings
|
|
203
97
|
*/
|
|
204
|
-
|
|
205
|
-
return
|
|
206
|
-
DomNodeSubjectObserverFactory.addUniqueObserverToNode(node, VegaChange, this.handleViewChange);
|
|
207
|
-
} }));
|
|
98
|
+
getWeekdayNames() {
|
|
99
|
+
return this.WEEKDAYS_SHORT;
|
|
208
100
|
}
|
|
209
101
|
/**
|
|
210
|
-
*
|
|
102
|
+
* Generate calendar dates
|
|
211
103
|
*
|
|
212
|
-
* @
|
|
104
|
+
* @param {CalendarPeriod} period - The calendar period
|
|
105
|
+
* @returns {Date[]} - The date result
|
|
213
106
|
*/
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
h("vega-button-circle", { size: "small", icon: VegaInternalIconManager.getIconKey('ellipsis-vertical'), variant: "icon-only" })));
|
|
107
|
+
generateDates(period) {
|
|
108
|
+
const cursor = period.startDate.toDate();
|
|
109
|
+
const dates = [];
|
|
110
|
+
for (let i = 0; i < period.count; i++) {
|
|
111
|
+
dates.push(new Date(cursor));
|
|
112
|
+
cursor.setDate(cursor.getDate() + 1);
|
|
221
113
|
}
|
|
114
|
+
return dates;
|
|
222
115
|
}
|
|
223
116
|
/**
|
|
224
|
-
*
|
|
117
|
+
* Generate calendar head
|
|
225
118
|
*
|
|
226
|
-
* @returns {string}
|
|
119
|
+
* @returns {string[]} - The data of week head
|
|
227
120
|
*/
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
let result = '';
|
|
231
|
-
switch (this.viewMode) {
|
|
232
|
-
case 'day':
|
|
233
|
-
result = `${currentDate.date} ${getMonthName(currentDate.toDate())}, ${currentDate.year}`;
|
|
234
|
-
break;
|
|
235
|
-
case 'week': {
|
|
236
|
-
const start = this.currentPeriod.startDate;
|
|
237
|
-
const end = this.currentPeriod.endDate;
|
|
238
|
-
result = `${start.date} ${getMonthName(start.toDate())}${start.year === end.year ? '' : ', ' + start.year} - ${end.date} ${getMonthName(end.toDate())}, ${end.year}`;
|
|
239
|
-
break;
|
|
240
|
-
}
|
|
241
|
-
case 'month':
|
|
242
|
-
result = `${getMonthName(currentDate.toDate())}, ${currentDate.year}`;
|
|
243
|
-
break;
|
|
244
|
-
}
|
|
245
|
-
return result;
|
|
121
|
+
generateWeekHead() {
|
|
122
|
+
return this.weekdays.map((day) => this.getWeekdayNames()[day]);
|
|
246
123
|
}
|
|
247
124
|
}
|
|
248
|
-
(() => {
|
|
249
|
-
VegaInternalIconManager.register({
|
|
250
|
-
'chevron-right': chevronRight,
|
|
251
|
-
'chevron-left': chevronLeft,
|
|
252
|
-
'ellipsis-vertical': ellipsisVertical,
|
|
253
|
-
});
|
|
254
|
-
})();
|
|
255
|
-
VegaCalendarSwitchPanelRenderer.views = [
|
|
256
|
-
{ text: 'Day', key: 'day' },
|
|
257
|
-
{ text: 'Week', key: 'week' },
|
|
258
|
-
{ text: 'Month', key: 'month' },
|
|
259
|
-
];
|
|
260
|
-
__decorate$n([
|
|
261
|
-
MapToComponentField()
|
|
262
|
-
], VegaCalendarSwitchPanelRenderer.prototype, "viewMode", void 0);
|
|
263
|
-
__decorate$n([
|
|
264
|
-
MapToComponentField()
|
|
265
|
-
], VegaCalendarSwitchPanelRenderer.prototype, "calendarView", void 0);
|
|
266
|
-
__decorate$n([
|
|
267
|
-
MapToComponentField()
|
|
268
|
-
], VegaCalendarSwitchPanelRenderer.prototype, "currentPeriod", void 0);
|
|
269
|
-
__decorate$n([
|
|
270
|
-
MapToComponentField()
|
|
271
|
-
], VegaCalendarSwitchPanelRenderer.prototype, "moreActionDropdownProps", void 0);
|
|
272
|
-
__decorate$n([
|
|
273
|
-
MapToComponentField()
|
|
274
|
-
], VegaCalendarSwitchPanelRenderer.prototype, "moreActionClickEmitter", void 0);
|
|
275
|
-
__decorate$n([
|
|
276
|
-
MapToComponentField()
|
|
277
|
-
], VegaCalendarSwitchPanelRenderer.prototype, "currentPeriodController", void 0);
|
|
278
|
-
__decorate$n([
|
|
279
|
-
MapToComponentField()
|
|
280
|
-
], VegaCalendarSwitchPanelRenderer.prototype, "calendarViewController", void 0);
|
|
281
125
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
126
|
+
/**
|
|
127
|
+
* Calendar view
|
|
128
|
+
*/
|
|
129
|
+
class CalendarView {
|
|
130
|
+
constructor(weekdays, dateItems) {
|
|
131
|
+
this._weekdays = weekdays;
|
|
132
|
+
this._dateItems = dateItems;
|
|
133
|
+
}
|
|
290
134
|
/**
|
|
291
|
-
*
|
|
135
|
+
* The week head of the calendar view
|
|
292
136
|
*
|
|
293
|
-
* @
|
|
137
|
+
* @type {string[]}
|
|
294
138
|
*/
|
|
295
|
-
|
|
296
|
-
return
|
|
297
|
-
? this.monthViewRenderer.render()
|
|
298
|
-
: this.viewWithTimeRenderer.render()));
|
|
139
|
+
get weekdays() {
|
|
140
|
+
return this._weekdays;
|
|
299
141
|
}
|
|
300
|
-
}
|
|
301
|
-
__decorate$m([
|
|
302
|
-
MapToComponentField()
|
|
303
|
-
], VegaCalendarViewRenderer.prototype, "viewMode", void 0);
|
|
304
|
-
__decorate$m([
|
|
305
|
-
MapToComponentField()
|
|
306
|
-
], VegaCalendarViewRenderer.prototype, "monthViewRenderer", void 0);
|
|
307
|
-
__decorate$m([
|
|
308
|
-
MapToComponentField()
|
|
309
|
-
], VegaCalendarViewRenderer.prototype, "viewWithTimeRenderer", void 0);
|
|
310
|
-
|
|
311
|
-
var __decorate$l = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
312
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
313
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
314
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
315
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
316
|
-
};
|
|
317
|
-
/** The code provided is defining a TypeScript class called `VegaCalendarMonthViewRenderer` that extends `VegaSlimmer`. This class is responsible for rendering a month view of a calendar component. */
|
|
318
|
-
class VegaCalendarMonthViewRenderer extends VegaSlimmer {
|
|
319
142
|
/**
|
|
320
|
-
*
|
|
143
|
+
* The date items of the calendar view
|
|
321
144
|
*
|
|
322
|
-
* @
|
|
145
|
+
* @type {CalendarDate[][]}
|
|
323
146
|
*/
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
return (h("div", { class: "calendar-view-month-container" },
|
|
327
|
-
h("div", { class: "calendar-view-row calendar-view-title border-divider-bottom" }, weekHead.map((title) => (h("div", { key: title }, title)))),
|
|
328
|
-
this.renderMonthViewContent()));
|
|
147
|
+
get dateItems() {
|
|
148
|
+
return this._dateItems;
|
|
329
149
|
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Day view calendar generator
|
|
154
|
+
*/
|
|
155
|
+
class DayViewGenerator extends CalendarViewGenerator {
|
|
330
156
|
/**
|
|
331
|
-
*
|
|
332
|
-
*
|
|
333
|
-
* @returns {HTMLElement[]} month view content and event content
|
|
157
|
+
* @inheritDoc
|
|
334
158
|
*/
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
// eslint-disable-next-line react/jsx-no-bind
|
|
349
|
-
onDblClick: (e) => this.handleDateBlockClick(e, item) },
|
|
350
|
-
this.renderDateBlock(item),
|
|
351
|
-
this.monthEventRenderer.render(item, eventsArray[itemIndex], displayEventsArray[itemIndex], itemIndex)));
|
|
352
|
-
})));
|
|
353
|
-
});
|
|
159
|
+
generate(period) {
|
|
160
|
+
return new CalendarView([this.generateWeekHead()[period.current.toDate().getDay()]], [[period.current]]);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Calendar date class
|
|
166
|
+
*/
|
|
167
|
+
class CalendarDate {
|
|
168
|
+
constructor(year, month, date) {
|
|
169
|
+
this._date = date;
|
|
170
|
+
this._month = month;
|
|
171
|
+
this._year = year;
|
|
354
172
|
}
|
|
355
173
|
/**
|
|
356
|
-
*
|
|
174
|
+
* Create a calendar date from a Date object
|
|
357
175
|
*
|
|
358
|
-
* @param {
|
|
359
|
-
* @returns {
|
|
176
|
+
* @param {Date} date - The Date object
|
|
177
|
+
* @returns {CalendarDate} - Return a CalendarDate object
|
|
360
178
|
*/
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
return (h("div", { class: "date" },
|
|
364
|
-
isMonthFirstDay && h("div", { class: "month-block" }, getMonthName(item.toDate(), true)),
|
|
365
|
-
h("div", { role: "button", tabIndex: 0, class: "grid-col",
|
|
366
|
-
// eslint-disable-next-line react/jsx-no-bind
|
|
367
|
-
onDblClick: (e) => this.goToCurrentDayView(e, item) }, item.date)));
|
|
179
|
+
static from(date) {
|
|
180
|
+
return new CalendarDate(date.getFullYear(), date.getMonth() + 1, date.getDate());
|
|
368
181
|
}
|
|
369
182
|
/**
|
|
370
|
-
*
|
|
183
|
+
* The year of the calendar date
|
|
371
184
|
*
|
|
372
|
-
* @
|
|
373
|
-
* @param {CalendarDate} calendarDate the calendar date object
|
|
185
|
+
* @type {number}
|
|
374
186
|
*/
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
187
|
+
get year() {
|
|
188
|
+
return this._year;
|
|
189
|
+
}
|
|
190
|
+
set year(value) {
|
|
191
|
+
this._year = value;
|
|
378
192
|
}
|
|
379
193
|
/**
|
|
380
|
-
*
|
|
194
|
+
* The month of the calendar date
|
|
381
195
|
*
|
|
382
|
-
* @
|
|
383
|
-
* @param {CalendarDate} calendarDate the calendar date object
|
|
196
|
+
* @type {number}
|
|
384
197
|
*/
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
}
|
|
198
|
+
get month() {
|
|
199
|
+
return this._month;
|
|
200
|
+
}
|
|
201
|
+
set month(value) {
|
|
202
|
+
this._month = value;
|
|
391
203
|
}
|
|
392
204
|
/**
|
|
393
|
-
*
|
|
205
|
+
* The date of the calendar date
|
|
394
206
|
*
|
|
395
|
-
* @
|
|
396
|
-
* @returns {boolean} true or false
|
|
207
|
+
* @type {number}
|
|
397
208
|
*/
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
209
|
+
get date() {
|
|
210
|
+
return this._date;
|
|
211
|
+
}
|
|
212
|
+
set date(value) {
|
|
213
|
+
this._date = value;
|
|
401
214
|
}
|
|
402
|
-
}
|
|
403
|
-
__decorate$l([
|
|
404
|
-
MapToComponentField()
|
|
405
|
-
], VegaCalendarMonthViewRenderer.prototype, "viewMode", void 0);
|
|
406
|
-
__decorate$l([
|
|
407
|
-
MapToComponentField()
|
|
408
|
-
], VegaCalendarMonthViewRenderer.prototype, "calendarView", void 0);
|
|
409
|
-
__decorate$l([
|
|
410
|
-
MapToComponentField()
|
|
411
|
-
], VegaCalendarMonthViewRenderer.prototype, "currentPeriod", void 0);
|
|
412
|
-
__decorate$l([
|
|
413
|
-
MapToComponentField()
|
|
414
|
-
], VegaCalendarMonthViewRenderer.prototype, "calendarViewController", void 0);
|
|
415
|
-
__decorate$l([
|
|
416
|
-
MapToComponentField()
|
|
417
|
-
], VegaCalendarMonthViewRenderer.prototype, "currentPeriodController", void 0);
|
|
418
|
-
__decorate$l([
|
|
419
|
-
MapToComponentField()
|
|
420
|
-
], VegaCalendarMonthViewRenderer.prototype, "monthEventRenderer", void 0);
|
|
421
|
-
__decorate$l([
|
|
422
|
-
MapToComponentField()
|
|
423
|
-
], VegaCalendarMonthViewRenderer.prototype, "dateDblClickEmitter", void 0);
|
|
424
|
-
|
|
425
|
-
var __decorate$k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
426
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
427
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
428
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
429
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
430
|
-
};
|
|
431
|
-
/** The `VegaCalendarViewWithTimeRenderer` class in TypeScript React renders a day view for a calendar component with title, content, and hour blocks. */
|
|
432
|
-
class VegaCalendarViewWithTimeRenderer extends VegaSlimmer {
|
|
433
215
|
/**
|
|
434
|
-
*
|
|
216
|
+
* Verify whether the calendar date is today
|
|
435
217
|
*
|
|
436
|
-
* @returns {
|
|
437
|
-
* specific day in the week. The content includes the title and the main content of the calendar view
|
|
438
|
-
* for that day.
|
|
218
|
+
* @returns {boolean} - Return true if the calendar date is today. Otherwise, return false.
|
|
439
219
|
*/
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
220
|
+
isToday() {
|
|
221
|
+
const today = new Date();
|
|
222
|
+
return (today.getFullYear() === this.year &&
|
|
223
|
+
today.getMonth() + 1 === this.month &&
|
|
224
|
+
today.getDate() === this.date);
|
|
444
225
|
}
|
|
445
226
|
/**
|
|
446
|
-
*
|
|
227
|
+
* Convert the calendar date to a Date object
|
|
447
228
|
*
|
|
448
|
-
* @returns {
|
|
229
|
+
* @returns {Date} - Return a Date object
|
|
449
230
|
*/
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
const weekHead = this.calendarView.weekdays;
|
|
453
|
-
return (h("div", { class: "calendar-view-title-container" },
|
|
454
|
-
h("div", { class: "calendar-view-row" },
|
|
455
|
-
h("div", { class: "time-line-empty" }),
|
|
456
|
-
h("div", { class: "calendar-view-title" }, source.map((item, index) => (h("div", { key: item.date, class: { active: item.isToday() } },
|
|
457
|
-
h("div", null, weekHead[index]),
|
|
458
|
-
h("div", { class: "week-day" }, item.date)))))),
|
|
459
|
-
h("div", { class: "calendar-view-row calendar-view-event-all-container border-divider-bottom" },
|
|
460
|
-
h("div", { class: "time-line-all" }, "All Day"),
|
|
461
|
-
this.dayViewFullDayEventRenderer.render())));
|
|
231
|
+
toDate() {
|
|
232
|
+
return new Date(this.year, this.month - 1, this.date);
|
|
462
233
|
}
|
|
463
234
|
/**
|
|
464
|
-
*
|
|
235
|
+
* Compare with another calendar date
|
|
465
236
|
*
|
|
466
|
-
* @
|
|
237
|
+
* @param {CalendarDate} date - The calendar date to compare with
|
|
238
|
+
* @returns {DateCompareResult} - Return a DateCompareResult object
|
|
467
239
|
*/
|
|
468
|
-
|
|
469
|
-
const
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
240
|
+
compare(date) {
|
|
241
|
+
const { year, month } = date;
|
|
242
|
+
const result = {
|
|
243
|
+
isPreviousMonth: false,
|
|
244
|
+
inMonth: false,
|
|
245
|
+
isNextMonth: false,
|
|
246
|
+
};
|
|
247
|
+
if (this.year === year) {
|
|
248
|
+
if (this.month < month) {
|
|
249
|
+
result.isPreviousMonth = true;
|
|
250
|
+
}
|
|
251
|
+
else if (this.month > month) {
|
|
252
|
+
result.isNextMonth = true;
|
|
253
|
+
}
|
|
254
|
+
else {
|
|
255
|
+
result.inMonth = true;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
else if (this.year > year) {
|
|
259
|
+
result.isNextMonth = true;
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
result.isPreviousMonth = true;
|
|
263
|
+
}
|
|
264
|
+
return result;
|
|
480
265
|
}
|
|
481
266
|
/**
|
|
482
|
-
* The function
|
|
267
|
+
* The function "equal" compares the year, month, and date of two CalendarDate objects and returns true if they are equal.
|
|
483
268
|
*
|
|
484
|
-
* @param {CalendarDate} calendarDate
|
|
485
|
-
*
|
|
269
|
+
* @param {CalendarDate} calendarDate - The `equal` method in the code snippet is a function that compares the year, month, and date of the current `CalendarDate` object with another
|
|
270
|
+
* `CalendarDate` object passed as a parameter. The method returns `true` if all three values (year, month, date) are equal
|
|
271
|
+
* @returns {boolean} The date is same day with current
|
|
486
272
|
*/
|
|
487
|
-
|
|
488
|
-
const
|
|
489
|
-
return
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
273
|
+
equal(calendarDate) {
|
|
274
|
+
const { year, month, date } = calendarDate;
|
|
275
|
+
return this._year === year && this._month === month && this._date === date;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* Calendar week view generator
|
|
281
|
+
*/
|
|
282
|
+
class WeekViewGenerator extends CalendarViewGenerator {
|
|
283
|
+
/**
|
|
284
|
+
* @inheritDoc
|
|
285
|
+
*/
|
|
286
|
+
generate(period) {
|
|
287
|
+
const dates = this.generateDates(period);
|
|
288
|
+
const showWeekends = period.showWeekends;
|
|
289
|
+
let weekDays = this.generateWeekHead();
|
|
290
|
+
let dateItems = [dates.map(CalendarDate.from)];
|
|
291
|
+
if (showWeekends === false) {
|
|
292
|
+
weekDays = weekDays.slice(1, 6);
|
|
293
|
+
dateItems = dateItems.map((items) => items.slice(1, 6));
|
|
294
|
+
}
|
|
295
|
+
return new CalendarView(weekDays, dateItems);
|
|
496
296
|
}
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
/**
|
|
300
|
+
* Calendar month view generator
|
|
301
|
+
*/
|
|
302
|
+
class MonthViewGenerator extends CalendarViewGenerator {
|
|
497
303
|
/**
|
|
498
|
-
*
|
|
499
|
-
*
|
|
500
|
-
* @param {CalendarDate} calendarDate the calendar date object
|
|
304
|
+
* @inheritDoc
|
|
501
305
|
*/
|
|
502
|
-
|
|
503
|
-
const
|
|
504
|
-
|
|
306
|
+
generate(period) {
|
|
307
|
+
const showWeekends = period.showWeekends;
|
|
308
|
+
let calendarDates = [];
|
|
309
|
+
let week = [];
|
|
310
|
+
const dates = this.generateDates(period);
|
|
311
|
+
dates.forEach((date, i) => {
|
|
312
|
+
if (!(i % 7)) {
|
|
313
|
+
calendarDates[i / 7] = week = [];
|
|
314
|
+
}
|
|
315
|
+
const item = CalendarDate.from(date);
|
|
316
|
+
week.push(item);
|
|
317
|
+
});
|
|
318
|
+
let weekDays = this.generateWeekHead();
|
|
319
|
+
if (showWeekends === false) {
|
|
320
|
+
weekDays = weekDays.slice(1, 6);
|
|
321
|
+
calendarDates = calendarDates.map((items) => items.slice(1, 6));
|
|
322
|
+
}
|
|
323
|
+
return new CalendarView(weekDays, calendarDates);
|
|
505
324
|
}
|
|
506
325
|
}
|
|
507
|
-
__decorate$k([
|
|
508
|
-
MapToComponentField()
|
|
509
|
-
], VegaCalendarViewWithTimeRenderer.prototype, "viewMode", void 0);
|
|
510
|
-
__decorate$k([
|
|
511
|
-
MapToComponentField()
|
|
512
|
-
], VegaCalendarViewWithTimeRenderer.prototype, "timeLineRenderer", void 0);
|
|
513
|
-
__decorate$k([
|
|
514
|
-
MapToComponentField()
|
|
515
|
-
], VegaCalendarViewWithTimeRenderer.prototype, "dayViewTimedEventRenderer", void 0);
|
|
516
|
-
__decorate$k([
|
|
517
|
-
MapToComponentField()
|
|
518
|
-
], VegaCalendarViewWithTimeRenderer.prototype, "dayViewFullDayEventRenderer", void 0);
|
|
519
|
-
__decorate$k([
|
|
520
|
-
MapToComponentField()
|
|
521
|
-
], VegaCalendarViewWithTimeRenderer.prototype, "calendarView", void 0);
|
|
522
|
-
__decorate$k([
|
|
523
|
-
MapToComponentField()
|
|
524
|
-
], VegaCalendarViewWithTimeRenderer.prototype, "calendarViewController", void 0);
|
|
525
|
-
__decorate$k([
|
|
526
|
-
MapToComponentField()
|
|
527
|
-
], VegaCalendarViewWithTimeRenderer.prototype, "dateDblClickEmitter", void 0);
|
|
528
326
|
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
327
|
+
/**
|
|
328
|
+
* CalendarPeriod is an abstract class that represents a period of date for calendar.
|
|
329
|
+
*/
|
|
330
|
+
class CalendarPeriod {
|
|
331
|
+
constructor(count, current) {
|
|
332
|
+
this._count = count;
|
|
333
|
+
this._current = current ? current : CalendarDate.from(new Date());
|
|
334
|
+
this.calculatePeriod(this._current);
|
|
335
|
+
}
|
|
537
336
|
/**
|
|
538
|
-
*
|
|
337
|
+
* The current date of the period.
|
|
539
338
|
*
|
|
540
|
-
* @
|
|
541
|
-
* @returns {HTMLElement} the html element
|
|
339
|
+
* @type {CalendarDate}
|
|
542
340
|
*/
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
return (h("div", { class: {
|
|
546
|
-
'time-marker-container': true,
|
|
547
|
-
'hidden': !isVisible,
|
|
548
|
-
} },
|
|
549
|
-
h("div", { class: "time-marker", style: { top: this.getTimeMarkerPosition() }, ref: (div) => (this.timeMarkerRef = div) }, source.map((item) => {
|
|
550
|
-
return h("div", { key: item.date, class: { active: item.isToday() } });
|
|
551
|
-
}))));
|
|
341
|
+
get current() {
|
|
342
|
+
return this._current;
|
|
552
343
|
}
|
|
553
344
|
/**
|
|
554
|
-
*
|
|
345
|
+
* The start date of the period
|
|
555
346
|
*
|
|
556
|
-
* @
|
|
347
|
+
* @type {CalendarDate}
|
|
557
348
|
*/
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
return (h("div", { class: "time-line", ref: (div) => (this.timeLineRef = div) },
|
|
561
|
-
h("div", { class: "hour-empty" }),
|
|
562
|
-
timeLineSource.map((time, index) => {
|
|
563
|
-
return (h("div", { key: time },
|
|
564
|
-
h("div", { class: "time-text", "data-time": index === 0 ? 24 : index }, time)));
|
|
565
|
-
})));
|
|
349
|
+
get startDate() {
|
|
350
|
+
return this._startDate;
|
|
566
351
|
}
|
|
567
352
|
/**
|
|
568
|
-
*
|
|
353
|
+
* The end date of the period
|
|
569
354
|
*
|
|
570
|
-
* @
|
|
355
|
+
* @type {CalendarDate}
|
|
571
356
|
*/
|
|
572
|
-
|
|
573
|
-
this.
|
|
574
|
-
this.syncTimeMarkerPosition(viewMode);
|
|
357
|
+
get endDate() {
|
|
358
|
+
return this._endDate;
|
|
575
359
|
}
|
|
576
360
|
/**
|
|
577
|
-
*
|
|
361
|
+
* The count of the period
|
|
362
|
+
*
|
|
363
|
+
* @type {number}
|
|
578
364
|
*/
|
|
579
|
-
|
|
580
|
-
|
|
365
|
+
get count() {
|
|
366
|
+
return this._count;
|
|
581
367
|
}
|
|
582
368
|
/**
|
|
583
|
-
*
|
|
369
|
+
* This function returns the type of the object.
|
|
370
|
+
*
|
|
371
|
+
* @type {string}
|
|
584
372
|
*/
|
|
585
|
-
|
|
586
|
-
this.
|
|
373
|
+
get type() {
|
|
374
|
+
return this._type;
|
|
587
375
|
}
|
|
588
376
|
/**
|
|
589
|
-
*
|
|
377
|
+
* This function returns the showWeekends of the object.
|
|
590
378
|
*
|
|
591
|
-
* @
|
|
379
|
+
* @type {boolean}
|
|
592
380
|
*/
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
const minutesOneDay = 24 * 60;
|
|
596
|
-
return ((now.getHours() * 60 + now.getMinutes()) / minutesOneDay) * 100 + '%';
|
|
381
|
+
get showWeekends() {
|
|
382
|
+
return this._showWeekends;
|
|
597
383
|
}
|
|
598
384
|
/**
|
|
599
|
-
*
|
|
385
|
+
* Go to a specific date.
|
|
600
386
|
*
|
|
601
|
-
* @
|
|
387
|
+
* @param {CalendarDate} date - The date to go to.
|
|
388
|
+
* @returns {this} - The current period.
|
|
602
389
|
*/
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
if (this.timeFormat === '12-hour') {
|
|
606
|
-
timeLine.push('12 AM');
|
|
607
|
-
for (let i = 1; i < 12; i++) {
|
|
608
|
-
timeLine.push(`${i} AM`);
|
|
609
|
-
}
|
|
610
|
-
timeLine.push('12 PM');
|
|
611
|
-
for (let i = 1; i < 12; i++) {
|
|
612
|
-
timeLine.push(`${i} PM`);
|
|
613
|
-
}
|
|
614
|
-
}
|
|
615
|
-
else {
|
|
616
|
-
for (let i = 0; i < 24; i++) {
|
|
617
|
-
timeLine.push(pad(i));
|
|
618
|
-
}
|
|
619
|
-
}
|
|
620
|
-
return timeLine;
|
|
390
|
+
goTo(date) {
|
|
391
|
+
return this.createBy(date);
|
|
621
392
|
}
|
|
622
|
-
/*
|
|
623
|
-
* The below method is e2e-test covered in
|
|
624
|
-
* @see{module:vega-calendar-scroll-to-current-time}
|
|
625
|
-
*/
|
|
626
|
-
/* istanbul ignore next */
|
|
627
393
|
/**
|
|
628
|
-
*
|
|
394
|
+
* Go to now.
|
|
629
395
|
*
|
|
630
|
-
* @
|
|
396
|
+
* @returns {this} - The current period.
|
|
631
397
|
*/
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
if (viewMode !== 'month') {
|
|
635
|
-
this.timeMarkerPositionTimer = setInterval(() => {
|
|
636
|
-
if (this.timeMarkerRef) {
|
|
637
|
-
this.timeMarkerRef.style.top = this.getTimeMarkerPosition();
|
|
638
|
-
}
|
|
639
|
-
}, 60 * 1000);
|
|
640
|
-
}
|
|
398
|
+
now() {
|
|
399
|
+
return this.createBy(CalendarDate.from(new Date()));
|
|
641
400
|
}
|
|
642
|
-
/*
|
|
643
|
-
* The below method is e2e-test covered in
|
|
644
|
-
* @see{module:vega-calendar-scroll-to-current-time}
|
|
645
|
-
*/
|
|
646
|
-
/* istanbul ignore next */
|
|
647
401
|
/**
|
|
648
|
-
*
|
|
402
|
+
* Calculate the period start date and end date.
|
|
649
403
|
*
|
|
650
|
-
* @param {
|
|
404
|
+
* @param {CalendarDate} date - The date to calculate the period from.
|
|
651
405
|
*/
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
var _a, _b;
|
|
657
|
-
const hour = new Date().getHours();
|
|
658
|
-
(_b = (_a = this.timeLineRef) === null || _a === void 0 ? void 0 : _a.querySelector(`[data-time='${hour < 23 ? hour + 1 : hour}']`)) === null || _b === void 0 ? void 0 : _b.scrollIntoView({ block: 'end' });
|
|
659
|
-
}, 0);
|
|
406
|
+
calculatePeriod(date) {
|
|
407
|
+
const cursor = date.toDate();
|
|
408
|
+
if (this.count > 1) {
|
|
409
|
+
cursor.setDate(cursor.getDate() - getWeekdays().indexOf(cursor.getDay()));
|
|
660
410
|
}
|
|
411
|
+
this._startDate = CalendarDate.from(cursor);
|
|
412
|
+
cursor.setDate(cursor.getDate() + this.count - 1);
|
|
413
|
+
this._endDate = CalendarDate.from(cursor);
|
|
661
414
|
}
|
|
662
415
|
}
|
|
663
|
-
__decorate$j([
|
|
664
|
-
MapToComponentField()
|
|
665
|
-
], VegaCalendarTimeLineRenderer.prototype, "timeFormat", void 0);
|
|
666
|
-
__decorate$j([
|
|
667
|
-
MapToComponentField()
|
|
668
|
-
], VegaCalendarTimeLineRenderer.prototype, "viewMode", void 0);
|
|
669
|
-
__decorate$j([
|
|
670
|
-
MapToComponentMethod('watchViewModeChange')
|
|
671
|
-
], VegaCalendarTimeLineRenderer.prototype, "updateTimeLine", null);
|
|
672
|
-
__decorate$j([
|
|
673
|
-
MapToComponentMethod('disconnectedCallback')
|
|
674
|
-
], VegaCalendarTimeLineRenderer.prototype, "clearTimer", null);
|
|
675
|
-
__decorate$j([
|
|
676
|
-
MapToComponentMethod('connectedCallback')
|
|
677
|
-
], VegaCalendarTimeLineRenderer.prototype, "updateTimeLineIfComponentAddBack", null);
|
|
678
416
|
|
|
679
417
|
/**
|
|
680
|
-
*
|
|
681
|
-
*
|
|
682
|
-
* @param {number} firstWeekDay - The first week day (0: Sunday, 1: Monday, ...)
|
|
683
|
-
* @returns {number[]} - The week days array
|
|
418
|
+
* Period of day.
|
|
684
419
|
*/
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
420
|
+
class DayPeriod extends CalendarPeriod {
|
|
421
|
+
constructor(current, showWeekends) {
|
|
422
|
+
super(DayPeriod.DISPLAY_DATE_COUNT, current);
|
|
423
|
+
this._type = 'day';
|
|
424
|
+
this._showWeekends = true;
|
|
425
|
+
this._showWeekends = showWeekends === false ? false : true;
|
|
426
|
+
}
|
|
427
|
+
/**
|
|
428
|
+
* @inheritDoc
|
|
429
|
+
*/
|
|
430
|
+
next() {
|
|
431
|
+
const nextDate = this.current.toDate();
|
|
432
|
+
nextDate.setDate(nextDate.getDate() + 1);
|
|
433
|
+
let calendarDate = CalendarDate.from(nextDate);
|
|
434
|
+
if (this._showWeekends === false) {
|
|
435
|
+
calendarDate = getClosestWorkday(calendarDate);
|
|
436
|
+
}
|
|
437
|
+
return this.createBy(calendarDate);
|
|
438
|
+
}
|
|
439
|
+
/**
|
|
440
|
+
* @inheritDoc
|
|
441
|
+
*/
|
|
442
|
+
previous() {
|
|
443
|
+
const previousDate = this.current.toDate();
|
|
444
|
+
previousDate.setDate(previousDate.getDate() - 1);
|
|
445
|
+
let calendarDate = CalendarDate.from(previousDate);
|
|
446
|
+
if (this._showWeekends === false) {
|
|
447
|
+
calendarDate = getClosestWorkday(calendarDate, DateDirection.PREVIOUS);
|
|
448
|
+
}
|
|
449
|
+
return this.createBy(calendarDate);
|
|
450
|
+
}
|
|
451
|
+
/**
|
|
452
|
+
* Go to now.
|
|
453
|
+
*
|
|
454
|
+
* @returns {this} - The current period.
|
|
455
|
+
*/
|
|
456
|
+
now() {
|
|
457
|
+
let calendarDate = CalendarDate.from(new Date());
|
|
458
|
+
if (this._showWeekends === false) {
|
|
459
|
+
calendarDate = getClosestWorkday(calendarDate);
|
|
460
|
+
}
|
|
461
|
+
return this.createBy(calendarDate);
|
|
462
|
+
}
|
|
463
|
+
/**
|
|
464
|
+
* @inheritDoc
|
|
465
|
+
*/
|
|
466
|
+
createBy(current) {
|
|
467
|
+
return new DayPeriod(current, this._showWeekends);
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
DayPeriod.DISPLAY_DATE_COUNT = 1;
|
|
689
471
|
|
|
690
472
|
/**
|
|
691
|
-
*
|
|
473
|
+
* Period of the week
|
|
692
474
|
*/
|
|
693
|
-
class
|
|
694
|
-
constructor() {
|
|
695
|
-
|
|
696
|
-
this.
|
|
475
|
+
class WeekPeriod extends CalendarPeriod {
|
|
476
|
+
constructor(current, showWeekends) {
|
|
477
|
+
super(WeekPeriod.DISPLAY_DATE_COUNT, current);
|
|
478
|
+
this._type = 'week';
|
|
479
|
+
this._showWeekends = true;
|
|
480
|
+
this._showWeekends = showWeekends === false ? false : true;
|
|
697
481
|
}
|
|
698
482
|
/**
|
|
699
|
-
*
|
|
700
|
-
*
|
|
701
|
-
* @returns {string[]} - The weekday strings
|
|
483
|
+
* @inheritDoc
|
|
702
484
|
*/
|
|
703
|
-
|
|
704
|
-
|
|
485
|
+
next() {
|
|
486
|
+
const nextWeekStartDate = this.current.toDate();
|
|
487
|
+
nextWeekStartDate.setDate(nextWeekStartDate.getDate() - getWeekdays().indexOf(nextWeekStartDate.getDay()) + 7);
|
|
488
|
+
return this.createBy(CalendarDate.from(nextWeekStartDate));
|
|
705
489
|
}
|
|
706
490
|
/**
|
|
707
|
-
*
|
|
708
|
-
*
|
|
709
|
-
* @param {CalendarPeriod} period - The calendar period
|
|
710
|
-
* @returns {Date[]} - The date result
|
|
491
|
+
* @inheritDoc
|
|
711
492
|
*/
|
|
712
|
-
|
|
713
|
-
const
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
dates.push(new Date(cursor));
|
|
717
|
-
cursor.setDate(cursor.getDate() + 1);
|
|
718
|
-
}
|
|
719
|
-
return dates;
|
|
493
|
+
previous() {
|
|
494
|
+
const previousWeekStartDate = this.current.toDate();
|
|
495
|
+
previousWeekStartDate.setDate(previousWeekStartDate.getDate() - getWeekdays().indexOf(previousWeekStartDate.getDay()) - 7);
|
|
496
|
+
return this.createBy(CalendarDate.from(previousWeekStartDate));
|
|
720
497
|
}
|
|
721
498
|
/**
|
|
722
|
-
*
|
|
723
|
-
*
|
|
724
|
-
* @returns {string[]} - The data of week head
|
|
499
|
+
* @inheritDoc
|
|
725
500
|
*/
|
|
726
|
-
|
|
727
|
-
return
|
|
501
|
+
createBy(current) {
|
|
502
|
+
return new WeekPeriod(current, this._showWeekends);
|
|
728
503
|
}
|
|
729
504
|
}
|
|
505
|
+
WeekPeriod.DISPLAY_DATE_COUNT = 7;
|
|
730
506
|
|
|
731
507
|
/**
|
|
732
|
-
*
|
|
508
|
+
* Period of month
|
|
733
509
|
*/
|
|
734
|
-
class
|
|
735
|
-
constructor(
|
|
736
|
-
|
|
737
|
-
this.
|
|
510
|
+
class MonthPeriod extends CalendarPeriod {
|
|
511
|
+
constructor(current, showWeekends) {
|
|
512
|
+
super(MonthPeriod.DISPLAY_DATE_COUNT, MonthPeriod.getMonthFirstDay(current));
|
|
513
|
+
this._type = 'month';
|
|
514
|
+
this._showWeekends = true;
|
|
515
|
+
this._showWeekends = showWeekends === false ? false : true;
|
|
516
|
+
}
|
|
517
|
+
/**
|
|
518
|
+
* The function `getMonthFirstDay` returns the first day of a given month in a calendar.
|
|
519
|
+
*
|
|
520
|
+
* @param {CalendarDate} [calendarDate] - The `calendarDate` parameter is an optional parameter of
|
|
521
|
+
* type `CalendarDate`. It represents a specific date in the calendar. If a `calendarDate` is
|
|
522
|
+
* provided, the function will use that date to determine the first day of the month. If no
|
|
523
|
+
* `calendarDate` is provided, the function
|
|
524
|
+
* @returns {CalendarDate} A new `CalendarDate` object representing the first day of the month from the provided
|
|
525
|
+
* `calendarDate` parameter or the current date if no parameter is provided.
|
|
526
|
+
*/
|
|
527
|
+
static getMonthFirstDay(calendarDate) {
|
|
528
|
+
const date = calendarDate || CalendarDate.from(new Date());
|
|
529
|
+
return new CalendarDate(date.year, date.month, 1);
|
|
738
530
|
}
|
|
739
531
|
/**
|
|
740
|
-
*
|
|
741
|
-
*
|
|
742
|
-
* @type {string[]}
|
|
532
|
+
* @inheritDoc
|
|
743
533
|
*/
|
|
744
|
-
|
|
745
|
-
|
|
534
|
+
next() {
|
|
535
|
+
const next = this.current.toDate();
|
|
536
|
+
next.setMonth(next.getMonth() + 1);
|
|
537
|
+
return this.createBy(CalendarDate.from(next));
|
|
746
538
|
}
|
|
747
539
|
/**
|
|
748
|
-
*
|
|
749
|
-
*
|
|
750
|
-
* @type {CalendarDate[][]}
|
|
540
|
+
* @inheritDoc
|
|
751
541
|
*/
|
|
752
|
-
|
|
753
|
-
|
|
542
|
+
previous() {
|
|
543
|
+
const previous = this.current.toDate();
|
|
544
|
+
previous.setMonth(previous.getMonth() - 1);
|
|
545
|
+
return this.createBy(CalendarDate.from(previous));
|
|
754
546
|
}
|
|
755
|
-
}
|
|
756
|
-
|
|
757
|
-
/**
|
|
758
|
-
* Day view calendar generator
|
|
759
|
-
*/
|
|
760
|
-
class DayViewGenerator extends CalendarViewGenerator {
|
|
761
547
|
/**
|
|
762
548
|
* @inheritDoc
|
|
763
549
|
*/
|
|
764
|
-
|
|
765
|
-
return new
|
|
550
|
+
createBy(current) {
|
|
551
|
+
return new MonthPeriod(current, this._showWeekends);
|
|
766
552
|
}
|
|
767
553
|
}
|
|
554
|
+
MonthPeriod.DISPLAY_DATE_COUNT = 6 * 7;
|
|
768
555
|
|
|
556
|
+
var DateDirection;
|
|
557
|
+
(function (DateDirection) {
|
|
558
|
+
DateDirection["PREVIOUS"] = "-1";
|
|
559
|
+
DateDirection["NEXT"] = "1";
|
|
560
|
+
})(DateDirection || (DateDirection = {}));
|
|
769
561
|
/**
|
|
770
|
-
*
|
|
562
|
+
* get month name from the month number
|
|
563
|
+
*
|
|
564
|
+
* @param {Date} date the date object
|
|
565
|
+
* @param {boolean} isShortName short or long name
|
|
566
|
+
* @returns {string} the month English name
|
|
771
567
|
*/
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
568
|
+
function getMonthName(date, isShortName = false) {
|
|
569
|
+
return date.toLocaleDateString('en-US', { month: isShortName ? 'short' : 'long' });
|
|
570
|
+
}
|
|
571
|
+
/**
|
|
572
|
+
* The function `getTimeIndex` calculates the index of a given time string based on a specified time unit.
|
|
573
|
+
*
|
|
574
|
+
* @param {string} timeString - A string representing a time in the format "HH:MM", where HH is the hour and MM is the minutes.
|
|
575
|
+
* @param {number} [unit=15] - The `unit` parameter in the `getTimeIndex` function is used to specify
|
|
576
|
+
* the interval in minutes for dividing the day. By default, it is set to 15 minutes, meaning that the
|
|
577
|
+
* day will be divided into 15-minute intervals.
|
|
578
|
+
* @returns {number} the index of the given time string based on the specified time unit.
|
|
579
|
+
*/
|
|
580
|
+
function getTimeIndex(timeString, unit = 15) {
|
|
581
|
+
const [hour, minutes] = timeString.split(':');
|
|
582
|
+
return Math.round((Number(hour) * 60 + Number(minutes)) / unit);
|
|
583
|
+
}
|
|
584
|
+
/**
|
|
585
|
+
* Returns a string that includes the event key for a calendar event slot.
|
|
586
|
+
*
|
|
587
|
+
* @param {string} eventKey - represents the key or identifier of a calendar event.
|
|
588
|
+
* @returns {string} a string that is a concatenation of 'vega-calendar-event-slot-' and the eventKey parameter.
|
|
589
|
+
*/
|
|
590
|
+
function getCalendarEventSlotName(eventKey) {
|
|
591
|
+
return 'vega-calendar-event-slot-' + eventKey;
|
|
592
|
+
}
|
|
593
|
+
/**
|
|
594
|
+
* Returns the closest workday to a given calendar date based on a specified direction.
|
|
595
|
+
*
|
|
596
|
+
* @param {Date} date - The starting date from which you want to find the closest workday.
|
|
597
|
+
* @param {'-1' | '1'} [direction=1] - Determines whether to find the closest workday in the past or future. It can have two possible values:
|
|
598
|
+
* @returns {Date} The closest workday to the input date
|
|
599
|
+
*/
|
|
600
|
+
function getClosestWorkday(date, direction = DateDirection.NEXT) {
|
|
601
|
+
const day = date.toDate().getDay();
|
|
602
|
+
if (day === 0 || day === 6) {
|
|
603
|
+
let nextWorkdayGap = day === 0 ? 1 : 2;
|
|
604
|
+
if (direction === DateDirection.PREVIOUS) {
|
|
605
|
+
nextWorkdayGap = day === 0 ? -2 : -1;
|
|
606
|
+
}
|
|
607
|
+
return CalendarDate.from(new Date(date.year, date.month - 1, date.date + nextWorkdayGap));
|
|
608
|
+
}
|
|
609
|
+
return date;
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
const ellipsisVertical = {
|
|
613
|
+
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M48 464a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm0-160a48 48 0 1 1 0-96 48 48 0 1 1 0 96zM0 96a48 48 0 1 1 96 0A48 48 0 1 1 0 96z"/></svg>`,
|
|
614
|
+
};
|
|
615
|
+
|
|
616
|
+
var __decorate$n = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
617
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
618
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
619
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
620
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
621
|
+
};
|
|
622
|
+
/** The `VegaCalendarSwitchPanelRenderer` class in TypeScript React renders a calendar switch panel with date navigation, view selection, and action buttons. */
|
|
623
|
+
class VegaCalendarSwitchPanelRenderer extends VegaSlimmer {
|
|
624
|
+
constructor() {
|
|
625
|
+
super(...arguments);
|
|
626
|
+
/**
|
|
627
|
+
* This function is responsible for updating the `viewMode` property of the `VegaCalendarSwitchPanelRenderer` class with the value extracted from the `input` parameter.
|
|
628
|
+
*
|
|
629
|
+
* @param {NotifyObserverPayload<VegaCalendarViewModeType>} input mark which view should be selected
|
|
630
|
+
*/
|
|
631
|
+
this.handleViewChange = (input) => {
|
|
632
|
+
this.currentPeriodController.updateCalendarPeriod(input.detail, this.currentPeriod.current);
|
|
633
|
+
};
|
|
634
|
+
/**
|
|
635
|
+
* reset view content to today
|
|
636
|
+
*/
|
|
637
|
+
this.todayButtonClick = () => {
|
|
638
|
+
this.currentPeriodController.setCurrentPeriod(this.currentPeriod.now());
|
|
639
|
+
};
|
|
640
|
+
/**
|
|
641
|
+
* update view content after click next button
|
|
642
|
+
*/
|
|
643
|
+
this.nextButtonClick = () => {
|
|
644
|
+
this.currentPeriodController.setCurrentPeriod(this.currentPeriod.next());
|
|
645
|
+
};
|
|
646
|
+
/**
|
|
647
|
+
* update view content after click previous button
|
|
648
|
+
*/
|
|
649
|
+
this.prevButtonClick = () => {
|
|
650
|
+
this.currentPeriodController.setCurrentPeriod(this.currentPeriod.previous());
|
|
651
|
+
};
|
|
652
|
+
/**
|
|
653
|
+
* The more action menu item click
|
|
654
|
+
*
|
|
655
|
+
* @param {NotifyObserverPayload<string>} payload The object contains the menu item key
|
|
656
|
+
*/
|
|
657
|
+
this.moreActionMenuClick = (payload) => {
|
|
658
|
+
this.moreActionClickEmitter.emit(payload.detail);
|
|
659
|
+
};
|
|
777
660
|
}
|
|
778
661
|
/**
|
|
779
|
-
*
|
|
662
|
+
* get the switch panel container element
|
|
780
663
|
*
|
|
781
|
-
* @
|
|
782
|
-
* @returns {CalendarDate} - Return a CalendarDate object
|
|
664
|
+
* @returns {HTMLElement} container element
|
|
783
665
|
*/
|
|
784
|
-
|
|
785
|
-
return
|
|
666
|
+
getSwitchPanelRef() {
|
|
667
|
+
return this.switchPanelRef;
|
|
786
668
|
}
|
|
787
669
|
/**
|
|
788
|
-
*
|
|
670
|
+
* calendar switch panel with date switch, view switch, add new button, and more action components.
|
|
789
671
|
*
|
|
790
|
-
* @
|
|
672
|
+
* @returns {HTMLElement} html element
|
|
791
673
|
*/
|
|
792
|
-
|
|
793
|
-
return this.
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
674
|
+
render() {
|
|
675
|
+
return (h("vega-flex", { direction: "row", gap: "size-16", justifyContent: "space-between", alignItems: "center", class: "calendar-switch-panel", ref: (node) => (this.switchPanelRef = node) },
|
|
676
|
+
this.renderDateSwitch(),
|
|
677
|
+
h("div", { class: "calendar-view-switch-container" },
|
|
678
|
+
this.renderViewSwitch(),
|
|
679
|
+
this.renderMoreActionMenu())));
|
|
797
680
|
}
|
|
798
681
|
/**
|
|
799
|
-
* The
|
|
682
|
+
* The `renderDateSwitch` function returns a container with buttons for switching dates and displaying the current date.
|
|
800
683
|
*
|
|
801
|
-
* @
|
|
684
|
+
* @returns {HTMLDivElement} action button elements container.
|
|
802
685
|
*/
|
|
803
|
-
|
|
804
|
-
return
|
|
686
|
+
renderDateSwitch() {
|
|
687
|
+
return (h("div", { class: "calendar-date-switch-container" },
|
|
688
|
+
h("vega-button", { variant: "secondary", size: "small", ref: (button) => {
|
|
689
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, VegaClick, this.todayButtonClick);
|
|
690
|
+
}, label: this.translationSlimmer.t('Today') }),
|
|
691
|
+
h("vega-button-circle", { variant: "secondary", size: "small", icon: VegaInternalIconManager.getIconKey('chevron-left'), label: "previous", showTooltip: false, ref: (button) => {
|
|
692
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, VegaClick, this.prevButtonClick);
|
|
693
|
+
} }),
|
|
694
|
+
h("vega-button-circle", { variant: "secondary", size: "small", icon: VegaInternalIconManager.getIconKey('chevron-right'), label: "next", showTooltip: false, ref: (button) => {
|
|
695
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, VegaClick, this.nextButtonClick);
|
|
696
|
+
} }),
|
|
697
|
+
this.renderCurrentPeriod()));
|
|
805
698
|
}
|
|
806
|
-
|
|
807
|
-
|
|
699
|
+
/**
|
|
700
|
+
* The function `renderCurrentPeriod` returns an HTML element displaying the view date content summary info.
|
|
701
|
+
*
|
|
702
|
+
* @returns {HTMLVegaFontElement} The text content inside the element is "Current Date Test".
|
|
703
|
+
*/
|
|
704
|
+
renderCurrentPeriod() {
|
|
705
|
+
return (h("vega-font", { class: "calendar-current-date", variant: "font-field-label", color: "text-primary" }, this.getViewDateSummary()));
|
|
808
706
|
}
|
|
809
707
|
/**
|
|
810
|
-
* The
|
|
708
|
+
* The function `renderViewSwitch` returns a JSX element for rendering a segment control component in a TypeScript React application.
|
|
811
709
|
*
|
|
812
|
-
* @
|
|
710
|
+
* @returns {HTMLElement} An HTMLElement containing a vega-segment-control element with specific attributes and event handling.
|
|
813
711
|
*/
|
|
814
|
-
|
|
815
|
-
return this.
|
|
712
|
+
renderViewSwitch() {
|
|
713
|
+
return (h("vega-segment-control", { segments: VegaCalendarSwitchPanelRenderer.views.map((item) => (Object.assign(Object.assign({}, item), { text: this.translationSlimmer.t(item.text) }))), size: "small", variant: "text-only", selected: this.viewMode, ref: (node) => {
|
|
714
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(node, VegaChange, this.handleViewChange);
|
|
715
|
+
} }));
|
|
816
716
|
}
|
|
817
|
-
|
|
818
|
-
|
|
717
|
+
/**
|
|
718
|
+
* Render an more action button if dropdown source is not empty
|
|
719
|
+
*
|
|
720
|
+
* @returns {Nullable<HTMLElement>} the additional element
|
|
721
|
+
*/
|
|
722
|
+
renderMoreActionMenu() {
|
|
723
|
+
var _a, _b;
|
|
724
|
+
if ((_b = (_a = this.moreActionDropdownProps) === null || _a === void 0 ? void 0 : _a.source) === null || _b === void 0 ? void 0 : _b.length) {
|
|
725
|
+
return (h("vega-dropdown", Object.assign({ alignment: "end", trigger: "click" }, this.moreActionDropdownProps, { ref: (node) => {
|
|
726
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(node, VegaDropdownClick, this.moreActionMenuClick);
|
|
727
|
+
} }),
|
|
728
|
+
h("vega-button-circle", { size: "small", icon: VegaInternalIconManager.getIconKey('ellipsis-vertical'), variant: "icon-only" })));
|
|
729
|
+
}
|
|
819
730
|
}
|
|
820
731
|
/**
|
|
821
|
-
*
|
|
732
|
+
* Get the view content date summary info, such as `January, 2024` or `10 January, 2024` or `28 December, 2023 - 3 January, 2024`
|
|
822
733
|
*
|
|
823
|
-
* @returns {
|
|
734
|
+
* @returns {string} string
|
|
824
735
|
*/
|
|
825
|
-
|
|
826
|
-
const
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
736
|
+
getViewDateSummary() {
|
|
737
|
+
const currentDate = this.currentPeriod.current;
|
|
738
|
+
let result = '';
|
|
739
|
+
switch (this.viewMode) {
|
|
740
|
+
case 'day': {
|
|
741
|
+
const monthName = this.translationSlimmer.t(getMonthName(currentDate.toDate()));
|
|
742
|
+
result = `${currentDate.date} ${monthName}, ${currentDate.year}`;
|
|
743
|
+
break;
|
|
744
|
+
}
|
|
745
|
+
case 'week': {
|
|
746
|
+
const weekItems = this.calendarView.dateItems[0];
|
|
747
|
+
const start = weekItems[0];
|
|
748
|
+
const end = weekItems[weekItems.length - 1];
|
|
749
|
+
const [startMonthName, endMonthName] = [start, end].map((item) => this.translationSlimmer.t(getMonthName(item.toDate())));
|
|
750
|
+
result = `${start.date} ${startMonthName}${start.year === end.year ? '' : ', ' + start.year} - ${end.date} ${endMonthName}, ${end.year}`;
|
|
751
|
+
break;
|
|
752
|
+
}
|
|
753
|
+
case 'month': {
|
|
754
|
+
const monthName = this.translationSlimmer.t(getMonthName(currentDate.toDate()));
|
|
755
|
+
result = `${monthName}, ${currentDate.year}`;
|
|
756
|
+
break;
|
|
757
|
+
}
|
|
758
|
+
}
|
|
759
|
+
return result;
|
|
830
760
|
}
|
|
761
|
+
}
|
|
762
|
+
(() => {
|
|
763
|
+
VegaInternalIconManager.register({
|
|
764
|
+
'chevron-right': chevronRight,
|
|
765
|
+
'chevron-left': chevronLeft,
|
|
766
|
+
'ellipsis-vertical': ellipsisVertical,
|
|
767
|
+
});
|
|
768
|
+
})();
|
|
769
|
+
VegaCalendarSwitchPanelRenderer.views = [
|
|
770
|
+
{ text: 'Day', key: 'day' },
|
|
771
|
+
{ text: 'Week', key: 'week' },
|
|
772
|
+
{ text: 'Month', key: 'month' },
|
|
773
|
+
];
|
|
774
|
+
__decorate$n([
|
|
775
|
+
MapToComponentField()
|
|
776
|
+
], VegaCalendarSwitchPanelRenderer.prototype, "viewMode", void 0);
|
|
777
|
+
__decorate$n([
|
|
778
|
+
MapToComponentField()
|
|
779
|
+
], VegaCalendarSwitchPanelRenderer.prototype, "calendarView", void 0);
|
|
780
|
+
__decorate$n([
|
|
781
|
+
MapToComponentField()
|
|
782
|
+
], VegaCalendarSwitchPanelRenderer.prototype, "currentPeriod", void 0);
|
|
783
|
+
__decorate$n([
|
|
784
|
+
MapToComponentField()
|
|
785
|
+
], VegaCalendarSwitchPanelRenderer.prototype, "moreActionDropdownProps", void 0);
|
|
786
|
+
__decorate$n([
|
|
787
|
+
MapToComponentField()
|
|
788
|
+
], VegaCalendarSwitchPanelRenderer.prototype, "moreActionClickEmitter", void 0);
|
|
789
|
+
__decorate$n([
|
|
790
|
+
MapToComponentField()
|
|
791
|
+
], VegaCalendarSwitchPanelRenderer.prototype, "currentPeriodController", void 0);
|
|
792
|
+
__decorate$n([
|
|
793
|
+
MapToComponentField()
|
|
794
|
+
], VegaCalendarSwitchPanelRenderer.prototype, "calendarViewController", void 0);
|
|
795
|
+
__decorate$n([
|
|
796
|
+
MapToComponentField()
|
|
797
|
+
], VegaCalendarSwitchPanelRenderer.prototype, "translationSlimmer", void 0);
|
|
798
|
+
|
|
799
|
+
var __decorate$m = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
800
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
801
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
802
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
803
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
804
|
+
};
|
|
805
|
+
/** renders different views based on the specified view mode using month, week, and day view render. */
|
|
806
|
+
class VegaCalendarViewRenderer extends VegaSlimmer {
|
|
831
807
|
/**
|
|
832
|
-
*
|
|
808
|
+
* render the calendar month/week/day view
|
|
833
809
|
*
|
|
834
|
-
* @returns {
|
|
810
|
+
* @returns {HTMLElement} html element
|
|
835
811
|
*/
|
|
836
|
-
|
|
837
|
-
return
|
|
812
|
+
render() {
|
|
813
|
+
return (h("div", { class: `calendar-view calendar-view-${this.viewMode} ${this.showWeekends === false ? 'calendar-hide-weekends' : ''}` }, this.viewMode === 'month'
|
|
814
|
+
? this.monthViewRenderer.render()
|
|
815
|
+
: this.viewWithTimeRenderer.render()));
|
|
838
816
|
}
|
|
817
|
+
}
|
|
818
|
+
__decorate$m([
|
|
819
|
+
MapToComponentField()
|
|
820
|
+
], VegaCalendarViewRenderer.prototype, "viewMode", void 0);
|
|
821
|
+
__decorate$m([
|
|
822
|
+
MapToComponentField()
|
|
823
|
+
], VegaCalendarViewRenderer.prototype, "showWeekends", void 0);
|
|
824
|
+
__decorate$m([
|
|
825
|
+
MapToComponentField()
|
|
826
|
+
], VegaCalendarViewRenderer.prototype, "monthViewRenderer", void 0);
|
|
827
|
+
__decorate$m([
|
|
828
|
+
MapToComponentField()
|
|
829
|
+
], VegaCalendarViewRenderer.prototype, "viewWithTimeRenderer", void 0);
|
|
830
|
+
|
|
831
|
+
var __decorate$l = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
832
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
833
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
834
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
835
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
836
|
+
};
|
|
837
|
+
/** The code provided is defining a TypeScript class called `VegaCalendarMonthViewRenderer` that extends `VegaSlimmer`. This class is responsible for rendering a month view of a calendar component. */
|
|
838
|
+
class VegaCalendarMonthViewRenderer extends VegaSlimmer {
|
|
839
839
|
/**
|
|
840
|
-
*
|
|
840
|
+
* the HTML elements that represent the month view of a calendar component.
|
|
841
841
|
*
|
|
842
|
-
* @
|
|
843
|
-
* @returns {DateCompareResult} - Return a DateCompareResult object
|
|
842
|
+
* @returns {HTMLElement} the month view calendar content
|
|
844
843
|
*/
|
|
845
|
-
|
|
846
|
-
const
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
isNextMonth: false,
|
|
851
|
-
};
|
|
852
|
-
if (this.year === year) {
|
|
853
|
-
if (this.month < month) {
|
|
854
|
-
result.isPreviousMonth = true;
|
|
855
|
-
}
|
|
856
|
-
else if (this.month > month) {
|
|
857
|
-
result.isNextMonth = true;
|
|
858
|
-
}
|
|
859
|
-
else {
|
|
860
|
-
result.inMonth = true;
|
|
861
|
-
}
|
|
862
|
-
}
|
|
863
|
-
else if (this.year > year) {
|
|
864
|
-
result.isNextMonth = true;
|
|
865
|
-
}
|
|
866
|
-
else {
|
|
867
|
-
result.isPreviousMonth = true;
|
|
868
|
-
}
|
|
869
|
-
return result;
|
|
844
|
+
render() {
|
|
845
|
+
const weekHead = this.calendarView.weekdays;
|
|
846
|
+
return (h("div", { class: "calendar-view-month-container" },
|
|
847
|
+
h("div", { class: "calendar-view-row calendar-view-title border-divider-bottom" }, weekHead.map((title) => (h("div", { key: title }, this.translationSlimmer.t(title))))),
|
|
848
|
+
this.renderMonthViewContent()));
|
|
870
849
|
}
|
|
871
850
|
/**
|
|
872
|
-
*
|
|
851
|
+
* generating the HTML elements that represent the content of the month view in a calendar component
|
|
873
852
|
*
|
|
874
|
-
* @
|
|
875
|
-
* `CalendarDate` object passed as a parameter. The method returns `true` if all three values (year, month, date) are equal
|
|
876
|
-
* @returns {boolean} The date is same day with current
|
|
877
|
-
*/
|
|
878
|
-
equal(calendarDate) {
|
|
879
|
-
const { year, month, date } = calendarDate;
|
|
880
|
-
return this._year === year && this._month === month && this._date === date;
|
|
881
|
-
}
|
|
882
|
-
}
|
|
883
|
-
|
|
884
|
-
/**
|
|
885
|
-
* Calendar week view generator
|
|
886
|
-
*/
|
|
887
|
-
class WeekViewGenerator extends CalendarViewGenerator {
|
|
888
|
-
/**
|
|
889
|
-
* @inheritDoc
|
|
853
|
+
* @returns {HTMLElement[]} month view content and event content
|
|
890
854
|
*/
|
|
891
|
-
|
|
892
|
-
const
|
|
893
|
-
|
|
855
|
+
renderMonthViewContent() {
|
|
856
|
+
const monthSource = this.calendarView.dateItems;
|
|
857
|
+
const currentDate = this.currentPeriod.current;
|
|
858
|
+
return monthSource.map((dateArray, index) => {
|
|
859
|
+
const eventsArray = this.monthEventRenderer.getCurrentRowEvents(dateArray);
|
|
860
|
+
const displayEventsArray = this.monthEventRenderer.filterRowDisplayEvents(eventsArray);
|
|
861
|
+
return (h("div", { key: index, class: "calendar-view-row border-divider-bottom" }, dateArray.map((item, itemIndex) => {
|
|
862
|
+
return (h("div", { class: {
|
|
863
|
+
'row-cell border-divider-right': true,
|
|
864
|
+
'current-month-day': item.compare(currentDate).inMonth,
|
|
865
|
+
'active': item.isToday(),
|
|
866
|
+
'disabled': false,
|
|
867
|
+
}, key: `${item.month}-${item.date}`,
|
|
868
|
+
// eslint-disable-next-line react/jsx-no-bind
|
|
869
|
+
onDblClick: (e) => this.handleDateBlockClick(e, item) },
|
|
870
|
+
this.renderDateBlock(item),
|
|
871
|
+
this.monthEventRenderer.render(item, eventsArray[itemIndex], displayEventsArray[itemIndex], itemIndex)));
|
|
872
|
+
})));
|
|
873
|
+
});
|
|
894
874
|
}
|
|
895
|
-
}
|
|
896
|
-
|
|
897
|
-
/**
|
|
898
|
-
* Calendar month view generator
|
|
899
|
-
*/
|
|
900
|
-
class MonthViewGenerator extends CalendarViewGenerator {
|
|
901
875
|
/**
|
|
902
|
-
*
|
|
876
|
+
* It takes a `CalendarDate` object as a parameter and returns an HTML element representing a date block in the calendar view.
|
|
877
|
+
*
|
|
878
|
+
* @param {CalendarDate} item the day object
|
|
879
|
+
* @returns {HTMLElement} the date block element
|
|
903
880
|
*/
|
|
904
|
-
|
|
905
|
-
const
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
}
|
|
912
|
-
const item = CalendarDate.from(date);
|
|
913
|
-
week.push(item);
|
|
914
|
-
});
|
|
915
|
-
return new CalendarView(this.generateWeekHead(), calendarDates);
|
|
916
|
-
}
|
|
917
|
-
}
|
|
918
|
-
|
|
919
|
-
/**
|
|
920
|
-
* CalendarPeriod is an abstract class that represents a period of date for calendar.
|
|
921
|
-
*/
|
|
922
|
-
class CalendarPeriod {
|
|
923
|
-
constructor(count, current) {
|
|
924
|
-
this._count = count;
|
|
925
|
-
this._current = current ? current : CalendarDate.from(new Date());
|
|
926
|
-
this.calculatePeriod(this._current);
|
|
881
|
+
renderDateBlock(item) {
|
|
882
|
+
const isMonthFirstDay = item.date === 1;
|
|
883
|
+
return (h("div", { class: "date" },
|
|
884
|
+
isMonthFirstDay && h("div", { class: "month-block" }, getMonthName(item.toDate(), true)),
|
|
885
|
+
h("div", { role: "button", tabIndex: 0, class: "grid-col",
|
|
886
|
+
// eslint-disable-next-line react/jsx-no-bind
|
|
887
|
+
onDblClick: (e) => this.goToCurrentDayView(e, item) }, item.date)));
|
|
927
888
|
}
|
|
928
889
|
/**
|
|
929
|
-
*
|
|
890
|
+
* switch to current date day view
|
|
930
891
|
*
|
|
931
|
-
* @
|
|
892
|
+
* @param {MouseEvent} e the double click event object
|
|
893
|
+
* @param {CalendarDate} calendarDate the calendar date object
|
|
932
894
|
*/
|
|
933
|
-
|
|
934
|
-
|
|
895
|
+
goToCurrentDayView(e, calendarDate) {
|
|
896
|
+
e.stopPropagation();
|
|
897
|
+
this.currentPeriodController.updateCalendarPeriod('day', calendarDate);
|
|
935
898
|
}
|
|
936
899
|
/**
|
|
937
|
-
*
|
|
900
|
+
* emit vega click event when click the date block
|
|
938
901
|
*
|
|
939
|
-
* @
|
|
902
|
+
* @param {MouseEvent} e the mouse event object
|
|
903
|
+
* @param {CalendarDate} calendarDate the calendar date object
|
|
940
904
|
*/
|
|
941
|
-
|
|
942
|
-
|
|
905
|
+
handleDateBlockClick(e, calendarDate) {
|
|
906
|
+
const { target, clientX, clientY } = e;
|
|
907
|
+
if (this.isMonthBlockBlankArea(target)) {
|
|
908
|
+
const { year, month, date } = calendarDate;
|
|
909
|
+
this.dateDblClickEmitter.emit({
|
|
910
|
+
year,
|
|
911
|
+
month,
|
|
912
|
+
date,
|
|
913
|
+
hour: 0,
|
|
914
|
+
mouseEventInfo: { clientX, clientY },
|
|
915
|
+
});
|
|
916
|
+
}
|
|
943
917
|
}
|
|
944
918
|
/**
|
|
945
|
-
*
|
|
919
|
+
* determine if the clicked element is blank area
|
|
946
920
|
*
|
|
947
|
-
* @
|
|
921
|
+
* @param {HTMLElement} element the target element
|
|
922
|
+
* @returns {boolean} true or false
|
|
948
923
|
*/
|
|
949
|
-
|
|
950
|
-
|
|
924
|
+
isMonthBlockBlankArea(element) {
|
|
925
|
+
// the more button and the calendar event component should not trigger dateDblClick event
|
|
926
|
+
return !element.classList.contains('more-button') && element.tagName !== 'VEGA-CALENDAR-EVENT';
|
|
951
927
|
}
|
|
928
|
+
}
|
|
929
|
+
__decorate$l([
|
|
930
|
+
MapToComponentField()
|
|
931
|
+
], VegaCalendarMonthViewRenderer.prototype, "viewMode", void 0);
|
|
932
|
+
__decorate$l([
|
|
933
|
+
MapToComponentField()
|
|
934
|
+
], VegaCalendarMonthViewRenderer.prototype, "calendarView", void 0);
|
|
935
|
+
__decorate$l([
|
|
936
|
+
MapToComponentField()
|
|
937
|
+
], VegaCalendarMonthViewRenderer.prototype, "currentPeriod", void 0);
|
|
938
|
+
__decorate$l([
|
|
939
|
+
MapToComponentField()
|
|
940
|
+
], VegaCalendarMonthViewRenderer.prototype, "currentPeriodController", void 0);
|
|
941
|
+
__decorate$l([
|
|
942
|
+
MapToComponentField()
|
|
943
|
+
], VegaCalendarMonthViewRenderer.prototype, "monthEventRenderer", void 0);
|
|
944
|
+
__decorate$l([
|
|
945
|
+
MapToComponentField()
|
|
946
|
+
], VegaCalendarMonthViewRenderer.prototype, "dateDblClickEmitter", void 0);
|
|
947
|
+
__decorate$l([
|
|
948
|
+
MapToComponentField()
|
|
949
|
+
], VegaCalendarMonthViewRenderer.prototype, "translationSlimmer", void 0);
|
|
950
|
+
|
|
951
|
+
var __decorate$k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
952
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
953
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
954
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
955
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
956
|
+
};
|
|
957
|
+
/** The `VegaCalendarViewWithTimeRenderer` class in TypeScript React renders a day view for a calendar component with title, content, and hour blocks. */
|
|
958
|
+
class VegaCalendarViewWithTimeRenderer extends VegaSlimmer {
|
|
952
959
|
/**
|
|
953
|
-
* The
|
|
960
|
+
* The render function in TypeScript React returns an array of HTMLElements containing the week calendar view for a specific day.
|
|
954
961
|
*
|
|
955
|
-
* @
|
|
962
|
+
* @returns {HTMLElement} An array of HTMLElement elements containing the rendered content of a calendar view for a
|
|
963
|
+
* specific day in the week. The content includes the title and the main content of the calendar view
|
|
964
|
+
* for that day.
|
|
956
965
|
*/
|
|
957
|
-
|
|
958
|
-
return
|
|
966
|
+
render() {
|
|
967
|
+
return (h("div", { class: "calendar-view-container" },
|
|
968
|
+
this.renderViewTitle(),
|
|
969
|
+
this.renderViewContent()));
|
|
959
970
|
}
|
|
960
971
|
/**
|
|
961
|
-
*
|
|
972
|
+
* The function `renderViewTitle` renders a calendar view title and events based on the provided source data.
|
|
962
973
|
*
|
|
963
|
-
* @
|
|
974
|
+
* @returns {HTMLElement} The `renderViewTitle` function returns an HTML element (HTMLElement) that contains a calendar view title container with rows for each day's information.
|
|
964
975
|
*/
|
|
965
|
-
|
|
966
|
-
|
|
976
|
+
renderViewTitle() {
|
|
977
|
+
const source = this.calendarView.dateItems[0];
|
|
978
|
+
const weekHead = this.calendarView.weekdays;
|
|
979
|
+
return (h("div", { class: "calendar-view-title-container" },
|
|
980
|
+
h("div", { class: "calendar-view-row" },
|
|
981
|
+
h("div", { class: "time-line-empty" }),
|
|
982
|
+
h("div", { class: "calendar-view-title" }, source.map((item, index) => (h("div", { key: item.date, class: { active: item.isToday() } },
|
|
983
|
+
h("div", null, this.translationSlimmer.t(weekHead[index])),
|
|
984
|
+
h("div", { class: "week-day" }, item.date)))))),
|
|
985
|
+
h("div", { class: "calendar-view-row calendar-view-event-all-container border-divider-bottom" },
|
|
986
|
+
h("div", { class: "time-line-all" }, this.translationSlimmer.t('All Day')),
|
|
987
|
+
this.dayViewFullDayEventRenderer.render())));
|
|
967
988
|
}
|
|
968
989
|
/**
|
|
969
|
-
*
|
|
990
|
+
* The `renderViewContent` function in TypeScript React renders a calendar view with day blocks and time markers based on the provided data.
|
|
970
991
|
*
|
|
971
|
-
* @
|
|
972
|
-
* @returns {this} - The current period.
|
|
992
|
+
* @returns {HTMLElement} An HTMLElement containing a calendar view row with day containers, a timeline renderer, a content container, a day list, and hour blocks for each item in the source array.
|
|
973
993
|
*/
|
|
974
|
-
|
|
975
|
-
|
|
994
|
+
renderViewContent() {
|
|
995
|
+
const source = this.calendarView.dateItems[0];
|
|
996
|
+
return (h("div", { class: "calendar-view-row calendar-view-day-container" },
|
|
997
|
+
this.timeLineRenderer.render(),
|
|
998
|
+
h("div", { class: "calendar-view-content-container" },
|
|
999
|
+
h("div", { class: "calendar-view-content" }, source.map((item) => {
|
|
1000
|
+
return (h("div", { class: "grid-col border-divider-left", key: item.date },
|
|
1001
|
+
h("div", { class: "hour-empty border-divider-top" }),
|
|
1002
|
+
this.renderHourBlock(item)));
|
|
1003
|
+
})),
|
|
1004
|
+
this.dayViewTimedEventRenderer.render(),
|
|
1005
|
+
this.timeLineRenderer.renderTimeMarker(source))));
|
|
976
1006
|
}
|
|
977
1007
|
/**
|
|
978
|
-
*
|
|
1008
|
+
* The function `renderHourBlock` returns an array of HTML elements representing hour blocks with time information.
|
|
979
1009
|
*
|
|
980
|
-
* @
|
|
1010
|
+
* @param {CalendarDate} calendarDate then current calendar date object
|
|
1011
|
+
* @returns {HTMLElement[]} An array of HTMLElements is being returned. Each HTMLElement represents an hour block with a time value inside a div element.
|
|
981
1012
|
*/
|
|
982
|
-
|
|
983
|
-
|
|
1013
|
+
renderHourBlock(calendarDate) {
|
|
1014
|
+
const timeLineSource = Array(24).fill('');
|
|
1015
|
+
return timeLineSource.map((_item, index) => {
|
|
1016
|
+
return (h("div", { class: "grid-cell border-divider-top",
|
|
1017
|
+
// eslint-disable-next-line react/jsx-no-bind
|
|
1018
|
+
onDblClick: (e) => {
|
|
1019
|
+
this.handleDateBlockClick(calendarDate, index, e);
|
|
1020
|
+
} }));
|
|
1021
|
+
});
|
|
984
1022
|
}
|
|
985
1023
|
/**
|
|
986
|
-
*
|
|
1024
|
+
* emit vega click event when click the date block
|
|
987
1025
|
*
|
|
988
|
-
* @param {CalendarDate}
|
|
1026
|
+
* @param {CalendarDate} calendarDate the calendar date object
|
|
989
1027
|
*/
|
|
990
|
-
|
|
991
|
-
const
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
}
|
|
995
|
-
this._startDate = CalendarDate.from(cursor);
|
|
996
|
-
cursor.setDate(cursor.getDate() + this.count - 1);
|
|
997
|
-
this._endDate = CalendarDate.from(cursor);
|
|
1028
|
+
handleDateBlockClick(calendarDate, hour, e) {
|
|
1029
|
+
const { year, month, date } = calendarDate;
|
|
1030
|
+
const { clientX, clientY } = e;
|
|
1031
|
+
this.dateDblClickEmitter.emit({ year, month, date, hour, mouseEventInfo: { clientX, clientY } });
|
|
998
1032
|
}
|
|
999
1033
|
}
|
|
1034
|
+
__decorate$k([
|
|
1035
|
+
MapToComponentField()
|
|
1036
|
+
], VegaCalendarViewWithTimeRenderer.prototype, "viewMode", void 0);
|
|
1037
|
+
__decorate$k([
|
|
1038
|
+
MapToComponentField()
|
|
1039
|
+
], VegaCalendarViewWithTimeRenderer.prototype, "timeLineRenderer", void 0);
|
|
1040
|
+
__decorate$k([
|
|
1041
|
+
MapToComponentField()
|
|
1042
|
+
], VegaCalendarViewWithTimeRenderer.prototype, "dayViewTimedEventRenderer", void 0);
|
|
1043
|
+
__decorate$k([
|
|
1044
|
+
MapToComponentField()
|
|
1045
|
+
], VegaCalendarViewWithTimeRenderer.prototype, "dayViewFullDayEventRenderer", void 0);
|
|
1046
|
+
__decorate$k([
|
|
1047
|
+
MapToComponentField()
|
|
1048
|
+
], VegaCalendarViewWithTimeRenderer.prototype, "calendarView", void 0);
|
|
1049
|
+
__decorate$k([
|
|
1050
|
+
MapToComponentField()
|
|
1051
|
+
], VegaCalendarViewWithTimeRenderer.prototype, "dateDblClickEmitter", void 0);
|
|
1052
|
+
__decorate$k([
|
|
1053
|
+
MapToComponentField()
|
|
1054
|
+
], VegaCalendarViewWithTimeRenderer.prototype, "translationSlimmer", void 0);
|
|
1000
1055
|
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1056
|
+
var __decorate$j = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
1057
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1058
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1059
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
1060
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1061
|
+
};
|
|
1062
|
+
/** The `VegaCalendarTimeLineRenderer` class in TypeScript React renders a time line with custom time format options and includes methods for rendering time markers and the time line itself. */
|
|
1063
|
+
class VegaCalendarTimeLineRenderer extends VegaSlimmer {
|
|
1009
1064
|
/**
|
|
1010
|
-
*
|
|
1065
|
+
* takes an array of `CalendarDate` objects as input and returns an HTML element
|
|
1066
|
+
*
|
|
1067
|
+
* @param {CalendarDate[]} source
|
|
1068
|
+
* @returns {HTMLElement} the html element
|
|
1011
1069
|
*/
|
|
1012
|
-
|
|
1013
|
-
const
|
|
1014
|
-
|
|
1015
|
-
|
|
1070
|
+
renderTimeMarker(source) {
|
|
1071
|
+
const isVisible = source.findIndex((calendarDate) => calendarDate.isToday()) >= 0;
|
|
1072
|
+
return (h("div", { class: {
|
|
1073
|
+
'time-marker-container': true,
|
|
1074
|
+
'hidden': !isVisible,
|
|
1075
|
+
} },
|
|
1076
|
+
h("div", { class: "time-marker", style: { top: this.getTimeMarkerPosition() }, ref: (div) => (this.timeMarkerRef = div) }, source.map((item) => {
|
|
1077
|
+
return h("div", { key: item.date, class: { active: item.isToday() } });
|
|
1078
|
+
}))));
|
|
1016
1079
|
}
|
|
1017
1080
|
/**
|
|
1018
|
-
*
|
|
1081
|
+
* rendering the time line component as an HTML element
|
|
1082
|
+
*
|
|
1083
|
+
* @returns {HTMLElement} the html element
|
|
1019
1084
|
*/
|
|
1020
|
-
|
|
1021
|
-
const
|
|
1022
|
-
|
|
1023
|
-
|
|
1085
|
+
render() {
|
|
1086
|
+
const timeLineSource = this.getTimeLineTitles();
|
|
1087
|
+
return (h("div", { class: "time-line", ref: (div) => (this.timeLineRef = div) },
|
|
1088
|
+
h("div", { class: "hour-empty" }),
|
|
1089
|
+
timeLineSource.map((time, index) => {
|
|
1090
|
+
return (h("div", { key: time },
|
|
1091
|
+
h("div", { class: "time-text", "data-time": index === 0 ? 24 : index }, time)));
|
|
1092
|
+
})));
|
|
1024
1093
|
}
|
|
1025
1094
|
/**
|
|
1026
|
-
*
|
|
1095
|
+
* scroll to current time line block if change view mode to week or day
|
|
1096
|
+
*
|
|
1097
|
+
* @param {VegaCalendarViewModeType} viewMode the view mode
|
|
1027
1098
|
*/
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
}
|
|
1032
|
-
DayPeriod.DISPLAY_DATE_COUNT = 1;
|
|
1033
|
-
|
|
1034
|
-
/**
|
|
1035
|
-
* Period of the week
|
|
1036
|
-
*/
|
|
1037
|
-
class WeekPeriod extends CalendarPeriod {
|
|
1038
|
-
constructor(current) {
|
|
1039
|
-
super(WeekPeriod.DISPLAY_DATE_COUNT, current);
|
|
1040
|
-
this._type = 'week';
|
|
1099
|
+
updateTimeLine(viewMode) {
|
|
1100
|
+
this.scrollToTargetTimeBlock(viewMode);
|
|
1101
|
+
this.syncTimeMarkerPosition(viewMode);
|
|
1041
1102
|
}
|
|
1042
1103
|
/**
|
|
1043
|
-
*
|
|
1104
|
+
* remove setInterval when component destroy
|
|
1044
1105
|
*/
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
nextWeekStartDate.setDate(nextWeekStartDate.getDate() - getWeekdays().indexOf(nextWeekStartDate.getDay()) + 7);
|
|
1048
|
-
return this.createBy(CalendarDate.from(nextWeekStartDate));
|
|
1106
|
+
clearTimer() {
|
|
1107
|
+
clearInterval(this.timeMarkerPositionTimer);
|
|
1049
1108
|
}
|
|
1050
1109
|
/**
|
|
1051
|
-
*
|
|
1110
|
+
* Add the time mark position update logic if the component add back to page
|
|
1052
1111
|
*/
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
previousWeekStartDate.setDate(previousWeekStartDate.getDate() - getWeekdays().indexOf(previousWeekStartDate.getDay()) - 7);
|
|
1056
|
-
return this.createBy(CalendarDate.from(previousWeekStartDate));
|
|
1112
|
+
updateTimeLineIfComponentAddBack() {
|
|
1113
|
+
this.syncTimeMarkerPosition(this.viewMode);
|
|
1057
1114
|
}
|
|
1058
1115
|
/**
|
|
1059
|
-
*
|
|
1116
|
+
* Should display the current time block in the view if the default view mode is not month
|
|
1060
1117
|
*/
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
}
|
|
1064
|
-
}
|
|
1065
|
-
WeekPeriod.DISPLAY_DATE_COUNT = 7;
|
|
1066
|
-
|
|
1067
|
-
/**
|
|
1068
|
-
* Period of month
|
|
1069
|
-
*/
|
|
1070
|
-
class MonthPeriod extends CalendarPeriod {
|
|
1071
|
-
constructor(current) {
|
|
1072
|
-
super(MonthPeriod.DISPLAY_DATE_COUNT, MonthPeriod.getMonthFirstDay(current));
|
|
1073
|
-
this._type = 'month';
|
|
1118
|
+
displayCurrentTimeBlockByDefault() {
|
|
1119
|
+
this.scrollToTargetTimeBlock(this.viewMode);
|
|
1074
1120
|
}
|
|
1075
1121
|
/**
|
|
1076
|
-
* The function `
|
|
1122
|
+
* The function `getTimeMarkerPosition` calculates the position of the current time marker as a percentage of the day.
|
|
1077
1123
|
*
|
|
1078
|
-
* @
|
|
1079
|
-
* type `CalendarDate`. It represents a specific date in the calendar. If a `calendarDate` is
|
|
1080
|
-
* provided, the function will use that date to determine the first day of the month. If no
|
|
1081
|
-
* `calendarDate` is provided, the function
|
|
1082
|
-
* @returns {CalendarDate} A new `CalendarDate` object representing the first day of the month from the provided
|
|
1083
|
-
* `calendarDate` parameter or the current date if no parameter is provided.
|
|
1124
|
+
* @returns {string} a string representing the current time marker position as a percentage of the day.
|
|
1084
1125
|
*/
|
|
1085
|
-
|
|
1086
|
-
const
|
|
1087
|
-
|
|
1126
|
+
getTimeMarkerPosition() {
|
|
1127
|
+
const now = new Date();
|
|
1128
|
+
const minutesOneDay = 24 * 60;
|
|
1129
|
+
return ((now.getHours() * 60 + now.getMinutes()) / minutesOneDay) * 100 + '%';
|
|
1088
1130
|
}
|
|
1089
1131
|
/**
|
|
1090
|
-
*
|
|
1132
|
+
* The function `getTimeLineTitles` generates a time line array based on the specified time format (24-hour) and stores it in the `timeLineSource` property.
|
|
1133
|
+
*
|
|
1134
|
+
* @returns {string[]} returns an array of strings representing the time line
|
|
1091
1135
|
*/
|
|
1092
|
-
|
|
1093
|
-
const
|
|
1094
|
-
|
|
1095
|
-
|
|
1136
|
+
getTimeLineTitles() {
|
|
1137
|
+
const timeLine = [];
|
|
1138
|
+
if (this.timeFormat === '12-hour') {
|
|
1139
|
+
timeLine.push('12 AM');
|
|
1140
|
+
for (let i = 1; i < 12; i++) {
|
|
1141
|
+
timeLine.push(`${i} AM`);
|
|
1142
|
+
}
|
|
1143
|
+
timeLine.push('12 PM');
|
|
1144
|
+
for (let i = 1; i < 12; i++) {
|
|
1145
|
+
timeLine.push(`${i} PM`);
|
|
1146
|
+
}
|
|
1147
|
+
}
|
|
1148
|
+
else {
|
|
1149
|
+
for (let i = 0; i < 24; i++) {
|
|
1150
|
+
timeLine.push(`${pad(i)}`);
|
|
1151
|
+
}
|
|
1152
|
+
}
|
|
1153
|
+
return timeLine;
|
|
1096
1154
|
}
|
|
1155
|
+
/*
|
|
1156
|
+
* The below method is e2e-test covered in
|
|
1157
|
+
* @see{module:vega-calendar-scroll-to-current-time}
|
|
1158
|
+
*/
|
|
1159
|
+
/* istanbul ignore next */
|
|
1097
1160
|
/**
|
|
1098
|
-
*
|
|
1161
|
+
* Update the time marker position with the time
|
|
1162
|
+
*
|
|
1163
|
+
* @param {VegaCalendarViewModeType} viewMode view mode value
|
|
1099
1164
|
*/
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1165
|
+
syncTimeMarkerPosition(viewMode) {
|
|
1166
|
+
clearInterval(this.timeMarkerPositionTimer);
|
|
1167
|
+
if (viewMode !== 'month') {
|
|
1168
|
+
this.timeMarkerPositionTimer = setInterval(() => {
|
|
1169
|
+
if (this.timeMarkerRef) {
|
|
1170
|
+
this.timeMarkerRef.style.top = this.getTimeMarkerPosition();
|
|
1171
|
+
}
|
|
1172
|
+
}, 60 * 1000);
|
|
1173
|
+
}
|
|
1104
1174
|
}
|
|
1175
|
+
/*
|
|
1176
|
+
* The below method is e2e-test covered in
|
|
1177
|
+
* @see{module:vega-calendar-scroll-to-current-time}
|
|
1178
|
+
*/
|
|
1179
|
+
/* istanbul ignore next */
|
|
1105
1180
|
/**
|
|
1106
|
-
*
|
|
1181
|
+
* scroll the time line in to current view
|
|
1182
|
+
*
|
|
1183
|
+
* @param {VegaCalendarViewModeType} viewMode view mode value
|
|
1107
1184
|
*/
|
|
1108
|
-
|
|
1109
|
-
|
|
1185
|
+
scrollToTargetTimeBlock(viewMode) {
|
|
1186
|
+
if (viewMode !== 'month') {
|
|
1187
|
+
// add setTimeout here to make sure call the scroll into view after time line rendered.
|
|
1188
|
+
const oneFrame = 16;
|
|
1189
|
+
setTimeout(() => {
|
|
1190
|
+
var _a, _b;
|
|
1191
|
+
const hour = new Date().getHours();
|
|
1192
|
+
(_b = (_a = this.timeLineRef) === null || _a === void 0 ? void 0 : _a.querySelector(`[data-time='${hour < 23 ? hour + 1 : hour}']`)) === null || _b === void 0 ? void 0 : _b.scrollIntoView({ block: 'end' });
|
|
1193
|
+
}, oneFrame);
|
|
1194
|
+
}
|
|
1110
1195
|
}
|
|
1111
1196
|
}
|
|
1112
|
-
|
|
1197
|
+
__decorate$j([
|
|
1198
|
+
MapToComponentField()
|
|
1199
|
+
], VegaCalendarTimeLineRenderer.prototype, "timeFormat", void 0);
|
|
1200
|
+
__decorate$j([
|
|
1201
|
+
MapToComponentField()
|
|
1202
|
+
], VegaCalendarTimeLineRenderer.prototype, "viewMode", void 0);
|
|
1203
|
+
__decorate$j([
|
|
1204
|
+
MapToComponentMethod('watchViewModeChange')
|
|
1205
|
+
], VegaCalendarTimeLineRenderer.prototype, "updateTimeLine", null);
|
|
1206
|
+
__decorate$j([
|
|
1207
|
+
MapToComponentMethod('disconnectedCallback')
|
|
1208
|
+
], VegaCalendarTimeLineRenderer.prototype, "clearTimer", null);
|
|
1209
|
+
__decorate$j([
|
|
1210
|
+
MapToComponentMethod('connectedCallback')
|
|
1211
|
+
], VegaCalendarTimeLineRenderer.prototype, "updateTimeLineIfComponentAddBack", null);
|
|
1212
|
+
__decorate$j([
|
|
1213
|
+
MapToComponentMethod('componentDidLoad')
|
|
1214
|
+
], VegaCalendarTimeLineRenderer.prototype, "displayCurrentTimeBlockByDefault", null);
|
|
1113
1215
|
|
|
1114
1216
|
var __decorate$i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
1115
1217
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -1170,6 +1272,9 @@ __decorate$i([
|
|
|
1170
1272
|
__decorate$i([
|
|
1171
1273
|
MapToComponentField()
|
|
1172
1274
|
], VegaCalendarViewController.prototype, "currentPeriod", void 0);
|
|
1275
|
+
__decorate$i([
|
|
1276
|
+
MapToComponentField()
|
|
1277
|
+
], VegaCalendarViewController.prototype, "showWeekends", void 0);
|
|
1173
1278
|
__decorate$i([
|
|
1174
1279
|
MapToComponentField()
|
|
1175
1280
|
], VegaCalendarViewController.prototype, "currentPeriodController", void 0);
|
|
@@ -1205,13 +1310,14 @@ class VegaCalendarCurrentPeriodController extends VegaSlimmer {
|
|
|
1205
1310
|
updateCalendarPeriod(viewMode, date) {
|
|
1206
1311
|
switch (viewMode) {
|
|
1207
1312
|
case 'month':
|
|
1208
|
-
this.setCurrentPeriod(new MonthPeriod(date));
|
|
1313
|
+
this.setCurrentPeriod(new MonthPeriod(date, this.showWeekends));
|
|
1209
1314
|
break;
|
|
1210
1315
|
case 'week':
|
|
1211
|
-
this.setCurrentPeriod(new WeekPeriod(date));
|
|
1316
|
+
this.setCurrentPeriod(new WeekPeriod(date, this.showWeekends));
|
|
1212
1317
|
break;
|
|
1213
1318
|
case 'day':
|
|
1214
|
-
this.
|
|
1319
|
+
date = this.showWeekends === false ? getClosestWorkday(date) : date;
|
|
1320
|
+
this.setCurrentPeriod(new DayPeriod(date, this.showWeekends));
|
|
1215
1321
|
break;
|
|
1216
1322
|
}
|
|
1217
1323
|
}
|
|
@@ -1253,6 +1359,12 @@ class VegaCalendarCurrentPeriodController extends VegaSlimmer {
|
|
|
1253
1359
|
this.updateCalendarPeriod(viewMode, this.currentPeriod.current);
|
|
1254
1360
|
}
|
|
1255
1361
|
}
|
|
1362
|
+
/**
|
|
1363
|
+
* The calendar period should update when the property showWeekends change
|
|
1364
|
+
*/
|
|
1365
|
+
updateCurrentPeriodAfterHideWeekEndsChange() {
|
|
1366
|
+
this.updateCalendarPeriod(this.viewMode, this.currentPeriod.current);
|
|
1367
|
+
}
|
|
1256
1368
|
/**
|
|
1257
1369
|
* The function `getStartDateAndEndDate` returns an array of `VegaCalendarDateType` objects based on the `startDate` and `endDate` properties of the `currentPeriod` object.
|
|
1258
1370
|
*
|
|
@@ -1286,6 +1398,9 @@ __decorate$h([
|
|
|
1286
1398
|
__decorate$h([
|
|
1287
1399
|
MapToComponentField({ writable: true })
|
|
1288
1400
|
], VegaCalendarCurrentPeriodController.prototype, "viewMode", void 0);
|
|
1401
|
+
__decorate$h([
|
|
1402
|
+
MapToComponentField()
|
|
1403
|
+
], VegaCalendarCurrentPeriodController.prototype, "showWeekends", void 0);
|
|
1289
1404
|
__decorate$h([
|
|
1290
1405
|
MapToComponentMethod('componentWillLoad')
|
|
1291
1406
|
], VegaCalendarCurrentPeriodController.prototype, "initialCurrentPeriod", null);
|
|
@@ -1295,6 +1410,9 @@ __decorate$h([
|
|
|
1295
1410
|
__decorate$h([
|
|
1296
1411
|
MapToComponentMethod('watchViewModeChange')
|
|
1297
1412
|
], VegaCalendarCurrentPeriodController.prototype, "updateCurrentPeriodByViewMode", null);
|
|
1413
|
+
__decorate$h([
|
|
1414
|
+
MapToComponentMethod('watchShowWeekendsChange')
|
|
1415
|
+
], VegaCalendarCurrentPeriodController.prototype, "updateCurrentPeriodAfterHideWeekEndsChange", null);
|
|
1298
1416
|
|
|
1299
1417
|
var __decorate$g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
1300
1418
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -1439,7 +1557,9 @@ class VegaCalendarMonthEventRenderer extends VegaSlimmer {
|
|
|
1439
1557
|
}
|
|
1440
1558
|
if (removeItems.length) {
|
|
1441
1559
|
rowEvents.forEach((items) => {
|
|
1442
|
-
if (items.length &&
|
|
1560
|
+
if (items.length &&
|
|
1561
|
+
items[items.length - 1] &&
|
|
1562
|
+
removeItems.includes(items[items.length - 1])) {
|
|
1443
1563
|
result.push(items.slice(0, items.length - 1));
|
|
1444
1564
|
}
|
|
1445
1565
|
else {
|
|
@@ -2490,7 +2610,7 @@ class VegaCalendarEventResponsiveController extends PageResizeObserverSlimmer {
|
|
|
2490
2610
|
// The debounce method will case this method called after component disconnect, then the slimmer will get issue to get viewMode from component class, this issue will catch in spec.ts
|
|
2491
2611
|
try {
|
|
2492
2612
|
const eventContainerRef = this.monthEventRenderer.getMonthEventContainerRef();
|
|
2493
|
-
if (this.viewMode === 'month' && eventContainerRef) {
|
|
2613
|
+
if (this.viewMode === 'month' && eventContainerRef && eventContainerRef.parentElement) {
|
|
2494
2614
|
const maxContainerHeight = eventContainerRef.parentElement.getBoundingClientRect().height;
|
|
2495
2615
|
const count = Math.floor((maxContainerHeight - VegaCalendarEventResponsiveController.monthDateTitleHeight) /
|
|
2496
2616
|
VegaCalendarEventItemRenderer.backgroundColorModeEventHeight);
|
|
@@ -2675,7 +2795,7 @@ class VegaCalendarDayViewEventLayoutRenderer extends VegaSlimmer {
|
|
|
2675
2795
|
top: `${(100 / VegaCalendarDayViewEventLayoutRenderer.totalNumberOfCells) * startIndex}%`,
|
|
2676
2796
|
width: `calc(100% - ${left * 100}%)`,
|
|
2677
2797
|
height: `${(100 / VegaCalendarDayViewEventLayoutRenderer.totalNumberOfCells) * (endIndex - startIndex)}%`,
|
|
2678
|
-
zIndex: columnIndex > 0 ? `${columnIndex}` :
|
|
2798
|
+
zIndex: columnIndex > 0 ? `${columnIndex}` : undefined,
|
|
2679
2799
|
};
|
|
2680
2800
|
}
|
|
2681
2801
|
}
|
|
@@ -3110,7 +3230,7 @@ class VegaCalendarFullDayEventLayoutGenerator extends VegaCalendarBaseEventLayou
|
|
|
3110
3230
|
*/
|
|
3111
3231
|
generate(calendarEvents) {
|
|
3112
3232
|
const allShouldOrderLongEvents = this.collectAllShouldOrderLongEvents(calendarEvents);
|
|
3113
|
-
const layoutRows = [
|
|
3233
|
+
const layoutRows = [this.createNewLayoutCell()];
|
|
3114
3234
|
allShouldOrderLongEvents.forEach((eventView) => {
|
|
3115
3235
|
this.addCurrentEventToLayout(layoutRows, eventView);
|
|
3116
3236
|
});
|
|
@@ -3319,7 +3439,7 @@ __decorate$8([
|
|
|
3319
3439
|
MapToComponentMethod('watchViewModeChange')
|
|
3320
3440
|
], VegaCalendarFullDayEventMoreButtonRenderer.prototype, "resetShowAllFlag", null);
|
|
3321
3441
|
|
|
3322
|
-
const vegaCalendarCss = ".border-divider-top{border:1px solid rgba(var(--v-border-divider-secondary, 199, 217, 229, 1));border-left-width:0px;border-right-width:0px;border-bottom-width:0px}.border-divider-left{border:1px solid rgba(var(--v-border-divider-secondary, 199, 217, 229, 1));border-top-width:0px;border-right-width:0px;border-bottom-width:0px}.border-divider-right{border:1px solid rgba(var(--v-border-divider-secondary, 199, 217, 229, 1));border-top-width:0px;border-left-width:0px;border-bottom-width:0px}.border-divider-bottom{border:1px solid rgba(var(--v-border-divider-secondary, 199, 217, 229, 1));border-top-width:0px;border-left-width:0px;border-right-width:0px}:host{display:flex;flex-direction:column;border-radius:12px;border:1px solid rgba(var(--v-border-divider, 171, 198, 216, 1));background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));overflow:hidden;width:100%;height:100%;box-sizing:border-box;max-height:1966px}.calendar-switch-panel{padding:24px;border-bottom-width:1px;border-top-width:0px;border-left-width:0px;border-right-width:0px;border-style:solid;border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));flex-shrink:0;width:100%;box-sizing:border-box}.calendar-switch-panel .calendar-date-switch-container{display:flex;gap:8px;align-items:center;flex-direction:row}.calendar-switch-panel .calendar-view-switch-container{display:flex;gap:16px;align-items:center;flex-direction:row}.calendar-switch-panel .calendar-current-date{padding-left:8px}.calendar-view{width:100%;position:relative;flex-grow:1;overflow-y:auto;overflow-x:hidden}.calendar-view-month .calendar-view-month-container{width:100%;display:grid;min-height:100%;grid-template-rows:43px repeat(6, minmax(64px, 1fr))}.calendar-view-month .calendar-view-title{background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));top:0;left:0;z-index:62}.calendar-view-month .calendar-view-title div{padding-top:12px;padding-bottom:12px;color:rgba(var(--v-text-secondary, 107, 116, 125, 1));font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px;text-align:center}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-month .calendar-view-title div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-month .calendar-view-title div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-month .calendar-view-title div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}.calendar-view-month .calendar-view-row{position:relative;display:grid;grid-template-rows:1fr;grid-template-columns:repeat(7, minmax(64px, 1fr))}.calendar-view-month .calendar-view-row.calendar-view-title{position:sticky}.calendar-view-month .calendar-view-row:last-child{border-bottom-width:0px}.calendar-view-month .calendar-view-row .row-cell{overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.calendar-view-month .calendar-view-row .row-cell:last-child{border-right-width:0px}.calendar-view-month .calendar-view-row .row-cell .date{padding-top:4px;padding-bottom:4px;padding-right:12px;padding-left:8px}.calendar-view-month .calendar-view-row .row-cell .date>div{display:inline-block;color:rgba(var(--v-text-secondary, 107, 116, 125, 1));font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-month .calendar-view-row .row-cell .date>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-month .calendar-view-row .row-cell .date>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-month .calendar-view-row .row-cell .date>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}.calendar-view-month .calendar-view-row .row-cell .date .month-block{margin-right:2px}.calendar-view-month .calendar-view-row .row-cell .date .grid-col{text-align:center;border-top-left-radius:9999px;border-bottom-left-radius:9999px;border-top-right-radius:9999px;border-bottom-right-radius:9999px;cursor:pointer;width:18px;height:18px;line-height:18px}.calendar-view-month .calendar-view-row .row-cell .date .grid-col:hover{background-color:rgba(var(--v-bg-action-secondary-hover, 4, 112, 236, 0.1))}.calendar-view-month .calendar-view-row .row-cell .date .grid-col:active{background-color:rgba(var(--v-bg-action-secondary-active, 29, 65, 195, 0.1))}.calendar-view-month .calendar-view-row .row-cell .date .grid-col:focus-visible{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:2px}.calendar-view-month .calendar-view-row .row-cell.current-month-day .date>div{color:rgba(var(--v-text-primary, 32, 54, 69, 1))}.calendar-view-month .calendar-view-row .row-cell.disabled{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1))}.calendar-view-month .calendar-view-row .row-cell.disabled .date>div{color:rgba(var(--v-text-disabled, 176, 180, 181, 1))}.calendar-view-month .calendar-view-row .row-cell.active .date .grid-col{background-color:rgba(var(--v-bg-action, 19, 98, 226, 1));border-top-left-radius:9999px;border-bottom-left-radius:9999px;color:rgba(var(--v-text-on-action, 252, 252, 252, 1))}.calendar-view-month .calendar-view-row .row-cell.active .date .grid-col:hover{background-color:rgba(var(--v-bg-action-hover, 4, 112, 236, 1))}.calendar-view-month .calendar-view-row .row-cell.active .date .grid-col:active{background-color:rgba(var(--v-bg-action-active, 29, 65, 195, 1))}.calendar-view-month .calendar-view-row .row-cell.active .date .grid-col:focus-visible{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:2px}.calendar-view-container{width:100%}.calendar-view-container .calendar-view-title-container{background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));position:sticky;top:0;left:0;z-index:62}.calendar-view-container .calendar-view-row{box-sizing:border-box;width:100%;display:flex;flex-direction:row}.calendar-view-container .calendar-view-row .time-line,.calendar-view-container .calendar-view-row .time-line-empty,.calendar-view-container .calendar-view-row .time-line-all{width:72px;text-align:right;padding-right:8px;box-sizing:border-box;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;color:rgba(var(--v-text-primary, 32, 54, 69, 1));flex-shrink:0}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-container .calendar-view-row .time-line,.calendar-view-container .calendar-view-row .time-line-empty,.calendar-view-container .calendar-view-row .time-line-all{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-container .calendar-view-row .time-line,.calendar-view-container .calendar-view-row .time-line-empty,.calendar-view-container .calendar-view-row .time-line-all{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-container .calendar-view-row .time-line,.calendar-view-container .calendar-view-row .time-line-empty,.calendar-view-container .calendar-view-row .time-line-all{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}.calendar-view-container .calendar-view-title{width:100%}.calendar-view-container .calendar-view-title>div{padding:12px;padding-bottom:8px;color:rgba(var(--v-text-secondary, 107, 116, 125, 1));font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px;text-align:center;display:flex;flex-direction:column;gap:8px}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-container .calendar-view-title>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-container .calendar-view-title>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-container .calendar-view-title>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}.calendar-view-container .calendar-view-title .week-day{color:rgba(var(--v-text-primary, 32, 54, 69, 1));font-family:\"Inter\", sans-serif;font-size:20px;font-weight:500;line-height:24px;letter-spacing:0px}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-container .calendar-view-title .week-day{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:500;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-container .calendar-view-title .week-day{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:500;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-container .calendar-view-title .week-day{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:500;line-height:24px;letter-spacing:0px}}.calendar-view-container .calendar-view-title .active div{color:rgba(var(--v-text-link, 19, 98, 226, 1))}.calendar-view-container .calendar-view-event-all-container{align-items:center}.calendar-view-container .calendar-view-event-all{display:grid;grid-template-rows:1fr;flex-grow:1;min-height:18px}.calendar-view-container .calendar-view-day-container .time-line{display:grid;grid-template-rows:16px repeat(24, minmax(74px, 1fr))}.calendar-view-container .calendar-view-day-container .time-line .time-text{margin-top:-9px}.calendar-view-container .calendar-view-day-container .calendar-view-content{width:100%}.calendar-view-container .calendar-view-day-container .calendar-view-content .grid-col{display:grid;grid-template-rows:16px repeat(24, minmax(74px, 1fr));grid-template-columns:minmax(64px, 1fr)}.calendar-view-container .calendar-view-day-container .calendar-view-content .grid-col>.border-divider-top:first-child{border-top-width:0px}.calendar-view-container .calendar-view-content-container{width:100%;position:relative}.calendar-view-week .calendar-view-container{min-height:100%}.calendar-view-week .calendar-view-container .calendar-view-title{display:grid;grid-template-rows:1fr;grid-template-columns:repeat(7, minmax(64px, 1fr))}.calendar-view-week .calendar-view-container .calendar-view-event-all{grid-template-columns:repeat(7, minmax(64px, 1fr))}.calendar-view-week .calendar-view-container .calendar-view-day-container .calendar-view-content{display:grid;grid-template-columns:repeat(7, minmax(64px, 1fr))}.calendar-view-week .time-marker-container .time-marker{display:grid;grid-template-columns:repeat(7, minmax(64px, 1fr))}.calendar-view-week .day-event-container{display:grid;grid-template-columns:repeat(7, minmax(64px, 1fr))}.calendar-view-day .calendar-view-container{min-height:100%}.time-marker-container{position:absolute;min-width:100%;left:0;top:16px;height:calc(100% - 16px);pointer-events:none}.time-marker-container.hidden{display:none}.time-marker-container .time-marker{position:absolute;height:2px;display:grid;min-width:100%;left:0;top:0;z-index:61}.time-marker-container .time-marker div{width:100%;height:2px;background-color:rgba(var(--v-bg-status-error, 255, 110, 139, 1));opacity:0.3}.time-marker-container .time-marker div.active{opacity:1;position:relative}.time-marker-container .time-marker div.active::before{content:\"\";display:block;border-top-left-radius:9999px;border-bottom-left-radius:9999px;border-top-right-radius:9999px;border-bottom-right-radius:9999px;position:absolute;width:8px;height:8px;background-color:rgba(var(--v-bg-status-error, 255, 110, 139, 1));top:-3px;left:-4px}.day-event-container{position:absolute;min-width:100%;left:0;top:16px;height:calc(100% - 16px);pointer-events:none}.day-event-container .day-event-col{height:100%;overflow:hidden}.day-event-container vega-calendar-event{pointer-events:auto;height:100%}.calendar-view-month .month-event-row{position:absolute;width:100%;overflow:hidden;height:calc(100% - 26px);left:0;bottom:0}.calendar-view-month .events-container{width:100%;box-sizing:border-box;overflow:hidden;padding:2px;display:flex;flex-direction:column;gap:2px;justify-content:space-between;flex-grow:1}.calendar-view-month .events-container .event-list{display:flex;flex-direction:column;gap:2px;flex-grow:1}.calendar-view-month .events-container .event-list .month-event-block{box-sizing:border-box;padding-left:2px;padding-right:3px}.calendar-view-month .events-container .month-event-more .more-button{display:inline-block;height:16px;font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px;color:rgba(var(--v-text-link, 19, 98, 226, 1));cursor:pointer;border-radius:2px}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-month .events-container .month-event-more .more-button{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-month .events-container .month-event-more .more-button{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-month .events-container .month-event-more .more-button{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}.calendar-view-month .events-container .month-event-more .more-button:focus-visible{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:0px}.calendar-view-container .calendar-view-event-all{position:relative}.calendar-view-container .calendar-view-event-all .placeholder-block{padding-top:2px;padding-bottom:2px;box-sizing:content-box}.calendar-view-container .calendar-view-event-all .placeholder-block span{display:none}.calendar-view-container .calendar-view-event-all .day-event-block{padding-top:2px;padding-right:2px;box-sizing:border-box;padding-left:3px}.calendar-view-container .calendar-view-event-all .more-button{display:inline-block;height:16px;font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px;color:rgba(var(--v-text-link, 19, 98, 226, 1));cursor:pointer;border-radius:2px;margin-left:2px;padding:2px}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-container .calendar-view-event-all .more-button{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-container .calendar-view-event-all .more-button{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-container .calendar-view-event-all .more-button{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}.calendar-view-container .calendar-view-event-all .more-button:focus-visible{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:0px}.calendar-view-container .calendar-view-event-all .event-all-col{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.calendar-view-container .day-event-col{position:relative}.calendar-view-container .day-event-col .time-event-block{box-sizing:border-box;padding-right:8px;padding-bottom:2px;padding-top:3px}.calendar-view-container .day-event-col .time-event-block vega-calendar-event.bg-shadow::part(event-container):not(:focus){outline:2px solid rgba(var(--v-bg-primary, 252, 252, 252, 1))}.calendar-view-container .day-event-col .time-event-block:focus-within{z-index:60 !important}.calendar-event-slot-container{display:none}";
|
|
3442
|
+
const vegaCalendarCss = ".border-divider-top{border:1px solid rgba(var(--v-border-divider-secondary, 199, 217, 229, 1));border-left-width:0px;border-right-width:0px;border-bottom-width:0px}.border-divider-left{border:1px solid rgba(var(--v-border-divider-secondary, 199, 217, 229, 1));border-top-width:0px;border-right-width:0px;border-bottom-width:0px}.border-divider-right{border:1px solid rgba(var(--v-border-divider-secondary, 199, 217, 229, 1));border-top-width:0px;border-left-width:0px;border-bottom-width:0px}.border-divider-bottom{border:1px solid rgba(var(--v-border-divider-secondary, 199, 217, 229, 1));border-top-width:0px;border-left-width:0px;border-right-width:0px}:host{display:flex;flex-direction:column;border-radius:12px;border:1px solid rgba(var(--v-border-divider, 171, 198, 216, 1));background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));overflow:hidden;width:100%;height:100%;box-sizing:border-box;max-height:1966px}.calendar-switch-panel{padding:24px;border-bottom-width:1px;border-top-width:0px;border-left-width:0px;border-right-width:0px;border-style:solid;border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));flex-shrink:0;width:100%;box-sizing:border-box}.calendar-switch-panel .calendar-date-switch-container{display:flex;gap:8px;align-items:center;flex-direction:row}.calendar-switch-panel .calendar-view-switch-container{display:flex;gap:16px;align-items:center;flex-direction:row}.calendar-switch-panel .calendar-current-date{padding-left:8px}.calendar-view{width:100%;position:relative;flex-grow:1;overflow-y:auto;overflow-x:hidden;--calendar-weekday-columns:7}.calendar-view.calendar-hide-weekends{--calendar-weekday-columns:5}.calendar-view-month .calendar-view-month-container{width:100%;display:grid;min-height:100%;grid-template-rows:43px repeat(6, minmax(64px, 1fr))}.calendar-view-month .calendar-view-title{background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));top:0;left:0;z-index:62}.calendar-view-month .calendar-view-title div{padding-top:12px;padding-bottom:12px;color:rgba(var(--v-text-secondary, 107, 116, 125, 1));font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px;text-align:center}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-month .calendar-view-title div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-month .calendar-view-title div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-month .calendar-view-title div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}.calendar-view-month .calendar-view-row{position:relative;display:grid;grid-template-rows:1fr;grid-template-columns:repeat(var(--calendar-weekday-columns), minmax(64px, 1fr))}.calendar-view-month .calendar-view-row.calendar-view-title{position:sticky}.calendar-view-month .calendar-view-row:last-child{border-bottom-width:0px}.calendar-view-month .calendar-view-row .row-cell{overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.calendar-view-month .calendar-view-row .row-cell:last-child{border-right-width:0px}.calendar-view-month .calendar-view-row .row-cell .date{padding-top:4px;padding-bottom:4px;padding-right:12px;padding-left:8px}.calendar-view-month .calendar-view-row .row-cell .date>div{display:inline-block;color:rgba(var(--v-text-secondary, 107, 116, 125, 1));font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-month .calendar-view-row .row-cell .date>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-month .calendar-view-row .row-cell .date>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-month .calendar-view-row .row-cell .date>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}.calendar-view-month .calendar-view-row .row-cell .date .month-block{margin-right:2px}.calendar-view-month .calendar-view-row .row-cell .date .grid-col{text-align:center;border-top-left-radius:9999px;border-bottom-left-radius:9999px;border-top-right-radius:9999px;border-bottom-right-radius:9999px;cursor:pointer;width:18px;height:18px;line-height:18px}.calendar-view-month .calendar-view-row .row-cell .date .grid-col:hover{background-color:rgba(var(--v-bg-action-secondary-hover, 4, 112, 236, 0.1))}.calendar-view-month .calendar-view-row .row-cell .date .grid-col:active{background-color:rgba(var(--v-bg-action-secondary-active, 29, 65, 195, 0.1))}.calendar-view-month .calendar-view-row .row-cell .date .grid-col:focus-visible{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:2px}.calendar-view-month .calendar-view-row .row-cell.current-month-day .date>div{color:rgba(var(--v-text-primary, 32, 54, 69, 1))}.calendar-view-month .calendar-view-row .row-cell.disabled{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1))}.calendar-view-month .calendar-view-row .row-cell.disabled .date>div{color:rgba(var(--v-text-disabled, 176, 180, 181, 1))}.calendar-view-month .calendar-view-row .row-cell.active .date .grid-col{background-color:rgba(var(--v-bg-action, 19, 98, 226, 1));border-top-left-radius:9999px;border-bottom-left-radius:9999px;color:rgba(var(--v-text-on-action, 252, 252, 252, 1))}.calendar-view-month .calendar-view-row .row-cell.active .date .grid-col:hover{background-color:rgba(var(--v-bg-action-hover, 4, 112, 236, 1))}.calendar-view-month .calendar-view-row .row-cell.active .date .grid-col:active{background-color:rgba(var(--v-bg-action-active, 29, 65, 195, 1))}.calendar-view-month .calendar-view-row .row-cell.active .date .grid-col:focus-visible{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:2px}.calendar-view-container{width:100%}.calendar-view-container .calendar-view-title-container{background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));position:sticky;top:0;left:0;z-index:62}.calendar-view-container .calendar-view-row{box-sizing:border-box;width:100%;display:flex;flex-direction:row}.calendar-view-container .calendar-view-row .time-line,.calendar-view-container .calendar-view-row .time-line-empty,.calendar-view-container .calendar-view-row .time-line-all{width:72px;text-align:right;padding-right:8px;box-sizing:border-box;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;color:rgba(var(--v-text-primary, 32, 54, 69, 1));flex-shrink:0}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-container .calendar-view-row .time-line,.calendar-view-container .calendar-view-row .time-line-empty,.calendar-view-container .calendar-view-row .time-line-all{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-container .calendar-view-row .time-line,.calendar-view-container .calendar-view-row .time-line-empty,.calendar-view-container .calendar-view-row .time-line-all{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-container .calendar-view-row .time-line,.calendar-view-container .calendar-view-row .time-line-empty,.calendar-view-container .calendar-view-row .time-line-all{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}.calendar-view-container .calendar-view-title{width:100%}.calendar-view-container .calendar-view-title>div{padding:12px;padding-bottom:8px;color:rgba(var(--v-text-secondary, 107, 116, 125, 1));font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px;text-align:center;display:flex;flex-direction:column;gap:8px}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-container .calendar-view-title>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-container .calendar-view-title>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-container .calendar-view-title>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}.calendar-view-container .calendar-view-title .week-day{color:rgba(var(--v-text-primary, 32, 54, 69, 1));font-family:\"Inter\", sans-serif;font-size:20px;font-weight:500;line-height:24px;letter-spacing:0px}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-container .calendar-view-title .week-day{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:500;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-container .calendar-view-title .week-day{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:500;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-container .calendar-view-title .week-day{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:500;line-height:24px;letter-spacing:0px}}.calendar-view-container .calendar-view-title .active div{color:rgba(var(--v-text-link, 19, 98, 226, 1))}.calendar-view-container .calendar-view-event-all-container{align-items:center}.calendar-view-container .calendar-view-event-all{display:grid;grid-template-rows:1fr;flex-grow:1;min-height:18px}.calendar-view-container .calendar-view-day-container .time-line{display:grid;grid-template-rows:16px repeat(24, minmax(74px, 1fr))}.calendar-view-container .calendar-view-day-container .time-line .time-text{margin-top:-9px}.calendar-view-container .calendar-view-day-container .calendar-view-content{width:100%}.calendar-view-container .calendar-view-day-container .calendar-view-content .grid-col{display:grid;grid-template-rows:16px repeat(24, minmax(74px, 1fr));grid-template-columns:minmax(64px, 1fr)}.calendar-view-container .calendar-view-day-container .calendar-view-content .grid-col>.border-divider-top:first-child{border-top-width:0px}.calendar-view-container .calendar-view-content-container{width:100%;position:relative}.calendar-view-week .calendar-view-container{min-height:100%}.calendar-view-week .calendar-view-container .calendar-view-title{display:grid;grid-template-rows:1fr;grid-template-columns:repeat(var(--calendar-weekday-columns), minmax(64px, 1fr))}.calendar-view-week .calendar-view-container .calendar-view-event-all{grid-template-columns:repeat(var(--calendar-weekday-columns), minmax(64px, 1fr))}.calendar-view-week .calendar-view-container .calendar-view-day-container .calendar-view-content{display:grid;grid-template-columns:repeat(var(--calendar-weekday-columns), minmax(64px, 1fr))}.calendar-view-week .time-marker-container .time-marker{display:grid;grid-template-columns:repeat(var(--calendar-weekday-columns), minmax(64px, 1fr))}.calendar-view-week .day-event-container{display:grid;grid-template-columns:repeat(var(--calendar-weekday-columns), minmax(64px, 1fr))}.calendar-view-day .calendar-view-container{min-height:100%}.time-marker-container{position:absolute;min-width:100%;left:0;top:16px;height:calc(100% - 16px);pointer-events:none}.time-marker-container.hidden{display:none}.time-marker-container .time-marker{position:absolute;height:2px;display:grid;min-width:100%;left:0;top:0;z-index:61}.time-marker-container .time-marker div{width:100%;height:2px;background-color:rgba(var(--v-bg-status-error, 255, 110, 139, 1));opacity:0.3}.time-marker-container .time-marker div.active{opacity:1;position:relative}.time-marker-container .time-marker div.active::before{content:\"\";display:block;border-top-left-radius:9999px;border-bottom-left-radius:9999px;border-top-right-radius:9999px;border-bottom-right-radius:9999px;position:absolute;width:8px;height:8px;background-color:rgba(var(--v-bg-status-error, 255, 110, 139, 1));top:-3px;left:-4px}.day-event-container{position:absolute;min-width:100%;left:0;top:16px;height:calc(100% - 16px);pointer-events:none}.day-event-container .day-event-col{height:100%;overflow:hidden}.day-event-container vega-calendar-event{pointer-events:auto;height:100%}.calendar-view-month .month-event-row{position:absolute;width:100%;overflow:hidden;height:calc(100% - 26px);left:0;bottom:0}.calendar-view-month .events-container{width:100%;box-sizing:border-box;overflow:hidden;padding:2px;display:flex;flex-direction:column;gap:2px;justify-content:space-between;flex-grow:1}.calendar-view-month .events-container .event-list{display:flex;flex-direction:column;gap:2px;flex-grow:1}.calendar-view-month .events-container .event-list .month-event-block{box-sizing:border-box;padding-left:2px;padding-right:3px}.calendar-view-month .events-container .month-event-more .more-button{display:inline-block;height:16px;font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px;color:rgba(var(--v-text-link, 19, 98, 226, 1));cursor:pointer;border-radius:2px}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-month .events-container .month-event-more .more-button{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-month .events-container .month-event-more .more-button{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-month .events-container .month-event-more .more-button{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}.calendar-view-month .events-container .month-event-more .more-button:focus-visible{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:0px}.calendar-view-container .calendar-view-event-all{position:relative}.calendar-view-container .calendar-view-event-all .placeholder-block{padding-top:2px;padding-bottom:2px;box-sizing:content-box}.calendar-view-container .calendar-view-event-all .placeholder-block span{display:none}.calendar-view-container .calendar-view-event-all .day-event-block{padding-top:2px;padding-right:2px;box-sizing:border-box;padding-left:3px}.calendar-view-container .calendar-view-event-all .more-button{display:inline-block;height:16px;font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px;color:rgba(var(--v-text-link, 19, 98, 226, 1));cursor:pointer;border-radius:2px;margin-left:2px;padding:2px}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-container .calendar-view-event-all .more-button{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-container .calendar-view-event-all .more-button{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-container .calendar-view-event-all .more-button{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}.calendar-view-container .calendar-view-event-all .more-button:focus-visible{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:0px}.calendar-view-container .calendar-view-event-all .event-all-col{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.calendar-view-container .day-event-col{position:relative}.calendar-view-container .day-event-col .time-event-block{box-sizing:border-box;padding-right:8px;padding-bottom:2px;padding-top:3px}.calendar-view-container .day-event-col .time-event-block vega-calendar-event.bg-shadow::part(event-container):not(:focus){outline:2px solid rgba(var(--v-bg-primary, 252, 252, 252, 1))}.calendar-view-container .day-event-col .time-event-block:focus-within{z-index:60 !important}.calendar-event-slot-container{display:none}";
|
|
3323
3443
|
|
|
3324
3444
|
var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
3325
3445
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -3343,6 +3463,7 @@ const VegaCalendar = class {
|
|
|
3343
3463
|
this.vegaMoreActionClick = createEvent(this, "vegaMoreActionClick", 7);
|
|
3344
3464
|
this.moreActionClick = createEvent(this, "moreActionClick", 7);
|
|
3345
3465
|
this.globalSlimmer = {};
|
|
3466
|
+
this.translationSlimmer = new TranslationSlimmer();
|
|
3346
3467
|
this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
|
|
3347
3468
|
this.renderer = new VegaCalendarRenderer();
|
|
3348
3469
|
this.switchPanelRenderer = new VegaCalendarSwitchPanelRenderer();
|
|
@@ -3374,22 +3495,28 @@ const VegaCalendar = class {
|
|
|
3374
3495
|
/**
|
|
3375
3496
|
* Specifies the current view mode of the calendar.
|
|
3376
3497
|
*
|
|
3377
|
-
* @
|
|
3498
|
+
* @vegaVersion 2.14.0
|
|
3378
3499
|
*/
|
|
3379
3500
|
/* eslint-disable-next-line @stencil/strict-mutable */
|
|
3380
3501
|
this.viewMode = 'month';
|
|
3381
3502
|
/**
|
|
3382
3503
|
* Specifies the time format of the calendar.
|
|
3383
3504
|
*
|
|
3384
|
-
* @
|
|
3505
|
+
* @vegaVersion 2.14.0
|
|
3385
3506
|
*/
|
|
3386
3507
|
this.timeFormat = '24-hour';
|
|
3387
3508
|
/**
|
|
3388
3509
|
* Controls the visibility of the calendar's event color bar.
|
|
3389
3510
|
*
|
|
3390
|
-
* @
|
|
3511
|
+
* @vegaVersion 2.21.0
|
|
3391
3512
|
*/
|
|
3392
3513
|
this.showEventColorBar = true;
|
|
3514
|
+
/**
|
|
3515
|
+
* Controls the visibility of the weekend columns in the calendar.
|
|
3516
|
+
*
|
|
3517
|
+
* @vegaVersion 2.28.0
|
|
3518
|
+
*/
|
|
3519
|
+
this.showWeekends = true;
|
|
3393
3520
|
}
|
|
3394
3521
|
/**
|
|
3395
3522
|
* Tracks changes to the current period state.
|
|
@@ -3427,6 +3554,11 @@ const VegaCalendar = class {
|
|
|
3427
3554
|
*/
|
|
3428
3555
|
watchShowEventColorBar(newValue) {
|
|
3429
3556
|
}
|
|
3557
|
+
/**
|
|
3558
|
+
* Monitors changes in the visibility of the weekend columns in the calendar.
|
|
3559
|
+
*/
|
|
3560
|
+
watchShowWeekendsChange() {
|
|
3561
|
+
}
|
|
3430
3562
|
render() {
|
|
3431
3563
|
return sanitizeVegaComponent(h(Host, null, this.renderer.render()), this.host);
|
|
3432
3564
|
}
|
|
@@ -3436,12 +3568,16 @@ const VegaCalendar = class {
|
|
|
3436
3568
|
"viewMode": ["watchViewModeChange"],
|
|
3437
3569
|
"events": ["watchEventsChange"],
|
|
3438
3570
|
"timeFormat": ["watchTimeFormat"],
|
|
3439
|
-
"showEventColorBar": ["watchShowEventColorBar"]
|
|
3571
|
+
"showEventColorBar": ["watchShowEventColorBar"],
|
|
3572
|
+
"showWeekends": ["watchShowWeekendsChange"]
|
|
3440
3573
|
}; }
|
|
3441
3574
|
};
|
|
3442
3575
|
__decorate$7([
|
|
3443
3576
|
InjectVegaGlobalSlimmer()
|
|
3444
3577
|
], VegaCalendar.prototype, "globalSlimmer", void 0);
|
|
3578
|
+
__decorate$7([
|
|
3579
|
+
InjectVegaSlimmer()
|
|
3580
|
+
], VegaCalendar.prototype, "translationSlimmer", void 0);
|
|
3445
3581
|
__decorate$7([
|
|
3446
3582
|
InjectVegaSlimmer()
|
|
3447
3583
|
], VegaCalendar.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
|
|
@@ -3592,13 +3728,14 @@ class VegaCalendarEventRenderer extends VegaSlimmer {
|
|
|
3592
3728
|
* @returns {HTMLAnchorElement} event element
|
|
3593
3729
|
*/
|
|
3594
3730
|
renderNormalEvent() {
|
|
3595
|
-
const { variant
|
|
3731
|
+
const { variant, disabled } = this.calendarEvent;
|
|
3732
|
+
const variantText = variant || 'primary';
|
|
3596
3733
|
const isMonthEvent = !this.host.classList.contains('day-event');
|
|
3597
3734
|
const classMap = {
|
|
3598
3735
|
'slot-container': this.slotMode,
|
|
3599
3736
|
'event-container': true,
|
|
3600
3737
|
'disabled': disabled,
|
|
3601
|
-
[
|
|
3738
|
+
[variantText]: true,
|
|
3602
3739
|
};
|
|
3603
3740
|
if (isMonthEvent) {
|
|
3604
3741
|
return (h("div", { role: "button", tabIndex: 0, class: classMap, ref: (node) => (this.slotContainerRef = node) },
|