@globalpayments/vega 2.13.1 → 2.14.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-9633dc88.js → app-globals-6b5136b1.js} +4 -4
- package/dist/cjs/{childNodesEventPreventSlimmer-29128c2a.js → childNodesEventPreventSlimmer-5b352793.js} +1 -1
- package/dist/cjs/{componentUsageRuntimeMetrics-b21c694f.js → componentUsageRuntimeMetrics-1a2a592d.js} +1 -1
- package/dist/cjs/{designToken-91ea7c25.js → designToken-3904c6b7.js} +5 -82
- package/dist/cjs/{eventEmitSlimmer-da0b3b8b.js → eventEmitSlimmer-ea57144a.js} +1 -1
- package/dist/cjs/{featureFlagController-44d5e755.js → featureFlagController-ab94fd4f.js} +1 -1
- package/dist/cjs/{formFieldControllerSlimmer-b451c7a5.js → formFieldControllerSlimmer-769ef4fd.js} +1 -1
- package/dist/cjs/index-1299d729.js +4 -0
- package/dist/cjs/{index-672f20ec.js → index-3183748d.js} +27 -11
- package/dist/cjs/{index-1aa6f0c9.js → index-b8881ddc.js} +3 -3
- package/dist/cjs/index.cjs.js +7 -6
- package/dist/cjs/{internalVegaEventManager-a3672e0c.js → internalVegaEventManager-543c20cb.js} +2 -1
- package/dist/cjs/{legendInputProcessor-b1c5958c.js → legendInputProcessor-a3cdc806.js} +5 -32
- package/dist/cjs/loader.cjs.js +7 -7
- package/dist/cjs/pixel-b18a8279.js +32 -0
- package/dist/cjs/stateBackgroundColorFormatter-96a26ee7.js +85 -0
- package/dist/cjs/{stringInputFormatterSlimmer-e15e55cd.js → stringInputFormatterSlimmer-afdb5cfd.js} +2 -0
- package/dist/cjs/{subStateObserverSlimmer-e61bda94.js → subStateObserverSlimmer-48ad20a1.js} +1 -1
- package/dist/cjs/timer-5f33058b.js +24 -0
- package/dist/cjs/vega-accordion.cjs.entry.js +7 -6
- package/dist/cjs/vega-app-footer.cjs.entry.js +1 -1
- package/dist/cjs/vega-app-header-button.cjs.entry.js +7 -6
- package/dist/cjs/vega-backdrop.cjs.entry.js +1 -1
- package/dist/cjs/vega-banner.cjs.entry.js +4 -4
- package/dist/cjs/vega-bar-chart.cjs.entry.js +4 -3
- package/dist/cjs/vega-box.cjs.entry.js +3 -2
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +5 -5
- package/dist/cjs/vega-button-circle.cjs.entry.js +7 -6
- package/dist/cjs/vega-button-group_2.cjs.entry.js +7 -7
- package/dist/cjs/vega-button-link.cjs.entry.js +5 -5
- package/dist/cjs/vega-button.cjs.entry.js +5 -5
- package/dist/cjs/vega-calendar_2.cjs.entry.js +2927 -0
- package/dist/cjs/vega-card.cjs.entry.js +3 -2
- package/dist/cjs/vega-carousel.cjs.entry.js +4 -4
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +7 -7
- package/dist/cjs/vega-chip.cjs.entry.js +7 -6
- package/dist/cjs/vega-color-picker.cjs.entry.js +6 -6
- package/dist/cjs/vega-combo-box.cjs.entry.js +7 -7
- package/dist/cjs/vega-counter-badge.cjs.entry.js +1 -1
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +8 -8
- package/dist/cjs/vega-dialog_2.cjs.entry.js +7 -6
- package/dist/cjs/vega-divider.cjs.entry.js +3 -2
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +7 -7
- package/dist/cjs/vega-field-error.cjs.entry.js +1 -1
- package/dist/cjs/vega-field-label.cjs.entry.js +5 -5
- package/dist/cjs/vega-flex.cjs.entry.js +5 -4
- package/dist/cjs/vega-font.cjs.entry.js +3 -2
- package/dist/cjs/vega-form.cjs.entry.js +7 -7
- package/dist/cjs/vega-grid.cjs.entry.js +3 -2
- package/dist/cjs/vega-icon.cjs.entry.js +3 -2
- package/dist/cjs/vega-image-uploader.cjs.entry.js +7 -7
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +9 -9
- package/dist/cjs/vega-input-range.cjs.entry.js +7 -7
- package/dist/cjs/vega-input-select.cjs.entry.js +7 -7
- package/dist/cjs/vega-input.cjs.entry.js +7 -7
- package/dist/cjs/vega-item-toggle.cjs.entry.js +4 -4
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +7 -6
- package/dist/cjs/vega-line-chart.cjs.entry.js +4 -3
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +1 -1
- package/dist/cjs/vega-page-notification_2.cjs.entry.js +2 -2
- package/dist/cjs/vega-pagination.cjs.entry.js +5 -5
- package/dist/cjs/vega-pie-chart.cjs.entry.js +3 -2
- package/dist/cjs/vega-popover_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-progress-tracker.cjs.entry.js +4 -4
- package/dist/cjs/vega-radio_2.cjs.entry.js +7 -7
- package/dist/cjs/vega-section-title.cjs.entry.js +1 -1
- package/dist/cjs/vega-segment-control.cjs.entry.js +4 -4
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +8 -8
- package/dist/cjs/vega-slot-container.cjs.entry.js +1 -1
- package/dist/cjs/vega-stepper.cjs.entry.js +7 -7
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +7 -27
- package/dist/cjs/vega-table_8.cjs.entry.js +16 -14
- package/dist/cjs/vega-text.cjs.entry.js +1 -1
- package/dist/cjs/vega-textarea.cjs.entry.js +7 -7
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +7 -7
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +4 -4
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +1 -1
- package/dist/cjs/vega.cjs.js +7 -7
- package/dist/cjs/{vegaEventId-1a0eb6b5.js → vegaEventId-d7774262.js} +2 -0
- package/dist/cjs/{vegaInternalEventId-b27735af.js → vegaInternalEventId-173c4941.js} +2 -0
- package/dist/cjs/{yAxisInputProcessor-da676e61.js → yAxisInputProcessor-62c4e838.js} +1 -1
- package/dist/collection/collection-manifest.json +8 -0
- package/dist/collection/components/vega-calendar/icons/clock-three.js +3 -0
- package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-current-period-controller.js +103 -0
- package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.js +71 -0
- package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-responsive-controller.js +74 -0
- package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-view-controller.js +78 -0
- package/dist/collection/components/vega-calendar/slimmers/common/helpers/calendarEventSorter.js +91 -0
- package/dist/collection/components/vega-calendar/slimmers/common/layout/baseEventLayout.js +11 -0
- package/dist/collection/components/vega-calendar/slimmers/common/layout/baseEventLayoutCell.js +43 -0
- package/dist/collection/components/vega-calendar/slimmers/common/layout/baseEventLayoutGenerator.js +23 -0
- package/dist/collection/components/vega-calendar/slimmers/common/layout/fullDayEventLayout.js +42 -0
- package/dist/collection/components/vega-calendar/slimmers/common/layout/fullDayEventLayoutGenerator.js +84 -0
- package/dist/collection/components/vega-calendar/slimmers/common/layout/fullDayEventLayoutRow.js +41 -0
- package/dist/collection/components/vega-calendar/slimmers/common/layout/test/longEventLayoutGenerator.test.js +99 -0
- package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +39 -0
- package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-full-day-event-layout-renderer.js +99 -0
- package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-renderer.js +27 -0
- package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-switch-panel.js +150 -0
- package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-view-renderer.js +30 -0
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/full-day-event/vega-calendar-full-day-event-renderer.js +54 -0
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/dayViewTimedEventLayout.js +35 -0
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/dayViewTimedEventLayoutColumn.js +50 -0
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/dayViewTimedEventLayoutGenerator.js +29 -0
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/test/dayViewEventLayoutGenerator.test.js +77 -0
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-day-event-layout-renderer.js +70 -0
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-timed-event-renderer.js +52 -0
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-time-line-renderer.js +152 -0
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.js +88 -0
- package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.js +177 -0
- package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.js +73 -0
- package/dist/collection/components/vega-calendar/utils/index.js +23 -0
- package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-event-bg-color-controller.js +29 -0
- package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-event-title-max-height-controller.js +37 -0
- package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-sub-state-controller.js +28 -0
- package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/renderers/vega-calendar-event-renderer.js +151 -0
- package/dist/collection/components/vega-calendar/vega-calendar-event/vega-calendar-event.css +342 -0
- package/dist/collection/components/vega-calendar/vega-calendar-event/vega-calendar-event.js +94 -0
- package/dist/collection/components/vega-calendar/vega-calendar.css +602 -0
- package/dist/collection/components/vega-calendar/vega-calendar.js +345 -0
- package/dist/collection/components/vega-table/vega-table-row/slimmers/controllers/vega-table-row-click-controller.js +7 -5
- package/dist/collection/constants/ui.js +2 -0
- package/dist/collection/global/icons/chevron-left.js +3 -0
- package/dist/collection/global/icons/chevron-right.js +3 -0
- package/dist/collection/helpers/calendar/calendar-date.js +103 -0
- package/dist/collection/helpers/calendar/calendar-event.js +256 -0
- package/dist/collection/helpers/calendar/calendar-period/calendar-period.abstract.js +75 -0
- package/dist/collection/helpers/calendar/calendar-period/day-period.js +33 -0
- package/dist/collection/helpers/calendar/calendar-period/month-period.js +35 -0
- package/dist/collection/helpers/calendar/calendar-period/week-period.js +34 -0
- package/dist/collection/helpers/calendar/calendar-view-generator/calendar-view-generator.abstract.js +41 -0
- package/dist/collection/helpers/calendar/calendar-view-generator/day-view-generator.js +13 -0
- package/dist/collection/helpers/calendar/calendar-view-generator/month-view-generator.js +24 -0
- package/dist/collection/helpers/calendar/calendar-view-generator/week-view-generator.js +15 -0
- package/dist/collection/helpers/calendar/calendar-view.js +25 -0
- package/dist/collection/helpers/calendar/index.js +10 -0
- package/dist/collection/helpers/calendar/test/calendar-date.test.js +71 -0
- package/dist/collection/helpers/calendar/test/calendar-event.test.js +130 -0
- package/dist/collection/helpers/calendar/test/calendar-period/day-period.test.js +65 -0
- package/dist/collection/helpers/calendar/test/calendar-period/month-period.test.js +60 -0
- package/dist/collection/helpers/calendar/test/calendar-period/week-period.test.js +60 -0
- package/dist/collection/helpers/calendar/test/calendar-view-generator/day-view-generator.test.js +19 -0
- package/dist/collection/helpers/calendar/test/calendar-view-generator/month-view-generator.test.js +73 -0
- package/dist/collection/helpers/calendar/test/calendar-view-generator/week-view-generator.test.js +28 -0
- package/dist/collection/helpers/calendar/test/calendar-view.test.js +9 -0
- package/dist/collection/helpers/calendar/test/index.test.js +13 -0
- package/dist/collection/helpers/calendar/test/utils.test.js +9 -0
- package/dist/collection/helpers/calendar/utils.js +10 -0
- package/dist/collection/helpers/event-manager/eventID/componentEventIdMap.js +2 -1
- package/dist/collection/helpers/event-manager/eventID/vegaEventId.js +2 -0
- package/dist/collection/helpers/event-manager/eventID/vegaInternalEventId.js +1 -0
- package/dist/collection/helpers/slimmers/stringInputFormatterSlimmer.js +2 -0
- package/dist/collection/helpers/vega-telemetry-helper/test/vegaEnvManager.test.js +1 -1
- package/dist/collection/helpers/vega-telemetry-helper/vegaEnvManager.js +2 -2
- package/dist/esm/{app-globals-f49e68bc.js → app-globals-cf903368.js} +4 -4
- package/dist/esm/{childNodesEventPreventSlimmer-86a1593c.js → childNodesEventPreventSlimmer-ca73e6c1.js} +1 -1
- package/dist/esm/{componentUsageRuntimeMetrics-9f888049.js → componentUsageRuntimeMetrics-4f08dec8.js} +1 -1
- package/dist/esm/{designToken-d25f5b1e.js → designToken-4459ff64.js} +4 -81
- package/dist/esm/{elementAppenderSlimmer-ef58e7a4.js → elementAppenderSlimmer-6bdee603.js} +2 -2
- package/dist/esm/{eventEmitSlimmer-d5b8d8d7.js → eventEmitSlimmer-9c33f04e.js} +1 -1
- package/dist/esm/{featureFlagController-9df5a1a3.js → featureFlagController-816491ad.js} +1 -1
- package/dist/esm/{formFieldControllerSlimmer-04953f74.js → formFieldControllerSlimmer-2cc9eec5.js} +1 -1
- package/dist/esm/{index-27e4eb43.js → index-4126a006.js} +27 -11
- package/dist/esm/index-c3505689.js +4 -0
- package/dist/esm/{index-41dc8dc1.js → index-dd06e5e7.js} +3 -3
- package/dist/esm/index.js +9 -8
- package/dist/esm/{internalVegaEventManager-501f9eb9.js → internalVegaEventManager-e1501923.js} +2 -1
- package/dist/esm/{legendInputProcessor-0b8dc09c.js → legendInputProcessor-e9c0ddf3.js} +1 -28
- package/dist/esm/loader.js +7 -7
- package/dist/esm/pixel-53ad41ea.js +29 -0
- package/dist/esm/{responsiveFormatFacade-7665557d.js → responsiveFormatFacade-7072153e.js} +1 -1
- package/dist/esm/stateBackgroundColorFormatter-e705312f.js +82 -0
- package/dist/esm/{stringInputFormatterSlimmer-9ba33d9e.js → stringInputFormatterSlimmer-e67c7503.js} +3 -1
- package/dist/esm/{subStateObserverSlimmer-71b39ca0.js → subStateObserverSlimmer-354b33f6.js} +1 -1
- package/dist/esm/timer-9321173b.js +22 -0
- package/dist/esm/{typeGuard-ebc62114.js → typeGuard-f33ed2eb.js} +1 -1
- package/dist/esm/vega-accordion.entry.js +9 -8
- package/dist/esm/vega-app-footer.entry.js +1 -1
- package/dist/esm/vega-app-header-button.entry.js +9 -8
- package/dist/esm/vega-backdrop.entry.js +1 -1
- package/dist/esm/vega-banner.entry.js +4 -4
- package/dist/esm/vega-bar-chart.entry.js +4 -3
- package/dist/esm/vega-box.entry.js +5 -4
- package/dist/esm/vega-breadcrumb.entry.js +5 -5
- package/dist/esm/vega-button-circle.entry.js +9 -8
- package/dist/esm/vega-button-group_2.entry.js +7 -7
- package/dist/esm/vega-button-link.entry.js +5 -5
- package/dist/esm/vega-button.entry.js +7 -7
- package/dist/esm/vega-calendar_2.entry.js +2922 -0
- package/dist/esm/vega-card.entry.js +5 -4
- package/dist/esm/vega-carousel.entry.js +6 -6
- package/dist/esm/vega-checkbox_2.entry.js +7 -7
- package/dist/esm/vega-chip.entry.js +9 -8
- package/dist/esm/vega-color-picker.entry.js +6 -6
- package/dist/esm/vega-combo-box.entry.js +8 -8
- package/dist/esm/vega-counter-badge.entry.js +1 -1
- package/dist/esm/vega-date-picker_2.entry.js +11 -11
- package/dist/esm/vega-dialog_2.entry.js +9 -8
- package/dist/esm/vega-divider.entry.js +5 -4
- package/dist/esm/vega-dropdown_5.entry.js +10 -10
- package/dist/esm/vega-field-error.entry.js +1 -1
- package/dist/esm/vega-field-label.entry.js +5 -5
- package/dist/esm/vega-flex.entry.js +7 -6
- package/dist/esm/vega-font.entry.js +5 -4
- package/dist/esm/vega-form.entry.js +7 -7
- package/dist/esm/vega-grid.entry.js +5 -4
- package/dist/esm/vega-icon.entry.js +5 -4
- package/dist/esm/vega-image-uploader.entry.js +9 -9
- package/dist/esm/vega-input-credit-card.entry.js +9 -9
- package/dist/esm/vega-input-range.entry.js +7 -7
- package/dist/esm/vega-input-select.entry.js +9 -9
- package/dist/esm/vega-input.entry.js +8 -8
- package/dist/esm/vega-item-toggle.entry.js +4 -4
- package/dist/esm/vega-left-nav_5.entry.js +9 -8
- package/dist/esm/vega-line-chart.entry.js +4 -3
- package/dist/esm/vega-loader-wrapper_2.entry.js +3 -3
- package/dist/esm/vega-page-notification_2.entry.js +2 -2
- package/dist/esm/vega-pagination.entry.js +5 -5
- package/dist/esm/vega-pie-chart.entry.js +3 -2
- package/dist/esm/vega-popover_2.entry.js +7 -7
- package/dist/esm/vega-progress-tracker.entry.js +4 -4
- package/dist/esm/vega-radio_2.entry.js +7 -7
- package/dist/esm/vega-section-title.entry.js +1 -1
- package/dist/esm/vega-segment-control.entry.js +4 -4
- package/dist/esm/vega-selection-tile_2.entry.js +8 -8
- package/dist/esm/vega-slot-container.entry.js +1 -1
- package/dist/esm/vega-stepper.entry.js +7 -7
- package/dist/esm/vega-tab-group_2.entry.js +6 -26
- package/dist/esm/vega-table_8.entry.js +18 -16
- package/dist/esm/vega-text.entry.js +1 -1
- package/dist/esm/vega-textarea.entry.js +7 -7
- package/dist/esm/vega-time-picker_2.entry.js +10 -10
- package/dist/esm/vega-toggle-switch.entry.js +4 -4
- package/dist/esm/vega-tooltip_2.entry.js +4 -4
- package/dist/esm/vega.js +7 -7
- package/dist/esm/{vegaEventId-c0384a6f.js → vegaEventId-680887e1.js} +2 -1
- package/dist/esm/{vegaInternalEventId-ba0b5623.js → vegaInternalEventId-600b3751.js} +2 -1
- package/dist/esm/{yAxisInputProcessor-1d65dcf9.js → yAxisInputProcessor-a2a29991.js} +1 -1
- package/dist/types/components/vega-calendar/icons/clock-three.d.ts +3 -0
- package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-current-period-controller.d.ts +45 -0
- package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.d.ts +36 -0
- package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-responsive-controller.d.ts +25 -0
- package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-view-controller.d.ts +39 -0
- package/dist/types/components/vega-calendar/slimmers/common/helpers/calendarEventSorter.d.ts +38 -0
- package/dist/types/components/vega-calendar/slimmers/common/layout/baseEventLayout.d.ts +11 -0
- package/dist/types/components/vega-calendar/slimmers/common/layout/baseEventLayoutCell.d.ts +40 -0
- package/dist/types/components/vega-calendar/slimmers/common/layout/baseEventLayoutGenerator.d.ts +16 -0
- package/dist/types/components/vega-calendar/slimmers/common/layout/fullDayEventLayout.d.ts +30 -0
- package/dist/types/components/vega-calendar/slimmers/common/layout/fullDayEventLayoutGenerator.d.ts +39 -0
- package/dist/types/components/vega-calendar/slimmers/common/layout/fullDayEventLayoutRow.d.ts +26 -0
- package/dist/types/components/vega-calendar/slimmers/common/layout/test/longEventLayoutGenerator.test.d.ts +1 -0
- package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.d.ts +23 -0
- package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-full-day-event-layout-renderer.d.ts +39 -0
- package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-renderer.d.ts +13 -0
- package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-switch-panel.d.ts +67 -0
- package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-view-renderer.d.ts +14 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/full-day-event/vega-calendar-full-day-event-renderer.d.ts +22 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/dayViewTimedEventLayout.d.ts +20 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/dayViewTimedEventLayoutColumn.d.ts +28 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/dayViewTimedEventLayoutGenerator.d.ts +20 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/test/dayViewEventLayoutGenerator.test.d.ts +1 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-day-event-layout-renderer.d.ts +27 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-timed-event-renderer.d.ts +23 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-time-line-renderer.d.ts +63 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.d.ts +37 -0
- package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.d.ts +66 -0
- package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.d.ts +29 -0
- package/dist/types/components/vega-calendar/types.d.ts +58 -0
- package/dist/types/components/vega-calendar/utils/index.d.ts +18 -0
- package/dist/types/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-event-bg-color-controller.d.ts +12 -0
- package/dist/types/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-event-title-max-height-controller.d.ts +13 -0
- package/dist/types/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-sub-state-controller.d.ts +10 -0
- package/dist/types/components/vega-calendar/vega-calendar-event/slimmers/renderers/vega-calendar-event-renderer.d.ts +54 -0
- package/dist/types/components/vega-calendar/vega-calendar-event/vega-calendar-event.d.ts +25 -0
- package/dist/types/components/vega-calendar/vega-calendar.d.ts +107 -0
- package/dist/types/components.d.ts +82 -1
- package/dist/types/constants/ui.d.ts +1 -1
- package/dist/types/global/icons/chevron-left.d.ts +3 -0
- package/dist/types/global/icons/chevron-right.d.ts +3 -0
- package/dist/types/helpers/calendar/calendar-date.d.ts +61 -0
- package/dist/types/helpers/calendar/calendar-event.d.ts +140 -0
- package/dist/types/helpers/calendar/calendar-period/calendar-period.abstract.d.ts +73 -0
- package/dist/types/helpers/calendar/calendar-period/day-period.d.ts +21 -0
- package/dist/types/helpers/calendar/calendar-period/month-period.d.ts +21 -0
- package/dist/types/helpers/calendar/calendar-period/week-period.d.ts +21 -0
- package/dist/types/helpers/calendar/calendar-view-generator/calendar-view-generator.abstract.d.ts +35 -0
- package/dist/types/helpers/calendar/calendar-view-generator/day-view-generator.d.ts +12 -0
- package/dist/types/helpers/calendar/calendar-view-generator/month-view-generator.d.ts +12 -0
- package/dist/types/helpers/calendar/calendar-view-generator/week-view-generator.d.ts +12 -0
- package/dist/types/helpers/calendar/calendar-view.d.ts +21 -0
- package/dist/types/helpers/calendar/index.d.ts +10 -0
- package/dist/types/helpers/calendar/test/calendar-date.test.d.ts +1 -0
- package/dist/types/helpers/calendar/test/calendar-event.test.d.ts +1 -0
- package/dist/types/helpers/calendar/test/calendar-period/day-period.test.d.ts +1 -0
- package/dist/types/helpers/calendar/test/calendar-period/month-period.test.d.ts +1 -0
- package/dist/types/helpers/calendar/test/calendar-period/week-period.test.d.ts +1 -0
- package/dist/types/helpers/calendar/test/calendar-view-generator/day-view-generator.test.d.ts +1 -0
- package/dist/types/helpers/calendar/test/calendar-view-generator/month-view-generator.test.d.ts +1 -0
- package/dist/types/helpers/calendar/test/calendar-view-generator/week-view-generator.test.d.ts +1 -0
- package/dist/types/helpers/calendar/test/calendar-view.test.d.ts +1 -0
- package/dist/types/helpers/calendar/test/index.test.d.ts +1 -0
- package/dist/types/helpers/calendar/test/utils.test.d.ts +1 -0
- package/dist/types/helpers/calendar/utils.d.ts +7 -0
- package/dist/types/helpers/event-manager/eventID/vegaEventId.d.ts +2 -0
- package/dist/types/helpers/event-manager/eventID/vegaInternalEventId.d.ts +1 -0
- package/dist/types/types/components.type.d.ts +8 -1
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/{p-3185ee03.entry.js → p-0bf26a50.entry.js} +1 -1
- package/dist/vega/{p-e89db39c.entry.js → p-10c41ccc.entry.js} +1 -1
- package/dist/vega/{p-d361ef78.js → p-1265732f.js} +1 -1
- package/dist/vega/{p-5df33dea.entry.js → p-12b4c69a.entry.js} +1 -1
- package/dist/vega/p-149e0999.entry.js +1 -0
- package/dist/vega/p-163b8ab5.entry.js +1 -0
- package/dist/vega/{p-d942a746.js → p-16608c5a.js} +1 -1
- package/dist/vega/{p-ade08379.entry.js → p-1b83652c.entry.js} +1 -1
- package/dist/vega/p-1bc5b3bc.js +1 -0
- package/dist/vega/{p-f27998de.entry.js → p-1d628d23.entry.js} +1 -1
- package/dist/vega/{p-797b24d3.entry.js → p-27d76db9.entry.js} +1 -1
- package/dist/vega/{p-b7c51304.js → p-2969b1c2.js} +1 -1
- package/dist/vega/p-29d2d70a.js +1 -0
- package/dist/vega/{p-cffd96c9.entry.js → p-2c89a9a4.entry.js} +1 -1
- package/dist/vega/p-2d41b82e.js +1 -0
- package/dist/vega/p-2e871e5b.entry.js +1 -0
- package/dist/vega/{p-a09efd3b.entry.js → p-360ac223.entry.js} +1 -1
- package/dist/vega/p-36ea8012.js +1 -0
- package/dist/vega/p-47367768.entry.js +1 -0
- package/dist/vega/{p-a022bf87.entry.js → p-485e71d4.entry.js} +1 -1
- package/dist/vega/{p-d3605b1a.entry.js → p-4dacc0b7.entry.js} +1 -1
- package/dist/vega/p-50219611.entry.js +1 -0
- package/dist/vega/{p-a62f4fbf.entry.js → p-5ba654a4.entry.js} +1 -1
- package/dist/vega/{p-210737f2.js → p-5cad29f5.js} +1 -1
- package/dist/vega/{p-5abced5e.entry.js → p-60f511cf.entry.js} +1 -1
- package/dist/vega/p-61f18887.js +1 -0
- package/dist/vega/p-6bdc4407.js +1 -0
- package/dist/vega/{p-194a3f8f.entry.js → p-6d482bec.entry.js} +1 -1
- package/dist/vega/{p-5b5625a0.entry.js → p-6e0daee9.entry.js} +1 -1
- package/dist/vega/p-72f9ad2e.entry.js +1 -0
- package/dist/vega/{p-e80fd0ef.js → p-76712540.js} +1 -1
- package/dist/vega/{p-bbbcfd09.entry.js → p-77b39fe7.entry.js} +1 -1
- package/dist/vega/p-783bcc7b.entry.js +1 -0
- package/dist/vega/{p-e49ec016.entry.js → p-84787f59.entry.js} +1 -1
- package/dist/vega/p-85054a3e.entry.js +1 -0
- package/dist/vega/p-87d6e85f.entry.js +1 -0
- package/dist/vega/{p-fbc0c261.entry.js → p-897a3a9b.entry.js} +1 -1
- package/dist/vega/{p-da12b2da.entry.js → p-8bbac798.entry.js} +1 -1
- package/dist/vega/{p-a03b1bad.entry.js → p-9047ee85.entry.js} +1 -1
- package/dist/vega/p-90d4e1c6.entry.js +1 -0
- package/dist/vega/{p-07abc29b.entry.js → p-9443e399.entry.js} +1 -1
- package/dist/vega/{p-6cb26711.entry.js → p-969ba15a.entry.js} +1 -1
- package/dist/vega/{p-3d220905.js → p-999e1318.js} +1 -1
- package/dist/vega/{p-7653f0c2.js → p-99c8fe92.js} +1 -1
- package/dist/vega/{p-e6848e33.entry.js → p-9b396c06.entry.js} +1 -1
- package/dist/vega/p-9f1151cd.entry.js +1 -0
- package/dist/vega/{p-f5f0545e.entry.js → p-9f56c3e4.entry.js} +1 -1
- package/dist/vega/p-a7c96716.entry.js +1 -0
- package/dist/vega/{p-75c51fe9.js → p-a9c3e9fd.js} +1 -1
- package/dist/vega/{p-8bdb7c1d.entry.js → p-a9f61d9e.entry.js} +1 -1
- package/dist/vega/p-aae8855d.js +1 -0
- package/dist/vega/{p-fa38e1c8.entry.js → p-b58e2fae.entry.js} +1 -1
- package/dist/vega/p-b623aad1.entry.js +1 -0
- package/dist/vega/{p-86002ca4.entry.js → p-b708b0c2.entry.js} +1 -1
- package/dist/vega/p-b70b3aae.entry.js +1 -0
- package/dist/vega/p-b77e9b22.entry.js +1 -0
- package/dist/vega/{p-e0d2c9f6.entry.js → p-b8b4bc6c.entry.js} +1 -1
- package/dist/vega/p-ba232064.entry.js +1 -0
- package/dist/vega/{p-22101a5f.entry.js → p-bb52d620.entry.js} +1 -1
- package/dist/vega/p-c47d4933.js +1 -0
- package/dist/vega/{p-c902a586.entry.js → p-cd05ab96.entry.js} +1 -1
- package/dist/vega/{p-41413ea4.entry.js → p-ce0af8db.entry.js} +1 -1
- package/dist/vega/{p-31ec4b52.entry.js → p-ceec3241.entry.js} +1 -1
- package/dist/vega/{p-761c458e.entry.js → p-d224e798.entry.js} +1 -1
- package/dist/vega/p-d909c9b4.entry.js +1 -0
- package/dist/vega/{p-bbc8b4f5.entry.js → p-db60ccf5.entry.js} +1 -1
- package/dist/vega/p-e02c5199.entry.js +1 -0
- package/dist/vega/{p-bd350fb7.entry.js → p-e1ecfa0e.entry.js} +1 -1
- package/dist/vega/{p-7b127de4.js → p-e32b7a38.js} +1 -1
- package/dist/vega/{p-4aaa9e0d.entry.js → p-e424cbec.entry.js} +1 -1
- package/dist/vega/p-e4d466f0.js +1 -0
- package/dist/vega/p-eb461dad.entry.js +1 -0
- package/dist/vega/p-ece4decb.entry.js +1 -0
- package/dist/vega/{p-bf877997.entry.js → p-ef6e7563.entry.js} +1 -1
- package/dist/vega/p-f1d8fd1c.js +1 -0
- package/dist/vega/{p-629acb2e.js → p-f2118771.js} +1 -1
- package/dist/vega/p-f6c9d17f.entry.js +1 -0
- package/dist/vega/p-fc090247.entry.js +1 -0
- package/dist/vega/{p-eb6c9578.js → p-fc21bd44.js} +1 -1
- package/dist/vega/{p-6ff07396.js → p-fda33444.js} +1 -1
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +2 -2
- package/dist/vega/p-08b48e61.entry.js +0 -1
- package/dist/vega/p-0d51b10e.entry.js +0 -1
- package/dist/vega/p-0ee347fd.entry.js +0 -1
- package/dist/vega/p-1fe9e4b3.js +0 -1
- package/dist/vega/p-26be7725.js +0 -1
- package/dist/vega/p-2d38dcab.entry.js +0 -1
- package/dist/vega/p-2ea7b083.entry.js +0 -1
- package/dist/vega/p-3205e6ec.entry.js +0 -1
- package/dist/vega/p-33ac74cb.entry.js +0 -1
- package/dist/vega/p-60dbd035.entry.js +0 -1
- package/dist/vega/p-64020a69.entry.js +0 -1
- package/dist/vega/p-79ccf076.entry.js +0 -1
- package/dist/vega/p-7d2ed978.entry.js +0 -1
- package/dist/vega/p-8da4b720.js +0 -1
- package/dist/vega/p-91160d38.js +0 -1
- package/dist/vega/p-9745f18f.entry.js +0 -1
- package/dist/vega/p-9820bd52.entry.js +0 -1
- package/dist/vega/p-9c726541.entry.js +0 -1
- package/dist/vega/p-9e70473b.js +0 -1
- package/dist/vega/p-ac23cfa6.js +0 -1
- package/dist/vega/p-ad2d02c5.entry.js +0 -1
- package/dist/vega/p-aeef2799.js +0 -1
- package/dist/vega/p-b7a0f473.entry.js +0 -1
- package/dist/vega/p-cb06eb1c.entry.js +0 -1
- package/dist/vega/p-db6e73fc.entry.js +0 -1
- package/dist/vega/p-fc30b986.entry.js +0 -1
- package/dist/vega/p-ff3ae862.entry.js +0 -1
- package/dist/vega/p-ffa25bf2.entry.js +0 -1
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import { generateUUID } from '../../utils/misc';
|
|
2
|
+
import { CalendarDate } from './calendar-date';
|
|
3
|
+
const CalendarDateFormatReg = /^\d{1,2}\/\d{1,2}\/\d{4}/;
|
|
4
|
+
const CalendarTimeFormatReg = /^\d{1,2}:\d{1,2}/;
|
|
5
|
+
/** The `CalendarEvent` class in TypeScript represents a calendar event with methods to validate required fields, initialize dates and times, and determine if it is a group event. */
|
|
6
|
+
export class CalendarEvent {
|
|
7
|
+
/**
|
|
8
|
+
* The constructor initializes a VegaCalendarRawEvent object and performs validation checks on required fields.
|
|
9
|
+
*
|
|
10
|
+
* @param {VegaCalendarRawEvent} eventOptions - The `eventOptions` parameter in the constructor
|
|
11
|
+
* represents the raw event data for a Vega calendar event. It contains information such as the event
|
|
12
|
+
* title, start and end dates, location, description, and any other relevant details about the event.
|
|
13
|
+
*/
|
|
14
|
+
constructor(eventOptions) {
|
|
15
|
+
this._event = eventOptions;
|
|
16
|
+
this._eventKey = generateUUID();
|
|
17
|
+
this.checkEventRequireField(eventOptions);
|
|
18
|
+
this.initDate(eventOptions);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The function returns the raw event data for a VegaCalendar event.
|
|
22
|
+
*
|
|
23
|
+
* @returns {VegaCalendarRawEvent} The `get event()` method is returning a `VegaCalendarRawEvent` object, which is stored in the `_event` property.
|
|
24
|
+
*/
|
|
25
|
+
get event() {
|
|
26
|
+
return this._event;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* This function returns the key of an event in TypeScript.
|
|
30
|
+
*
|
|
31
|
+
* @returns {string} event key
|
|
32
|
+
*/
|
|
33
|
+
get eventKey() {
|
|
34
|
+
return this._eventKey;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* This function returns the title of an event in TypeScript.
|
|
38
|
+
*
|
|
39
|
+
* @returns {string} The title of the event.
|
|
40
|
+
*/
|
|
41
|
+
get title() {
|
|
42
|
+
return this._event.title;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* This function returns the disabled of an event in TypeScript.
|
|
46
|
+
*
|
|
47
|
+
* @returns {boolean} The disabled of the event.
|
|
48
|
+
*/
|
|
49
|
+
get disabled() {
|
|
50
|
+
return !!this._event.disabled;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* This function returns the variant of an event in TypeScript.
|
|
54
|
+
*
|
|
55
|
+
* @returns {VegaCalendarEventVariantType|null} The variant of the event.
|
|
56
|
+
*/
|
|
57
|
+
get variant() {
|
|
58
|
+
return this._event.variant;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* This function returns the color of an event in TypeScript.
|
|
62
|
+
*
|
|
63
|
+
* @returns {string|null} The color of the event.
|
|
64
|
+
*/
|
|
65
|
+
get color() {
|
|
66
|
+
return this._event.color;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* The function isAllDayEvent returns a boolean value indicating whether the event is an all-day event.
|
|
70
|
+
*
|
|
71
|
+
* @returns {boolean} The method `isAllDayEvent()` is returning a boolean value indicating whether the event is an all-day event or not. It returns `true` if the event is an all-day event, and `false` if it is not.
|
|
72
|
+
*/
|
|
73
|
+
get isAllDayEvent() {
|
|
74
|
+
return !!this._event.isAllDay;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* The function isRepeatEvent returns a boolean value based on whether the event's repeat property is not equal to 'none'.
|
|
78
|
+
*
|
|
79
|
+
* @returns {boolean} The method `isRepeatEvent` returns a boolean value indicating whether the `_event` has a repeat value other than 'none'.
|
|
80
|
+
*/
|
|
81
|
+
get isRepeatEvent() {
|
|
82
|
+
return this._event.repeat !== 'none';
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* The function returns the start date property of an object.
|
|
86
|
+
*
|
|
87
|
+
* @returns {Date} The `startDate` property of type `Date` is being returned.
|
|
88
|
+
*/
|
|
89
|
+
get startDate() {
|
|
90
|
+
return this._startDate;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* The function returns the end date property of an object.
|
|
94
|
+
*
|
|
95
|
+
* @returns {Date} The `endDate` property of type `Date` is being returned.
|
|
96
|
+
*/
|
|
97
|
+
get endDate() {
|
|
98
|
+
return this._endDate;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* This function returns the start time as a string.
|
|
102
|
+
*
|
|
103
|
+
* @returns {string} The `_startTime` property, which is a string, is being returned.
|
|
104
|
+
*/
|
|
105
|
+
get startTime() {
|
|
106
|
+
return this._startTime;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* This function returns the end time as a string.
|
|
110
|
+
*
|
|
111
|
+
* @returns {string} The `_endTime` property, which is a string, is being returned.
|
|
112
|
+
*/
|
|
113
|
+
get endTime() {
|
|
114
|
+
return this._endTime;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Check the event is a group event or not
|
|
118
|
+
*
|
|
119
|
+
* @returns {boolean} true or false
|
|
120
|
+
*/
|
|
121
|
+
isGroupEvent() {
|
|
122
|
+
const { year: startYear, month: startMonth, date: startDay, } = CalendarDate.from(this.startDate);
|
|
123
|
+
const { year: endYear, month: endMonth, date: endDay, } = CalendarDate.from(this.endDate);
|
|
124
|
+
return (!(startYear === endYear && startMonth === endMonth && startDay === endDay) &&
|
|
125
|
+
this._event.repeat !== 'daily');
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* This TypeScript function checks if a given date falls within the range of a calendar event based on its start and end dates, considering different repeat types like daily, weekly, monthly, and yearly.
|
|
129
|
+
*
|
|
130
|
+
* @param {CalendarDate} date - The `date` parameter represents the current date for which you want to
|
|
131
|
+
* check if it falls within the range of the `calendarEvent`. It is of type `CalendarDate`.
|
|
132
|
+
* @returns {boolean} a boolean value, either `true` or `false`, based on whether the `calendarEvent` falls on the `date` provided.
|
|
133
|
+
*/
|
|
134
|
+
isCurrentDayEvent(date) {
|
|
135
|
+
const { startDate, endDate } = this;
|
|
136
|
+
const startCalendarDate = CalendarDate.from(startDate);
|
|
137
|
+
const endCalendarDate = CalendarDate.from(new Date(endDate.getFullYear(), endDate.getMonth(), endDate.getDate() + 1));
|
|
138
|
+
const repeat = this._event.repeat;
|
|
139
|
+
const currentDate = date.toDate();
|
|
140
|
+
if (startCalendarDate.toDate() <= currentDate) {
|
|
141
|
+
switch (repeat) {
|
|
142
|
+
case 'daily':
|
|
143
|
+
return true;
|
|
144
|
+
case 'weekly':
|
|
145
|
+
return currentDate.getDay() === startDate.getDay();
|
|
146
|
+
case 'monthly':
|
|
147
|
+
return date.date === startCalendarDate.date;
|
|
148
|
+
case 'yearly':
|
|
149
|
+
return date.month === startCalendarDate.month && date.date === startCalendarDate.date;
|
|
150
|
+
default:
|
|
151
|
+
return endCalendarDate.toDate() > currentDate;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
return false;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Get the number of minutes the event lasted
|
|
158
|
+
*
|
|
159
|
+
* @returns {number} the minutes
|
|
160
|
+
*/
|
|
161
|
+
getEventDuration() {
|
|
162
|
+
const [startHour, startMinutes] = this.startTime.split(':');
|
|
163
|
+
const [endHour, endMinutes] = this.endTime.split(':');
|
|
164
|
+
const now = CalendarDate.from(new Date());
|
|
165
|
+
const startDate = new Date(now.year, now.month, now.date, Number(startHour), Number(startMinutes));
|
|
166
|
+
const endDate = new Date(now.year, now.month, now.date, Number(endHour) === 0 && Number(startHour) !== 0 ? 24 : Number(endHour), Number(endMinutes));
|
|
167
|
+
return (endDate.valueOf() - startDate.valueOf()) / (60 * 1000);
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* The function `convertTimeTo24Hour` converts a time string from 12-hour format to 24-hour format in TypeScript.
|
|
171
|
+
*
|
|
172
|
+
* @param {string} timeString - The `convertTimeTo24Hour` function you provided is used to convert a
|
|
173
|
+
* time string from 12-hour format to 24-hour format. The function checks if the input time string is
|
|
174
|
+
* in 12-hour format and contains either 'am' or 'pm'.
|
|
175
|
+
* @returns {string} The `convertTimeTo24Hour` function returns a string representing the input time string
|
|
176
|
+
* converted to 24-hour format. If the input time string is in 12-hour format and contains 'am' or
|
|
177
|
+
* 'pm', it converts it to 24-hour format. If the input time string is not in 12-hour format or does
|
|
178
|
+
* not contain 'am' or 'pm', it returns the original input
|
|
179
|
+
*/
|
|
180
|
+
convertTimeTo24Hour(timeString) {
|
|
181
|
+
timeString = timeString.toLocaleLowerCase();
|
|
182
|
+
if (timeString.indexOf('am') > 0 || timeString.indexOf('pm') > 0) {
|
|
183
|
+
if (timeString.indexOf('am') > 0) {
|
|
184
|
+
timeString = timeString.replace('am', '').trim();
|
|
185
|
+
const [hour, minutes] = timeString.split(':');
|
|
186
|
+
return `${hour === '12' ? '00' : hour}:${minutes}`;
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
timeString = timeString.replace('pm', '').trim();
|
|
190
|
+
const [hour, minutes] = timeString.split(':');
|
|
191
|
+
return `${hour === '12' ? '12' : Number(hour) + 12}:${minutes}`;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return timeString;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* The function `checkEventRequireField` validates the required fields of a calendar event item in TypeScript.
|
|
198
|
+
*
|
|
199
|
+
* @param {VegaCalendarRawEvent} eventOptions - The `eventOptions` parameter is an object of type
|
|
200
|
+
* `VegaCalendarRawEvent` that contains information about a calendar event
|
|
201
|
+
*/
|
|
202
|
+
checkEventRequireField(eventOptions) {
|
|
203
|
+
const { title, startDate, endDate, startTime, endTime } = eventOptions;
|
|
204
|
+
if ((startDate && typeof startDate === 'string' && !CalendarDateFormatReg.test(startDate)) ||
|
|
205
|
+
(endDate && typeof endDate === 'string' && !CalendarDateFormatReg.test(endDate))) {
|
|
206
|
+
throw new Error('Invalid calendar event item, the date format should be MM/DD/YYYY!');
|
|
207
|
+
}
|
|
208
|
+
if ((startTime && typeof startTime === 'string' && !CalendarTimeFormatReg.test(startTime)) ||
|
|
209
|
+
(endTime && typeof endTime === 'string' && !CalendarTimeFormatReg.test(endTime))) {
|
|
210
|
+
throw new Error('Invalid calendar event item, the time format should be HH:mm!');
|
|
211
|
+
}
|
|
212
|
+
if (!title || !startDate || (!endDate && !endTime)) {
|
|
213
|
+
throw new Error('Invalid calendar event item, the required field should not empty!');
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* The `initDate` function in TypeScript initializes start and end dates and times for a calendar event based on the provided options.
|
|
218
|
+
*
|
|
219
|
+
* @param {VegaCalendarRawEvent} eventOptions - The `initDate` method you provided is used to
|
|
220
|
+
* initialize the start and end dates for a calendar event based on the options provided in the
|
|
221
|
+
* `eventOptions` object. The `eventOptions` object contains properties such as `startDate`,
|
|
222
|
+
* `startTime`, `endDate`, and `endTime` which are used
|
|
223
|
+
*/
|
|
224
|
+
initDate(eventOptions) {
|
|
225
|
+
const { startDate, startTime, endDate, endTime } = eventOptions;
|
|
226
|
+
if (startDate && typeof startDate === 'object') {
|
|
227
|
+
this._startDate = startDate;
|
|
228
|
+
}
|
|
229
|
+
else if (startDate && typeof startDate === 'string') {
|
|
230
|
+
const [month, day, year] = startDate.split('/');
|
|
231
|
+
this._startDate = new Date(Number(year), Number(month) - 1, Number(day));
|
|
232
|
+
}
|
|
233
|
+
if (!startTime) {
|
|
234
|
+
this._startTime = `${this._startDate.getHours()}:${this._startDate.getMinutes()}`;
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
this._startTime = this.convertTimeTo24Hour(startTime);
|
|
238
|
+
}
|
|
239
|
+
if (endDate && typeof endDate === 'object') {
|
|
240
|
+
this._endDate = endDate;
|
|
241
|
+
}
|
|
242
|
+
else if (endDate && typeof endDate === 'string') {
|
|
243
|
+
const [month, day, year] = endDate.split('/');
|
|
244
|
+
this._endDate = new Date(Number(year), Number(month) - 1, Number(day), 23, 59, 59);
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
this._endDate = new Date(this._startDate.getFullYear(), this._startDate.getMonth(), this._startDate.getDate(), 23, 59, 59);
|
|
248
|
+
}
|
|
249
|
+
if (!endTime) {
|
|
250
|
+
this._endTime = `${this._endDate.getHours()}:${this._endDate.getMinutes()}`;
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
this._endTime = this.convertTimeTo24Hour(endTime);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { CalendarDate } from '../calendar-date';
|
|
2
|
+
import { getWeekdays } from '../utils';
|
|
3
|
+
/**
|
|
4
|
+
* CalendarPeriod is an abstract class that represents a period of date for calendar.
|
|
5
|
+
*/
|
|
6
|
+
export class CalendarPeriod {
|
|
7
|
+
constructor(count, current) {
|
|
8
|
+
this._count = count;
|
|
9
|
+
this._current = current ? current : CalendarDate.from(new Date());
|
|
10
|
+
this.calculatePeriod(this._current);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* The current date of the period.
|
|
14
|
+
*
|
|
15
|
+
* @type {CalendarDate}
|
|
16
|
+
*/
|
|
17
|
+
get current() {
|
|
18
|
+
return this._current;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The start date of the period
|
|
22
|
+
*
|
|
23
|
+
* @type {CalendarDate}
|
|
24
|
+
*/
|
|
25
|
+
get startDate() {
|
|
26
|
+
return this._startDate;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* The end date of the period
|
|
30
|
+
*
|
|
31
|
+
* @type {CalendarDate}
|
|
32
|
+
*/
|
|
33
|
+
get endDate() {
|
|
34
|
+
return this._endDate;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The count of the period
|
|
38
|
+
*
|
|
39
|
+
* @type {number}
|
|
40
|
+
*/
|
|
41
|
+
get count() {
|
|
42
|
+
return this._count;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Go to a specific date.
|
|
46
|
+
*
|
|
47
|
+
* @param {CalendarDate} date - The date to go to.
|
|
48
|
+
* @returns {this} - The current period.
|
|
49
|
+
*/
|
|
50
|
+
goTo(date) {
|
|
51
|
+
return this.createBy(date);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Go to now.
|
|
55
|
+
*
|
|
56
|
+
* @returns {this} - The current period.
|
|
57
|
+
*/
|
|
58
|
+
now() {
|
|
59
|
+
return this.createBy(CalendarDate.from(new Date()));
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Calculate the period start date and end date.
|
|
63
|
+
*
|
|
64
|
+
* @param {CalendarDate} date - The date to calculate the period from.
|
|
65
|
+
*/
|
|
66
|
+
calculatePeriod(date) {
|
|
67
|
+
const cursor = date.toDate();
|
|
68
|
+
if (this.count > 1) {
|
|
69
|
+
cursor.setDate(cursor.getDate() - getWeekdays().indexOf(cursor.getDay()));
|
|
70
|
+
}
|
|
71
|
+
this._startDate = CalendarDate.from(cursor);
|
|
72
|
+
cursor.setDate(cursor.getDate() + this.count - 1);
|
|
73
|
+
this._endDate = CalendarDate.from(cursor);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CalendarPeriod } from './calendar-period.abstract';
|
|
2
|
+
import { CalendarDate } from '../calendar-date';
|
|
3
|
+
/**
|
|
4
|
+
* Period of day.
|
|
5
|
+
*/
|
|
6
|
+
export class DayPeriod extends CalendarPeriod {
|
|
7
|
+
constructor(current) {
|
|
8
|
+
super(DayPeriod.DISPLAY_DATE_COUNT, current);
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* @inheritDoc
|
|
12
|
+
*/
|
|
13
|
+
next() {
|
|
14
|
+
const nextDate = this.current.toDate();
|
|
15
|
+
nextDate.setDate(nextDate.getDate() + 1);
|
|
16
|
+
return this.createBy(CalendarDate.from(nextDate));
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* @inheritDoc
|
|
20
|
+
*/
|
|
21
|
+
previous() {
|
|
22
|
+
const previousDate = this.current.toDate();
|
|
23
|
+
previousDate.setDate(previousDate.getDate() - 1);
|
|
24
|
+
return this.createBy(CalendarDate.from(previousDate));
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* @inheritDoc
|
|
28
|
+
*/
|
|
29
|
+
createBy(current) {
|
|
30
|
+
return new DayPeriod(current);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
DayPeriod.DISPLAY_DATE_COUNT = 1;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { CalendarPeriod } from './calendar-period.abstract';
|
|
2
|
+
import { CalendarDate } from '../calendar-date';
|
|
3
|
+
/**
|
|
4
|
+
* Period of month
|
|
5
|
+
*/
|
|
6
|
+
export class MonthPeriod extends CalendarPeriod {
|
|
7
|
+
constructor(current) {
|
|
8
|
+
const date = current || CalendarDate.from(new Date());
|
|
9
|
+
const firstDayOfMonth = new CalendarDate(date.year, date.month, 1);
|
|
10
|
+
super(MonthPeriod.DISPLAY_DATE_COUNT, firstDayOfMonth);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* @inheritDoc
|
|
14
|
+
*/
|
|
15
|
+
next() {
|
|
16
|
+
const next = this.current.toDate();
|
|
17
|
+
next.setMonth(next.getMonth() + 1);
|
|
18
|
+
return this.createBy(CalendarDate.from(next));
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* @inheritDoc
|
|
22
|
+
*/
|
|
23
|
+
previous() {
|
|
24
|
+
const previous = this.current.toDate();
|
|
25
|
+
previous.setMonth(previous.getMonth() - 1);
|
|
26
|
+
return this.createBy(CalendarDate.from(previous));
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* @inheritDoc
|
|
30
|
+
*/
|
|
31
|
+
createBy(current) {
|
|
32
|
+
return new MonthPeriod(current);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
MonthPeriod.DISPLAY_DATE_COUNT = 6 * 7;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { CalendarPeriod } from './calendar-period.abstract';
|
|
2
|
+
import { getWeekdays } from '../utils';
|
|
3
|
+
import { CalendarDate } from '../calendar-date';
|
|
4
|
+
/**
|
|
5
|
+
* Period of the week
|
|
6
|
+
*/
|
|
7
|
+
export class WeekPeriod extends CalendarPeriod {
|
|
8
|
+
constructor(current) {
|
|
9
|
+
super(WeekPeriod.DISPLAY_DATE_COUNT, current);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* @inheritDoc
|
|
13
|
+
*/
|
|
14
|
+
next() {
|
|
15
|
+
const nextWeekStartDate = this.current.toDate();
|
|
16
|
+
nextWeekStartDate.setDate(nextWeekStartDate.getDate() - getWeekdays().indexOf(nextWeekStartDate.getDay()) + 7);
|
|
17
|
+
return this.createBy(CalendarDate.from(nextWeekStartDate));
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* @inheritDoc
|
|
21
|
+
*/
|
|
22
|
+
previous() {
|
|
23
|
+
const previousWeekStartDate = this.current.toDate();
|
|
24
|
+
previousWeekStartDate.setDate(previousWeekStartDate.getDate() - getWeekdays().indexOf(previousWeekStartDate.getDay()) - 7);
|
|
25
|
+
return this.createBy(CalendarDate.from(previousWeekStartDate));
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @inheritDoc
|
|
29
|
+
*/
|
|
30
|
+
createBy(current) {
|
|
31
|
+
return new WeekPeriod(current);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
WeekPeriod.DISPLAY_DATE_COUNT = 7;
|
package/dist/collection/helpers/calendar/calendar-view-generator/calendar-view-generator.abstract.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { getWeekdays } from '../utils';
|
|
2
|
+
/**
|
|
3
|
+
* Calendar view generator abstract class.
|
|
4
|
+
*/
|
|
5
|
+
export class CalendarViewGenerator {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.WEEKDAYS_SHORT = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
|
|
8
|
+
this.weekdays = getWeekdays();
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Get weekday names.
|
|
12
|
+
*
|
|
13
|
+
* @returns {string[]} - The weekday strings
|
|
14
|
+
*/
|
|
15
|
+
getWeekdayNames() {
|
|
16
|
+
return this.WEEKDAYS_SHORT;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Generate calendar dates
|
|
20
|
+
*
|
|
21
|
+
* @param {CalendarPeriod} period - The calendar period
|
|
22
|
+
* @returns {Date[]} - The date result
|
|
23
|
+
*/
|
|
24
|
+
generateDates(period) {
|
|
25
|
+
const cursor = period.startDate.toDate();
|
|
26
|
+
const dates = [];
|
|
27
|
+
for (let i = 0; i < period.count; i++) {
|
|
28
|
+
dates.push(new Date(cursor));
|
|
29
|
+
cursor.setDate(cursor.getDate() + 1);
|
|
30
|
+
}
|
|
31
|
+
return dates;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Generate calendar head
|
|
35
|
+
*
|
|
36
|
+
* @returns {string[]} - The data of week head
|
|
37
|
+
*/
|
|
38
|
+
generateWeekHead() {
|
|
39
|
+
return this.weekdays.map((day) => this.getWeekdayNames()[day]);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CalendarViewGenerator } from './calendar-view-generator.abstract';
|
|
2
|
+
import { CalendarView } from '../calendar-view';
|
|
3
|
+
/**
|
|
4
|
+
* Day view calendar generator
|
|
5
|
+
*/
|
|
6
|
+
export class DayViewGenerator extends CalendarViewGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* @inheritDoc
|
|
9
|
+
*/
|
|
10
|
+
generate(period) {
|
|
11
|
+
return new CalendarView([this.generateWeekHead()[period.current.toDate().getDay()]], [[period.current]]);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { CalendarViewGenerator } from './calendar-view-generator.abstract';
|
|
2
|
+
import { CalendarDate } from '../calendar-date';
|
|
3
|
+
import { CalendarView } from '../calendar-view';
|
|
4
|
+
/**
|
|
5
|
+
* Calendar month view generator
|
|
6
|
+
*/
|
|
7
|
+
export class MonthViewGenerator extends CalendarViewGenerator {
|
|
8
|
+
/**
|
|
9
|
+
* @inheritDoc
|
|
10
|
+
*/
|
|
11
|
+
generate(period) {
|
|
12
|
+
const calendarDates = [];
|
|
13
|
+
let week = [];
|
|
14
|
+
const dates = this.generateDates(period);
|
|
15
|
+
dates.forEach((date, i) => {
|
|
16
|
+
if (!(i % 7)) {
|
|
17
|
+
calendarDates[i / 7] = week = [];
|
|
18
|
+
}
|
|
19
|
+
const item = CalendarDate.from(date);
|
|
20
|
+
week.push(item);
|
|
21
|
+
});
|
|
22
|
+
return new CalendarView(this.generateWeekHead(), calendarDates);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CalendarViewGenerator } from './calendar-view-generator.abstract';
|
|
2
|
+
import { CalendarDate } from '../calendar-date';
|
|
3
|
+
import { CalendarView } from '../calendar-view';
|
|
4
|
+
/**
|
|
5
|
+
* Calendar week view generator
|
|
6
|
+
*/
|
|
7
|
+
export class WeekViewGenerator extends CalendarViewGenerator {
|
|
8
|
+
/**
|
|
9
|
+
* @inheritDoc
|
|
10
|
+
*/
|
|
11
|
+
generate(period) {
|
|
12
|
+
const dates = this.generateDates(period);
|
|
13
|
+
return new CalendarView(this.generateWeekHead(), [dates.map(CalendarDate.from)]);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calendar view
|
|
3
|
+
*/
|
|
4
|
+
export class CalendarView {
|
|
5
|
+
constructor(weekdays, dateItems) {
|
|
6
|
+
this._weekdays = weekdays;
|
|
7
|
+
this._dateItems = dateItems;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* The week head of the calendar view
|
|
11
|
+
*
|
|
12
|
+
* @type {string[]}
|
|
13
|
+
*/
|
|
14
|
+
get weekdays() {
|
|
15
|
+
return this._weekdays;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* The date items of the calendar view
|
|
19
|
+
*
|
|
20
|
+
* @type {CalendarDate[][]}
|
|
21
|
+
*/
|
|
22
|
+
get dateItems() {
|
|
23
|
+
return this._dateItems;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { CalendarViewGenerator } from './calendar-view-generator/calendar-view-generator.abstract';
|
|
2
|
+
export { DayViewGenerator } from './calendar-view-generator/day-view-generator';
|
|
3
|
+
export { WeekViewGenerator } from './calendar-view-generator/week-view-generator';
|
|
4
|
+
export { MonthViewGenerator } from './calendar-view-generator/month-view-generator';
|
|
5
|
+
export { CalendarPeriod } from './calendar-period/calendar-period.abstract';
|
|
6
|
+
export { DayPeriod } from './calendar-period/day-period';
|
|
7
|
+
export { WeekPeriod } from './calendar-period/week-period';
|
|
8
|
+
export { MonthPeriod } from './calendar-period/month-period';
|
|
9
|
+
export { CalendarDate } from './calendar-date';
|
|
10
|
+
export { CalendarView } from './calendar-view';
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { CalendarDate } from '../calendar-date';
|
|
2
|
+
describe('calendar-date', () => {
|
|
3
|
+
it('should new a calendar date with value', () => {
|
|
4
|
+
const calendarDate = new CalendarDate(2024, 2, 10);
|
|
5
|
+
const { year, month, date } = calendarDate;
|
|
6
|
+
expect({ year, month, date }).toEqual({
|
|
7
|
+
year: 2024,
|
|
8
|
+
month: 2,
|
|
9
|
+
date: 10,
|
|
10
|
+
});
|
|
11
|
+
});
|
|
12
|
+
it('should new a calendar date by from a date', () => {
|
|
13
|
+
const today = new Date();
|
|
14
|
+
const calendarDate = CalendarDate.from(today);
|
|
15
|
+
const { year, month, date } = calendarDate;
|
|
16
|
+
expect({ year, month, date }).toEqual({
|
|
17
|
+
year: today.getFullYear(),
|
|
18
|
+
month: today.getMonth() + 1,
|
|
19
|
+
date: today.getDate(),
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
it('should change the date value by setter', () => {
|
|
23
|
+
const calendarDate = new CalendarDate(2024, 2, 10);
|
|
24
|
+
calendarDate.year = 2022;
|
|
25
|
+
calendarDate.month = 5;
|
|
26
|
+
calendarDate.date = 4;
|
|
27
|
+
const { year, month, date } = calendarDate;
|
|
28
|
+
expect({ year, month, date }).toEqual({
|
|
29
|
+
year: 2022,
|
|
30
|
+
month: 5,
|
|
31
|
+
date: 4,
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
it('should return as expected when call isToday', () => {
|
|
35
|
+
expect(new CalendarDate(2024, 2, 10).isToday()).toBeFalsy();
|
|
36
|
+
expect(CalendarDate.from(new Date()).isToday()).toBeTruthy();
|
|
37
|
+
});
|
|
38
|
+
it('should return a date object when call toDate', () => {
|
|
39
|
+
expect(new CalendarDate(2024, 2, 10).toDate()).toEqual(new Date(2024, 1, 10));
|
|
40
|
+
});
|
|
41
|
+
it('should return compare result when call compare', () => {
|
|
42
|
+
const calendarDate = new CalendarDate(2024, 2, 10);
|
|
43
|
+
const nextMonths = [
|
|
44
|
+
[2024, 3, 10],
|
|
45
|
+
[2025, 2, 10],
|
|
46
|
+
];
|
|
47
|
+
const previousMonths = [
|
|
48
|
+
[2024, 1, 10],
|
|
49
|
+
[2023, 2, 10],
|
|
50
|
+
];
|
|
51
|
+
nextMonths.forEach((date) => {
|
|
52
|
+
expect(calendarDate.compare(new CalendarDate(...date))).toEqual({
|
|
53
|
+
inMonth: false,
|
|
54
|
+
isNextMonth: false,
|
|
55
|
+
isPreviousMonth: true,
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
previousMonths.forEach((date) => {
|
|
59
|
+
expect(calendarDate.compare(new CalendarDate(...date))).toEqual({
|
|
60
|
+
inMonth: false,
|
|
61
|
+
isNextMonth: true,
|
|
62
|
+
isPreviousMonth: false,
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
expect(calendarDate.compare(new CalendarDate(2024, 2, 3))).toEqual({
|
|
66
|
+
inMonth: true,
|
|
67
|
+
isNextMonth: false,
|
|
68
|
+
isPreviousMonth: false,
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
});
|