@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-section.js","sources":["../../src/otp-verification/verification-section.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"verification-section.js","sources":["../../src/otp-verification/verification-section.tsx"],"sourcesContent":["import { FormErrorMessage } from \"../form/form-label\";\nimport { InputGroup } from \"../input-group\";\nimport { concatIds } from \"../shared/accessibility\";\nimport { useMaxWidthMediaQuery } from \"../theme\";\nimport { Typography } from \"../typography\";\nimport { useId } from \"../util\";\nimport type { VerificationSectionProps } from \"./internal-types\";\nimport { EmailThumbnail, PhoneThumbnail } from \"./thumbnail\";\nimport {\n ReSendMessage,\n SectionContainer,\n VerificationSectionWrapper,\n VerifyButton,\n VerifyInputWrapper,\n} from \"./verification-section-styles\";\n\nexport const VerificationSection = ({\n id,\n \"data-testid\": dataTestId,\n type,\n showVerifyOtpThumbnail = false,\n verifyOtpTitle,\n verifyOtpMessage,\n otpCode,\n setOtpCode,\n isVerifyLoading,\n countdown,\n onVerifyOtp,\n verifyOtpError,\n otpPrefix,\n otpSeparator,\n}: VerificationSectionProps) => {\n const isMobile = useMaxWidthMediaQuery(\"sm\");\n const thumbnailSize = isMobile ? 64 : 120;\n const internalId = useId();\n\n const titleId = `${internalId}-title`;\n const messageId = `${internalId}-message`;\n const otpAddonId = `${internalId}-verify-input-addon`;\n const verifyErrorId = `${internalId}-verify-error`;\n\n const renderThumbnail = () => {\n if (!showVerifyOtpThumbnail) return null;\n\n return (\n <div aria-hidden>\n {type === \"email\" ? (\n <EmailThumbnail\n width={thumbnailSize}\n height={thumbnailSize}\n />\n ) : (\n <PhoneThumbnail\n width={thumbnailSize}\n height={thumbnailSize}\n />\n )}\n </div>\n );\n };\n\n return (\n <VerificationSectionWrapper\n id={id}\n data-testid={dataTestId}\n role=\"group\"\n >\n {renderThumbnail()}\n <SectionContainer>\n <div>\n <Typography.BodyMD\n weight=\"semibold\"\n id={titleId}\n data-testid={\n dataTestId ? `${dataTestId}-title` : undefined\n }\n >\n {verifyOtpTitle}\n </Typography.BodyMD>\n <Typography.BodyMD\n weight=\"regular\"\n id={messageId}\n data-testid={\n dataTestId ? `${dataTestId}-message` : undefined\n }\n >\n {verifyOtpMessage}\n </Typography.BodyMD>\n </div>\n <div>\n <VerifyInputWrapper>\n <InputGroup\n id={id ? `${id}-verify-input` : undefined}\n data-testid={\n dataTestId\n ? `${dataTestId}-verify-input`\n : undefined\n }\n value={otpCode}\n onChange={(e) => setOtpCode?.(e.target.value)}\n placeholder=\"Enter OTP\"\n addon={{\n type: \"label\",\n attributes: {\n value: `${otpPrefix ?? \"\"}${\n otpSeparator ?? \"\"\n }`,\n },\n }}\n type=\"number\"\n error={!!verifyOtpError}\n aria-labelledby={titleId}\n aria-describedby={concatIds(\n messageId,\n otpAddonId,\n verifyOtpError ? verifyErrorId : undefined\n )}\n aria-invalid={!!verifyOtpError}\n aria-required={true}\n />\n <VerifyButton\n id={id ? `${id}-verify-button` : undefined}\n type=\"button\"\n data-testid={\n dataTestId\n ? `${dataTestId}-verify-button`\n : undefined\n }\n onClick={onVerifyOtp}\n loading={isVerifyLoading}\n styleType=\"light\"\n disabled={!otpCode || otpCode.length === 0}\n >\n {!isVerifyLoading && \"Verify\"}\n </VerifyButton>\n </VerifyInputWrapper>\n {verifyOtpError && (\n <FormErrorMessage\n id={verifyErrorId}\n data-testid={\n dataTestId\n ? `${dataTestId}-verify-error`\n : undefined\n }\n role=\"alert\"\n >\n {verifyOtpError}\n </FormErrorMessage>\n )}\n </div>\n {countdown.isRunning && (\n <ReSendMessage\n id={id ? `${id}-countdown` : undefined}\n data-testid={\n dataTestId ? `${dataTestId}-countdown` : undefined\n }\n >\n Resend OTP in {countdown.formatTime()}\n </ReSendMessage>\n )}\n </SectionContainer>\n </VerificationSectionWrapper>\n );\n};\n"],"names":["VerificationSection","id","dataTestId","type","showVerifyOtpThumbnail","verifyOtpTitle","verifyOtpMessage","otpCode","setOtpCode","isVerifyLoading","countdown","onVerifyOtp","verifyOtpError","otpPrefix","otpSeparator","thumbnailSize","useMaxWidthMediaQuery","internalId","useId","titleId","messageId","otpAddonId","verifyErrorId","_jsxs","VerificationSectionWrapper","role","_jsx","children","EmailThumbnail","PhoneThumbnail","width","height","SectionContainer","Typography","BodyMD","weight","undefined","VerifyInputWrapper","InputGroup","value","onChange","e","target","placeholder","addon","attributes","error","concatIds","VerifyButton","onClick","loading","styleType","disabled","length","FormErrorMessage","isRunning","ReSendMessage","formatTime"],"mappings":"ojCAgBO,MAAMA,EAAsB,EAC/BC,KACA,cAAeC,EACfC,OACAC,0BAAyB,EACzBC,iBACAC,mBACAC,UACAC,aACAC,kBACAC,YACAC,cACAC,iBACAC,YACAC,mBAEA,MACMC,EADWC,EAAsB,MACN,GAAK,IAChCC,EAAaC,IAEbC,EAAU,GAAGF,UACbG,EAAY,GAAGH,YACfI,EAAa,GAAGJ,uBAChBK,EAAgB,GAAGL,iBAsBzB,OACIM,EAACC,EAA0B,CACvBvB,GAAIA,gBACSC,EACbuB,KAAK,kBAvBJrB,EAGDsB,EAAA,MAAA,CAAA,eAAA,EAAAC,SAEQD,EADM,UAATvB,EACIyB,EAKAC,EALc,CACXC,MAAOf,EACPgB,OAAQhB,MAPY,KA0BhCQ,EAACS,EAAgB,CAAAL,SAAA,CACbJ,EAAA,MAAA,CAAAI,SAAA,CACID,EAACO,EAAWC,OAAM,CACdC,OAAO,WACPlC,GAAIkB,EAAO,cAEPjB,EAAa,GAAGA,eAAqBkC,EAAST,SAGjDtB,IAELqB,EAACO,EAAWC,OAAM,CACdC,OAAO,UACPlC,GAAImB,EAAS,cAETlB,EAAa,GAAGA,iBAAuBkC,EAAST,SAGnDrB,OAGTiB,mBACIA,EAACc,aACGX,EAACY,EAAU,CACPrC,GAAIA,EAAK,GAAGA,sBAAoBmC,EAAS,cAErClC,EACM,GAAGA,sBACHkC,EAEVG,MAAOhC,EACPiC,SAAWC,GAAMjC,aAAU,EAAVA,EAAaiC,EAAEC,OAAOH,OACvCI,YAAY,YACZC,MAAO,CACHzC,KAAM,QACN0C,WAAY,CACRN,MAAO,GAAG1B,QAAAA,EAAa,KACnBC,QAAAA,EAAgB,OAI5BX,KAAK,SACL2C,QAASlC,EAAc,kBACNO,EAAO,mBACN4B,EACd3B,EACAC,EACAT,EAAiBU,OAAgBc,oBAErBxB,EAAc,iBACf,IAEnBc,EAACsB,EAAY,CACT/C,GAAIA,EAAK,GAAGA,uBAAqBmC,EACjCjC,KAAK,SAAQ,cAETD,EACM,GAAGA,uBACHkC,EAEVa,QAAStC,EACTuC,QAASzC,EACT0C,UAAU,QACVC,UAAW7C,GAA8B,IAAnBA,EAAQ8C,OAAY1B,UAExClB,GAAmB,cAG5BG,GACGc,EAAC4B,EAAgB,CACbrD,GAAIqB,gBAEApB,EACM,GAAGA,sBACHkC,EAEVX,KAAK,QAAOE,SAEXf,OAIZF,EAAU6C,WACPhC,EAACiC,EAAa,CACVvD,GAAIA,EAAK,GAAGA,mBAAiBmC,EAAS,cAElClC,EAAa,GAAGA,mBAAyBkC,EAAST,SAAA,CAAA,iBAGvCjB,EAAU+C,qBAIZ"}
|
package/overlay/overlay.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{FloatingTree as t,useFloatingNodeId as o,FloatingNode as r}from"@floating-ui/react";import n from"clsx";import{useState as l,useRef as s,useEffect as i}from"react";import a from"react-dom";import"../theme/theme-provider/index.js";import{useInheritedThemeScope as d}from"../theme/theme-provider/hooks.js";import"../theme/tokens/border.js";import"../theme/tokens/colour.js";import"../theme/tokens/font.js";import"../theme/tokens/media-query.js";import{useApplyStyle as c}from"../theme/utils/use-apply-styles.js";import"../util/calendar-helper.js";import"../external/dayjs/dayjs.min.js";import{useId as m}from"../util/simple-id-generator.js";import"../util/string-helper.js";import"@react-aria/live-announcer";import{tokens as u,root as p,rootShow as y,wrapper as v,wrapperShow as g,wrapperHide as b,wrapperStacked as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{FloatingTree as t,useFloatingNodeId as o,FloatingNode as r}from"@floating-ui/react";import n from"clsx";import{useState as l,useRef as s,useEffect as i}from"react";import a from"react-dom";import"../theme/theme-provider/index.js";import{useInheritedThemeScope as d}from"../theme/theme-provider/hooks.js";import"../theme/tokens/border.js";import"../theme/tokens/colour.js";import"../theme/tokens/font.js";import"../theme/tokens/media-query.js";import{useApplyStyle as c}from"../theme/utils/use-apply-styles.js";import"../theme/utils/use-media-query.js";import"../util/calendar-helper.js";import"../external/dayjs/dayjs.min.js";import{useId as m}from"../util/simple-id-generator.js";import"../util/string-helper.js";import"@react-aria/live-announcer";import{tokens as u,root as p,rootShow as y,wrapper as v,wrapperShow as g,wrapperHide as b,wrapperStacked as h,wrapperBackgroundBlur as f,wrapperDisableTransition as j}from"./overlay.styles.js";import{useFloatingParent as O}from"./use-floating-context.js";const k=({show:t=!1,rootId:k,onOverlayClick:L,children:w,backgroundOpacity:x,backgroundBlur:C=!0,disableTransition:P=!1,enableOverlayClick:T=!1,zIndex:E,id:D,containerRef:I})=>{const[S,q]=l(null),[W,Y]=l(),z=m(),A=o(),B=s(),F=s(!1),N=s(null),$=s(null),R=D?`lifesg-ds-overlay-root-${D}`:"lifesg-ds-overlay-root",V=null!=E?E:W?99999:99998,{themeProps:G,themeStyle:H}=d(t);O(V),c(N,{[u.root.zIndex]:V}),i((()=>(U(),q(M()),()=>{ee(),Z().length<1&&(K()&&(te("remove"),re()),X("remove"))})),[]),i((()=>{if(t){const e=Q();J(e),_(),K()&&1===Z().length&&(oe(),te("add"));const t=setTimeout((()=>{X("add")}),200);return()=>clearTimeout(t)}{ee(),K()&&Z().length<1&&(te("remove"),re());const e=setTimeout((()=>{Z().length<1&&X("remove")}),200);return()=>clearTimeout(e)}}),[t]),i((()=>{if(t)return document.addEventListener("mousedown",ne,!0),()=>{document.removeEventListener("mousedown",ne,!0)}}),[t]);const J=e=>{B.current=e,Y(e)},K=()=>/(iPad|iPhone|iPod)/g.test(navigator.userAgent),M=()=>document&&k?document.getElementById(k):document?document.body:null,Q=()=>Z().length>0,U=()=>{const e=document.documentElement.clientWidth,t=window.innerWidth-e;document.documentElement.style.setProperty(u.global.scrollbarWidth,`${t}px`)},X=e=>{const t=document.body.classList.contains(u.global.overlayOpenClass);"add"!==e||t?"remove"===e&&t&&document.body.classList.remove(u.global.overlayOpenClass):document.body.classList.add(u.global.overlayOpenClass)},Z=()=>{const e=document.body.dataset.lifesgDsOverlayOrder;return e?e.split(","):[]},_=()=>{const e=Z();document.body.dataset.lifesgDsOverlayOrder=[...e,z].join(",")},ee=()=>{const e=Z();document.body.dataset.lifesgDsOverlayOrder=e.filter((e=>e!==z)).join(",")},te=e=>{if(!K())return;const t=document.body.classList.contains(u.global.overlayScrollLockClass);"add"!==e||t?"remove"===e&&t&&document.body.classList.remove(u.global.overlayScrollLockClass):document.body.classList.add(u.global.overlayScrollLockClass)},oe=()=>{const e=document.body.style,t=e.top?e.top:window.scrollY+"px";document.body.style.setProperty(u.global.scrollY,t)},re=()=>{if(!K())return;const e=document.body.style.getPropertyValue(u.global.scrollY);requestAnimationFrame((()=>{window.scrollTo({top:parseFloat(e)})}))},ne=e=>{var t;const o=null!==(t=null==I?void 0:I.current)&&void 0!==t?t:$.current,r=$.current;if(!o)return void(F.current=!1);const n=e.target,l=r===n,s=o===n,i=o.contains(n);F.current=!l&&(s||i)},le=e=>{var t;const o=null!==(t=null==I?void 0:I.current)&&void 0!==t?t:$.current,r=$.current;if(!o)return void(F.current=!1);const n=e.target,l=r===n,s=o===n,i=o.contains(n);!l&&(s||i)||F.current||!L||!T||(e.preventDefault(),L()),F.current=!1};return S?a.createPortal(e("div",Object.assign({ref:N,id:R,"data-testid":R,className:n(p,t&&y)},G,{style:H,children:w&&e(r,{id:A,children:e("div",{ref:$,"data-testid":"overlay-wrapper",className:n(v,t?g:b,W&&h,C&&f,P&&j),onClick:le,children:w})})})),S):null},L=o=>e(t,{children:e(k,Object.assign({},o))});export{L as Overlay};
|
|
2
2
|
//# sourceMappingURL=overlay.js.map
|
package/overlay/overlay.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay.js","sources":["../../src/overlay/overlay.tsx"],"sourcesContent":["import {\n FloatingNode,\n FloatingTree,\n useFloatingNodeId,\n} from \"@floating-ui/react\";\nimport clsx from \"clsx\";\nimport type React from \"react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport ReactDOM from \"react-dom\";\n\nimport { useApplyStyle, useInheritedThemeScope } from \"../theme\";\nimport { useId } from \"../util\";\nimport * as styles from \"./overlay.styles\";\nimport type { OverlayProps } from \"./types\";\nimport { useFloatingParent } from \"./use-floating-context\";\n\nconst OverlayComponent = ({\n show = false,\n rootId,\n onOverlayClick,\n children,\n backgroundOpacity: _backgroundOpacity,\n backgroundBlur = true,\n disableTransition = false,\n enableOverlayClick = false,\n zIndex: customZIndex,\n id,\n containerRef,\n}: OverlayProps): JSX.Element | null => {\n // =============================================================================\n // CONST, STATE, REF\n // =============================================================================\n const [rootElement, setRootElement] = useState<HTMLElement | null>(null);\n const [isStacked, _setIsStacked] = useState<boolean>();\n const uid = useId();\n const nodeId = useFloatingNodeId();\n\n const stacked = useRef<boolean>();\n // Track where mousedown started to prevent closing drawer during text selection drag\n const mouseDownInsideModalRef = useRef(false);\n const rootRef = useRef<HTMLDivElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n const overlayRootId = id\n ? `lifesg-ds-overlay-root-${id}`\n : \"lifesg-ds-overlay-root\";\n const zIndex = customZIndex ?? (isStacked ? 99999 : 99998);\n const { themeProps, themeStyle } = useInheritedThemeScope(show);\n\n useFloatingParent(zIndex);\n\n useApplyStyle(rootRef, { [styles.tokens.root.zIndex]: zIndex });\n\n // =============================================================================\n // EFFECTS\n // =============================================================================\n useEffect(() => {\n initialiseStylesForDocumentBody();\n setRootElement(getRootElement());\n\n return () => {\n removeOverlay();\n\n if (getOverlayOrder().length < 1) {\n if (isIOS()) {\n applyScrollLockClassForIOS(\"remove\");\n scrollToLastScrollPositionForIOS();\n }\n\n applyBodyStyleClass(\"remove\");\n }\n };\n }, []);\n\n useEffect(() => {\n if (show) {\n const isStacked = checkIfStacked();\n setStacked(isStacked);\n\n addOverlay();\n\n if (isIOS() && getOverlayOrder().length === 1) {\n saveScrollPosition();\n applyScrollLockClassForIOS(\"add\");\n }\n\n const timerId = setTimeout(() => {\n applyBodyStyleClass(\"add\");\n }, 200); // Allow overlay animations to complete\n\n return () => clearTimeout(timerId);\n } else {\n removeOverlay();\n\n if (isIOS() && getOverlayOrder().length < 1) {\n applyScrollLockClassForIOS(\"remove\");\n scrollToLastScrollPositionForIOS();\n }\n\n const timerId = setTimeout(() => {\n if (getOverlayOrder().length < 1) {\n applyBodyStyleClass(\"remove\");\n }\n }, 200); // Allow overlay animations to complete\n\n return () => clearTimeout(timerId);\n }\n }, [show]);\n\n // Track mousedown origin to distinguish clicks from text selection drags\n useEffect(() => {\n if (!show) return;\n\n document.addEventListener(\"mousedown\", handleDocumentMouseDown, true);\n return () => {\n document.removeEventListener(\n \"mousedown\",\n handleDocumentMouseDown,\n true\n );\n };\n }, [show]);\n\n // =============================================================================\n // REF FUNCTIONS\n // =============================================================================\n const setStacked = (data: boolean) => {\n stacked.current = data;\n _setIsStacked(data);\n };\n\n // =============================================================================\n // HELPER FUNCTIONS\n // =============================================================================\n const isIOS = () => /(iPad|iPhone|iPod)/g.test(navigator.userAgent);\n\n const getRootElement = (): HTMLElement | null => {\n if (document && rootId) {\n return document.getElementById(rootId);\n } else if (document) {\n // If rootId not specified, we'll use body\n return document.body;\n } else {\n return null;\n }\n };\n\n const checkIfStacked = () => {\n return getOverlayOrder().length > 0;\n };\n\n const initialiseStylesForDocumentBody = () => {\n const documentWidth = document.documentElement.clientWidth;\n const windowWidth = window.innerWidth;\n const scrollBarWidth = windowWidth - documentWidth;\n\n document.documentElement.style.setProperty(\n styles.tokens.global.scrollbarWidth,\n `${scrollBarWidth}px`\n );\n };\n\n /**\n * This sets the style of <body> to hide the scrollbar\n */\n const applyBodyStyleClass = (action: \"add\" | \"remove\") => {\n const isOverlayStyleClassApplied = document.body.classList.contains(\n styles.tokens.global.overlayOpenClass\n );\n\n if (action === \"add\" && !isOverlayStyleClassApplied) {\n document.body.classList.add(styles.tokens.global.overlayOpenClass);\n } else if (action === \"remove\" && isOverlayStyleClassApplied) {\n document.body.classList.remove(\n styles.tokens.global.overlayOpenClass\n );\n }\n };\n\n const getOverlayOrder = () => {\n const attr = document.body.dataset.lifesgDsOverlayOrder;\n return attr ? attr.split(\",\") : [];\n };\n\n const addOverlay = () => {\n const order = getOverlayOrder();\n document.body.dataset.lifesgDsOverlayOrder = [...order, uid].join(\",\");\n };\n\n const removeOverlay = () => {\n const order = getOverlayOrder();\n document.body.dataset.lifesgDsOverlayOrder = order\n .filter((o) => o !== uid)\n .join(\",\");\n };\n\n /**\n * This sets the style of <body> to further prevent scrolling on iOS\n *\n * ref: https://stackoverflow.com/a/57455820/3932279\n * `overflow: hidden` and `overscroll-behavior` is ignored by iOS, this is\n * an alternative solution\n *\n * as a side effect this causes the scroll position to reset, so additional\n * logic to restore the scroll on close is required\n */\n const applyScrollLockClassForIOS = (action: \"add\" | \"remove\") => {\n if (!isIOS()) {\n return;\n }\n\n const isClassApplied = document.body.classList.contains(\n styles.tokens.global.overlayScrollLockClass\n );\n\n if (action === \"add\" && !isClassApplied) {\n document.body.classList.add(\n styles.tokens.global.overlayScrollLockClass\n );\n } else if (action === \"remove\" && isClassApplied) {\n document.body.classList.remove(\n styles.tokens.global.overlayScrollLockClass\n );\n }\n };\n\n const saveScrollPosition = () => {\n const bodyStyle = document.body.style;\n const scrollY = bodyStyle.top ? bodyStyle.top : window.scrollY + \"px\";\n\n document.body.style.setProperty(styles.tokens.global.scrollY, scrollY);\n };\n\n const scrollToLastScrollPositionForIOS = () => {\n if (!isIOS()) {\n return;\n }\n\n const scrollY = document.body.style.getPropertyValue(\n styles.tokens.global.scrollY\n );\n requestAnimationFrame(() => {\n window.scrollTo({\n top: parseFloat(scrollY),\n });\n });\n };\n\n // =============================================================================\n // EVENT HANDLERS\n // =============================================================================\n const handleDocumentMouseDown = (e: MouseEvent) => {\n const container = containerRef?.current ?? wrapperRef.current;\n const wrapper = wrapperRef.current;\n if (!container) {\n mouseDownInsideModalRef.current = false;\n return;\n }\n\n const target = e.target as Node;\n const clickedOnWrapper = wrapper === target;\n const clickedOnContainer = container === target;\n const clickedInsideContainer = container.contains(target);\n\n // Track if mousedown started inside modal content\n mouseDownInsideModalRef.current =\n !clickedOnWrapper && (clickedOnContainer || clickedInsideContainer);\n };\n\n const handleWrapperClick = (event: React.MouseEvent<HTMLDivElement>) => {\n const container = containerRef?.current ?? wrapperRef.current;\n const wrapper = wrapperRef.current;\n if (!container) {\n mouseDownInsideModalRef.current = false;\n return;\n }\n\n const target = event.target as Node;\n const clickedOnWrapper = wrapper === target;\n const clickedOnContainer = container === target;\n const clickedInsideContainer = container.contains(target);\n const clickedInsideModal = clickedOnContainer || clickedInsideContainer;\n\n // Only close if both mousedown AND click happened outside modal\n if (\n (clickedOnWrapper || !clickedInsideModal) &&\n !mouseDownInsideModalRef.current &&\n onOverlayClick &&\n enableOverlayClick\n ) {\n event.preventDefault();\n onOverlayClick();\n }\n\n mouseDownInsideModalRef.current = false;\n };\n\n // =============================================================================\n // RENDER\n // =============================================================================\n const renderWrapper = () => (\n <FloatingNode id={nodeId}>\n <div\n ref={wrapperRef}\n data-testid=\"overlay-wrapper\"\n className={clsx(\n styles.wrapper,\n show ? styles.wrapperShow : styles.wrapperHide,\n isStacked && styles.wrapperStacked,\n backgroundBlur && styles.wrapperBackgroundBlur,\n disableTransition && styles.wrapperDisableTransition\n )}\n onClick={handleWrapperClick}\n >\n {children}\n </div>\n </FloatingNode>\n );\n\n const renderComponent = () => (\n <div\n ref={rootRef}\n id={overlayRootId}\n data-testid={overlayRootId}\n className={clsx(styles.root, show && styles.rootShow)}\n {...themeProps}\n style={themeStyle}\n >\n {children && renderWrapper()}\n </div>\n );\n\n return rootElement\n ? ReactDOM.createPortal(renderComponent(), rootElement)\n : null;\n};\n\nexport const Overlay = (props: OverlayProps) => {\n return (\n <FloatingTree>\n <OverlayComponent {...props} />\n </FloatingTree>\n );\n};\n"],"names":["OverlayComponent","show","rootId","onOverlayClick","children","backgroundOpacity","_backgroundOpacity","backgroundBlur","disableTransition","enableOverlayClick","zIndex","customZIndex","id","containerRef","rootElement","setRootElement","useState","isStacked","_setIsStacked","uid","useId","nodeId","useFloatingNodeId","stacked","useRef","mouseDownInsideModalRef","rootRef","wrapperRef","overlayRootId","themeProps","themeStyle","useInheritedThemeScope","useFloatingParent","useApplyStyle","styles.tokens","root","useEffect","initialiseStylesForDocumentBody","getRootElement","removeOverlay","getOverlayOrder","length","isIOS","applyScrollLockClassForIOS","scrollToLastScrollPositionForIOS","applyBodyStyleClass","checkIfStacked","setStacked","addOverlay","saveScrollPosition","timerId","setTimeout","clearTimeout","document","addEventListener","handleDocumentMouseDown","removeEventListener","data","current","test","navigator","userAgent","getElementById","body","documentWidth","documentElement","clientWidth","scrollBarWidth","window","innerWidth","style","setProperty","global","scrollbarWidth","action","isOverlayStyleClassApplied","classList","contains","overlayOpenClass","remove","add","attr","dataset","lifesgDsOverlayOrder","split","order","join","filter","o","isClassApplied","overlayScrollLockClass","bodyStyle","scrollY","top","getPropertyValue","requestAnimationFrame","scrollTo","parseFloat","e","container","_a","wrapper","target","clickedOnWrapper","clickedOnContainer","clickedInsideContainer","handleWrapperClick","event","preventDefault","ReactDOM","createPortal","_jsx","Object","assign","ref","className","clsx","styles.root","styles.rootShow","FloatingNode","styles.wrapper","styles.wrapperShow","styles.wrapperHide","styles.wrapperStacked","styles.wrapperBackgroundBlur","styles.wrapperDisableTransition","onClick","Overlay","props","FloatingTree"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"overlay.js","sources":["../../src/overlay/overlay.tsx"],"sourcesContent":["import {\n FloatingNode,\n FloatingTree,\n useFloatingNodeId,\n} from \"@floating-ui/react\";\nimport clsx from \"clsx\";\nimport type React from \"react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport ReactDOM from \"react-dom\";\n\nimport { useApplyStyle, useInheritedThemeScope } from \"../theme\";\nimport { useId } from \"../util\";\nimport * as styles from \"./overlay.styles\";\nimport type { OverlayProps } from \"./types\";\nimport { useFloatingParent } from \"./use-floating-context\";\n\nconst OverlayComponent = ({\n show = false,\n rootId,\n onOverlayClick,\n children,\n backgroundOpacity: _backgroundOpacity,\n backgroundBlur = true,\n disableTransition = false,\n enableOverlayClick = false,\n zIndex: customZIndex,\n id,\n containerRef,\n}: OverlayProps): JSX.Element | null => {\n // =============================================================================\n // CONST, STATE, REF\n // =============================================================================\n const [rootElement, setRootElement] = useState<HTMLElement | null>(null);\n const [isStacked, _setIsStacked] = useState<boolean>();\n const uid = useId();\n const nodeId = useFloatingNodeId();\n\n const stacked = useRef<boolean>();\n // Track where mousedown started to prevent closing drawer during text selection drag\n const mouseDownInsideModalRef = useRef(false);\n const rootRef = useRef<HTMLDivElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n const overlayRootId = id\n ? `lifesg-ds-overlay-root-${id}`\n : \"lifesg-ds-overlay-root\";\n const zIndex = customZIndex ?? (isStacked ? 99999 : 99998);\n const { themeProps, themeStyle } = useInheritedThemeScope(show);\n\n useFloatingParent(zIndex);\n\n useApplyStyle(rootRef, { [styles.tokens.root.zIndex]: zIndex });\n\n // =============================================================================\n // EFFECTS\n // =============================================================================\n useEffect(() => {\n initialiseStylesForDocumentBody();\n setRootElement(getRootElement());\n\n return () => {\n removeOverlay();\n\n if (getOverlayOrder().length < 1) {\n if (isIOS()) {\n applyScrollLockClassForIOS(\"remove\");\n scrollToLastScrollPositionForIOS();\n }\n\n applyBodyStyleClass(\"remove\");\n }\n };\n }, []);\n\n useEffect(() => {\n if (show) {\n const isStacked = checkIfStacked();\n setStacked(isStacked);\n\n addOverlay();\n\n if (isIOS() && getOverlayOrder().length === 1) {\n saveScrollPosition();\n applyScrollLockClassForIOS(\"add\");\n }\n\n const timerId = setTimeout(() => {\n applyBodyStyleClass(\"add\");\n }, 200); // Allow overlay animations to complete\n\n return () => clearTimeout(timerId);\n } else {\n removeOverlay();\n\n if (isIOS() && getOverlayOrder().length < 1) {\n applyScrollLockClassForIOS(\"remove\");\n scrollToLastScrollPositionForIOS();\n }\n\n const timerId = setTimeout(() => {\n if (getOverlayOrder().length < 1) {\n applyBodyStyleClass(\"remove\");\n }\n }, 200); // Allow overlay animations to complete\n\n return () => clearTimeout(timerId);\n }\n }, [show]);\n\n // Track mousedown origin to distinguish clicks from text selection drags\n useEffect(() => {\n if (!show) return;\n\n document.addEventListener(\"mousedown\", handleDocumentMouseDown, true);\n return () => {\n document.removeEventListener(\n \"mousedown\",\n handleDocumentMouseDown,\n true\n );\n };\n }, [show]);\n\n // =============================================================================\n // REF FUNCTIONS\n // =============================================================================\n const setStacked = (data: boolean) => {\n stacked.current = data;\n _setIsStacked(data);\n };\n\n // =============================================================================\n // HELPER FUNCTIONS\n // =============================================================================\n const isIOS = () => /(iPad|iPhone|iPod)/g.test(navigator.userAgent);\n\n const getRootElement = (): HTMLElement | null => {\n if (document && rootId) {\n return document.getElementById(rootId);\n } else if (document) {\n // If rootId not specified, we'll use body\n return document.body;\n } else {\n return null;\n }\n };\n\n const checkIfStacked = () => {\n return getOverlayOrder().length > 0;\n };\n\n const initialiseStylesForDocumentBody = () => {\n const documentWidth = document.documentElement.clientWidth;\n const windowWidth = window.innerWidth;\n const scrollBarWidth = windowWidth - documentWidth;\n\n document.documentElement.style.setProperty(\n styles.tokens.global.scrollbarWidth,\n `${scrollBarWidth}px`\n );\n };\n\n /**\n * This sets the style of <body> to hide the scrollbar\n */\n const applyBodyStyleClass = (action: \"add\" | \"remove\") => {\n const isOverlayStyleClassApplied = document.body.classList.contains(\n styles.tokens.global.overlayOpenClass\n );\n\n if (action === \"add\" && !isOverlayStyleClassApplied) {\n document.body.classList.add(styles.tokens.global.overlayOpenClass);\n } else if (action === \"remove\" && isOverlayStyleClassApplied) {\n document.body.classList.remove(\n styles.tokens.global.overlayOpenClass\n );\n }\n };\n\n const getOverlayOrder = () => {\n const attr = document.body.dataset.lifesgDsOverlayOrder;\n return attr ? attr.split(\",\") : [];\n };\n\n const addOverlay = () => {\n const order = getOverlayOrder();\n document.body.dataset.lifesgDsOverlayOrder = [...order, uid].join(\",\");\n };\n\n const removeOverlay = () => {\n const order = getOverlayOrder();\n document.body.dataset.lifesgDsOverlayOrder = order\n .filter((o) => o !== uid)\n .join(\",\");\n };\n\n /**\n * This sets the style of <body> to further prevent scrolling on iOS\n *\n * ref: https://stackoverflow.com/a/57455820/3932279\n * `overflow: hidden` and `overscroll-behavior` is ignored by iOS, this is\n * an alternative solution\n *\n * as a side effect this causes the scroll position to reset, so additional\n * logic to restore the scroll on close is required\n */\n const applyScrollLockClassForIOS = (action: \"add\" | \"remove\") => {\n if (!isIOS()) {\n return;\n }\n\n const isClassApplied = document.body.classList.contains(\n styles.tokens.global.overlayScrollLockClass\n );\n\n if (action === \"add\" && !isClassApplied) {\n document.body.classList.add(\n styles.tokens.global.overlayScrollLockClass\n );\n } else if (action === \"remove\" && isClassApplied) {\n document.body.classList.remove(\n styles.tokens.global.overlayScrollLockClass\n );\n }\n };\n\n const saveScrollPosition = () => {\n const bodyStyle = document.body.style;\n const scrollY = bodyStyle.top ? bodyStyle.top : window.scrollY + \"px\";\n\n document.body.style.setProperty(styles.tokens.global.scrollY, scrollY);\n };\n\n const scrollToLastScrollPositionForIOS = () => {\n if (!isIOS()) {\n return;\n }\n\n const scrollY = document.body.style.getPropertyValue(\n styles.tokens.global.scrollY\n );\n requestAnimationFrame(() => {\n window.scrollTo({\n top: parseFloat(scrollY),\n });\n });\n };\n\n // =============================================================================\n // EVENT HANDLERS\n // =============================================================================\n const handleDocumentMouseDown = (e: MouseEvent) => {\n const container = containerRef?.current ?? wrapperRef.current;\n const wrapper = wrapperRef.current;\n if (!container) {\n mouseDownInsideModalRef.current = false;\n return;\n }\n\n const target = e.target as Node;\n const clickedOnWrapper = wrapper === target;\n const clickedOnContainer = container === target;\n const clickedInsideContainer = container.contains(target);\n\n // Track if mousedown started inside modal content\n mouseDownInsideModalRef.current =\n !clickedOnWrapper && (clickedOnContainer || clickedInsideContainer);\n };\n\n const handleWrapperClick = (event: React.MouseEvent<HTMLDivElement>) => {\n const container = containerRef?.current ?? wrapperRef.current;\n const wrapper = wrapperRef.current;\n if (!container) {\n mouseDownInsideModalRef.current = false;\n return;\n }\n\n const target = event.target as Node;\n const clickedOnWrapper = wrapper === target;\n const clickedOnContainer = container === target;\n const clickedInsideContainer = container.contains(target);\n const clickedInsideModal = clickedOnContainer || clickedInsideContainer;\n\n // Only close if both mousedown AND click happened outside modal\n if (\n (clickedOnWrapper || !clickedInsideModal) &&\n !mouseDownInsideModalRef.current &&\n onOverlayClick &&\n enableOverlayClick\n ) {\n event.preventDefault();\n onOverlayClick();\n }\n\n mouseDownInsideModalRef.current = false;\n };\n\n // =============================================================================\n // RENDER\n // =============================================================================\n const renderWrapper = () => (\n <FloatingNode id={nodeId}>\n <div\n ref={wrapperRef}\n data-testid=\"overlay-wrapper\"\n className={clsx(\n styles.wrapper,\n show ? styles.wrapperShow : styles.wrapperHide,\n isStacked && styles.wrapperStacked,\n backgroundBlur && styles.wrapperBackgroundBlur,\n disableTransition && styles.wrapperDisableTransition\n )}\n onClick={handleWrapperClick}\n >\n {children}\n </div>\n </FloatingNode>\n );\n\n const renderComponent = () => (\n <div\n ref={rootRef}\n id={overlayRootId}\n data-testid={overlayRootId}\n className={clsx(styles.root, show && styles.rootShow)}\n {...themeProps}\n style={themeStyle}\n >\n {children && renderWrapper()}\n </div>\n );\n\n return rootElement\n ? ReactDOM.createPortal(renderComponent(), rootElement)\n : null;\n};\n\nexport const Overlay = (props: OverlayProps) => {\n return (\n <FloatingTree>\n <OverlayComponent {...props} />\n </FloatingTree>\n );\n};\n"],"names":["OverlayComponent","show","rootId","onOverlayClick","children","backgroundOpacity","_backgroundOpacity","backgroundBlur","disableTransition","enableOverlayClick","zIndex","customZIndex","id","containerRef","rootElement","setRootElement","useState","isStacked","_setIsStacked","uid","useId","nodeId","useFloatingNodeId","stacked","useRef","mouseDownInsideModalRef","rootRef","wrapperRef","overlayRootId","themeProps","themeStyle","useInheritedThemeScope","useFloatingParent","useApplyStyle","styles.tokens","root","useEffect","initialiseStylesForDocumentBody","getRootElement","removeOverlay","getOverlayOrder","length","isIOS","applyScrollLockClassForIOS","scrollToLastScrollPositionForIOS","applyBodyStyleClass","checkIfStacked","setStacked","addOverlay","saveScrollPosition","timerId","setTimeout","clearTimeout","document","addEventListener","handleDocumentMouseDown","removeEventListener","data","current","test","navigator","userAgent","getElementById","body","documentWidth","documentElement","clientWidth","scrollBarWidth","window","innerWidth","style","setProperty","global","scrollbarWidth","action","isOverlayStyleClassApplied","classList","contains","overlayOpenClass","remove","add","attr","dataset","lifesgDsOverlayOrder","split","order","join","filter","o","isClassApplied","overlayScrollLockClass","bodyStyle","scrollY","top","getPropertyValue","requestAnimationFrame","scrollTo","parseFloat","e","container","_a","wrapper","target","clickedOnWrapper","clickedOnContainer","clickedInsideContainer","handleWrapperClick","event","preventDefault","ReactDOM","createPortal","_jsx","Object","assign","ref","className","clsx","styles.root","styles.rootShow","FloatingNode","styles.wrapper","styles.wrapperShow","styles.wrapperHide","styles.wrapperStacked","styles.wrapperBackgroundBlur","styles.wrapperDisableTransition","onClick","Overlay","props","FloatingTree"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifesg/react-design-system",
|
|
3
|
-
"version": "4.0.0-alpha.
|
|
3
|
+
"version": "4.0.0-alpha.3",
|
|
4
4
|
"description": "A component design system for LifeSG web apps",
|
|
5
5
|
"main": "./cjs/index.js",
|
|
6
6
|
"module": "./index.js",
|
|
@@ -301,12 +301,6 @@
|
|
|
301
301
|
"require": "./cjs/masked-input/index.js",
|
|
302
302
|
"default": "./masked-input/index.js"
|
|
303
303
|
},
|
|
304
|
-
"./masonry": {
|
|
305
|
-
"types": "./masonry/index.d.ts",
|
|
306
|
-
"import": "./masonry/index.js",
|
|
307
|
-
"require": "./cjs/masonry/index.js",
|
|
308
|
-
"default": "./masonry/index.js"
|
|
309
|
-
},
|
|
310
304
|
"./masthead": {
|
|
311
305
|
"types": "./masthead/index.d.ts",
|
|
312
306
|
"import": "./masthead/index.js",
|
|
@@ -385,12 +379,6 @@
|
|
|
385
379
|
"require": "./cjs/popover/index.js",
|
|
386
380
|
"default": "./popover/index.js"
|
|
387
381
|
},
|
|
388
|
-
"./popover-v2": {
|
|
389
|
-
"types": "./popover-v2/index.d.ts",
|
|
390
|
-
"import": "./popover-v2/index.js",
|
|
391
|
-
"require": "./cjs/popover-v2/index.js",
|
|
392
|
-
"default": "./popover-v2/index.js"
|
|
393
|
-
},
|
|
394
382
|
"./predictive-text-input": {
|
|
395
383
|
"types": "./predictive-text-input/index.d.ts",
|
|
396
384
|
"import": "./predictive-text-input/index.js",
|
|
@@ -523,12 +511,6 @@
|
|
|
523
511
|
"require": "./cjs/toggle/index.js",
|
|
524
512
|
"default": "./toggle/index.js"
|
|
525
513
|
},
|
|
526
|
-
"./tooltip": {
|
|
527
|
-
"types": "./tooltip/index.d.ts",
|
|
528
|
-
"import": "./tooltip/index.js",
|
|
529
|
-
"require": "./cjs/tooltip/index.js",
|
|
530
|
-
"default": "./tooltip/index.js"
|
|
531
|
-
},
|
|
532
514
|
"./typography": {
|
|
533
515
|
"types": "./typography/index.d.ts",
|
|
534
516
|
"import": "./typography/index.js",
|
|
@@ -547,54 +529,6 @@
|
|
|
547
529
|
"require": "./cjs/unit-number/index.js",
|
|
548
530
|
"default": "./unit-number/index.js"
|
|
549
531
|
},
|
|
550
|
-
"./v2_color": {
|
|
551
|
-
"types": "./v2_color/index.d.ts",
|
|
552
|
-
"import": "./v2_color/index.js",
|
|
553
|
-
"require": "./cjs/v2_color/index.js",
|
|
554
|
-
"default": "./v2_color/index.js"
|
|
555
|
-
},
|
|
556
|
-
"./v2_design-token": {
|
|
557
|
-
"types": "./v2_design-token/index.d.ts",
|
|
558
|
-
"import": "./v2_design-token/index.js",
|
|
559
|
-
"require": "./cjs/v2_design-token/index.js",
|
|
560
|
-
"default": "./v2_design-token/index.js"
|
|
561
|
-
},
|
|
562
|
-
"./v2_layout": {
|
|
563
|
-
"types": "./v2_layout/index.d.ts",
|
|
564
|
-
"import": "./v2_layout/index.js",
|
|
565
|
-
"require": "./cjs/v2_layout/index.js",
|
|
566
|
-
"default": "./v2_layout/index.js"
|
|
567
|
-
},
|
|
568
|
-
"./v2_media": {
|
|
569
|
-
"types": "./v2_media/index.d.ts",
|
|
570
|
-
"import": "./v2_media/index.js",
|
|
571
|
-
"require": "./cjs/v2_media/index.js",
|
|
572
|
-
"default": "./v2_media/index.js"
|
|
573
|
-
},
|
|
574
|
-
"./v2_text": {
|
|
575
|
-
"types": "./v2_text/index.d.ts",
|
|
576
|
-
"import": "./v2_text/index.js",
|
|
577
|
-
"require": "./cjs/v2_text/index.js",
|
|
578
|
-
"default": "./v2_text/index.js"
|
|
579
|
-
},
|
|
580
|
-
"./v2_text-list": {
|
|
581
|
-
"types": "./v2_text-list/index.d.ts",
|
|
582
|
-
"import": "./v2_text-list/index.js",
|
|
583
|
-
"require": "./cjs/v2_text-list/index.js",
|
|
584
|
-
"default": "./v2_text-list/index.js"
|
|
585
|
-
},
|
|
586
|
-
"./v2_theme": {
|
|
587
|
-
"types": "./v2_theme/index.d.ts",
|
|
588
|
-
"import": "./v2_theme/index.js",
|
|
589
|
-
"require": "./cjs/v2_theme/index.js",
|
|
590
|
-
"default": "./v2_theme/index.js"
|
|
591
|
-
},
|
|
592
|
-
"./v2_transition": {
|
|
593
|
-
"types": "./v2_transition/index.d.ts",
|
|
594
|
-
"import": "./v2_transition/index.js",
|
|
595
|
-
"require": "./cjs/v2_transition/index.js",
|
|
596
|
-
"default": "./v2_transition/index.js"
|
|
597
|
-
},
|
|
598
532
|
"./v3_theme": {
|
|
599
533
|
"types": "./v3_theme/index.d.ts",
|
|
600
534
|
"import": "./v3_theme/index.js",
|
package/pagination/pagination.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as e,jsx as i}from"react/jsx-runtime";import{Chevron2LeftIcon as a}from"@lifesg/react-icons/chevron-2-left";import{Chevron2RightIcon as r}from"@lifesg/react-icons/chevron-2-right";import{ChevronLeftIcon as o}from"@lifesg/react-icons/chevron-left";import{ChevronLineLeftIcon as t}from"@lifesg/react-icons/chevron-line-left";import{ChevronLineRightIcon as s}from"@lifesg/react-icons/chevron-line-right";import{ChevronRightIcon as l}from"@lifesg/react-icons/chevron-right";import{EllipsisHorizontalIcon as n}from"@lifesg/react-icons/ellipsis-horizontal";import c from"clsx";import m,{useState as
|
|
1
|
+
import{jsxs as e,jsx as i}from"react/jsx-runtime";import{Chevron2LeftIcon as a}from"@lifesg/react-icons/chevron-2-left";import{Chevron2RightIcon as r}from"@lifesg/react-icons/chevron-2-right";import{ChevronLeftIcon as o}from"@lifesg/react-icons/chevron-left";import{ChevronLineLeftIcon as t}from"@lifesg/react-icons/chevron-line-left";import{ChevronLineRightIcon as s}from"@lifesg/react-icons/chevron-line-right";import{ChevronRightIcon as l}from"@lifesg/react-icons/chevron-right";import{EllipsisHorizontalIcon as n}from"@lifesg/react-icons/ellipsis-horizontal";import c from"clsx";import m,{useState as d,useEffect as p}from"react";import{Input as h}from"../input/input.js";import{InputSelect as u}from"../input-select/input-select.js";import{VisuallyHidden as g}from"../shared/accessibility/index.js";import{ClickableIcon as f}from"../shared/clickable-icon/clickable-icon.js";import"../theme/theme-provider/index.js";import"../theme/theme-provider/context.js";import"../theme/tokens/border.js";import"../theme/tokens/colour.js";import"../theme/tokens/font.js";import"../theme/tokens/media-query.js";import"../util/calendar-helper.js";import"../external/dayjs/dayjs.min.js";import{useId as v}from"../util/simple-id-generator.js";import"../util/string-helper.js";import"@react-aria/live-announcer";import{useIsMounted as b}from"../util/use-mount.js";import{useMaxWidthMediaQuery as N}from"../theme/utils/use-media-query.js";import{Typography as j}from"../typography/index.js";import{paginationList as x,paginationMenu as y,iconButton as k,iconButtonNavigation as C,inputSelectWrapper as M,paginationWrapper as O,paginationMobileInput as w,inputView as $,labelDivider as P,label as S,pageItem as z,pageItemSelected as B,ellipsisContainer as F,hover as H}from"./pagination.styles.js";const L=m.forwardRef((({id:m,"data-testid":L,className:I,pageSize:q=10,totalItems:A,activePage:D,pageSizeOptions:R=E,showFirstAndLastNav:V,showPageSizeChanger:G=!1,onPageChange:J,onPageSizeChange:K},Q)=>{const T=b(),U=N("sm"),[W,X]=d(!1),[Y,Z]=d(!1),[_,ee]=d(""),[ie,ae]=d(R[0]),[re,oe]=d(!U&&G&&ie?ie.value:q),te=`${v()}-pagination`,se=Math.ceil(A/re),le=1===D,ne=D===se,ce=D>1?()=>ge(1):void 0,me=D<se?()=>ge(se):void 0,de=D>1?()=>ge(D-1):void 0,pe=D<se?()=>ge(parseInt(D.toString())+1):void 0;p((()=>{D&&he(D)}),[D]),p((()=>{oe(q),ae(R.find((e=>e.value===q)))}),[q]);const he=e=>{ee(e.toString())},ue=()=>{X(!1),Z(!1)},ge=e=>{J&&(J(e),he(e))},fe=()=>{const e=Math.min(se,D+5);ge(e),he(e),X(!0),Z(!1)},ve=()=>{const e=Math.max(1,D-5);ge(e),he(e),X(!1),Z(!0)},be=e=>{const i=e.target.value;if(void 0===i||0===i.length)ee("");else if(/^[0-9]+$/.test(i)){const e=parseInt(i.replace(/[^0-9]/g,""));he(Math.max(1,Math.min(se,e)))}else ee(i.replace(/[^0-9]/g,""))},Ne=e=>{e.preventDefault(),_&&(null==J||J(parseInt(_)))},je=()=>{X(!0)},xe=()=>{X(!1)},ye=()=>{Z(!0)},ke=()=>{Z(!1)},Ce=r=>e("div",{className:F,children:[i(f,{className:k,focusHighlight:!1,focusOutline:"browser","aria-label":"Previous 5 pages",onMouseEnter:ye,onMouseLeave:ke,onFocus:ye,onBlur:ke,onClick:ve,children:i(Y?a:n,{"aria-hidden":!0})}),Y&&i("div",{className:H,children:"Previous 5 pages"})]},r),Me=a=>e("div",{className:F,children:[i(f,{className:k,focusHighlight:!1,focusOutline:"browser","aria-label":"Next 5 pages",onMouseEnter:je,onMouseLeave:xe,onFocus:je,onBlur:xe,onClick:fe,children:i(W?r:n,{"aria-hidden":!0})}),W&&i("div",{className:H,children:"Next 5 pages"})]},a);return e("nav",{className:c(O,I),ref:Q,id:m||"pagination-wrapper","data-testid":L||"pagination","aria-labelledby":te,children:[i(g,{id:te,"aria-hidden":!0,children:"pagination"}),i("div",{className:x,children:e("div",{className:y,children:[V&&i(f,{className:c(k,C),onClick:ce,disabled:le,focusHighlight:!1,"aria-label":"First page",focusOutline:"browser",children:i(t,{"aria-hidden":!0})}),i(f,{className:c(k,C),onClick:de,disabled:le,focusHighlight:!1,"aria-label":"Previous page",focusOutline:"browser",children:i(o,{"aria-hidden":!0})}),T&&U?e("div",{className:w,children:[i("form",{onSubmit:Ne,children:i(h,{className:$,value:_,onChange:be,autoComplete:"off",type:"numeric",id:(m||"pagination")+"-input","data-testid":(L||"pagination")+"-input","aria-label":`Page ${D} of ${se}`})}),i(j.BodyBL,{className:P,children:"/"}),i(j.BodyBL,{className:S,children:se})]}):[...Array(se)].map(((e,a)=>{const r=a+1,o=se-5,t=D===r;return se<=7?i("button",{onClick:()=>ge(r),className:c(z,t&&B),"aria-label":`page ${r} of ${se}`,"aria-current":!!t&&"page",onMouseOver:ue,onFocus:ue,children:r},r):D+1>5&&2===r?Ce(r):D-1<=o&&r===se-1-1?Me(r):r<=5&&D+1<=5||r<=1||r===D||r<=D+1&&r>=D-1-1||r>o&&D-1>o||r>se-1?i("button",{onClick:()=>ge(r),className:c(z,t&&B),"aria-label":`page ${r} of ${se}`,"aria-current":!!t&&"page",onMouseOver:ue,onFocus:ue,children:r},r):null})),i(f,{className:c(k,C),onClick:pe,disabled:ne,focusHighlight:!1,"aria-label":"Next page",focusOutline:"browser",children:i(l,{"aria-hidden":!0})}),V&&i(f,{className:c(k,C),onClick:me,disabled:ne,focusHighlight:!1,"aria-label":"Last page",focusOutline:"browser",children:i(s,{"aria-hidden":!0})})]})}),G&&!U&&e("div",{className:M,children:[i(g,{id:`${te}-page-size`,children:"Items per page"}),i(u,{"aria-labelledby":`${te}-page-size`,options:R,valueExtractor:e=>e.value,listExtractor:e=>e.label,displayValueExtractor:e=>e.label,selectedOption:ie,onSelectOption:e=>{ae(e);const i=e.value,a=Math.ceil(A/i);oe(i);K&&K(D>=a?a:D,i)}})]})]})})),E=[{value:10,label:"10 per page"},{value:20,label:"20 per page"},{value:30,label:"30 per page"}];export{L as Pagination};
|
|
2
2
|
//# sourceMappingURL=pagination.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.js","sources":["../../src/pagination/pagination.tsx"],"sourcesContent":["import { Chevron2LeftIcon } from \"@lifesg/react-icons/chevron-2-left\";\nimport { Chevron2RightIcon } from \"@lifesg/react-icons/chevron-2-right\";\nimport { ChevronLeftIcon } from \"@lifesg/react-icons/chevron-left\";\nimport { ChevronLineLeftIcon } from \"@lifesg/react-icons/chevron-line-left\";\nimport { ChevronLineRightIcon } from \"@lifesg/react-icons/chevron-line-right\";\nimport { ChevronRightIcon } from \"@lifesg/react-icons/chevron-right\";\nimport { EllipsisHorizontalIcon } from \"@lifesg/react-icons/ellipsis-horizontal\";\nimport clsx from \"clsx\";\nimport React, { useEffect, useState } from \"react\";\n\nimport { Input } from \"../input\";\nimport { InputSelect } from \"../input-select\";\nimport { VisuallyHidden } from \"../shared/accessibility\";\nimport { ClickableIcon } from \"../shared/clickable-icon\";\nimport {\n Breakpoint,\n useDesignToken,\n useSafeMaxWidthMediaQuery,\n} from \"../theme\";\nimport { Typography } from \"../typography\";\nimport { useId, useIsMounted } from \"../util\";\nimport * as styles from \"./pagination.styles\";\nimport type { PageSizeItemProps, PaginationProps } from \"./types\";\n\nconst Component = (\n {\n id,\n \"data-testid\": dataTestId,\n className,\n pageSize = 10,\n totalItems,\n activePage,\n pageSizeOptions = DEFAULT_OPTIONS,\n showFirstAndLastNav,\n showPageSizeChanger = false,\n onPageChange,\n onPageSizeChange,\n }: PaginationProps,\n ref: React.Ref<HTMLDivElement>\n) => {\n // =============================================================================\n // CONST, STATE, REF\n // =============================================================================\n\n const isMounted = useIsMounted();\n const mobileBreakpoint = useDesignToken(Breakpoint[\"sm-max\"]);\n const isMobile = useSafeMaxWidthMediaQuery(mobileBreakpoint);\n const [hoverRightButton, setHoverRightButton] = useState(false);\n const [hoverLeftButton, setHoverLeftButton] = useState(false);\n const [inputText, setInputText] = useState<string>(\"\");\n\n const [selectedOption, setSelectedOption] = useState<\n PageSizeItemProps | undefined\n >(pageSizeOptions[0]);\n const [pageSizeLocal, setPageSize] = useState<number>(\n !isMobile && showPageSizeChanger\n ? selectedOption\n ? selectedOption.value\n : pageSize\n : pageSize\n );\n\n const boundaryRange = 1;\n const siblingRange = 1;\n\n const internalId = useId();\n const paginationId = `${internalId}-pagination`;\n\n const totalPages = Math.ceil(totalItems / pageSizeLocal);\n const isFirstPage = activePage === 1;\n const isLastPage = activePage === totalPages;\n\n const firstPaginationItem =\n activePage > 1 ? () => handlePaginationItemClick(1) : undefined;\n const lastPaginationItem =\n activePage < totalPages\n ? () => handlePaginationItemClick(totalPages)\n : undefined;\n const prevPaginationItem =\n activePage > 1\n ? () => handlePaginationItemClick(activePage - 1)\n : undefined;\n const nextPaginationItem =\n activePage < totalPages\n ? () =>\n handlePaginationItemClick(parseInt(activePage.toString()) + 1)\n : undefined;\n\n // =============================================================================\n // EFFECTS\n // =============================================================================\n useEffect(() => {\n if (activePage) {\n setInputValue(activePage);\n }\n }, [activePage]);\n\n useEffect(() => {\n setPageSize(pageSize);\n setSelectedOption(\n pageSizeOptions.find((option) => option.value === pageSize)\n );\n }, [pageSize]);\n\n // =============================================================================\n // HELPER FUNCTIONS\n // =============================================================================\n const setInputValue = (value: number) => {\n setInputText(value.toString());\n };\n\n const closeAllTooltips = () => {\n setHoverRightButton(false);\n setHoverLeftButton(false);\n };\n\n // =============================================================================\n // EVENT HANDLERS\n // =============================================================================\n const handlePaginationItemClick = (pageIndex: number) => {\n if (onPageChange) {\n onPageChange(pageIndex);\n setInputValue(pageIndex);\n }\n };\n\n const handleFastForwardClick = () => {\n const currentIndex = Math.min(totalPages, activePage + 5);\n handlePaginationItemClick(currentIndex);\n setInputValue(currentIndex);\n setHoverRightButton(true);\n setHoverLeftButton(false);\n };\n\n const handleFastBackwardClick = () => {\n const currentIndex = Math.max(1, activePage - 5);\n handlePaginationItemClick(currentIndex);\n setInputValue(currentIndex);\n setHoverRightButton(false);\n setHoverLeftButton(true);\n };\n\n const handleInput = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n const numericRegex = /^[0-9]+$/;\n if (value === undefined || value.length === 0) {\n setInputText(\"\");\n } else if (!numericRegex.test(value)) {\n setInputText(value.replace(/[^0-9]/g, \"\"));\n } else {\n const newPage = parseInt(value.replace(/[^0-9]/g, \"\"));\n setInputValue(Math.max(1, Math.min(totalPages, newPage)));\n }\n };\n\n const handleInputSubmit = (event: React.FormEvent) => {\n event.preventDefault();\n if (inputText) {\n onPageChange?.(parseInt(inputText));\n }\n };\n\n const onHoverRightButton = () => {\n setHoverRightButton(true);\n };\n\n const onBlurRightButton = () => {\n setHoverRightButton(false);\n };\n\n const onHoverLeftButton = () => {\n setHoverLeftButton(true);\n };\n\n const onBlurLeftButton = () => {\n setHoverLeftButton(false);\n };\n\n const handleListItemClick = (item: PageSizeItemProps) => {\n setSelectedOption(item);\n const pagesize = item.value;\n const totalPage = Math.ceil(totalItems / pagesize);\n\n setPageSize(pagesize);\n\n const page = activePage >= totalPage ? totalPage : activePage;\n\n if (onPageSizeChange) {\n onPageSizeChange(page, pagesize);\n }\n };\n\n // =============================================================================\n // RENDER FUNCTIONS\n // =============================================================================\n const renderPaginationItems = () => {\n return [...Array(totalPages)].map((e, i) => {\n const pageIndex = i + 1;\n const startRange = boundaryRange + 2 + siblingRange * 2;\n const endRange = totalPages - startRange;\n const totalRange = (boundaryRange + siblingRange) * 2 + 3;\n const active = activePage === pageIndex;\n if (totalPages <= totalRange) {\n return (\n <button\n key={pageIndex}\n onClick={() => handlePaginationItemClick(pageIndex)}\n className={clsx(\n styles.pageItem,\n active && styles.pageItemSelected\n )}\n aria-label={`page ${pageIndex} of ${totalPages}`}\n aria-current={active ? \"page\" : false}\n onMouseOver={closeAllTooltips}\n onFocus={closeAllTooltips}\n >\n {pageIndex}\n </button>\n );\n }\n\n const ellipsisStart =\n activePage + siblingRange > startRange &&\n pageIndex === boundaryRange + 1;\n if (ellipsisStart) {\n return renderStartEllipsis(pageIndex);\n }\n\n const ellipsisEnd =\n activePage - siblingRange <= endRange &&\n pageIndex === totalPages - boundaryRange - 1;\n if (ellipsisEnd) {\n return renderEndEllipsis(pageIndex);\n }\n\n const paginationStart =\n (pageIndex <= startRange &&\n activePage + siblingRange <= startRange) ||\n pageIndex <= boundaryRange;\n const paginationMiddle =\n pageIndex === activePage ||\n (pageIndex <= activePage + siblingRange &&\n pageIndex >= activePage - siblingRange - 1);\n const paginationEnd =\n (pageIndex > endRange &&\n activePage - siblingRange > endRange) ||\n pageIndex > totalPages - boundaryRange;\n if (paginationStart || paginationMiddle || paginationEnd) {\n return (\n <button\n key={pageIndex}\n onClick={() => handlePaginationItemClick(pageIndex)}\n className={clsx(\n styles.pageItem,\n active && styles.pageItemSelected\n )}\n aria-label={`page ${pageIndex} of ${totalPages}`}\n aria-current={active ? \"page\" : false}\n onMouseOver={closeAllTooltips}\n onFocus={closeAllTooltips}\n >\n {pageIndex}\n </button>\n );\n }\n\n return null;\n });\n };\n\n const renderStartEllipsis = (pageIndex: number) => (\n <div key={pageIndex} className={styles.ellipsisContainer}>\n <ClickableIcon\n className={styles.iconButton}\n focusHighlight={false}\n focusOutline=\"browser\"\n aria-label={\"Previous 5 pages\"}\n onMouseEnter={onHoverLeftButton}\n onMouseLeave={onBlurLeftButton}\n onFocus={onHoverLeftButton}\n onBlur={onBlurLeftButton}\n onClick={handleFastBackwardClick}\n >\n {hoverLeftButton ? (\n <Chevron2LeftIcon aria-hidden />\n ) : (\n <EllipsisHorizontalIcon aria-hidden />\n )}\n </ClickableIcon>\n {hoverLeftButton && (\n <div className={styles.hover}>Previous 5 pages</div>\n )}\n </div>\n );\n\n const renderEndEllipsis = (pageIndex: number) => (\n <div key={pageIndex} className={styles.ellipsisContainer}>\n <ClickableIcon\n className={styles.iconButton}\n focusHighlight={false}\n focusOutline=\"browser\"\n aria-label={\"Next 5 pages\"}\n onMouseEnter={onHoverRightButton}\n onMouseLeave={onBlurRightButton}\n onFocus={onHoverRightButton}\n onBlur={onBlurRightButton}\n onClick={handleFastForwardClick}\n >\n {hoverRightButton ? (\n <Chevron2RightIcon aria-hidden />\n ) : (\n <EllipsisHorizontalIcon aria-hidden />\n )}\n </ClickableIcon>\n {hoverRightButton && (\n <div className={styles.hover}>Next 5 pages</div>\n )}\n </div>\n );\n\n const renderMobile = () => (\n <div className={styles.paginationMobileInput}>\n <form onSubmit={handleInputSubmit}>\n <Input\n className={styles.inputView}\n value={inputText}\n onChange={handleInput}\n autoComplete=\"off\"\n type=\"numeric\"\n id={(id || \"pagination\") + \"-input\"}\n data-testid={(dataTestId || \"pagination\") + \"-input\"}\n aria-label={`Page ${activePage} of ${totalPages}`}\n />\n </form>\n <Typography.BodyBL className={styles.labelDivider}>\n /\n </Typography.BodyBL>\n <Typography.BodyBL className={styles.label}>\n {totalPages}\n </Typography.BodyBL>\n </div>\n );\n\n return (\n <nav\n className={clsx(styles.paginationWrapper, className)}\n ref={ref}\n id={id || \"pagination-wrapper\"}\n data-testid={dataTestId || \"pagination\"}\n aria-labelledby={paginationId}\n >\n <VisuallyHidden id={paginationId} aria-hidden>\n pagination\n </VisuallyHidden>\n <div className={styles.paginationList}>\n <div className={styles.paginationMenu}>\n {showFirstAndLastNav && (\n <ClickableIcon\n className={clsx(\n styles.iconButton,\n styles.iconButtonNavigation\n )}\n onClick={firstPaginationItem}\n disabled={isFirstPage}\n focusHighlight={false}\n aria-label=\"First page\"\n focusOutline=\"browser\"\n >\n <ChevronLineLeftIcon aria-hidden />\n </ClickableIcon>\n )}\n <ClickableIcon\n className={clsx(\n styles.iconButton,\n styles.iconButtonNavigation\n )}\n onClick={prevPaginationItem}\n disabled={isFirstPage}\n focusHighlight={false}\n aria-label=\"Previous page\"\n focusOutline=\"browser\"\n >\n <ChevronLeftIcon aria-hidden />\n </ClickableIcon>\n {isMounted && isMobile\n ? renderMobile()\n : renderPaginationItems()}\n <ClickableIcon\n className={clsx(\n styles.iconButton,\n styles.iconButtonNavigation\n )}\n onClick={nextPaginationItem}\n disabled={isLastPage}\n focusHighlight={false}\n aria-label=\"Next page\"\n focusOutline=\"browser\"\n >\n <ChevronRightIcon aria-hidden />\n </ClickableIcon>\n {showFirstAndLastNav && (\n <ClickableIcon\n className={clsx(\n styles.iconButton,\n styles.iconButtonNavigation\n )}\n onClick={lastPaginationItem}\n disabled={isLastPage}\n focusHighlight={false}\n aria-label=\"Last page\"\n focusOutline=\"browser\"\n >\n <ChevronLineRightIcon aria-hidden />\n </ClickableIcon>\n )}\n </div>\n </div>\n {showPageSizeChanger && !isMobile && (\n <div className={styles.inputSelectWrapper}>\n <VisuallyHidden id={`${paginationId}-page-size`}>\n Items per page\n </VisuallyHidden>\n <InputSelect\n aria-labelledby={`${paginationId}-page-size`}\n options={pageSizeOptions}\n valueExtractor={(item) => item.value}\n listExtractor={(item) => item.label}\n displayValueExtractor={(item) => item.label}\n selectedOption={selectedOption}\n onSelectOption={handleListItemClick}\n />\n </div>\n )}\n </nav>\n );\n};\nexport const Pagination = React.forwardRef(Component);\n\nconst DEFAULT_OPTIONS: PageSizeItemProps[] = [\n { value: 10, label: \"10 per page\" },\n { value: 20, label: \"20 per page\" },\n { value: 30, label: \"30 per page\" },\n];\n"],"names":["Pagination","React","forwardRef","id","dataTestId","className","pageSize","totalItems","activePage","pageSizeOptions","DEFAULT_OPTIONS","showFirstAndLastNav","showPageSizeChanger","onPageChange","onPageSizeChange","ref","isMounted","useIsMounted","mobileBreakpoint","useDesignToken","Breakpoint","isMobile","useSafeMaxWidthMediaQuery","hoverRightButton","setHoverRightButton","useState","hoverLeftButton","setHoverLeftButton","inputText","setInputText","selectedOption","setSelectedOption","pageSizeLocal","setPageSize","value","paginationId","useId","totalPages","Math","ceil","isFirstPage","isLastPage","firstPaginationItem","handlePaginationItemClick","undefined","lastPaginationItem","prevPaginationItem","nextPaginationItem","parseInt","toString","useEffect","setInputValue","find","option","closeAllTooltips","pageIndex","handleFastForwardClick","currentIndex","min","handleFastBackwardClick","max","handleInput","event","target","length","test","newPage","replace","handleInputSubmit","preventDefault","onHoverRightButton","onBlurRightButton","onHoverLeftButton","onBlurLeftButton","renderStartEllipsis","_jsxs","styles.ellipsisContainer","children","_jsx","ClickableIcon","styles.iconButton","focusHighlight","focusOutline","onMouseEnter","onMouseLeave","onFocus","onBlur","onClick","Chevron2LeftIcon","EllipsisHorizontalIcon","styles.hover","renderEndEllipsis","Chevron2RightIcon","clsx","styles.paginationWrapper","VisuallyHidden","styles.paginationList","styles.paginationMenu","styles.iconButtonNavigation","disabled","ChevronLineLeftIcon","ChevronLeftIcon","styles.paginationMobileInput","onSubmit","Input","styles.inputView","onChange","autoComplete","type","Typography","BodyBL","styles.labelDivider","styles.label","Array","map","e","i","endRange","boundaryRange","active","styles.pageItem","styles.pageItemSelected","onMouseOver","ChevronRightIcon","ChevronLineRightIcon","styles.inputSelectWrapper","InputSelect","options","valueExtractor","item","listExtractor","label","displayValueExtractor","onSelectOption","pagesize","totalPage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pagination.js","sources":["../../src/pagination/pagination.tsx"],"sourcesContent":["import { Chevron2LeftIcon } from \"@lifesg/react-icons/chevron-2-left\";\nimport { Chevron2RightIcon } from \"@lifesg/react-icons/chevron-2-right\";\nimport { ChevronLeftIcon } from \"@lifesg/react-icons/chevron-left\";\nimport { ChevronLineLeftIcon } from \"@lifesg/react-icons/chevron-line-left\";\nimport { ChevronLineRightIcon } from \"@lifesg/react-icons/chevron-line-right\";\nimport { ChevronRightIcon } from \"@lifesg/react-icons/chevron-right\";\nimport { EllipsisHorizontalIcon } from \"@lifesg/react-icons/ellipsis-horizontal\";\nimport clsx from \"clsx\";\nimport React, { useEffect, useState } from \"react\";\n\nimport { Input } from \"../input\";\nimport { InputSelect } from \"../input-select\";\nimport { VisuallyHidden } from \"../shared/accessibility\";\nimport { ClickableIcon } from \"../shared/clickable-icon\";\nimport { useMaxWidthMediaQuery } from \"../theme\";\nimport { Typography } from \"../typography\";\nimport { useId, useIsMounted } from \"../util\";\nimport * as styles from \"./pagination.styles\";\nimport type { PageSizeItemProps, PaginationProps } from \"./types\";\n\nconst Component = (\n {\n id,\n \"data-testid\": dataTestId,\n className,\n pageSize = 10,\n totalItems,\n activePage,\n pageSizeOptions = DEFAULT_OPTIONS,\n showFirstAndLastNav,\n showPageSizeChanger = false,\n onPageChange,\n onPageSizeChange,\n }: PaginationProps,\n ref: React.Ref<HTMLDivElement>\n) => {\n // =============================================================================\n // CONST, STATE, REF\n // =============================================================================\n\n const isMounted = useIsMounted();\n const isMobile = useMaxWidthMediaQuery(\"sm\");\n const [hoverRightButton, setHoverRightButton] = useState(false);\n const [hoverLeftButton, setHoverLeftButton] = useState(false);\n const [inputText, setInputText] = useState<string>(\"\");\n\n const [selectedOption, setSelectedOption] = useState<\n PageSizeItemProps | undefined\n >(pageSizeOptions[0]);\n const [pageSizeLocal, setPageSize] = useState<number>(\n !isMobile && showPageSizeChanger\n ? selectedOption\n ? selectedOption.value\n : pageSize\n : pageSize\n );\n\n const boundaryRange = 1;\n const siblingRange = 1;\n\n const internalId = useId();\n const paginationId = `${internalId}-pagination`;\n\n const totalPages = Math.ceil(totalItems / pageSizeLocal);\n const isFirstPage = activePage === 1;\n const isLastPage = activePage === totalPages;\n\n const firstPaginationItem =\n activePage > 1 ? () => handlePaginationItemClick(1) : undefined;\n const lastPaginationItem =\n activePage < totalPages\n ? () => handlePaginationItemClick(totalPages)\n : undefined;\n const prevPaginationItem =\n activePage > 1\n ? () => handlePaginationItemClick(activePage - 1)\n : undefined;\n const nextPaginationItem =\n activePage < totalPages\n ? () =>\n handlePaginationItemClick(parseInt(activePage.toString()) + 1)\n : undefined;\n\n // =============================================================================\n // EFFECTS\n // =============================================================================\n useEffect(() => {\n if (activePage) {\n setInputValue(activePage);\n }\n }, [activePage]);\n\n useEffect(() => {\n setPageSize(pageSize);\n setSelectedOption(\n pageSizeOptions.find((option) => option.value === pageSize)\n );\n }, [pageSize]);\n\n // =============================================================================\n // HELPER FUNCTIONS\n // =============================================================================\n const setInputValue = (value: number) => {\n setInputText(value.toString());\n };\n\n const closeAllTooltips = () => {\n setHoverRightButton(false);\n setHoverLeftButton(false);\n };\n\n // =============================================================================\n // EVENT HANDLERS\n // =============================================================================\n const handlePaginationItemClick = (pageIndex: number) => {\n if (onPageChange) {\n onPageChange(pageIndex);\n setInputValue(pageIndex);\n }\n };\n\n const handleFastForwardClick = () => {\n const currentIndex = Math.min(totalPages, activePage + 5);\n handlePaginationItemClick(currentIndex);\n setInputValue(currentIndex);\n setHoverRightButton(true);\n setHoverLeftButton(false);\n };\n\n const handleFastBackwardClick = () => {\n const currentIndex = Math.max(1, activePage - 5);\n handlePaginationItemClick(currentIndex);\n setInputValue(currentIndex);\n setHoverRightButton(false);\n setHoverLeftButton(true);\n };\n\n const handleInput = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n const numericRegex = /^[0-9]+$/;\n if (value === undefined || value.length === 0) {\n setInputText(\"\");\n } else if (!numericRegex.test(value)) {\n setInputText(value.replace(/[^0-9]/g, \"\"));\n } else {\n const newPage = parseInt(value.replace(/[^0-9]/g, \"\"));\n setInputValue(Math.max(1, Math.min(totalPages, newPage)));\n }\n };\n\n const handleInputSubmit = (event: React.FormEvent) => {\n event.preventDefault();\n if (inputText) {\n onPageChange?.(parseInt(inputText));\n }\n };\n\n const onHoverRightButton = () => {\n setHoverRightButton(true);\n };\n\n const onBlurRightButton = () => {\n setHoverRightButton(false);\n };\n\n const onHoverLeftButton = () => {\n setHoverLeftButton(true);\n };\n\n const onBlurLeftButton = () => {\n setHoverLeftButton(false);\n };\n\n const handleListItemClick = (item: PageSizeItemProps) => {\n setSelectedOption(item);\n const pagesize = item.value;\n const totalPage = Math.ceil(totalItems / pagesize);\n\n setPageSize(pagesize);\n\n const page = activePage >= totalPage ? totalPage : activePage;\n\n if (onPageSizeChange) {\n onPageSizeChange(page, pagesize);\n }\n };\n\n // =============================================================================\n // RENDER FUNCTIONS\n // =============================================================================\n const renderPaginationItems = () => {\n return [...Array(totalPages)].map((e, i) => {\n const pageIndex = i + 1;\n const startRange = boundaryRange + 2 + siblingRange * 2;\n const endRange = totalPages - startRange;\n const totalRange = (boundaryRange + siblingRange) * 2 + 3;\n const active = activePage === pageIndex;\n if (totalPages <= totalRange) {\n return (\n <button\n key={pageIndex}\n onClick={() => handlePaginationItemClick(pageIndex)}\n className={clsx(\n styles.pageItem,\n active && styles.pageItemSelected\n )}\n aria-label={`page ${pageIndex} of ${totalPages}`}\n aria-current={active ? \"page\" : false}\n onMouseOver={closeAllTooltips}\n onFocus={closeAllTooltips}\n >\n {pageIndex}\n </button>\n );\n }\n\n const ellipsisStart =\n activePage + siblingRange > startRange &&\n pageIndex === boundaryRange + 1;\n if (ellipsisStart) {\n return renderStartEllipsis(pageIndex);\n }\n\n const ellipsisEnd =\n activePage - siblingRange <= endRange &&\n pageIndex === totalPages - boundaryRange - 1;\n if (ellipsisEnd) {\n return renderEndEllipsis(pageIndex);\n }\n\n const paginationStart =\n (pageIndex <= startRange &&\n activePage + siblingRange <= startRange) ||\n pageIndex <= boundaryRange;\n const paginationMiddle =\n pageIndex === activePage ||\n (pageIndex <= activePage + siblingRange &&\n pageIndex >= activePage - siblingRange - 1);\n const paginationEnd =\n (pageIndex > endRange &&\n activePage - siblingRange > endRange) ||\n pageIndex > totalPages - boundaryRange;\n if (paginationStart || paginationMiddle || paginationEnd) {\n return (\n <button\n key={pageIndex}\n onClick={() => handlePaginationItemClick(pageIndex)}\n className={clsx(\n styles.pageItem,\n active && styles.pageItemSelected\n )}\n aria-label={`page ${pageIndex} of ${totalPages}`}\n aria-current={active ? \"page\" : false}\n onMouseOver={closeAllTooltips}\n onFocus={closeAllTooltips}\n >\n {pageIndex}\n </button>\n );\n }\n\n return null;\n });\n };\n\n const renderStartEllipsis = (pageIndex: number) => (\n <div key={pageIndex} className={styles.ellipsisContainer}>\n <ClickableIcon\n className={styles.iconButton}\n focusHighlight={false}\n focusOutline=\"browser\"\n aria-label={\"Previous 5 pages\"}\n onMouseEnter={onHoverLeftButton}\n onMouseLeave={onBlurLeftButton}\n onFocus={onHoverLeftButton}\n onBlur={onBlurLeftButton}\n onClick={handleFastBackwardClick}\n >\n {hoverLeftButton ? (\n <Chevron2LeftIcon aria-hidden />\n ) : (\n <EllipsisHorizontalIcon aria-hidden />\n )}\n </ClickableIcon>\n {hoverLeftButton && (\n <div className={styles.hover}>Previous 5 pages</div>\n )}\n </div>\n );\n\n const renderEndEllipsis = (pageIndex: number) => (\n <div key={pageIndex} className={styles.ellipsisContainer}>\n <ClickableIcon\n className={styles.iconButton}\n focusHighlight={false}\n focusOutline=\"browser\"\n aria-label={\"Next 5 pages\"}\n onMouseEnter={onHoverRightButton}\n onMouseLeave={onBlurRightButton}\n onFocus={onHoverRightButton}\n onBlur={onBlurRightButton}\n onClick={handleFastForwardClick}\n >\n {hoverRightButton ? (\n <Chevron2RightIcon aria-hidden />\n ) : (\n <EllipsisHorizontalIcon aria-hidden />\n )}\n </ClickableIcon>\n {hoverRightButton && (\n <div className={styles.hover}>Next 5 pages</div>\n )}\n </div>\n );\n\n const renderMobile = () => (\n <div className={styles.paginationMobileInput}>\n <form onSubmit={handleInputSubmit}>\n <Input\n className={styles.inputView}\n value={inputText}\n onChange={handleInput}\n autoComplete=\"off\"\n type=\"numeric\"\n id={(id || \"pagination\") + \"-input\"}\n data-testid={(dataTestId || \"pagination\") + \"-input\"}\n aria-label={`Page ${activePage} of ${totalPages}`}\n />\n </form>\n <Typography.BodyBL className={styles.labelDivider}>\n /\n </Typography.BodyBL>\n <Typography.BodyBL className={styles.label}>\n {totalPages}\n </Typography.BodyBL>\n </div>\n );\n\n return (\n <nav\n className={clsx(styles.paginationWrapper, className)}\n ref={ref}\n id={id || \"pagination-wrapper\"}\n data-testid={dataTestId || \"pagination\"}\n aria-labelledby={paginationId}\n >\n <VisuallyHidden id={paginationId} aria-hidden>\n pagination\n </VisuallyHidden>\n <div className={styles.paginationList}>\n <div className={styles.paginationMenu}>\n {showFirstAndLastNav && (\n <ClickableIcon\n className={clsx(\n styles.iconButton,\n styles.iconButtonNavigation\n )}\n onClick={firstPaginationItem}\n disabled={isFirstPage}\n focusHighlight={false}\n aria-label=\"First page\"\n focusOutline=\"browser\"\n >\n <ChevronLineLeftIcon aria-hidden />\n </ClickableIcon>\n )}\n <ClickableIcon\n className={clsx(\n styles.iconButton,\n styles.iconButtonNavigation\n )}\n onClick={prevPaginationItem}\n disabled={isFirstPage}\n focusHighlight={false}\n aria-label=\"Previous page\"\n focusOutline=\"browser\"\n >\n <ChevronLeftIcon aria-hidden />\n </ClickableIcon>\n {isMounted && isMobile\n ? renderMobile()\n : renderPaginationItems()}\n <ClickableIcon\n className={clsx(\n styles.iconButton,\n styles.iconButtonNavigation\n )}\n onClick={nextPaginationItem}\n disabled={isLastPage}\n focusHighlight={false}\n aria-label=\"Next page\"\n focusOutline=\"browser\"\n >\n <ChevronRightIcon aria-hidden />\n </ClickableIcon>\n {showFirstAndLastNav && (\n <ClickableIcon\n className={clsx(\n styles.iconButton,\n styles.iconButtonNavigation\n )}\n onClick={lastPaginationItem}\n disabled={isLastPage}\n focusHighlight={false}\n aria-label=\"Last page\"\n focusOutline=\"browser\"\n >\n <ChevronLineRightIcon aria-hidden />\n </ClickableIcon>\n )}\n </div>\n </div>\n {showPageSizeChanger && !isMobile && (\n <div className={styles.inputSelectWrapper}>\n <VisuallyHidden id={`${paginationId}-page-size`}>\n Items per page\n </VisuallyHidden>\n <InputSelect\n aria-labelledby={`${paginationId}-page-size`}\n options={pageSizeOptions}\n valueExtractor={(item) => item.value}\n listExtractor={(item) => item.label}\n displayValueExtractor={(item) => item.label}\n selectedOption={selectedOption}\n onSelectOption={handleListItemClick}\n />\n </div>\n )}\n </nav>\n );\n};\nexport const Pagination = React.forwardRef(Component);\n\nconst DEFAULT_OPTIONS: PageSizeItemProps[] = [\n { value: 10, label: \"10 per page\" },\n { value: 20, label: \"20 per page\" },\n { value: 30, label: \"30 per page\" },\n];\n"],"names":["Pagination","React","forwardRef","id","dataTestId","className","pageSize","totalItems","activePage","pageSizeOptions","DEFAULT_OPTIONS","showFirstAndLastNav","showPageSizeChanger","onPageChange","onPageSizeChange","ref","isMounted","useIsMounted","isMobile","useMaxWidthMediaQuery","hoverRightButton","setHoverRightButton","useState","hoverLeftButton","setHoverLeftButton","inputText","setInputText","selectedOption","setSelectedOption","pageSizeLocal","setPageSize","value","paginationId","useId","totalPages","Math","ceil","isFirstPage","isLastPage","firstPaginationItem","handlePaginationItemClick","undefined","lastPaginationItem","prevPaginationItem","nextPaginationItem","parseInt","toString","useEffect","setInputValue","find","option","closeAllTooltips","pageIndex","handleFastForwardClick","currentIndex","min","handleFastBackwardClick","max","handleInput","event","target","length","test","newPage","replace","handleInputSubmit","preventDefault","onHoverRightButton","onBlurRightButton","onHoverLeftButton","onBlurLeftButton","renderStartEllipsis","_jsxs","styles.ellipsisContainer","children","_jsx","ClickableIcon","styles.iconButton","focusHighlight","focusOutline","onMouseEnter","onMouseLeave","onFocus","onBlur","onClick","Chevron2LeftIcon","EllipsisHorizontalIcon","styles.hover","renderEndEllipsis","Chevron2RightIcon","clsx","styles.paginationWrapper","VisuallyHidden","styles.paginationList","styles.paginationMenu","styles.iconButtonNavigation","disabled","ChevronLineLeftIcon","ChevronLeftIcon","styles.paginationMobileInput","onSubmit","Input","styles.inputView","onChange","autoComplete","type","Typography","BodyBL","styles.labelDivider","styles.label","Array","map","e","i","endRange","boundaryRange","active","styles.pageItem","styles.pageItemSelected","onMouseOver","ChevronRightIcon","ChevronLineRightIcon","styles.inputSelectWrapper","InputSelect","options","valueExtractor","item","listExtractor","label","displayValueExtractor","onSelectOption","pagesize","totalPage"],"mappings":"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"}
|
package/popover/index.d.ts
CHANGED
package/popover/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{Popover}from"./popover.js";export{
|
|
1
|
+
export{Popover}from"./popover.js";export{PopoverInline}from"./popover-inline/popover-inline.js";export{PopoverTrigger}from"./popover-trigger.js";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"popover-inline.js","sources":["../../../src/popover/popover-inline/popover-inline.tsx"],"sourcesContent":["import clsx from \"clsx\";\n\nimport { PopoverTrigger } from \"../popover-trigger\";\nimport type { PopoverInlineProps } from \"../types\";\nimport * as styles from \"./popover-inline.styles\";\n\nexport const PopoverInline = ({\n ariaLabel,\n content,\n icon,\n underlineStyle = \"default\",\n underlineHoverStyle = \"default\",\n ...otherProps\n}: PopoverInlineProps) => {\n // =========================================================================\n // RENDER FUNCTIONS\n // =========================================================================\n const hasContent = !!content;\n\n return (\n <PopoverTrigger {...otherProps}>\n <span\n aria-label={ariaLabel ?? (hasContent ? undefined : \"More info\")}\n role=\"button\"\n aria-haspopup=\"dialog\"\n tabIndex={0}\n className={styles.popoverInlineText}\n data-underline-style={underlineStyle}\n data-underline-hover-style={underlineHoverStyle}\n >\n {content}\n {icon && (\n <span\n className={clsx(\n hasContent && styles.popoverInlineIconWithContent\n )}\n >\n {icon}\n </span>\n )}\n </span>\n </PopoverTrigger>\n );\n};\n"],"names":["PopoverInline","_a","ariaLabel","content","icon","underlineStyle","underlineHoverStyle","otherProps","__rest","hasContent","_jsx","PopoverTrigger","Object","assign","children","_jsxs","undefined","role","tabIndex","className","styles.popoverInlineText","clsx","styles.popoverInlineIconWithContent"],"mappings":"gRAMO,MAAMA,EAAiBC,IAAA,IAAAC,UAC1BA,EAASC,QACTA,EAAOC,KACPA,EAAIC,eACJA,EAAiB,UAASC,oBAC1BA,EAAsB,WAASL,EAC5BM,EAAUC,EAAAP,EANa,uEAW1B,MAAMQ,IAAeN,EAErB,OACIO,EAACC,EAAcC,OAAAC,OAAA,CAAA,EAAKN,EAAU,CAAAO,SAC1BC,EAAA,OAAA,CAAA,aACgBb,QAAAA,EAAcO,OAAaO,EAAY,YACnDC,KAAK,SAAQ,gBACC,SACdC,SAAU,EACVC,UAAWC,yBACWf,EAAc,6BACRC,EAAmBQ,SAAA,CAE9CX,EACAC,GACGM,EAAA,OAAA,CACIS,UAAWE,EACPZ,GAAca,GACjBR,SAEAV,SAIA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"popover-inline.styles.js","sources":["../../../src/popover/popover-inline/popover-inline.styles.ts"],"sourcesContent":["import { css } from \"@linaria/core\";\n\nimport { Colour } from \"../../theme\";\n\nexport const popoverInlineText = css`\n color: ${Colour[\"text-primary\"]};\n font-weight: 600;\n text-underline-position: under;\n\n &[data-underline-style=\"underline\"] {\n text-decoration: underline 1px;\n }\n\n &[data-underline-style=\"underline-dashed\"] {\n text-decoration: underline dashed 1px;\n }\n\n &:hover,\n &:focus-visible {\n color: ${Colour[\"text-hover\"]};\n }\n\n &[data-underline-hover-style=\"underline\"]:hover,\n &[data-underline-hover-style=\"underline\"]:focus-visible {\n text-decoration: underline 1px;\n }\n\n &[data-underline-hover-style=\"underline-dashed\"]:hover,\n &[data-underline-hover-style=\"underline-dashed\"]:focus-visible {\n text-decoration: underline dashed 1px;\n }\n\n svg {\n height: 1lh; /* align vertically */\n width: 1em; /* scale icon with font size */\n vertical-align: top;\n }\n`;\n\nexport const popoverInlineIconWithContent = css`\n margin-left: 0.25rem;\n`;\n"],"names":["popoverInlineText","popoverInlineIconWithContent"],"mappings":"iFAIO,MAAMA,EAAiB,WAmCjBC,EAA4B"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
.p1h7dfwa{color:var(--fds-colour-text-primary);font-weight:600;text-underline-position:under;}.p1h7dfwa[data-underline-style="underline"]{-webkit-text-decoration:underline 1px;text-decoration:underline 1px;}.p1h7dfwa[data-underline-style="underline-dashed"]{-webkit-text-decoration:underline dashed 1px;text-decoration:underline dashed 1px;}.p1h7dfwa:hover,.p1h7dfwa:focus-visible{color:var(--fds-colour-text-hover);}.p1h7dfwa[data-underline-hover-style="underline"]:hover,.p1h7dfwa[data-underline-hover-style="underline"]:focus-visible{-webkit-text-decoration:underline 1px;text-decoration:underline 1px;}.p1h7dfwa[data-underline-hover-style="underline-dashed"]:hover,.p1h7dfwa[data-underline-hover-style="underline-dashed"]:focus-visible{-webkit-text-decoration:underline dashed 1px;text-decoration:underline dashed 1px;}.p1h7dfwa svg{height:1lh;width:1em;vertical-align:top;}
|
|
2
|
+
.pzf43s3{margin-left:0.25rem;}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const PopoverTrigger: ({ children, popoverContent, trigger: _trigger, position, zIndex, rootNode, customOffset, delay, onPopoverAppear, onPopoverDismiss, popoverAriaLabel, enableFlip, enableResize, overflow, triggerOnFocus, isModal, className, ...otherProps }:
|
|
1
|
+
import type { PopoverTriggerProps } from "./types";
|
|
2
|
+
export declare const PopoverTrigger: ({ children, popoverContent, trigger: _trigger, position, zIndex, rootNode, customOffset, delay, onPopoverAppear, onPopoverDismiss, popoverAriaLabel, enableFlip, enableResize, overflow, triggerOnFocus, isModal, className, ...otherProps }: PopoverTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__rest as e}from"../_virtual/_tslib.js";import{jsxs as o,Fragment as t,jsx as r}from"react/jsx-runtime";import{useFloating as i,autoUpdate as n,offset as l,flip as s,shift as a,limitShift as p,size as m,useClick as c,useDismiss as u,useHover as d,useFocus as f,useInteractions as v,FloatingPortal as g,FloatingFocusManager as h}from"@floating-ui/react";import j from"clsx";import{useState as b,useRef as y}from"react";import{useFloatingChild as x}from"../overlay/use-floating-context.js";import"../theme/theme-provider/index.js";import{useInheritedThemeScope as O}from"../theme/theme-provider/hooks.js";import"../theme/tokens/border.js";import"../theme/tokens/colour.js";import"../theme/tokens/font.js";import"../theme/tokens/media-query.js";import"../util/calendar-helper.js";import"../external/dayjs/dayjs.min.js";import{useId as k}from"../util/simple-id-generator.js";import"../util/string-helper.js";import"@react-aria/live-announcer";import{useMaxWidthMediaQuery as F}from"../theme/utils/use-media-query.js";import{Popover as P}from"./popover.js";import{triggerContainer as w}from"./popover-trigger.styles.js";const M=M=>{var z,A,{children:C,popoverContent:N,trigger:E="click",position:H="top",zIndex:L,rootNode:R,customOffset:D,delay:I,onPopoverAppear:q,onPopoverDismiss:S,popoverAriaLabel:T,enableFlip:_=!0,enableResize:B=!1,overflow:$="auto",triggerOnFocus:G=!1,isModal:J=!0,className:K}=M,Q=e(M,["children","popoverContent","trigger","position","zIndex","rootNode","customOffset","delay","onPopoverAppear","onPopoverDismiss","popoverAriaLabel","enableFlip","enableResize","overflow","triggerOnFocus","isModal","className"]);const[U,V]=b(!1),W=y(null),X=y(null),Y=F("sm"),[Z,ee]=b(0),oe=`${k()}-popover`,{refs:te,floatingStyles:re,context:ie}=i({open:U,placement:H,whileElementsMounted:n,middleware:[l(null!=D?D:16),_&&s(),a({limiter:p()}),B&&m({apply({availableHeight:e}){ee(e)}})],onOpenChange:e=>{V(e),U!==e&&ge(e)}}),ne=x(),{themeProps:le,themeStyle:se}=O(U),ae="hover"===(Y?"click":E),pe=c(ie,{ignoreMouse:ae}),me=u(ie),ce=d(ie,{enabled:ae,delay:{open:null!==(z=null==I?void 0:I.open)&&void 0!==z?z:0,close:null!==(A=null==I?void 0:I.close)&&void 0!==A?A:500}}),ue=f(ie,{enabled:G}),{getReferenceProps:de,getFloatingProps:fe}=v([pe,me,ce,ue]),ve=()=>{V(!1),ge(!1)},ge=e=>{e&&q&&q(),!e&&S&&S()};return o(t,{children:[r("div",Object.assign({ref:e=>{W.current=e,te.setReference(e)}},de({onClick:e=>{e.stopPropagation(),e.preventDefault()}}),Q,{className:j(w,K),children:C})),U&&r(g,{root:R,children:r(h,Object.assign({context:ie},!J&&{initialFocus:-1,returnFocus:!1,modal:!1},{children:r("div",Object.assign({ref:e=>{X.current=e,te.setFloating(e)}},le,{onBlur:e=>{var o;if(J||Y&&"function"!=typeof N)return;const t=null!==(o=e.relatedTarget)&&void 0!==o?o:document.activeElement;t&&(e=>{var o;if(!e)return!1;if(e instanceof HTMLElement&&e.hasAttribute("data-floating-ui-focus-guard"))return!0;const t=W.current,r=null===(o=X.current)||void 0===o?void 0:o.parentElement;return!!t&&t.contains(e)||!!r&&r.contains(e)})(t)||(V(!1),ge(!1))},style:Object.assign(Object.assign(Object.assign({},se),re),{outline:"none",zIndex:null!=L?L:ne})},fe(),{children:"function"==typeof N?N(B?{maxHeight:Z,overflow:$}:{}):r(P,{visible:!0,onMobileClose:ve,maxHeight:B?Z:void 0,overflow:B?$:void 0,ariaLabel:T,id:oe,children:N})}))}))})]})};export{M as PopoverTrigger};
|
|
2
|
+
//# sourceMappingURL=popover-trigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"popover-trigger.js","sources":["../../src/popover/popover-trigger.tsx"],"sourcesContent":["import {\n autoUpdate,\n flip,\n FloatingFocusManager,\n FloatingPortal,\n limitShift,\n offset,\n shift,\n size,\n useClick,\n useDismiss,\n useFloating,\n useFocus,\n useHover,\n useInteractions,\n} from \"@floating-ui/react\";\nimport clsx from \"clsx\";\nimport type React from \"react\";\nimport { useRef, useState } from \"react\";\n\nimport { useFloatingChild } from \"../overlay/use-floating-context\";\nimport { useInheritedThemeScope, useMaxWidthMediaQuery } from \"../theme\";\nimport { useId } from \"../util\";\nimport { Popover } from \"./popover\";\nimport * as styles from \"./popover-trigger.styles\";\nimport type { PopoverTriggerProps, PopoverTriggerType } from \"./types\";\n\nexport const PopoverTrigger = ({\n children,\n popoverContent,\n trigger: _trigger = \"click\",\n position = \"top\",\n zIndex,\n rootNode,\n customOffset,\n delay,\n onPopoverAppear,\n onPopoverDismiss,\n popoverAriaLabel,\n enableFlip = true,\n enableResize = false,\n overflow = \"auto\",\n triggerOnFocus = false,\n isModal = true,\n className,\n ...otherProps\n}: PopoverTriggerProps) => {\n // =========================================================================\n // CONST, STATE, REF\n // =========================================================================\n const [visible, setVisible] = useState<boolean>(false);\n const nodeRef = useRef<HTMLElement | null>(null);\n const popoverRef = useRef<HTMLElement | null>(null);\n const isMobile = useMaxWidthMediaQuery(\"sm\");\n const [availableHeight, setAvailableHeight] = useState(0);\n const internalId = useId();\n const popoverContainerId = `${internalId}-popover`;\n\n const { refs, floatingStyles, context } = useFloating({\n open: visible,\n placement: position,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset(customOffset ?? 16),\n enableFlip && flip(),\n shift({\n limiter: limitShift(),\n }),\n enableResize &&\n size({\n apply({ availableHeight }) {\n setAvailableHeight(availableHeight);\n },\n }),\n ],\n onOpenChange: (isOpen) => {\n setVisible(isOpen);\n\n // this callback is triggering twice on hover, the check here prevents extra calls\n if (visible !== isOpen) {\n handleVisibilityChange(isOpen);\n }\n },\n });\n const parentZIndex = useFloatingChild();\n const { themeProps, themeStyle } = useInheritedThemeScope(visible);\n\n const trigger: PopoverTriggerType = isMobile ? \"click\" : _trigger;\n const isTooltip = trigger === \"hover\";\n\n const click = useClick(context, {\n // allow trigger by Space/Enter, but disable mouse click in hover mode\n ignoreMouse: isTooltip,\n });\n\n const dismiss = useDismiss(context);\n\n const hover = useHover(context, {\n enabled: isTooltip,\n // short window to enter the floating element without it closing\n delay: {\n open: delay?.open ?? 0,\n close: delay?.close ?? 500,\n },\n });\n\n const focus = useFocus(context, {\n enabled: triggerOnFocus,\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n click,\n dismiss,\n hover,\n focus,\n ]);\n\n // =========================================================================\n // HELPER FUNCTIONS\n // =========================================================================\n const isFocusInside = (node: Node | null) => {\n if (!node) return false;\n\n if (\n node instanceof HTMLElement &&\n node.hasAttribute(\"data-floating-ui-focus-guard\")\n ) {\n return true;\n }\n\n const refEl = nodeRef.current;\n const floatingEl = popoverRef.current?.parentElement;\n\n return (\n (!!refEl && refEl.contains(node)) ||\n (!!floatingEl && floatingEl.contains(node))\n );\n };\n\n // =========================================================================\n // EVENT HANDLERS\n // =========================================================================\n const handlePopoverMobileClose = () => {\n setVisible(false);\n handleVisibilityChange(false);\n };\n\n const handleVisibilityChange = (nextVisible: boolean) => {\n if (nextVisible && onPopoverAppear) onPopoverAppear();\n if (!nextVisible && onPopoverDismiss) onPopoverDismiss();\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n // On mobile, ModalV2 handles its own dismiss via onMobileClose\n if (isModal || (isMobile && typeof popoverContent !== \"function\"))\n return;\n\n const next =\n (e.relatedTarget as Node | null) ??\n (document.activeElement as Node | null);\n\n if (next && isFocusInside(next)) return;\n\n setVisible(false);\n handleVisibilityChange(false);\n };\n\n // =========================================================================\n // RENDER FUNCTIONS\n // =========================================================================\n const renderPopover = () => {\n if (typeof popoverContent === \"function\") {\n return popoverContent(\n enableResize ? { maxHeight: availableHeight, overflow } : {}\n );\n }\n\n return (\n <Popover\n visible\n onMobileClose={handlePopoverMobileClose}\n maxHeight={enableResize ? availableHeight : undefined}\n overflow={enableResize ? overflow : undefined}\n ariaLabel={popoverAriaLabel}\n id={popoverContainerId}\n >\n {popoverContent}\n </Popover>\n );\n };\n\n return (\n <>\n <div\n ref={(node) => {\n nodeRef.current = node;\n refs.setReference(node);\n }}\n {...getReferenceProps({\n onClick: (event) => {\n // prevent popover interaction from triggering click events on parents\n event.stopPropagation();\n event.preventDefault();\n },\n })}\n {...otherProps}\n className={clsx(styles.triggerContainer, className)}\n >\n {children}\n </div>\n {visible && (\n <FloatingPortal root={rootNode}>\n <FloatingFocusManager\n context={context}\n {...(!isModal && {\n initialFocus: -1,\n returnFocus: false,\n modal: false,\n })}\n >\n <div\n ref={(node) => {\n popoverRef.current = node;\n refs.setFloating(node);\n }}\n {...themeProps}\n onBlur={handleBlur}\n style={{\n ...themeStyle,\n ...floatingStyles,\n outline: \"none\",\n zIndex: zIndex ?? parentZIndex,\n }}\n {...getFloatingProps()}\n >\n {renderPopover()}\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </>\n );\n};\n"],"names":["PopoverTrigger","_a","children","popoverContent","trigger","_trigger","position","zIndex","rootNode","customOffset","delay","onPopoverAppear","onPopoverDismiss","popoverAriaLabel","enableFlip","enableResize","overflow","triggerOnFocus","isModal","className","otherProps","__rest","visible","setVisible","useState","nodeRef","useRef","popoverRef","isMobile","useMaxWidthMediaQuery","availableHeight","setAvailableHeight","popoverContainerId","useId","refs","floatingStyles","context","useFloating","open","placement","whileElementsMounted","autoUpdate","middleware","offset","flip","shift","limiter","limitShift","size","apply","onOpenChange","isOpen","handleVisibilityChange","parentZIndex","useFloatingChild","themeProps","themeStyle","useInheritedThemeScope","isTooltip","click","useClick","ignoreMouse","dismiss","useDismiss","hover","useHover","enabled","_b","close","_c","focus","useFocus","getReferenceProps","getFloatingProps","useInteractions","handlePopoverMobileClose","nextVisible","_jsxs","_jsx","Object","assign","ref","node","current","setReference","onClick","event","stopPropagation","preventDefault","clsx","styles.triggerContainer","FloatingPortal","root","FloatingFocusManager","initialFocus","returnFocus","modal","setFloating","onBlur","e","next","relatedTarget","document","activeElement","HTMLElement","hasAttribute","refEl","floatingEl","parentElement","contains","isFocusInside","style","outline","maxHeight","Popover","onMobileClose","undefined","ariaLabel","id"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"popover-trigger.styles.js","sources":["../../src/popover/popover-trigger.styles.ts"],"sourcesContent":["import { css } from \"@linaria/core\";\n\nexport const triggerContainer = css`\n display: inline;\n width: fit-content;\n cursor: pointer;\n position: relative;\n`;\n"],"names":["triggerContainer"],"mappings":"mEAEO,MAAMA,EAAgB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.tjxhm5y{display:inline;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;cursor:pointer;position:relative;}
|
package/popover/popover.d.ts
CHANGED
|
@@ -1,5 +1,2 @@
|
|
|
1
1
|
import type { PopoverProps } from "./types";
|
|
2
|
-
|
|
3
|
-
* @deprecated Use `PopoverV2` for improved positioning behaviour. This component will be removed in DS v3.
|
|
4
|
-
*/
|
|
5
|
-
export declare const Popover: ({ children, visible, onMobileClose, ...otherProps }: PopoverProps) => JSX.Element;
|
|
2
|
+
export declare const Popover: ({ children, visible, onMobileClose, maxHeight, overflow, ariaLabel, id, className, "data-testid": testId, ...otherProps }: PopoverProps) => JSX.Element;
|
package/popover/popover.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__rest as e}from"../_virtual/_tslib.js";import{jsxs as
|
|
1
|
+
import{__rest as e}from"../_virtual/_tslib.js";import{jsxs as o,Fragment as r,jsx as i}from"react/jsx-runtime";import t from"clsx";import{useRef as l,useMemo as s}from"react";import{Card as m}from"../card/card.js";import{Markup as a}from"../markup/markup.js";import{ModalV2 as d}from"../modal-v2/index.js";import"../theme/theme-provider/index.js";import"../theme/theme-provider/context.js";import"../theme/tokens/border.js";import"../theme/tokens/colour.js";import"../theme/tokens/font.js";import"../theme/tokens/media-query.js";import{useApplyStyle as n}from"../theme/utils/use-apply-styles.js";import{useMaxWidthMediaQuery as p}from"../theme/utils/use-media-query.js";import{Typography as c}from"../typography/index.js";import{tokens as h,popoverCard as f,popoverCardWithMaxHeight as v,popoverCardWithOverflow as u,popoverContainer as j}from"./popover.styles.js";const b=b=>{var{children:x,visible:y=!1,onMobileClose:C,maxHeight:g,overflow:k,ariaLabel:w="More information",id:M,className:N,"data-testid":H="popover"}=b,q=e(b,["children","visible","onMobileClose","maxHeight","overflow","ariaLabel","id","className","data-testid"]);const B=p("sm"),L=l(null),O=s((()=>({[h.popoverCard.maxHeight]:void 0===g?null:`${g}px`,[h.popoverCard.overflowY]:null!=k?k:null})),[g,k]);n(L,O);const _=()=>{C&&C()},z=()=>"string"==typeof x?i(c.BodyMD,{children:x}):x;return o(r,{children:[y&&!B&&i("div",Object.assign({ref:L,tabIndex:0,"data-testid":H},q,{className:t(j,N),id:M,role:"dialog","aria-label":w,children:i(m,{className:t(f,void 0!==g&&v,k&&u),children:i(a,{baseTextSize:"body-md",children:z()})})})),B&&i(d,{show:y,onOverlayClick:_,onClose:_,id:M,role:"dialog","aria-label":w,children:o(d.Card,{children:[i(d.Content,{children:i(a,{children:z()})}),i(d.CloseButton,{})]})})]})};export{b as Popover};
|
|
2
2
|
//# sourceMappingURL=popover.js.map
|