@lifesg/react-design-system 4.0.0-alpha.2 → 4.0.0-alpha.3
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/_virtual/index.js +1 -1
- package/_virtual/index3.js +1 -1
- package/alert/alert.js +1 -1
- package/alert/alert.js.map +1 -1
- package/animations/loading-dots-spinner/loading-dots-spinner.js +1 -1
- package/animations/loading-dots-spinner/loading-dots-spinner.js.map +1 -1
- package/badge/badge.js +1 -1
- package/badge/badge.js.map +1 -1
- package/box-container/box-container.js +1 -1
- package/box-container/box-container.js.map +1 -1
- package/breadcrumb/breadcrumb.js +1 -1
- package/breadcrumb/breadcrumb.js.map +1 -1
- package/button/button.js +1 -1
- package/button/button.js.map +1 -1
- package/button/button.styles.d.ts +1 -0
- package/button/button.styles.js +1 -1
- package/button/button.styles.js.map +1 -1
- package/{cjs/button/button.styles_142m6cx.css → button/button.styles_bcpkzm.css} +2 -1
- package/cjs/_virtual/index.js +1 -1
- package/cjs/_virtual/index3.js +1 -1
- package/cjs/alert/alert.js +1 -1
- package/cjs/alert/alert.js.map +1 -1
- package/cjs/animations/loading-dots-spinner/loading-dots-spinner.js +1 -1
- package/cjs/animations/loading-dots-spinner/loading-dots-spinner.js.map +1 -1
- package/cjs/badge/badge.js +1 -1
- package/cjs/badge/badge.js.map +1 -1
- package/cjs/box-container/box-container.js +1 -1
- package/cjs/box-container/box-container.js.map +1 -1
- package/cjs/breadcrumb/breadcrumb.js +1 -1
- package/cjs/breadcrumb/breadcrumb.js.map +1 -1
- package/cjs/button/button.js +1 -1
- package/cjs/button/button.js.map +1 -1
- package/cjs/button/button.styles.js +1 -1
- package/cjs/button/button.styles.js.map +1 -1
- package/{button/button.styles_142m6cx.css → cjs/button/button.styles_bcpkzm.css} +2 -1
- package/cjs/countdown-timer/countdown-timer.js +1 -1
- package/cjs/countdown-timer/countdown-timer.js.map +1 -1
- package/cjs/countdown-timer/countdown-timer.styles.js +2 -0
- package/cjs/countdown-timer/countdown-timer.styles.js.map +1 -0
- package/cjs/countdown-timer/countdown-timer.styles_k50tkw.css +8 -0
- package/cjs/dashed-border/dashed-border.js +1 -1
- package/cjs/dashed-border/dashed-border.js.map +1 -1
- package/cjs/data-table/data-table.js +1 -1
- package/cjs/data-table/data-table.js.map +1 -1
- package/cjs/data-table/data-table.styles.js +1 -152
- package/cjs/data-table/data-table.styles.js.map +1 -1
- package/cjs/data-table/data-table.styles_1nj2uzq.css +26 -0
- package/cjs/date-input/date-input.js +1 -1
- package/cjs/date-input/date-input.js.map +1 -1
- package/cjs/date-input/date-input.styles.js +2 -0
- package/cjs/date-input/date-input.styles.js.map +1 -0
- package/cjs/date-input/date-input.styles_1r5kcc7.css +1 -0
- package/cjs/date-range-input/date-range-input.js +1 -1
- package/cjs/date-range-input/date-range-input.js.map +1 -1
- package/cjs/date-range-input/date-range-input.styles.js +2 -0
- package/cjs/date-range-input/date-range-input.styles.js.map +1 -0
- package/cjs/date-range-input/date-range-input.styles_1s7ojnj.css +4 -0
- package/cjs/divider/divider.js +1 -1
- package/cjs/divider/divider.js.map +1 -1
- package/cjs/e-signature/e-signature.js +1 -1
- package/cjs/e-signature/e-signature.js.map +1 -1
- package/cjs/e-signature/e-signature.styles.js +18 -18
- package/cjs/e-signature/e-signature.styles.js.map +1 -1
- package/cjs/error-display/error-display-data.js +1 -1
- package/cjs/error-display/error-display-data.js.map +1 -1
- package/cjs/error-display/error-display.js +1 -1
- package/cjs/error-display/error-display.js.map +1 -1
- package/cjs/error-display/helper.js +1 -1
- package/cjs/error-display/helper.js.map +1 -1
- package/cjs/external/lodash/isNumber.js +2 -0
- package/cjs/external/lodash/isNumber.js.map +1 -0
- package/cjs/external/lodash.clonedeep/index.js +1 -1
- package/cjs/external/lottie-colorify/lib/index.js +1 -1
- package/cjs/external/lottie-colorify/lib/index.js.map +1 -1
- package/cjs/external/prop-types/external/react-is/index.js +1 -1
- package/cjs/external/prop-types/index.js +1 -1
- package/cjs/external/prop-types/index.js.map +1 -1
- package/cjs/feedback-rating/feedback-rating-stars-container.js +1 -1
- package/cjs/feedback-rating/feedback-rating-stars-container.js.map +1 -1
- package/cjs/feedback-rating/feedback-rating-stars-container.styles.js +1 -36
- package/cjs/feedback-rating/feedback-rating-stars-container.styles.js.map +1 -1
- package/cjs/feedback-rating/feedback-rating-stars-container.styles_dmi8z9.css +4 -0
- package/cjs/feedback-rating/feedback-rating.js +1 -1
- package/cjs/feedback-rating/feedback-rating.js.map +1 -1
- package/cjs/feedback-rating/feedback-rating.styles.js +1 -37
- package/cjs/feedback-rating/feedback-rating.styles.js.map +1 -1
- package/cjs/feedback-rating/feedback-rating.styles_1kdklb6.css +4 -0
- package/cjs/file-download/file-list-card/file-list-card.js +1 -1
- package/cjs/file-download/file-list-card/file-list-card.js.map +1 -1
- package/cjs/file-upload/dropzone.js +1 -1
- package/cjs/file-upload/dropzone.js.map +1 -1
- package/cjs/file-upload/dropzone.styles.js +1 -34
- package/cjs/file-upload/dropzone.styles.js.map +1 -1
- package/cjs/file-upload/dropzone.styles_1pllsau.css +6 -0
- package/cjs/file-upload/file-item-edit.js +1 -1
- package/cjs/file-upload/file-item-edit.js.map +1 -1
- package/cjs/file-upload/file-item-edit.styles.js +1 -66
- package/cjs/file-upload/file-item-edit.styles.js.map +1 -1
- package/cjs/file-upload/file-item-edit.styles_1qbpbxj.css +10 -0
- package/cjs/file-upload/file-list-item/file-list-item-thumbnail.js +1 -34
- package/cjs/file-upload/file-list-item/file-list-item-thumbnail.js.map +1 -1
- package/cjs/file-upload/file-list-item/file-list-item-thumbnail.styles.js +2 -0
- package/cjs/file-upload/file-list-item/file-list-item-thumbnail.styles.js.map +1 -0
- package/cjs/file-upload/file-list-item/file-list-item-thumbnail.styles_1vrh1ve.css +4 -0
- package/cjs/file-upload/file-list-item/file-list-item.js +1 -1
- package/cjs/file-upload/file-list-item/file-list-item.js.map +1 -1
- package/cjs/file-upload/file-list-item/file-list-item.styles.js +1 -174
- package/cjs/file-upload/file-list-item/file-list-item.styles.js.map +1 -1
- package/cjs/file-upload/file-list-item/file-list-item.styles_y7my2m.css +14 -0
- package/cjs/file-upload/file-list.js +1 -1
- package/cjs/file-upload/file-list.js.map +1 -1
- package/cjs/file-upload/file-list.styles.js +1 -20
- package/cjs/file-upload/file-list.styles.js.map +1 -1
- package/cjs/file-upload/file-list.styles_16vplxk.css +3 -0
- package/cjs/file-upload/file-upload.js +1 -1
- package/cjs/file-upload/file-upload.js.map +1 -1
- package/cjs/file-upload/file-upload.styles.js +1 -40
- package/cjs/file-upload/file-upload.styles.js.map +1 -1
- package/cjs/file-upload/file-upload.styles_9ffwcd.css +8 -0
- package/cjs/filter/addons/filter-item-checkbox.js +1 -1
- package/cjs/filter/addons/filter-item-checkbox.js.map +1 -1
- package/cjs/filter/addons/filter-item-checkbox.styles.js +1 -72
- package/cjs/filter/addons/filter-item-checkbox.styles.js.map +1 -1
- package/cjs/filter/addons/filter-item-checkbox.styles_18l87i2.css +16 -0
- package/cjs/filter/filter-item-page.js +1 -1
- package/cjs/filter/filter-item-page.js.map +1 -1
- package/cjs/filter/filter-item-page.styles.js +1 -7
- package/cjs/filter/filter-item-page.styles.js.map +1 -1
- package/cjs/filter/filter-item-page.styles_17ewfrz.css +1 -0
- package/cjs/filter/filter-item.js +1 -1
- package/cjs/filter/filter-item.js.map +1 -1
- package/cjs/filter/filter-item.styles.js +1 -63
- package/cjs/filter/filter-item.styles.js.map +1 -1
- package/cjs/filter/filter-item.styles_1e3v6qq.css +17 -0
- package/cjs/filter/filter-modal.js +1 -1
- package/cjs/filter/filter-modal.js.map +1 -1
- package/cjs/filter/filter-modal.styles.js +1 -29
- package/cjs/filter/filter-modal.styles.js.map +1 -1
- package/cjs/filter/filter-modal.styles_e0ev97.css +8 -0
- package/cjs/filter/filter-sidebar.js +1 -1
- package/cjs/filter/filter-sidebar.js.map +1 -1
- package/cjs/filter/filter-sidebar.styles.js +1 -23
- package/cjs/filter/filter-sidebar.styles.js.map +1 -1
- package/cjs/filter/filter-sidebar.styles_cwvqql.css +4 -0
- package/cjs/filter/filter.js +1 -1
- package/cjs/filter/filter.js.map +1 -1
- package/cjs/filter/filter.styles.js +1 -26
- package/cjs/filter/filter.styles.js.map +1 -1
- package/cjs/filter/filter.styles_2fmaok.css +5 -0
- package/cjs/form/form-label-addon.js +1 -1
- package/cjs/form/form-label-addon.js.map +1 -1
- package/cjs/form/form-masked-input.js +1 -1
- package/cjs/form/form-masked-input.js.map +1 -1
- package/cjs/form/form-time-range-picker.js +1 -1
- package/cjs/form/form-time-range-picker.js.map +1 -1
- package/cjs/form/index.js.map +1 -1
- package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.js +1 -1
- package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.js.map +1 -1
- package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.styles.js +2 -0
- package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.styles.js.map +1 -0
- package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.styles_vc6y5c.css +75 -0
- package/cjs/fullscreen-image-carousel/stateful-image.js +1 -1
- package/cjs/fullscreen-image-carousel/stateful-image.js.map +1 -1
- package/cjs/fullscreen-image-carousel/stateful-image.styles.js +2 -0
- package/cjs/fullscreen-image-carousel/stateful-image.styles.js.map +1 -0
- package/cjs/fullscreen-image-carousel/stateful-image.styles_1xe8ypm.css +3 -0
- package/cjs/histogram-slider/histogram-slider.js +1 -1
- package/cjs/histogram-slider/histogram-slider.js.map +1 -1
- package/cjs/index.js +1 -1
- package/cjs/input-group/input-group-list-addon.js +1 -1
- package/cjs/input-group/input-group-list-addon.js.map +1 -1
- package/cjs/input-group/input-group-list-addon.styles.js +1 -1
- package/cjs/input-group/input-group-list-addon.styles.js.map +1 -1
- package/{input-group/input-group-list-addon.styles_1my6j2v.css → cjs/input-group/input-group-list-addon.styles_17iuqtw.css} +2 -2
- package/cjs/input-group/input-group.js +1 -1
- package/cjs/input-group/input-group.js.map +1 -1
- package/cjs/input-multi-select/input-multi-select.js +1 -1
- package/cjs/input-multi-select/input-multi-select.js.map +1 -1
- package/cjs/input-nested-multi-select/input-nested-multi-select.js +1 -1
- package/cjs/input-nested-multi-select/input-nested-multi-select.js.map +1 -1
- package/cjs/input-nested-select/input-nested-select.js +1 -1
- package/cjs/input-nested-select/input-nested-select.js.map +1 -1
- package/cjs/input-range-select/input-range-select.js +1 -1
- package/cjs/input-range-select/input-range-select.js.map +1 -1
- package/cjs/input-range-select/input-range-select.styles.js +2 -0
- package/cjs/input-range-select/input-range-select.styles.js.map +1 -0
- package/cjs/input-range-select/input-range-select.styles_adbrbm.css +2 -0
- package/cjs/input-range-slider/input-range-slider.js +1 -1
- package/cjs/input-range-slider/input-range-slider.js.map +1 -1
- package/cjs/input-range-slider/slider-components.js +1 -1
- package/cjs/input-range-slider/slider-components.js.map +1 -1
- package/cjs/input-select/input-select.js +1 -1
- package/cjs/input-select/input-select.js.map +1 -1
- package/cjs/language-switcher/dropdown-panel.js +2 -0
- package/cjs/language-switcher/dropdown-panel.js.map +1 -0
- package/cjs/language-switcher/dropdown-panel.styles.js +2 -0
- package/cjs/language-switcher/dropdown-panel.styles.js.map +1 -0
- package/cjs/language-switcher/dropdown-panel.styles_1z0n7qq.css +4 -0
- package/cjs/language-switcher/dropdown-variant.js +1 -1
- package/cjs/language-switcher/dropdown-variant.js.map +1 -1
- package/cjs/language-switcher/dropdown-variant.styles.js +2 -0
- package/cjs/language-switcher/dropdown-variant.styles.js.map +1 -0
- package/cjs/language-switcher/dropdown-variant.styles_16c4wc1.css +2 -0
- package/cjs/language-switcher/link-container-variant.js +1 -1
- package/cjs/language-switcher/link-container-variant.js.map +1 -1
- package/cjs/language-switcher/link-container-variant.styles.js +2 -0
- package/cjs/language-switcher/link-container-variant.styles.js.map +1 -0
- package/cjs/language-switcher/link-container-variant.styles_1blx9qm.css +5 -0
- package/cjs/layout/col-div.js +1 -1
- package/cjs/layout/col-div.js.map +1 -1
- package/cjs/link-list/components/common.js +1 -1
- package/cjs/link-list/components/common.js.map +1 -1
- package/cjs/link-list/components/link-list-eager.js +1 -1
- package/cjs/link-list/components/link-list-eager.js.map +1 -1
- package/cjs/link-list/components/link-list-lazy.js +1 -1
- package/cjs/link-list/components/link-list-lazy.js.map +1 -1
- package/cjs/link-list/link-list.js +1 -1
- package/cjs/link-list/link-list.js.map +1 -1
- package/cjs/link-list/link-list.styles.js +1 -89
- package/cjs/link-list/link-list.styles.js.map +1 -1
- package/cjs/link-list/link-list.styles_1g33nb4.css +13 -0
- package/cjs/local-nav/local-nav-dropdown/local-nav-dropdown.js +1 -1
- package/cjs/local-nav/local-nav-dropdown/local-nav-dropdown.js.map +1 -1
- package/cjs/local-nav/local-nav-dropdown/local-nav-dropdown.styles.js +1 -100
- package/cjs/local-nav/local-nav-dropdown/local-nav-dropdown.styles.js.map +1 -1
- package/cjs/local-nav/local-nav-dropdown/local-nav-dropdown.styles_ftv36t.css +13 -0
- package/cjs/local-nav/local-nav-menu/local-nav-menu.js +1 -1
- package/cjs/local-nav/local-nav-menu/local-nav-menu.js.map +1 -1
- package/cjs/local-nav/local-nav-menu/local-nav-menu.styles.js +1 -39
- package/cjs/local-nav/local-nav-menu/local-nav-menu.styles.js.map +1 -1
- package/cjs/local-nav/local-nav-menu/local-nav-menu.styles_pq19dh.css +5 -0
- package/cjs/markup/markup.js +1 -1
- package/cjs/markup/markup.js.map +1 -1
- package/cjs/masked-input/masked-input.js +1 -1
- package/cjs/masked-input/masked-input.js.map +1 -1
- package/cjs/masked-input/masked-input.styles.js +2 -0
- package/cjs/masked-input/masked-input.styles.js.map +1 -0
- package/cjs/masked-input/masked-input.styles_4i1qsy.css +16 -0
- package/cjs/menu/menu-content.js +1 -1
- package/cjs/menu/menu-content.js.map +1 -1
- package/cjs/menu/menu-content.styles.js +1 -1
- package/cjs/menu/menu-content.styles.js.map +1 -1
- package/cjs/menu/{menu-content.styles_1b7d6qf.css → menu-content.styles_p7ijll.css} +1 -1
- package/cjs/menu/menu.js +1 -1
- package/cjs/menu/menu.js.map +1 -1
- package/cjs/modal/modal.js +1 -1
- package/cjs/modal/modal.js.map +1 -1
- package/cjs/modal-v2/modal-v2.js +1 -1
- package/cjs/modal-v2/modal-v2.js.map +1 -1
- package/cjs/navbar/brand.js +1 -1
- package/cjs/navbar/brand.js.map +1 -1
- package/cjs/navbar/brand.styles.js +1 -12
- package/cjs/navbar/brand.styles.js.map +1 -1
- package/cjs/navbar/brand.styles_zcgddp.css +1 -0
- package/cjs/navbar/drawer.js +1 -1
- package/cjs/navbar/drawer.js.map +1 -1
- package/cjs/navbar/drawer.styles.js +1 -65
- package/cjs/navbar/drawer.styles.js.map +1 -1
- package/cjs/navbar/drawer.styles_7hnxp5.css +8 -0
- package/cjs/navbar/menu.js +1 -1
- package/cjs/navbar/menu.js.map +1 -1
- package/cjs/navbar/menu.styles.js +1 -34
- package/cjs/navbar/menu.styles.js.map +1 -1
- package/cjs/navbar/menu.styles_gdpqc.css +3 -0
- package/cjs/navbar/navbar-action-buttons.js +1 -1
- package/cjs/navbar/navbar-action-buttons.js.map +1 -1
- package/cjs/navbar/navbar-action-buttons.styles.js +1 -100
- package/cjs/navbar/navbar-action-buttons.styles.js.map +1 -1
- package/cjs/navbar/navbar-action-buttons.styles_1vpm0nk.css +10 -0
- package/cjs/navbar/navbar-items.js +1 -1
- package/cjs/navbar/navbar-items.js.map +1 -1
- package/cjs/navbar/navbar-items.styles.js +1 -114
- package/cjs/navbar/navbar-items.styles.js.map +1 -1
- package/cjs/navbar/navbar-items.styles_i9cunu.css +19 -0
- package/cjs/navbar/navbar-logo-data.js +1 -1
- package/cjs/navbar/navbar-logo-data.js.map +1 -1
- package/cjs/navbar/navbar.js +1 -1
- package/cjs/navbar/navbar.js.map +1 -1
- package/cjs/navbar/navbar.styles.js +1 -79
- package/cjs/navbar/navbar.styles.js.map +1 -1
- package/cjs/navbar/navbar.styles_koy0c7.css +20 -0
- package/cjs/notification-banner/notification-banner.js +1 -1
- package/cjs/notification-banner/notification-banner.js.map +1 -1
- package/cjs/notification-banner/notification-banner.styles.js +1 -111
- package/cjs/notification-banner/notification-banner.styles.js.map +1 -1
- package/cjs/notification-banner/notification-banner.styles_130loac.css +12 -0
- package/cjs/otp-input/otp-input.js +1 -1
- package/cjs/otp-input/otp-input.js.map +1 -1
- package/cjs/otp-input/otp-input.styles.js +1 -22
- package/cjs/otp-input/otp-input.styles.js.map +1 -1
- package/cjs/otp-input/otp-input.styles_5sbutl.css +5 -0
- package/cjs/otp-verification/contact-input-section-styles.js +18 -16
- package/cjs/otp-verification/contact-input-section-styles.js.map +1 -1
- package/cjs/otp-verification/contact-input-section.js +1 -1
- package/cjs/otp-verification/contact-input-section.js.map +1 -1
- package/cjs/otp-verification/verification-section.js +1 -1
- package/cjs/otp-verification/verification-section.js.map +1 -1
- package/cjs/overlay/overlay.js +1 -1
- package/cjs/overlay/overlay.js.map +1 -1
- package/cjs/pagination/pagination.js +1 -1
- package/cjs/pagination/pagination.js.map +1 -1
- package/cjs/popover/index.js +1 -1
- package/{popover-v2 → cjs/popover}/popover-inline/popover-inline.js.map +1 -1
- package/cjs/popover/popover-inline/popover-inline.styles.js +2 -0
- package/{popover-v2 → cjs/popover}/popover-inline/popover-inline.styles.js.map +1 -1
- package/cjs/popover/popover-inline/popover-inline.styles_bkopnt.css +2 -0
- package/cjs/popover/popover-trigger.js +2 -0
- package/cjs/popover/popover-trigger.js.map +1 -0
- package/cjs/popover/popover-trigger.styles.js +2 -0
- package/{popover-v2 → cjs/popover}/popover-trigger.styles.js.map +1 -1
- package/cjs/popover/popover-trigger.styles_8zokig.css +1 -0
- package/cjs/popover/popover.js +1 -1
- package/cjs/popover/popover.js.map +1 -1
- package/cjs/popover/popover.styles.js +1 -74
- package/cjs/popover/popover.styles.js.map +1 -1
- package/cjs/popover/popover.styles_ujnf0h.css +4 -0
- package/cjs/predictive-text-input/predictive-text-input.js +1 -1
- package/cjs/predictive-text-input/predictive-text-input.js.map +1 -1
- package/cjs/progress-indicator/progress-indicator.js +1 -1
- package/cjs/progress-indicator/progress-indicator.js.map +1 -1
- package/cjs/progress-indicator/progress-indicator.styles.js +2 -0
- package/cjs/progress-indicator/progress-indicator.styles.js.map +1 -0
- package/cjs/progress-indicator/progress-indicator.styles_1c038s4.css +8 -0
- package/cjs/schedule/schedule.js +1 -1
- package/cjs/schedule/schedule.js.map +1 -1
- package/cjs/schedule/shared/with-optional-popover.js +1 -1
- package/cjs/schedule/shared/with-optional-popover.js.map +1 -1
- package/cjs/select-histogram/select-histogram.js +1 -1
- package/cjs/select-histogram/select-histogram.js.map +1 -1
- package/cjs/select-histogram/select-histogram.styles.js +1 -37
- package/cjs/select-histogram/select-histogram.styles.js.map +1 -1
- package/cjs/select-histogram/select-histogram.styles_11916eo.css +5 -0
- package/cjs/shared/component-loading-spinner/component-loading-spinner.js +1 -1
- package/cjs/shared/component-loading-spinner/component-loading-spinner.js.map +1 -1
- package/cjs/shared/dropdown-list/dropdown-label.js +1 -1
- package/cjs/shared/dropdown-list/dropdown-label.js.map +1 -1
- package/cjs/shared/dropdown-list/dropdown-list.js +1 -1
- package/cjs/shared/dropdown-list/dropdown-list.js.map +1 -1
- package/cjs/shared/dropdown-list/dropdown-list.styles.js +1 -1
- package/cjs/shared/dropdown-list/dropdown-list.styles.js.map +1 -1
- package/{shared/dropdown-list/dropdown-list.styles_1qveyb9.css → cjs/shared/dropdown-list/dropdown-list.styles_1kt4zhf.css} +3 -6
- package/cjs/shared/dropdown-list/nested-dropdown-list.js +1 -1
- package/cjs/shared/dropdown-list/nested-dropdown-list.js.map +1 -1
- package/cjs/shared/dropdown-wrapper/element-with-dropdown.js +1 -1
- package/cjs/shared/dropdown-wrapper/element-with-dropdown.js.map +1 -1
- package/cjs/shared/fade-wrapper/fade-wrapper.js +1 -1
- package/cjs/shared/fade-wrapper/fade-wrapper.js.map +1 -1
- package/cjs/shared/fade-wrapper/helpers.js +1 -1
- package/cjs/shared/fade-wrapper/helpers.js.map +1 -1
- package/cjs/shared/input-wrapper/input-wrapper.js +1 -1
- package/cjs/shared/input-wrapper/input-wrapper.js.map +1 -1
- package/cjs/shared/input-wrapper/input-wrapper.styles.js +1 -1
- package/cjs/shared/input-wrapper/input-wrapper.styles.js.map +1 -1
- package/cjs/shared/input-wrapper/{input-wrapper.styles_1kc4xhb.css → input-wrapper.styles_19fpzb.css} +3 -0
- package/cjs/shared/internal-calendar/calendar-dropdown.js +1 -1
- package/cjs/shared/internal-calendar/calendar-dropdown.js.map +1 -1
- package/cjs/shared/progress-bar/progress-bar.js +1 -1
- package/cjs/shared/progress-bar/progress-bar.js.map +1 -1
- package/cjs/shared/standalone-date-input/standalone-date-input.js +1 -1
- package/cjs/shared/standalone-date-input/standalone-date-input.js.map +1 -1
- package/cjs/shared/standalone-date-input/standalone-date-input.styles.js +1 -1
- package/cjs/shared/standalone-date-input/standalone-date-input.styles.js.map +1 -1
- package/{shared/standalone-date-input/standalone-date-input.styles_1mqophx.css → cjs/shared/standalone-date-input/standalone-date-input.styles_1m0da43.css} +10 -11
- package/cjs/shared/time-slot/time-slot.js +2 -0
- package/cjs/shared/time-slot/time-slot.js.map +1 -0
- package/cjs/shared/time-slot/time-slot.styles.js +2 -0
- package/cjs/shared/time-slot/time-slot.styles.js.map +1 -0
- package/cjs/shared/time-slot/time-slot.styles_1r9na3f.css +17 -0
- package/cjs/smart-app-banner/smart-app-banner.js +1 -1
- package/cjs/smart-app-banner/smart-app-banner.js.map +1 -1
- package/cjs/smart-app-banner/smart-app-banner.styles.js +1 -93
- package/cjs/smart-app-banner/smart-app-banner.styles.js.map +1 -1
- package/cjs/smart-app-banner/smart-app-banner.styles_m5dtgh.css +16 -0
- package/cjs/tab/tab-link-chain.js +1 -1
- package/cjs/tab/tab-link-chain.js.map +1 -1
- package/cjs/text-list/ordered-list.js +1 -1
- package/cjs/text-list/ordered-list.js.map +1 -1
- package/cjs/text-list/unordered-list.js +1 -1
- package/cjs/text-list/unordered-list.js.map +1 -1
- package/cjs/theme/index.js +1 -1
- package/cjs/theme/theme-provider/breakpoint.js +1 -1
- package/cjs/theme/theme-provider/breakpoint.js.map +1 -1
- package/cjs/theme/tokens/font.js +1 -1
- package/cjs/theme/tokens/font.js.map +1 -1
- package/cjs/theme/utils/css-variable.js +1 -1
- package/cjs/theme/utils/css-variable.js.map +1 -1
- package/cjs/theme/utils/use-media-query.js +2 -0
- package/cjs/theme/utils/use-media-query.js.map +1 -0
- package/cjs/time-range-picker/combobox-picker/combobox-picker.js +1 -1
- package/cjs/time-range-picker/combobox-picker/combobox-picker.js.map +1 -1
- package/cjs/time-range-picker/combobox-picker/combobox-picker.styles.js +1 -6
- package/cjs/time-range-picker/combobox-picker/combobox-picker.styles.js.map +1 -1
- package/cjs/time-range-picker/combobox-picker/combobox-picker.styles_7i9vso.css +1 -0
- package/cjs/time-range-picker/common.styles.js +1 -10
- package/cjs/time-range-picker/common.styles.js.map +1 -1
- package/cjs/time-range-picker/common.styles_1qwp4xa.css +3 -0
- package/cjs/time-range-picker/dial-picker/dial-picker.js +1 -1
- package/cjs/time-range-picker/dial-picker/dial-picker.js.map +1 -1
- package/cjs/time-slot-bar/helper.js +1 -1
- package/cjs/time-slot-bar/helper.js.map +1 -1
- package/cjs/time-slot-bar/time-slot-bar.js +1 -1
- package/cjs/time-slot-bar/time-slot-bar.js.map +1 -1
- package/cjs/time-slot-bar/time-slot-bar.styles.js +1 -127
- package/cjs/time-slot-bar/time-slot-bar.styles.js.map +1 -1
- package/cjs/time-slot-bar/time-slot-bar.styles_wigbyd.css +25 -0
- package/cjs/time-slot-bar/time-slot-divider.js +2 -0
- package/cjs/time-slot-bar/time-slot-divider.js.map +1 -0
- package/cjs/time-slot-bar/time-slot-item.js +2 -0
- package/cjs/time-slot-bar/time-slot-item.js.map +1 -0
- package/cjs/time-slot-bar-week/time-slot-bar-week-days.js +1 -1
- package/cjs/time-slot-bar-week/time-slot-bar-week-days.js.map +1 -1
- package/cjs/time-slot-bar-week/time-slot-bar-week-days.style.js +25 -22
- package/cjs/time-slot-bar-week/time-slot-bar-week-days.style.js.map +1 -1
- package/cjs/time-slot-week-view/time-slot-week-days.js +1 -1
- package/cjs/time-slot-week-view/time-slot-week-days.js.map +1 -1
- package/cjs/time-slot-week-view/time-slot-week-days.style.js +16 -10
- package/cjs/time-slot-week-view/time-slot-week-days.style.js.map +1 -1
- package/cjs/timeline/timeline.js +1 -1
- package/cjs/timeline/timeline.js.map +1 -1
- package/cjs/timeline/timeline.styles.js +2 -0
- package/cjs/timeline/timeline.styles.js.map +1 -0
- package/cjs/timeline/timeline.styles_1wcnzot.css +9 -0
- package/cjs/timetable/const.js +1 -1
- package/cjs/timetable/const.js.map +1 -1
- package/cjs/timetable/timetable-header/timetable-header.js +1 -1
- package/cjs/timetable/timetable-header/timetable-header.js.map +1 -1
- package/cjs/timetable/timetable-header/timetable-header.styles.js +2 -0
- package/cjs/timetable/timetable-header/timetable-header.styles.js.map +1 -0
- package/cjs/timetable/timetable-header/timetable-header.styles_11gl1h4.css +6 -0
- package/cjs/timetable/timetable-row/row-bar.js +1 -1
- package/cjs/timetable/timetable-row/row-bar.js.map +1 -1
- package/cjs/timetable/timetable-row/row-bar.styles.js +2 -0
- package/cjs/timetable/timetable-row/row-bar.styles.js.map +1 -0
- package/cjs/timetable/timetable-row/row-bar.styles_1x0vrsz.css +1 -0
- package/cjs/timetable/timetable-row/row-cell.js +1 -1
- package/cjs/timetable/timetable-row/row-cell.js.map +1 -1
- package/cjs/timetable/timetable-row/row-cell.styles.js +2 -0
- package/cjs/timetable/timetable-row/row-cell.styles.js.map +1 -0
- package/cjs/timetable/timetable-row/row-cell.styles_y1dl5j.css +7 -0
- package/cjs/timetable/timetable-row/with-optional-popover.js +1 -1
- package/cjs/timetable/timetable-row/with-optional-popover.js.map +1 -1
- package/cjs/timetable/timetable.js +1 -1
- package/cjs/timetable/timetable.js.map +1 -1
- package/cjs/timetable/timetable.styles.js +2 -0
- package/cjs/timetable/timetable.styles.js.map +1 -0
- package/cjs/timetable/timetable.styles_7rp8kz.css +46 -0
- package/cjs/toast/toast.js +1 -1
- package/cjs/toast/toast.js.map +1 -1
- package/cjs/toast/toast.styles.js +1 -98
- package/cjs/toast/toast.styles.js.map +1 -1
- package/cjs/toast/toast.styles_ngrlup.css +8 -0
- package/cjs/toggle/toggle.js +1 -1
- package/cjs/toggle/toggle.js.map +1 -1
- package/cjs/typography/typography.js +1 -1
- package/cjs/typography/typography.js.map +1 -1
- package/cjs/uneditable-section/item-section.js +1 -1
- package/cjs/uneditable-section/item-section.js.map +1 -1
- package/cjs/uneditable-section/section-item.js +1 -1
- package/cjs/uneditable-section/section-item.js.map +1 -1
- package/cjs/uneditable-section/section-item.styles.js +1 -63
- package/cjs/uneditable-section/section-item.styles.js.map +1 -1
- package/cjs/uneditable-section/section-item.styles_1dfjzc4.css +9 -0
- package/cjs/uneditable-section/uneditable-section.js +1 -1
- package/cjs/uneditable-section/uneditable-section.js.map +1 -1
- package/cjs/uneditable-section/uneditable-section.styles.js +1 -39
- package/cjs/uneditable-section/uneditable-section.styles.js.map +1 -1
- package/cjs/uneditable-section/uneditable-section.styles_aj9zun.css +8 -0
- package/cjs/unit-number/unit-number-input.js +1 -1
- package/cjs/unit-number/unit-number-input.js.map +1 -1
- package/cjs/unit-number/unit-number-input.styles.js +2 -0
- package/cjs/unit-number/unit-number-input.styles.js.map +1 -0
- package/cjs/unit-number/unit-number-input.styles_8yizj.css +7 -0
- package/cjs/util/styling-helper.js +1 -1
- package/cjs/util/styling-helper.js.map +1 -1
- package/countdown-timer/countdown-timer.js +1 -1
- package/countdown-timer/countdown-timer.js.map +1 -1
- package/countdown-timer/countdown-timer.styles.d.ts +15 -0
- package/countdown-timer/countdown-timer.styles.js +2 -0
- package/countdown-timer/countdown-timer.styles.js.map +1 -0
- package/countdown-timer/countdown-timer.styles_k50tkw.css +8 -0
- package/dashed-border/dashed-border.js +1 -1
- package/dashed-border/dashed-border.js.map +1 -1
- package/data-table/data-table.js +1 -1
- package/data-table/data-table.js.map +1 -1
- package/data-table/data-table.styles.d.ts +30 -83
- package/data-table/data-table.styles.js +1 -152
- package/data-table/data-table.styles.js.map +1 -1
- package/data-table/data-table.styles_1nj2uzq.css +26 -0
- package/date-input/date-input.d.ts +1 -1
- package/date-input/date-input.js +1 -1
- package/date-input/date-input.js.map +1 -1
- package/date-input/date-input.styles.d.ts +1 -0
- package/date-input/date-input.styles.js +2 -0
- package/date-input/date-input.styles.js.map +1 -0
- package/date-input/date-input.styles_1r5kcc7.css +1 -0
- package/date-range-input/date-range-input.js +1 -1
- package/date-range-input/date-range-input.js.map +1 -1
- package/date-range-input/date-range-input.styles.d.ts +5 -0
- package/date-range-input/date-range-input.styles.js +2 -0
- package/date-range-input/date-range-input.styles.js.map +1 -0
- package/date-range-input/date-range-input.styles_1s7ojnj.css +4 -0
- package/divider/divider.d.ts +1 -1
- package/divider/divider.js +1 -1
- package/divider/divider.js.map +1 -1
- package/divider/types.d.ts +1 -2
- package/e-signature/e-signature.js +1 -1
- package/e-signature/e-signature.js.map +1 -1
- package/e-signature/e-signature.styles.js +5 -5
- package/e-signature/e-signature.styles.js.map +1 -1
- package/error-display/error-display-data.d.ts +2 -2
- package/error-display/error-display-data.js +1 -1
- package/error-display/error-display-data.js.map +1 -1
- package/error-display/error-display.js +1 -1
- package/error-display/error-display.js.map +1 -1
- package/error-display/helper.d.ts +1 -1
- package/error-display/helper.js +1 -1
- package/error-display/helper.js.map +1 -1
- package/external/lodash/isNumber.js +2 -0
- package/external/lodash/isNumber.js.map +1 -0
- package/external/lodash.clonedeep/index.js +1 -1
- package/external/lottie-colorify/lib/index.js +1 -1
- package/external/lottie-colorify/lib/index.js.map +1 -1
- package/external/prop-types/external/react-is/index.js +1 -1
- package/external/prop-types/index.js +1 -1
- package/external/prop-types/index.js.map +1 -1
- package/feedback-rating/feedback-rating-stars-container.js +1 -1
- package/feedback-rating/feedback-rating-stars-container.js.map +1 -1
- package/feedback-rating/feedback-rating-stars-container.styles.d.ts +4 -23
- package/feedback-rating/feedback-rating-stars-container.styles.js +1 -36
- package/feedback-rating/feedback-rating-stars-container.styles.js.map +1 -1
- package/feedback-rating/feedback-rating-stars-container.styles_dmi8z9.css +4 -0
- package/feedback-rating/feedback-rating.js +1 -1
- package/feedback-rating/feedback-rating.js.map +1 -1
- package/feedback-rating/feedback-rating.styles.d.ts +4 -4
- package/feedback-rating/feedback-rating.styles.js +1 -37
- package/feedback-rating/feedback-rating.styles.js.map +1 -1
- package/feedback-rating/feedback-rating.styles_1kdklb6.css +4 -0
- package/file-download/file-list-card/file-list-card.js +1 -1
- package/file-download/file-list-card/file-list-card.js.map +1 -1
- package/file-upload/dropzone.js +1 -1
- package/file-upload/dropzone.js.map +1 -1
- package/file-upload/dropzone.styles.d.ts +6 -34
- package/file-upload/dropzone.styles.js +1 -34
- package/file-upload/dropzone.styles.js.map +1 -1
- package/file-upload/dropzone.styles_1pllsau.css +6 -0
- package/file-upload/file-item-edit.js +1 -1
- package/file-upload/file-item-edit.js.map +1 -1
- package/file-upload/file-item-edit.styles.d.ts +8 -48
- package/file-upload/file-item-edit.styles.js +1 -66
- package/file-upload/file-item-edit.styles.js.map +1 -1
- package/file-upload/file-item-edit.styles_1qbpbxj.css +10 -0
- package/file-upload/file-list-item/file-list-item-thumbnail.d.ts +0 -7
- package/file-upload/file-list-item/file-list-item-thumbnail.js +1 -34
- package/file-upload/file-list-item/file-list-item-thumbnail.js.map +1 -1
- package/file-upload/file-list-item/file-list-item-thumbnail.styles.d.ts +4 -0
- package/file-upload/file-list-item/file-list-item-thumbnail.styles.js +2 -0
- package/file-upload/file-list-item/file-list-item-thumbnail.styles.js.map +1 -0
- package/file-upload/file-list-item/file-list-item-thumbnail.styles_1vrh1ve.css +4 -0
- package/file-upload/file-list-item/file-list-item.js +1 -1
- package/file-upload/file-list-item/file-list-item.js.map +1 -1
- package/file-upload/file-list-item/file-list-item.styles.d.ts +14 -170
- package/file-upload/file-list-item/file-list-item.styles.js +1 -174
- package/file-upload/file-list-item/file-list-item.styles.js.map +1 -1
- package/file-upload/file-list-item/file-list-item.styles_y7my2m.css +14 -0
- package/file-upload/file-list.js +1 -1
- package/file-upload/file-list.js.map +1 -1
- package/file-upload/file-list.styles.d.ts +3 -6
- package/file-upload/file-list.styles.js +1 -20
- package/file-upload/file-list.styles.js.map +1 -1
- package/file-upload/file-list.styles_16vplxk.css +3 -0
- package/file-upload/file-upload.js +1 -1
- package/file-upload/file-upload.js.map +1 -1
- package/file-upload/file-upload.styles.d.ts +8 -64
- package/file-upload/file-upload.styles.js +1 -40
- package/file-upload/file-upload.styles.js.map +1 -1
- package/file-upload/file-upload.styles_9ffwcd.css +8 -0
- package/filter/addons/filter-item-checkbox.js +1 -1
- package/filter/addons/filter-item-checkbox.js.map +1 -1
- package/filter/addons/filter-item-checkbox.styles.d.ts +15 -25
- package/filter/addons/filter-item-checkbox.styles.js +1 -72
- package/filter/addons/filter-item-checkbox.styles.js.map +1 -1
- package/filter/addons/filter-item-checkbox.styles_18l87i2.css +16 -0
- package/filter/filter-item-page.js +1 -1
- package/filter/filter-item-page.js.map +1 -1
- package/filter/filter-item-page.styles.d.ts +1 -1
- package/filter/filter-item-page.styles.js +1 -7
- package/filter/filter-item-page.styles.js.map +1 -1
- package/filter/filter-item-page.styles_17ewfrz.css +1 -0
- package/filter/filter-item.d.ts +1 -1
- package/filter/filter-item.js +1 -1
- package/filter/filter-item.js.map +1 -1
- package/filter/filter-item.styles.d.ts +22 -38
- package/filter/filter-item.styles.js +1 -63
- package/filter/filter-item.styles.js.map +1 -1
- package/filter/filter-item.styles_1e3v6qq.css +17 -0
- package/filter/filter-modal.d.ts +1 -1
- package/filter/filter-modal.js +1 -1
- package/filter/filter-modal.js.map +1 -1
- package/filter/filter-modal.styles.d.ts +12 -14
- package/filter/filter-modal.styles.js +1 -29
- package/filter/filter-modal.styles.js.map +1 -1
- package/filter/filter-modal.styles_e0ev97.css +8 -0
- package/filter/filter-sidebar.d.ts +1 -1
- package/filter/filter-sidebar.js +1 -1
- package/filter/filter-sidebar.js.map +1 -1
- package/filter/filter-sidebar.styles.d.ts +4 -4
- package/filter/filter-sidebar.styles.js +1 -23
- package/filter/filter-sidebar.styles.js.map +1 -1
- package/filter/filter-sidebar.styles_cwvqql.css +4 -0
- package/filter/filter.d.ts +3 -3
- package/filter/filter.js +1 -1
- package/filter/filter.js.map +1 -1
- package/filter/filter.styles.d.ts +9 -7
- package/filter/filter.styles.js +1 -26
- package/filter/filter.styles.js.map +1 -1
- package/filter/filter.styles_2fmaok.css +5 -0
- package/form/form-label-addon.js +1 -1
- package/form/form-label-addon.js.map +1 -1
- package/form/form-masked-input.js +1 -1
- package/form/form-masked-input.js.map +1 -1
- package/form/form-time-range-picker.js +1 -1
- package/form/form-time-range-picker.js.map +1 -1
- package/form/index.d.ts +1 -0
- package/form/index.js.map +1 -1
- package/fullscreen-image-carousel/fullscreen-image-carousel.js +1 -1
- package/fullscreen-image-carousel/fullscreen-image-carousel.js.map +1 -1
- package/fullscreen-image-carousel/fullscreen-image-carousel.styles.d.ts +40 -0
- package/fullscreen-image-carousel/fullscreen-image-carousel.styles.js +2 -0
- package/fullscreen-image-carousel/fullscreen-image-carousel.styles.js.map +1 -0
- package/fullscreen-image-carousel/fullscreen-image-carousel.styles_vc6y5c.css +75 -0
- package/fullscreen-image-carousel/stateful-image.js +1 -1
- package/fullscreen-image-carousel/stateful-image.js.map +1 -1
- package/fullscreen-image-carousel/stateful-image.styles.d.ts +8 -0
- package/fullscreen-image-carousel/stateful-image.styles.js +2 -0
- package/fullscreen-image-carousel/stateful-image.styles.js.map +1 -0
- package/fullscreen-image-carousel/stateful-image.styles_1xe8ypm.css +3 -0
- package/histogram-slider/histogram-slider.js +1 -1
- package/histogram-slider/histogram-slider.js.map +1 -1
- package/index.d.ts +0 -11
- package/index.js +1 -1
- package/input-group/input-group-list-addon.js +1 -1
- package/input-group/input-group-list-addon.js.map +1 -1
- package/input-group/input-group-list-addon.styles.d.ts +2 -2
- package/input-group/input-group-list-addon.styles.js +1 -1
- package/input-group/input-group-list-addon.styles.js.map +1 -1
- package/{cjs/input-group/input-group-list-addon.styles_1my6j2v.css → input-group/input-group-list-addon.styles_17iuqtw.css} +2 -2
- package/input-group/input-group.js +1 -1
- package/input-group/input-group.js.map +1 -1
- package/input-multi-select/input-multi-select.js +1 -1
- package/input-multi-select/input-multi-select.js.map +1 -1
- package/input-nested-multi-select/input-nested-multi-select.js +1 -1
- package/input-nested-multi-select/input-nested-multi-select.js.map +1 -1
- package/input-nested-select/input-nested-select.js +1 -1
- package/input-nested-select/input-nested-select.js.map +1 -1
- package/input-range-select/input-range-select.js +1 -1
- package/input-range-select/input-range-select.js.map +1 -1
- package/input-range-select/input-range-select.styles.d.ts +2 -0
- package/input-range-select/input-range-select.styles.js +2 -0
- package/input-range-select/input-range-select.styles.js.map +1 -0
- package/input-range-select/input-range-select.styles_adbrbm.css +2 -0
- package/input-range-slider/input-range-slider.js +1 -1
- package/input-range-slider/input-range-slider.js.map +1 -1
- package/input-range-slider/slider-components.js +1 -1
- package/input-range-slider/slider-components.js.map +1 -1
- package/input-select/input-select.js +1 -1
- package/input-select/input-select.js.map +1 -1
- package/input-select/types.d.ts +1 -1
- package/language-switcher/dropdown-panel.d.ts +13 -0
- package/language-switcher/dropdown-panel.js +2 -0
- package/language-switcher/dropdown-panel.js.map +1 -0
- package/language-switcher/dropdown-panel.styles.d.ts +8 -0
- package/language-switcher/dropdown-panel.styles.js +2 -0
- package/language-switcher/dropdown-panel.styles.js.map +1 -0
- package/language-switcher/dropdown-panel.styles_1z0n7qq.css +4 -0
- package/language-switcher/dropdown-variant.js +1 -1
- package/language-switcher/dropdown-variant.js.map +1 -1
- package/language-switcher/dropdown-variant.styles.d.ts +2 -0
- package/language-switcher/dropdown-variant.styles.js +2 -0
- package/language-switcher/dropdown-variant.styles.js.map +1 -0
- package/language-switcher/dropdown-variant.styles_16c4wc1.css +2 -0
- package/language-switcher/link-container-variant.d.ts +1 -1
- package/language-switcher/link-container-variant.js +1 -1
- package/language-switcher/link-container-variant.js.map +1 -1
- package/language-switcher/link-container-variant.styles.d.ts +5 -0
- package/language-switcher/link-container-variant.styles.js +2 -0
- package/language-switcher/link-container-variant.styles.js.map +1 -0
- package/language-switcher/link-container-variant.styles_1blx9qm.css +5 -0
- package/layout/col-div.js +1 -1
- package/layout/col-div.js.map +1 -1
- package/link-list/components/common.js +1 -1
- package/link-list/components/common.js.map +1 -1
- package/link-list/components/link-list-eager.js +1 -1
- package/link-list/components/link-list-eager.js.map +1 -1
- package/link-list/components/link-list-lazy.js +1 -1
- package/link-list/components/link-list-lazy.js.map +1 -1
- package/link-list/link-list.js +1 -1
- package/link-list/link-list.js.map +1 -1
- package/link-list/link-list.styles.d.ts +13 -113
- package/link-list/link-list.styles.js +1 -89
- package/link-list/link-list.styles.js.map +1 -1
- package/link-list/link-list.styles_1g33nb4.css +13 -0
- package/local-nav/local-nav-dropdown/local-nav-dropdown.js +1 -1
- package/local-nav/local-nav-dropdown/local-nav-dropdown.js.map +1 -1
- package/local-nav/local-nav-dropdown/local-nav-dropdown.styles.d.ts +22 -41
- package/local-nav/local-nav-dropdown/local-nav-dropdown.styles.js +1 -100
- package/local-nav/local-nav-dropdown/local-nav-dropdown.styles.js.map +1 -1
- package/local-nav/local-nav-dropdown/local-nav-dropdown.styles_ftv36t.css +13 -0
- package/local-nav/local-nav-menu/local-nav-menu.js +1 -1
- package/local-nav/local-nav-menu/local-nav-menu.js.map +1 -1
- package/local-nav/local-nav-menu/local-nav-menu.styles.d.ts +5 -26
- package/local-nav/local-nav-menu/local-nav-menu.styles.js +1 -39
- package/local-nav/local-nav-menu/local-nav-menu.styles.js.map +1 -1
- package/local-nav/local-nav-menu/local-nav-menu.styles_pq19dh.css +5 -0
- package/markup/markup.js +1 -1
- package/markup/markup.js.map +1 -1
- package/masked-input/masked-input.js +1 -1
- package/masked-input/masked-input.js.map +1 -1
- package/masked-input/masked-input.styles.d.ts +22 -0
- package/masked-input/masked-input.styles.js +2 -0
- package/masked-input/masked-input.styles.js.map +1 -0
- package/masked-input/masked-input.styles_4i1qsy.css +16 -0
- package/menu/menu-content.js +1 -1
- package/menu/menu-content.js.map +1 -1
- package/menu/menu-content.styles.js +1 -1
- package/menu/menu-content.styles.js.map +1 -1
- package/menu/{menu-content.styles_1b7d6qf.css → menu-content.styles_p7ijll.css} +1 -1
- package/menu/menu.js +1 -1
- package/menu/menu.js.map +1 -1
- package/menu/types.d.ts +2 -2
- package/modal/modal.js +1 -1
- package/modal/modal.js.map +1 -1
- package/modal-v2/modal-v2.js +1 -1
- package/modal-v2/modal-v2.js.map +1 -1
- package/navbar/brand.js +1 -1
- package/navbar/brand.js.map +1 -1
- package/navbar/brand.styles.d.ts +1 -6
- package/navbar/brand.styles.js +1 -12
- package/navbar/brand.styles.js.map +1 -1
- package/navbar/brand.styles_zcgddp.css +1 -0
- package/navbar/drawer.js +1 -1
- package/navbar/drawer.js.map +1 -1
- package/navbar/drawer.styles.d.ts +13 -18
- package/navbar/drawer.styles.js +1 -65
- package/navbar/drawer.styles.js.map +1 -1
- package/navbar/drawer.styles_7hnxp5.css +8 -0
- package/navbar/menu.js +1 -1
- package/navbar/menu.js.map +1 -1
- package/navbar/menu.styles.d.ts +3 -3
- package/navbar/menu.styles.js +1 -34
- package/navbar/menu.styles.js.map +1 -1
- package/navbar/menu.styles_gdpqc.css +3 -0
- package/navbar/navbar-action-buttons.js +1 -1
- package/navbar/navbar-action-buttons.js.map +1 -1
- package/navbar/navbar-action-buttons.styles.d.ts +10 -31
- package/navbar/navbar-action-buttons.styles.js +1 -100
- package/navbar/navbar-action-buttons.styles.js.map +1 -1
- package/navbar/navbar-action-buttons.styles_1vpm0nk.css +10 -0
- package/navbar/navbar-items.js +1 -1
- package/navbar/navbar-items.js.map +1 -1
- package/navbar/navbar-items.styles.d.ts +19 -40
- package/navbar/navbar-items.styles.js +1 -114
- package/navbar/navbar-items.styles.js.map +1 -1
- package/navbar/navbar-items.styles_i9cunu.css +19 -0
- package/navbar/navbar-logo-data.d.ts +2 -2
- package/navbar/navbar-logo-data.js +1 -1
- package/navbar/navbar-logo-data.js.map +1 -1
- package/navbar/navbar.js +1 -1
- package/navbar/navbar.js.map +1 -1
- package/navbar/navbar.styles.d.ts +25 -20
- package/navbar/navbar.styles.js +1 -79
- package/navbar/navbar.styles.js.map +1 -1
- package/navbar/navbar.styles_koy0c7.css +20 -0
- package/notification-banner/notification-banner.d.ts +2 -2
- package/notification-banner/notification-banner.js +1 -1
- package/notification-banner/notification-banner.js.map +1 -1
- package/notification-banner/notification-banner.styles.d.ts +17 -23
- package/notification-banner/notification-banner.styles.js +1 -111
- package/notification-banner/notification-banner.styles.js.map +1 -1
- package/notification-banner/notification-banner.styles_130loac.css +12 -0
- package/otp-input/otp-input.js +1 -1
- package/otp-input/otp-input.js.map +1 -1
- package/otp-input/otp-input.styles.d.ts +5 -23
- package/otp-input/otp-input.styles.js +1 -22
- package/otp-input/otp-input.styles.js.map +1 -1
- package/otp-input/otp-input.styles_5sbutl.css +5 -0
- package/otp-verification/contact-input-section-styles.js +47 -45
- package/otp-verification/contact-input-section-styles.js.map +1 -1
- package/otp-verification/contact-input-section.d.ts +1 -1
- package/otp-verification/contact-input-section.js +1 -1
- package/otp-verification/contact-input-section.js.map +1 -1
- package/otp-verification/internal-types.d.ts +2 -0
- package/otp-verification/verification-section.js +1 -1
- package/otp-verification/verification-section.js.map +1 -1
- package/overlay/overlay.js +1 -1
- package/overlay/overlay.js.map +1 -1
- package/package.json +1 -67
- package/pagination/pagination.js +1 -1
- package/pagination/pagination.js.map +1 -1
- package/popover/index.d.ts +2 -1
- package/popover/index.js +1 -1
- package/popover/popover-inline/popover-inline.js.map +1 -0
- package/popover/popover-inline/popover-inline.styles.js +2 -0
- package/popover/popover-inline/popover-inline.styles.js.map +1 -0
- package/popover/popover-inline/popover-inline.styles_bkopnt.css +2 -0
- package/{popover-v2 → popover}/popover-trigger.d.ts +2 -2
- package/popover/popover-trigger.js +2 -0
- package/popover/popover-trigger.js.map +1 -0
- package/popover/popover-trigger.styles.js +2 -0
- package/popover/popover-trigger.styles.js.map +1 -0
- package/popover/popover-trigger.styles_8zokig.css +1 -0
- package/popover/popover.d.ts +1 -4
- package/popover/popover.js +1 -1
- package/popover/popover.js.map +1 -1
- package/popover/popover.styles.d.ts +10 -11
- package/popover/popover.styles.js +1 -74
- package/popover/popover.styles.js.map +1 -1
- package/popover/popover.styles_ujnf0h.css +4 -0
- package/popover/types.d.ts +48 -10
- package/predictive-text-input/predictive-text-input.js +1 -1
- package/predictive-text-input/predictive-text-input.js.map +1 -1
- package/predictive-text-input/types.d.ts +1 -1
- package/progress-indicator/progress-indicator.d.ts +1 -1
- package/progress-indicator/progress-indicator.js +1 -1
- package/progress-indicator/progress-indicator.js.map +1 -1
- package/progress-indicator/progress-indicator.styles.d.ts +9 -0
- package/progress-indicator/progress-indicator.styles.js +2 -0
- package/progress-indicator/progress-indicator.styles.js.map +1 -0
- package/progress-indicator/progress-indicator.styles_1c038s4.css +8 -0
- package/progress-indicator/types.d.ts +0 -6
- package/schedule/schedule.js +1 -1
- package/schedule/schedule.js.map +1 -1
- package/schedule/shared/with-optional-popover.js +2 -2
- package/schedule/shared/with-optional-popover.js.map +1 -1
- package/schedule/types.d.ts +2 -2
- package/select-histogram/select-histogram.js +1 -1
- package/select-histogram/select-histogram.js.map +1 -1
- package/select-histogram/select-histogram.styles.d.ts +5 -21
- package/select-histogram/select-histogram.styles.js +1 -37
- package/select-histogram/select-histogram.styles.js.map +1 -1
- package/select-histogram/select-histogram.styles_11916eo.css +5 -0
- package/shared/component-loading-spinner/component-loading-spinner.js +1 -1
- package/shared/component-loading-spinner/component-loading-spinner.js.map +1 -1
- package/shared/dropdown-list/dropdown-label.js +1 -1
- package/shared/dropdown-list/dropdown-label.js.map +1 -1
- package/shared/dropdown-list/dropdown-list.js +1 -1
- package/shared/dropdown-list/dropdown-list.js.map +1 -1
- package/shared/dropdown-list/dropdown-list.styles.d.ts +1 -1
- package/shared/dropdown-list/dropdown-list.styles.js +1 -1
- package/shared/dropdown-list/dropdown-list.styles.js.map +1 -1
- package/{cjs/shared/dropdown-list/dropdown-list.styles_1qveyb9.css → shared/dropdown-list/dropdown-list.styles_1kt4zhf.css} +3 -6
- package/shared/dropdown-list/nested-dropdown-list.js +1 -1
- package/shared/dropdown-list/nested-dropdown-list.js.map +1 -1
- package/shared/dropdown-wrapper/element-with-dropdown.js +1 -1
- package/shared/dropdown-wrapper/element-with-dropdown.js.map +1 -1
- package/shared/fade-wrapper/fade-wrapper.js +1 -1
- package/shared/fade-wrapper/fade-wrapper.js.map +1 -1
- package/shared/fade-wrapper/helpers.js +1 -1
- package/shared/fade-wrapper/helpers.js.map +1 -1
- package/shared/input-wrapper/input-wrapper.d.ts +5 -0
- package/shared/input-wrapper/input-wrapper.js +1 -1
- package/shared/input-wrapper/input-wrapper.js.map +1 -1
- package/shared/input-wrapper/input-wrapper.styles.d.ts +3 -0
- package/shared/input-wrapper/input-wrapper.styles.js +1 -1
- package/shared/input-wrapper/input-wrapper.styles.js.map +1 -1
- package/shared/input-wrapper/{input-wrapper.styles_1kc4xhb.css → input-wrapper.styles_19fpzb.css} +3 -0
- package/shared/internal-calendar/calendar-dropdown.js +1 -1
- package/shared/internal-calendar/calendar-dropdown.js.map +1 -1
- package/shared/progress-bar/progress-bar.js +1 -1
- package/shared/progress-bar/progress-bar.js.map +1 -1
- package/shared/standalone-date-input/standalone-date-input.js +1 -1
- package/shared/standalone-date-input/standalone-date-input.js.map +1 -1
- package/shared/standalone-date-input/standalone-date-input.styles.d.ts +0 -1
- package/shared/standalone-date-input/standalone-date-input.styles.js +1 -1
- package/shared/standalone-date-input/standalone-date-input.styles.js.map +1 -1
- package/{cjs/shared/standalone-date-input/standalone-date-input.styles_1mqophx.css → shared/standalone-date-input/standalone-date-input.styles_1m0da43.css} +10 -11
- package/shared/time-slot/index.d.ts +2 -0
- package/shared/time-slot/time-slot.d.ts +17 -0
- package/shared/time-slot/time-slot.js +2 -0
- package/shared/time-slot/time-slot.js.map +1 -0
- package/shared/time-slot/time-slot.styles.d.ts +10 -0
- package/shared/time-slot/time-slot.styles.js +2 -0
- package/shared/time-slot/time-slot.styles.js.map +1 -0
- package/shared/time-slot/time-slot.styles_1r9na3f.css +17 -0
- package/shared/time-slot/types.d.ts +1 -0
- package/smart-app-banner/smart-app-banner.js +1 -1
- package/smart-app-banner/smart-app-banner.js.map +1 -1
- package/smart-app-banner/smart-app-banner.styles.d.ts +21 -85
- package/smart-app-banner/smart-app-banner.styles.js +1 -93
- package/smart-app-banner/smart-app-banner.styles.js.map +1 -1
- package/smart-app-banner/smart-app-banner.styles_m5dtgh.css +16 -0
- package/tab/tab-link-chain.js +1 -1
- package/tab/tab-link-chain.js.map +1 -1
- package/text-list/ordered-list.js +1 -1
- package/text-list/ordered-list.js.map +1 -1
- package/text-list/unordered-list.js +1 -1
- package/text-list/unordered-list.js.map +1 -1
- package/theme/index.js +1 -1
- package/theme/styles/pa.css +176 -0
- package/theme/theme-provider/breakpoint.js +1 -1
- package/theme/theme-provider/breakpoint.js.map +1 -1
- package/theme/tokens/font.js +1 -1
- package/theme/tokens/font.js.map +1 -1
- package/theme/utils/css-variable.d.ts +14 -0
- package/theme/utils/css-variable.js +1 -1
- package/theme/utils/css-variable.js.map +1 -1
- package/theme/utils/index.d.ts +1 -1
- package/theme/utils/use-media-query.d.ts +24 -0
- package/theme/utils/use-media-query.js +2 -0
- package/theme/utils/use-media-query.js.map +1 -0
- package/time-range-picker/combobox-picker/combobox-picker.js +1 -1
- package/time-range-picker/combobox-picker/combobox-picker.js.map +1 -1
- package/time-range-picker/combobox-picker/combobox-picker.styles.d.ts +1 -1
- package/time-range-picker/combobox-picker/combobox-picker.styles.js +1 -6
- package/time-range-picker/combobox-picker/combobox-picker.styles.js.map +1 -1
- package/time-range-picker/combobox-picker/combobox-picker.styles_7i9vso.css +1 -0
- package/time-range-picker/common.styles.d.ts +3 -3
- package/time-range-picker/common.styles.js +1 -10
- package/time-range-picker/common.styles.js.map +1 -1
- package/time-range-picker/common.styles_1qwp4xa.css +3 -0
- package/time-range-picker/dial-picker/dial-picker.js +1 -1
- package/time-range-picker/dial-picker/dial-picker.js.map +1 -1
- package/time-slot-bar/helper.d.ts +1 -0
- package/time-slot-bar/helper.js +1 -1
- package/time-slot-bar/helper.js.map +1 -1
- package/time-slot-bar/time-slot-bar.js +1 -1
- package/time-slot-bar/time-slot-bar.js.map +1 -1
- package/time-slot-bar/time-slot-bar.styles.d.ts +37 -99
- package/time-slot-bar/time-slot-bar.styles.js +1 -127
- package/time-slot-bar/time-slot-bar.styles.js.map +1 -1
- package/time-slot-bar/time-slot-bar.styles_wigbyd.css +25 -0
- package/time-slot-bar/time-slot-divider.d.ts +8 -0
- package/time-slot-bar/time-slot-divider.js +2 -0
- package/time-slot-bar/time-slot-divider.js.map +1 -0
- package/time-slot-bar/time-slot-item.d.ts +13 -0
- package/time-slot-bar/time-slot-item.js +2 -0
- package/time-slot-bar/time-slot-item.js.map +1 -0
- package/time-slot-bar/types.d.ts +7 -8
- package/time-slot-bar-week/time-slot-bar-week-days.js +1 -1
- package/time-slot-bar-week/time-slot-bar-week-days.js.map +1 -1
- package/time-slot-bar-week/time-slot-bar-week-days.style.d.ts +2 -13
- package/time-slot-bar-week/time-slot-bar-week-days.style.js +20 -17
- package/time-slot-bar-week/time-slot-bar-week-days.style.js.map +1 -1
- package/time-slot-week-view/time-slot-week-days.js +1 -1
- package/time-slot-week-view/time-slot-week-days.js.map +1 -1
- package/time-slot-week-view/time-slot-week-days.style.d.ts +1 -11
- package/time-slot-week-view/time-slot-week-days.style.js +14 -8
- package/time-slot-week-view/time-slot-week-days.style.js.map +1 -1
- package/timeline/timeline.js +1 -1
- package/timeline/timeline.js.map +1 -1
- package/timeline/timeline.styles.d.ts +15 -0
- package/timeline/timeline.styles.js +2 -0
- package/timeline/timeline.styles.js.map +1 -0
- package/timeline/timeline.styles_1wcnzot.css +9 -0
- package/timetable/const.js +1 -1
- package/timetable/const.js.map +1 -1
- package/timetable/timetable-header/timetable-header.js +1 -1
- package/timetable/timetable-header/timetable-header.js.map +1 -1
- package/timetable/timetable-header/timetable-header.styles.d.ts +6 -0
- package/timetable/timetable-header/timetable-header.styles.js +2 -0
- package/timetable/timetable-header/timetable-header.styles.js.map +1 -0
- package/timetable/timetable-header/timetable-header.styles_11gl1h4.css +6 -0
- package/timetable/timetable-row/row-bar.js +1 -1
- package/timetable/timetable-row/row-bar.js.map +1 -1
- package/timetable/timetable-row/row-bar.styles.d.ts +1 -0
- package/timetable/timetable-row/row-bar.styles.js +2 -0
- package/timetable/timetable-row/row-bar.styles.js.map +1 -0
- package/timetable/timetable-row/row-bar.styles_1x0vrsz.css +1 -0
- package/timetable/timetable-row/row-cell.js +1 -1
- package/timetable/timetable-row/row-cell.js.map +1 -1
- package/timetable/timetable-row/row-cell.styles.d.ts +14 -0
- package/timetable/timetable-row/row-cell.styles.js +2 -0
- package/timetable/timetable-row/row-cell.styles.js.map +1 -0
- package/timetable/timetable-row/row-cell.styles_y1dl5j.css +7 -0
- package/timetable/timetable-row/with-optional-popover.js +1 -1
- package/timetable/timetable-row/with-optional-popover.js.map +1 -1
- package/timetable/timetable.js +1 -1
- package/timetable/timetable.js.map +1 -1
- package/timetable/timetable.styles.d.ts +41 -0
- package/timetable/timetable.styles.js +2 -0
- package/timetable/timetable.styles.js.map +1 -0
- package/timetable/timetable.styles_7rp8kz.css +46 -0
- package/timetable/types.d.ts +6 -7
- package/toast/toast.d.ts +1 -1
- package/toast/toast.js +1 -1
- package/toast/toast.js.map +1 -1
- package/toast/toast.styles.d.ts +8 -51
- package/toast/toast.styles.js +1 -98
- package/toast/toast.styles.js.map +1 -1
- package/toast/toast.styles_ngrlup.css +8 -0
- package/toggle/toggle.js +1 -1
- package/toggle/toggle.js.map +1 -1
- package/typography/index.js +1 -1
- package/typography/typography.js +1 -1
- package/typography/typography.js.map +1 -1
- package/uneditable-section/index.d.ts +1 -1
- package/uneditable-section/item-section.d.ts +1 -1
- package/uneditable-section/item-section.js +1 -1
- package/uneditable-section/item-section.js.map +1 -1
- package/uneditable-section/section-item.js +1 -1
- package/uneditable-section/section-item.js.map +1 -1
- package/uneditable-section/section-item.styles.d.ts +9 -22
- package/uneditable-section/section-item.styles.js +1 -63
- package/uneditable-section/section-item.styles.js.map +1 -1
- package/uneditable-section/section-item.styles_1dfjzc4.css +9 -0
- package/uneditable-section/uneditable-section.d.ts +1 -1
- package/uneditable-section/uneditable-section.js +1 -1
- package/uneditable-section/uneditable-section.js.map +1 -1
- package/uneditable-section/uneditable-section.styles.d.ts +8 -52
- package/uneditable-section/uneditable-section.styles.js +1 -39
- package/uneditable-section/uneditable-section.styles.js.map +1 -1
- package/uneditable-section/uneditable-section.styles_aj9zun.css +8 -0
- package/unit-number/unit-number-input.js +1 -1
- package/unit-number/unit-number-input.js.map +1 -1
- package/unit-number/unit-number-input.styles.d.ts +7 -0
- package/unit-number/unit-number-input.styles.js +2 -0
- package/unit-number/unit-number-input.styles.js.map +1 -0
- package/unit-number/unit-number-input.styles_8yizj.css +7 -0
- package/util/styling-helper.js +1 -1
- package/util/styling-helper.js.map +1 -1
- package/v3_theme/index.d.ts +39 -13
- package/v3_theme/types.d.ts +2 -2
- package/_virtual/react-responsive.js +0 -2
- package/_virtual/react-responsive.js.map +0 -1
- package/cjs/_virtual/react-responsive.js +0 -2
- package/cjs/_virtual/react-responsive.js.map +0 -1
- package/cjs/countdown-timer/countdown-timer.style.js +0 -58
- package/cjs/countdown-timer/countdown-timer.style.js.map +0 -1
- package/cjs/date-input/date-input.style.js +0 -4
- package/cjs/date-input/date-input.style.js.map +0 -1
- package/cjs/date-range-input/date-range-input.style.js +0 -17
- package/cjs/date-range-input/date-range-input.style.js.map +0 -1
- package/cjs/external/react-responsive/dist/react-responsive.js +0 -65
- package/cjs/external/react-responsive/dist/react-responsive.js.map +0 -1
- package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.style.js +0 -298
- package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.style.js.map +0 -1
- package/cjs/fullscreen-image-carousel/stateful-image.style.js +0 -13
- package/cjs/fullscreen-image-carousel/stateful-image.style.js.map +0 -1
- package/cjs/input-range-select/input-range-select.style.js +0 -36
- package/cjs/input-range-select/input-range-select.style.js.map +0 -1
- package/cjs/language-switcher/dropdown-variant.style.js +0 -62
- package/cjs/language-switcher/dropdown-variant.style.js.map +0 -1
- package/cjs/language-switcher/link-container-variant.style.js +0 -51
- package/cjs/language-switcher/link-container-variant.style.js.map +0 -1
- package/cjs/masked-input/masked-input.style.js +0 -87
- package/cjs/masked-input/masked-input.style.js.map +0 -1
- package/cjs/masonry/index.js +0 -2
- package/cjs/masonry/index.js.map +0 -1
- package/cjs/masonry/masonry.js +0 -2
- package/cjs/masonry/masonry.js.map +0 -1
- package/cjs/masonry/masonry.style.js +0 -42
- package/cjs/masonry/masonry.style.js.map +0 -1
- package/cjs/popover/popover-hoc.js +0 -2
- package/cjs/popover/popover-hoc.js.map +0 -1
- package/cjs/popover-v2/index.js +0 -2
- package/cjs/popover-v2/index.js.map +0 -1
- package/cjs/popover-v2/popover-inline/popover-inline.js.map +0 -1
- package/cjs/popover-v2/popover-inline/popover-inline.styles.js +0 -2
- package/cjs/popover-v2/popover-inline/popover-inline.styles.js.map +0 -1
- package/cjs/popover-v2/popover-inline/popover-inline.styles_ziag9c.css +0 -2
- package/cjs/popover-v2/popover-trigger.js +0 -2
- package/cjs/popover-v2/popover-trigger.js.map +0 -1
- package/cjs/popover-v2/popover-trigger.styles.js +0 -2
- package/cjs/popover-v2/popover-trigger.styles.js.map +0 -1
- package/cjs/popover-v2/popover-trigger.styles_1yq7ffk.css +0 -1
- package/cjs/popover-v2/popover.js +0 -2
- package/cjs/popover-v2/popover.js.map +0 -1
- package/cjs/popover-v2/popover.styles.js +0 -2
- package/cjs/popover-v2/popover.styles.js.map +0 -1
- package/cjs/popover-v2/popover.styles_lslc72.css +0 -4
- package/cjs/progress-indicator/progress-indicator.style.js +0 -39
- package/cjs/progress-indicator/progress-indicator.style.js.map +0 -1
- package/cjs/theme/utils/media-query.js +0 -2
- package/cjs/theme/utils/media-query.js.map +0 -1
- package/cjs/timeline/timeline.style.js +0 -100
- package/cjs/timeline/timeline.style.js.map +0 -1
- package/cjs/timetable/timetable-header/timetable-header.style.js +0 -28
- package/cjs/timetable/timetable-header/timetable-header.style.js.map +0 -1
- package/cjs/timetable/timetable-row/row-bar.style.js +0 -5
- package/cjs/timetable/timetable-row/row-bar.style.js.map +0 -1
- package/cjs/timetable/timetable-row/row-cell.style.js +0 -53
- package/cjs/timetable/timetable-row/row-cell.style.js.map +0 -1
- package/cjs/timetable/timetable.style.js +0 -172
- package/cjs/timetable/timetable.style.js.map +0 -1
- package/cjs/tooltip/index.js +0 -2
- package/cjs/tooltip/index.js.map +0 -1
- package/cjs/tooltip/tooltip-hoc.js +0 -2
- package/cjs/tooltip/tooltip-hoc.js.map +0 -1
- package/cjs/tooltip/tooltip.js +0 -2
- package/cjs/tooltip/tooltip.js.map +0 -1
- package/cjs/tooltip/tooltip.styles.js +0 -192
- package/cjs/tooltip/tooltip.styles.js.map +0 -1
- package/cjs/unit-number/unit-number-input.style.js +0 -27
- package/cjs/unit-number/unit-number-input.style.js.map +0 -1
- package/cjs/v2_color/color.js +0 -2
- package/cjs/v2_color/color.js.map +0 -1
- package/cjs/v2_color/index.js +0 -2
- package/cjs/v2_color/index.js.map +0 -1
- package/cjs/v2_design-token/design-token.js +0 -2
- package/cjs/v2_design-token/design-token.js.map +0 -1
- package/cjs/v2_design-token/index.js +0 -2
- package/cjs/v2_design-token/index.js.map +0 -1
- package/cjs/v2_layout/col-div.js +0 -2
- package/cjs/v2_layout/col-div.js.map +0 -1
- package/cjs/v2_layout/col-div.style.js +0 -17
- package/cjs/v2_layout/col-div.style.js.map +0 -1
- package/cjs/v2_layout/container.js +0 -49
- package/cjs/v2_layout/container.js.map +0 -1
- package/cjs/v2_layout/content.js +0 -2
- package/cjs/v2_layout/content.js.map +0 -1
- package/cjs/v2_layout/index.js +0 -2
- package/cjs/v2_layout/index.js.map +0 -1
- package/cjs/v2_layout/section.js +0 -20
- package/cjs/v2_layout/section.js.map +0 -1
- package/cjs/v2_media/index.js +0 -2
- package/cjs/v2_media/index.js.map +0 -1
- package/cjs/v2_media/media.js +0 -2
- package/cjs/v2_media/media.js.map +0 -1
- package/cjs/v2_spec/color-spec/base-color-set.js +0 -2
- package/cjs/v2_spec/color-spec/base-color-set.js.map +0 -1
- package/cjs/v2_spec/color-spec/bookingsg-color-set.js +0 -2
- package/cjs/v2_spec/color-spec/bookingsg-color-set.js.map +0 -1
- package/cjs/v2_spec/color-spec/ccube-color-set.js +0 -2
- package/cjs/v2_spec/color-spec/ccube-color-set.js.map +0 -1
- package/cjs/v2_spec/color-spec/mylegacy-color-set.js +0 -2
- package/cjs/v2_spec/color-spec/mylegacy-color-set.js.map +0 -1
- package/cjs/v2_spec/color-spec/oneservice-color-set.js +0 -2
- package/cjs/v2_spec/color-spec/oneservice-color-set.js.map +0 -1
- package/cjs/v2_spec/color-spec/rbs-color-set.js +0 -2
- package/cjs/v2_spec/color-spec/rbs-color-set.js.map +0 -1
- package/cjs/v2_spec/design-token-spec/base-design-token-set.js +0 -8
- package/cjs/v2_spec/design-token-spec/base-design-token-set.js.map +0 -1
- package/cjs/v2_spec/design-token-spec/rbs-design-token-set.js +0 -8
- package/cjs/v2_spec/design-token-spec/rbs-design-token-set.js.map +0 -1
- package/cjs/v2_spec/media-spec.js +0 -2
- package/cjs/v2_spec/media-spec.js.map +0 -1
- package/cjs/v2_spec/text-spec/base-plus-jakarta-sans-text-style-set.js +0 -2
- package/cjs/v2_spec/text-spec/base-plus-jakarta-sans-text-style-set.js.map +0 -1
- package/cjs/v2_spec/text-spec/base-text-style-set.js +0 -2
- package/cjs/v2_spec/text-spec/base-text-style-set.js.map +0 -1
- package/cjs/v2_spec/text-spec/font-spec.js +0 -2
- package/cjs/v2_spec/text-spec/font-spec.js.map +0 -1
- package/cjs/v2_spec/text-spec/oneservice-text-style-set.js +0 -2
- package/cjs/v2_spec/text-spec/oneservice-text-style-set.js.map +0 -1
- package/cjs/v2_text/helper.js +0 -31
- package/cjs/v2_text/helper.js.map +0 -1
- package/cjs/v2_text/index.js +0 -2
- package/cjs/v2_text/index.js.map +0 -1
- package/cjs/v2_text/text-style.js +0 -2
- package/cjs/v2_text/text-style.js.map +0 -1
- package/cjs/v2_text/text.js +0 -107
- package/cjs/v2_text/text.js.map +0 -1
- package/cjs/v2_text/types.js +0 -2
- package/cjs/v2_text/types.js.map +0 -1
- package/cjs/v2_text-list/index.js +0 -2
- package/cjs/v2_text-list/index.js.map +0 -1
- package/cjs/v2_text-list/ordered-list.js +0 -2
- package/cjs/v2_text-list/ordered-list.js.map +0 -1
- package/cjs/v2_text-list/text-list.styles.js +0 -62
- package/cjs/v2_text-list/text-list.styles.js.map +0 -1
- package/cjs/v2_text-list/unordered-list.js +0 -2
- package/cjs/v2_text-list/unordered-list.js.map +0 -1
- package/cjs/v2_theme/color-theme-helper.js +0 -2
- package/cjs/v2_theme/color-theme-helper.js.map +0 -1
- package/cjs/v2_theme/design-token-helper.js +0 -2
- package/cjs/v2_theme/design-token-helper.js.map +0 -1
- package/cjs/v2_theme/helper.js +0 -2
- package/cjs/v2_theme/helper.js.map +0 -1
- package/cjs/v2_theme/index.js +0 -2
- package/cjs/v2_theme/index.js.map +0 -1
- package/cjs/v2_theme/text-theme-helper.js +0 -2
- package/cjs/v2_theme/text-theme-helper.js.map +0 -1
- package/cjs/v2_theme/types.js +0 -2
- package/cjs/v2_theme/types.js.map +0 -1
- package/cjs/v2_transition/index.js +0 -2
- package/cjs/v2_transition/index.js.map +0 -1
- package/cjs/v3_theme/components/specs/a11yplayground-component-token-set.js +0 -2
- package/cjs/v3_theme/components/specs/a11yplayground-component-token-set.js.map +0 -1
- package/cjs/v3_theme/components/specs/default-component-token-set.js +0 -2
- package/cjs/v3_theme/components/specs/default-component-token-set.js.map +0 -1
- package/cjs/v3_theme/components/specs/lifesg-component-token-set.js +0 -2
- package/cjs/v3_theme/components/specs/lifesg-component-token-set.js.map +0 -1
- package/cjs/v3_theme/components/specs/pa-component-token-set.js +0 -2
- package/cjs/v3_theme/components/specs/pa-component-token-set.js.map +0 -1
- package/cjs/v3_theme/components/specs/smgs-component-token-set.js +0 -2
- package/cjs/v3_theme/components/specs/smgs-component-token-set.js.map +0 -1
- package/cjs/v3_theme/components/specs/spf-component-token-set.js +0 -2
- package/cjs/v3_theme/components/specs/spf-component-token-set.js.map +0 -1
- package/cjs/v3_theme/components/theme-helper.js +0 -2
- package/cjs/v3_theme/components/theme-helper.js.map +0 -1
- package/countdown-timer/countdown-timer.style.d.ts +0 -42
- package/countdown-timer/countdown-timer.style.js +0 -58
- package/countdown-timer/countdown-timer.style.js.map +0 -1
- package/date-input/date-input.style.d.ts +0 -1
- package/date-input/date-input.style.js +0 -4
- package/date-input/date-input.style.js.map +0 -1
- package/date-range-input/date-range-input.style.d.ts +0 -8
- package/date-range-input/date-range-input.style.js +0 -17
- package/date-range-input/date-range-input.style.js.map +0 -1
- package/external/react-responsive/dist/react-responsive.js +0 -65
- package/external/react-responsive/dist/react-responsive.js.map +0 -1
- package/fullscreen-image-carousel/fullscreen-image-carousel.style.d.ts +0 -116
- package/fullscreen-image-carousel/fullscreen-image-carousel.style.js +0 -298
- package/fullscreen-image-carousel/fullscreen-image-carousel.style.js.map +0 -1
- package/fullscreen-image-carousel/stateful-image.style.d.ts +0 -7
- package/fullscreen-image-carousel/stateful-image.style.js +0 -13
- package/fullscreen-image-carousel/stateful-image.style.js.map +0 -1
- package/input-range-select/input-range-select.style.d.ts +0 -3
- package/input-range-select/input-range-select.style.js +0 -36
- package/input-range-select/input-range-select.style.js.map +0 -1
- package/language-switcher/dropdown-variant.style.d.ts +0 -11
- package/language-switcher/dropdown-variant.style.js +0 -62
- package/language-switcher/dropdown-variant.style.js.map +0 -1
- package/language-switcher/link-container-variant.style.d.ts +0 -8
- package/language-switcher/link-container-variant.style.js +0 -51
- package/language-switcher/link-container-variant.style.js.map +0 -1
- package/masked-input/masked-input.style.d.ts +0 -48
- package/masked-input/masked-input.style.js +0 -87
- package/masked-input/masked-input.style.js.map +0 -1
- package/masonry/index.d.ts +0 -1
- package/masonry/index.js +0 -2
- package/masonry/index.js.map +0 -1
- package/masonry/masonry.d.ts +0 -7
- package/masonry/masonry.js +0 -2
- package/masonry/masonry.js.map +0 -1
- package/masonry/masonry.style.d.ts +0 -6
- package/masonry/masonry.style.js +0 -42
- package/masonry/masonry.style.js.map +0 -1
- package/masonry/types.d.ts +0 -32
- package/popover/popover-hoc.d.ts +0 -4
- package/popover/popover-hoc.js +0 -2
- package/popover/popover-hoc.js.map +0 -1
- package/popover-v2/index.d.ts +0 -4
- package/popover-v2/index.js +0 -2
- package/popover-v2/index.js.map +0 -1
- package/popover-v2/popover-inline/popover-inline.styles.js +0 -2
- package/popover-v2/popover-inline/popover-inline.styles_ziag9c.css +0 -2
- package/popover-v2/popover-trigger.js +0 -2
- package/popover-v2/popover-trigger.js.map +0 -1
- package/popover-v2/popover-trigger.styles.js +0 -2
- package/popover-v2/popover-trigger.styles_1yq7ffk.css +0 -1
- package/popover-v2/popover.d.ts +0 -2
- package/popover-v2/popover.js +0 -2
- package/popover-v2/popover.js.map +0 -1
- package/popover-v2/popover.styles.d.ts +0 -10
- package/popover-v2/popover.styles.js +0 -2
- package/popover-v2/popover.styles.js.map +0 -1
- package/popover-v2/popover.styles_lslc72.css +0 -4
- package/popover-v2/types.d.ts +0 -59
- package/progress-indicator/progress-indicator.style.d.ts +0 -47
- package/progress-indicator/progress-indicator.style.js +0 -39
- package/progress-indicator/progress-indicator.style.js.map +0 -1
- package/theme/utils/media-query.d.ts +0 -6
- package/theme/utils/media-query.js +0 -2
- package/theme/utils/media-query.js.map +0 -1
- package/timeline/timeline.style.d.ts +0 -55
- package/timeline/timeline.style.js +0 -100
- package/timeline/timeline.style.js.map +0 -1
- package/timetable/timetable-header/timetable-header.style.d.ts +0 -31
- package/timetable/timetable-header/timetable-header.style.js +0 -28
- package/timetable/timetable-header/timetable-header.style.js.map +0 -1
- package/timetable/timetable-row/row-bar.style.d.ts +0 -1
- package/timetable/timetable-row/row-bar.style.js +0 -5
- package/timetable/timetable-row/row-bar.style.js.map +0 -1
- package/timetable/timetable-row/row-cell.style.d.ts +0 -60
- package/timetable/timetable-row/row-cell.style.js +0 -53
- package/timetable/timetable-row/row-cell.style.js.map +0 -1
- package/timetable/timetable.style.d.ts +0 -102
- package/timetable/timetable.style.js +0 -172
- package/timetable/timetable.style.js.map +0 -1
- package/tooltip/index.d.ts +0 -3
- package/tooltip/index.js +0 -2
- package/tooltip/index.js.map +0 -1
- package/tooltip/tooltip-hoc.d.ts +0 -3
- package/tooltip/tooltip-hoc.js +0 -2
- package/tooltip/tooltip-hoc.js.map +0 -1
- package/tooltip/tooltip.d.ts +0 -3
- package/tooltip/tooltip.js +0 -2
- package/tooltip/tooltip.js.map +0 -1
- package/tooltip/tooltip.styles.d.ts +0 -10
- package/tooltip/tooltip.styles.js +0 -192
- package/tooltip/tooltip.styles.js.map +0 -1
- package/tooltip/types.d.ts +0 -22
- package/unit-number/unit-number-input.style.d.ts +0 -52
- package/unit-number/unit-number-input.style.js +0 -27
- package/unit-number/unit-number-input.style.js.map +0 -1
- package/v2_color/color.d.ts +0 -5
- package/v2_color/color.js +0 -2
- package/v2_color/color.js.map +0 -1
- package/v2_color/index.d.ts +0 -2
- package/v2_color/index.js +0 -2
- package/v2_color/index.js.map +0 -1
- package/v2_color/types.d.ts +0 -62
- package/v2_design-token/design-token.d.ts +0 -23
- package/v2_design-token/design-token.js +0 -2
- package/v2_design-token/design-token.js.map +0 -1
- package/v2_design-token/index.d.ts +0 -2
- package/v2_design-token/index.js +0 -2
- package/v2_design-token/index.js.map +0 -1
- package/v2_design-token/types.d.ts +0 -28
- package/v2_layout/col-div.d.ts +0 -4
- package/v2_layout/col-div.js +0 -2
- package/v2_layout/col-div.js.map +0 -1
- package/v2_layout/col-div.style.d.ts +0 -9
- package/v2_layout/col-div.style.js +0 -17
- package/v2_layout/col-div.style.js.map +0 -1
- package/v2_layout/container.d.ts +0 -4
- package/v2_layout/container.js +0 -49
- package/v2_layout/container.js.map +0 -1
- package/v2_layout/content.d.ts +0 -4
- package/v2_layout/content.js +0 -2
- package/v2_layout/content.js.map +0 -1
- package/v2_layout/index.d.ts +0 -8
- package/v2_layout/index.js +0 -2
- package/v2_layout/index.js.map +0 -1
- package/v2_layout/section.d.ts +0 -4
- package/v2_layout/section.js +0 -20
- package/v2_layout/section.js.map +0 -1
- package/v2_layout/types.d.ts +0 -66
- package/v2_media/index.d.ts +0 -2
- package/v2_media/index.js +0 -2
- package/v2_media/index.js.map +0 -1
- package/v2_media/media.d.ts +0 -8
- package/v2_media/media.js +0 -2
- package/v2_media/media.js.map +0 -1
- package/v2_media/types.d.ts +0 -20
- package/v2_spec/color-spec/base-color-set.d.ts +0 -2
- package/v2_spec/color-spec/base-color-set.js +0 -2
- package/v2_spec/color-spec/base-color-set.js.map +0 -1
- package/v2_spec/color-spec/bookingsg-color-set.d.ts +0 -2
- package/v2_spec/color-spec/bookingsg-color-set.js +0 -2
- package/v2_spec/color-spec/bookingsg-color-set.js.map +0 -1
- package/v2_spec/color-spec/ccube-color-set.d.ts +0 -2
- package/v2_spec/color-spec/ccube-color-set.js +0 -2
- package/v2_spec/color-spec/ccube-color-set.js.map +0 -1
- package/v2_spec/color-spec/mylegacy-color-set.d.ts +0 -2
- package/v2_spec/color-spec/mylegacy-color-set.js +0 -2
- package/v2_spec/color-spec/mylegacy-color-set.js.map +0 -1
- package/v2_spec/color-spec/oneservice-color-set.d.ts +0 -2
- package/v2_spec/color-spec/oneservice-color-set.js +0 -2
- package/v2_spec/color-spec/oneservice-color-set.js.map +0 -1
- package/v2_spec/color-spec/rbs-color-set.d.ts +0 -2
- package/v2_spec/color-spec/rbs-color-set.js +0 -2
- package/v2_spec/color-spec/rbs-color-set.js.map +0 -1
- package/v2_spec/design-token-spec/base-design-token-set.d.ts +0 -2
- package/v2_spec/design-token-spec/base-design-token-set.js +0 -8
- package/v2_spec/design-token-spec/base-design-token-set.js.map +0 -1
- package/v2_spec/design-token-spec/rbs-design-token-set.d.ts +0 -2
- package/v2_spec/design-token-spec/rbs-design-token-set.js +0 -8
- package/v2_spec/design-token-spec/rbs-design-token-set.js.map +0 -1
- package/v2_spec/media-spec.d.ts +0 -2
- package/v2_spec/media-spec.js +0 -2
- package/v2_spec/media-spec.js.map +0 -1
- package/v2_spec/text-spec/base-plus-jakarta-sans-text-style-set.d.ts +0 -2
- package/v2_spec/text-spec/base-plus-jakarta-sans-text-style-set.js +0 -2
- package/v2_spec/text-spec/base-plus-jakarta-sans-text-style-set.js.map +0 -1
- package/v2_spec/text-spec/base-text-style-set.d.ts +0 -2
- package/v2_spec/text-spec/base-text-style-set.js +0 -2
- package/v2_spec/text-spec/base-text-style-set.js.map +0 -1
- package/v2_spec/text-spec/font-spec.d.ts +0 -15
- package/v2_spec/text-spec/font-spec.js +0 -2
- package/v2_spec/text-spec/font-spec.js.map +0 -1
- package/v2_spec/text-spec/oneservice-text-style-set.d.ts +0 -2
- package/v2_spec/text-spec/oneservice-text-style-set.js +0 -2
- package/v2_spec/text-spec/oneservice-text-style-set.js.map +0 -1
- package/v2_spec/text-spec/types.d.ts +0 -4
- package/v2_text/helper.d.ts +0 -7
- package/v2_text/helper.js +0 -31
- package/v2_text/helper.js.map +0 -1
- package/v2_text/index.d.ts +0 -4
- package/v2_text/index.js +0 -2
- package/v2_text/index.js.map +0 -1
- package/v2_text/text-style.d.ts +0 -5
- package/v2_text/text-style.js +0 -2
- package/v2_text/text-style.js.map +0 -1
- package/v2_text/text.d.ts +0 -22
- package/v2_text/text.js +0 -107
- package/v2_text/text.js.map +0 -1
- package/v2_text/types.d.ts +0 -44
- package/v2_text/types.js +0 -2
- package/v2_text/types.js.map +0 -1
- package/v2_text-list/index.d.ts +0 -6
- package/v2_text-list/index.js +0 -2
- package/v2_text-list/index.js.map +0 -1
- package/v2_text-list/ordered-list.d.ts +0 -3
- package/v2_text-list/ordered-list.js +0 -2
- package/v2_text-list/ordered-list.js.map +0 -1
- package/v2_text-list/text-list.styles.d.ts +0 -13
- package/v2_text-list/text-list.styles.js +0 -62
- package/v2_text-list/text-list.styles.js.map +0 -1
- package/v2_text-list/types.d.ts +0 -26
- package/v2_text-list/unordered-list.d.ts +0 -3
- package/v2_text-list/unordered-list.js +0 -2
- package/v2_text-list/unordered-list.js.map +0 -1
- package/v2_theme/color-theme-helper.d.ts +0 -1
- package/v2_theme/color-theme-helper.js +0 -2
- package/v2_theme/color-theme-helper.js.map +0 -1
- package/v2_theme/design-token-helper.d.ts +0 -2
- package/v2_theme/design-token-helper.js +0 -2
- package/v2_theme/design-token-helper.js.map +0 -1
- package/v2_theme/helper.d.ts +0 -16
- package/v2_theme/helper.js +0 -2
- package/v2_theme/helper.js.map +0 -1
- package/v2_theme/index.d.ts +0 -8
- package/v2_theme/index.js +0 -2
- package/v2_theme/index.js.map +0 -1
- package/v2_theme/text-theme-helper.d.ts +0 -1
- package/v2_theme/text-theme-helper.js +0 -2
- package/v2_theme/text-theme-helper.js.map +0 -1
- package/v2_theme/types.d.ts +0 -48
- package/v2_theme/types.js +0 -2
- package/v2_theme/types.js.map +0 -1
- package/v2_transition/index.d.ts +0 -5
- package/v2_transition/index.js +0 -2
- package/v2_transition/index.js.map +0 -1
- package/v3_theme/components/specs/a11yplayground-component-token-set.js +0 -2
- package/v3_theme/components/specs/a11yplayground-component-token-set.js.map +0 -1
- package/v3_theme/components/specs/default-component-token-set.js +0 -2
- package/v3_theme/components/specs/default-component-token-set.js.map +0 -1
- package/v3_theme/components/specs/lifesg-component-token-set.js +0 -2
- package/v3_theme/components/specs/lifesg-component-token-set.js.map +0 -1
- package/v3_theme/components/specs/pa-component-token-set.js +0 -2
- package/v3_theme/components/specs/pa-component-token-set.js.map +0 -1
- package/v3_theme/components/specs/smgs-component-token-set.js +0 -2
- package/v3_theme/components/specs/smgs-component-token-set.js.map +0 -1
- package/v3_theme/components/specs/spf-component-token-set.js +0 -2
- package/v3_theme/components/specs/spf-component-token-set.js.map +0 -1
- package/v3_theme/components/theme-helper.js +0 -2
- package/v3_theme/components/theme-helper.js.map +0 -1
- /package/cjs/{popover-v2 → popover}/popover-inline/popover-inline.js +0 -0
- /package/{popover-v2 → popover}/popover-inline/index.d.ts +0 -0
- /package/{popover-v2 → popover}/popover-inline/popover-inline.d.ts +0 -0
- /package/{popover-v2 → popover}/popover-inline/popover-inline.js +0 -0
- /package/{popover-v2 → popover}/popover-inline/popover-inline.styles.d.ts +0 -0
- /package/{popover-v2 → popover}/popover-trigger.styles.d.ts +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useSpring as r}from"@react-spring/web";import
|
|
1
|
+
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useSpring as r}from"@react-spring/web";import i from"../external/dayjs/dayjs.min.js";import l from"../external/lodash/isEmpty.js";import o from"../external/lodash/maxBy.js";import n from"../external/lodash/minBy.js";import{useState as a,useRef as d,useMemo as s}from"react";import{useResizeDetector as c}from"../external/react-resize-detector/build/index.esm.js";import{VisuallyHidden as m,inertValue as u}from"../shared/accessibility/index.js";import{DayCell as h}from"../shared/internal-calendar/day-cell/day-cell.js";import"../theme/theme-provider/index.js";import"../theme/theme-provider/context.js";import"../theme/tokens/border.js";import{Colour as f}from"../theme/tokens/colour.js";import"../theme/tokens/font.js";import"../theme/tokens/media-query.js";import{CalendarHelper as p}from"../util/calendar-helper.js";import{DateHelper as v}from"../util/date-helper.js";import"../util/simple-id-generator.js";import{StringHelper as b}from"../util/string-helper.js";import"@react-aria/live-announcer";import"../theme/utils/use-media-query.js";import{TimeHelper as g}from"../util/time-helper.js";import{Wrapper as y,GridWrapper as x,HeaderCellWeekColumn as k,HeaderCellWeek as T,CellWeekText as j,TimeColumn as w,TimeColumnWrapper as M,TimeColumnText as D,Expandable as $,ColumnWeekCell as I,TimeSlotWrapper as A,CollapseExpandAllWrapper as S,CollapseExpandAllButton as C,ChevronIcon as L,TimeSlotComponent as O}from"./time-slot-bar-week-days.style.js";const Y=({calendarDate:Y,disabledDates:E,selectedDate:H,onSelect:R,minDate:F,maxDate:B,startTime:P,endTime:U,maxVisibleCellHeight:q,slots:W,interval:z=30,variant:K="flexible",enableSelection:N=!0,onSlotClick:V})=>{var G,J,Q,X;const Z="YYYY-MM-DD",[_,ee]=a(!1),[te,re]=a(),ie=d({}),le=s((()=>p.generateDaysForCurrentWeek(Y)),[Y]),oe=Object.values(null!=W?W:{}).flat(),ne=null!==(J=null!=P?P:null===(G=n(oe,"startTime"))||void 0===G?void 0:G.startTime)&&void 0!==J?J:"00:00",ae=null!==(X=null!=U?U:null===(Q=o(oe,"endTime"))||void 0===Q?void 0:Q.endTime)&&void 0!==X?X:"24:00",de=Math.ceil(v.getTimeDiffInMinutes(ne,ae)/z),{height:se=0,ref:ce}=c(),me=!!q&&se>q,ue=void 0!==q?Math.max(1,Math.floor((q+4)/16)):0,he=q?!me||_?se:ue>0?16*ue-4:q:se,fe=r({height:he}),pe=s((()=>{if(W){const e={};return Object.entries(W).forEach((([t,r])=>{const i=function(e){const t=Array(de).fill({});return e.forEach((e=>{const r=Math.max(0,v.getTimeDiffInMinutes(ne,e.startTime)/z),i=Math.min(de,v.getTimeDiffInMinutes(ne,e.endTime)/z),o=Math.ceil(i)-Math.floor(r);switch(K){case"fixed":t[Math.floor(r)]=Object.assign(Object.assign({},e),{isActualSlot:!0,rowIndex:Math.floor(r),cellLength:i-r});break;case"flexible":for(let n=0;n<o;n++){const a=v.addMinutesToTime(ne,Math.floor(r+n)*z),d=v.addMinutesToTime(a,z);let s;l(t[Math.floor(r+n)])?0===n&&r%1!=0?s="top":n===o-1&&i%1!=0&&(s="bottom"):s=void 0,t[Math.floor(r+n)]=Object.assign(Object.assign({},e),{id:`${e.id}-${n}`,startTime:a,endTime:d,isActualSlot:!0,rowIndex:Math.floor(r+n),cellLength:1,halfFill:s})}}})),t}(r);e[t]=function(e){var t,r,i,o;let n=0;switch(K){case"fixed":for(e=e.reduce(((e,t)=>{const r=e.length>0?e[e.length-1]:e[0];return l(t)&&l(r)?e:[...e,t]}),[{}]);n<e.length;){if(l(e[n])){const l=null!==(r=null===(t=e[n-1])||void 0===t?void 0:t.endTime)&&void 0!==r?r:ne,a=null!==(o=null===(i=e[n+1])||void 0===i?void 0:i.startTime)&&void 0!==o?o:ae;if(l!==a){const t=v.getTimeDiffInMinutes(l,a)/z;e[n]=Object.assign(Object.assign({},je(n)),{startTime:l,endTime:a,cellLength:t})}}n++}break;case"flexible":for(;n<e.length;)l(e[n])?(e[n]=je(n),n++):n+=e[n].cellLength}return e.filter((e=>!l(e)&&e.cellLength>0))}(i)})),e}return{}}),[W]),ve=s((()=>le.reduce(((e,t)=>{const r=t.format(Z);return e[r]=Me(r).filter((e=>!!e.isActualSlot&&void 0!==e.rowIndex)).map((e=>({key:`${r}-${e.id}`,date:r,rowIndex:e.rowIndex}))).sort(((e,t)=>e.rowIndex-t.rowIndex)),e}),{})),[le,pe]),be=e=>{re(e)},ge=()=>{re(void 0)},ye=(e,t)=>{null==V||V(e,t)},xe=(e,t)=>r=>{r.stopPropagation(),ye(e,t)},ke=e=>{e.preventDefault(),ee((e=>!e))},Te=e=>{var t;const r=p.isWithinRange(e,F?i(F):void 0,B?i(B):void 0),l=null!==(t=E&&E.includes(e.format(Z)))&&void 0!==t&&t;return!r||l};function je(e,t=1){return{id:`${e.toString()}-${(new Date).getTime()}`,startTime:"",endTime:"",clickable:!1,isActualSlot:!1,styleAttributes:{backgroundColor:f["bg-stronger"]},cellLength:t}}function we(e,t){var r;const{startTime:l,endTime:o}=t;return b.joinNonEmptyStrings([i(e).format("D MMMM YYYY dddd"),l&&o?g.formatTimeRange(l,o):void 0,t.label,null===(r=t.clickable)||void 0===r||r?"Available":"Unavailable"])}function Me(e){var t;return null!==(t=pe[e])&&void 0!==t?t:Array("flexible"===K?de:1).fill(void 0).map(((e,t)=>je(t,"fixed"===K?de:void 0)))}const De=(e,r)=>{var i;const{id:l,clickable:o=!0,isActualSlot:n,styleAttributes:a,cellLength:d,halfFill:s}=r,{styleType:c="default",backgroundColor:h,backgroundColor2:f}=a,p=`${e}-${l}`,v=me&&!_&&(null!==(i=r.rowIndex)&&void 0!==i?i:0)>=ue;return t(O,{styleType:c,bgColor:h,bgColor2:f,clickable:o,$halfFill:s,$height:"fixed"===K?12*d+4*(d-1):12,onClick:()=>o&&ye(e,r),children:n&&t(m,{inert:u(v),children:t("button",{type:"button",ref:e=>{ie.current[p]=e},"aria-disabled":!o,"aria-label":we(e,r),onKeyDown:t=>{var i;return((e,t)=>{var r;const i=null!==(r=ve[t.date])&&void 0!==r?r:[],l=e=>{var t;e&&(null===(t=ie.current[e.key])||void 0===t||t.focus())};switch(e.key){case"ArrowRight":case"ArrowDown":{e.preventDefault();const r=i.findIndex((e=>e.key===t.key));l(i[r+1]);break}case"ArrowLeft":case"ArrowUp":{e.preventDefault();const r=i.findIndex((e=>e.key===t.key));l(i[r-1]);break}case"Home":case"PageUp":e.preventDefault(),l(i[0]);break;case"End":e.preventDefault(),l(i[i.length-1]);break;case"PageDown":if(e.preventDefault(),me&&!_){ee(!0);const e=[...i].reverse().find((e=>e.rowIndex<ue));l(null!=e?e:i[0]);break}l(i[i.length-1])}})(t,{key:p,date:e,rowIndex:null!==(i=r.rowIndex)&&void 0!==i?i:0})},onClick:o?xe(e,r):void 0})})},l)};return e(y,{children:[e(x,{role:"grid",children:[t(k,{role:"row",onBlur:ge,children:le.map(((e,r)=>{const l=(e=>{const t=e.format(Z),r=Te(e),i={},l=N&&!r;r&&(i.disabled=!0),i.interactive=!!N&&l;const o=l&&te&&e.isSame(te,"day"),n=[H].includes(t);return n&&o?(i.labelType="selected-hover",i.circleLeft="selected-hover-outline",i.circleRight="selected-hover-outline"):n?(i.labelType="selected",i.circleLeft="selected-outline",i.circleRight="selected-outline"):o&&(i.labelType="hover",i.circleLeft="hover-subtle",i.circleRight="hover-subtle"),i})(e);return t(h,Object.assign({date:e,calendarDate:i(H),role:"columnheader",tabIndex:l.interactive?0:-1,onSelect:()=>{((e,t)=>{!t&&N&&R(e)})(e,!l.interactive)},onHover:be,onHoverEnd:ge,onFocus:be},l),`day-${r}`)}))}),t(k,{role:"row",children:le.map(((e,r)=>t(T,{role:"gridcell",children:t(j,{weight:"semibold",$disabled:Te(e),children:i(e).format("ddd")})},`week-day-${r}`)))}),(()=>{let e=!1;const r=t=>{const r=i(ne,"HH:mm").add(4*t*z,"minutes"),l=r.format("h"),o=r.format("mm"),n=r.format("a");let a=`${l}${"00"!==o?` ${o}`:""}`;return e||"pm"!==n||"00"!==o||(a+=` ${n}`,e=!0),a};return t(w,{$height:he,"aria-hidden":!0,children:Array(Math.ceil(de/4)).fill(void 0).map(((e,i)=>t(M,{children:t(D,{children:r(i)})},`time-${i}`)))})})(),t($,{style:fe,role:"row",children:t(I,{ref:ce,children:le.map(((e,r)=>{const i=e.format(Z),l=Me(i);return t(A,{role:"gridcell",children:l.map((e=>De(i,e)))},`wrapper-${r}`)}))},`week-cell-${Y.format(Z)}`)})]}),(()=>{if(q&&ce.current)return t(S,{children:e(C,{"data-testid":"time-bar-expand-collapse-button",styleType:"light","aria-expanded":_,onClick:ke,children:[t(L,{$isExpanded:_}),(_?"Hide":"Show")+" later times"]})})})()]})};export{Y as TimeSlotBarWeekDays};
|
|
2
2
|
//# sourceMappingURL=time-slot-bar-week-days.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time-slot-bar-week-days.js","sources":["../../src/time-slot-bar-week/time-slot-bar-week-days.tsx"],"sourcesContent":["import { useSpring } from \"@react-spring/web\";\nimport type { Dayjs } from \"dayjs\";\nimport dayjs from \"dayjs\";\nimport isEmpty from \"lodash/isEmpty\";\nimport maxBy from \"lodash/maxBy\";\nimport minBy from \"lodash/minBy\";\nimport type React from \"react\";\nimport { useMemo, useRef, useState } from \"react\";\nimport { useResizeDetector } from \"react-resize-detector\";\n\nimport { inertValue, VisuallyHidden } from \"../shared/accessibility\";\nimport type { InternalCalendarProps } from \"../shared/internal-calendar\";\nimport type { CellStyleProps } from \"../shared/internal-calendar/day-cell\";\nimport { DayCell } from \"../shared/internal-calendar/day-cell\";\nimport type { TimeSlot } from \"../time-slot-bar/types\";\nimport { DateHelper } from \"../util\";\nimport { CalendarHelper } from \"../util/calendar-helper\";\nimport { StringHelper } from \"../util/string-helper\";\nimport { TimeHelper } from \"../util/time-helper\";\nimport { V3_Colour } from \"../v3_theme\";\nimport {\n CellWeekText,\n ChevronIcon,\n CollapseExpandAllButton,\n CollapseExpandAllWrapper,\n ColumnWeekCell,\n Expandable,\n GridWrapper,\n HeaderCellWeek,\n HeaderCellWeekColumn,\n TimeColumn,\n TimeColumnText,\n TimeColumnWrapper,\n TimeSlotComponent,\n TimeSlotWrapper,\n Wrapper,\n} from \"./time-slot-bar-week-days.style\";\nimport type { TimeSlotCellsVariant } from \"./types\";\n\ninterface TimeSlotWeekDaysProps\n extends Pick<\n InternalCalendarProps,\n \"disabledDates\" | \"minDate\" | \"maxDate\"\n > {\n selectedDate: string | undefined;\n calendarDate: Dayjs;\n onSelect: (value: Dayjs) => void;\n slots: { [date: string]: TimeSlot[] };\n startTime?: string | undefined;\n endTime?: string | undefined;\n maxVisibleCellHeight?: number | undefined;\n interval?: number | undefined;\n variant?: TimeSlotCellsVariant | undefined;\n enableSelection?: boolean | undefined;\n onSlotClick?: ((date: string, timeSlot: TimeSlot) => void) | undefined;\n}\n\ninterface TimeSlotCell extends TimeSlot {\n cellLength: number;\n halfFill?: \"top\" | \"bottom\" | undefined;\n isActualSlot?: boolean | undefined;\n rowIndex?: number | undefined;\n}\n\ninterface FocusableSlotMeta {\n key: string;\n date: string;\n rowIndex: number;\n}\n\nconst SLOT_HEIGHT = 12; // px\nconst SLOT_GAP = 4; // px\nconst ROW_HEIGHT = SLOT_HEIGHT + SLOT_GAP;\n\nexport const TimeSlotBarWeekDays = ({\n calendarDate,\n disabledDates,\n selectedDate,\n onSelect,\n minDate,\n maxDate,\n startTime,\n endTime,\n maxVisibleCellHeight,\n slots: daySlots,\n interval = 30,\n variant = \"flexible\",\n enableSelection = true,\n onSlotClick,\n}: TimeSlotWeekDaysProps) => {\n // =============================================================================\n // CONST, STATE, REF\n // =============================================================================\n const dateFormat = \"YYYY-MM-DD\";\n const [expandAll, setExpandAll] = useState<boolean>(false);\n const [hoverDay, setHoverDay] = useState<Dayjs>();\n const slotButtonRefs = useRef<Record<string, HTMLButtonElement | null>>({});\n const currentCalendarWeek = useMemo((): Dayjs[] => {\n return CalendarHelper.generateDaysForCurrentWeek(calendarDate);\n }, [calendarDate]);\n\n const flattenedSlots = Object.values(daySlots ?? {}).flat();\n const minStartTime =\n startTime ?? minBy(flattenedSlots, \"startTime\")?.startTime ?? \"00:00\";\n const maxEndTime =\n endTime ?? maxBy(flattenedSlots, \"endTime\")?.endTime ?? \"24:00\";\n const numberOfCells = Math.ceil(\n DateHelper.getTimeDiffInMinutes(minStartTime, maxEndTime) / interval\n );\n\n // React spring animation configuration\n const { height: actualHeight = 0, ref: cellsRef } = useResizeDetector();\n const hasCollapsedContent =\n !!maxVisibleCellHeight && actualHeight > maxVisibleCellHeight;\n const visibleRowCount =\n maxVisibleCellHeight !== undefined\n ? Math.max(\n 1,\n Math.floor((maxVisibleCellHeight + SLOT_GAP) / ROW_HEIGHT)\n )\n : 0;\n const collapsedHeight =\n visibleRowCount > 0\n ? visibleRowCount * ROW_HEIGHT - SLOT_GAP\n : maxVisibleCellHeight;\n const height = maxVisibleCellHeight\n ? !hasCollapsedContent || expandAll\n ? actualHeight\n : collapsedHeight\n : actualHeight;\n const expandableStyles = useSpring({ height });\n\n const generatedDaySlots = useMemo((): {\n [date: string]: TimeSlotCell[];\n } => {\n if (daySlots) {\n const transformedDaySlots: Record<string, TimeSlotCell[]> = {};\n Object.entries(daySlots).forEach(([key, slots]) => {\n const cellsArray = initializeAndFillSlots(slots);\n transformedDaySlots[key] = populateEmptyCells(cellsArray);\n });\n return transformedDaySlots;\n }\n return {};\n }, [daySlots]);\n\n const focusableSlotsByDate = useMemo(() => {\n return currentCalendarWeek.reduce<Record<string, FocusableSlotMeta[]>>(\n (result, day) => {\n const formattedDate = day.format(dateFormat);\n\n result[formattedDate] = getCellsForDate(formattedDate)\n .filter(\n (\n slot\n ): slot is TimeSlotCell & {\n isActualSlot: true;\n rowIndex: number;\n } => !!slot.isActualSlot && slot.rowIndex !== undefined\n )\n .map((slot) => ({\n key: `${formattedDate}-${slot.id}`,\n date: formattedDate,\n rowIndex: slot.rowIndex,\n }))\n .sort((a, b) => a.rowIndex - b.rowIndex);\n\n return result;\n },\n {}\n );\n }, [currentCalendarWeek, generatedDaySlots]);\n\n // =============================================================================\n // EVENT HANDLERS\n // =============================================================================\n const handleDayClick = (value: Dayjs, isDisabled: boolean) => {\n if (isDisabled || !enableSelection) return;\n\n onSelect(value);\n };\n\n const handleDayHover = (value: Dayjs) => {\n setHoverDay(value);\n };\n\n const handleDayHoverClear = () => {\n setHoverDay(undefined);\n };\n\n const handleSlotClick = (date: string, slot: TimeSlot) => {\n onSlotClick?.(date, slot);\n };\n\n const handleSlotButtonClick =\n (date: string, slot: TimeSlot) =>\n (event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n\n handleSlotClick(date, slot);\n };\n\n const handleExpandCollapseClick = (event: React.MouseEvent) => {\n event.preventDefault();\n setExpandAll((prevExpandValue) => !prevExpandValue);\n };\n\n const handleSlotKeyDown = (\n event: React.KeyboardEvent<HTMLButtonElement>,\n currentSlot: FocusableSlotMeta\n ) => {\n const sameColumnSlots = focusableSlotsByDate[currentSlot.date] ?? [];\n\n const focusSlot = (slot?: FocusableSlotMeta) => {\n if (!slot) return;\n slotButtonRefs.current[slot.key]?.focus();\n };\n\n switch (event.key) {\n case \"ArrowRight\":\n case \"ArrowDown\": {\n event.preventDefault();\n const currentIndex = sameColumnSlots.findIndex(\n (slot) => slot.key === currentSlot.key\n );\n focusSlot(sameColumnSlots[currentIndex + 1]);\n break;\n }\n case \"ArrowLeft\":\n case \"ArrowUp\": {\n event.preventDefault();\n const currentIndex = sameColumnSlots.findIndex(\n (slot) => slot.key === currentSlot.key\n );\n focusSlot(sameColumnSlots[currentIndex - 1]);\n break;\n }\n case \"Home\":\n event.preventDefault();\n focusSlot(sameColumnSlots[0]);\n break;\n case \"End\":\n event.preventDefault();\n focusSlot(sameColumnSlots[sameColumnSlots.length - 1]);\n break;\n case \"PageUp\":\n event.preventDefault();\n focusSlot(sameColumnSlots[0]);\n break;\n case \"PageDown\": {\n event.preventDefault();\n if (hasCollapsedContent && !expandAll) {\n setExpandAll(true);\n const lastVisibleSlot = [...sameColumnSlots]\n .reverse()\n .find((slot) => slot.rowIndex < visibleRowCount);\n focusSlot(lastVisibleSlot ?? sameColumnSlots[0]);\n break;\n }\n\n focusSlot(sameColumnSlots[sameColumnSlots.length - 1]);\n break;\n }\n default:\n break;\n }\n };\n\n // =============================================================================\n // HELPER FUNCTIONS\n // =============================================================================\n const isDisabled = (day: Dayjs): boolean => {\n const isWithinRange = CalendarHelper.isWithinRange(\n day,\n minDate ? dayjs(minDate) : undefined,\n maxDate ? dayjs(maxDate) : undefined\n );\n\n const isDisabledDate =\n (disabledDates && disabledDates.includes(day.format(dateFormat))) ??\n false;\n\n return !isWithinRange || isDisabledDate;\n };\n\n const generateStyleProps = (day: Dayjs) => {\n const dateStartWithYear = day.format(dateFormat);\n const disabled = isDisabled(day);\n const dayCellStyleProps: CellStyleProps = {};\n const isHoverEnabled = enableSelection && !disabled;\n\n if (disabled) {\n dayCellStyleProps.disabled = true;\n }\n\n dayCellStyleProps.interactive = enableSelection\n ? isHoverEnabled\n : false;\n\n const isHover =\n isHoverEnabled && hoverDay && day.isSame(hoverDay, \"day\");\n const isSelected = [selectedDate].includes(dateStartWithYear);\n\n if (isSelected && isHover) {\n dayCellStyleProps.labelType = \"selected-hover\";\n dayCellStyleProps.circleLeft = \"selected-hover-outline\";\n dayCellStyleProps.circleRight = \"selected-hover-outline\";\n } else if (isSelected) {\n dayCellStyleProps.labelType = \"selected\";\n dayCellStyleProps.circleLeft = \"selected-outline\";\n dayCellStyleProps.circleRight = \"selected-outline\";\n } else if (isHover) {\n dayCellStyleProps.labelType = \"hover\";\n dayCellStyleProps.circleLeft = \"hover-subtle\";\n dayCellStyleProps.circleRight = \"hover-subtle\";\n }\n\n return dayCellStyleProps;\n };\n\n function generateFallbackCell(\n prefix: string | number,\n cellLength = 1\n ): TimeSlotCell {\n return {\n id: `${prefix.toString()}-${new Date().getTime()}`,\n startTime: \"\",\n endTime: \"\",\n clickable: false,\n isActualSlot: false,\n styleAttributes: {\n backgroundColor: V3_Colour[\"bg-stronger\"],\n },\n cellLength,\n };\n }\n\n function getSlotAriaLabel(date: string, slot: TimeSlot) {\n const { startTime: slotStartTime, endTime: slotEndTime } = slot;\n\n return StringHelper.joinNonEmptyStrings([\n dayjs(date).format(\"D MMMM YYYY dddd\"),\n slotStartTime && slotEndTime\n ? TimeHelper.formatTimeRange(slotStartTime, slotEndTime)\n : undefined,\n slot.label,\n slot.clickable ?? true ? \"Available\" : \"Unavailable\",\n ]);\n }\n\n function initializeAndFillSlots(slots: TimeSlot[]): TimeSlotCell[] {\n const cellsArray = Array(numberOfCells).fill({});\n\n slots.forEach((slot) => {\n const startIndex = Math.max(\n 0,\n DateHelper.getTimeDiffInMinutes(minStartTime, slot.startTime) /\n interval\n );\n const endIndex = Math.min(\n numberOfCells,\n DateHelper.getTimeDiffInMinutes(minStartTime, slot.endTime) /\n interval\n );\n const cellLength = Math.ceil(endIndex) - Math.floor(startIndex);\n\n switch (variant) {\n case \"fixed\":\n // Keep fixed slots as 1 long cell\n cellsArray[Math.floor(startIndex)] = {\n ...slot,\n isActualSlot: true,\n rowIndex: Math.floor(startIndex),\n cellLength: endIndex - startIndex,\n };\n break;\n case \"flexible\":\n // Split long slot into multiple cells of length 1\n for (let i = 0; i < cellLength; i++) {\n const startTime = DateHelper.addMinutesToTime(\n minStartTime,\n Math.floor(startIndex + i) * interval\n );\n const endTime = DateHelper.addMinutesToTime(\n startTime,\n interval\n );\n\n let halfFill: string | undefined;\n\n if (!isEmpty(cellsArray[Math.floor(startIndex + i)])) {\n // Previous cell extends into current cell, fill entire cell\n halfFill = undefined;\n } else if (i === 0 && startIndex % 1 !== 0) {\n halfFill = \"top\";\n } else if (i === cellLength - 1 && endIndex % 1 !== 0) {\n halfFill = \"bottom\";\n }\n\n cellsArray[Math.floor(startIndex + i)] = {\n ...slot,\n id: `${slot.id}-${i}`,\n startTime,\n endTime,\n isActualSlot: true,\n rowIndex: Math.floor(startIndex + i),\n cellLength: 1,\n halfFill,\n };\n }\n break;\n }\n });\n return cellsArray;\n }\n\n function populateEmptyCells(cellsArray: any[]): TimeSlotCell[] {\n let i = 0;\n switch (variant) {\n case \"fixed\":\n // Truncate consecutive empty cells into 1 [{},{},{...},{},{}] -> [{},{...},{}]\n cellsArray = cellsArray.reduce(\n (result, obj) => {\n const lastObj =\n result.length > 0\n ? result[result.length - 1]\n : result[0];\n if (isEmpty(obj) && isEmpty(lastObj)) {\n return result;\n }\n return [...result, obj];\n },\n [{}]\n );\n\n // Fill in empty cells with timings & corresponding cell lengths\n while (i < cellsArray.length) {\n if (isEmpty(cellsArray[i])) {\n const startTime =\n cellsArray[i - 1]?.endTime ?? minStartTime;\n const endTime =\n cellsArray[i + 1]?.startTime ?? maxEndTime;\n if (startTime !== endTime) {\n const cellLength =\n DateHelper.getTimeDiffInMinutes(\n startTime,\n endTime\n ) / interval;\n cellsArray[i] = {\n ...generateFallbackCell(i),\n startTime,\n endTime,\n cellLength,\n };\n }\n }\n i++;\n }\n break;\n case \"flexible\":\n // Fill in individual empty cell with interval timings\n while (i < cellsArray.length) {\n if (isEmpty(cellsArray[i])) {\n cellsArray[i] = generateFallbackCell(i);\n i++;\n } else {\n i += cellsArray[i].cellLength;\n }\n }\n break;\n }\n return cellsArray.filter(\n (slot) => !isEmpty(slot) && slot.cellLength > 0\n );\n }\n\n function getCellsForDate(formattedDate: string) {\n return (\n generatedDaySlots[formattedDate] ??\n Array(variant === \"flexible\" ? numberOfCells : 1)\n .fill(undefined)\n .map((_, index) =>\n generateFallbackCell(\n index,\n variant === \"fixed\" ? numberOfCells : undefined\n )\n )\n );\n }\n\n // =============================================================================\n // RENDER FUNCTIONS\n // =============================================================================\n const renderWeek = () => {\n return (\n <HeaderCellWeekColumn role=\"row\">\n {currentCalendarWeek.map((day, index) => (\n <HeaderCellWeek key={`week-day-${index}`} role=\"gridcell\">\n <CellWeekText\n weight={\"semibold\"}\n $disabled={isDisabled(day)}\n >\n {dayjs(day).format(\"ddd\")}\n </CellWeekText>\n </HeaderCellWeek>\n ))}\n </HeaderCellWeekColumn>\n );\n };\n\n const renderHeader = () => {\n return (\n <HeaderCellWeekColumn role=\"row\" onBlur={handleDayHoverClear}>\n {currentCalendarWeek.map((day, dayIndex) => {\n const dayCellStyleProps = generateStyleProps(day);\n\n return (\n <DayCell\n key={`day-${dayIndex}`}\n date={day}\n calendarDate={dayjs(selectedDate)}\n role=\"columnheader\"\n tabIndex={dayCellStyleProps.interactive ? 0 : -1}\n onSelect={() => {\n handleDayClick(\n day,\n !dayCellStyleProps.interactive\n );\n }}\n onHover={handleDayHover}\n onHoverEnd={handleDayHoverClear}\n onFocus={handleDayHover}\n {...dayCellStyleProps}\n ></DayCell>\n );\n })}\n </HeaderCellWeekColumn>\n );\n };\n\n const renderTimeColumn = () => {\n let hasSetFirstAfternoonHour = false;\n\n const formatTime = (index: number) => {\n const parsedTime = dayjs(minStartTime, \"HH:mm\").add(\n index * 4 * interval,\n \"minutes\"\n );\n const hour = parsedTime.format(\"h\");\n const minutes = parsedTime.format(\"mm\");\n const amPm = parsedTime.format(\"a\");\n\n let formattedTime = `${hour}${\n minutes !== \"00\" ? ` ${minutes}` : \"\"\n }`;\n\n if (\n !hasSetFirstAfternoonHour &&\n amPm === \"pm\" &&\n minutes === \"00\"\n ) {\n formattedTime += ` ${amPm}`;\n hasSetFirstAfternoonHour = true;\n }\n\n return formattedTime;\n };\n\n return (\n <TimeColumn $height={height} aria-hidden>\n {Array(Math.ceil(numberOfCells / 4))\n .fill(undefined)\n .map((_, index) => (\n <TimeColumnWrapper key={`time-${index}`}>\n <TimeColumnText>{formatTime(index)}</TimeColumnText>\n </TimeColumnWrapper>\n ))}\n </TimeColumn>\n );\n };\n const renderSlotCell = (formattedDate: string, slot: TimeSlotCell) => {\n const {\n id,\n clickable = true,\n isActualSlot,\n styleAttributes,\n cellLength,\n halfFill,\n } = slot;\n const {\n styleType = \"default\",\n backgroundColor,\n backgroundColor2,\n } = styleAttributes;\n const slotId = `${formattedDate}-${id}`;\n const isCollapsedSlot =\n hasCollapsedContent &&\n !expandAll &&\n (slot.rowIndex ?? 0) >= visibleRowCount;\n\n return (\n <TimeSlotComponent\n $type=\"vertical\"\n $variant=\"default\"\n key={id}\n $styleType={styleType}\n $bgColor={backgroundColor}\n $bgColor2={backgroundColor2}\n $halfFill={halfFill}\n $clickable={clickable}\n $height={\n variant === \"fixed\"\n ? cellLength * SLOT_HEIGHT + (cellLength - 1) * SLOT_GAP\n : SLOT_HEIGHT\n }\n onClick={() =>\n clickable && handleSlotClick(formattedDate, slot)\n }\n >\n {isActualSlot && (\n <VisuallyHidden inert={inertValue(isCollapsedSlot)}>\n <button\n type=\"button\"\n ref={(element) => {\n slotButtonRefs.current[slotId] = element;\n }}\n aria-disabled={!clickable}\n aria-label={getSlotAriaLabel(formattedDate, slot)}\n onKeyDown={(event) =>\n handleSlotKeyDown(event, {\n key: slotId,\n date: formattedDate,\n rowIndex: slot.rowIndex ?? 0,\n })\n }\n onClick={\n clickable\n ? handleSlotButtonClick(formattedDate, slot)\n : undefined\n }\n />\n </VisuallyHidden>\n )}\n </TimeSlotComponent>\n );\n };\n\n const renderTimeSlotBarCells = () => {\n return (\n <Expandable style={expandableStyles} role=\"row\">\n <ColumnWeekCell\n ref={cellsRef}\n key={`week-cell-${calendarDate.format(dateFormat)}`}\n >\n {currentCalendarWeek.map((day, dayIndex) => {\n const formattedDate = day.format(dateFormat);\n const cellsArray = getCellsForDate(formattedDate);\n return (\n <TimeSlotWrapper\n key={`wrapper-${dayIndex}`}\n role=\"gridcell\"\n >\n {cellsArray.map((slot) =>\n renderSlotCell(formattedDate, slot)\n )}\n </TimeSlotWrapper>\n );\n })}\n </ColumnWeekCell>\n </Expandable>\n );\n };\n\n const renderCollapseExpandAll = () => {\n if (!maxVisibleCellHeight || !cellsRef.current) return;\n return (\n <CollapseExpandAllWrapper>\n <CollapseExpandAllButton\n data-testid=\"time-bar-expand-collapse-button\"\n styleType=\"light\"\n aria-expanded={expandAll}\n onClick={handleExpandCollapseClick}\n >\n <ChevronIcon $isExpanded={expandAll} />\n {`${expandAll ? \"Hide\" : \"Show\"} later times`}\n </CollapseExpandAllButton>\n </CollapseExpandAllWrapper>\n );\n };\n\n return (\n <Wrapper>\n <GridWrapper role=\"grid\">\n {renderHeader()}\n {renderWeek()}\n {renderTimeColumn()}\n {renderTimeSlotBarCells()}\n </GridWrapper>\n {renderCollapseExpandAll()}\n </Wrapper>\n );\n};\n"],"names":["TimeSlotBarWeekDays","calendarDate","disabledDates","selectedDate","onSelect","minDate","maxDate","startTime","endTime","maxVisibleCellHeight","slots","daySlots","interval","variant","enableSelection","onSlotClick","dateFormat","expandAll","setExpandAll","useState","hoverDay","setHoverDay","slotButtonRefs","useRef","currentCalendarWeek","useMemo","CalendarHelper","generateDaysForCurrentWeek","flattenedSlots","Object","values","flat","minStartTime","_b","_a","minBy","maxEndTime","_d","_c","maxBy","numberOfCells","Math","ceil","DateHelper","getTimeDiffInMinutes","height","actualHeight","ref","cellsRef","useResizeDetector","hasCollapsedContent","visibleRowCount","undefined","max","floor","SLOT_HEIGHT","expandableStyles","useSpring","generatedDaySlots","transformedDaySlots","entries","forEach","key","cellsArray","Array","fill","slot","startIndex","endIndex","min","cellLength","assign","isActualSlot","rowIndex","i","addMinutesToTime","halfFill","isEmpty","id","initializeAndFillSlots","reduce","result","obj","lastObj","length","generateFallbackCell","filter","populateEmptyCells","focusableSlotsByDate","day","formattedDate","format","getCellsForDate","map","date","sort","a","b","handleDayHover","value","handleDayHoverClear","handleSlotClick","handleSlotButtonClick","event","stopPropagation","handleExpandCollapseClick","preventDefault","prevExpandValue","isDisabled","isWithinRange","dayjs","isDisabledDate","includes","prefix","toString","Date","getTime","clickable","styleAttributes","backgroundColor","V3_Colour","getSlotAriaLabel","slotStartTime","slotEndTime","StringHelper","joinNonEmptyStrings","TimeHelper","formatTimeRange","label","_","index","renderSlotCell","styleType","backgroundColor2","slotId","isCollapsedSlot","_jsx","TimeSlotComponent","$type","$variant","$bgColor","$bgColor2","$clickable","$height","onClick","children","VisuallyHidden","inert","inertValue","type","element","current","onKeyDown","currentSlot","sameColumnSlots","focusSlot","focus","currentIndex","findIndex","lastVisibleSlot","reverse","find","handleSlotKeyDown","_jsxs","Wrapper","GridWrapper","role","HeaderCellWeekColumn","onBlur","dayIndex","dayCellStyleProps","dateStartWithYear","disabled","isHoverEnabled","interactive","isHover","isSame","isSelected","labelType","circleLeft","circleRight","generateStyleProps","DayCell","tabIndex","handleDayClick","onHover","onHoverEnd","onFocus","HeaderCellWeek","CellWeekText","weight","$disabled","hasSetFirstAfternoonHour","formatTime","parsedTime","add","hour","minutes","amPm","formattedTime","TimeColumn","TimeColumnWrapper","TimeColumnText","renderTimeColumn","Expandable","style","ColumnWeekCell","TimeSlotWrapper","CollapseExpandAllWrapper","CollapseExpandAllButton","ChevronIcon","renderCollapseExpandAll"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"time-slot-bar-week-days.js","sources":["../../src/time-slot-bar-week/time-slot-bar-week-days.tsx"],"sourcesContent":["import { useSpring } from \"@react-spring/web\";\nimport type { Dayjs } from \"dayjs\";\nimport dayjs from \"dayjs\";\nimport isEmpty from \"lodash/isEmpty\";\nimport maxBy from \"lodash/maxBy\";\nimport minBy from \"lodash/minBy\";\nimport type React from \"react\";\nimport { useMemo, useRef, useState } from \"react\";\nimport { useResizeDetector } from \"react-resize-detector\";\n\nimport { inertValue, VisuallyHidden } from \"../shared/accessibility\";\nimport type { InternalCalendarProps } from \"../shared/internal-calendar\";\nimport type { CellStyleProps } from \"../shared/internal-calendar/day-cell\";\nimport { DayCell } from \"../shared/internal-calendar/day-cell\";\nimport { Colour } from \"../theme\";\nimport type { TimeSlot } from \"../time-slot-bar/types\";\nimport { DateHelper } from \"../util\";\nimport { CalendarHelper } from \"../util/calendar-helper\";\nimport { StringHelper } from \"../util/string-helper\";\nimport { TimeHelper } from \"../util/time-helper\";\nimport {\n CellWeekText,\n ChevronIcon,\n CollapseExpandAllButton,\n CollapseExpandAllWrapper,\n ColumnWeekCell,\n Expandable,\n GridWrapper,\n HeaderCellWeek,\n HeaderCellWeekColumn,\n TimeColumn,\n TimeColumnText,\n TimeColumnWrapper,\n TimeSlotComponent,\n TimeSlotWrapper,\n Wrapper,\n} from \"./time-slot-bar-week-days.style\";\nimport type { TimeSlotCellsVariant } from \"./types\";\n\ninterface TimeSlotWeekDaysProps\n extends Pick<\n InternalCalendarProps,\n \"disabledDates\" | \"minDate\" | \"maxDate\"\n > {\n selectedDate: string | undefined;\n calendarDate: Dayjs;\n onSelect: (value: Dayjs) => void;\n slots: { [date: string]: TimeSlot[] };\n startTime?: string | undefined;\n endTime?: string | undefined;\n maxVisibleCellHeight?: number | undefined;\n interval?: number | undefined;\n variant?: TimeSlotCellsVariant | undefined;\n enableSelection?: boolean | undefined;\n onSlotClick?: ((date: string, timeSlot: TimeSlot) => void) | undefined;\n}\n\ninterface TimeSlotCell extends TimeSlot {\n cellLength: number;\n halfFill?: \"top\" | \"bottom\" | undefined;\n isActualSlot?: boolean | undefined;\n rowIndex?: number | undefined;\n}\n\ninterface FocusableSlotMeta {\n key: string;\n date: string;\n rowIndex: number;\n}\n\nconst SLOT_HEIGHT = 12; // px\nconst SLOT_GAP = 4; // px\nconst ROW_HEIGHT = SLOT_HEIGHT + SLOT_GAP;\n\nexport const TimeSlotBarWeekDays = ({\n calendarDate,\n disabledDates,\n selectedDate,\n onSelect,\n minDate,\n maxDate,\n startTime,\n endTime,\n maxVisibleCellHeight,\n slots: daySlots,\n interval = 30,\n variant = \"flexible\",\n enableSelection = true,\n onSlotClick,\n}: TimeSlotWeekDaysProps) => {\n // =============================================================================\n // CONST, STATE, REF\n // =============================================================================\n const dateFormat = \"YYYY-MM-DD\";\n const [expandAll, setExpandAll] = useState<boolean>(false);\n const [hoverDay, setHoverDay] = useState<Dayjs>();\n const slotButtonRefs = useRef<Record<string, HTMLButtonElement | null>>({});\n const currentCalendarWeek = useMemo((): Dayjs[] => {\n return CalendarHelper.generateDaysForCurrentWeek(calendarDate);\n }, [calendarDate]);\n\n const flattenedSlots = Object.values(daySlots ?? {}).flat();\n const minStartTime =\n startTime ?? minBy(flattenedSlots, \"startTime\")?.startTime ?? \"00:00\";\n const maxEndTime =\n endTime ?? maxBy(flattenedSlots, \"endTime\")?.endTime ?? \"24:00\";\n const numberOfCells = Math.ceil(\n DateHelper.getTimeDiffInMinutes(minStartTime, maxEndTime) / interval\n );\n\n // React spring animation configuration\n const { height: actualHeight = 0, ref: cellsRef } = useResizeDetector();\n const hasCollapsedContent =\n !!maxVisibleCellHeight && actualHeight > maxVisibleCellHeight;\n const visibleRowCount =\n maxVisibleCellHeight !== undefined\n ? Math.max(\n 1,\n Math.floor((maxVisibleCellHeight + SLOT_GAP) / ROW_HEIGHT)\n )\n : 0;\n const collapsedHeight =\n visibleRowCount > 0\n ? visibleRowCount * ROW_HEIGHT - SLOT_GAP\n : maxVisibleCellHeight;\n const height = maxVisibleCellHeight\n ? !hasCollapsedContent || expandAll\n ? actualHeight\n : collapsedHeight\n : actualHeight;\n const expandableStyles = useSpring({ height });\n\n const generatedDaySlots = useMemo((): {\n [date: string]: TimeSlotCell[];\n } => {\n if (daySlots) {\n const transformedDaySlots: Record<string, TimeSlotCell[]> = {};\n Object.entries(daySlots).forEach(([key, slots]) => {\n const cellsArray = initializeAndFillSlots(slots);\n transformedDaySlots[key] = populateEmptyCells(cellsArray);\n });\n return transformedDaySlots;\n }\n return {};\n }, [daySlots]);\n\n const focusableSlotsByDate = useMemo(() => {\n return currentCalendarWeek.reduce<Record<string, FocusableSlotMeta[]>>(\n (result, day) => {\n const formattedDate = day.format(dateFormat);\n\n result[formattedDate] = getCellsForDate(formattedDate)\n .filter(\n (\n slot\n ): slot is TimeSlotCell & {\n isActualSlot: true;\n rowIndex: number;\n } => !!slot.isActualSlot && slot.rowIndex !== undefined\n )\n .map((slot) => ({\n key: `${formattedDate}-${slot.id}`,\n date: formattedDate,\n rowIndex: slot.rowIndex,\n }))\n .sort((a, b) => a.rowIndex - b.rowIndex);\n\n return result;\n },\n {}\n );\n }, [currentCalendarWeek, generatedDaySlots]);\n\n // =============================================================================\n // EVENT HANDLERS\n // =============================================================================\n const handleDayClick = (value: Dayjs, isDisabled: boolean) => {\n if (isDisabled || !enableSelection) return;\n\n onSelect(value);\n };\n\n const handleDayHover = (value: Dayjs) => {\n setHoverDay(value);\n };\n\n const handleDayHoverClear = () => {\n setHoverDay(undefined);\n };\n\n const handleSlotClick = (date: string, slot: TimeSlot) => {\n onSlotClick?.(date, slot);\n };\n\n const handleSlotButtonClick =\n (date: string, slot: TimeSlot) =>\n (event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n\n handleSlotClick(date, slot);\n };\n\n const handleExpandCollapseClick = (event: React.MouseEvent) => {\n event.preventDefault();\n setExpandAll((prevExpandValue) => !prevExpandValue);\n };\n\n const handleSlotKeyDown = (\n event: React.KeyboardEvent<HTMLButtonElement>,\n currentSlot: FocusableSlotMeta\n ) => {\n const sameColumnSlots = focusableSlotsByDate[currentSlot.date] ?? [];\n\n const focusSlot = (slot?: FocusableSlotMeta) => {\n if (!slot) return;\n slotButtonRefs.current[slot.key]?.focus();\n };\n\n switch (event.key) {\n case \"ArrowRight\":\n case \"ArrowDown\": {\n event.preventDefault();\n const currentIndex = sameColumnSlots.findIndex(\n (slot) => slot.key === currentSlot.key\n );\n focusSlot(sameColumnSlots[currentIndex + 1]);\n break;\n }\n case \"ArrowLeft\":\n case \"ArrowUp\": {\n event.preventDefault();\n const currentIndex = sameColumnSlots.findIndex(\n (slot) => slot.key === currentSlot.key\n );\n focusSlot(sameColumnSlots[currentIndex - 1]);\n break;\n }\n case \"Home\":\n event.preventDefault();\n focusSlot(sameColumnSlots[0]);\n break;\n case \"End\":\n event.preventDefault();\n focusSlot(sameColumnSlots[sameColumnSlots.length - 1]);\n break;\n case \"PageUp\":\n event.preventDefault();\n focusSlot(sameColumnSlots[0]);\n break;\n case \"PageDown\": {\n event.preventDefault();\n if (hasCollapsedContent && !expandAll) {\n setExpandAll(true);\n const lastVisibleSlot = [...sameColumnSlots]\n .reverse()\n .find((slot) => slot.rowIndex < visibleRowCount);\n focusSlot(lastVisibleSlot ?? sameColumnSlots[0]);\n break;\n }\n\n focusSlot(sameColumnSlots[sameColumnSlots.length - 1]);\n break;\n }\n default:\n break;\n }\n };\n\n // =============================================================================\n // HELPER FUNCTIONS\n // =============================================================================\n const isDisabled = (day: Dayjs): boolean => {\n const isWithinRange = CalendarHelper.isWithinRange(\n day,\n minDate ? dayjs(minDate) : undefined,\n maxDate ? dayjs(maxDate) : undefined\n );\n\n const isDisabledDate =\n (disabledDates && disabledDates.includes(day.format(dateFormat))) ??\n false;\n\n return !isWithinRange || isDisabledDate;\n };\n\n const generateStyleProps = (day: Dayjs) => {\n const dateStartWithYear = day.format(dateFormat);\n const disabled = isDisabled(day);\n const dayCellStyleProps: CellStyleProps = {};\n const isHoverEnabled = enableSelection && !disabled;\n\n if (disabled) {\n dayCellStyleProps.disabled = true;\n }\n\n dayCellStyleProps.interactive = enableSelection\n ? isHoverEnabled\n : false;\n\n const isHover =\n isHoverEnabled && hoverDay && day.isSame(hoverDay, \"day\");\n const isSelected = [selectedDate].includes(dateStartWithYear);\n\n if (isSelected && isHover) {\n dayCellStyleProps.labelType = \"selected-hover\";\n dayCellStyleProps.circleLeft = \"selected-hover-outline\";\n dayCellStyleProps.circleRight = \"selected-hover-outline\";\n } else if (isSelected) {\n dayCellStyleProps.labelType = \"selected\";\n dayCellStyleProps.circleLeft = \"selected-outline\";\n dayCellStyleProps.circleRight = \"selected-outline\";\n } else if (isHover) {\n dayCellStyleProps.labelType = \"hover\";\n dayCellStyleProps.circleLeft = \"hover-subtle\";\n dayCellStyleProps.circleRight = \"hover-subtle\";\n }\n\n return dayCellStyleProps;\n };\n\n function generateFallbackCell(\n prefix: string | number,\n cellLength = 1\n ): TimeSlotCell {\n return {\n id: `${prefix.toString()}-${new Date().getTime()}`,\n startTime: \"\",\n endTime: \"\",\n clickable: false,\n isActualSlot: false,\n styleAttributes: {\n backgroundColor: Colour[\"bg-stronger\"],\n },\n cellLength,\n };\n }\n\n function getSlotAriaLabel(date: string, slot: TimeSlot) {\n const { startTime: slotStartTime, endTime: slotEndTime } = slot;\n\n return StringHelper.joinNonEmptyStrings([\n dayjs(date).format(\"D MMMM YYYY dddd\"),\n slotStartTime && slotEndTime\n ? TimeHelper.formatTimeRange(slotStartTime, slotEndTime)\n : undefined,\n slot.label,\n slot.clickable ?? true ? \"Available\" : \"Unavailable\",\n ]);\n }\n\n function initializeAndFillSlots(slots: TimeSlot[]): TimeSlotCell[] {\n const cellsArray = Array(numberOfCells).fill({});\n\n slots.forEach((slot) => {\n const startIndex = Math.max(\n 0,\n DateHelper.getTimeDiffInMinutes(minStartTime, slot.startTime) /\n interval\n );\n const endIndex = Math.min(\n numberOfCells,\n DateHelper.getTimeDiffInMinutes(minStartTime, slot.endTime) /\n interval\n );\n const cellLength = Math.ceil(endIndex) - Math.floor(startIndex);\n\n switch (variant) {\n case \"fixed\":\n // Keep fixed slots as 1 long cell\n cellsArray[Math.floor(startIndex)] = {\n ...slot,\n isActualSlot: true,\n rowIndex: Math.floor(startIndex),\n cellLength: endIndex - startIndex,\n };\n break;\n case \"flexible\":\n // Split long slot into multiple cells of length 1\n for (let i = 0; i < cellLength; i++) {\n const startTime = DateHelper.addMinutesToTime(\n minStartTime,\n Math.floor(startIndex + i) * interval\n );\n const endTime = DateHelper.addMinutesToTime(\n startTime,\n interval\n );\n\n let halfFill: string | undefined;\n\n if (!isEmpty(cellsArray[Math.floor(startIndex + i)])) {\n // Previous cell extends into current cell, fill entire cell\n halfFill = undefined;\n } else if (i === 0 && startIndex % 1 !== 0) {\n halfFill = \"top\";\n } else if (i === cellLength - 1 && endIndex % 1 !== 0) {\n halfFill = \"bottom\";\n }\n\n cellsArray[Math.floor(startIndex + i)] = {\n ...slot,\n id: `${slot.id}-${i}`,\n startTime,\n endTime,\n isActualSlot: true,\n rowIndex: Math.floor(startIndex + i),\n cellLength: 1,\n halfFill,\n };\n }\n break;\n }\n });\n return cellsArray;\n }\n\n function populateEmptyCells(cellsArray: any[]): TimeSlotCell[] {\n let i = 0;\n switch (variant) {\n case \"fixed\":\n // Truncate consecutive empty cells into 1 [{},{},{...},{},{}] -> [{},{...},{}]\n cellsArray = cellsArray.reduce(\n (result, obj) => {\n const lastObj =\n result.length > 0\n ? result[result.length - 1]\n : result[0];\n if (isEmpty(obj) && isEmpty(lastObj)) {\n return result;\n }\n return [...result, obj];\n },\n [{}]\n );\n\n // Fill in empty cells with timings & corresponding cell lengths\n while (i < cellsArray.length) {\n if (isEmpty(cellsArray[i])) {\n const startTime =\n cellsArray[i - 1]?.endTime ?? minStartTime;\n const endTime =\n cellsArray[i + 1]?.startTime ?? maxEndTime;\n if (startTime !== endTime) {\n const cellLength =\n DateHelper.getTimeDiffInMinutes(\n startTime,\n endTime\n ) / interval;\n cellsArray[i] = {\n ...generateFallbackCell(i),\n startTime,\n endTime,\n cellLength,\n };\n }\n }\n i++;\n }\n break;\n case \"flexible\":\n // Fill in individual empty cell with interval timings\n while (i < cellsArray.length) {\n if (isEmpty(cellsArray[i])) {\n cellsArray[i] = generateFallbackCell(i);\n i++;\n } else {\n i += cellsArray[i].cellLength;\n }\n }\n break;\n }\n return cellsArray.filter(\n (slot) => !isEmpty(slot) && slot.cellLength > 0\n );\n }\n\n function getCellsForDate(formattedDate: string) {\n return (\n generatedDaySlots[formattedDate] ??\n Array(variant === \"flexible\" ? numberOfCells : 1)\n .fill(undefined)\n .map((_, index) =>\n generateFallbackCell(\n index,\n variant === \"fixed\" ? numberOfCells : undefined\n )\n )\n );\n }\n\n // =============================================================================\n // RENDER FUNCTIONS\n // =============================================================================\n const renderWeek = () => {\n return (\n <HeaderCellWeekColumn role=\"row\">\n {currentCalendarWeek.map((day, index) => (\n <HeaderCellWeek key={`week-day-${index}`} role=\"gridcell\">\n <CellWeekText\n weight={\"semibold\"}\n $disabled={isDisabled(day)}\n >\n {dayjs(day).format(\"ddd\")}\n </CellWeekText>\n </HeaderCellWeek>\n ))}\n </HeaderCellWeekColumn>\n );\n };\n\n const renderHeader = () => {\n return (\n <HeaderCellWeekColumn role=\"row\" onBlur={handleDayHoverClear}>\n {currentCalendarWeek.map((day, dayIndex) => {\n const dayCellStyleProps = generateStyleProps(day);\n\n return (\n <DayCell\n key={`day-${dayIndex}`}\n date={day}\n calendarDate={dayjs(selectedDate)}\n role=\"columnheader\"\n tabIndex={dayCellStyleProps.interactive ? 0 : -1}\n onSelect={() => {\n handleDayClick(\n day,\n !dayCellStyleProps.interactive\n );\n }}\n onHover={handleDayHover}\n onHoverEnd={handleDayHoverClear}\n onFocus={handleDayHover}\n {...dayCellStyleProps}\n ></DayCell>\n );\n })}\n </HeaderCellWeekColumn>\n );\n };\n\n const renderTimeColumn = () => {\n let hasSetFirstAfternoonHour = false;\n\n const formatTime = (index: number) => {\n const parsedTime = dayjs(minStartTime, \"HH:mm\").add(\n index * 4 * interval,\n \"minutes\"\n );\n const hour = parsedTime.format(\"h\");\n const minutes = parsedTime.format(\"mm\");\n const amPm = parsedTime.format(\"a\");\n\n let formattedTime = `${hour}${\n minutes !== \"00\" ? ` ${minutes}` : \"\"\n }`;\n\n if (\n !hasSetFirstAfternoonHour &&\n amPm === \"pm\" &&\n minutes === \"00\"\n ) {\n formattedTime += ` ${amPm}`;\n hasSetFirstAfternoonHour = true;\n }\n\n return formattedTime;\n };\n\n return (\n <TimeColumn $height={height} aria-hidden>\n {Array(Math.ceil(numberOfCells / 4))\n .fill(undefined)\n .map((_, index) => (\n <TimeColumnWrapper key={`time-${index}`}>\n <TimeColumnText>{formatTime(index)}</TimeColumnText>\n </TimeColumnWrapper>\n ))}\n </TimeColumn>\n );\n };\n const renderSlotCell = (formattedDate: string, slot: TimeSlotCell) => {\n const {\n id,\n clickable = true,\n isActualSlot,\n styleAttributes,\n cellLength,\n halfFill,\n } = slot;\n const {\n styleType = \"default\",\n backgroundColor,\n backgroundColor2,\n } = styleAttributes;\n const slotId = `${formattedDate}-${id}`;\n const isCollapsedSlot =\n hasCollapsedContent &&\n !expandAll &&\n (slot.rowIndex ?? 0) >= visibleRowCount;\n\n return (\n <TimeSlotComponent\n key={id}\n styleType={styleType}\n bgColor={backgroundColor}\n bgColor2={backgroundColor2}\n clickable={clickable}\n $halfFill={halfFill}\n $height={\n variant === \"fixed\"\n ? cellLength * SLOT_HEIGHT + (cellLength - 1) * SLOT_GAP\n : SLOT_HEIGHT\n }\n onClick={() =>\n clickable && handleSlotClick(formattedDate, slot)\n }\n >\n {isActualSlot && (\n <VisuallyHidden inert={inertValue(isCollapsedSlot)}>\n <button\n type=\"button\"\n ref={(element) => {\n slotButtonRefs.current[slotId] = element;\n }}\n aria-disabled={!clickable}\n aria-label={getSlotAriaLabel(formattedDate, slot)}\n onKeyDown={(event) =>\n handleSlotKeyDown(event, {\n key: slotId,\n date: formattedDate,\n rowIndex: slot.rowIndex ?? 0,\n })\n }\n onClick={\n clickable\n ? handleSlotButtonClick(formattedDate, slot)\n : undefined\n }\n />\n </VisuallyHidden>\n )}\n </TimeSlotComponent>\n );\n };\n\n const renderTimeSlotBarCells = () => {\n return (\n <Expandable style={expandableStyles} role=\"row\">\n <ColumnWeekCell\n ref={cellsRef}\n key={`week-cell-${calendarDate.format(dateFormat)}`}\n >\n {currentCalendarWeek.map((day, dayIndex) => {\n const formattedDate = day.format(dateFormat);\n const cellsArray = getCellsForDate(formattedDate);\n return (\n <TimeSlotWrapper\n key={`wrapper-${dayIndex}`}\n role=\"gridcell\"\n >\n {cellsArray.map((slot) =>\n renderSlotCell(formattedDate, slot)\n )}\n </TimeSlotWrapper>\n );\n })}\n </ColumnWeekCell>\n </Expandable>\n );\n };\n\n const renderCollapseExpandAll = () => {\n if (!maxVisibleCellHeight || !cellsRef.current) return;\n return (\n <CollapseExpandAllWrapper>\n <CollapseExpandAllButton\n data-testid=\"time-bar-expand-collapse-button\"\n styleType=\"light\"\n aria-expanded={expandAll}\n onClick={handleExpandCollapseClick}\n >\n <ChevronIcon $isExpanded={expandAll} />\n {`${expandAll ? \"Hide\" : \"Show\"} later times`}\n </CollapseExpandAllButton>\n </CollapseExpandAllWrapper>\n );\n };\n\n return (\n <Wrapper>\n <GridWrapper role=\"grid\">\n {renderHeader()}\n {renderWeek()}\n {renderTimeColumn()}\n {renderTimeSlotBarCells()}\n </GridWrapper>\n {renderCollapseExpandAll()}\n </Wrapper>\n );\n};\n"],"names":["TimeSlotBarWeekDays","calendarDate","disabledDates","selectedDate","onSelect","minDate","maxDate","startTime","endTime","maxVisibleCellHeight","slots","daySlots","interval","variant","enableSelection","onSlotClick","dateFormat","expandAll","setExpandAll","useState","hoverDay","setHoverDay","slotButtonRefs","useRef","currentCalendarWeek","useMemo","CalendarHelper","generateDaysForCurrentWeek","flattenedSlots","Object","values","flat","minStartTime","_b","_a","minBy","maxEndTime","_d","_c","maxBy","numberOfCells","Math","ceil","DateHelper","getTimeDiffInMinutes","height","actualHeight","ref","cellsRef","useResizeDetector","hasCollapsedContent","visibleRowCount","undefined","max","floor","SLOT_HEIGHT","expandableStyles","useSpring","generatedDaySlots","transformedDaySlots","entries","forEach","key","cellsArray","Array","fill","slot","startIndex","endIndex","min","cellLength","assign","isActualSlot","rowIndex","i","addMinutesToTime","halfFill","isEmpty","id","initializeAndFillSlots","reduce","result","obj","lastObj","length","generateFallbackCell","filter","populateEmptyCells","focusableSlotsByDate","day","formattedDate","format","getCellsForDate","map","date","sort","a","b","handleDayHover","value","handleDayHoverClear","handleSlotClick","handleSlotButtonClick","event","stopPropagation","handleExpandCollapseClick","preventDefault","prevExpandValue","isDisabled","isWithinRange","dayjs","isDisabledDate","includes","prefix","toString","Date","getTime","clickable","styleAttributes","backgroundColor","Colour","getSlotAriaLabel","slotStartTime","slotEndTime","StringHelper","joinNonEmptyStrings","TimeHelper","formatTimeRange","label","_","index","renderSlotCell","styleType","backgroundColor2","slotId","isCollapsedSlot","_jsx","TimeSlotComponent","bgColor","bgColor2","$height","onClick","children","VisuallyHidden","inert","inertValue","type","element","current","onKeyDown","currentSlot","sameColumnSlots","focusSlot","focus","currentIndex","findIndex","lastVisibleSlot","reverse","find","handleSlotKeyDown","_jsxs","Wrapper","GridWrapper","role","HeaderCellWeekColumn","onBlur","dayIndex","dayCellStyleProps","dateStartWithYear","disabled","isHoverEnabled","interactive","isHover","isSame","isSelected","labelType","circleLeft","circleRight","generateStyleProps","DayCell","tabIndex","handleDayClick","onHover","onHoverEnd","onFocus","HeaderCellWeek","CellWeekText","weight","$disabled","hasSetFirstAfternoonHour","formatTime","parsedTime","add","hour","minutes","amPm","formattedTime","TimeColumn","TimeColumnWrapper","TimeColumnText","renderTimeColumn","Expandable","style","ColumnWeekCell","TimeSlotWrapper","CollapseExpandAllWrapper","CollapseExpandAllButton","ChevronIcon","renderCollapseExpandAll"],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
interface TimeSlotCellProps extends TimeSlotStyleProps {
|
|
1
|
+
interface TimeSlotCellProps {
|
|
3
2
|
$height: number;
|
|
4
3
|
$halfFill?: "top" | "bottom";
|
|
5
4
|
}
|
|
@@ -51,15 +50,5 @@ export declare const ChevronIcon: import("styled-components/dist/types").IStyled
|
|
|
51
50
|
(props: import("react").SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
|
|
52
51
|
displayName: string;
|
|
53
52
|
}, keyof import("react").Component<any, {}, any>>;
|
|
54
|
-
export declare const TimeSlotComponent: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<
|
|
55
|
-
as?: import("styled-components").WebTarget | undefined;
|
|
56
|
-
forwardedAs?: import("styled-components").WebTarget | undefined;
|
|
57
|
-
}, "ref"> & {
|
|
58
|
-
ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
59
|
-
}, keyof TimeSlotCellProps> & TimeSlotCellProps, never> & Partial<Pick<import("styled-components").FastOmit<Omit<import("styled-components").FastOmit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof TimeSlotStyleProps> & TimeSlotStyleProps, never> & Partial<Pick<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof TimeSlotStyleProps> & TimeSlotStyleProps, never>> & {
|
|
60
|
-
as?: import("styled-components").WebTarget | undefined;
|
|
61
|
-
forwardedAs?: import("styled-components").WebTarget | undefined;
|
|
62
|
-
}, "ref"> & {
|
|
63
|
-
ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
64
|
-
}, keyof TimeSlotCellProps> & TimeSlotCellProps, never>>> & string;
|
|
53
|
+
export declare const TimeSlotComponent: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("../shared/time-slot").TimeSlotProps & import("react").RefAttributes<HTMLDivElement>, keyof TimeSlotCellProps> & TimeSlotCellProps, never> & Partial<Pick<import("styled-components").FastOmit<import("../shared/time-slot").TimeSlotProps & import("react").RefAttributes<HTMLDivElement>, keyof TimeSlotCellProps> & TimeSlotCellProps, never>>> & string & Omit<(props: import("../shared/time-slot").TimeSlotProps & import("react").RefAttributes<HTMLDivElement>) => React.ReactElement | null, keyof import("react").Component<any, {}, any>>;
|
|
65
54
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{ChevronUpIcon as e}from"@lifesg/react-icons";import{animated as i}from"@react-spring/web";import t,{css as o}from"styled-components";import{Button as
|
|
1
|
+
import{ChevronUpIcon as e}from"@lifesg/react-icons";import{animated as i}from"@react-spring/web";import t,{css as o}from"styled-components";import{Button as n}from"../button/button.js";import{TimeSlot as r}from"../shared/time-slot/time-slot.js";import{Typography as l}from"../typography/index.js";import{V3_Spacing as s,V3_Colour as a,V3_Motion as d,V3_Font as g,V3_Radius as p}from"../v3_theme/index.js";const m=t.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
align-items: center;
|
|
4
4
|
justify-content: center;
|
|
@@ -6,7 +6,7 @@ import{ChevronUpIcon as e}from"@lifesg/react-icons";import{animated as i}from"@r
|
|
|
6
6
|
user-select: none;
|
|
7
7
|
margin-bottom: ${s["spacing-8"]};
|
|
8
8
|
flex: 1;
|
|
9
|
-
|
|
9
|
+
`,$=t(l.BodyXS)`
|
|
10
10
|
${e=>e.$disabled&&o`
|
|
11
11
|
color: ${a["text-disabled-subtlest"]};
|
|
12
12
|
`}
|
|
@@ -56,10 +56,10 @@ import{ChevronUpIcon as e}from"@lifesg/react-icons";import{animated as i}from"@r
|
|
|
56
56
|
flex-direction: column;
|
|
57
57
|
flex: 1;
|
|
58
58
|
gap: ${s["spacing-4"]};
|
|
59
|
-
`,
|
|
59
|
+
`,j=t.div`
|
|
60
60
|
display: flex;
|
|
61
61
|
margin-top: ${s["spacing-8"]};
|
|
62
|
-
`,
|
|
62
|
+
`,C=t(n.Small)`
|
|
63
63
|
width: 100%;
|
|
64
64
|
height: 2.5rem;
|
|
65
65
|
span {
|
|
@@ -71,15 +71,18 @@ import{ChevronUpIcon as e}from"@lifesg/react-icons";import{animated as i}from"@r
|
|
|
71
71
|
transform: rotate(${e=>e.$isExpanded?0:180}deg);
|
|
72
72
|
transition: transform ${d["duration-250"]}
|
|
73
73
|
${d["ease-default"]};
|
|
74
|
-
`,k=t(
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
74
|
+
`,k=t(r)`
|
|
75
|
+
display: flex;
|
|
76
|
+
flex-grow: 1;
|
|
77
|
+
align-items: center;
|
|
78
|
+
justify-content: center;
|
|
79
|
+
width: 100%;
|
|
80
|
+
position: relative;
|
|
81
|
+
max-width: 200px;
|
|
82
|
+
height: ${e=>e.$height}px;
|
|
83
|
+
min-height: ${e=>e.$height}px;
|
|
84
|
+
margin: 0;
|
|
85
|
+
border-radius: ${p.xs};
|
|
83
86
|
|
|
84
87
|
&:focus-within {
|
|
85
88
|
outline: 2px solid ${a["focus-ring"]};
|
|
@@ -89,13 +92,13 @@ import{ChevronUpIcon as e}from"@lifesg/react-icons";import{animated as i}from"@r
|
|
|
89
92
|
${e=>e.$halfFill?o`
|
|
90
93
|
background: linear-gradient(
|
|
91
94
|
to ${e.$halfFill},
|
|
92
|
-
${"stripes"===e
|
|
95
|
+
${"stripes"===e.styleType?"transparent":e.bgColor}
|
|
93
96
|
50%,
|
|
94
97
|
${a["bg-strongest"]} 0%
|
|
95
98
|
)
|
|
96
|
-
${"stripes"===e
|
|
99
|
+
${"stripes"===e.styleType&&`, repeating-linear-gradient(\n 135deg,\n ${e.bgColor2||a["bg-strongest"]} 0px,\n ${e.bgColor2||a["bg-strongest"]} 10px,\n ${e.bgColor||a["bg-stronger"]} 10px,\n ${e.bgColor||a["bg-stronger"]} 20px\n )`};
|
|
97
100
|
`:o`
|
|
98
|
-
background-color: ${e
|
|
101
|
+
background-color: ${e.bgColor};
|
|
99
102
|
`}
|
|
100
|
-
`;export{
|
|
103
|
+
`;export{$ as CellWeekText,S as ChevronIcon,C as CollapseExpandAllButton,j as CollapseExpandAllWrapper,u as ColumnWeekCell,x as Expandable,c as GridWrapper,m as HeaderCellWeek,f as HeaderCellWeekColumn,b as TimeColumn,v as TimeColumnText,y as TimeColumnWrapper,k as TimeSlotComponent,w as TimeSlotWrapper,h as Wrapper};
|
|
101
104
|
//# sourceMappingURL=time-slot-bar-week-days.style.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time-slot-bar-week-days.style.js","sources":["../../src/time-slot-bar-week/time-slot-bar-week-days.style.tsx"],"sourcesContent":["import { ChevronUpIcon } from \"@lifesg/react-icons\";\nimport { animated } from \"@react-spring/web\";\nimport styled, { css } from \"styled-components\";\n\nimport { Button } from \"../button\";\nimport
|
|
1
|
+
{"version":3,"file":"time-slot-bar-week-days.style.js","sources":["../../src/time-slot-bar-week/time-slot-bar-week-days.style.tsx"],"sourcesContent":["import { ChevronUpIcon } from \"@lifesg/react-icons\";\nimport { animated } from \"@react-spring/web\";\nimport styled, { css } from \"styled-components\";\n\nimport { Button } from \"../button\";\nimport { TimeSlot } from \"../shared/time-slot\";\nimport { Typography } from \"../typography\";\nimport {\n V3_Colour,\n V3_Font,\n V3_Motion,\n V3_Radius,\n V3_Spacing,\n} from \"../v3_theme\";\n\ninterface TimeSlotCellProps {\n $height: number;\n $halfFill?: \"top\" | \"bottom\";\n}\n\ninterface TimeColumnStyleProps {\n $height?: number;\n}\n\ninterface CellWeekTextStyleProps {\n $disabled?: boolean;\n}\n\ninterface ChevronIconStyleProps {\n $isExpanded?: boolean;\n}\n\nexport const HeaderCellWeek = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n user-select: none;\n margin-bottom: ${V3_Spacing[\"spacing-8\"]};\n flex: 1;\n`;\n\nexport const CellWeekText = styled(Typography.BodyXS)<CellWeekTextStyleProps>`\n ${(props) =>\n props.$disabled &&\n css`\n color: ${V3_Colour[\"text-disabled-subtlest\"]};\n `}\n`;\n\nexport const HeaderCellWeekColumn = styled.div`\n grid-column: 2 / -1;\n display: flex;\n`;\n\nexport const Wrapper = styled.div`\n width: 100%;\n`;\n\nexport const GridWrapper = styled.div`\n width: 100%;\n display: grid;\n grid-template-columns: auto repeat(7, 1fr);\n column-gap: ${V3_Spacing[\"spacing-4\"]};\n`;\n\nexport const Expandable = animated(styled.div`\n grid-column: 2 / -1;\n overflow: hidden;\n`);\n\nexport const ColumnWeekCell = styled.div`\n display: flex;\n gap: ${V3_Spacing[\"spacing-4\"]};\n transition: all ${V3_Motion[\"duration-250\"]} ${V3_Motion[\"ease-default\"]};\n overflow: hidden;\n`;\n\nexport const TimeColumn = styled.div<TimeColumnStyleProps>`\n display: flex;\n flex-direction: column;\n grid-row: 3 / auto;\n gap: ${V3_Spacing[\"spacing-4\"]};\n width: 1.375rem;\n transition: all ${V3_Motion[\"duration-250\"]} ${V3_Motion[\"ease-default\"]};\n overflow: hidden;\n\n ${(props) => props.$height && `height: ${props.$height}px;`}\n`;\n\nexport const TimeColumnWrapper = styled.div`\n min-height: 60px;\n &:last-child {\n min-height: 0;\n }\n`;\n\nexport const TimeColumnText = styled.div`\n ${V3_Font[\"body-xs-bold\"]}\n color: ${V3_Colour[\"text-subtler\"]};\n text-align: center;\n line-height: 12px; // align with cell on the same row\n &:first-line {\n font-size: ${V3_Font.Spec[\"body-size-sm\"]};\n }\n`;\n\nexport const TimeSlotWrapper = styled.div`\n display: flex;\n flex-direction: column;\n flex: 1;\n gap: ${V3_Spacing[\"spacing-4\"]};\n`;\n\nexport const CollapseExpandAllWrapper = styled.div`\n display: flex;\n margin-top: ${V3_Spacing[\"spacing-8\"]};\n`;\n\nexport const CollapseExpandAllButton = styled(Button.Small)`\n width: 100%;\n height: 2.5rem;\n span {\n display: flex;\n align-items: center;\n gap: ${V3_Spacing[\"spacing-8\"]};\n }\n`;\n\nexport const ChevronIcon = styled(ChevronUpIcon)<ChevronIconStyleProps>`\n transform: rotate(${(props) => (props.$isExpanded ? 0 : 180)}deg);\n transition: transform ${V3_Motion[\"duration-250\"]}\n ${V3_Motion[\"ease-default\"]};\n`;\n\nexport const TimeSlotComponent = styled(TimeSlot)<TimeSlotCellProps>`\n display: flex;\n flex-grow: 1;\n align-items: center;\n justify-content: center;\n width: 100%;\n position: relative;\n max-width: 200px;\n height: ${(props) => props.$height}px;\n min-height: ${(props) => props.$height}px;\n margin: 0;\n border-radius: ${V3_Radius[\"xs\"]};\n\n &:focus-within {\n outline: 2px solid ${V3_Colour[\"focus-ring\"]};\n outline-offset: -2px;\n }\n\n ${(props) => {\n if (!props.$halfFill) {\n return css`\n background-color: ${props.bgColor};\n `;\n } else {\n return css`\n background: linear-gradient(\n to ${props.$halfFill},\n ${props.styleType === \"stripes\"\n ? \"transparent\"\n : props.bgColor}\n 50%,\n ${V3_Colour[\"bg-strongest\"]} 0%\n )\n ${props.styleType === \"stripes\" &&\n `, repeating-linear-gradient(\n 135deg,\n ${props.bgColor2 || V3_Colour[\"bg-strongest\"]} 0px,\n ${props.bgColor2 || V3_Colour[\"bg-strongest\"]} 10px,\n ${props.bgColor || V3_Colour[\"bg-stronger\"]} 10px,\n ${props.bgColor || V3_Colour[\"bg-stronger\"]} 20px\n )`};\n `;\n }\n }}\n`;\n"],"names":["HeaderCellWeek","styled","div","V3_Spacing","CellWeekText","Typography","BodyXS","props","$disabled","css","V3_Colour","HeaderCellWeekColumn","Wrapper","GridWrapper","Expandable","animated","ColumnWeekCell","V3_Motion","TimeColumn","$height","TimeColumnWrapper","TimeColumnText","V3_Font","Spec","TimeSlotWrapper","CollapseExpandAllWrapper","CollapseExpandAllButton","Button","Small","ChevronIcon","ChevronUpIcon","$isExpanded","TimeSlotComponent","TimeSlot","V3_Radius","$halfFill","styleType","bgColor","bgColor2"],"mappings":"qZAgCO,MAAMA,EAAiBC,EAAOC,GAAG;;;;;;qBAMnBC,EAAW;;EAInBC,EAAeH,EAAOI,EAAWC,OAA+B;MACtEC,GACCA,EAAMC,WACNC,CAAG;qBACUC,EAAU;;EAIlBC,EAAuBV,EAAOC,GAAG;;;EAKjCU,EAAUX,EAAOC,GAAG;;EAIpBW,EAAcZ,EAAOC,GAAG;;;;kBAInBC,EAAW;EAGhBW,EAAaC,EAASd,EAAOC,GAAG;;;GAKhCc,EAAiBf,EAAOC,GAAG;;WAE7BC,EAAW;sBACAc,EAAU,mBAAmBA,EAAU;;EAIhDC,EAAajB,EAAOC,GAAyB;;;;WAI/CC,EAAW;;sBAEAc,EAAU,mBAAmBA,EAAU;;;MAGtDV,GAAUA,EAAMY,SAAW,WAAWZ,EAAMY;EAGtCC,EAAoBnB,EAAOC,GAAG;;;;;EAO9BmB,EAAiBpB,EAAOC,GAAG;MAClCoB,EAAQ;aACDZ,EAAU;;;;qBAIFY,EAAQC,KAAK;;EAIrBC,EAAkBvB,EAAOC,GAAG;;;;WAI9BC,EAAW;EAGTsB,EAA2BxB,EAAOC,GAAG;;kBAEhCC,EAAW;EAGhBuB,EAA0BzB,EAAO0B,EAAOC,MAAM;;;;;;eAM5CzB,EAAW;;EAIb0B,EAAc5B,EAAO6B,EAAqC;wBAC9CvB,GAAWA,EAAMwB,YAAc,EAAI;4BAChCd,EAAU;UAC5BA,EAAU;EAGPe,EAAoB/B,EAAOgC,EAA4B;;;;;;;;cAQrD1B,GAAUA,EAAMY;kBACZZ,GAAUA,EAAMY;;qBAEde,EAAc;;;6BAGNxB,EAAU;;;;MAIhCH,GACMA,EAAM4B,UAKA1B,CAAG;;6BAEOF,EAAM4B;0BACW,YAApB5B,EAAM6B,UACE,cACA7B,EAAM8B;;0BAEd3B,EAAU;;sBAEM,YAApBH,EAAM6B,WACR,kGAEU7B,EAAM+B,UAAY5B,EAAU,qDAC5BH,EAAM+B,UAAY5B,EAAU,sDAC5BH,EAAM8B,SAAW3B,EAAU,qDAC3BH,EAAM8B,SAAW3B,EAAU;cAnBtCD,CAAG;oCACcF,EAAM8B;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as e,jsx as r}from"react/jsx-runtime";import t from"../external/dayjs/dayjs.min.js";import
|
|
1
|
+
import{jsxs as e,jsx as r}from"react/jsx-runtime";import t from"../external/dayjs/dayjs.min.js";import o from"../external/dayjs/plugin/isBetween.js";import{useMemo as l,useState as a,useRef as i}from"react";import{VisuallyHidden as n,concatIds as c}from"../shared/accessibility/index.js";import{DayCell as s}from"../shared/internal-calendar/day-cell/day-cell.js";import"../theme/theme-provider/index.js";import"../theme/theme-provider/context.js";import"../theme/tokens/border.js";import{Colour as d}from"../theme/tokens/colour.js";import"../theme/tokens/font.js";import"../theme/tokens/media-query.js";import{CalendarHelper as m}from"../util/calendar-helper.js";import"../util/simple-id-generator.js";import"../util/string-helper.js";import"@react-aria/live-announcer";import"../theme/utils/use-media-query.js";import{TimeHelper as u}from"../util/time-helper.js";import{Wrapper as p,HeaderRow as b,HeaderCellWeek as h,DayLabel as v,ColumnWeekCell as y,TimeSlotWrapper as f,TimeSlotComponent as k,TimeSlotText as g}from"./time-slot-week-days.style.js";t.extend(o);const j="YYYY-MM-DD",D={id:"1",startTime:"",endTime:"",clickable:!1,styleAttributes:{color:"",styleType:"stripes",backgroundColor:d["bg-stronger"],backgroundColor2:d["bg-strongest"]}},T=({calendarDate:o,disabledDates:d,selectedDate:T,onSelect:w,minDate:x,maxDate:C,slots:$,enableSelection:Y=!0,onSlotClick:A})=>{const M=l((()=>m.generateDaysForCurrentWeek(o)),[o]),[R,H]=a(),S=i({}),F=(e,r)=>{null==A||A(e,r)},I=(e,r)=>t=>{var o;t.stopPropagation(),(null===(o=r.clickable)||void 0===o||o)&&F(e,r)},L=e=>{H(e)},P=()=>{H(void 0)},U=e=>{const r=e.format(j),o=(e=>{const r=m.isWithinRange(e,x?t(x):void 0,C?t(C):void 0),o=!!d&&d.includes(e.format(j));return!r||o})(e),l=Y&&!o,a=l&&R&&e.isSame(R,"day"),i=[T].includes(r),n={labelType:"available",interactive:!!Y&&l};return o&&(n.disabled=!0,n.labelType="unavailable"),i&&a?(n.labelType="selected-hover",n.circleLeft="selected-hover-outline",n.circleRight="selected-hover-outline"):i?(n.labelType="selected",n.circleLeft="selected-outline",n.circleRight="selected-outline"):a&&(n.labelType="hover",n.circleLeft="hover-subtle",n.circleRight="hover-subtle"),n},q=(e,r)=>{const t=(o=r.date,(null!==(l=null==$?void 0:$[o])&&void 0!==l?l:[]).map(((e,r)=>({key:`${o}-${e.id}`,date:o,rowIndex:r}))));var o,l;const a=e=>{var r;e&&(null===(r=S.current[e.key])||void 0===r||r.focus())};switch(e.key){case"ArrowRight":case"ArrowDown":{e.preventDefault();const o=t.findIndex((e=>e.key===r.key));a(t[o+1]);break}case"ArrowLeft":case"ArrowUp":{e.preventDefault();const o=t.findIndex((e=>e.key===r.key));a(t[o-1]);break}case"Home":case"PageUp":e.preventDefault(),a(t[0]);break;case"End":case"PageDown":e.preventDefault(),a(t[t.length-1])}},B=(e,r)=>{var o;const{startTime:l,endTime:a}=r;return c(t(e).format("D MMMM YYYY dddd"),l&&a?u.formatTimeRange(l,a):void 0,r.label,null===(o=r.clickable)||void 0===o||o?"Available":"Unavailable")};return e(p,{role:"grid",children:[r(b,{role:"row",onBlur:P,children:M.map(((o,l)=>{const a=U(o);return e(h,{role:"presentation",children:[r(s,Object.assign({date:o,calendarDate:t(T),onSelect:()=>{((e,r)=>{!r&&Y&&w(e)})(o,!a.interactive)},onHover:L,onHoverEnd:P,onFocus:L,role:"columnheader",tabIndex:a.interactive?0:-1},a),`day-${l}`),r(v,{"aria-hidden":!0,$disabled:a.disabled,children:t(o).format("ddd")})]},`week-day-${l}`)}))}),r(y,{role:"row",children:M.map(((t,o)=>{var l;const a=t.format(j),i=null!==(l=null==$?void 0:$[a])&&void 0!==l?l:[D];return r(f,{role:"gridcell",children:i&&i.map(((t,o)=>{const{id:l,startTime:i,endTime:c,clickable:s=!0,styleAttributes:d}=t,{color:u,styleType:p="default",backgroundColor:b,backgroundColor2:h}=d,v=`${a}-${l}`,y=t!==D;return e(k,{styleType:p,bgColor:b,bgColor2:h,clickable:s,onClick:()=>s&&F(a,t),children:[e(g,{style:{color:u},children:[r("span",{children:m.convertTo12HourFormat(i)}),c&&i&&r("span",{children:"-"}),r("span",{children:m.convertTo12HourFormat(c)})]}),y&&r(n,{children:r("button",{type:"button",ref:e=>{S.current[v]=e},"aria-disabled":!s,"aria-label":B(a,t),onKeyDown:e=>q(e,{key:v,date:a}),onClick:I(a,t)})})]},l)}))},`wrapper-${o}`)}))},`week-cell-${o.format(j)}`)]})};export{T as TimeSlotWeekDays};
|
|
2
2
|
//# sourceMappingURL=time-slot-week-days.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time-slot-week-days.js","sources":["../../src/time-slot-week-view/time-slot-week-days.tsx"],"sourcesContent":["import type { Dayjs } from \"dayjs\";\nimport dayjs from \"dayjs\";\nimport isBetween from \"dayjs/plugin/isBetween\";\nimport type React from \"react\";\nimport { useMemo, useRef, useState } from \"react\";\n\nimport { concatIds, VisuallyHidden } from \"../shared/accessibility\";\nimport type { InternalCalendarProps } from \"../shared/internal-calendar\";\nimport type { CellStyleProps } from \"../shared/internal-calendar/day-cell\";\nimport { DayCell } from \"../shared/internal-calendar/day-cell\";\nimport type { TimeSlot } from \"../time-slot-bar/types\";\nimport { CalendarHelper } from \"../util/calendar-helper\";\nimport { TimeHelper } from \"../util/time-helper\";\nimport { V3_Colour } from \"../v3_theme\";\nimport {\n ColumnWeekCell,\n DayLabel,\n HeaderCellWeek,\n HeaderRow,\n TimeSlotComponent,\n TimeSlotText,\n TimeSlotWrapper,\n Wrapper,\n} from \"./time-slot-week-days.style\";\n\ndayjs.extend(isBetween);\n\ninterface FocusableSlotMeta {\n key: string;\n date: string;\n rowIndex: number;\n}\n\ninterface TimeSlotWeekDaysProps\n extends Pick<\n InternalCalendarProps,\n \"disabledDates\" | \"minDate\" | \"maxDate\"\n > {\n selectedDate: string | undefined;\n calendarDate: Dayjs;\n onSelect: (value: Dayjs) => void;\n slots?: { [date: string]: TimeSlot[] } | undefined;\n enableSelection?: boolean | undefined;\n onSlotClick?: ((date: string, timeSlot: TimeSlot) => void) | undefined;\n}\n\nconst dateFormat = \"YYYY-MM-DD\";\n\nconst fallbackSlot: TimeSlot = {\n id: \"1\",\n startTime: \"\",\n endTime: \"\",\n clickable: false,\n styleAttributes: {\n color: \"\",\n styleType: \"stripes\",\n backgroundColor: V3_Colour[\"bg-stronger\"],\n backgroundColor2: V3_Colour[\"bg-strongest\"],\n },\n};\n\nexport const TimeSlotWeekDays = ({\n calendarDate,\n disabledDates,\n selectedDate,\n onSelect,\n minDate,\n maxDate,\n slots: daySlots,\n enableSelection = true,\n onSlotClick,\n}: TimeSlotWeekDaysProps) => {\n // =============================================================================\n // CONST, STATE, REF\n // =============================================================================\n const currentCalendarWeek = useMemo((): Dayjs[] => {\n return CalendarHelper.generateDaysForCurrentWeek(calendarDate);\n }, [calendarDate]);\n const [hoverDay, setHoverDay] = useState<Dayjs>();\n const slotButtonRefs = useRef<Record<string, HTMLButtonElement | null>>({});\n\n // =============================================================================\n // EVENT HANDLERS\n // =============================================================================\n const handleDayClick = (value: Dayjs, isDisabled: boolean) => {\n if (isDisabled || !enableSelection) return;\n onSelect(value);\n };\n\n const handleSlotClick = (date: string, slot: TimeSlot) => {\n onSlotClick?.(date, slot);\n };\n\n const handleSlotButtonClick =\n (date: string, slot: TimeSlot) =>\n (event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n\n if (slot.clickable ?? true) {\n handleSlotClick(date, slot);\n }\n };\n\n const handleDayHover = (value: Dayjs) => {\n setHoverDay(value);\n };\n\n const handleDayHoverClear = () => {\n setHoverDay(undefined);\n };\n\n // =============================================================================\n // HELPER FUNCTIONS\n // =============================================================================\n const isDisabled = (day: Dayjs): boolean => {\n const isWithinRange = CalendarHelper.isWithinRange(\n day,\n minDate ? dayjs(minDate) : undefined,\n maxDate ? dayjs(maxDate) : undefined\n );\n\n const isDisabledDate =\n !!disabledDates && disabledDates.includes(day.format(dateFormat));\n\n return !isWithinRange || isDisabledDate;\n };\n\n const generateStyleProps = (day: Dayjs) => {\n const dateStartWithYear = day.format(dateFormat);\n const disabled = isDisabled(day);\n const isHoverEnabled = enableSelection && !disabled;\n const isHover =\n isHoverEnabled && hoverDay && day.isSame(hoverDay, \"day\");\n const isSelected = [selectedDate].includes(dateStartWithYear);\n\n const dayCellStyleProps: CellStyleProps = {\n labelType: \"available\",\n interactive: enableSelection ? isHoverEnabled : false,\n };\n\n if (disabled) {\n dayCellStyleProps.disabled = true;\n dayCellStyleProps.labelType = \"unavailable\";\n }\n\n if (isSelected && isHover) {\n dayCellStyleProps.labelType = \"selected-hover\";\n dayCellStyleProps.circleLeft = \"selected-hover-outline\";\n dayCellStyleProps.circleRight = \"selected-hover-outline\";\n } else if (isSelected) {\n dayCellStyleProps.labelType = \"selected\";\n dayCellStyleProps.circleLeft = \"selected-outline\";\n dayCellStyleProps.circleRight = \"selected-outline\";\n } else if (isHover) {\n dayCellStyleProps.labelType = \"hover\";\n dayCellStyleProps.circleLeft = \"hover-subtle\";\n dayCellStyleProps.circleRight = \"hover-subtle\";\n }\n\n return dayCellStyleProps;\n };\n\n const getFocusableSlotsForDate = (\n formattedDate: string\n ): FocusableSlotMeta[] => {\n return (daySlots?.[formattedDate] ?? []).map((slot, index) => ({\n key: `${formattedDate}-${slot.id}`,\n date: formattedDate,\n rowIndex: index,\n }));\n };\n\n const handleSlotKeyDown = (\n event: React.KeyboardEvent<HTMLButtonElement>,\n currentSlot: FocusableSlotMeta\n ) => {\n const sameColumnSlots = getFocusableSlotsForDate(currentSlot.date);\n\n const focusSlot = (slot?: FocusableSlotMeta) => {\n if (!slot) return;\n slotButtonRefs.current[slot.key]?.focus();\n };\n\n switch (event.key) {\n case \"ArrowRight\":\n case \"ArrowDown\": {\n event.preventDefault();\n const currentIndex = sameColumnSlots.findIndex(\n (slot) => slot.key === currentSlot.key\n );\n focusSlot(sameColumnSlots[currentIndex + 1]);\n break;\n }\n case \"ArrowLeft\":\n case \"ArrowUp\": {\n event.preventDefault();\n const currentIndex = sameColumnSlots.findIndex(\n (slot) => slot.key === currentSlot.key\n );\n focusSlot(sameColumnSlots[currentIndex - 1]);\n break;\n }\n case \"Home\":\n case \"PageUp\":\n event.preventDefault();\n focusSlot(sameColumnSlots[0]);\n break;\n case \"End\":\n case \"PageDown\":\n event.preventDefault();\n focusSlot(sameColumnSlots[sameColumnSlots.length - 1]);\n break;\n default:\n break;\n }\n };\n\n const getSlotAriaLabel = (date: string, slot: TimeSlot) => {\n const { startTime: slotStartTime, endTime: slotEndTime } = slot;\n\n return concatIds(\n dayjs(date).format(\"D MMMM YYYY dddd\"),\n slotStartTime && slotEndTime\n ? TimeHelper.formatTimeRange(slotStartTime, slotEndTime)\n : undefined,\n slot.label,\n slot.clickable ?? true ? \"Available\" : \"Unavailable\"\n );\n };\n // =============================================================================\n // RENDER FUNCTIONS\n // =============================================================================\n const renderHeader = () => {\n return (\n <HeaderRow role=\"row\" onBlur={handleDayHoverClear}>\n {currentCalendarWeek.map((day, index) => {\n const dayCellStyleProps = generateStyleProps(day);\n\n return (\n <HeaderCellWeek\n key={`week-day-${index}`}\n role=\"presentation\"\n >\n <DayCell\n key={`day-${index}`}\n date={day}\n calendarDate={dayjs(selectedDate)}\n onSelect={() => {\n handleDayClick(\n day,\n !dayCellStyleProps.interactive\n );\n }}\n onHover={handleDayHover}\n onHoverEnd={handleDayHoverClear}\n onFocus={handleDayHover}\n role=\"columnheader\"\n tabIndex={\n dayCellStyleProps.interactive ? 0 : -1\n }\n {...dayCellStyleProps}\n />\n <DayLabel\n aria-hidden\n $disabled={dayCellStyleProps.disabled}\n >\n {dayjs(day).format(\"ddd\")}\n </DayLabel>\n </HeaderCellWeek>\n );\n })}\n </HeaderRow>\n );\n };\n\n const renderTimeSlotBarCells = () => {\n return (\n <ColumnWeekCell\n key={`week-cell-${calendarDate.format(dateFormat)}`}\n role=\"row\"\n >\n {currentCalendarWeek.map((day, dayIndex) => {\n const formattedDate = day.format(dateFormat);\n const slots = daySlots?.[formattedDate] ?? [fallbackSlot];\n\n return (\n <TimeSlotWrapper\n key={`wrapper-${dayIndex}`}\n role=\"gridcell\"\n >\n {slots &&\n slots.map((slot, rowIndex) => {\n const {\n id,\n startTime: slotStartTime,\n endTime: slotEndTime,\n clickable = true,\n styleAttributes,\n } = slot;\n const {\n color,\n styleType = \"default\",\n backgroundColor,\n backgroundColor2,\n } = styleAttributes;\n const slotKey = `${formattedDate}-${id}`;\n const isActualSlot = slot !== fallbackSlot;\n\n return (\n <TimeSlotComponent\n $type=\"vertical\"\n $variant=\"default\"\n key={id}\n $styleType={styleType}\n $bgColor={backgroundColor}\n $bgColor2={backgroundColor2}\n $clickable={clickable}\n onClick={() =>\n clickable &&\n handleSlotClick(\n formattedDate,\n slot\n )\n }\n >\n <TimeSlotText\n style={{ color: color }}\n >\n <span>\n {CalendarHelper.convertTo12HourFormat(\n slotStartTime\n )}\n </span>\n {slotEndTime &&\n slotStartTime && (\n <span>-</span>\n )}\n <span>\n {CalendarHelper.convertTo12HourFormat(\n slotEndTime\n )}\n </span>\n </TimeSlotText>\n {isActualSlot && (\n <VisuallyHidden>\n <button\n type=\"button\"\n ref={(element) => {\n slotButtonRefs.current[\n slotKey\n ] = element;\n }}\n aria-disabled={\n !clickable\n }\n aria-label={getSlotAriaLabel(\n formattedDate,\n slot\n )}\n onKeyDown={(event) =>\n handleSlotKeyDown(\n event,\n {\n key: slotKey,\n date: formattedDate,\n rowIndex,\n }\n )\n }\n onClick={handleSlotButtonClick(\n formattedDate,\n slot\n )}\n />\n </VisuallyHidden>\n )}\n </TimeSlotComponent>\n );\n })}\n </TimeSlotWrapper>\n );\n })}\n </ColumnWeekCell>\n );\n };\n\n return (\n <Wrapper role=\"grid\">\n {renderHeader()}\n {renderTimeSlotBarCells()}\n </Wrapper>\n );\n};\n"],"names":["dayjs","extend","isBetween","dateFormat","fallbackSlot","id","startTime","endTime","clickable","styleAttributes","color","styleType","backgroundColor","V3_Colour","backgroundColor2","TimeSlotWeekDays","calendarDate","disabledDates","selectedDate","onSelect","minDate","maxDate","slots","daySlots","enableSelection","onSlotClick","currentCalendarWeek","useMemo","CalendarHelper","generateDaysForCurrentWeek","hoverDay","setHoverDay","useState","slotButtonRefs","useRef","handleSlotClick","date","slot","handleSlotButtonClick","event","stopPropagation","_a","handleDayHover","value","handleDayHoverClear","undefined","generateStyleProps","day","dateStartWithYear","format","disabled","isWithinRange","isDisabledDate","includes","isDisabled","isHoverEnabled","isHover","isSame","isSelected","dayCellStyleProps","labelType","interactive","circleLeft","circleRight","handleSlotKeyDown","currentSlot","sameColumnSlots","formattedDate","map","index","key","rowIndex","focusSlot","current","focus","preventDefault","currentIndex","findIndex","length","getSlotAriaLabel","slotStartTime","slotEndTime","concatIds","TimeHelper","formatTimeRange","label","_jsxs","Wrapper","role","children","_jsx","HeaderRow","onBlur","HeaderCellWeek","DayCell","Object","assign","handleDayClick","onHover","onHoverEnd","onFocus","tabIndex","DayLabel","$disabled","ColumnWeekCell","dayIndex","TimeSlotWrapper","slotKey","isActualSlot","TimeSlotComponent","$type","$variant","$bgColor","$bgColor2","onClick","TimeSlotText","style","convertTo12HourFormat","VisuallyHidden","type","ref","element","onKeyDown"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"time-slot-week-days.js","sources":["../../src/time-slot-week-view/time-slot-week-days.tsx"],"sourcesContent":["import type { Dayjs } from \"dayjs\";\nimport dayjs from \"dayjs\";\nimport isBetween from \"dayjs/plugin/isBetween\";\nimport type React from \"react\";\nimport { useMemo, useRef, useState } from \"react\";\n\nimport { concatIds, VisuallyHidden } from \"../shared/accessibility\";\nimport type { InternalCalendarProps } from \"../shared/internal-calendar\";\nimport type { CellStyleProps } from \"../shared/internal-calendar/day-cell\";\nimport { DayCell } from \"../shared/internal-calendar/day-cell\";\nimport { Colour } from \"../theme\";\nimport type { TimeSlot } from \"../time-slot-bar/types\";\nimport { CalendarHelper } from \"../util/calendar-helper\";\nimport { TimeHelper } from \"../util/time-helper\";\nimport {\n ColumnWeekCell,\n DayLabel,\n HeaderCellWeek,\n HeaderRow,\n TimeSlotComponent,\n TimeSlotText,\n TimeSlotWrapper,\n Wrapper,\n} from \"./time-slot-week-days.style\";\n\ndayjs.extend(isBetween);\n\ninterface FocusableSlotMeta {\n key: string;\n date: string;\n rowIndex: number;\n}\n\ninterface TimeSlotWeekDaysProps\n extends Pick<\n InternalCalendarProps,\n \"disabledDates\" | \"minDate\" | \"maxDate\"\n > {\n selectedDate: string | undefined;\n calendarDate: Dayjs;\n onSelect: (value: Dayjs) => void;\n slots?: { [date: string]: TimeSlot[] } | undefined;\n enableSelection?: boolean | undefined;\n onSlotClick?: ((date: string, timeSlot: TimeSlot) => void) | undefined;\n}\n\nconst dateFormat = \"YYYY-MM-DD\";\n\nconst fallbackSlot: TimeSlot = {\n id: \"1\",\n startTime: \"\",\n endTime: \"\",\n clickable: false,\n styleAttributes: {\n color: \"\",\n styleType: \"stripes\",\n backgroundColor: Colour[\"bg-stronger\"],\n backgroundColor2: Colour[\"bg-strongest\"],\n },\n};\n\nexport const TimeSlotWeekDays = ({\n calendarDate,\n disabledDates,\n selectedDate,\n onSelect,\n minDate,\n maxDate,\n slots: daySlots,\n enableSelection = true,\n onSlotClick,\n}: TimeSlotWeekDaysProps) => {\n // =============================================================================\n // CONST, STATE, REF\n // =============================================================================\n const currentCalendarWeek = useMemo((): Dayjs[] => {\n return CalendarHelper.generateDaysForCurrentWeek(calendarDate);\n }, [calendarDate]);\n const [hoverDay, setHoverDay] = useState<Dayjs>();\n const slotButtonRefs = useRef<Record<string, HTMLButtonElement | null>>({});\n\n // =============================================================================\n // EVENT HANDLERS\n // =============================================================================\n const handleDayClick = (value: Dayjs, isDisabled: boolean) => {\n if (isDisabled || !enableSelection) return;\n onSelect(value);\n };\n\n const handleSlotClick = (date: string, slot: TimeSlot) => {\n onSlotClick?.(date, slot);\n };\n\n const handleSlotButtonClick =\n (date: string, slot: TimeSlot) =>\n (event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n\n if (slot.clickable ?? true) {\n handleSlotClick(date, slot);\n }\n };\n\n const handleDayHover = (value: Dayjs) => {\n setHoverDay(value);\n };\n\n const handleDayHoverClear = () => {\n setHoverDay(undefined);\n };\n\n // =============================================================================\n // HELPER FUNCTIONS\n // =============================================================================\n const isDisabled = (day: Dayjs): boolean => {\n const isWithinRange = CalendarHelper.isWithinRange(\n day,\n minDate ? dayjs(minDate) : undefined,\n maxDate ? dayjs(maxDate) : undefined\n );\n\n const isDisabledDate =\n !!disabledDates && disabledDates.includes(day.format(dateFormat));\n\n return !isWithinRange || isDisabledDate;\n };\n\n const generateStyleProps = (day: Dayjs) => {\n const dateStartWithYear = day.format(dateFormat);\n const disabled = isDisabled(day);\n const isHoverEnabled = enableSelection && !disabled;\n const isHover =\n isHoverEnabled && hoverDay && day.isSame(hoverDay, \"day\");\n const isSelected = [selectedDate].includes(dateStartWithYear);\n\n const dayCellStyleProps: CellStyleProps = {\n labelType: \"available\",\n interactive: enableSelection ? isHoverEnabled : false,\n };\n\n if (disabled) {\n dayCellStyleProps.disabled = true;\n dayCellStyleProps.labelType = \"unavailable\";\n }\n\n if (isSelected && isHover) {\n dayCellStyleProps.labelType = \"selected-hover\";\n dayCellStyleProps.circleLeft = \"selected-hover-outline\";\n dayCellStyleProps.circleRight = \"selected-hover-outline\";\n } else if (isSelected) {\n dayCellStyleProps.labelType = \"selected\";\n dayCellStyleProps.circleLeft = \"selected-outline\";\n dayCellStyleProps.circleRight = \"selected-outline\";\n } else if (isHover) {\n dayCellStyleProps.labelType = \"hover\";\n dayCellStyleProps.circleLeft = \"hover-subtle\";\n dayCellStyleProps.circleRight = \"hover-subtle\";\n }\n\n return dayCellStyleProps;\n };\n\n const getFocusableSlotsForDate = (\n formattedDate: string\n ): FocusableSlotMeta[] => {\n return (daySlots?.[formattedDate] ?? []).map((slot, index) => ({\n key: `${formattedDate}-${slot.id}`,\n date: formattedDate,\n rowIndex: index,\n }));\n };\n\n const handleSlotKeyDown = (\n event: React.KeyboardEvent<HTMLButtonElement>,\n currentSlot: FocusableSlotMeta\n ) => {\n const sameColumnSlots = getFocusableSlotsForDate(currentSlot.date);\n\n const focusSlot = (slot?: FocusableSlotMeta) => {\n if (!slot) return;\n slotButtonRefs.current[slot.key]?.focus();\n };\n\n switch (event.key) {\n case \"ArrowRight\":\n case \"ArrowDown\": {\n event.preventDefault();\n const currentIndex = sameColumnSlots.findIndex(\n (slot) => slot.key === currentSlot.key\n );\n focusSlot(sameColumnSlots[currentIndex + 1]);\n break;\n }\n case \"ArrowLeft\":\n case \"ArrowUp\": {\n event.preventDefault();\n const currentIndex = sameColumnSlots.findIndex(\n (slot) => slot.key === currentSlot.key\n );\n focusSlot(sameColumnSlots[currentIndex - 1]);\n break;\n }\n case \"Home\":\n case \"PageUp\":\n event.preventDefault();\n focusSlot(sameColumnSlots[0]);\n break;\n case \"End\":\n case \"PageDown\":\n event.preventDefault();\n focusSlot(sameColumnSlots[sameColumnSlots.length - 1]);\n break;\n default:\n break;\n }\n };\n\n const getSlotAriaLabel = (date: string, slot: TimeSlot) => {\n const { startTime: slotStartTime, endTime: slotEndTime } = slot;\n\n return concatIds(\n dayjs(date).format(\"D MMMM YYYY dddd\"),\n slotStartTime && slotEndTime\n ? TimeHelper.formatTimeRange(slotStartTime, slotEndTime)\n : undefined,\n slot.label,\n slot.clickable ?? true ? \"Available\" : \"Unavailable\"\n );\n };\n // =============================================================================\n // RENDER FUNCTIONS\n // =============================================================================\n const renderHeader = () => {\n return (\n <HeaderRow role=\"row\" onBlur={handleDayHoverClear}>\n {currentCalendarWeek.map((day, index) => {\n const dayCellStyleProps = generateStyleProps(day);\n\n return (\n <HeaderCellWeek\n key={`week-day-${index}`}\n role=\"presentation\"\n >\n <DayCell\n key={`day-${index}`}\n date={day}\n calendarDate={dayjs(selectedDate)}\n onSelect={() => {\n handleDayClick(\n day,\n !dayCellStyleProps.interactive\n );\n }}\n onHover={handleDayHover}\n onHoverEnd={handleDayHoverClear}\n onFocus={handleDayHover}\n role=\"columnheader\"\n tabIndex={\n dayCellStyleProps.interactive ? 0 : -1\n }\n {...dayCellStyleProps}\n />\n <DayLabel\n aria-hidden\n $disabled={dayCellStyleProps.disabled}\n >\n {dayjs(day).format(\"ddd\")}\n </DayLabel>\n </HeaderCellWeek>\n );\n })}\n </HeaderRow>\n );\n };\n\n const renderTimeSlotBarCells = () => {\n return (\n <ColumnWeekCell\n key={`week-cell-${calendarDate.format(dateFormat)}`}\n role=\"row\"\n >\n {currentCalendarWeek.map((day, dayIndex) => {\n const formattedDate = day.format(dateFormat);\n const slots = daySlots?.[formattedDate] ?? [fallbackSlot];\n\n return (\n <TimeSlotWrapper\n key={`wrapper-${dayIndex}`}\n role=\"gridcell\"\n >\n {slots &&\n slots.map((slot, rowIndex) => {\n const {\n id,\n startTime: slotStartTime,\n endTime: slotEndTime,\n clickable = true,\n styleAttributes,\n } = slot;\n const {\n color,\n styleType = \"default\",\n backgroundColor,\n backgroundColor2,\n } = styleAttributes;\n const slotKey = `${formattedDate}-${id}`;\n const isActualSlot = slot !== fallbackSlot;\n\n return (\n <TimeSlotComponent\n key={id}\n styleType={styleType}\n bgColor={backgroundColor}\n bgColor2={backgroundColor2}\n clickable={clickable}\n onClick={() =>\n clickable &&\n handleSlotClick(\n formattedDate,\n slot\n )\n }\n >\n <TimeSlotText\n style={{ color: color }}\n >\n <span>\n {CalendarHelper.convertTo12HourFormat(\n slotStartTime\n )}\n </span>\n {slotEndTime &&\n slotStartTime && (\n <span>-</span>\n )}\n <span>\n {CalendarHelper.convertTo12HourFormat(\n slotEndTime\n )}\n </span>\n </TimeSlotText>\n {isActualSlot && (\n <VisuallyHidden>\n <button\n type=\"button\"\n ref={(element) => {\n slotButtonRefs.current[\n slotKey\n ] = element;\n }}\n aria-disabled={\n !clickable\n }\n aria-label={getSlotAriaLabel(\n formattedDate,\n slot\n )}\n onKeyDown={(event) =>\n handleSlotKeyDown(\n event,\n {\n key: slotKey,\n date: formattedDate,\n rowIndex,\n }\n )\n }\n onClick={handleSlotButtonClick(\n formattedDate,\n slot\n )}\n />\n </VisuallyHidden>\n )}\n </TimeSlotComponent>\n );\n })}\n </TimeSlotWrapper>\n );\n })}\n </ColumnWeekCell>\n );\n };\n\n return (\n <Wrapper role=\"grid\">\n {renderHeader()}\n {renderTimeSlotBarCells()}\n </Wrapper>\n );\n};\n"],"names":["dayjs","extend","isBetween","dateFormat","fallbackSlot","id","startTime","endTime","clickable","styleAttributes","color","styleType","backgroundColor","Colour","backgroundColor2","TimeSlotWeekDays","calendarDate","disabledDates","selectedDate","onSelect","minDate","maxDate","slots","daySlots","enableSelection","onSlotClick","currentCalendarWeek","useMemo","CalendarHelper","generateDaysForCurrentWeek","hoverDay","setHoverDay","useState","slotButtonRefs","useRef","handleSlotClick","date","slot","handleSlotButtonClick","event","stopPropagation","_a","handleDayHover","value","handleDayHoverClear","undefined","generateStyleProps","day","dateStartWithYear","format","disabled","isWithinRange","isDisabledDate","includes","isDisabled","isHoverEnabled","isHover","isSame","isSelected","dayCellStyleProps","labelType","interactive","circleLeft","circleRight","handleSlotKeyDown","currentSlot","sameColumnSlots","formattedDate","map","index","key","rowIndex","focusSlot","current","focus","preventDefault","currentIndex","findIndex","length","getSlotAriaLabel","slotStartTime","slotEndTime","concatIds","TimeHelper","formatTimeRange","label","_jsxs","Wrapper","role","children","_jsx","HeaderRow","onBlur","HeaderCellWeek","DayCell","Object","assign","handleDayClick","onHover","onHoverEnd","onFocus","tabIndex","DayLabel","$disabled","ColumnWeekCell","dayIndex","TimeSlotWrapper","slotKey","isActualSlot","TimeSlotComponent","bgColor","bgColor2","onClick","TimeSlotText","style","convertTo12HourFormat","VisuallyHidden","type","ref","element","onKeyDown"],"mappings":"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"}
|
|
@@ -7,16 +7,6 @@ export declare const DayLabel: import("styled-components/dist/types").IStyledCom
|
|
|
7
7
|
export declare const Wrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
8
8
|
export declare const ColumnWeekCell: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
9
9
|
export declare const TimeSlotText: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
10
|
-
export declare const TimeSlotComponent: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<
|
|
11
|
-
as?: import("styled-components").WebTarget | undefined;
|
|
12
|
-
forwardedAs?: import("styled-components").WebTarget | undefined;
|
|
13
|
-
}, "ref"> & {
|
|
14
|
-
ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
15
|
-
}, never> & Partial<Pick<Omit<import("styled-components").FastOmit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import("../time-slot-bar/time-slot-bar.styles").TimeSlotStyleProps> & import("../time-slot-bar/time-slot-bar.styles").TimeSlotStyleProps, never> & Partial<Pick<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import("../time-slot-bar/time-slot-bar.styles").TimeSlotStyleProps> & import("../time-slot-bar/time-slot-bar.styles").TimeSlotStyleProps, never>> & {
|
|
16
|
-
as?: import("styled-components").WebTarget | undefined;
|
|
17
|
-
forwardedAs?: import("styled-components").WebTarget | undefined;
|
|
18
|
-
}, "ref"> & {
|
|
19
|
-
ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
20
|
-
}, never>>> & string;
|
|
10
|
+
export declare const TimeSlotComponent: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("../shared/time-slot").TimeSlotProps & import("react").RefAttributes<HTMLDivElement>, never> & Partial<Pick<import("../shared/time-slot").TimeSlotProps & import("react").RefAttributes<HTMLDivElement>, never>>> & string & Omit<(props: import("../shared/time-slot").TimeSlotProps & import("react").RefAttributes<HTMLDivElement>) => React.ReactElement | null, keyof import("react").Component<any, {}, any>>;
|
|
21
11
|
export declare const TimeSlotWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
22
12
|
export {};
|