@lifesg/react-design-system 4.0.0-alpha.5 → 4.0.0-alpha.7
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/accordion/accordion.js.map +1 -1
- package/accordion/types.d.ts +1 -1
- package/alert/alert.js.map +1 -1
- package/alert/types.d.ts +2 -0
- package/animations/loading-dots/loading-dots.d.ts +5 -2
- package/animations/loading-dots/loading-dots.js.map +1 -1
- package/animations/loading-dots-spinner/loading-dots-spinner.d.ts +3 -0
- package/animations/loading-dots-spinner/loading-dots-spinner.js.map +1 -1
- package/animations/loading-dots-spinner/lottie-animation.d.ts +2 -2
- package/animations/loading-dots-spinner/lottie-animation.js.map +1 -1
- package/animations/loading-spinner/loading-spinner.d.ts +5 -2
- package/animations/loading-spinner/loading-spinner.js.map +1 -1
- package/animations/themed-loading-spinner/themed-loading-spinner.d.ts +5 -2
- package/animations/themed-loading-spinner/themed-loading-spinner.js.map +1 -1
- package/animations/types.d.ts +13 -6
- package/avatar/avatar.js.map +1 -1
- package/badge/badge.js.map +1 -1
- package/badge/types.d.ts +13 -2
- package/box-container/box-container.js.map +1 -1
- package/box-container/types.d.ts +2 -0
- package/breadcrumb/breadcrumb.d.ts +7 -0
- package/breadcrumb/breadcrumb.js.map +1 -1
- package/breadcrumb/types.d.ts +36 -0
- package/button/button.d.ts +1 -0
- package/button/button.js.map +1 -1
- package/button/types.d.ts +47 -9
- package/calendar/calendar.d.ts +3 -0
- package/calendar/calendar.js.map +1 -1
- package/calendar/types.d.ts +46 -10
- package/card/card.d.ts +1 -0
- package/card/card.js.map +1 -1
- package/card/types.d.ts +1 -0
- package/checkbox/checkbox.d.ts +3 -0
- package/checkbox/checkbox.js.map +1 -1
- package/checkbox/types.d.ts +23 -3
- package/cjs/accordion/accordion.js.map +1 -1
- package/cjs/alert/alert.js.map +1 -1
- package/cjs/animations/loading-dots/loading-dots.js.map +1 -1
- package/cjs/animations/loading-dots-spinner/loading-dots-spinner.js.map +1 -1
- package/cjs/animations/loading-dots-spinner/lottie-animation.js.map +1 -1
- package/cjs/animations/loading-spinner/loading-spinner.js.map +1 -1
- package/cjs/animations/themed-loading-spinner/themed-loading-spinner.js.map +1 -1
- package/cjs/avatar/avatar.js.map +1 -1
- package/cjs/badge/badge.js.map +1 -1
- package/cjs/box-container/box-container.js.map +1 -1
- package/cjs/breadcrumb/breadcrumb.js.map +1 -1
- package/cjs/button/button.js.map +1 -1
- package/cjs/calendar/calendar.js.map +1 -1
- package/cjs/card/card.js.map +1 -1
- package/cjs/checkbox/checkbox.js.map +1 -1
- package/cjs/countdown-timer/countdown-timer.js.map +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 -1
- package/cjs/data-table/data-table.styles.js.map +1 -1
- package/cjs/data-table/data-table.styles_rxganh.css +27 -0
- package/cjs/date-input/date-input.js.map +1 -1
- package/cjs/date-navigator/date-navigator.js.map +1 -1
- package/cjs/date-range-input/date-range-input.js.map +1 -1
- package/cjs/divider/divider.js.map +1 -1
- package/cjs/drawer/drawer.js.map +1 -1
- package/cjs/e-signature/e-signature.js.map +1 -1
- package/cjs/error-display/error-display.js.map +1 -1
- package/cjs/external/dompurify/dist/purify.es.js +2 -2
- package/cjs/external/dompurify/dist/purify.es.js.map +1 -1
- package/cjs/external/lodash/_setCacheHas.js.map +1 -1
- package/cjs/external/lodash/lodash.js +1 -1
- package/cjs/external/lodash/lodash.js.map +1 -1
- package/cjs/feedback-rating/feedback-rating.js.map +1 -1
- package/cjs/file-download/file-download.js.map +1 -1
- package/cjs/file-upload/file-item-edit.js.map +1 -1
- package/cjs/file-upload/file-list/file-list.js.map +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 -1
- 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_o8000f.css → file-list-item.styles_kgtfke.css} +1 -1
- package/cjs/file-upload/file-upload.js.map +1 -1
- package/cjs/filter/addons/filter-item-checkbox-helpers.js.map +1 -1
- package/cjs/filter/addons/filter-item-checkbox.js.map +1 -1
- package/cjs/filter/filter-item.js +1 -1
- package/cjs/filter/filter-item.js.map +1 -1
- package/cjs/filter/filter.js.map +1 -1
- package/cjs/footer/footer.js.map +1 -1
- package/cjs/form/form-custom-field/form-custom-field.js +2 -0
- package/cjs/form/form-custom-field/form-custom-field.js.map +1 -0
- package/cjs/form/form-date-input/form-date-input.js +2 -0
- package/cjs/form/form-date-input/form-date-input.js.map +1 -0
- package/cjs/form/form-date-range-input/form-date-range-input.js +2 -0
- package/cjs/form/form-date-range-input/form-date-range-input.js.map +1 -0
- package/cjs/form/form-e-signature/form-e-signature.js +2 -0
- package/cjs/form/form-e-signature/form-e-signature.js.map +1 -0
- package/cjs/form/form-histogram-slider/form-histogram-slider.js +2 -0
- package/cjs/form/form-histogram-slider/form-histogram-slider.js.map +1 -0
- package/cjs/form/form-input/form-input.js +2 -0
- package/cjs/form/form-input/form-input.js.map +1 -0
- package/cjs/form/form-input-group/form-input-group.js +2 -0
- package/cjs/form/form-input-group/form-input-group.js.map +1 -0
- package/cjs/form/form-label/form-label-addon.js +2 -0
- package/cjs/form/form-label/form-label-addon.js.map +1 -0
- package/cjs/form/form-label/form-label-addon.styles.js +2 -0
- package/cjs/form/form-label/form-label-addon.styles.js.map +1 -0
- package/cjs/form/form-label/form-label-addon.styles_aztasj.css +1 -0
- package/cjs/form/form-label/form-label.js +2 -0
- package/cjs/form/form-label/form-label.js.map +1 -0
- package/cjs/form/form-label/form-label.styles.js +2 -0
- package/cjs/form/form-label/form-label.styles.js.map +1 -0
- package/cjs/form/form-label/form-label.styles_180zf7j.css +6 -0
- package/cjs/form/form-masked-input/form-masked-input.js +2 -0
- package/cjs/form/form-masked-input/form-masked-input.js.map +1 -0
- package/cjs/form/form-multi-select/form-multi-select.js +2 -0
- package/cjs/form/form-multi-select/form-multi-select.js.map +1 -0
- package/cjs/form/form-nested-multi-select/form-nested-multi-select.js +2 -0
- package/cjs/form/form-nested-multi-select/form-nested-multi-select.js.map +1 -0
- package/cjs/form/form-nested-select/form-nested-select.js +2 -0
- package/cjs/form/form-nested-select/form-nested-select.js.map +1 -0
- package/cjs/form/form-otp-verification/form-otp-verification.js +2 -0
- package/cjs/form/form-otp-verification/form-otp-verification.js.map +1 -0
- package/cjs/form/form-phone-number-input/form-phone-number-input.js +2 -0
- package/cjs/form/form-phone-number-input/form-phone-number-input.js.map +1 -0
- package/cjs/form/form-predictive-text-input/form-predictive-text-input.js +2 -0
- package/cjs/form/form-predictive-text-input/form-predictive-text-input.js.map +1 -0
- package/cjs/form/form-range-select/form-range-select.js +2 -0
- package/cjs/form/form-range-select/form-range-select.js.map +1 -0
- package/cjs/form/form-range-slider/form-range-slider.js +2 -0
- package/cjs/form/form-range-slider/form-range-slider.js.map +1 -0
- package/cjs/form/form-select/form-select.js +2 -0
- package/cjs/form/form-select/form-select.js.map +1 -0
- package/cjs/form/form-select-histogram/form-select-histogram.js +2 -0
- package/cjs/form/form-select-histogram/form-select-histogram.js.map +1 -0
- package/cjs/form/form-slider/form-slider.js +2 -0
- package/cjs/form/form-slider/form-slider.js.map +1 -0
- package/cjs/form/form-textarea/form-textarea.js +2 -0
- package/cjs/form/form-textarea/form-textarea.js.map +1 -0
- package/cjs/form/form-textarea/form-textarea.styles.js +2 -0
- package/cjs/form/form-textarea/form-textarea.styles.js.map +1 -0
- package/cjs/form/form-textarea/form-textarea.styles_1kneyif.css +3 -0
- package/cjs/form/form-time-range-picker/form-time-range-picker.js +2 -0
- package/cjs/form/form-time-range-picker/form-time-range-picker.js.map +1 -0
- package/cjs/form/form-timepicker/form-timepicker.js +2 -0
- package/cjs/form/form-timepicker/form-timepicker.js.map +1 -0
- package/cjs/form/form-unit-number-input/form-unit-number-input.js +2 -0
- package/cjs/form/form-unit-number-input/form-unit-number-input.js.map +1 -0
- package/cjs/form/form-wrapper.js +1 -1
- package/cjs/form/form-wrapper.js.map +1 -1
- package/cjs/form/index.js +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/histogram-slider/histogram-slider.js.map +1 -1
- package/cjs/image-button/image-button.js.map +1 -1
- package/cjs/index.js +1 -1
- package/cjs/input/input.js.map +1 -1
- package/cjs/input-group/input-group.js.map +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.map +1 -1
- package/cjs/input-nested-select/input-nested-select.js.map +1 -1
- package/cjs/input-range-select/input-range-select.js.map +1 -1
- package/cjs/input-range-slider/input-range-slider.js.map +1 -1
- package/cjs/input-select/input-select.js.map +1 -1
- package/cjs/input-slider/input-slider.js.map +1 -1
- package/cjs/input-textarea/textarea.js.map +1 -1
- package/cjs/input-textarea/textarea.styles.js +1 -1
- package/cjs/input-textarea/textarea.styles.js.map +1 -1
- package/cjs/input-textarea/{textarea.styles_22z4n3.css → textarea.styles_q77m5x.css} +1 -1
- package/cjs/language-switcher/language-switcher.js.map +1 -1
- package/cjs/layout/index.js +1 -1
- package/cjs/layout/index.js.map +1 -1
- package/cjs/link-list/components/common.js.map +1 -1
- package/cjs/link-list/components/link-list-eager.js.map +1 -1
- package/cjs/link-list/components/link-list-lazy.js.map +1 -1
- package/cjs/link-list/link-list.js.map +1 -1
- package/cjs/local-nav/local-nav-dropdown/local-nav-dropdown.js.map +1 -1
- package/cjs/local-nav/local-nav-menu/local-nav-menu.js.map +1 -1
- package/cjs/markup/markup.js.map +1 -1
- package/cjs/masked-input/masked-input.js.map +1 -1
- package/cjs/masthead/masthead.js.map +1 -1
- package/cjs/menu/menu.js +1 -1
- package/cjs/menu/menu.js.map +1 -1
- package/cjs/modal/index.js.map +1 -1
- package/cjs/modal/modal-box.js +1 -1
- package/cjs/modal/modal-box.js.map +1 -1
- package/cjs/modal-v2/index.js +1 -1
- package/cjs/modal-v2/index.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/modal-v2/slots/card.js +1 -1
- package/cjs/modal-v2/slots/card.js.map +1 -1
- package/cjs/navbar/navbar.js.map +1 -1
- package/cjs/notification-banner/notification-banner-hoc.js.map +1 -1
- package/cjs/notification-banner/notification-banner.js.map +1 -1
- package/cjs/otp-input/otp-input.js +1 -1
- package/cjs/otp-input/otp-input.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/otp-verification.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.map +1 -1
- package/cjs/pagination/pagination.js.map +1 -1
- package/cjs/phone-number-input/phone-number-input.js.map +1 -1
- package/cjs/pill/pill.js.map +1 -1
- package/cjs/popover/popover-inline/popover-inline.js.map +1 -1
- package/cjs/popover/popover-trigger.js.map +1 -1
- package/cjs/popover/popover.js +1 -1
- package/cjs/popover/popover.js.map +1 -1
- 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.map +1 -1
- package/cjs/radio-button/radio-button.js.map +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.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-wrapper/element-with-dropdown.js +1 -1
- package/cjs/shared/dropdown-wrapper/element-with-dropdown.js.map +1 -1
- package/cjs/sidenav/sidenav.js.map +1 -1
- package/cjs/singpass-button/singpass-button.js.map +1 -1
- package/cjs/smart-app-banner/smart-app-banner.js.map +1 -1
- package/cjs/tab/tab.js.map +1 -1
- package/cjs/table/table.js.map +1 -1
- package/cjs/table/table.styles.js +1 -1
- package/cjs/table/table.styles.js.map +1 -1
- package/cjs/table/{table.styles_1af5ipv.css → table.styles_1vjx31g.css} +1 -1
- package/cjs/tag/tag.js.map +1 -1
- package/cjs/text-list/index.js.map +1 -1
- package/cjs/theme/theme-provider/breakpoint.js +1 -1
- package/cjs/theme/theme-provider/breakpoint.js.map +1 -1
- package/cjs/theme/theme-provider/hooks.js.map +1 -1
- package/cjs/theme/theme-provider/index.js.map +1 -1
- package/cjs/theme/tokens/border.js.map +1 -1
- package/cjs/theme/tokens/breakpoint.js.map +1 -1
- package/cjs/theme/tokens/colour.js.map +1 -1
- package/cjs/theme/tokens/component.js.map +1 -1
- package/cjs/theme/tokens/font.js.map +1 -1
- package/cjs/theme/tokens/media-query.js.map +1 -1
- package/cjs/theme/tokens/motion.js.map +1 -1
- package/cjs/theme/tokens/radius.js.map +1 -1
- package/cjs/theme/tokens/shadow.js.map +1 -1
- package/cjs/theme/tokens/spacing.js.map +1 -1
- package/cjs/theme/types.js.map +1 -1
- package/cjs/theme/utils/css-variable.js.map +1 -1
- package/cjs/theme/utils/font.js.map +1 -1
- package/cjs/theme/utils/use-apply-styles.js +1 -1
- package/cjs/theme/utils/use-apply-styles.js.map +1 -1
- package/cjs/theme/utils/use-design-token-override.js.map +1 -1
- package/cjs/theme/utils/use-design-token.js.map +1 -1
- package/cjs/theme/utils/use-media-query.js.map +1 -1
- 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/common.styles.js +1 -1
- package/cjs/time-range-picker/common.styles.js.map +1 -1
- package/cjs/time-range-picker/{common.styles_1qwp4xa.css → common.styles_cnkkax.css} +2 -1
- 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-range-picker/time-range-picker.js.map +1 -1
- package/cjs/time-slot-bar/time-slot-bar.js.map +1 -1
- package/cjs/time-slot-bar-week/time-slot-bar-week.js.map +1 -1
- package/cjs/time-slot-week-view/time-slot-week-view.js.map +1 -1
- package/cjs/timeline/timeline.js.map +1 -1
- package/cjs/timepicker/timepicker.js +1 -1
- package/cjs/timepicker/timepicker.js.map +1 -1
- package/cjs/timepicker/timepicker.styles.js +1 -1
- package/cjs/timepicker/timepicker.styles.js.map +1 -1
- package/cjs/timepicker/timepicker.styles_lyizvq.css +2 -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/toast/toast.js.map +1 -1
- package/cjs/toggle/toggle.js.map +1 -1
- package/cjs/typography/index.js.map +1 -1
- package/cjs/uneditable-section/index.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/unit-number/unit-number-input.js.map +1 -1
- package/cjs/util/merge-refs.js.map +1 -1
- package/cjs/util/use-throttle.js +2 -0
- package/cjs/util/use-throttle.js.map +1 -0
- package/countdown-timer/countdown-timer.js.map +1 -1
- package/countdown-timer/types.d.ts +6 -6
- 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 +2 -1
- package/data-table/data-table.styles.js +1 -1
- package/data-table/data-table.styles.js.map +1 -1
- package/data-table/data-table.styles_rxganh.css +27 -0
- package/date-input/date-input.js.map +1 -1
- package/date-input/types.d.ts +1 -1
- package/date-navigator/date-navigator.js.map +1 -1
- package/date-navigator/types.d.ts +1 -1
- package/date-range-input/date-range-input.js.map +1 -1
- package/date-range-input/types.d.ts +2 -2
- package/divider/divider.js.map +1 -1
- package/divider/types.d.ts +1 -1
- package/docs/component-catalog.json +644 -0
- package/drawer/drawer.js.map +1 -1
- package/drawer/types.d.ts +1 -1
- package/e-signature/e-signature.js.map +1 -1
- package/e-signature/types.d.ts +1 -1
- package/error-display/error-display.js.map +1 -1
- package/external/dompurify/dist/purify.es.js +2 -2
- package/external/dompurify/dist/purify.es.js.map +1 -1
- package/external/lodash/_setCacheHas.js.map +1 -1
- package/external/lodash/lodash.js +1 -1
- package/external/lodash/lodash.js.map +1 -1
- package/feedback-rating/feedback-rating.js.map +1 -1
- package/file-download/file-download.js.map +1 -1
- package/file-download/types.d.ts +6 -1
- package/file-upload/file-item-edit.d.ts +1 -1
- package/file-upload/file-item-edit.js.map +1 -1
- package/file-upload/file-list/file-list.d.ts +1 -1
- package/file-upload/file-list/file-list.js.map +1 -1
- package/file-upload/file-list-item/file-list-item.d.ts +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.js +1 -1
- package/file-upload/file-list-item/file-list-item.styles.js.map +1 -1
- package/file-upload/file-list-item/{file-list-item.styles_o8000f.css → file-list-item.styles_kgtfke.css} +1 -1
- package/file-upload/file-upload.js.map +1 -1
- package/file-upload/types.d.ts +6 -3
- package/filter/addons/filter-item-checkbox-helpers.d.ts +2 -2
- package/filter/addons/filter-item-checkbox-helpers.js.map +1 -1
- package/filter/addons/filter-item-checkbox.d.ts +1 -1
- package/filter/addons/filter-item-checkbox.js.map +1 -1
- package/filter/addons/internal-types.d.ts +12 -0
- package/filter/addons/types.d.ts +60 -9
- package/filter/filter-item.js +1 -1
- package/filter/filter-item.js.map +1 -1
- package/filter/filter.d.ts +1 -1
- package/filter/filter.js.map +1 -1
- package/filter/index.d.ts +1 -0
- package/filter/types.d.ts +36 -72
- package/footer/footer.js.map +1 -1
- package/form/form-custom-field/form-custom-field.js +2 -0
- package/form/form-custom-field/form-custom-field.js.map +1 -0
- package/form/form-custom-field/index.d.ts +2 -0
- package/form/form-custom-field/types.d.ts +7 -0
- package/form/form-date-input/form-date-input.js +2 -0
- package/form/form-date-input/form-date-input.js.map +1 -0
- package/form/form-date-input/index.d.ts +2 -0
- package/form/form-date-input/types.d.ts +8 -0
- package/form/form-date-range-input/form-date-range-input.js +2 -0
- package/form/form-date-range-input/form-date-range-input.js.map +1 -0
- package/form/form-date-range-input/index.d.ts +2 -0
- package/form/form-date-range-input/types.d.ts +8 -0
- package/form/form-e-signature/form-e-signature.js +2 -0
- package/form/form-e-signature/form-e-signature.js.map +1 -0
- package/form/form-e-signature/index.d.ts +2 -0
- package/form/form-e-signature/types.d.ts +8 -0
- package/form/form-histogram-slider/form-histogram-slider.js +2 -0
- package/form/form-histogram-slider/form-histogram-slider.js.map +1 -0
- package/form/form-histogram-slider/index.d.ts +2 -0
- package/form/form-histogram-slider/types.d.ts +8 -0
- package/form/form-input/form-input.js +2 -0
- package/form/form-input/form-input.js.map +1 -0
- package/form/form-input/index.d.ts +2 -0
- package/form/form-input/types.d.ts +8 -0
- package/form/form-input-group/form-input-group.js +2 -0
- package/form/form-input-group/form-input-group.js.map +1 -0
- package/form/form-input-group/index.d.ts +2 -0
- package/form/form-input-group/types.d.ts +10 -0
- package/form/form-label/form-label-addon.js +2 -0
- package/form/form-label/form-label-addon.js.map +1 -0
- package/form/form-label/form-label-addon.styles.js +2 -0
- package/form/form-label/form-label-addon.styles.js.map +1 -0
- package/form/form-label/form-label-addon.styles_aztasj.css +1 -0
- package/form/form-label/form-label.js +2 -0
- package/form/form-label/form-label.js.map +1 -0
- package/form/form-label/form-label.styles.js +2 -0
- package/form/form-label/form-label.styles.js.map +1 -0
- package/form/form-label/form-label.styles_180zf7j.css +6 -0
- package/form/form-label/index.d.ts +2 -0
- package/form/form-label/types.d.ts +39 -0
- package/form/form-masked-input/form-masked-input.js +2 -0
- package/form/form-masked-input/form-masked-input.js.map +1 -0
- package/form/form-masked-input/index.d.ts +2 -0
- package/form/form-masked-input/types.d.ts +8 -0
- package/form/form-multi-select/form-multi-select.js +2 -0
- package/form/form-multi-select/form-multi-select.js.map +1 -0
- package/form/form-multi-select/index.d.ts +2 -0
- package/form/form-multi-select/types.d.ts +10 -0
- package/form/form-nested-multi-select/form-nested-multi-select.js +2 -0
- package/form/form-nested-multi-select/form-nested-multi-select.js.map +1 -0
- package/form/form-nested-multi-select/index.d.ts +2 -0
- package/form/form-nested-multi-select/types.d.ts +11 -0
- package/form/form-nested-select/form-nested-select.js +2 -0
- package/form/form-nested-select/form-nested-select.js.map +1 -0
- package/form/form-nested-select/index.d.ts +2 -0
- package/form/form-nested-select/types.d.ts +11 -0
- package/form/{form-otp-verification.d.ts → form-otp-verification/form-otp-verification.d.ts} +1 -1
- package/form/form-otp-verification/form-otp-verification.js +2 -0
- package/form/form-otp-verification/form-otp-verification.js.map +1 -0
- package/form/form-otp-verification/index.d.ts +2 -0
- package/form/form-otp-verification/types.d.ts +1 -0
- package/form/form-phone-number-input/form-phone-number-input.js +2 -0
- package/form/form-phone-number-input/form-phone-number-input.js.map +1 -0
- package/form/form-phone-number-input/index.d.ts +2 -0
- package/form/form-phone-number-input/types.d.ts +8 -0
- package/form/form-predictive-text-input/form-predictive-text-input.js +2 -0
- package/form/form-predictive-text-input/form-predictive-text-input.js.map +1 -0
- package/form/form-predictive-text-input/index.d.ts +2 -0
- package/form/form-predictive-text-input/types.d.ts +10 -0
- package/form/form-range-select/form-range-select.js +2 -0
- package/form/form-range-select/form-range-select.js.map +1 -0
- package/form/form-range-select/index.d.ts +2 -0
- package/form/form-range-select/types.d.ts +10 -0
- package/form/form-range-slider/form-range-slider.js +2 -0
- package/form/form-range-slider/form-range-slider.js.map +1 -0
- package/form/form-range-slider/index.d.ts +2 -0
- package/form/form-range-slider/types.d.ts +8 -0
- package/form/form-select/form-select.js +2 -0
- package/form/form-select/form-select.js.map +1 -0
- package/form/form-select/index.d.ts +2 -0
- package/form/form-select/types.d.ts +10 -0
- package/form/form-select-histogram/form-select-histogram.js +2 -0
- package/form/form-select-histogram/form-select-histogram.js.map +1 -0
- package/form/form-select-histogram/index.d.ts +2 -0
- package/form/form-select-histogram/types.d.ts +8 -0
- package/form/form-slider/form-slider.js +2 -0
- package/form/form-slider/form-slider.js.map +1 -0
- package/form/form-slider/index.d.ts +2 -0
- package/form/form-slider/types.d.ts +8 -0
- package/form/form-textarea/form-textarea.js +2 -0
- package/form/form-textarea/form-textarea.js.map +1 -0
- package/form/form-textarea/form-textarea.styles.js +2 -0
- package/form/form-textarea/form-textarea.styles.js.map +1 -0
- package/form/form-textarea/form-textarea.styles_1kneyif.css +3 -0
- package/form/form-textarea/index.d.ts +2 -0
- package/form/form-textarea/types.d.ts +8 -0
- package/form/form-time-range-picker/form-time-range-picker.js +2 -0
- package/form/form-time-range-picker/form-time-range-picker.js.map +1 -0
- package/form/form-time-range-picker/index.d.ts +2 -0
- package/form/form-time-range-picker/types.d.ts +8 -0
- package/form/form-timepicker/form-timepicker.js +2 -0
- package/form/form-timepicker/form-timepicker.js.map +1 -0
- package/form/form-timepicker/index.d.ts +2 -0
- package/form/form-timepicker/types.d.ts +8 -0
- package/form/form-unit-number-input/form-unit-number-input.js +2 -0
- package/form/form-unit-number-input/form-unit-number-input.js.map +1 -0
- package/form/form-unit-number-input/index.d.ts +2 -0
- package/form/form-unit-number-input/types.d.ts +8 -0
- package/form/form-wrapper.js +1 -1
- package/form/form-wrapper.js.map +1 -1
- package/form/index.d.ts +104 -24
- package/form/index.js +1 -1
- package/form/index.js.map +1 -1
- package/form/types.d.ts +27 -85
- package/fullscreen-image-carousel/fullscreen-image-carousel.d.ts +7 -0
- 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/types.d.ts +91 -3
- package/histogram-slider/histogram-slider.d.ts +6 -0
- package/histogram-slider/histogram-slider.js.map +1 -1
- package/histogram-slider/types.d.ts +63 -3
- package/image-button/image-button.d.ts +6 -0
- package/image-button/image-button.js.map +1 -1
- package/image-button/types.d.ts +11 -1
- package/index.js +1 -1
- package/input/input.d.ts +6 -0
- package/input/input.js.map +1 -1
- package/input/types.d.ts +38 -2
- package/input-group/input-group.d.ts +7 -0
- package/input-group/input-group.js.map +1 -1
- package/input-group/types.d.ts +84 -8
- package/input-multi-select/input-multi-select.d.ts +6 -0
- package/input-multi-select/input-multi-select.js.map +1 -1
- package/input-multi-select/types.d.ts +46 -5
- package/input-nested-multi-select/input-nested-multi-select.d.ts +8 -0
- package/input-nested-multi-select/input-nested-multi-select.js.map +1 -1
- package/input-nested-multi-select/types.d.ts +35 -5
- package/input-nested-select/input-nested-select.d.ts +9 -2
- package/input-nested-select/input-nested-select.js.map +1 -1
- package/input-nested-select/types.d.ts +77 -8
- package/input-range-select/input-range-select.d.ts +6 -0
- package/input-range-select/input-range-select.js.map +1 -1
- package/input-range-select/types.d.ts +68 -1
- package/input-range-slider/input-range-slider.d.ts +7 -0
- package/input-range-slider/input-range-slider.js.map +1 -1
- package/input-range-slider/types.d.ts +91 -6
- package/input-select/input-select.d.ts +5 -0
- package/input-select/input-select.js.map +1 -1
- package/input-select/types.d.ts +70 -14
- package/input-slider/input-slider.d.ts +6 -0
- package/input-slider/input-slider.js.map +1 -1
- package/input-slider/types.d.ts +21 -2
- package/input-textarea/textarea.d.ts +3 -0
- package/input-textarea/textarea.js.map +1 -1
- package/input-textarea/textarea.styles.js +1 -1
- package/input-textarea/textarea.styles.js.map +1 -1
- package/input-textarea/{textarea.styles_22z4n3.css → textarea.styles_q77m5x.css} +1 -1
- package/input-textarea/types.d.ts +24 -1
- package/language-switcher/language-switcher.d.ts +6 -0
- package/language-switcher/language-switcher.js.map +1 -1
- package/language-switcher/types.d.ts +23 -0
- package/layout/index.d.ts +16 -2
- package/layout/index.js +1 -1
- package/layout/index.js.map +1 -1
- package/layout/types.d.ts +61 -3
- package/link-list/components/common.d.ts +1 -1
- package/link-list/components/common.js.map +1 -1
- package/link-list/components/link-list-eager.d.ts +2 -2
- package/link-list/components/link-list-eager.js.map +1 -1
- package/link-list/components/link-list-lazy.d.ts +2 -2
- package/link-list/components/link-list-lazy.js.map +1 -1
- package/link-list/link-list.d.ts +6 -0
- package/link-list/link-list.js.map +1 -1
- package/link-list/types.d.ts +92 -3
- package/local-nav/local-nav-dropdown/local-nav-dropdown.d.ts +11 -0
- package/local-nav/local-nav-dropdown/local-nav-dropdown.js.map +1 -1
- package/local-nav/local-nav-menu/local-nav-menu.d.ts +6 -0
- package/local-nav/local-nav-menu/local-nav-menu.js.map +1 -1
- package/local-nav/types.d.ts +51 -0
- package/markup/markup.d.ts +6 -0
- package/markup/markup.js.map +1 -1
- package/markup/types.d.ts +6 -2
- package/masked-input/masked-input.d.ts +6 -0
- package/masked-input/masked-input.js.map +1 -1
- package/masked-input/types.d.ts +83 -8
- package/masthead/masthead.d.ts +6 -0
- package/masthead/masthead.js.map +1 -1
- package/masthead/types.d.ts +9 -0
- package/menu/menu.d.ts +27 -4
- package/menu/menu.js +1 -1
- package/menu/menu.js.map +1 -1
- package/menu/types.d.ts +49 -1
- package/modal/index.d.ts +13 -0
- package/modal/index.js.map +1 -1
- package/modal/modal-box.js +1 -1
- package/modal/modal-box.js.map +1 -1
- package/modal/types.d.ts +56 -7
- package/modal-v2/index.d.ts +1 -15
- package/modal-v2/index.js +1 -1
- package/modal-v2/index.js.map +1 -1
- package/modal-v2/modal-v2.d.ts +32 -1
- package/modal-v2/modal-v2.js +1 -1
- package/modal-v2/modal-v2.js.map +1 -1
- package/modal-v2/slots/card.js +1 -1
- package/modal-v2/slots/card.js.map +1 -1
- package/modal-v2/types.d.ts +92 -8
- package/navbar/navbar.d.ts +7 -0
- package/navbar/navbar.js.map +1 -1
- package/navbar/types.d.ts +201 -13
- package/notification-banner/notification-banner-hoc.d.ts +6 -0
- package/notification-banner/notification-banner-hoc.js.map +1 -1
- package/notification-banner/notification-banner.d.ts +7 -0
- package/notification-banner/notification-banner.js.map +1 -1
- package/notification-banner/types.d.ts +57 -2
- package/otp-input/otp-input.d.ts +7 -0
- package/otp-input/otp-input.js +1 -1
- package/otp-input/otp-input.js.map +1 -1
- package/otp-input/types.d.ts +63 -15
- 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 +22 -5
- package/otp-verification/otp-verification.d.ts +6 -0
- package/otp-verification/otp-verification.js.map +1 -1
- package/otp-verification/types.d.ts +125 -6
- package/otp-verification/verification-section.js +1 -1
- package/otp-verification/verification-section.js.map +1 -1
- package/overlay/overlay.d.ts +7 -0
- package/overlay/overlay.js.map +1 -1
- package/overlay/types.d.ts +57 -2
- package/package.json +1 -1
- package/pagination/pagination.d.ts +5 -0
- package/pagination/pagination.js.map +1 -1
- package/pagination/types.d.ts +48 -0
- package/phone-number-input/phone-number-input.d.ts +7 -0
- package/phone-number-input/phone-number-input.js.map +1 -1
- package/phone-number-input/types.d.ts +78 -13
- package/pill/pill.d.ts +6 -0
- package/pill/pill.js.map +1 -1
- package/pill/types.d.ts +19 -0
- package/popover/popover-inline/index.d.ts +1 -0
- package/popover/popover-inline/popover-inline.d.ts +6 -1
- package/popover/popover-inline/popover-inline.js.map +1 -1
- package/popover/popover-inline/types.d.ts +36 -0
- package/popover/popover-trigger.d.ts +6 -0
- package/popover/popover-trigger.js.map +1 -1
- package/popover/popover.d.ts +6 -0
- package/popover/popover.js +1 -1
- package/popover/popover.js.map +1 -1
- package/popover/types.d.ts +125 -11
- package/predictive-text-input/predictive-text-input.d.ts +6 -0
- 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 +65 -11
- package/progress-indicator/progress-indicator.d.ts +7 -0
- package/progress-indicator/progress-indicator.js.map +1 -1
- package/progress-indicator/types.d.ts +18 -0
- package/radio-button/radio-button.d.ts +5 -0
- package/radio-button/radio-button.js.map +1 -1
- package/radio-button/types.d.ts +14 -0
- package/schedule/internal-types.d.ts +18 -0
- package/schedule/schedule-day-view/types.d.ts +2 -1
- package/schedule/schedule-week-view/types.d.ts +2 -1
- package/schedule/schedule.d.ts +3 -0
- package/schedule/schedule.js.map +1 -1
- package/schedule/shared/with-optional-popover.js +1 -1
- package/schedule/shared/with-optional-popover.js.map +1 -1
- package/schedule/types.d.ts +129 -10
- package/select-histogram/select-histogram.d.ts +5 -0
- package/select-histogram/select-histogram.js.map +1 -1
- package/select-histogram/types.d.ts +57 -4
- package/shared/dropdown-list/dropdown-list.js +1 -1
- package/shared/dropdown-list/dropdown-list.js.map +1 -1
- package/shared/dropdown-list/types.d.ts +52 -19
- package/shared/dropdown-wrapper/element-with-dropdown.d.ts +5 -4
- package/shared/dropdown-wrapper/element-with-dropdown.js +1 -1
- package/shared/dropdown-wrapper/element-with-dropdown.js.map +1 -1
- package/shared/dropdown-wrapper/types.d.ts +6 -0
- package/sidenav/sidenav.d.ts +10 -0
- package/sidenav/sidenav.js.map +1 -1
- package/sidenav/types.d.ts +71 -21
- package/singpass-button/singpass-button.d.ts +6 -0
- package/singpass-button/singpass-button.js.map +1 -1
- package/singpass-button/types.d.ts +29 -2
- package/smart-app-banner/smart-app-banner.d.ts +5 -0
- package/smart-app-banner/smart-app-banner.js.map +1 -1
- package/smart-app-banner/types.d.ts +56 -0
- package/tab/tab.d.ts +7 -0
- package/tab/tab.js.map +1 -1
- package/tab/types.d.ts +55 -6
- package/table/table.d.ts +30 -8
- package/table/table.js.map +1 -1
- package/table/table.styles.js +1 -1
- package/table/table.styles.js.map +1 -1
- package/table/{table.styles_1af5ipv.css → table.styles_1vjx31g.css} +1 -1
- package/table/types.d.ts +35 -0
- package/tag/tag.d.ts +5 -0
- package/tag/tag.js.map +1 -1
- package/tag/types.d.ts +24 -0
- package/text-list/index.d.ts +17 -0
- package/text-list/index.js.map +1 -1
- package/text-list/types.d.ts +33 -4
- package/theme/theme-provider/breakpoint.d.ts +0 -1
- package/theme/theme-provider/breakpoint.js +1 -1
- package/theme/theme-provider/breakpoint.js.map +1 -1
- package/theme/theme-provider/hooks.d.ts +16 -0
- package/theme/theme-provider/hooks.js.map +1 -1
- package/theme/theme-provider/index.d.ts +7 -0
- package/theme/theme-provider/index.js.map +1 -1
- package/theme/theme-provider/types.d.ts +14 -0
- package/theme/tokens/border.d.ts +9 -0
- package/theme/tokens/border.js.map +1 -1
- package/theme/tokens/breakpoint.d.ts +3 -0
- package/theme/tokens/breakpoint.js.map +1 -1
- package/theme/tokens/colour.d.ts +9 -0
- package/theme/tokens/colour.js.map +1 -1
- package/theme/tokens/component.d.ts +3 -0
- package/theme/tokens/component.js.map +1 -1
- package/theme/tokens/font.d.ts +6 -0
- package/theme/tokens/font.js.map +1 -1
- package/theme/tokens/media-query.d.ts +3 -0
- package/theme/tokens/media-query.js.map +1 -1
- package/theme/tokens/motion.d.ts +3 -0
- package/theme/tokens/motion.js.map +1 -1
- package/theme/tokens/radius.d.ts +3 -0
- package/theme/tokens/radius.js.map +1 -1
- package/theme/tokens/shadow.d.ts +3 -0
- package/theme/tokens/shadow.js.map +1 -1
- package/theme/tokens/spacing.d.ts +3 -0
- package/theme/tokens/spacing.js.map +1 -1
- package/theme/types.d.ts +23 -3
- package/theme/types.js.map +1 -1
- package/theme/utils/css-variable.d.ts +10 -2
- package/theme/utils/css-variable.js.map +1 -1
- package/theme/utils/font.d.ts +2 -1
- package/theme/utils/font.js.map +1 -1
- package/theme/utils/use-apply-styles.d.ts +8 -2
- package/theme/utils/use-apply-styles.js +1 -1
- package/theme/utils/use-apply-styles.js.map +1 -1
- package/theme/utils/use-design-token-override.d.ts +9 -1
- package/theme/utils/use-design-token-override.js.map +1 -1
- package/theme/utils/use-design-token.d.ts +9 -0
- package/theme/utils/use-design-token.js.map +1 -1
- package/theme/utils/use-media-query.d.ts +41 -3
- package/theme/utils/use-media-query.js.map +1 -1
- 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/common.styles.d.ts +1 -0
- package/time-range-picker/common.styles.js +1 -1
- package/time-range-picker/common.styles.js.map +1 -1
- package/time-range-picker/{common.styles_1qwp4xa.css → common.styles_cnkkax.css} +2 -1
- 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-range-picker/time-range-picker.d.ts +5 -0
- package/time-range-picker/time-range-picker.js.map +1 -1
- package/time-range-picker/types.d.ts +85 -25
- package/time-slot-bar/internal-types.d.ts +1 -0
- package/time-slot-bar/time-slot-bar.d.ts +7 -0
- package/time-slot-bar/time-slot-bar.js.map +1 -1
- package/time-slot-bar/types.d.ts +116 -20
- package/time-slot-bar-week/time-slot-bar-week.d.ts +8 -0
- package/time-slot-bar-week/time-slot-bar-week.js.map +1 -1
- package/time-slot-bar-week/types.d.ts +80 -13
- package/time-slot-week-view/time-slot-week-view.d.ts +7 -0
- package/time-slot-week-view/time-slot-week-view.js.map +1 -1
- package/time-slot-week-view/types.d.ts +55 -10
- package/timeline/timeline.d.ts +6 -0
- package/timeline/timeline.js.map +1 -1
- package/timeline/types.d.ts +58 -4
- package/timepicker/timepicker.d.ts +5 -0
- package/timepicker/timepicker.js +1 -1
- package/timepicker/timepicker.js.map +1 -1
- package/timepicker/timepicker.styles.d.ts +1 -0
- package/timepicker/timepicker.styles.js +1 -1
- package/timepicker/timepicker.styles.js.map +1 -1
- package/timepicker/timepicker.styles_lyizvq.css +2 -0
- package/timepicker/types.d.ts +49 -14
- package/timetable/timetable-row/with-optional-popover.js +1 -1
- package/timetable/timetable-row/with-optional-popover.js.map +1 -1
- package/timetable/timetable.d.ts +6 -0
- package/timetable/timetable.js +1 -1
- package/timetable/timetable.js.map +1 -1
- package/timetable/types.d.ts +175 -50
- package/toast/toast.d.ts +6 -0
- package/toast/toast.js.map +1 -1
- package/toast/types.d.ts +44 -8
- package/toggle/toggle.d.ts +6 -0
- package/toggle/toggle.js.map +1 -1
- package/toggle/types.d.ts +95 -17
- package/tools/shared/generated-file-formatter.d.ts +6 -0
- package/tools/shared/jsdoc-parser.d.ts +36 -0
- package/tools/shared/ts-morph-project-factory.d.ts +9 -0
- package/tools/shared/typescript-source-provider.d.ts +9 -0
- package/tools/storybook-argtypes/adapters/file-system-adapter.d.ts +69 -0
- package/tools/storybook-argtypes/arg-types-generator.d.ts +85 -0
- package/tools/storybook-argtypes/config/arg-types-config.d.ts +31 -0
- package/tools/storybook-argtypes/index.d.ts +11 -0
- package/tools/storybook-argtypes/services/arg-types-row-builder.d.ts +43 -0
- package/tools/storybook-argtypes/services/file-path-resolver.d.ts +118 -0
- package/tools/storybook-argtypes/services/index.d.ts +6 -0
- package/tools/storybook-argtypes/services/jsdoc-metadata-extractor.d.ts +33 -0
- package/tools/storybook-argtypes/services/story-registry-generator.d.ts +27 -0
- package/tools/storybook-argtypes/services/type-dependency-resolver.d.ts +46 -0
- package/tools/storybook-argtypes/services/type-formatting-service.d.ts +27 -0
- package/tools/storybook-argtypes/types.d.ts +102 -0
- package/typography/index.d.ts +29 -0
- package/typography/index.js.map +1 -1
- package/typography/types.d.ts +51 -8
- package/uneditable-section/index.d.ts +15 -0
- package/uneditable-section/index.js.map +1 -1
- package/uneditable-section/section-item.js +1 -1
- package/uneditable-section/section-item.js.map +1 -1
- package/uneditable-section/types.d.ts +66 -23
- package/unit-number/types.d.ts +30 -4
- package/unit-number/unit-number-input.d.ts +6 -0
- package/unit-number/unit-number-input.js.map +1 -1
- package/util/index.d.ts +1 -0
- package/util/merge-refs.d.ts +1 -1
- package/util/merge-refs.js.map +1 -1
- package/util/use-throttle.d.ts +1 -0
- package/util/use-throttle.js +2 -0
- package/util/use-throttle.js.map +1 -0
- package/cjs/data-table/data-table.styles_1iqq1g7.css +0 -26
- package/cjs/form/form-custom-field.js +0 -2
- package/cjs/form/form-custom-field.js.map +0 -1
- package/cjs/form/form-date-input.js +0 -2
- package/cjs/form/form-date-input.js.map +0 -1
- package/cjs/form/form-date-range-input.js +0 -2
- package/cjs/form/form-date-range-input.js.map +0 -1
- package/cjs/form/form-e-signature.js +0 -2
- package/cjs/form/form-e-signature.js.map +0 -1
- package/cjs/form/form-histogram.js +0 -2
- package/cjs/form/form-histogram.js.map +0 -1
- package/cjs/form/form-input-group.js +0 -2
- package/cjs/form/form-input-group.js.map +0 -1
- package/cjs/form/form-input.js +0 -2
- package/cjs/form/form-input.js.map +0 -1
- package/cjs/form/form-label-addon.js +0 -2
- package/cjs/form/form-label-addon.js.map +0 -1
- package/cjs/form/form-label-addon.styles.js +0 -2
- package/cjs/form/form-label-addon.styles.js.map +0 -1
- package/cjs/form/form-label-addon.styles_b00z8p.css +0 -1
- package/cjs/form/form-label.js +0 -2
- package/cjs/form/form-label.js.map +0 -1
- package/cjs/form/form-label.styles.js +0 -2
- package/cjs/form/form-label.styles.js.map +0 -1
- package/cjs/form/form-label.styles_1nbe0bm.css +0 -6
- package/cjs/form/form-masked-input.js +0 -2
- package/cjs/form/form-masked-input.js.map +0 -1
- package/cjs/form/form-multi-select.js +0 -2
- package/cjs/form/form-multi-select.js.map +0 -1
- package/cjs/form/form-nested-multi-select.js +0 -2
- package/cjs/form/form-nested-multi-select.js.map +0 -1
- package/cjs/form/form-nested-select.js +0 -2
- package/cjs/form/form-nested-select.js.map +0 -1
- package/cjs/form/form-otp-verification.js +0 -2
- package/cjs/form/form-otp-verification.js.map +0 -1
- package/cjs/form/form-phone-number-input.js +0 -2
- package/cjs/form/form-phone-number-input.js.map +0 -1
- package/cjs/form/form-predictive-text-input.js +0 -2
- package/cjs/form/form-predictive-text-input.js.map +0 -1
- package/cjs/form/form-range-select.js +0 -2
- package/cjs/form/form-range-select.js.map +0 -1
- package/cjs/form/form-range-slider.js +0 -2
- package/cjs/form/form-range-slider.js.map +0 -1
- package/cjs/form/form-select-histogram.js +0 -2
- package/cjs/form/form-select-histogram.js.map +0 -1
- package/cjs/form/form-select.js +0 -2
- package/cjs/form/form-select.js.map +0 -1
- package/cjs/form/form-slider.js +0 -2
- package/cjs/form/form-slider.js.map +0 -1
- package/cjs/form/form-textarea.js +0 -2
- package/cjs/form/form-textarea.js.map +0 -1
- package/cjs/form/form-textarea.styles.js +0 -2
- package/cjs/form/form-textarea.styles.js.map +0 -1
- package/cjs/form/form-textarea.styles_3p9qoy.css +0 -3
- package/cjs/form/form-time-range-picker.js +0 -2
- package/cjs/form/form-time-range-picker.js.map +0 -1
- package/cjs/form/form-timepicker.js +0 -2
- package/cjs/form/form-timepicker.js.map +0 -1
- package/cjs/form/form-unit-number-input.js +0 -2
- package/cjs/form/form-unit-number-input.js.map +0 -1
- package/cjs/timepicker/timepicker.styles_1jm33yw.css +0 -1
- package/data-table/data-table.styles_1iqq1g7.css +0 -26
- package/form/form-custom-field.js +0 -2
- package/form/form-custom-field.js.map +0 -1
- package/form/form-date-input.js +0 -2
- package/form/form-date-input.js.map +0 -1
- package/form/form-date-range-input.js +0 -2
- package/form/form-date-range-input.js.map +0 -1
- package/form/form-e-signature.js +0 -2
- package/form/form-e-signature.js.map +0 -1
- package/form/form-histogram.js +0 -2
- package/form/form-histogram.js.map +0 -1
- package/form/form-input-group.js +0 -2
- package/form/form-input-group.js.map +0 -1
- package/form/form-input.js +0 -2
- package/form/form-input.js.map +0 -1
- package/form/form-label-addon.js +0 -2
- package/form/form-label-addon.js.map +0 -1
- package/form/form-label-addon.styles.js +0 -2
- package/form/form-label-addon.styles.js.map +0 -1
- package/form/form-label-addon.styles_b00z8p.css +0 -1
- package/form/form-label.js +0 -2
- package/form/form-label.js.map +0 -1
- package/form/form-label.styles.js +0 -2
- package/form/form-label.styles.js.map +0 -1
- package/form/form-label.styles_1nbe0bm.css +0 -6
- package/form/form-masked-input.js +0 -2
- package/form/form-masked-input.js.map +0 -1
- package/form/form-multi-select.js +0 -2
- package/form/form-multi-select.js.map +0 -1
- package/form/form-nested-multi-select.js +0 -2
- package/form/form-nested-multi-select.js.map +0 -1
- package/form/form-nested-select.js +0 -2
- package/form/form-nested-select.js.map +0 -1
- package/form/form-otp-verification.js +0 -2
- package/form/form-otp-verification.js.map +0 -1
- package/form/form-phone-number-input.js +0 -2
- package/form/form-phone-number-input.js.map +0 -1
- package/form/form-predictive-text-input.js +0 -2
- package/form/form-predictive-text-input.js.map +0 -1
- package/form/form-range-select.js +0 -2
- package/form/form-range-select.js.map +0 -1
- package/form/form-range-slider.js +0 -2
- package/form/form-range-slider.js.map +0 -1
- package/form/form-select-histogram.js +0 -2
- package/form/form-select-histogram.js.map +0 -1
- package/form/form-select.js +0 -2
- package/form/form-select.js.map +0 -1
- package/form/form-slider.js +0 -2
- package/form/form-slider.js.map +0 -1
- package/form/form-textarea.js +0 -2
- package/form/form-textarea.js.map +0 -1
- package/form/form-textarea.styles.js +0 -2
- package/form/form-textarea.styles.js.map +0 -1
- package/form/form-textarea.styles_3p9qoy.css +0 -3
- package/form/form-time-range-picker.js +0 -2
- package/form/form-time-range-picker.js.map +0 -1
- package/form/form-timepicker.js +0 -2
- package/form/form-timepicker.js.map +0 -1
- package/form/form-unit-number-input.js +0 -2
- package/form/form-unit-number-input.js.map +0 -1
- package/link-list/internal-types.d.ts +0 -31
- package/timepicker/timepicker.styles_1jm33yw.css +0 -1
- /package/{codemod-utils.d.ts → codemods/codemod-utils.d.ts} +0 -0
- /package/{migrate-popover → codemods/migrate-popover}/index.d.ts +0 -0
- /package/{run-codemod.d.ts → codemods/run-codemod.d.ts} +0 -0
- /package/form/{form-custom-field.d.ts → form-custom-field/form-custom-field.d.ts} +0 -0
- /package/form/{form-date-input.d.ts → form-date-input/form-date-input.d.ts} +0 -0
- /package/form/{form-date-range-input.d.ts → form-date-range-input/form-date-range-input.d.ts} +0 -0
- /package/form/{form-e-signature.d.ts → form-e-signature/form-e-signature.d.ts} +0 -0
- /package/form/{form-histogram.d.ts → form-histogram-slider/form-histogram-slider.d.ts} +0 -0
- /package/form/{form-input.d.ts → form-input/form-input.d.ts} +0 -0
- /package/form/{form-input-group.d.ts → form-input-group/form-input-group.d.ts} +0 -0
- /package/form/{form-label-addon.d.ts → form-label/form-label-addon.d.ts} +0 -0
- /package/form/{form-label-addon.styles.d.ts → form-label/form-label-addon.styles.d.ts} +0 -0
- /package/form/{form-label.d.ts → form-label/form-label.d.ts} +0 -0
- /package/form/{form-label.styles.d.ts → form-label/form-label.styles.d.ts} +0 -0
- /package/form/{form-masked-input.d.ts → form-masked-input/form-masked-input.d.ts} +0 -0
- /package/form/{form-multi-select.d.ts → form-multi-select/form-multi-select.d.ts} +0 -0
- /package/form/{form-nested-multi-select.d.ts → form-nested-multi-select/form-nested-multi-select.d.ts} +0 -0
- /package/form/{form-nested-select.d.ts → form-nested-select/form-nested-select.d.ts} +0 -0
- /package/form/{form-phone-number-input.d.ts → form-phone-number-input/form-phone-number-input.d.ts} +0 -0
- /package/form/{form-predictive-text-input.d.ts → form-predictive-text-input/form-predictive-text-input.d.ts} +0 -0
- /package/form/{form-range-select.d.ts → form-range-select/form-range-select.d.ts} +0 -0
- /package/form/{form-range-slider.d.ts → form-range-slider/form-range-slider.d.ts} +0 -0
- /package/form/{form-select.d.ts → form-select/form-select.d.ts} +0 -0
- /package/form/{form-select-histogram.d.ts → form-select-histogram/form-select-histogram.d.ts} +0 -0
- /package/form/{form-slider.d.ts → form-slider/form-slider.d.ts} +0 -0
- /package/form/{form-textarea.d.ts → form-textarea/form-textarea.d.ts} +0 -0
- /package/form/{form-textarea.styles.d.ts → form-textarea/form-textarea.styles.d.ts} +0 -0
- /package/form/{form-time-range-picker.d.ts → form-time-range-picker/form-time-range-picker.d.ts} +0 -0
- /package/form/{form-timepicker.d.ts → form-timepicker/form-timepicker.d.ts} +0 -0
- /package/form/{form-unit-number-input.d.ts → form-unit-number-input/form-unit-number-input.d.ts} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),t=require("@floating-ui/react"),i=require("react"),r=require("../../external/react-resize-detector/build/index.esm.js"),n=require("../../overlay/use-floating-context.js");require("../../theme/theme-provider/index.js");var s=require("../../theme/theme-provider/hooks.js");require("../../theme/tokens/border.js"),require("../../theme/tokens/colour.js"),require("../../theme/tokens/font.js"),require("../../theme/tokens/media-query.js"),require("../../util/calendar-helper.js"),require("../../external/dayjs/dayjs.min.js"),require("../../util/simple-id-generator.js"),require("../../util/string-helper.js"),require("@react-aria/live-announcer");var o=require("../../theme/utils/use-media-query.js"),
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),t=require("@floating-ui/react"),i=require("react"),r=require("../../external/react-resize-detector/build/index.esm.js"),n=require("../../overlay/use-floating-context.js");require("../../theme/theme-provider/index.js");var s=require("../../theme/theme-provider/hooks.js");require("../../theme/tokens/border.js"),require("../../theme/tokens/colour.js"),require("../../theme/tokens/font.js"),require("../../theme/tokens/media-query.js"),require("../../util/calendar-helper.js"),require("../../external/dayjs/dayjs.min.js"),require("../../util/simple-id-generator.js"),require("../../util/string-helper.js"),require("@react-aria/live-announcer");var o=require("../../util/use-event.js"),l=require("../../util/use-previous.js"),a=require("../../theme/utils/use-media-query.js"),u=require("./element-with-dropdown.styles.js");const d=e=>"right"===e?"bottom-end":"bottom-start",c=i.createContext({elementWidth:0,styles:{},setFloatingRef:()=>{},getFloatingProps:()=>({})});exports.DropdownRenderContext=c,exports.ElementWithDropdown=({enabled:h,isOpen:g,onOpen:m,onClose:p,onDismiss:f,onHide:j,renderElement:x,renderDropdown:y,customZIndex:q,clickToToggle:v=!1,offset:b=0,alignment:w="left",fitAvailableHeight:F,rootNode:k,positionRef:P})=>{var R;const H=a.useMaxWidthMediaQuery("sm"),O=i.useRef(null),{width:C=0}=r.useResizeDetector({targetRef:null!=P?P:O,handleHeight:!1}),D={name:"center",fn:({x:e,rects:t})=>({x:(0===e||e+t.floating.width===window.innerWidth)&&H?(window.innerWidth-t.floating.width)/2:e})},{refs:M,floatingStyles:W,context:E}=t.useFloating({open:g,onOpenChange:(e,t,i)=>{"escape-key"===i?null==f||f():e&&!g?null==m||m():!e&&g&&(null==p||p(i))},whileElementsMounted:t.autoUpdate,placement:d(w),middleware:[t.offset(b),t.flip(),t.shift({limiter:t.limitShift()}),t.size({apply({availableHeight:e,elements:t}){!F||e>=t.floating.scrollHeight?t.floating.style.setProperty(u.tokens.availableHeight,""):t.floating.style.setProperty(u.tokens.availableHeight,`${Math.max(0,e)}px`)}}),D]}),S=n.useFloatingChild(),{isMounted:z,styles:I}=t.useTransitionStyles(E,{initial:{opacity:0},open:{opacity:1},duration:300}),{themeProps:T,themeStyle:A}=s.useInheritedThemeScope(z),N=t.useClick(E,{enabled:h,toggle:v,keyboardHandlers:v}),Q=t.useDismiss(E,{enabled:h}),{getReferenceProps:U,getFloatingProps:Z}=t.useInteractions([N,Q]),$=l.usePrevious(z),B=o.useEvent((()=>null==j?void 0:j()));i.useEffect((()=>{$&&!z&&B()}),[$,z,B]);const G={elementWidth:C,styles:Object.assign(Object.assign(Object.assign({},I),W),{zIndex:null!==(R=null!=q?q:S)&&void 0!==R?R:50}),setFloatingRef:M.setFloating,getFloatingProps:Z};return e.jsxs(e.Fragment,{children:[e.jsx("div",Object.assign({ref:e=>{O.current=e,M.setReference(e)}},U(),{children:x()})),z&&e.jsx(t.FloatingPortal,{root:k,children:e.jsx(t.FloatingFocusManager,{context:E,modal:!1,initialFocus:-1,returnFocus:!1,children:e.jsx(c.Provider,{value:G,children:e.jsx("div",Object.assign({},T,{style:A,children:y(G)}))})})})]})},exports.useDropdownRender=()=>i.useContext(c);
|
|
2
2
|
//# sourceMappingURL=element-with-dropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element-with-dropdown.js","sources":["../../../../src/shared/dropdown-wrapper/element-with-dropdown.tsx"],"sourcesContent":["import type {\n Middleware,\n OpenChangeReason,\n Placement,\n} from \"@floating-ui/react\";\nimport {\n autoUpdate,\n flip,\n FloatingFocusManager,\n FloatingPortal,\n limitShift,\n offset,\n shift,\n size,\n useClick,\n useDismiss,\n useFloating,\n useInteractions,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport type { CSSProperties, RefObject } from \"react\";\nimport { createContext, useContext, useRef } from \"react\";\nimport { useResizeDetector } from \"react-resize-detector\";\n\nimport { useFloatingChild } from \"../../overlay/use-floating-context\";\nimport { useInheritedThemeScope, useMaxWidthMediaQuery } from \"../../theme\";\nimport * as elementWithDropdownStyles from \"./element-with-dropdown.styles\";\nimport type { DropdownAlignmentType } from \"./types\";\n\nexport interface DropdownRenderProps {\n elementWidth: number;\n styles: CSSProperties;\n setFloatingRef: (node: HTMLElement | null) => void;\n getFloatingProps: (\n userProps?: React.HTMLProps<HTMLElement>\n ) => Record<string, unknown>;\n}\n\ninterface ElementWithDropdownProps {\n enabled: boolean;\n isOpen: boolean;\n onOpen?: () => void | undefined;\n onClose?: (reason: OpenChangeReason | undefined) => void | undefined;\n onDismiss?: () => void | undefined;\n renderElement: () => React.ReactNode;\n renderDropdown: (props: DropdownRenderProps) => React.ReactNode;\n customZIndex?: number | undefined;\n clickToToggle?: boolean | undefined;\n /* the distance between the reference element and the dropdown */\n offset?: number | undefined;\n /* the alignment of the dropdown to the left or right of the reference element */\n alignment?: DropdownAlignmentType | undefined;\n fitAvailableHeight?: boolean | undefined;\n /**\n * The root element that contains the popover element. Defaults to the document body.\n *\n * If the parent that contains the trigger element has a higher z-index than the popover,\n * the popover may not be visible. Specify the parent element here instead\n */\n rootNode?: RefObject<HTMLElement> | undefined;\n /** If set, the `elementWidth` refers to this instead of the reference element */\n positionRef?: RefObject<HTMLElement> | undefined;\n}\n\nconst getFloatingPlacement = (alignment: DropdownAlignmentType): Placement => {\n switch (alignment) {\n case \"right\":\n return \"bottom-end\";\n case \"left\":\n default:\n return \"bottom-start\";\n }\n};\n\nconst DEFAULT_Z_INDEX = 50;\n\nexport const DropdownRenderContext = createContext<DropdownRenderProps>({\n elementWidth: 0,\n styles: {},\n setFloatingRef: () => {\n // noop\n },\n getFloatingProps: () => ({}),\n});\n\nexport const useDropdownRender = () => {\n return useContext(DropdownRenderContext);\n};\n\n/**\n * A wrapper to handle the common pattern of a field with a card-based dropdown\n * using Floating UI\n *\n * Usage:\n * - Specify `renderElement` for the main field\n * - Specify `renderDropdown` for the dropdown\n * - Use `isOpen` to control the visibility of the dropdown\n * - Handle changes in visibility with `onOpen`, `onClose` and `onDismiss`\n * - If your dropdown can resize, set the css like so: `max-height: var(--available-height);`\n * - If your dropdown has a preferred max-height, set the css like so:\n * `max-height: min(100px, var(--available-height, infinity * 1px))`\n *\n * Pass the floating props to the dropdown:\n * ```\n * <DropdownContainer\n * ref={setFloatingRef}\n * style={styles}\n * {...getFloatingProps()}\n * >\n * </DropdownContainer>\n * ```\n *\n * If you need event listeners, pass them to `getFloatingProps()`:\n * ```\n * getFloatingProps({\n * onClick: handleOnClick\n * })\n * ```\n */\nexport const ElementWithDropdown = ({\n enabled,\n isOpen,\n onOpen,\n onClose,\n onDismiss,\n renderElement,\n renderDropdown,\n customZIndex,\n clickToToggle = false,\n offset: dropdownOffset = 0,\n alignment = \"left\",\n fitAvailableHeight,\n rootNode,\n positionRef,\n}: ElementWithDropdownProps) => {\n // =============================================================================\n // CONST, STATE, REF\n // =============================================================================\n const isMobile = useMaxWidthMediaQuery(\"sm\");\n const elementRef = useRef<HTMLDivElement | null>(null);\n const { width: referenceWidth = 0 } = useResizeDetector({\n targetRef: positionRef ?? elementRef,\n handleHeight: false,\n });\n const center: Middleware = {\n name: \"center\",\n fn: ({ x, rects }) => {\n const noGapInBetween =\n x === 0 || x + rects.floating.width === window.innerWidth;\n return {\n x:\n noGapInBetween && isMobile\n ? (window.innerWidth - rects.floating.width) / 2\n : x,\n };\n },\n };\n const { refs, floatingStyles, context } = useFloating({\n open: isOpen,\n onOpenChange: (open, _event, reason) => {\n if (reason === \"escape-key\") {\n onDismiss?.();\n } else if (open && !isOpen) {\n onOpen?.();\n } else if (!open && isOpen) {\n onClose?.(reason);\n }\n },\n whileElementsMounted: autoUpdate,\n placement: getFloatingPlacement(alignment),\n middleware: [\n offset(dropdownOffset),\n flip(),\n shift({\n limiter: limitShift(),\n }),\n size({\n // shrink to fit available vertical space\n apply({ availableHeight, elements }) {\n if (\n !fitAvailableHeight ||\n availableHeight >= elements.floating.scrollHeight\n ) {\n // reset this so that dropdown can expand as needed\n elements.floating.style.setProperty(\n elementWithDropdownStyles.tokens.availableHeight,\n \"\"\n );\n return;\n }\n\n elements.floating.style.setProperty(\n elementWithDropdownStyles.tokens.availableHeight,\n `${Math.max(0, availableHeight)}px`\n );\n },\n }),\n center,\n ],\n });\n const parentZIndex = useFloatingChild();\n\n const { isMounted, styles } = useTransitionStyles(context, {\n initial: { opacity: 0 },\n open: { opacity: 1 },\n duration: 300,\n });\n const { themeProps, themeStyle } = useInheritedThemeScope(isMounted);\n\n const click = useClick(context, {\n enabled,\n toggle: clickToToggle,\n keyboardHandlers: clickToToggle,\n });\n const dismiss = useDismiss(context, { enabled });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n click,\n dismiss,\n ]);\n\n // =============================================================================\n // RENDER FUNCTIONS\n // =============================================================================\n const dropdownRenderProps = {\n elementWidth: referenceWidth,\n styles: {\n ...styles,\n ...floatingStyles,\n zIndex: customZIndex ?? parentZIndex ?? DEFAULT_Z_INDEX,\n },\n setFloatingRef: refs.setFloating,\n getFloatingProps,\n };\n\n return (\n <>\n <div\n ref={(node) => {\n elementRef.current = node;\n refs.setReference(node);\n }}\n {...getReferenceProps()}\n >\n {renderElement()}\n </div>\n {isMounted && (\n <FloatingPortal root={rootNode}>\n <FloatingFocusManager\n context={context}\n modal={false}\n initialFocus={-1}\n returnFocus={false} // leads to focus trap. parent to handle the final focus state\n >\n <DropdownRenderContext.Provider\n value={dropdownRenderProps}\n >\n <div {...themeProps} style={themeStyle}>\n {renderDropdown(dropdownRenderProps)}\n </div>\n </DropdownRenderContext.Provider>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </>\n );\n};\n"],"names":["getFloatingPlacement","alignment","DropdownRenderContext","createContext","elementWidth","styles","setFloatingRef","getFloatingProps","enabled","isOpen","onOpen","onClose","onDismiss","renderElement","renderDropdown","customZIndex","clickToToggle","offset","dropdownOffset","fitAvailableHeight","rootNode","positionRef","isMobile","useMaxWidthMediaQuery","elementRef","useRef","width","referenceWidth","useResizeDetector","targetRef","handleHeight","center","name","fn","x","rects","floating","window","innerWidth","refs","floatingStyles","context","useFloating","open","onOpenChange","_event","reason","whileElementsMounted","autoUpdate","placement","middleware","flip","shift","limiter","limitShift","size","apply","availableHeight","elements","scrollHeight","style","setProperty","elementWithDropdownStyles.tokens","Math","max","parentZIndex","useFloatingChild","isMounted","useTransitionStyles","initial","opacity","duration","themeProps","themeStyle","useInheritedThemeScope","click","useClick","toggle","keyboardHandlers","dismiss","useDismiss","getReferenceProps","useInteractions","dropdownRenderProps","zIndex","_a","setFloating","_jsxs","_jsx","Object","assign","ref","node","current","setReference","children","FloatingPortal","root","FloatingFocusManager","modal","initialFocus","returnFocus","Provider","value","useContext"],"mappings":"uxBAgEA,MAAMA,EAAwBC,GAEjB,UADDA,EAEO,aAGA,eAMNC,EAAwBC,EAAAA,cAAmC,CACpEC,aAAc,EACdC,OAAQ,CAAA,EACRC,eAAgB,OAGhBC,iBAAkB,KAAA,CAAS,iEAqCI,EAC/BC,UACAC,SACAC,SACAC,UACAC,YACAC,gBACAC,iBACAC,eACAC,iBAAgB,EAChBC,OAAQC,EAAiB,EACzBjB,YAAY,OACZkB,qBACAC,WACAC,wBAKA,MAAMC,EAAWC,EAAAA,sBAAsB,MACjCC,EAAaC,EAAAA,OAA8B,OACzCC,MAAOC,EAAiB,GAAMC,EAAAA,kBAAkB,CACpDC,UAAWR,QAAAA,EAAeG,EAC1BM,cAAc,IAEZC,EAAqB,CACvBC,KAAM,SACNC,GAAI,EAAGC,IAAGC,YAGC,CACHD,GAFM,IAANA,GAAWA,EAAIC,EAAMC,SAASV,QAAUW,OAAOC,aAGzBhB,GACXe,OAAOC,WAAaH,EAAMC,SAASV,OAAS,EAC7CQ,MAIhBK,KAAEA,EAAIC,eAAEA,EAAcC,QAAEA,GAAYC,EAAAA,YAAY,CAClDC,KAAMlC,EACNmC,aAAc,CAACD,EAAME,EAAQC,KACV,eAAXA,EACAlC,SAAAA,IACO+B,IAASlC,EAChBC,SAAAA,KACQiC,GAAQlC,IAChBE,SAAAA,EAAUmC,GACd,EAEJC,qBAAsBC,EAAAA,WACtBC,UAAWjD,EAAqBC,GAChCiD,WAAY,CACRjC,EAAAA,OAAOC,GACPiC,SACAC,QAAM,CACFC,QAASC,EAAAA,eAEbC,OAAK,CAED,KAAAC,EAAMC,gBAAEA,EAAeC,SAAEA,KAEhBvC,GACDsC,GAAmBC,EAAStB,SAASuB,aAGrCD,EAAStB,SAASwB,MAAMC,YACpBC,EAAAA,OAAiCL,gBACjC,IAKRC,EAAStB,SAASwB,MAAMC,YACpBC,EAAAA,OAAiCL,gBACjC,GAAGM,KAAKC,IAAI,EAAGP,OAEvB,IAEJ1B,KAGFkC,EAAeC,EAAAA,oBAEfC,UAAEA,EAAS9D,OAAEA,GAAW+D,EAAAA,oBAAoB3B,EAAS,CACvD4B,QAAS,CAAEC,QAAS,GACpB3B,KAAM,CAAE2B,QAAS,GACjBC,SAAU,OAERC,WAAEA,EAAUC,WAAEA,GAAeC,EAAAA,uBAAuBP,GAEpDQ,EAAQC,EAAAA,SAASnC,EAAS,CAC5BjC,UACAqE,OAAQ7D,EACR8D,iBAAkB9D,IAEhB+D,EAAUC,EAAAA,WAAWvC,EAAS,CAAEjC,aAEhCyE,kBAAEA,EAAiB1E,iBAAEA,GAAqB2E,kBAAgB,CAC5DP,EACAI,IAMEI,EAAsB,CACxB/E,aAAcuB,EACdtB,oDACOA,GACAmC,GAAc,CACjB4C,OAAoC,QAA5BC,EAAAtE,QAAAA,EAAgBkD,SAAY,IAAAoB,EAAAA,EA3JxB,KA6JhB/E,eAAgBiC,EAAK+C,YACrB/E,oBAGJ,OACIgF,6BACIC,EAAAA,IAAA,MAAAC,OAAAC,OAAA,CACIC,IAAMC,IACFpE,EAAWqE,QAAUD,EACrBrD,EAAKuD,aAAaF,EAAK,GAEvBX,IAAmB,CAAAc,SAEtBlF,OAEJsD,GACGqB,EAAAA,IAACQ,EAAAA,eAAc,CAACC,KAAM7E,EAAQ2E,SAC1BP,EAAAA,IAACU,EAAAA,qBAAoB,CACjBzD,QAASA,EACT0D,OAAO,EACPC,cAAc,EACdC,aAAa,EAAKN,SAElBP,EAAAA,IAACtF,EAAsBoG,SAAQ,CAC3BC,MAAOpB,WAEPK,EAAAA,IAAA,MAAAC,OAAAC,OAAA,CAAA,EAASlB,EAAU,CAAEZ,MAAOa,EAAUsB,SACjCjF,EAAeqE,cAMrC,4BAnLsB,IACtBqB,EAAAA,WAAWtG"}
|
|
1
|
+
{"version":3,"file":"element-with-dropdown.js","sources":["../../../../src/shared/dropdown-wrapper/element-with-dropdown.tsx"],"sourcesContent":["import type {\n Middleware,\n OpenChangeReason,\n Placement,\n} from \"@floating-ui/react\";\nimport {\n autoUpdate,\n flip,\n FloatingFocusManager,\n FloatingPortal,\n limitShift,\n offset,\n shift,\n size,\n useClick,\n useDismiss,\n useFloating,\n useInteractions,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport type { CSSProperties, RefObject } from \"react\";\nimport { createContext, useContext, useEffect, useRef } from \"react\";\nimport { useResizeDetector } from \"react-resize-detector\";\n\nimport { useFloatingChild } from \"../../overlay/use-floating-context\";\nimport { useInheritedThemeScope, useMaxWidthMediaQuery } from \"../../theme\";\nimport { useEvent, usePrevious } from \"../../util\";\nimport * as elementWithDropdownStyles from \"./element-with-dropdown.styles\";\nimport type { DropdownAlignmentType } from \"./types\";\n\nexport interface DropdownRenderProps {\n elementWidth: number;\n styles: CSSProperties;\n setFloatingRef: (node: HTMLElement | null) => void;\n getFloatingProps: (\n userProps?: React.HTMLProps<HTMLElement>\n ) => Record<string, unknown>;\n}\n\ninterface ElementWithDropdownProps {\n enabled: boolean;\n isOpen: boolean;\n onOpen?: (() => void) | undefined;\n onClose?: ((reason: OpenChangeReason | undefined) => void) | undefined;\n onDismiss?: (() => void) | undefined;\n onHide?: (() => void) | undefined;\n renderElement: () => React.ReactNode;\n renderDropdown: (props: DropdownRenderProps) => React.ReactNode;\n customZIndex?: number | undefined;\n clickToToggle?: boolean | undefined;\n /* the distance between the reference element and the dropdown */\n offset?: number | undefined;\n /* the alignment of the dropdown to the left or right of the reference element */\n alignment?: DropdownAlignmentType | undefined;\n fitAvailableHeight?: boolean | undefined;\n /**\n * The root element that contains the popover element. Defaults to the document body.\n *\n * If the parent that contains the trigger element has a higher z-index than the popover,\n * the popover may not be visible. Specify the parent element here instead\n */\n rootNode?: RefObject<HTMLElement> | undefined;\n /** If set, the `elementWidth` refers to this instead of the reference element */\n positionRef?: RefObject<HTMLElement> | undefined;\n}\n\nconst getFloatingPlacement = (alignment: DropdownAlignmentType): Placement => {\n switch (alignment) {\n case \"right\":\n return \"bottom-end\";\n case \"left\":\n default:\n return \"bottom-start\";\n }\n};\n\nconst DEFAULT_Z_INDEX = 50;\n\nexport const DropdownRenderContext = createContext<DropdownRenderProps>({\n elementWidth: 0,\n styles: {},\n setFloatingRef: () => {\n // noop\n },\n getFloatingProps: () => ({}),\n});\n\nexport const useDropdownRender = () => {\n return useContext(DropdownRenderContext);\n};\n\n/**\n * A wrapper to handle the common pattern of a field with a card-based dropdown\n * using Floating UI\n *\n * Usage:\n * - Specify `renderElement` for the main field\n * - Specify `renderDropdown` for the dropdown\n * - Use `isOpen` to control the visibility of the dropdown\n * - Handle changes in visibility with `onOpen`, `onClose` and `onDismiss`\n * - If your dropdown can resize, set the css like so: `max-height: var(--available-height);`\n * - If your dropdown has a preferred max-height, set the css like so:\n * `max-height: min(100px, var(--available-height, infinity * 1px))`\n *\n * Pass the floating props to the dropdown:\n * ```\n * <DropdownContainer\n * ref={setFloatingRef}\n * style={styles}\n * {...getFloatingProps()}\n * >\n * </DropdownContainer>\n * ```\n *\n * If you need event listeners, pass them to `getFloatingProps()`:\n * ```\n * getFloatingProps({\n * onClick: handleOnClick\n * })\n * ```\n */\nexport const ElementWithDropdown = ({\n enabled,\n isOpen,\n onOpen,\n onClose,\n onDismiss,\n onHide,\n renderElement,\n renderDropdown,\n customZIndex,\n clickToToggle = false,\n offset: dropdownOffset = 0,\n alignment = \"left\",\n fitAvailableHeight,\n rootNode,\n positionRef,\n}: ElementWithDropdownProps) => {\n // =============================================================================\n // CONST, STATE, REF\n // =============================================================================\n const isMobile = useMaxWidthMediaQuery(\"sm\");\n const elementRef = useRef<HTMLDivElement | null>(null);\n const { width: referenceWidth = 0 } = useResizeDetector({\n targetRef: positionRef ?? elementRef,\n handleHeight: false,\n });\n const center: Middleware = {\n name: \"center\",\n fn: ({ x, rects }) => {\n const noGapInBetween =\n x === 0 || x + rects.floating.width === window.innerWidth;\n return {\n x:\n noGapInBetween && isMobile\n ? (window.innerWidth - rects.floating.width) / 2\n : x,\n };\n },\n };\n const { refs, floatingStyles, context } = useFloating({\n open: isOpen,\n onOpenChange: (open, _event, reason) => {\n if (reason === \"escape-key\") {\n onDismiss?.();\n } else if (open && !isOpen) {\n onOpen?.();\n } else if (!open && isOpen) {\n onClose?.(reason);\n }\n },\n whileElementsMounted: autoUpdate,\n placement: getFloatingPlacement(alignment),\n middleware: [\n offset(dropdownOffset),\n flip(),\n shift({\n limiter: limitShift(),\n }),\n size({\n // shrink to fit available vertical space\n apply({ availableHeight, elements }) {\n if (\n !fitAvailableHeight ||\n availableHeight >= elements.floating.scrollHeight\n ) {\n // reset this so that dropdown can expand as needed\n elements.floating.style.setProperty(\n elementWithDropdownStyles.tokens.availableHeight,\n \"\"\n );\n return;\n }\n\n elements.floating.style.setProperty(\n elementWithDropdownStyles.tokens.availableHeight,\n `${Math.max(0, availableHeight)}px`\n );\n },\n }),\n center,\n ],\n });\n const parentZIndex = useFloatingChild();\n\n const { isMounted, styles } = useTransitionStyles(context, {\n initial: { opacity: 0 },\n open: { opacity: 1 },\n duration: 300,\n });\n const { themeProps, themeStyle } = useInheritedThemeScope(isMounted);\n\n const click = useClick(context, {\n enabled,\n toggle: clickToToggle,\n keyboardHandlers: clickToToggle,\n });\n const dismiss = useDismiss(context, { enabled });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n click,\n dismiss,\n ]);\n\n // =========================================================================\n // ON HIDE EFFECT\n // =========================================================================\n const prevIsMounted = usePrevious(isMounted);\n const onHideEvent = useEvent(() => onHide?.());\n\n useEffect(() => {\n if (prevIsMounted && !isMounted) {\n onHideEvent();\n }\n }, [prevIsMounted, isMounted, onHideEvent]);\n\n // =========================================================================\n // RENDER FUNCTIONS\n // =========================================================================\n const dropdownRenderProps = {\n elementWidth: referenceWidth,\n styles: {\n ...styles,\n ...floatingStyles,\n zIndex: customZIndex ?? parentZIndex ?? DEFAULT_Z_INDEX,\n },\n setFloatingRef: refs.setFloating,\n getFloatingProps,\n };\n\n return (\n <>\n <div\n ref={(node) => {\n elementRef.current = node;\n refs.setReference(node);\n }}\n {...getReferenceProps()}\n >\n {renderElement()}\n </div>\n {isMounted && (\n <FloatingPortal root={rootNode}>\n <FloatingFocusManager\n context={context}\n modal={false}\n initialFocus={-1}\n returnFocus={false} // leads to focus trap. parent to handle the final focus state\n >\n <DropdownRenderContext.Provider\n value={dropdownRenderProps}\n >\n <div {...themeProps} style={themeStyle}>\n {renderDropdown(dropdownRenderProps)}\n </div>\n </DropdownRenderContext.Provider>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </>\n );\n};\n"],"names":["getFloatingPlacement","alignment","DropdownRenderContext","createContext","elementWidth","styles","setFloatingRef","getFloatingProps","enabled","isOpen","onOpen","onClose","onDismiss","onHide","renderElement","renderDropdown","customZIndex","clickToToggle","offset","dropdownOffset","fitAvailableHeight","rootNode","positionRef","isMobile","useMaxWidthMediaQuery","elementRef","useRef","width","referenceWidth","useResizeDetector","targetRef","handleHeight","center","name","fn","x","rects","floating","window","innerWidth","refs","floatingStyles","context","useFloating","open","onOpenChange","_event","reason","whileElementsMounted","autoUpdate","placement","middleware","flip","shift","limiter","limitShift","size","apply","availableHeight","elements","scrollHeight","style","setProperty","elementWithDropdownStyles.tokens","Math","max","parentZIndex","useFloatingChild","isMounted","useTransitionStyles","initial","opacity","duration","themeProps","themeStyle","useInheritedThemeScope","click","useClick","toggle","keyboardHandlers","dismiss","useDismiss","getReferenceProps","useInteractions","prevIsMounted","usePrevious","onHideEvent","useEvent","useEffect","dropdownRenderProps","zIndex","_a","setFloating","_jsxs","_jsx","Object","assign","ref","node","current","setReference","children","FloatingPortal","root","FloatingFocusManager","modal","initialFocus","returnFocus","Provider","value","useContext"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidenav.js","sources":["../../../src/sidenav/sidenav.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { useRef, useState } from \"react\";\n\nimport { useId } from \"../util\";\nimport * as styles from \"./sidenav.styles\";\nimport type { SidenavContextItem } from \"./sidenav-context\";\nimport { SidenavContext } from \"./sidenav-context\";\nimport { SidenavDrawerItem } from \"./sidenav-drawer-item\";\nimport { SidenavDrawerSubitem } from \"./sidenav-drawer-subitem\";\nimport { SidenavGroup } from \"./sidenav-group\";\nimport { SidenavItem } from \"./sidenav-item\";\nimport type { SidenavProps } from \"./types\";\n\nconst SidenavBase = ({\n fixed = true,\n children,\n \"aria-label\": ariaLabel = \"Sidebar\",\n className,\n ...otherProps\n}: SidenavProps) => {\n // =============================================================================\n // CONST, STATE, REF\n // =============================================================================\n const wrapperRef = useRef<HTMLDivElement>(null);\n const menuRef = useRef<HTMLDivElement>(null);\n const internalId = useId();\n\n const [currentItem, setCurrentItem] = useState<\n SidenavContextItem | undefined\n >(undefined);\n const [selectedItem, setSelectedItem] = useState<\n SidenavContextItem | undefined\n >(undefined);\n const [previouslySelectedItemId, setPreviouslySelectedItemId] = useState<\n string | undefined\n >(undefined);\n\n // =========================================================================\n // RENDER FUNCTIONS\n // =========================================================================\n return (\n <SidenavContext.Provider\n value={{\n internalId,\n menuRef,\n currentItem,\n selectedItem,\n previouslySelectedItemId,\n setCurrentItem,\n setSelectedItem,\n setPreviouslySelectedItemId,\n }}\n >\n <div\n ref={wrapperRef}\n {...otherProps}\n className={clsx(\n styles.wrapper,\n fixed && styles.wrapperFixed,\n className\n )}\n >\n <nav\n ref={menuRef}\n aria-label={ariaLabel}\n className={clsx(\n styles.containerBase,\n styles.desktopContainer\n )}\n >\n {children}\n </nav>\n {/** NOTE: Since mobile view not supported yet, children will not be rendered */}\n <nav\n className={clsx(\n styles.containerBase,\n styles.mobileContainer\n )}\n ></nav>\n </div>\n </SidenavContext.Provider>\n );\n};\n\nexport const Sidenav = Object.assign(SidenavBase, {\n Group: SidenavGroup,\n Item: SidenavItem,\n DrawerItem: SidenavDrawerItem,\n DrawerSubitem: SidenavDrawerSubitem,\n});\n"],"names":["Sidenav","Object","assign","_a","fixed","children","ariaLabel","className","otherProps","__rest","wrapperRef","useRef","menuRef","internalId","useId","currentItem","setCurrentItem","useState","undefined","selectedItem","setSelectedItem","previouslySelectedItemId","setPreviouslySelectedItemId","_jsx","SidenavContext","Provider","value","_jsxs","ref","clsx","styles.wrapper","styles.wrapperFixed","styles.containerBase","styles.desktopContainer","styles.mobileContainer","Group","SidenavGroup","Item","SidenavItem","DrawerItem","SidenavDrawerItem","DrawerSubitem","SidenavDrawerSubitem"],"mappings":"0mBAaA,
|
|
1
|
+
{"version":3,"file":"sidenav.js","sources":["../../../src/sidenav/sidenav.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { useRef, useState } from \"react\";\n\nimport { useId } from \"../util\";\nimport * as styles from \"./sidenav.styles\";\nimport type { SidenavContextItem } from \"./sidenav-context\";\nimport { SidenavContext } from \"./sidenav-context\";\nimport { SidenavDrawerItem } from \"./sidenav-drawer-item\";\nimport { SidenavDrawerSubitem } from \"./sidenav-drawer-subitem\";\nimport { SidenavGroup } from \"./sidenav-group\";\nimport { SidenavItem } from \"./sidenav-item\";\nimport type { SidenavProps } from \"./types\";\n\nconst SidenavBase = ({\n fixed = true,\n children,\n \"aria-label\": ariaLabel = \"Sidebar\",\n className,\n ...otherProps\n}: SidenavProps) => {\n // =============================================================================\n // CONST, STATE, REF\n // =============================================================================\n const wrapperRef = useRef<HTMLDivElement>(null);\n const menuRef = useRef<HTMLDivElement>(null);\n const internalId = useId();\n\n const [currentItem, setCurrentItem] = useState<\n SidenavContextItem | undefined\n >(undefined);\n const [selectedItem, setSelectedItem] = useState<\n SidenavContextItem | undefined\n >(undefined);\n const [previouslySelectedItemId, setPreviouslySelectedItemId] = useState<\n string | undefined\n >(undefined);\n\n // =========================================================================\n // RENDER FUNCTIONS\n // =========================================================================\n return (\n <SidenavContext.Provider\n value={{\n internalId,\n menuRef,\n currentItem,\n selectedItem,\n previouslySelectedItemId,\n setCurrentItem,\n setSelectedItem,\n setPreviouslySelectedItemId,\n }}\n >\n <div\n ref={wrapperRef}\n {...otherProps}\n className={clsx(\n styles.wrapper,\n fixed && styles.wrapperFixed,\n className\n )}\n >\n <nav\n ref={menuRef}\n aria-label={ariaLabel}\n className={clsx(\n styles.containerBase,\n styles.desktopContainer\n )}\n >\n {children}\n </nav>\n {/** NOTE: Since mobile view not supported yet, children will not be rendered */}\n <nav\n className={clsx(\n styles.containerBase,\n styles.mobileContainer\n )}\n ></nav>\n </div>\n </SidenavContext.Provider>\n );\n};\n\n// @catalog\n/**\n * A fixed sidebar navigation component for multi-level page navigation.\n *\n * Use `Sidenav` to present a persistent icon-based navigation rail with\n * optional menu drawers.\n */\nexport const Sidenav = Object.assign(SidenavBase, {\n /** Renders a group of navigation items, optionally separated by a divider. */\n Group: SidenavGroup,\n /** Renders a single icon-and-label navigation entry that can open a menu drawer. */\n Item: SidenavItem,\n /** Renders a menu item inside an item's drawer, with optional collapsible sub-items. */\n DrawerItem: SidenavDrawerItem,\n /** Renders a leaf-level navigation entry inside a `Sidenav.DrawerItem`. */\n DrawerSubitem: SidenavDrawerSubitem,\n});\n"],"names":["Sidenav","Object","assign","_a","fixed","children","ariaLabel","className","otherProps","__rest","wrapperRef","useRef","menuRef","internalId","useId","currentItem","setCurrentItem","useState","undefined","selectedItem","setSelectedItem","previouslySelectedItemId","setPreviouslySelectedItemId","_jsx","SidenavContext","Provider","value","_jsxs","ref","clsx","styles.wrapper","styles.wrapperFixed","styles.containerBase","styles.desktopContainer","styles.mobileContainer","Group","SidenavGroup","Item","SidenavItem","DrawerItem","SidenavDrawerItem","DrawerSubitem","SidenavDrawerSubitem"],"mappings":"0mBAaA,MA8EaA,EAAUC,OAAOC,QA9ETC,IAAA,IAAAC,MACjBA,GAAQ,EAAIC,SACZA,EACA,aAAcC,EAAY,UAASC,UACnCA,GAASJ,EACNK,EAAUC,EAAAA,OAAAN,EALI,+CAUjB,MAAMO,EAAaC,EAAAA,OAAuB,MACpCC,EAAUD,EAAAA,OAAuB,MACjCE,EAAaC,EAAAA,SAEZC,EAAaC,GAAkBC,EAAAA,cAEpCC,IACKC,EAAcC,GAAmBH,EAAAA,cAEtCC,IACKG,EAA0BC,GAA+BL,EAAAA,cAE9DC,GAKF,OACIK,MAACC,EAAAA,eAAeC,SAAQ,CACpBC,MAAO,CACHb,aACAD,UACAG,cACAI,eACAE,2BACAL,iBACAI,kBACAE,+BACHjB,SAEDsB,OAAA,MAAA1B,OAAAC,OAAA,CACI0B,IAAKlB,GACDF,EAAU,CACdD,UAAWsB,UACPC,EAAAA,QACA1B,GAAS2B,eACTxB,GACHF,SAAA,CAEDkB,MAAA,MAAA,CACIK,IAAKhB,EAAO,aACAN,EACZC,UAAWsB,EAAAA,QACPG,EAAAA,cACAC,oBACH5B,SAEAA,IAGLkB,EAAAA,IAAA,MAAA,CACIhB,UAAWsB,EAAAA,QACPG,EAAAA,cACAE,EAAAA,wBAIU,GAWgB,CAE9CC,MAAOC,EAAAA,aAEPC,KAAMC,EAAAA,YAENC,WAAYC,EAAAA,kBAEZC,cAAeC,EAAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"singpass-button.js","sources":["../../../src/singpass-button/singpass-button.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { forwardRef } from \"react\";\n\nimport { getSpLogo } from \"./singpass-assets\";\nimport * as styles from \"./singpass-button.styles\";\nimport type {\n SingpassButtonProps,\n SingpassButtonRef,\n SingpassButtonSizeType,\n SingpassButtonStyleType,\n} from \"./types\";\n\nconst styleClassMap: Record<SingpassButtonStyleType, string> = {\n \"red-filled\": styles.mainStyleRedFilled,\n \"white-filled\": styles.mainStyleWhiteFilled,\n};\n\nconst sizeClassMap: Record<SingpassButtonSizeType, string> = {\n small: styles.mainSizeSmall,\n large: styles.mainSizeLarge,\n default: \"\",\n};\n\nconst Component = (props: SingpassButtonProps, ref: SingpassButtonRef) => {\n const {\n styleType = \"white-filled\",\n sizeType = \"default\",\n className,\n \"data-testid\": testId = \"singpass-button\",\n ...otherProps\n } = props;\n\n return (\n <button\n ref={ref}\n data-testid={testId}\n {...otherProps}\n aria-label=\"Log in with Singpass\"\n className={clsx(\n styles.main,\n sizeClassMap[sizeType],\n styleClassMap[styleType],\n className\n )}\n >\n <span\n className={clsx(\n styles.svgContainer,\n sizeType === \"large\" && styles.svgContainerSizeLarge\n )}\n >\n <img src={getSpLogo(styleType)} alt=\"\" />\n </span>\n </button>\n );\n};\n\nconst BaseSingpassButton = forwardRef(Component);\n\nconst DefaultSingpassButtonComponent = (\n props: SingpassButtonProps,\n ref: SingpassButtonRef\n) => (\n <BaseSingpassButton\n {...props}\n sizeType={props.sizeType ?? \"default\"}\n ref={ref}\n />\n);\nDefaultSingpassButtonComponent.displayName = \"SingpassButton.Default\";\n\nconst SmallSingpassButtonComponent = (\n props: SingpassButtonProps,\n ref: SingpassButtonRef\n) => <BaseSingpassButton {...props} sizeType=\"small\" ref={ref} />;\nSmallSingpassButtonComponent.displayName = \"SingpassButton.Small\";\n\nconst LargeSingpassButtonComponent = (\n props: SingpassButtonProps,\n ref: SingpassButtonRef\n) => <BaseSingpassButton {...props} sizeType=\"large\" ref={ref} />;\nLargeSingpassButtonComponent.displayName = \"SingpassButton.Large\";\n\nexport const SingpassButton = Object.assign(BaseSingpassButton, {\n /** @deprecated Use the `sizeType` prop instead: `<SingpassButton>` or `<SingpassButton sizeType=\"default\">` */\n Default: forwardRef(DefaultSingpassButtonComponent),\n /** @deprecated Use the `sizeType` prop instead: `<SingpassButton sizeType=\"small\">` */\n Small: forwardRef(SmallSingpassButtonComponent),\n /** @deprecated Use the `sizeType` prop instead: `<SingpassButton sizeType=\"large\">` */\n Large: forwardRef(LargeSingpassButtonComponent),\n});\n"],"names":["styleClassMap","styles.mainStyleRedFilled","styles.mainStyleWhiteFilled","sizeClassMap","small","styles.mainSizeSmall","large","styles.mainSizeLarge","default","BaseSingpassButton","forwardRef","props","ref","styleType","sizeType","className","testId","otherProps","__rest","_jsx","Object","assign","clsx","styles.main","children","styles.svgContainer","styles.svgContainerSizeLarge","src","getSpLogo","alt","DefaultSingpassButtonComponent","_a","displayName","SmallSingpassButtonComponent","LargeSingpassButtonComponent","SingpassButton","Default","Small","Large"],"mappings":"sRAYA,MAAMA,EAAyD,CAC3D,aAAcC,EAAAA,mBACd,eAAgBC,EAAAA,sBAGdC,EAAuD,CACzDC,MAAOC,EAAAA,cACPC,MAAOC,EAAAA,cACPC,QAAS,IAqCPC,EAAqBC,EAAAA,YAlCT,CAACC,EAA4BC,KAC3C,MAAMC,UACFA,EAAY,eAAcC,SAC1BA,EAAW,UAASC,UACpBA,EACA,cAAeC,EAAS,mBAExBL,EADGM,EAAUC,EAAAA,OACbP,EANE,CAAA,YAAA,WAAA,YAAA,gBAQN,OACIQ,EAAAA,IAAA,SAAAC,OAAAC,OAAA,CACIT,IAAKA,EAAG,cACKI,GACTC,EAAU,CAAA,aACH,uBACXF,UAAWO,EAAAA,QACPC,EAAAA,KACApB,EAAaW,GACbd,EAAca,GACdE,GACHS,SAEDL,EAAAA,IAAA,OAAA,CACIJ,UAAWO,EAAAA,QACPG,EAAAA,aACa,UAAbX,GAAwBY,EAAAA,uBAC3BF,SAEDL,EAAAA,IAAA,MAAA,CAAKQ,IAAKC,EAAAA,UAAUf,GAAYgB,IAAI,SAEnC,IAMXC,EAAiC,CACnCnB,EACAC,WACC,OACDO,EAAAA,IAACV,EAAkBW,OAAAC,OAAA,CAAA,EACXV,EAAK,CACTG,SAAwB,QAAdiB,EAAApB,EAAMG,gBAAQ,IAAAiB,EAAAA,EAAI,UAC5BnB,IAAKA,IACP,EAENkB,EAA+BE,YAAc,yBAE7C,MAAMC,EAA+B,CACjCtB,EACAC,IACCO,EAAAA,IAACV,mBAAuBE,EAAK,CAAEG,SAAS,QAAQF,IAAKA,KAC1DqB,EAA6BD,YAAc,uBAE3C,MAAME,EAA+B,CACjCvB,EACAC,IACCO,EAAAA,IAACV,mBAAuBE,EAAK,CAAEG,SAAS,QAAQF,IAAKA,KAC1DsB,EAA6BF,YAAc,
|
|
1
|
+
{"version":3,"file":"singpass-button.js","sources":["../../../src/singpass-button/singpass-button.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { forwardRef } from \"react\";\n\nimport { getSpLogo } from \"./singpass-assets\";\nimport * as styles from \"./singpass-button.styles\";\nimport type {\n SingpassButtonProps,\n SingpassButtonRef,\n SingpassButtonSizeType,\n SingpassButtonStyleType,\n} from \"./types\";\n\nconst styleClassMap: Record<SingpassButtonStyleType, string> = {\n \"red-filled\": styles.mainStyleRedFilled,\n \"white-filled\": styles.mainStyleWhiteFilled,\n};\n\nconst sizeClassMap: Record<SingpassButtonSizeType, string> = {\n small: styles.mainSizeSmall,\n large: styles.mainSizeLarge,\n default: \"\",\n};\n\nconst Component = (props: SingpassButtonProps, ref: SingpassButtonRef) => {\n const {\n styleType = \"white-filled\",\n sizeType = \"default\",\n className,\n \"data-testid\": testId = \"singpass-button\",\n ...otherProps\n } = props;\n\n return (\n <button\n ref={ref}\n data-testid={testId}\n {...otherProps}\n aria-label=\"Log in with Singpass\"\n className={clsx(\n styles.main,\n sizeClassMap[sizeType],\n styleClassMap[styleType],\n className\n )}\n >\n <span\n className={clsx(\n styles.svgContainer,\n sizeType === \"large\" && styles.svgContainerSizeLarge\n )}\n >\n <img src={getSpLogo(styleType)} alt=\"\" />\n </span>\n </button>\n );\n};\n\nconst BaseSingpassButton = forwardRef(Component);\n\nconst DefaultSingpassButtonComponent = (\n props: SingpassButtonProps,\n ref: SingpassButtonRef\n) => (\n <BaseSingpassButton\n {...props}\n sizeType={props.sizeType ?? \"default\"}\n ref={ref}\n />\n);\nDefaultSingpassButtonComponent.displayName = \"SingpassButton.Default\";\n\nconst SmallSingpassButtonComponent = (\n props: SingpassButtonProps,\n ref: SingpassButtonRef\n) => <BaseSingpassButton {...props} sizeType=\"small\" ref={ref} />;\nSmallSingpassButtonComponent.displayName = \"SingpassButton.Small\";\n\nconst LargeSingpassButtonComponent = (\n props: SingpassButtonProps,\n ref: SingpassButtonRef\n) => <BaseSingpassButton {...props} sizeType=\"large\" ref={ref} />;\nLargeSingpassButtonComponent.displayName = \"SingpassButton.Large\";\n\n// @catalog\n/**\n * Call-to-action for Singpass authentication,\n * following the brand [guidelines](https://docs.developer.singpass.gov.sg/docs/products/login/singpass-button-guidelines-for-developers-and-designers).\n *\n * Use `SingpassButton` to let users log in with their Singpass account.\n */\nexport const SingpassButton = Object.assign(BaseSingpassButton, {\n /** @deprecated Use the `sizeType` prop instead: `<SingpassButton>` or `<SingpassButton sizeType=\"default\">` */\n Default: forwardRef(DefaultSingpassButtonComponent),\n /** @deprecated Use the `sizeType` prop instead: `<SingpassButton sizeType=\"small\">` */\n Small: forwardRef(SmallSingpassButtonComponent),\n /** @deprecated Use the `sizeType` prop instead: `<SingpassButton sizeType=\"large\">` */\n Large: forwardRef(LargeSingpassButtonComponent),\n});\n"],"names":["styleClassMap","styles.mainStyleRedFilled","styles.mainStyleWhiteFilled","sizeClassMap","small","styles.mainSizeSmall","large","styles.mainSizeLarge","default","BaseSingpassButton","forwardRef","props","ref","styleType","sizeType","className","testId","otherProps","__rest","_jsx","Object","assign","clsx","styles.main","children","styles.svgContainer","styles.svgContainerSizeLarge","src","getSpLogo","alt","DefaultSingpassButtonComponent","_a","displayName","SmallSingpassButtonComponent","LargeSingpassButtonComponent","SingpassButton","Default","Small","Large"],"mappings":"sRAYA,MAAMA,EAAyD,CAC3D,aAAcC,EAAAA,mBACd,eAAgBC,EAAAA,sBAGdC,EAAuD,CACzDC,MAAOC,EAAAA,cACPC,MAAOC,EAAAA,cACPC,QAAS,IAqCPC,EAAqBC,EAAAA,YAlCT,CAACC,EAA4BC,KAC3C,MAAMC,UACFA,EAAY,eAAcC,SAC1BA,EAAW,UAASC,UACpBA,EACA,cAAeC,EAAS,mBAExBL,EADGM,EAAUC,EAAAA,OACbP,EANE,CAAA,YAAA,WAAA,YAAA,gBAQN,OACIQ,EAAAA,IAAA,SAAAC,OAAAC,OAAA,CACIT,IAAKA,EAAG,cACKI,GACTC,EAAU,CAAA,aACH,uBACXF,UAAWO,EAAAA,QACPC,EAAAA,KACApB,EAAaW,GACbd,EAAca,GACdE,GACHS,SAEDL,EAAAA,IAAA,OAAA,CACIJ,UAAWO,EAAAA,QACPG,EAAAA,aACa,UAAbX,GAAwBY,EAAAA,uBAC3BF,SAEDL,EAAAA,IAAA,MAAA,CAAKQ,IAAKC,EAAAA,UAAUf,GAAYgB,IAAI,SAEnC,IAMXC,EAAiC,CACnCnB,EACAC,WACC,OACDO,EAAAA,IAACV,EAAkBW,OAAAC,OAAA,CAAA,EACXV,EAAK,CACTG,SAAwB,QAAdiB,EAAApB,EAAMG,gBAAQ,IAAAiB,EAAAA,EAAI,UAC5BnB,IAAKA,IACP,EAENkB,EAA+BE,YAAc,yBAE7C,MAAMC,EAA+B,CACjCtB,EACAC,IACCO,EAAAA,IAACV,mBAAuBE,EAAK,CAAEG,SAAS,QAAQF,IAAKA,KAC1DqB,EAA6BD,YAAc,uBAE3C,MAAME,EAA+B,CACjCvB,EACAC,IACCO,EAAAA,IAACV,mBAAuBE,EAAK,CAAEG,SAAS,QAAQF,IAAKA,KAC1DsB,EAA6BF,YAAc,6BAS9BG,EAAiBf,OAAOC,OAAOZ,EAAoB,CAE5D2B,QAAS1B,EAAAA,WAAWoB,GAEpBO,MAAO3B,EAAAA,WAAWuB,GAElBK,MAAO5B,EAAAA,WAAWwB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart-app-banner.js","sources":["../../../src/smart-app-banner/smart-app-banner.tsx"],"sourcesContent":["import { CrossIcon } from \"@lifesg/react-icons/cross\";\nimport { StarIcon } from \"@lifesg/react-icons/star\";\nimport { StarFillIcon } from \"@lifesg/react-icons/star-fill\";\nimport { StarHalfIcon } from \"@lifesg/react-icons/star-half\";\nimport clsx from \"clsx\";\nimport React, { useContext, useRef } from \"react\";\n\nimport { Button } from \"../button\";\nimport { ClickableIcon } from \"../shared/clickable-icon\";\nimport { useApplyStyle } from \"../theme\";\nimport { ThemeContext } from \"../theme/theme-provider/context\";\nimport { Typography } from \"../typography\";\nimport { mergeRefs } from \"../util\";\nimport * as styles from \"./smart-app-banner.styles\";\nimport type { SmartAppBannerProps } from \"./types\";\n\nconst APP_ICON =\n \"https://assets.life.gov.sg/react-design-system/img/app-icon/app-icon.png\";\n\nconst ID = \"smart-app-banner\";\nconst MAX_STARS = 5;\n\nfunction SmartAppBannerComponent(\n props: SmartAppBannerProps,\n ref: React.Ref<HTMLDivElement>\n): JSX.Element {\n // =============================================================================\n // CONST, STATE, REF\n // =============================================================================\n const {\n className,\n show,\n href,\n content,\n offset = 0,\n icon = APP_ICON,\n animated = false,\n onDismiss,\n onClick,\n } = props;\n\n const {\n title,\n message,\n buttonLabel,\n iconAriaLabel,\n buttonAriaLabel,\n numberOfStars,\n } = content;\n\n const containerRef = useRef<HTMLDivElement>(null);\n const theme = useContext(ThemeContext);\n const isDark = theme?.mode === \"dark\";\n\n useApplyStyle(containerRef, {\n [styles.tokens.container.top]: `${offset}px`,\n });\n\n const ariaLabels = {\n dismiss: \"Close banner\",\n icon: iconAriaLabel ?? \"\",\n cta: buttonAriaLabel ?? buttonLabel,\n };\n // =============================================================================\n // EVENT HANDLERS\n // =============================================================================\n const handleClick = (\n e: React.MouseEvent<HTMLDivElement | HTMLButtonElement>\n ) => {\n e.stopPropagation();\n window.open(href, \"_blank\", \"noreferrer\");\n onClick?.();\n };\n\n // =============================================================================\n // RENDER FUNCTION\n // =============================================================================\n\n const generateStarRating = () => {\n if (isNaN(numberOfStars) || numberOfStars < 0) {\n return;\n }\n\n const stars = [];\n const hasHalfStar = numberOfStars - Math.floor(numberOfStars) >= 0.4;\n\n for (let i = 0; i < Math.floor(numberOfStars); i++) {\n stars.push(\n <StarFillIcon\n key={`star${i}`}\n aria-hidden\n className={styles.starIcon}\n />\n );\n }\n if (hasHalfStar) {\n stars.push(\n <StarHalfIcon\n key={`halfstar`}\n aria-hidden\n className={styles.starIcon}\n />\n );\n }\n if (stars.length < MAX_STARS) {\n const remaining = 5 - stars.length;\n for (let i = 0; i < remaining; i++) {\n stars.push(\n <StarIcon\n key={`emptystar${i}`}\n aria-hidden\n className={styles.starIcon}\n />\n );\n }\n }\n\n /* maximum of 5 stars */\n return (\n <div\n className={styles.ratingContainer}\n role=\"group\"\n aria-label={`A rating of ${numberOfStars} out of ${MAX_STARS} stars`}\n data-testid={`${ID}-star-rating`}\n >\n {stars.slice(0, MAX_STARS)}\n </div>\n );\n };\n\n return (\n <>\n {show && (\n <div\n ref={mergeRefs(containerRef, ref)}\n data-testid={ID}\n className={clsx(\n styles.smartAppBannerContainer,\n isDark\n ? styles.smartAppBannerContainerDark\n : styles.smartAppBannerContainerLight,\n animated && styles.smartAppBannerContainerAnimated,\n className\n )}\n >\n <div\n className={styles.proceedContainer}\n onClick={handleClick}\n id={`${ID}-proceed`}\n data-testid={`${ID}-proceed-container`}\n >\n <img\n className={styles.bannerIcon}\n src={icon}\n alt={ariaLabels.icon}\n />\n <div className={styles.textContainer}>\n <Typography.BodySM className={styles.title}>\n {title}\n </Typography.BodySM>\n <Typography.BodyXS className={styles.description}>\n {message}\n </Typography.BodyXS>\n {generateStarRating()}\n </div>\n <div className={styles.buttonContainer}>\n <Button\n className={styles.button}\n type=\"button\"\n onClick={handleClick}\n aria-label={ariaLabels.cta}\n sizeType=\"small\"\n >\n {buttonLabel}\n </Button>\n </div>\n </div>\n <div\n className={styles.dismissContainer}\n onClick={onDismiss}\n id={`${ID}-dismiss`}\n data-testid={`${ID}-dismiss-container`}\n >\n <ClickableIcon\n className={styles.dismissButton}\n aria-label={ariaLabels.dismiss}\n >\n <CrossIcon className={styles.cross} />\n </ClickableIcon>\n </div>\n </div>\n )}\n </>\n );\n}\n\nexport const SmartAppBanner = React.forwardRef(SmartAppBannerComponent);\n"],"names":["APP_ICON","ID","SmartAppBanner","React","forwardRef","props","ref","className","show","href","content","offset","icon","animated","onDismiss","onClick","title","message","buttonLabel","iconAriaLabel","buttonAriaLabel","numberOfStars","containerRef","useRef","theme","useContext","ThemeContext","isDark","mode","useApplyStyle","styles.tokens","container","top","ariaLabels","dismiss","cta","handleClick","e","stopPropagation","window","open","_jsx","_Fragment","children","_jsxs","mergeRefs","clsx","styles.smartAppBannerContainer","styles.smartAppBannerContainerDark","styles.smartAppBannerContainerLight","styles.smartAppBannerContainerAnimated","styles.proceedContainer","id","styles.bannerIcon","src","alt","styles.textContainer","Typography","BodySM","styles.title","BodyXS","styles.description","isNaN","stars","hasHalfStar","Math","floor","i","push","StarFillIcon","styles.starIcon","StarHalfIcon","length","remaining","StarIcon","styles.ratingContainer","role","slice","generateStarRating","styles.buttonContainer","Button","styles.button","type","sizeType","styles.dismissContainer","ClickableIcon","styles.dismissButton","CrossIcon","styles.cross"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"smart-app-banner.js","sources":["../../../src/smart-app-banner/smart-app-banner.tsx"],"sourcesContent":["import { CrossIcon } from \"@lifesg/react-icons/cross\";\nimport { StarIcon } from \"@lifesg/react-icons/star\";\nimport { StarFillIcon } from \"@lifesg/react-icons/star-fill\";\nimport { StarHalfIcon } from \"@lifesg/react-icons/star-half\";\nimport clsx from \"clsx\";\nimport React, { useContext, useRef } from \"react\";\n\nimport { Button } from \"../button\";\nimport { ClickableIcon } from \"../shared/clickable-icon\";\nimport { useApplyStyle } from \"../theme\";\nimport { ThemeContext } from \"../theme/theme-provider/context\";\nimport { Typography } from \"../typography\";\nimport { mergeRefs } from \"../util\";\nimport * as styles from \"./smart-app-banner.styles\";\nimport type { SmartAppBannerProps } from \"./types\";\n\nconst APP_ICON =\n \"https://assets.life.gov.sg/react-design-system/img/app-icon/app-icon.png\";\n\nconst ID = \"smart-app-banner\";\nconst MAX_STARS = 5;\n\nfunction SmartAppBannerComponent(\n props: SmartAppBannerProps,\n ref: React.Ref<HTMLDivElement>\n): JSX.Element {\n // =============================================================================\n // CONST, STATE, REF\n // =============================================================================\n const {\n className,\n show,\n href,\n content,\n offset = 0,\n icon = APP_ICON,\n animated = false,\n onDismiss,\n onClick,\n } = props;\n\n const {\n title,\n message,\n buttonLabel,\n iconAriaLabel,\n buttonAriaLabel,\n numberOfStars,\n } = content;\n\n const containerRef = useRef<HTMLDivElement>(null);\n const theme = useContext(ThemeContext);\n const isDark = theme?.mode === \"dark\";\n\n useApplyStyle(containerRef, {\n [styles.tokens.container.top]: `${offset}px`,\n });\n\n const ariaLabels = {\n dismiss: \"Close banner\",\n icon: iconAriaLabel ?? \"\",\n cta: buttonAriaLabel ?? buttonLabel,\n };\n // =============================================================================\n // EVENT HANDLERS\n // =============================================================================\n const handleClick = (\n e: React.MouseEvent<HTMLDivElement | HTMLButtonElement>\n ) => {\n e.stopPropagation();\n window.open(href, \"_blank\", \"noreferrer\");\n onClick?.();\n };\n\n // =============================================================================\n // RENDER FUNCTION\n // =============================================================================\n\n const generateStarRating = () => {\n if (isNaN(numberOfStars) || numberOfStars < 0) {\n return;\n }\n\n const stars = [];\n const hasHalfStar = numberOfStars - Math.floor(numberOfStars) >= 0.4;\n\n for (let i = 0; i < Math.floor(numberOfStars); i++) {\n stars.push(\n <StarFillIcon\n key={`star${i}`}\n aria-hidden\n className={styles.starIcon}\n />\n );\n }\n if (hasHalfStar) {\n stars.push(\n <StarHalfIcon\n key={`halfstar`}\n aria-hidden\n className={styles.starIcon}\n />\n );\n }\n if (stars.length < MAX_STARS) {\n const remaining = 5 - stars.length;\n for (let i = 0; i < remaining; i++) {\n stars.push(\n <StarIcon\n key={`emptystar${i}`}\n aria-hidden\n className={styles.starIcon}\n />\n );\n }\n }\n\n /* maximum of 5 stars */\n return (\n <div\n className={styles.ratingContainer}\n role=\"group\"\n aria-label={`A rating of ${numberOfStars} out of ${MAX_STARS} stars`}\n data-testid={`${ID}-star-rating`}\n >\n {stars.slice(0, MAX_STARS)}\n </div>\n );\n };\n\n return (\n <>\n {show && (\n <div\n ref={mergeRefs(containerRef, ref)}\n data-testid={ID}\n className={clsx(\n styles.smartAppBannerContainer,\n isDark\n ? styles.smartAppBannerContainerDark\n : styles.smartAppBannerContainerLight,\n animated && styles.smartAppBannerContainerAnimated,\n className\n )}\n >\n <div\n className={styles.proceedContainer}\n onClick={handleClick}\n id={`${ID}-proceed`}\n data-testid={`${ID}-proceed-container`}\n >\n <img\n className={styles.bannerIcon}\n src={icon}\n alt={ariaLabels.icon}\n />\n <div className={styles.textContainer}>\n <Typography.BodySM className={styles.title}>\n {title}\n </Typography.BodySM>\n <Typography.BodyXS className={styles.description}>\n {message}\n </Typography.BodyXS>\n {generateStarRating()}\n </div>\n <div className={styles.buttonContainer}>\n <Button\n className={styles.button}\n type=\"button\"\n onClick={handleClick}\n aria-label={ariaLabels.cta}\n sizeType=\"small\"\n >\n {buttonLabel}\n </Button>\n </div>\n </div>\n <div\n className={styles.dismissContainer}\n onClick={onDismiss}\n id={`${ID}-dismiss`}\n data-testid={`${ID}-dismiss-container`}\n >\n <ClickableIcon\n className={styles.dismissButton}\n aria-label={ariaLabels.dismiss}\n >\n <CrossIcon className={styles.cross} />\n </ClickableIcon>\n </div>\n </div>\n )}\n </>\n );\n}\n\n// @catalog\n/**\n * A fixed top banner that promotes a mobile app and links to its store listing.\n *\n * Use `SmartAppBanner` to invite users to install or open the native app.\n */\nexport const SmartAppBanner = React.forwardRef(SmartAppBannerComponent);\n"],"names":["APP_ICON","ID","SmartAppBanner","React","forwardRef","props","ref","className","show","href","content","offset","icon","animated","onDismiss","onClick","title","message","buttonLabel","iconAriaLabel","buttonAriaLabel","numberOfStars","containerRef","useRef","theme","useContext","ThemeContext","isDark","mode","useApplyStyle","styles.tokens","container","top","ariaLabels","dismiss","cta","handleClick","e","stopPropagation","window","open","_jsx","_Fragment","children","_jsxs","mergeRefs","clsx","styles.smartAppBannerContainer","styles.smartAppBannerContainerDark","styles.smartAppBannerContainerLight","styles.smartAppBannerContainerAnimated","styles.proceedContainer","id","styles.bannerIcon","src","alt","styles.textContainer","Typography","BodySM","styles.title","BodyXS","styles.description","isNaN","stars","hasHalfStar","Math","floor","i","push","StarFillIcon","styles.starIcon","StarHalfIcon","length","remaining","StarIcon","styles.ratingContainer","role","slice","generateStarRating","styles.buttonContainer","Button","styles.button","type","sizeType","styles.dismissContainer","ClickableIcon","styles.dismissButton","CrossIcon","styles.cross"],"mappings":"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"}
|
package/cjs/tab/tab.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab.js","sources":["../../../src/tab/tab.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport type { ReactElement } from \"react\";\nimport { Children, cloneElement, useEffect, useMemo, useState } from \"react\";\n\nimport * as styles from \"./tab.styles\";\nimport type { TabLinkProps } from \"./tab-context\";\nimport { TabContext } from \"./tab-context\";\nimport { TabItem } from \"./tab-item\";\nimport { TabLinkChain } from \"./tab-link-chain\";\nimport type { TabItemProps, TabProps } from \"./types\";\n\n// =============================================================================\n// COMPONENT\n// =============================================================================\nconst TabBase = ({\n children,\n currentActive: currentActiveIndex,\n initialActive = 0,\n onTabClick,\n \"data-testid\": testId,\n className,\n fullWidthIndicatorLine,\n fadeColor,\n ...otherProps\n}: TabProps) => {\n // =========================================================================\n // CONST, STATE, REFS\n // =========================================================================\n const [currentActive, setCurrentActive] = useState<number>(\n currentActiveIndex || initialActive\n );\n\n const tabLinks = useMemo(() => {\n const validChildren = Children.toArray(children).filter(\n Boolean\n ) as ReactElement<TabItemProps>[];\n\n return validChildren.map((child) => {\n return {\n title: child.props.title,\n width: child.props.width,\n titleAddon: child.props.titleAddon,\n };\n }) as TabLinkProps[];\n }, [children]);\n\n const tabContextValue = useMemo(\n () => ({\n tabLinks,\n currentActiveIndex: currentActive,\n setCurrentActiveIndex: setCurrentActive,\n }),\n [currentActive, tabLinks]\n );\n\n // =========================================================================\n // Effects\n // =========================================================================\n useEffect(() => {\n if (typeof currentActiveIndex === \"number\") {\n setCurrentActive(currentActiveIndex);\n }\n }, [currentActiveIndex]);\n\n // =========================================================================\n // RENDER FUNCTIONS\n // =========================================================================\n const renderChildren = () => {\n const validChildren = Children.toArray(children).filter(Boolean);\n\n return validChildren.map((child, index) => {\n const element = child as ReactElement<TabItemProps>;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return cloneElement(child as ReactElement<any>, {\n key: element.key ?? element.props.title,\n index,\n });\n });\n };\n\n return (\n <div\n data-testid={testId}\n className={clsx(styles.wrapper, className)}\n {...otherProps}\n >\n <TabContext.Provider value={tabContextValue}>\n <TabLinkChain\n controlledMode={typeof currentActiveIndex === \"number\"}\n onTabClick={onTabClick}\n data-testid={`${testId}-tabs`}\n fullWidthIndicatorLine={fullWidthIndicatorLine}\n fadeColor={fadeColor}\n />\n {renderChildren()}\n </TabContext.Provider>\n </div>\n );\n};\n\nTabBase.displayName = \"Tab\";\n\n// =============================================================================\n// EXPORTS\n// =============================================================================\nexport const Tab = Object.assign(TabBase, {\n Item: TabItem,\n});\n"],"names":["TabBase","_a","children","currentActive","currentActiveIndex","initialActive","onTabClick","testId","className","fullWidthIndicatorLine","fadeColor","otherProps","__rest","setCurrentActive","useState","tabLinks","useMemo","Children","toArray","filter","Boolean","map","child","title","props","width","titleAddon","tabContextValue","setCurrentActiveIndex","useEffect","_jsx","Object","assign","clsx","styles.wrapper","_jsxs","TabContext","Provider","value","TabLinkChain","controlledMode","index","element","cloneElement","key","displayName","Tab","Item","TabItem"],"mappings":"kUAcA,MAAMA,EAAWC,QAAAC,SACbA,EACAC,cAAeC,EAAkBC,cACjCA,EAAgB,EAACC,WACjBA,EACA,cAAeC,EAAMC,UACrBA,EAASC,uBACTA,EAAsBC,UACtBA,GAAST,EACNU,EAAUC,EAAAA,OAAAX,EATA,CAAA,WAAA,gBAAA,gBAAA,aAAA,cAAA,YAAA,yBAAA,cAcb,MAAOE,EAAeU,GAAoBC,EAAAA,SACtCV,GAAsBC,GAGpBU,EAAWC,EAAAA,SAAQ,IACCC,EAAAA,SAASC,QAAQhB,GAAUiB,OAC7CC,SAGiBC,KAAKC,IACf,CACHC,MAAOD,EAAME,MAAMD,MACnBE,MAAOH,EAAME,MAAMC,MACnBC,WAAYJ,EAAME,MAAME,gBAGjC,CAACxB,IAEEyB,EAAkBX,EAAAA,SACpB,KAAA,CACID,WACAX,mBAAoBD,EACpByB,sBAAuBf,KAE3B,CAACV,EAAeY,IAMpBc,EAAAA,WAAU,KAC4B,iBAAvBzB,GACPS,EAAiBT,EACrB,GACD,CAACA,IAmBJ,OACI0B,EAAAA,IAAA,MAAAC,OAAAC,OAAA,CAAA,cACiBzB,EACbC,UAAWyB,EAAAA,QAAKC,EAAAA,QAAgB1B,IAC5BG,EAAU,CAAAT,SAEdiC,EAAAA,KAACC,EAAAA,WAAWC,SAAQ,CAACC,MAAOX,EAAezB,SAAA,CACvC4B,EAAAA,IAACS,EAAAA,aAAY,CACTC,eAA8C,iBAAvBpC,EACvBE,WAAYA,EAAU,cACT,GAAGC,SAChBE,uBAAwBA,EACxBC,UAAWA,IAzBDO,EAAAA,SAASC,QAAQhB,GAAUiB,OAAOC,SAEnCC,KAAI,CAACC,EAAOmB,WAC7B,MAAMC,EAAUpB,EAGhB,OAAOqB,EAAAA,aAAarB,EAA4B,CAC5CsB,YAAK3C,EAAAyC,EAAQE,mBAAOF,EAAQlB,MAAMD,MAClCkB,SACF,SAoBA,EAIdzC,EAAQ6C,YAAc,
|
|
1
|
+
{"version":3,"file":"tab.js","sources":["../../../src/tab/tab.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport type { ReactElement } from \"react\";\nimport { Children, cloneElement, useEffect, useMemo, useState } from \"react\";\n\nimport * as styles from \"./tab.styles\";\nimport type { TabLinkProps } from \"./tab-context\";\nimport { TabContext } from \"./tab-context\";\nimport { TabItem } from \"./tab-item\";\nimport { TabLinkChain } from \"./tab-link-chain\";\nimport type { TabItemProps, TabProps } from \"./types\";\n\n// =============================================================================\n// COMPONENT\n// =============================================================================\nconst TabBase = ({\n children,\n currentActive: currentActiveIndex,\n initialActive = 0,\n onTabClick,\n \"data-testid\": testId,\n className,\n fullWidthIndicatorLine,\n fadeColor,\n ...otherProps\n}: TabProps) => {\n // =========================================================================\n // CONST, STATE, REFS\n // =========================================================================\n const [currentActive, setCurrentActive] = useState<number>(\n currentActiveIndex || initialActive\n );\n\n const tabLinks = useMemo(() => {\n const validChildren = Children.toArray(children).filter(\n Boolean\n ) as ReactElement<TabItemProps>[];\n\n return validChildren.map((child) => {\n return {\n title: child.props.title,\n width: child.props.width,\n titleAddon: child.props.titleAddon,\n };\n }) as TabLinkProps[];\n }, [children]);\n\n const tabContextValue = useMemo(\n () => ({\n tabLinks,\n currentActiveIndex: currentActive,\n setCurrentActiveIndex: setCurrentActive,\n }),\n [currentActive, tabLinks]\n );\n\n // =========================================================================\n // Effects\n // =========================================================================\n useEffect(() => {\n if (typeof currentActiveIndex === \"number\") {\n setCurrentActive(currentActiveIndex);\n }\n }, [currentActiveIndex]);\n\n // =========================================================================\n // RENDER FUNCTIONS\n // =========================================================================\n const renderChildren = () => {\n const validChildren = Children.toArray(children).filter(Boolean);\n\n return validChildren.map((child, index) => {\n const element = child as ReactElement<TabItemProps>;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return cloneElement(child as ReactElement<any>, {\n key: element.key ?? element.props.title,\n index,\n });\n });\n };\n\n return (\n <div\n data-testid={testId}\n className={clsx(styles.wrapper, className)}\n {...otherProps}\n >\n <TabContext.Provider value={tabContextValue}>\n <TabLinkChain\n controlledMode={typeof currentActiveIndex === \"number\"}\n onTabClick={onTabClick}\n data-testid={`${testId}-tabs`}\n fullWidthIndicatorLine={fullWidthIndicatorLine}\n fadeColor={fadeColor}\n />\n {renderChildren()}\n </TabContext.Provider>\n </div>\n );\n};\n\nTabBase.displayName = \"Tab\";\n\n// =============================================================================\n// EXPORTS\n// =============================================================================\n// @catalog\n/**\n * A tabbed-panel layout that switches visible content by selecting a tab link.\n *\n * Use `Tab` to organise content into labelled panels where only one panel is\n * visible at a time. Compose with `Tab.Item` to define each panel.\n */\nexport const Tab = Object.assign(TabBase, {\n /** Renders an individual content panel within a `Tab`. */\n Item: TabItem,\n});\n"],"names":["TabBase","_a","children","currentActive","currentActiveIndex","initialActive","onTabClick","testId","className","fullWidthIndicatorLine","fadeColor","otherProps","__rest","setCurrentActive","useState","tabLinks","useMemo","Children","toArray","filter","Boolean","map","child","title","props","width","titleAddon","tabContextValue","setCurrentActiveIndex","useEffect","_jsx","Object","assign","clsx","styles.wrapper","_jsxs","TabContext","Provider","value","TabLinkChain","controlledMode","index","element","cloneElement","key","displayName","Tab","Item","TabItem"],"mappings":"kUAcA,MAAMA,EAAWC,QAAAC,SACbA,EACAC,cAAeC,EAAkBC,cACjCA,EAAgB,EAACC,WACjBA,EACA,cAAeC,EAAMC,UACrBA,EAASC,uBACTA,EAAsBC,UACtBA,GAAST,EACNU,EAAUC,EAAAA,OAAAX,EATA,CAAA,WAAA,gBAAA,gBAAA,aAAA,cAAA,YAAA,yBAAA,cAcb,MAAOE,EAAeU,GAAoBC,EAAAA,SACtCV,GAAsBC,GAGpBU,EAAWC,EAAAA,SAAQ,IACCC,EAAAA,SAASC,QAAQhB,GAAUiB,OAC7CC,SAGiBC,KAAKC,IACf,CACHC,MAAOD,EAAME,MAAMD,MACnBE,MAAOH,EAAME,MAAMC,MACnBC,WAAYJ,EAAME,MAAME,gBAGjC,CAACxB,IAEEyB,EAAkBX,EAAAA,SACpB,KAAA,CACID,WACAX,mBAAoBD,EACpByB,sBAAuBf,KAE3B,CAACV,EAAeY,IAMpBc,EAAAA,WAAU,KAC4B,iBAAvBzB,GACPS,EAAiBT,EACrB,GACD,CAACA,IAmBJ,OACI0B,EAAAA,IAAA,MAAAC,OAAAC,OAAA,CAAA,cACiBzB,EACbC,UAAWyB,EAAAA,QAAKC,EAAAA,QAAgB1B,IAC5BG,EAAU,CAAAT,SAEdiC,EAAAA,KAACC,EAAAA,WAAWC,SAAQ,CAACC,MAAOX,EAAezB,SAAA,CACvC4B,EAAAA,IAACS,EAAAA,aAAY,CACTC,eAA8C,iBAAvBpC,EACvBE,WAAYA,EAAU,cACT,GAAGC,SAChBE,uBAAwBA,EACxBC,UAAWA,IAzBDO,EAAAA,SAASC,QAAQhB,GAAUiB,OAAOC,SAEnCC,KAAI,CAACC,EAAOmB,WAC7B,MAAMC,EAAUpB,EAGhB,OAAOqB,EAAAA,aAAarB,EAA4B,CAC5CsB,YAAK3C,EAAAyC,EAAQE,mBAAOF,EAAQlB,MAAMD,MAClCkB,SACF,SAoBA,EAIdzC,EAAQ6C,YAAc,YAYTC,EAAMf,OAAOC,OAAOhC,EAAS,CAEtC+C,KAAMC,EAAAA"}
|
package/cjs/table/table.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sources":["../../../src/table/table.tsx"],"sourcesContent":["import clsx from \"clsx\";\n\nimport * as styles from \"./table.styles\";\n\nconst Head = ({
|
|
1
|
+
{"version":3,"file":"table.js","sources":["../../../src/table/table.tsx"],"sourcesContent":["import clsx from \"clsx\";\n\nimport * as styles from \"./table.styles\";\nimport type {\n TableBodyProps,\n TableCellProps,\n TableContainerProps,\n TableHeaderProps,\n TableHeadProps,\n TableRowProps,\n TableTableProps,\n} from \"./types\";\n\nconst Head = ({ children, ...props }: TableHeadProps) => (\n <thead {...props}>{children}</thead>\n);\nHead.displayName = \"Table.Head\";\n\nconst Body = ({ children, className, ...props }: TableBodyProps) => (\n <tbody className={clsx(styles.tableBody, className)} {...props}>\n {children}\n </tbody>\n);\nBody.displayName = \"Table.Body\";\n\nconst Row = ({ children, className, ...props }: TableRowProps) => (\n <tr className={clsx(styles.bodyRow, className)} {...props}>\n {children}\n </tr>\n);\nRow.displayName = \"Table.Row\";\n\nconst Cell = ({ children, className, ...props }: TableCellProps) => (\n <td className={clsx(styles.bodyCell, className)} {...props}>\n {children}\n </td>\n);\nCell.displayName = \"Table.Cell\";\n\nconst Header = ({ children, className, ...props }: TableHeaderProps) => (\n <th className={clsx(styles.headerCell, className)} {...props}>\n {children}\n </th>\n);\nHeader.displayName = \"Table.HeaderCell\";\n\nconst Container = ({ children, className, ...props }: TableContainerProps) => (\n <div\n className={clsx(styles.tableWrapper, className)}\n data-testid=\"table-wrapper\"\n {...props}\n >\n {children}\n </div>\n);\nContainer.displayName = \"Table.Container\";\n\nconst TableEl = ({ children, className, ...props }: TableTableProps) => (\n <table className={clsx(styles.tableComponent, className)} {...props}>\n {children}\n </table>\n);\nTableEl.displayName = \"Table.Table\";\n\n// @catalog\n/**\n * A styled HTML table with a scrollable container wrapper.\n *\n * Use `Table` when displaying structured tabular data. The default export\n * wraps content in `Table.Container` and `Table.Table` automatically. For\n * full layout control, compose the sub-components directly:\n * - `Table.Container` — scrollable wrapper div\n * - `Table.Table` — the bare `<table>` element\n * - `Table.Head` — the `<thead>` section\n * - `Table.Body` — the `<tbody>` section\n * - `Table.Row` — a `<tr>` row within the body\n * - `Table.Cell` — a `<td>` data cell\n * - `Table.HeaderCell` — a `<th>` column header cell\n */\nexport const Table = Object.assign(\n ({ children, ...props }: TableTableProps) => (\n <Container>\n <TableEl {...props}>{children}</TableEl>\n </Container>\n ),\n {\n /** Scrollable wrapper div that contains a `Table.Table`. */\n Container,\n /** The bare `<table>` element. Use directly when you need to place the table inside a custom container. */\n Table: TableEl,\n /** Renders the `<thead>` section of the table. */\n Head,\n /** Renders the `<tbody>` section of the table. */\n Body,\n /** Renders a `<tr>` row within a `Table.Body`. */\n Row,\n /** Renders a `<td>` data cell within a `Table.Row`. */\n Cell,\n /** Renders a `<th>` header cell within a `Table.Head` row. */\n HeaderCell: Header,\n }\n);\n"],"names":["Head","_a","children","props","__rest","_jsx","Object","assign","displayName","Body","className","clsx","styles.tableBody","Row","styles.bodyRow","Cell","styles.bodyCell","Header","styles.headerCell","Container","styles.tableWrapper","TableEl","styles.tableComponent","Table","HeaderCell"],"mappings":"uNAaA,MAAMA,EAAQC,IAAA,IAAAC,SAAEA,GAAQD,EAAKE,EAAKC,EAAAA,OAAAH,EAApB,cAA2C,OACrDI,EAAAA,IAAA,QAAAC,OAAAC,OAAA,GAAWJ,YAAQD,IAAiB,EAExCF,EAAKQ,YAAc,aAEnB,MAAMC,EAAQR,QAAAC,SAAEA,EAAQQ,UAAEA,GAAST,EAAKE,EAAKC,EAAAA,OAAAH,EAA/B,0BAAsD,OAChEI,EAAAA,IAAA,QAAAC,OAAAC,OAAA,CAAOG,UAAWC,EAAAA,QAAKC,EAAAA,UAAkBF,IAAgBP,YACpDD,IACG,EAEZO,EAAKD,YAAc,aAEnB,MAAMK,EAAOZ,QAAAC,SAAEA,EAAQQ,UAAEA,GAAST,EAAKE,EAAKC,EAAAA,OAAAH,EAA/B,0BAAqD,OAC9DI,EAAAA,IAAA,KAAAC,OAAAC,OAAA,CAAIG,UAAWC,EAAAA,QAAKG,EAAAA,QAAgBJ,IAAgBP,YAC/CD,IACA,EAETW,EAAIL,YAAc,YAElB,MAAMO,EAAQd,QAAAC,SAAEA,EAAQQ,UAAEA,GAAST,EAAKE,EAAKC,EAAAA,OAAAH,EAA/B,0BAAsD,OAChEI,EAAAA,IAAA,KAAAC,OAAAC,OAAA,CAAIG,UAAWC,EAAAA,QAAKK,EAAAA,SAAiBN,IAAgBP,YAChDD,IACA,EAETa,EAAKP,YAAc,aAEnB,MAAMS,EAAUhB,QAAAC,SAAEA,EAAQQ,UAAEA,GAAST,EAAKE,EAAKC,EAAAA,OAAAH,EAA/B,0BAAwD,OACpEI,EAAAA,IAAA,KAAAC,OAAAC,OAAA,CAAIG,UAAWC,EAAAA,QAAKO,EAAAA,WAAmBR,IAAgBP,YAClDD,IACA,EAETe,EAAOT,YAAc,mBAErB,MAAMW,EAAalB,QAAAC,SAAEA,EAAQQ,UAAEA,GAAST,EAAKE,EAAKC,EAAAA,OAAAH,EAA/B,0BAA2D,OAC1EI,EAAAA,yBACIK,UAAWC,EAAAA,QAAKS,EAAAA,aAAqBV,GAAU,cACnC,iBACRP,YAEHD,IACC,EAEViB,EAAUX,YAAc,kBAExB,MAAMa,EAAWpB,QAAAC,SAAEA,EAAQQ,UAAEA,GAAST,EAAKE,EAAKC,EAAAA,OAAAH,EAA/B,0BAAuD,OACpEI,EAAAA,IAAA,QAAAC,OAAAC,OAAA,CAAOG,UAAWC,EAAAA,QAAKW,EAAAA,eAAuBZ,IAAgBP,YACzDD,IACG,EAEZmB,EAAQb,YAAc,cAiBf,MAAMe,EAAQjB,OAAOC,QACvBN,IAAA,IAAAC,SAAEA,GAAQD,EAAKE,EAAKC,EAAAA,OAAAH,EAApB,cAA4C,OACzCI,EAAAA,IAACc,EAAS,CAAAjB,SACNG,EAAAA,IAACgB,EAAOf,OAAAC,OAAA,CAAA,EAAKJ,EAAK,CAAAD,SAAGA,MACb,GAEhB,CAEIiB,YAEAI,MAAOF,EAEPrB,OAEAS,OAEAI,MAEAE,OAEAS,WAAYP"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";require("./table.
|
|
1
|
+
"use strict";require("./table.styles_1vjx31g.css");exports.bodyCell="b183mjh5",exports.bodyRow="b1gaqki2",exports.headerCell="htqww2s",exports.tableBody="tdex3lc",exports.tableComponent="t110f2kz",exports.tableWrapper="txzjt0s";
|
|
2
2
|
//# sourceMappingURL=table.styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.styles.js","sources":["../../../src/table/table.styles.ts"],"sourcesContent":["import { css } from \"@linaria/core\";\n\nimport { Border, Colour, Radius, Spacing } from \"../theme\";\n\n// =============================================================================\n// STYLES CONSTANTS\n// =============================================================================\nconst borderColor = Colour[\"border\"];\nconst fontColor = Colour[\"text\"];\n\n// =============================================================================\n// STYLES\n// =============================================================================\nexport const tableWrapper = css`\n overflow: auto;\n border: ${Border[\"width-010\"]} ${Border[\"solid\"]} ${borderColor};\n border-radius: ${Radius[\"md\"]};\n\n /* Hide scrollbar */\n
|
|
1
|
+
{"version":3,"file":"table.styles.js","sources":["../../../src/table/table.styles.ts"],"sourcesContent":["import { css } from \"@linaria/core\";\n\nimport { Border, Colour, Radius, Spacing } from \"../theme\";\n\n// =============================================================================\n// STYLES CONSTANTS\n// =============================================================================\nconst borderColor = Colour[\"border\"];\nconst fontColor = Colour[\"text\"];\n\n// =============================================================================\n// STYLES\n// =============================================================================\nexport const tableWrapper = css`\n overflow: auto;\n border: ${Border[\"width-010\"]} ${Border[\"solid\"]} ${borderColor};\n border-radius: ${Radius[\"md\"]};\n\n /* Hide scrollbar */\n scrollbar-width: none; /* Firefox */\n -ms-overflow-style: none; /* IE 10+ */\n &::-webkit-scrollbar {\n display: none; /* Chrome/Safari/Webkit */\n }\n`;\n\nexport const tableComponent = css`\n text-align: left;\n border-collapse: separate;\n border-spacing: 0;\n width: 100%;\n`;\n\nexport const tableBody = css`\n :where(tr:last-child) {\n td {\n border-bottom: none;\n }\n }\n`;\n\nexport const headerCell = css`\n padding: ${Spacing[\"spacing-20\"]} ${Spacing[\"spacing-16\"]};\n text-align: left;\n cursor: default;\n vertical-align: middle;\n color: ${fontColor};\n background-color: ${Colour[\"bg-stronger\"]};\n height: 6rem;\n border-bottom: ${Border[\"width-010\"]} ${Border[\"solid\"]} ${borderColor};\n\n &:where(&:first-child) {\n padding-left: ${Spacing[\"spacing-24\"]};\n }\n &:where(&:last-child) {\n padding-right: ${Spacing[\"spacing-24\"]};\n }\n`;\n\nexport const bodyRow = css`\n background-color: ${Colour[\"bg\"]};\n border-top: ${Border[\"width-010\"]} ${Border[\"solid\"]} ${borderColor};\n`;\n\nexport const bodyCell = css`\n padding: ${Spacing[\"spacing-20\"]} ${Spacing[\"spacing-16\"]};\n vertical-align: middle;\n color: ${fontColor};\n border-bottom: ${Border[\"width-010\"]} ${Border[\"solid\"]} ${borderColor};\n\n &:where(&:first-child) {\n padding-left: ${Spacing[\"spacing-24\"]};\n }\n &:where(&:last-child) {\n padding-right: ${Spacing[\"spacing-24\"]};\n }\n`;\n"],"names":[],"mappings":"yFAgEqB,2BALD,8BAlBG,4BARD,iCAPK,gCAbF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@layer fds{.txzjt0s{overflow:auto;border:var(--fds-border-width-010) var(--fds-border-style-solid) var(--fds-colour-border);border-radius:var(--fds-radius-md);
|
|
1
|
+
@layer fds{.txzjt0s{overflow:auto;border:var(--fds-border-width-010) var(--fds-border-style-solid) var(--fds-colour-border);border-radius:var(--fds-radius-md);scrollbar-width:none;-ms-overflow-style:none;}.txzjt0s::-webkit-scrollbar{display:none;}
|
|
2
2
|
.t110f2kz{text-align:left;border-collapse:separate;border-spacing:0;width:100%;}
|
|
3
3
|
.tdex3lc :where(tr:last-child) td{border-bottom:none;}
|
|
4
4
|
.htqww2s{padding:var(--fds-spacing-20) var(--fds-spacing-16);text-align:left;cursor:default;vertical-align:middle;color:var(--fds-colour-text);background-color:var(--fds-colour-bg-stronger);height:6rem;border-bottom:var(--fds-border-width-010) var(--fds-border-style-solid) var(--fds-colour-border);}.htqww2s:where(.htqww2s:first-child){padding-left:var(--fds-spacing-24);}.htqww2s:where(.htqww2s:last-child){padding-right:var(--fds-spacing-24);}
|
package/cjs/tag/tag.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.js","sources":["../../../src/tag/tag.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React from \"react\";\n\nimport * as styles from \"./tag.style\";\nimport type { TagColorType, TagProps, TagType } from \"./types\";\n\nconst colorClassMap: Record<TagType, Record<TagColorType, string>> = {\n solid: {\n grey: styles.wrapperSolidGrey,\n green: styles.wrapperSolidGreen,\n yellow: styles.wrapperSolidYellow,\n red: styles.wrapperSolidRed,\n blue: styles.wrapperSolidBlue,\n primary: styles.wrapperSolidPrimary,\n black: styles.wrapperSolidBlack,\n },\n outline: {\n grey: styles.wrapperOutlineGrey,\n green: styles.wrapperOutlineGreen,\n yellow: styles.wrapperOutlineYellow,\n red: styles.wrapperOutlineRed,\n blue: styles.wrapperOutlineBlue,\n primary: styles.wrapperOutlinePrimary,\n black: styles.wrapperOutlineBlack,\n },\n};\n\nexport const Tag = ({\n type,\n colorType = \"black\",\n children,\n interactive = false,\n icon,\n iconPosition = \"left\",\n ...otherProps\n}: TagProps): JSX.Element => {\n const Element = interactive ? \"button\" : \"div\";\n\n return (\n <Element\n className={clsx(\n styles.wrapper,\n colorClassMap[type]?.[colorType],\n interactive && styles.wrapperInteractive\n )}\n {...otherProps}\n >\n {iconPosition === \"left\" &&\n icon &&\n React.cloneElement(icon, { \"aria-hidden\": true })}\n <div className={styles.label} role=\"presentation\">\n {children}\n </div>\n {iconPosition === \"right\" &&\n icon &&\n React.cloneElement(icon, { \"aria-hidden\": true })}\n </Element>\n );\n};\n"],"names":["colorClassMap","solid","grey","styles.wrapperSolidGrey","green","styles.wrapperSolidGreen","yellow","styles.wrapperSolidYellow","red","styles.wrapperSolidRed","blue","styles.wrapperSolidBlue","primary","styles.wrapperSolidPrimary","black","styles.wrapperSolidBlack","outline","styles.wrapperOutlineGrey","styles.wrapperOutlineGreen","styles.wrapperOutlineYellow","styles.wrapperOutlineRed","styles.wrapperOutlineBlue","styles.wrapperOutlinePrimary","styles.wrapperOutlineBlack","_a","type","colorType","children","interactive","icon","iconPosition","otherProps","__rest","Element","_jsxs","Object","assign","className","clsx","styles.wrapper","_b","styles.wrapperInteractive","React","cloneElement","_jsx","styles.label","role"],"mappings":"8OAMA,MAAMA,EAA+D,CACjEC,MAAO,CACHC,KAAMC,EAAAA,iBACNC,MAAOC,EAAAA,kBACPC,OAAQC,EAAAA,mBACRC,IAAKC,EAAAA,gBACLC,KAAMC,EAAAA,iBACNC,QAASC,EAAAA,oBACTC,MAAOC,EAAAA,mBAEXC,QAAS,CACLd,KAAMe,EAAAA,mBACNb,MAAOc,EAAAA,oBACPZ,OAAQa,EAAAA,qBACRX,IAAKY,EAAAA,kBACLV,KAAMW,EAAAA,mBACNT,QAASU,EAAAA,sBACTR,MAAOS,EAAAA,
|
|
1
|
+
{"version":3,"file":"tag.js","sources":["../../../src/tag/tag.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React from \"react\";\n\nimport * as styles from \"./tag.style\";\nimport type { TagColorType, TagProps, TagType } from \"./types\";\n\nconst colorClassMap: Record<TagType, Record<TagColorType, string>> = {\n solid: {\n grey: styles.wrapperSolidGrey,\n green: styles.wrapperSolidGreen,\n yellow: styles.wrapperSolidYellow,\n red: styles.wrapperSolidRed,\n blue: styles.wrapperSolidBlue,\n primary: styles.wrapperSolidPrimary,\n black: styles.wrapperSolidBlack,\n },\n outline: {\n grey: styles.wrapperOutlineGrey,\n green: styles.wrapperOutlineGreen,\n yellow: styles.wrapperOutlineYellow,\n red: styles.wrapperOutlineRed,\n blue: styles.wrapperOutlineBlue,\n primary: styles.wrapperOutlinePrimary,\n black: styles.wrapperOutlineBlack,\n },\n};\n\n// @catalog\n/**\n * A compact label used to categorise or highlight content.\n *\n * Use `Tag` to display metadata such as status, category, or keyword.\n */\nexport const Tag = ({\n type,\n colorType = \"black\",\n children,\n interactive = false,\n icon,\n iconPosition = \"left\",\n ...otherProps\n}: TagProps): JSX.Element => {\n const Element = interactive ? \"button\" : \"div\";\n\n return (\n <Element\n className={clsx(\n styles.wrapper,\n colorClassMap[type]?.[colorType],\n interactive && styles.wrapperInteractive\n )}\n {...otherProps}\n >\n {iconPosition === \"left\" &&\n icon &&\n React.cloneElement(icon, { \"aria-hidden\": true })}\n <div className={styles.label} role=\"presentation\">\n {children}\n </div>\n {iconPosition === \"right\" &&\n icon &&\n React.cloneElement(icon, { \"aria-hidden\": true })}\n </Element>\n );\n};\n"],"names":["colorClassMap","solid","grey","styles.wrapperSolidGrey","green","styles.wrapperSolidGreen","yellow","styles.wrapperSolidYellow","red","styles.wrapperSolidRed","blue","styles.wrapperSolidBlue","primary","styles.wrapperSolidPrimary","black","styles.wrapperSolidBlack","outline","styles.wrapperOutlineGrey","styles.wrapperOutlineGreen","styles.wrapperOutlineYellow","styles.wrapperOutlineRed","styles.wrapperOutlineBlue","styles.wrapperOutlinePrimary","styles.wrapperOutlineBlack","_a","type","colorType","children","interactive","icon","iconPosition","otherProps","__rest","Element","_jsxs","Object","assign","className","clsx","styles.wrapper","_b","styles.wrapperInteractive","React","cloneElement","_jsx","styles.label","role"],"mappings":"8OAMA,MAAMA,EAA+D,CACjEC,MAAO,CACHC,KAAMC,EAAAA,iBACNC,MAAOC,EAAAA,kBACPC,OAAQC,EAAAA,mBACRC,IAAKC,EAAAA,gBACLC,KAAMC,EAAAA,iBACNC,QAASC,EAAAA,oBACTC,MAAOC,EAAAA,mBAEXC,QAAS,CACLd,KAAMe,EAAAA,mBACNb,MAAOc,EAAAA,oBACPZ,OAAQa,EAAAA,qBACRX,IAAKY,EAAAA,kBACLV,KAAMW,EAAAA,mBACNT,QAASU,EAAAA,sBACTR,MAAOS,EAAAA,kCAUKC,WAAAC,KAChBA,EAAIC,UACJA,EAAY,QAAOC,SACnBA,EAAQC,YACRA,GAAc,EAAKC,KACnBA,EAAIC,aACJA,EAAe,UACZC,EAAUC,EAAAA,OAAAR,EAPG,CAAA,OAAA,YAAA,WAAA,cAAA,OAAA,iBAShB,MAAMS,EAAUL,EAAc,SAAW,MAEzC,OACIM,OAACD,EAAOE,OAAAC,OAAA,CACJC,UAAWC,EAAAA,QACPC,EAAAA,QACmB,QAAnBC,EAAAxC,EAAcyB,UAAK,IAAAe,OAAA,EAAAA,EAAGd,GACtBE,GAAea,uBAEfV,EAAU,CAAAJ,SAAA,CAEI,SAAjBG,GACGD,GACAa,EAAAA,QAAMC,aAAad,EAAM,CAAE,eAAe,IAC9Ce,EAAAA,IAAA,MAAA,CAAKP,UAAWQ,EAAAA,MAAcC,KAAK,eAAcnB,SAC5CA,IAEa,UAAjBG,GACGD,GACAa,EAAAA,QAAMC,aAAad,EAAM,CAAE,eAAe,OACxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/text-list/index.ts"],"sourcesContent":["import { OrderedList } from \"./ordered-list\";\nimport { UnorderedList } from \"./unordered-list\";\n\nexport const TextList = {\n Ul: UnorderedList,\n Ol: OrderedList,\n};\n\nexport * from \"./types\";\n"],"names":["TextList","Ul","UnorderedList","Ol","OrderedList"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/text-list/index.ts"],"sourcesContent":["import { OrderedList } from \"./ordered-list\";\nimport { UnorderedList } from \"./unordered-list\";\n\n// @catalog\n/**\n * Renders styled ordered and unordered lists for body copy and structured content.\n *\n * Use `TextList` to present sequential or non-sequential items with consistent\n * typography and spacing.\n *\n * Sub-components:\n * - `TextList.Ol` — a numbered list with configurable counter style and direction.\n * - `TextList.Ul` — a bulleted list supporting predefined marker types or a custom icon.\n */\nexport const TextList = {\n /**\n * Renders a bulleted list. Supports predefined marker types or\n * a custom decorative icon.\n */\n Ul: UnorderedList,\n /**\n * Renders a numbered list with configurable counter display.\n */\n Ol: OrderedList,\n};\n\nexport * from \"./types\";\n"],"names":["TextList","Ul","UnorderedList","Ol","OrderedList"],"mappings":"gDAcO,MAAMA,EAAW,CAKpBC,kCAAIC,cAIJC,GAAIC,EAAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("../tokens/breakpoint.js"),i=require("../utils/css-variable.js");require("../../util/calendar-helper.js"),require("../../external/dayjs/dayjs.min.js"),require("react"),require("../../util/simple-id-generator.js"),require("../../util/string-helper.js"),require("@react-aria/live-announcer"),require("./context.js"),require("../utils/use-media-query.js");const r="fds-breakpoint-";function n(n){const a=document.body,s=window.innerWidth;[...a.classList].forEach((e=>{e.startsWith(r)&&a.classList.remove(e)}));const t=function(r){const n=e=>{const n=i.parseCSSVariableValue(e,r);return n||(r!==document.documentElement?i.parseCSSVariableValue(e,document.documentElement):n)};return[{key:"xxs",min:n(e.Breakpoint["xxs-min"]),max:n(e.Breakpoint["xxs-max"])},{key:"xs",min:n(e.Breakpoint["xs-min"]),max:n(e.Breakpoint["xs-max"])},{key:"sm",min:n(e.Breakpoint["sm-min"]),max:n(e.Breakpoint["sm-max"])},{key:"md",min:n(e.Breakpoint["md-min"]),max:n(e.Breakpoint["md-max"])},{key:"lg",min:n(e.Breakpoint["lg-min"]),max:n(e.Breakpoint["lg-max"])},{key:"xl",min:n(e.Breakpoint["xl-min"]),max:n(e.Breakpoint["xl-max"])},{key:"xxl",min:n(e.Breakpoint["xxl-min"]),max:1/0}]}(n);t.forEach((e=>{const n=i.parsePxOrRemValue(e.min),t=e.max===1/0?1/0:i.parsePxOrRemValue(e.max),m=s>=n,o=t!==1/0&&s<=t;m&&(t===1/0||o)&&a.classList.add(`${r}${e.key}`),m&&a.classList.add(`${r}${e.key}-min`),o&&a.classList.add(`${r}${e.key}-max`)}))}exports.
|
|
1
|
+
"use strict";var e=require("../tokens/breakpoint.js"),i=require("../utils/css-variable.js");require("../../util/calendar-helper.js"),require("../../external/dayjs/dayjs.min.js"),require("react"),require("../../util/simple-id-generator.js"),require("../../util/string-helper.js"),require("@react-aria/live-announcer"),require("./context.js"),require("../utils/use-media-query.js");const r="fds-breakpoint-";function n(n){const a=document.body,s=window.innerWidth;[...a.classList].forEach((e=>{e.startsWith(r)&&a.classList.remove(e)}));const t=function(r){const n=e=>{const n=i.parseCSSVariableValue(e,r);return n||(r!==document.documentElement?i.parseCSSVariableValue(e,document.documentElement):n)};return[{key:"xxs",min:n(e.Breakpoint["xxs-min"]),max:n(e.Breakpoint["xxs-max"])},{key:"xs",min:n(e.Breakpoint["xs-min"]),max:n(e.Breakpoint["xs-max"])},{key:"sm",min:n(e.Breakpoint["sm-min"]),max:n(e.Breakpoint["sm-max"])},{key:"md",min:n(e.Breakpoint["md-min"]),max:n(e.Breakpoint["md-max"])},{key:"lg",min:n(e.Breakpoint["lg-min"]),max:n(e.Breakpoint["lg-max"])},{key:"xl",min:n(e.Breakpoint["xl-min"]),max:n(e.Breakpoint["xl-max"])},{key:"xxl",min:n(e.Breakpoint["xxl-min"]),max:1/0}]}(n);t.forEach((e=>{const n=i.parsePxOrRemValue(e.min),t=e.max===1/0?1/0:i.parsePxOrRemValue(e.max),m=s>=n,o=t!==1/0&&s<=t;m&&(t===1/0||o)&&a.classList.add(`${r}${e.key}`),m&&a.classList.add(`${r}${e.key}-min`),o&&a.classList.add(`${r}${e.key}-max`)}))}exports.setupBreakpointListener=function(e){if(!globalThis.window)return;const i=()=>{n(e)};return i(),globalThis.window.addEventListener("resize",i),()=>{globalThis.window.removeEventListener("resize",i)}};
|
|
2
2
|
//# sourceMappingURL=breakpoint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breakpoint.js","sources":["../../../../src/theme/theme-provider/breakpoint.ts"],"sourcesContent":["import { Breakpoint } from \"../tokens/breakpoint\";\nimport type { CSSVariableString } from \"../types\";\nimport { parseCSSVariableValue, parsePxOrRemValue } from \"../utils\";\n\nfunction getBreakpointRanges(sourceElement: HTMLElement) {\n const getBreakpointValue = (token: CSSVariableString) => {\n const scopedValue = parseCSSVariableValue(token, sourceElement);\n if (scopedValue) return scopedValue;\n\n if (sourceElement !== document.documentElement) {\n return parseCSSVariableValue(token, document.documentElement);\n }\n\n return scopedValue;\n };\n\n return [\n {\n key: \"xxs\",\n min: getBreakpointValue(Breakpoint[\"xxs-min\"]),\n max: getBreakpointValue(Breakpoint[\"xxs-max\"]),\n },\n {\n key: \"xs\",\n min: getBreakpointValue(Breakpoint[\"xs-min\"]),\n max: getBreakpointValue(Breakpoint[\"xs-max\"]),\n },\n {\n key: \"sm\",\n min: getBreakpointValue(Breakpoint[\"sm-min\"]),\n max: getBreakpointValue(Breakpoint[\"sm-max\"]),\n },\n {\n key: \"md\",\n min: getBreakpointValue(Breakpoint[\"md-min\"]),\n max: getBreakpointValue(Breakpoint[\"md-max\"]),\n },\n {\n key: \"lg\",\n min: getBreakpointValue(Breakpoint[\"lg-min\"]),\n max: getBreakpointValue(Breakpoint[\"lg-max\"]),\n },\n {\n key: \"xl\",\n min: getBreakpointValue(Breakpoint[\"xl-min\"]),\n max: getBreakpointValue(Breakpoint[\"xl-max\"]),\n },\n {\n key: \"xxl\",\n min: getBreakpointValue(Breakpoint[\"xxl-min\"]),\n max: Infinity,\n },\n ] as const;\n}\n\nconst BREAKPOINT_CLASS_PREFIX = \"fds-breakpoint-\";\n\
|
|
1
|
+
{"version":3,"file":"breakpoint.js","sources":["../../../../src/theme/theme-provider/breakpoint.ts"],"sourcesContent":["import { Breakpoint } from \"../tokens/breakpoint\";\nimport type { CSSVariableString } from \"../types\";\nimport { parseCSSVariableValue, parsePxOrRemValue } from \"../utils\";\n\nfunction getBreakpointRanges(sourceElement: HTMLElement) {\n const getBreakpointValue = (token: CSSVariableString) => {\n const scopedValue = parseCSSVariableValue(token, sourceElement);\n if (scopedValue) return scopedValue;\n\n if (sourceElement !== document.documentElement) {\n return parseCSSVariableValue(token, document.documentElement);\n }\n\n return scopedValue;\n };\n\n return [\n {\n key: \"xxs\",\n min: getBreakpointValue(Breakpoint[\"xxs-min\"]),\n max: getBreakpointValue(Breakpoint[\"xxs-max\"]),\n },\n {\n key: \"xs\",\n min: getBreakpointValue(Breakpoint[\"xs-min\"]),\n max: getBreakpointValue(Breakpoint[\"xs-max\"]),\n },\n {\n key: \"sm\",\n min: getBreakpointValue(Breakpoint[\"sm-min\"]),\n max: getBreakpointValue(Breakpoint[\"sm-max\"]),\n },\n {\n key: \"md\",\n min: getBreakpointValue(Breakpoint[\"md-min\"]),\n max: getBreakpointValue(Breakpoint[\"md-max\"]),\n },\n {\n key: \"lg\",\n min: getBreakpointValue(Breakpoint[\"lg-min\"]),\n max: getBreakpointValue(Breakpoint[\"lg-max\"]),\n },\n {\n key: \"xl\",\n min: getBreakpointValue(Breakpoint[\"xl-min\"]),\n max: getBreakpointValue(Breakpoint[\"xl-max\"]),\n },\n {\n key: \"xxl\",\n min: getBreakpointValue(Breakpoint[\"xxl-min\"]),\n max: Infinity,\n },\n ] as const;\n}\n\nconst BREAKPOINT_CLASS_PREFIX = \"fds-breakpoint-\";\n\nfunction applyBreakpointClasses(sourceElement: HTMLElement) {\n const body = document.body;\n const width = window.innerWidth;\n\n [...body.classList].forEach((cls) => {\n if (cls.startsWith(BREAKPOINT_CLASS_PREFIX)) {\n body.classList.remove(cls);\n }\n });\n\n const BREAKPOINT_RANGES = getBreakpointRanges(sourceElement);\n\n BREAKPOINT_RANGES.forEach((range) => {\n const minValue = parsePxOrRemValue(range.min);\n const maxValue =\n range.max === Infinity\n ? Infinity\n : parsePxOrRemValue(range.max as string);\n\n const isMinMatched = width >= minValue;\n const isMaxMatched = maxValue === Infinity ? false : width <= maxValue;\n const isWithinRange =\n isMinMatched && (maxValue === Infinity || isMaxMatched);\n\n if (isWithinRange) {\n body.classList.add(`${BREAKPOINT_CLASS_PREFIX}${range.key}`);\n }\n\n if (isMinMatched) {\n body.classList.add(`${BREAKPOINT_CLASS_PREFIX}${range.key}-min`);\n }\n\n if (isMaxMatched) {\n body.classList.add(`${BREAKPOINT_CLASS_PREFIX}${range.key}-max`);\n }\n });\n}\n\nexport function setupBreakpointListener(sourceElement: HTMLElement) {\n if (!globalThis.window) return;\n\n const handleBreakpointChange = () => {\n applyBreakpointClasses(sourceElement);\n };\n\n handleBreakpointChange();\n globalThis.window.addEventListener(\"resize\", handleBreakpointChange);\n\n return () => {\n globalThis.window.removeEventListener(\"resize\", handleBreakpointChange);\n };\n}\n"],"names":["BREAKPOINT_CLASS_PREFIX","applyBreakpointClasses","sourceElement","body","document","width","window","innerWidth","classList","forEach","cls","startsWith","remove","BREAKPOINT_RANGES","getBreakpointValue","token","scopedValue","parseCSSVariableValue","documentElement","key","min","Breakpoint","max","Infinity","getBreakpointRanges","range","minValue","parsePxOrRemValue","maxValue","isMinMatched","isMaxMatched","add","globalThis","handleBreakpointChange","addEventListener","removeEventListener"],"mappings":"4XAuDA,MAAMA,EAA0B,kBAEhC,SAASC,EAAuBC,GAC5B,MAAMC,EAAOC,SAASD,KAChBE,EAAQC,OAAOC,WAErB,IAAIJ,EAAKK,WAAWC,SAASC,IACrBA,EAAIC,WAAWX,IACfG,EAAKK,UAAUI,OAAOF,EAC1B,IAGJ,MAAMG,EA/DV,SAA6BX,GACzB,MAAMY,EAAsBC,IACxB,MAAMC,EAAcC,EAAAA,sBAAsBF,EAAOb,GACjD,OAAIc,IAEAd,IAAkBE,SAASc,gBACpBD,wBAAsBF,EAAOX,SAASc,iBAG1CF,EAAW,EAGtB,MAAO,CACH,CACIG,IAAK,MACLC,IAAKN,EAAmBO,aAAW,YACnCC,IAAKR,EAAmBO,aAAW,aAEvC,CACIF,IAAK,KACLC,IAAKN,EAAmBO,aAAW,WACnCC,IAAKR,EAAmBO,aAAW,YAEvC,CACIF,IAAK,KACLC,IAAKN,EAAmBO,aAAW,WACnCC,IAAKR,EAAmBO,aAAW,YAEvC,CACIF,IAAK,KACLC,IAAKN,EAAmBO,aAAW,WACnCC,IAAKR,EAAmBO,aAAW,YAEvC,CACIF,IAAK,KACLC,IAAKN,EAAmBO,aAAW,WACnCC,IAAKR,EAAmBO,aAAW,YAEvC,CACIF,IAAK,KACLC,IAAKN,EAAmBO,aAAW,WACnCC,IAAKR,EAAmBO,aAAW,YAEvC,CACIF,IAAK,MACLC,IAAKN,EAAmBO,aAAW,YACnCC,IAAKC,KAGjB,CAc8BC,CAAoBtB,GAE9CW,EAAkBJ,SAASgB,IACvB,MAAMC,EAAWC,EAAAA,kBAAkBF,EAAML,KACnCQ,EACFH,EAAMH,MAAQC,IACRA,IACAI,EAAAA,kBAAkBF,EAAMH,KAE5BO,EAAexB,GAASqB,EACxBI,EAAeF,IAAaL,KAAmBlB,GAASuB,EAE1DC,IAAiBD,IAAaL,KAAYO,IAG1C3B,EAAKK,UAAUuB,IAAI,GAAG/B,IAA0ByB,EAAMN,OAGtDU,GACA1B,EAAKK,UAAUuB,IAAI,GAAG/B,IAA0ByB,EAAMN,WAGtDW,GACA3B,EAAKK,UAAUuB,IAAI,GAAG/B,IAA0ByB,EAAMN,UAC1D,GAER,iCAEM,SAAkCjB,GACpC,IAAK8B,WAAW1B,OAAQ,OAExB,MAAM2B,EAAyB,KAC3BhC,EAAuBC,EAAc,EAMzC,OAHA+B,IACAD,WAAW1B,OAAO4B,iBAAiB,SAAUD,GAEtC,KACHD,WAAW1B,OAAO6B,oBAAoB,SAAUF,EAAuB,CAE/E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sources":["../../../../src/theme/theme-provider/hooks.tsx"],"sourcesContent":["import type { CSSProperties } from \"react\";\nimport { useContext, useMemo } from \"react\";\n\nimport { getInheritedInlineCssVariables } from \"../utils/css-variable\";\nimport { ThemeContext } from \"./context\";\nimport type { ThemeContextValue } from \"./types\";\n\ntype InheritedThemeScope = {\n themeProps: {\n \"data-fds-theme\"?: string;\n \"data-fds-theme-mode\"?: string;\n };\n themeStyle: CSSProperties;\n};\n\nexport const useTheme = (): ThemeContextValue => {\n const context = useContext(ThemeContext);\n\n if (!context) {\n return {\n theme: \"lifesg\",\n mode: \"light\",\n themeElement: null,\n };\n }\n\n return context;\n};\n\nexport const useInheritedThemeScope = (\n enabled: boolean\n): InheritedThemeScope => {\n const themeContext = useContext(ThemeContext);\n\n return useMemo(() => {\n if (!enabled) {\n return {\n themeProps: {},\n themeStyle: {},\n };\n }\n\n return {\n themeProps: {\n \"data-fds-theme\": themeContext?.theme,\n \"data-fds-theme-mode\": themeContext?.mode,\n },\n themeStyle: getInheritedInlineCssVariables(\n themeContext?.themeElement ?? null\n ),\n };\n }, [\n enabled,\n themeContext?.mode,\n themeContext?.theme,\n themeContext?.themeElement,\n ]);\n};\n"],"names":["enabled","themeContext","useContext","ThemeContext","useMemo","themeProps","theme","mode","themeStyle","getInheritedInlineCssVariables","_a","themeElement","context"],"mappings":"
|
|
1
|
+
{"version":3,"file":"hooks.js","sources":["../../../../src/theme/theme-provider/hooks.tsx"],"sourcesContent":["import type { CSSProperties } from \"react\";\nimport { useContext, useMemo } from \"react\";\n\nimport { getInheritedInlineCssVariables } from \"../utils/css-variable\";\nimport { ThemeContext } from \"./context\";\nimport type { ThemeContextValue } from \"./types\";\n\ntype InheritedThemeScope = {\n themeProps: {\n \"data-fds-theme\"?: string;\n \"data-fds-theme-mode\"?: string;\n };\n themeStyle: CSSProperties;\n};\n\n// @catalog\n/**\n * Returns the theme context from the nearest `ThemeProvider`.\n *\n * @returns The active `ThemeContextValue`. When called outside a provider,\n * returns defaults: `theme: \"lifesg\"`, `mode: \"light\"`, `themeElement: null`.\n */\nexport const useTheme = (): ThemeContextValue => {\n const context = useContext(ThemeContext);\n\n if (!context) {\n return {\n theme: \"lifesg\",\n mode: \"light\",\n themeElement: null,\n };\n }\n\n return context;\n};\n\n// @catalog\n/**\n * Builds `data-fds-theme*` attributes and inline CSS variables for re-stamping\n * the current theme onto a detached DOM element (e.g. a portal or floating\n * overlay).\n *\n * @param enabled When `false`, returns empty objects — useful to conditionally\n * skip the attribute injection.\n * @returns `themeProps` (spread onto the root element) and `themeStyle` (inline\n * CSS variables to apply).\n */\nexport const useInheritedThemeScope = (\n enabled: boolean\n): InheritedThemeScope => {\n const themeContext = useContext(ThemeContext);\n\n return useMemo(() => {\n if (!enabled) {\n return {\n themeProps: {},\n themeStyle: {},\n };\n }\n\n return {\n themeProps: {\n \"data-fds-theme\": themeContext?.theme,\n \"data-fds-theme-mode\": themeContext?.mode,\n },\n themeStyle: getInheritedInlineCssVariables(\n themeContext?.themeElement ?? null\n ),\n };\n }, [\n enabled,\n themeContext?.mode,\n themeContext?.theme,\n themeContext?.themeElement,\n ]);\n};\n"],"names":["enabled","themeContext","useContext","ThemeContext","useMemo","themeProps","theme","mode","themeStyle","getInheritedInlineCssVariables","_a","themeElement","context"],"mappings":"mIAgDIA,IAEA,MAAMC,EAAeC,EAAAA,WAAWC,gBAEhC,OAAOC,EAAAA,SAAQ,WACX,OAAKJ,EAOE,CACHK,WAAY,CACR,iBAAkBJ,aAAY,EAAZA,EAAcK,MAChC,sBAAuBL,aAAY,EAAZA,EAAcM,MAEzCC,WAAYC,EAAAA,+BACkB,QAA1BC,EAAAT,aAAY,EAAZA,EAAcU,oBAAY,IAAAD,EAAAA,EAAI,OAZ3B,CACHL,WAAY,CAAA,EACZG,WAAY,CAAA,EAYnB,GACF,CACCR,EACAC,aAAY,EAAZA,EAAcM,KACdN,aAAY,EAAZA,EAAcK,MACdL,aAAY,EAAZA,EAAcU,cAChB,mBApDkB,KACpB,MAAMC,EAAUV,EAAAA,WAAWC,gBAE3B,OAAKS,GACM,CACHN,MAAO,SACPC,KAAM,QACNI,aAAc,KAIR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/theme/theme-provider/index.tsx"],"sourcesContent":["import type { Ref } from \"react\";\nimport { forwardRef, useEffect, useMemo, useState } from \"react\";\n\nimport { mergeRefs, useIsomorphicLayoutEffect } from \"../../util\";\nimport type { ResolvedThemeMode } from \"../types\";\nimport { setupBreakpointListener } from \"./breakpoint\";\nimport { ThemeContext } from \"./context\";\nimport { listenToSystemColourMode } from \"./system-colour-mode\";\nimport type { ThemeProviderProps } from \"./types\";\n\nconst InnerThemeProvider = (\n {\n children,\n theme = \"lifesg\",\n mode = \"auto\",\n className,\n style,\n }: ThemeProviderProps,\n ref: Ref<HTMLDivElement>\n) => {\n const isModeControlled = mode !== \"auto\";\n\n const [computedMode, setComputedMode] = useState<ResolvedThemeMode>(\n isModeControlled ? mode : \"light\"\n );\n const [themeElement, setThemeElement] = useState<HTMLDivElement | null>(\n null\n );\n\n // Re-subscribe when the source node or token set changes:\n // - `themeElement`: scoped breakpoint tokens may live on this element\n // - `theme` / `themeMode`: breakpoint token values can differ across theme/mode\n useIsomorphicLayoutEffect(() => {\n const sourceElement = themeElement ?? document.documentElement;\n const cleanup = setupBreakpointListener(sourceElement);\n return cleanup;\n }, [themeElement, theme, computedMode]);\n\n useEffect(() => {\n if (isModeControlled) {\n setComputedMode(mode);\n return;\n }\n\n return listenToSystemColourMode(setComputedMode);\n }, [isModeControlled, mode]);\n\n const contextValue = useMemo(\n () => ({\n theme,\n mode: computedMode,\n themeElement,\n }),\n [theme, computedMode, themeElement]\n );\n\n return (\n <ThemeContext.Provider value={contextValue}>\n <div\n ref={mergeRefs(ref, setThemeElement)}\n data-fds-theme={theme}\n data-fds-theme-mode={computedMode}\n className={className}\n style={style}\n >\n {children}\n </div>\n </ThemeContext.Provider>\n );\n};\n\nexport const ThemeProvider = forwardRef<HTMLDivElement, ThemeProviderProps>(\n InnerThemeProvider\n);\n"],"names":["ThemeProvider","forwardRef","children","theme","mode","className","style","ref","isModeControlled","computedMode","setComputedMode","useState","themeElement","setThemeElement","useIsomorphicLayoutEffect","sourceElement","document","documentElement","setupBreakpointListener","useEffect","listenToSystemColourMode","contextValue","useMemo","_jsx","ThemeContext","Provider","value","mergeRefs"],"mappings":"qdAUA,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/theme/theme-provider/index.tsx"],"sourcesContent":["import type { Ref } from \"react\";\nimport { forwardRef, useEffect, useMemo, useState } from \"react\";\n\nimport { mergeRefs, useIsomorphicLayoutEffect } from \"../../util\";\nimport type { ResolvedThemeMode } from \"../types\";\nimport { setupBreakpointListener } from \"./breakpoint\";\nimport { ThemeContext } from \"./context\";\nimport { listenToSystemColourMode } from \"./system-colour-mode\";\nimport type { ThemeProviderProps } from \"./types\";\n\nconst InnerThemeProvider = (\n {\n children,\n theme = \"lifesg\",\n mode = \"auto\",\n className,\n style,\n }: ThemeProviderProps,\n ref: Ref<HTMLDivElement>\n) => {\n const isModeControlled = mode !== \"auto\";\n\n const [computedMode, setComputedMode] = useState<ResolvedThemeMode>(\n isModeControlled ? mode : \"light\"\n );\n const [themeElement, setThemeElement] = useState<HTMLDivElement | null>(\n null\n );\n\n // Re-subscribe when the source node or token set changes:\n // - `themeElement`: scoped breakpoint tokens may live on this element\n // - `theme` / `themeMode`: breakpoint token values can differ across theme/mode\n useIsomorphicLayoutEffect(() => {\n const sourceElement = themeElement ?? document.documentElement;\n const cleanup = setupBreakpointListener(sourceElement);\n return cleanup;\n }, [themeElement, theme, computedMode]);\n\n useEffect(() => {\n if (isModeControlled) {\n setComputedMode(mode);\n return;\n }\n\n return listenToSystemColourMode(setComputedMode);\n }, [isModeControlled, mode]);\n\n const contextValue = useMemo(\n () => ({\n theme,\n mode: computedMode,\n themeElement,\n }),\n [theme, computedMode, themeElement]\n );\n\n return (\n <ThemeContext.Provider value={contextValue}>\n <div\n ref={mergeRefs(ref, setThemeElement)}\n data-fds-theme={theme}\n data-fds-theme-mode={computedMode}\n className={className}\n style={style}\n >\n {children}\n </div>\n </ThemeContext.Provider>\n );\n};\n\n// @catalog\n/**\n * Establishes a themed scope for its subtree.\n *\n * Wrap a section of the tree in `ThemeProvider` to activate a design-token set\n * and colour mode. Components below it read tokens via CSS variables or the\n * `useTheme` hook. Providers can be nested to override a subtree's theme.\n */\nexport const ThemeProvider = forwardRef<HTMLDivElement, ThemeProviderProps>(\n InnerThemeProvider\n);\n"],"names":["ThemeProvider","forwardRef","children","theme","mode","className","style","ref","isModeControlled","computedMode","setComputedMode","useState","themeElement","setThemeElement","useIsomorphicLayoutEffect","sourceElement","document","documentElement","setupBreakpointListener","useEffect","listenToSystemColourMode","contextValue","useMemo","_jsx","ThemeContext","Provider","value","mergeRefs"],"mappings":"qdAUA,MAqEaA,EAAgBC,EAAAA,YArEF,EAEnBC,WACAC,QAAQ,SACRC,OAAO,OACPC,YACAC,SAEJC,KAEA,MAAMC,EAA4B,SAATJ,GAElBK,EAAcC,GAAmBC,EAAAA,SACpCH,EAAmBJ,EAAO,UAEvBQ,EAAcC,GAAmBF,EAAAA,SACpC,MAMJG,EAAAA,2BAA0B,KACtB,MAAMC,EAAgBH,QAAAA,EAAgBI,SAASC,gBAE/C,OADgBC,EAAAA,wBAAwBH,EAC1B,GACf,CAACH,EAAcT,EAAOM,IAEzBU,EAAAA,WAAU,KACN,IAAIX,EAKJ,OAAOY,EAAAA,yBAAyBV,GAJ5BA,EAAgBN,EAI4B,GACjD,CAACI,EAAkBJ,IAEtB,MAAMiB,EAAeC,EAAAA,SACjB,KAAA,CACInB,QACAC,KAAMK,EACNG,kBAEJ,CAACT,EAAOM,EAAcG,IAG1B,OACIW,MAACC,EAAAA,aAAaC,UAASC,MAAOL,EAAYnB,SACtCqB,EAAAA,WACIhB,IAAKoB,EAAAA,UAAUpB,EAAKM,GAAgB,iBACpBV,EAAK,sBACAM,EACrBJ,UAAWA,EACXC,MAAOA,EAAKJ,SAEXA,KAEe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"border.js","sources":["../../../../src/theme/tokens/border.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"border.js","sources":["../../../../src/theme/tokens/border.ts"],"sourcesContent":["/**\n * Border width tokens.\n */\nexport const BorderThickness = {\n \"width-005\": \"var(--fds-border-width-005)\",\n \"width-010\": \"var(--fds-border-width-010)\",\n \"width-020\": \"var(--fds-border-width-020)\",\n \"width-040\": \"var(--fds-border-width-040)\",\n} as const;\n\n/**\n * Border style tokens.\n */\nexport const BorderStyle = {\n solid: \"var(--fds-border-style-solid)\",\n} as const;\n\n// @catalog\n/**\n * Border tokens consisting of border width and border style.\n */\nexport const Border = {\n ...BorderThickness,\n ...BorderStyle,\n} as const;\n"],"names":["BorderThickness","BorderStyle","solid","Border","Object"],"mappings":"aAGO,MAAMA,EAAkB,CAC3B,YAAa,8BACb,YAAa,8BACb,YAAa,8BACb,YAAa,+BAMJC,EAAc,CACvBC,MAAO,iCAOEC,EAASC,+BACfJ,GACAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breakpoint.js","sources":["../../../../src/theme/tokens/breakpoint.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"breakpoint.js","sources":["../../../../src/theme/tokens/breakpoint.ts"],"sourcesContent":["// @catalog\n/**\n * Responsive breakpoint tokens for each named breakpoint.\n */\nexport const Breakpoint = {\n \"xxs-min\": \"var(--fds-breakpoint-xxs-min)\",\n \"xxs-max\": \"var(--fds-breakpoint-xxs-max)\",\n \"xs-min\": \"var(--fds-breakpoint-xs-min)\",\n \"xs-max\": \"var(--fds-breakpoint-xs-max)\",\n \"sm-min\": \"var(--fds-breakpoint-sm-min)\",\n \"sm-max\": \"var(--fds-breakpoint-sm-max)\",\n \"md-min\": \"var(--fds-breakpoint-md-min)\",\n \"md-max\": \"var(--fds-breakpoint-md-max)\",\n \"lg-min\": \"var(--fds-breakpoint-lg-min)\",\n \"lg-max\": \"var(--fds-breakpoint-lg-max)\",\n \"xl-min\": \"var(--fds-breakpoint-xl-min)\",\n \"xl-max\": \"var(--fds-breakpoint-xl-max)\",\n \"xxl-min\": \"var(--fds-breakpoint-xxl-min)\",\n\n \"xxs-column\": \"var(--fds-breakpoint-column-xxs)\",\n \"xs-column\": \"var(--fds-breakpoint-column-xs)\",\n \"sm-column\": \"var(--fds-breakpoint-column-sm)\",\n \"md-column\": \"var(--fds-breakpoint-column-md)\",\n \"lg-column\": \"var(--fds-breakpoint-column-lg)\",\n \"xl-column\": \"var(--fds-breakpoint-column-xl)\",\n \"xxl-column\": \"var(--fds-breakpoint-column-xxl)\",\n\n \"xxs-gutter\": \"var(--fds-breakpoint-gutter-xxs)\",\n \"xs-gutter\": \"var(--fds-breakpoint-gutter-xs)\",\n \"sm-gutter\": \"var(--fds-breakpoint-gutter-sm)\",\n \"md-gutter\": \"var(--fds-breakpoint-gutter-md)\",\n \"lg-gutter\": \"var(--fds-breakpoint-gutter-lg)\",\n \"xl-gutter\": \"var(--fds-breakpoint-gutter-xl)\",\n \"xxl-gutter\": \"var(--fds-breakpoint-gutter-xxl)\",\n\n \"xxs-margin\": \"var(--fds-breakpoint-margin-xxs)\",\n \"xs-margin\": \"var(--fds-breakpoint-margin-xs)\",\n \"sm-margin\": \"var(--fds-breakpoint-margin-sm)\",\n \"md-margin\": \"var(--fds-breakpoint-margin-md)\",\n \"lg-margin\": \"var(--fds-breakpoint-margin-lg)\",\n \"xl-margin\": \"var(--fds-breakpoint-margin-xl)\",\n \"xxl-margin\": \"var(--fds-breakpoint-margin-xxl)\",\n} as const;\n"],"names":[],"mappings":"gCAI0B,CACtB,UAAW,gCACX,UAAW,gCACX,SAAU,+BACV,SAAU,+BACV,SAAU,+BACV,SAAU,+BACV,SAAU,+BACV,SAAU,+BACV,SAAU,+BACV,SAAU,+BACV,SAAU,+BACV,SAAU,+BACV,UAAW,gCAEX,aAAc,mCACd,YAAa,kCACb,YAAa,kCACb,YAAa,kCACb,YAAa,kCACb,YAAa,kCACb,aAAc,mCAEd,aAAc,mCACd,YAAa,kCACb,YAAa,kCACb,YAAa,kCACb,YAAa,kCACb,YAAa,kCACb,aAAc,mCAEd,aAAc,mCACd,YAAa,kCACb,YAAa,kCACb,YAAa,kCACb,YAAa,kCACb,YAAa,kCACb,aAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colour.js","sources":["../../../../src/theme/tokens/colour.ts"],"sourcesContent":["export const PrimitiveColours = {\n \"brand-10\": \"var(--fds-colour-brand-10)\",\n \"brand-20\": \"var(--fds-colour-brand-20)\",\n \"brand-30\": \"var(--fds-colour-brand-30)\",\n \"brand-40\": \"var(--fds-colour-brand-40)\",\n \"brand-50\": \"var(--fds-colour-brand-50)\",\n \"brand-60\": \"var(--fds-colour-brand-60)\",\n \"brand-70\": \"var(--fds-colour-brand-70)\",\n \"brand-80\": \"var(--fds-colour-brand-80)\",\n \"brand-90\": \"var(--fds-colour-brand-90)\",\n \"brand-95\": \"var(--fds-colour-brand-95)\",\n \"brand-100\": \"var(--fds-colour-brand-100)\",\n\n \"primary-10\": \"var(--fds-colour-primary-10)\",\n \"primary-20\": \"var(--fds-colour-primary-20)\",\n \"primary-30\": \"var(--fds-colour-primary-30)\",\n \"primary-40\": \"var(--fds-colour-primary-40)\",\n \"primary-50\": \"var(--fds-colour-primary-50)\",\n \"primary-60\": \"var(--fds-colour-primary-60)\",\n \"primary-70\": \"var(--fds-colour-primary-70)\",\n \"primary-80\": \"var(--fds-colour-primary-80)\",\n \"primary-90\": \"var(--fds-colour-primary-90)\",\n \"primary-95\": \"var(--fds-colour-primary-95)\",\n \"primary-100\": \"var(--fds-colour-primary-100)\",\n\n \"secondary-10\": \"var(--fds-colour-secondary-10)\",\n \"secondary-20\": \"var(--fds-colour-secondary-20)\",\n \"secondary-30\": \"var(--fds-colour-secondary-30)\",\n \"secondary-40\": \"var(--fds-colour-secondary-40)\",\n \"secondary-50\": \"var(--fds-colour-secondary-50)\",\n \"secondary-60\": \"var(--fds-colour-secondary-60)\",\n \"secondary-70\": \"var(--fds-colour-secondary-70)\",\n \"secondary-80\": \"var(--fds-colour-secondary-80)\",\n \"secondary-90\": \"var(--fds-colour-secondary-90)\",\n \"secondary-95\": \"var(--fds-colour-secondary-95)\",\n \"secondary-100\": \"var(--fds-colour-secondary-100)\",\n\n \"neutral-10\": \"var(--fds-colour-neutral-10)\",\n \"neutral-20\": \"var(--fds-colour-neutral-20)\",\n \"neutral-30\": \"var(--fds-colour-neutral-30)\",\n \"neutral-40\": \"var(--fds-colour-neutral-40)\",\n \"neutral-50\": \"var(--fds-colour-neutral-50)\",\n \"neutral-60\": \"var(--fds-colour-neutral-60)\",\n \"neutral-70\": \"var(--fds-colour-neutral-70)\",\n \"neutral-80\": \"var(--fds-colour-neutral-80)\",\n \"neutral-90\": \"var(--fds-colour-neutral-90)\",\n \"neutral-95\": \"var(--fds-colour-neutral-95)\",\n \"neutral-100\": \"var(--fds-colour-neutral-100)\",\n\n \"success-10\": \"var(--fds-colour-success-10)\",\n \"success-20\": \"var(--fds-colour-success-20)\",\n \"success-30\": \"var(--fds-colour-success-30)\",\n \"success-40\": \"var(--fds-colour-success-40)\",\n \"success-50\": \"var(--fds-colour-success-50)\",\n \"success-60\": \"var(--fds-colour-success-60)\",\n \"success-70\": \"var(--fds-colour-success-70)\",\n \"success-80\": \"var(--fds-colour-success-80)\",\n \"success-90\": \"var(--fds-colour-success-90)\",\n \"success-95\": \"var(--fds-colour-success-95)\",\n \"success-100\": \"var(--fds-colour-success-100)\",\n\n \"warning-10\": \"var(--fds-colour-warning-10)\",\n \"warning-20\": \"var(--fds-colour-warning-20)\",\n \"warning-30\": \"var(--fds-colour-warning-30)\",\n \"warning-40\": \"var(--fds-colour-warning-40)\",\n \"warning-50\": \"var(--fds-colour-warning-50)\",\n \"warning-60\": \"var(--fds-colour-warning-60)\",\n \"warning-70\": \"var(--fds-colour-warning-70)\",\n \"warning-80\": \"var(--fds-colour-warning-80)\",\n \"warning-90\": \"var(--fds-colour-warning-90)\",\n \"warning-95\": \"var(--fds-colour-warning-95)\",\n \"warning-100\": \"var(--fds-colour-warning-100)\",\n\n \"error-10\": \"var(--fds-colour-error-10)\",\n \"error-20\": \"var(--fds-colour-error-20)\",\n \"error-30\": \"var(--fds-colour-error-30)\",\n \"error-40\": \"var(--fds-colour-error-40)\",\n \"error-50\": \"var(--fds-colour-error-50)\",\n \"error-60\": \"var(--fds-colour-error-60)\",\n \"error-70\": \"var(--fds-colour-error-70)\",\n \"error-80\": \"var(--fds-colour-error-80)\",\n \"error-90\": \"var(--fds-colour-error-90)\",\n \"error-95\": \"var(--fds-colour-error-95)\",\n \"error-100\": \"var(--fds-colour-error-100)\",\n\n \"info-10\": \"var(--fds-colour-info-10)\",\n \"info-20\": \"var(--fds-colour-info-20)\",\n \"info-30\": \"var(--fds-colour-info-30)\",\n \"info-40\": \"var(--fds-colour-info-40)\",\n \"info-50\": \"var(--fds-colour-info-50)\",\n \"info-60\": \"var(--fds-colour-info-60)\",\n \"info-70\": \"var(--fds-colour-info-70)\",\n \"info-80\": \"var(--fds-colour-info-80)\",\n \"info-90\": \"var(--fds-colour-info-90)\",\n \"info-95\": \"var(--fds-colour-info-95)\",\n \"info-100\": \"var(--fds-colour-info-100)\",\n\n white: \"var(--fds-colour-white)\",\n black: \"var(--fds-colour-black)\",\n \"primary-inverse\": \"var(--fds-colour-primary-inverse)\",\n} as const;\n\nexport const SemanticColours = {\n text: \"var(--fds-colour-text)\",\n \"text-subtle\": \"var(--fds-colour-text-subtle)\",\n \"text-subtler\": \"var(--fds-colour-text-subtler)\",\n \"text-subtlest\": \"var(--fds-colour-text-subtlest)\",\n \"text-primary\": \"var(--fds-colour-text-primary)\",\n \"text-primary-strong\": \"var(--fds-colour-text-primary-strong)\",\n \"text-primary-strongest\": \"var(--fds-colour-text-primary-strongest)\",\n \"text-brand\": \"var(--fds-colour-text-brand)\",\n \"text-secondary\": \"var(--fds-colour-text-secondary)\",\n \"text-secondary-subtle\": \"var(--fds-colour-text-secondary-subtle)\",\n \"text-hover\": \"var(--fds-colour-text-hover)\",\n \"text-selected\": \"var(--fds-colour-text-selected)\",\n \"text-selected-hover\": \"var(--fds-colour-text-selected-hover)\",\n \"text-disabled\": \"var(--fds-colour-text-disabled)\",\n \"text-disabled-subtle\": \"var(--fds-colour-text-disabled-subtle)\",\n \"text-disabled-subtlest\": \"var(--fds-colour-text-disabled-subtlest)\",\n \"text-selected-disabled\": \"var(--fds-colour-text-selected-disabled)\",\n \"text-success\": \"var(--fds-colour-text-success)\",\n \"text-warning\": \"var(--fds-colour-text-warning)\",\n \"text-error\": \"var(--fds-colour-text-error)\",\n \"text-info\": \"var(--fds-colour-text-info)\",\n \"text-inverse\": \"var(--fds-colour-text-inverse)\",\n\n icon: \"var(--fds-colour-icon)\",\n \"icon-subtle\": \"var(--fds-colour-icon-subtle)\",\n \"icon-strongest\": \"var(--fds-colour-icon-strongest)\",\n \"icon-primary\": \"var(--fds-colour-icon-primary)\",\n \"icon-primary-subtle\": \"var(--fds-colour-icon-primary-subtle)\",\n \"icon-primary-subtlest\": \"var(--fds-colour-icon-primary-subtlest)\",\n \"icon-brand\": \"var(--fds-colour-icon-brand)\",\n \"icon-secondary\": \"var(--fds-colour-icon-secondary)\",\n \"icon-secondary-subtle\": \"var(--fds-colour-icon-secondary-subtle)\",\n \"icon-hover\": \"var(--fds-colour-icon-hover)\",\n \"icon-selected\": \"var(--fds-colour-icon-selected)\",\n \"icon-selected-hover\": \"var(--fds-colour-icon-selected-hover)\",\n \"icon-disabled\": \"var(--fds-colour-icon-disabled)\",\n \"icon-disabled-subtle\": \"var(--fds-colour-icon-disabled-subtle)\",\n \"icon-selected-disabled\": \"var(--fds-colour-icon-selected-disabled)\",\n \"icon-success\": \"var(--fds-colour-icon-success)\",\n \"icon-warning\": \"var(--fds-colour-icon-warning)\",\n \"icon-error\": \"var(--fds-colour-icon-error)\",\n \"icon-error-strong\": \"var(--fds-colour-icon-error-strong)\",\n \"icon-info\": \"var(--fds-colour-icon-info)\",\n \"icon-inverse\": \"var(--fds-colour-icon-inverse)\",\n \"icon-primary-inverse\": \"var(--fds-colour-icon-primary-inverse)\",\n\n border: \"var(--fds-colour-border)\",\n \"border-strong\": \"var(--fds-colour-border-strong)\",\n \"border-stronger\": \"var(--fds-colour-border-stronger)\",\n \"border-primary\": \"var(--fds-colour-border-primary)\",\n \"border-primary-strong\": \"var(--fds-colour-border-primary-strong)\",\n \"border-primary-subtle\": \"var(--fds-colour-border-primary-subtle)\",\n \"border-hover\": \"var(--fds-colour-border-hover)\",\n \"border-hover-strong\": \"var(--fds-colour-border-hover-strong)\",\n \"border-selected\": \"var(--fds-colour-border-selected)\",\n \"border-selected-subtle\": \"var(--fds-colour-border-selected-subtle)\",\n \"border-selected-subtlest\": \"var(--fds-colour-border-selected-subtlest)\",\n \"border-selected-hover\": \"var(--fds-colour-border-selected-hover)\",\n \"border-focus\": \"var(--fds-colour-border-focus)\",\n \"border-focus-strong\": \"var(--fds-colour-border-focus-strong)\",\n \"border-disabled\": \"var(--fds-colour-border-disabled)\",\n \"border-selected-disabled\": \"var(--fds-colour-border-selected-disabled)\",\n \"border-success\": \"var(--fds-colour-border-success)\",\n \"border-warning\": \"var(--fds-colour-border-warning)\",\n \"border-error\": \"var(--fds-colour-border-error)\",\n \"border-error-focus\": \"var(--fds-colour-border-error-focus)\",\n \"border-error-focus-strong\": \"var(--fds-colour-border-error-focus-strong)\",\n \"border-error-strong\": \"var(--fds-colour-border-error-strong)\",\n \"border-info\": \"var(--fds-colour-border-info)\",\n\n bg: \"var(--fds-colour-bg)\",\n \"bg-strong\": \"var(--fds-colour-bg-strong)\",\n \"bg-stronger\": \"var(--fds-colour-bg-stronger)\",\n \"bg-strongest\": \"var(--fds-colour-bg-strongest)\",\n \"bg-hover\": \"var(--fds-colour-bg-hover)\",\n \"bg-hover-strong\": \"var(--fds-colour-bg-hover-strong)\",\n \"bg-hover-subtle\": \"var(--fds-colour-bg-hover-subtle)\",\n \"bg-hover-neutral\": \"var(--fds-colour-bg-hover-neutral)\",\n \"bg-hover-neutral-strong\": \"var(--fds-colour-bg-hover-neutral-strong)\",\n \"bg-selected\": \"var(--fds-colour-bg-selected)\",\n \"bg-selected-hover\": \"var(--fds-colour-bg-selected-hover)\",\n \"bg-selected-strong\": \"var(--fds-colour-bg-selected-strong)\",\n \"bg-selected-stronger\": \"var(--fds-colour-bg-selected-stronger)\",\n \"bg-selected-strongest\": \"var(--fds-colour-bg-selected-strongest)\",\n \"bg-selected-strongest-hover\":\n \"var(--fds-colour-bg-selected-strongest-hover)\",\n \"bg-disabled\": \"var(--fds-colour-bg-disabled)\",\n \"bg-selected-disabled\": \"var(--fds-colour-bg-selected-disabled)\",\n \"bg-selected-stronger-disabled\":\n \"var(--fds-colour-bg-selected-stronger-disabled)\",\n \"bg-success\": \"var(--fds-colour-bg-success)\",\n \"bg-success-hover\": \"var(--fds-colour-bg-success-hover)\",\n \"bg-success-strong\": \"var(--fds-colour-bg-success-strong)\",\n \"bg-success-strong-hover\": \"var(--fds-colour-bg-success-strong-hover)\",\n \"bg-warning\": \"var(--fds-colour-bg-warning)\",\n \"bg-warning-hover\": \"var(--fds-colour-bg-warning-hover)\",\n \"bg-warning-strong\": \"var(--fds-colour-bg-warning-strong)\",\n \"bg-warning-strong-hover\": \"var(--fds-colour-bg-warning-strong-hover)\",\n \"bg-info\": \"var(--fds-colour-bg-info)\",\n \"bg-info-hover\": \"var(--fds-colour-bg-info-hover)\",\n \"bg-info-strong\": \"var(--fds-colour-bg-info-strong)\",\n \"bg-info-strong-hover\": \"var(--fds-colour-bg-info-strong-hover)\",\n \"bg-error\": \"var(--fds-colour-bg-error)\",\n \"bg-error-hover\": \"var(--fds-colour-bg-error-hover)\",\n \"bg-error-strong\": \"var(--fds-colour-bg-error-strong)\",\n \"bg-error-strong-hover\": \"var(--fds-colour-bg-error-strong-hover)\",\n \"bg-inverse\": \"var(--fds-colour-bg-inverse)\",\n \"bg-inverse-subtle\": \"var(--fds-colour-bg-inverse-subtle)\",\n \"bg-inverse-subtler\": \"var(--fds-colour-bg-inverse-subtler)\",\n \"bg-inverse-subtlest\": \"var(--fds-colour-bg-inverse-subtlest)\",\n \"bg-inverse-hover\": \"var(--fds-colour-bg-inverse-hover)\",\n \"bg-primary\": \"var(--fds-colour-bg-primary)\",\n \"bg-primary-strong\": \"var(--fds-colour-bg-primary-strong)\",\n \"bg-primary-subtle\": \"var(--fds-colour-bg-primary-subtle)\",\n \"bg-primary-subtler\": \"var(--fds-colour-bg-primary-subtler)\",\n \"bg-primary-subtlest\": \"var(--fds-colour-bg-primary-subtlest)\",\n \"bg-secondary\": \"var(--fds-colour-bg-secondary)\",\n \"bg-secondary-subtle\": \"var(--fds-colour-bg-secondary-subtle)\",\n \"bg-secondary-subtler\": \"var(--fds-colour-bg-secondary-subtler)\",\n \"bg-secondary-subtlest\": \"var(--fds-colour-bg-secondary-subtlest)\",\n \"bg-available\": \"var(--fds-colour-bg-available)\",\n \"bg-primary-hover\": \"var(--fds-colour-bg-primary-hover)\",\n \"bg-primary-strong-hover\": \"var(--fds-colour-bg-primary-strong-hover)\",\n \"bg-primary-subtlest-hover\": \"var(--fds-colour-bg-primary-subtlest-hover)\",\n \"bg-primary-subtlest-selected\":\n \"var(--fds-colour-bg-primary-subtlest-selected)\",\n\n \"overlay-strong\": \"var(--fds-colour-overlay-strong)\",\n \"overlay-subtle\": \"var(--fds-colour-overlay-subtle)\",\n\n hyperlink: \"var(--fds-colour-hyperlink)\",\n \"hyperlink-hover\": \"var(--fds-colour-hyperlink-hover)\",\n \"hyperlink-visited\": \"var(--fds-colour-hyperlink-visited)\",\n \"hyperlink-inverse\": \"var(--fds-colour-hyperlink-inverse)\",\n\n \"focus-ring\": \"var(--fds-colour-focus-ring)\",\n \"focus-ring-inverse\": \"var(--fds-colour-focus-ring-inverse)\",\n} as const;\n\nexport const Colour = {\n Primitive: PrimitiveColours,\n ...SemanticColours,\n} as const;\n"],"names":["PrimitiveColours","white","black","SemanticColours","text","icon","border","bg","hyperlink","Colour","Object","assign","Primitive"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"colour.js","sources":["../../../../src/theme/tokens/colour.ts"],"sourcesContent":["/**\n * Base colour palette.\n */\nexport const PrimitiveColours = {\n \"brand-10\": \"var(--fds-colour-brand-10)\",\n \"brand-20\": \"var(--fds-colour-brand-20)\",\n \"brand-30\": \"var(--fds-colour-brand-30)\",\n \"brand-40\": \"var(--fds-colour-brand-40)\",\n \"brand-50\": \"var(--fds-colour-brand-50)\",\n \"brand-60\": \"var(--fds-colour-brand-60)\",\n \"brand-70\": \"var(--fds-colour-brand-70)\",\n \"brand-80\": \"var(--fds-colour-brand-80)\",\n \"brand-90\": \"var(--fds-colour-brand-90)\",\n \"brand-95\": \"var(--fds-colour-brand-95)\",\n \"brand-100\": \"var(--fds-colour-brand-100)\",\n\n \"primary-10\": \"var(--fds-colour-primary-10)\",\n \"primary-20\": \"var(--fds-colour-primary-20)\",\n \"primary-30\": \"var(--fds-colour-primary-30)\",\n \"primary-40\": \"var(--fds-colour-primary-40)\",\n \"primary-50\": \"var(--fds-colour-primary-50)\",\n \"primary-60\": \"var(--fds-colour-primary-60)\",\n \"primary-70\": \"var(--fds-colour-primary-70)\",\n \"primary-80\": \"var(--fds-colour-primary-80)\",\n \"primary-90\": \"var(--fds-colour-primary-90)\",\n \"primary-95\": \"var(--fds-colour-primary-95)\",\n \"primary-100\": \"var(--fds-colour-primary-100)\",\n\n \"secondary-10\": \"var(--fds-colour-secondary-10)\",\n \"secondary-20\": \"var(--fds-colour-secondary-20)\",\n \"secondary-30\": \"var(--fds-colour-secondary-30)\",\n \"secondary-40\": \"var(--fds-colour-secondary-40)\",\n \"secondary-50\": \"var(--fds-colour-secondary-50)\",\n \"secondary-60\": \"var(--fds-colour-secondary-60)\",\n \"secondary-70\": \"var(--fds-colour-secondary-70)\",\n \"secondary-80\": \"var(--fds-colour-secondary-80)\",\n \"secondary-90\": \"var(--fds-colour-secondary-90)\",\n \"secondary-95\": \"var(--fds-colour-secondary-95)\",\n \"secondary-100\": \"var(--fds-colour-secondary-100)\",\n\n \"neutral-10\": \"var(--fds-colour-neutral-10)\",\n \"neutral-20\": \"var(--fds-colour-neutral-20)\",\n \"neutral-30\": \"var(--fds-colour-neutral-30)\",\n \"neutral-40\": \"var(--fds-colour-neutral-40)\",\n \"neutral-50\": \"var(--fds-colour-neutral-50)\",\n \"neutral-60\": \"var(--fds-colour-neutral-60)\",\n \"neutral-70\": \"var(--fds-colour-neutral-70)\",\n \"neutral-80\": \"var(--fds-colour-neutral-80)\",\n \"neutral-90\": \"var(--fds-colour-neutral-90)\",\n \"neutral-95\": \"var(--fds-colour-neutral-95)\",\n \"neutral-100\": \"var(--fds-colour-neutral-100)\",\n\n \"success-10\": \"var(--fds-colour-success-10)\",\n \"success-20\": \"var(--fds-colour-success-20)\",\n \"success-30\": \"var(--fds-colour-success-30)\",\n \"success-40\": \"var(--fds-colour-success-40)\",\n \"success-50\": \"var(--fds-colour-success-50)\",\n \"success-60\": \"var(--fds-colour-success-60)\",\n \"success-70\": \"var(--fds-colour-success-70)\",\n \"success-80\": \"var(--fds-colour-success-80)\",\n \"success-90\": \"var(--fds-colour-success-90)\",\n \"success-95\": \"var(--fds-colour-success-95)\",\n \"success-100\": \"var(--fds-colour-success-100)\",\n\n \"warning-10\": \"var(--fds-colour-warning-10)\",\n \"warning-20\": \"var(--fds-colour-warning-20)\",\n \"warning-30\": \"var(--fds-colour-warning-30)\",\n \"warning-40\": \"var(--fds-colour-warning-40)\",\n \"warning-50\": \"var(--fds-colour-warning-50)\",\n \"warning-60\": \"var(--fds-colour-warning-60)\",\n \"warning-70\": \"var(--fds-colour-warning-70)\",\n \"warning-80\": \"var(--fds-colour-warning-80)\",\n \"warning-90\": \"var(--fds-colour-warning-90)\",\n \"warning-95\": \"var(--fds-colour-warning-95)\",\n \"warning-100\": \"var(--fds-colour-warning-100)\",\n\n \"error-10\": \"var(--fds-colour-error-10)\",\n \"error-20\": \"var(--fds-colour-error-20)\",\n \"error-30\": \"var(--fds-colour-error-30)\",\n \"error-40\": \"var(--fds-colour-error-40)\",\n \"error-50\": \"var(--fds-colour-error-50)\",\n \"error-60\": \"var(--fds-colour-error-60)\",\n \"error-70\": \"var(--fds-colour-error-70)\",\n \"error-80\": \"var(--fds-colour-error-80)\",\n \"error-90\": \"var(--fds-colour-error-90)\",\n \"error-95\": \"var(--fds-colour-error-95)\",\n \"error-100\": \"var(--fds-colour-error-100)\",\n\n \"info-10\": \"var(--fds-colour-info-10)\",\n \"info-20\": \"var(--fds-colour-info-20)\",\n \"info-30\": \"var(--fds-colour-info-30)\",\n \"info-40\": \"var(--fds-colour-info-40)\",\n \"info-50\": \"var(--fds-colour-info-50)\",\n \"info-60\": \"var(--fds-colour-info-60)\",\n \"info-70\": \"var(--fds-colour-info-70)\",\n \"info-80\": \"var(--fds-colour-info-80)\",\n \"info-90\": \"var(--fds-colour-info-90)\",\n \"info-95\": \"var(--fds-colour-info-95)\",\n \"info-100\": \"var(--fds-colour-info-100)\",\n\n white: \"var(--fds-colour-white)\",\n black: \"var(--fds-colour-black)\",\n \"primary-inverse\": \"var(--fds-colour-primary-inverse)\",\n} as const;\n\n/**\n * Purpose-driven colour tokens.\n */\nexport const SemanticColours = {\n text: \"var(--fds-colour-text)\",\n \"text-subtle\": \"var(--fds-colour-text-subtle)\",\n \"text-subtler\": \"var(--fds-colour-text-subtler)\",\n \"text-subtlest\": \"var(--fds-colour-text-subtlest)\",\n \"text-primary\": \"var(--fds-colour-text-primary)\",\n \"text-primary-strong\": \"var(--fds-colour-text-primary-strong)\",\n \"text-primary-strongest\": \"var(--fds-colour-text-primary-strongest)\",\n \"text-brand\": \"var(--fds-colour-text-brand)\",\n \"text-secondary\": \"var(--fds-colour-text-secondary)\",\n \"text-secondary-subtle\": \"var(--fds-colour-text-secondary-subtle)\",\n \"text-hover\": \"var(--fds-colour-text-hover)\",\n \"text-selected\": \"var(--fds-colour-text-selected)\",\n \"text-selected-hover\": \"var(--fds-colour-text-selected-hover)\",\n \"text-disabled\": \"var(--fds-colour-text-disabled)\",\n \"text-disabled-subtle\": \"var(--fds-colour-text-disabled-subtle)\",\n \"text-disabled-subtlest\": \"var(--fds-colour-text-disabled-subtlest)\",\n \"text-selected-disabled\": \"var(--fds-colour-text-selected-disabled)\",\n \"text-success\": \"var(--fds-colour-text-success)\",\n \"text-warning\": \"var(--fds-colour-text-warning)\",\n \"text-error\": \"var(--fds-colour-text-error)\",\n \"text-info\": \"var(--fds-colour-text-info)\",\n \"text-inverse\": \"var(--fds-colour-text-inverse)\",\n\n icon: \"var(--fds-colour-icon)\",\n \"icon-subtle\": \"var(--fds-colour-icon-subtle)\",\n \"icon-strongest\": \"var(--fds-colour-icon-strongest)\",\n \"icon-primary\": \"var(--fds-colour-icon-primary)\",\n \"icon-primary-subtle\": \"var(--fds-colour-icon-primary-subtle)\",\n \"icon-primary-subtlest\": \"var(--fds-colour-icon-primary-subtlest)\",\n \"icon-brand\": \"var(--fds-colour-icon-brand)\",\n \"icon-secondary\": \"var(--fds-colour-icon-secondary)\",\n \"icon-secondary-subtle\": \"var(--fds-colour-icon-secondary-subtle)\",\n \"icon-hover\": \"var(--fds-colour-icon-hover)\",\n \"icon-selected\": \"var(--fds-colour-icon-selected)\",\n \"icon-selected-hover\": \"var(--fds-colour-icon-selected-hover)\",\n \"icon-disabled\": \"var(--fds-colour-icon-disabled)\",\n \"icon-disabled-subtle\": \"var(--fds-colour-icon-disabled-subtle)\",\n \"icon-selected-disabled\": \"var(--fds-colour-icon-selected-disabled)\",\n \"icon-success\": \"var(--fds-colour-icon-success)\",\n \"icon-warning\": \"var(--fds-colour-icon-warning)\",\n \"icon-error\": \"var(--fds-colour-icon-error)\",\n \"icon-error-strong\": \"var(--fds-colour-icon-error-strong)\",\n \"icon-info\": \"var(--fds-colour-icon-info)\",\n \"icon-inverse\": \"var(--fds-colour-icon-inverse)\",\n \"icon-primary-inverse\": \"var(--fds-colour-icon-primary-inverse)\",\n\n border: \"var(--fds-colour-border)\",\n \"border-strong\": \"var(--fds-colour-border-strong)\",\n \"border-stronger\": \"var(--fds-colour-border-stronger)\",\n \"border-primary\": \"var(--fds-colour-border-primary)\",\n \"border-primary-strong\": \"var(--fds-colour-border-primary-strong)\",\n \"border-primary-subtle\": \"var(--fds-colour-border-primary-subtle)\",\n \"border-hover\": \"var(--fds-colour-border-hover)\",\n \"border-hover-strong\": \"var(--fds-colour-border-hover-strong)\",\n \"border-selected\": \"var(--fds-colour-border-selected)\",\n \"border-selected-subtle\": \"var(--fds-colour-border-selected-subtle)\",\n \"border-selected-subtlest\": \"var(--fds-colour-border-selected-subtlest)\",\n \"border-selected-hover\": \"var(--fds-colour-border-selected-hover)\",\n \"border-focus\": \"var(--fds-colour-border-focus)\",\n \"border-focus-strong\": \"var(--fds-colour-border-focus-strong)\",\n \"border-disabled\": \"var(--fds-colour-border-disabled)\",\n \"border-selected-disabled\": \"var(--fds-colour-border-selected-disabled)\",\n \"border-success\": \"var(--fds-colour-border-success)\",\n \"border-warning\": \"var(--fds-colour-border-warning)\",\n \"border-error\": \"var(--fds-colour-border-error)\",\n \"border-error-focus\": \"var(--fds-colour-border-error-focus)\",\n \"border-error-focus-strong\": \"var(--fds-colour-border-error-focus-strong)\",\n \"border-error-strong\": \"var(--fds-colour-border-error-strong)\",\n \"border-info\": \"var(--fds-colour-border-info)\",\n\n bg: \"var(--fds-colour-bg)\",\n \"bg-strong\": \"var(--fds-colour-bg-strong)\",\n \"bg-stronger\": \"var(--fds-colour-bg-stronger)\",\n \"bg-strongest\": \"var(--fds-colour-bg-strongest)\",\n \"bg-hover\": \"var(--fds-colour-bg-hover)\",\n \"bg-hover-strong\": \"var(--fds-colour-bg-hover-strong)\",\n \"bg-hover-subtle\": \"var(--fds-colour-bg-hover-subtle)\",\n \"bg-hover-neutral\": \"var(--fds-colour-bg-hover-neutral)\",\n \"bg-hover-neutral-strong\": \"var(--fds-colour-bg-hover-neutral-strong)\",\n \"bg-selected\": \"var(--fds-colour-bg-selected)\",\n \"bg-selected-hover\": \"var(--fds-colour-bg-selected-hover)\",\n \"bg-selected-strong\": \"var(--fds-colour-bg-selected-strong)\",\n \"bg-selected-stronger\": \"var(--fds-colour-bg-selected-stronger)\",\n \"bg-selected-strongest\": \"var(--fds-colour-bg-selected-strongest)\",\n \"bg-selected-strongest-hover\":\n \"var(--fds-colour-bg-selected-strongest-hover)\",\n \"bg-disabled\": \"var(--fds-colour-bg-disabled)\",\n \"bg-selected-disabled\": \"var(--fds-colour-bg-selected-disabled)\",\n \"bg-selected-stronger-disabled\":\n \"var(--fds-colour-bg-selected-stronger-disabled)\",\n \"bg-success\": \"var(--fds-colour-bg-success)\",\n \"bg-success-hover\": \"var(--fds-colour-bg-success-hover)\",\n \"bg-success-strong\": \"var(--fds-colour-bg-success-strong)\",\n \"bg-success-strong-hover\": \"var(--fds-colour-bg-success-strong-hover)\",\n \"bg-warning\": \"var(--fds-colour-bg-warning)\",\n \"bg-warning-hover\": \"var(--fds-colour-bg-warning-hover)\",\n \"bg-warning-strong\": \"var(--fds-colour-bg-warning-strong)\",\n \"bg-warning-strong-hover\": \"var(--fds-colour-bg-warning-strong-hover)\",\n \"bg-info\": \"var(--fds-colour-bg-info)\",\n \"bg-info-hover\": \"var(--fds-colour-bg-info-hover)\",\n \"bg-info-strong\": \"var(--fds-colour-bg-info-strong)\",\n \"bg-info-strong-hover\": \"var(--fds-colour-bg-info-strong-hover)\",\n \"bg-error\": \"var(--fds-colour-bg-error)\",\n \"bg-error-hover\": \"var(--fds-colour-bg-error-hover)\",\n \"bg-error-strong\": \"var(--fds-colour-bg-error-strong)\",\n \"bg-error-strong-hover\": \"var(--fds-colour-bg-error-strong-hover)\",\n \"bg-inverse\": \"var(--fds-colour-bg-inverse)\",\n \"bg-inverse-subtle\": \"var(--fds-colour-bg-inverse-subtle)\",\n \"bg-inverse-subtler\": \"var(--fds-colour-bg-inverse-subtler)\",\n \"bg-inverse-subtlest\": \"var(--fds-colour-bg-inverse-subtlest)\",\n \"bg-inverse-hover\": \"var(--fds-colour-bg-inverse-hover)\",\n \"bg-primary\": \"var(--fds-colour-bg-primary)\",\n \"bg-primary-strong\": \"var(--fds-colour-bg-primary-strong)\",\n \"bg-primary-subtle\": \"var(--fds-colour-bg-primary-subtle)\",\n \"bg-primary-subtler\": \"var(--fds-colour-bg-primary-subtler)\",\n \"bg-primary-subtlest\": \"var(--fds-colour-bg-primary-subtlest)\",\n \"bg-secondary\": \"var(--fds-colour-bg-secondary)\",\n \"bg-secondary-subtle\": \"var(--fds-colour-bg-secondary-subtle)\",\n \"bg-secondary-subtler\": \"var(--fds-colour-bg-secondary-subtler)\",\n \"bg-secondary-subtlest\": \"var(--fds-colour-bg-secondary-subtlest)\",\n \"bg-available\": \"var(--fds-colour-bg-available)\",\n \"bg-primary-hover\": \"var(--fds-colour-bg-primary-hover)\",\n \"bg-primary-strong-hover\": \"var(--fds-colour-bg-primary-strong-hover)\",\n \"bg-primary-subtlest-hover\": \"var(--fds-colour-bg-primary-subtlest-hover)\",\n \"bg-primary-subtlest-selected\":\n \"var(--fds-colour-bg-primary-subtlest-selected)\",\n\n \"overlay-strong\": \"var(--fds-colour-overlay-strong)\",\n \"overlay-subtle\": \"var(--fds-colour-overlay-subtle)\",\n\n hyperlink: \"var(--fds-colour-hyperlink)\",\n \"hyperlink-hover\": \"var(--fds-colour-hyperlink-hover)\",\n \"hyperlink-visited\": \"var(--fds-colour-hyperlink-visited)\",\n \"hyperlink-inverse\": \"var(--fds-colour-hyperlink-inverse)\",\n\n \"focus-ring\": \"var(--fds-colour-focus-ring)\",\n \"focus-ring-inverse\": \"var(--fds-colour-focus-ring-inverse)\",\n} as const;\n\n// @catalog\n/**\n * Combined colour token set.\n */\nexport const Colour = {\n Primitive: PrimitiveColours,\n ...SemanticColours,\n} as const;\n"],"names":["PrimitiveColours","white","black","SemanticColours","text","icon","border","bg","hyperlink","Colour","Object","assign","Primitive"],"mappings":"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"}
|