@lifesg/react-design-system 4.0.0-alpha.6 → 4.0.0-alpha.8
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/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.js.map +1 -1
- package/breadcrumb/types.d.ts +7 -2
- package/button/button.js +1 -1
- package/button/button.js.map +1 -1
- package/button/button.styles.d.ts +1 -0
- package/button/button.styles.js +1 -1
- package/button/button.styles.js.map +1 -1
- package/button/button.styles_19i4dfq.css +21 -0
- package/button/types.d.ts +5 -0
- package/calendar/calendar.js.map +1 -1
- package/calendar/types.d.ts +3 -3
- package/card/card.js.map +1 -1
- package/checkbox/checkbox.js.map +1 -1
- package/checkbox/types.d.ts +4 -0
- 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 +1 -1
- package/cjs/button/button.js.map +1 -1
- package/cjs/button/button.styles.js +1 -1
- package/cjs/button/button.styles.js.map +1 -1
- package/cjs/button/button.styles_19i4dfq.css +21 -0
- 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 → data-table.styles_1tnlmhe.css} +7 -6
- 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-data.js +1 -1
- package/cjs/error-display/error-display-data.js.map +1 -1
- package/cjs/error-display/error-display.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/{file-upload/file-list-item/file-list-item.styles_o8000f.css → cjs/file-upload/file-list-item/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/addons/filter-item-checkbox.styles.js +1 -1
- package/cjs/filter/addons/filter-item-checkbox.styles.js.map +1 -1
- package/cjs/filter/addons/{filter-item-checkbox.styles_7degw7.css → filter-item-checkbox.styles_6nbpdl.css} +1 -1
- package/cjs/filter/filter-item.js +1 -1
- package/cjs/filter/filter-item.js.map +1 -1
- package/cjs/filter/filter-item.styles.js +1 -1
- package/cjs/filter/filter-item.styles.js.map +1 -1
- package/cjs/filter/{filter-item.styles_cphjnj.css → filter-item.styles_1yixp8h.css} +1 -1
- package/cjs/filter/filter-modal.styles.js +1 -1
- package/cjs/filter/filter-modal.styles.js.map +1 -1
- package/{filter/filter-modal.styles_qw3xlg.css → cjs/filter/filter-modal.styles_kuth21.css} +1 -1
- package/cjs/filter/filter-sidebar.styles.js +1 -1
- package/cjs/filter/filter-sidebar.styles.js.map +1 -1
- package/cjs/filter/{filter-sidebar.styles_1otwpjl.css → filter-sidebar.styles_rbfq4f.css} +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.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/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.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.map +1 -1
- package/cjs/modal/index.js.map +1 -1
- package/cjs/modal-v2/modal-v2.js.map +1 -1
- package/cjs/navbar/navbar.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.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/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/singpass-button/singpass-button.styles.js +1 -1
- package/cjs/singpass-button/singpass-button.styles.js.map +1 -1
- package/cjs/singpass-button/{singpass-button.styles_1miyex3.css → singpass-button.styles_1fj2lru.css} +1 -1
- package/cjs/smart-app-banner/smart-app-banner.js.map +1 -1
- package/cjs/smart-app-banner/smart-app-banner.styles.js +1 -1
- package/cjs/smart-app-banner/smart-app-banner.styles.js.map +1 -1
- package/{smart-app-banner/smart-app-banner.styles_15u6yv4.css → cjs/smart-app-banner/smart-app-banner.styles_r6yjq9.css} +1 -1
- package/cjs/tab/tab.js.map +1 -1
- package/cjs/table/table.js.map +1 -1
- package/cjs/tag/tag.js.map +1 -1
- package/cjs/text-list/index.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/utils/use-apply-styles.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/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.map +1 -1
- package/cjs/timetable/timetable.js.map +1 -1
- package/cjs/toast/toast.js.map +1 -1
- package/cjs/toast/toast.styles.js +1 -1
- package/cjs/toast/toast.styles.js.map +1 -1
- package/{toast/toast.styles_1e0l60w.css → cjs/toast/toast.styles_57j3lf.css} +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/countdown-timer/countdown-timer.js.map +1 -1
- package/countdown-timer/types.d.ts +3 -3
- package/dashed-border/dashed-border.js.map +1 -1
- package/data-table/data-table.d.ts +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 +1 -0
- 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 → data-table.styles_1tnlmhe.css} +7 -6
- package/data-table/types.d.ts +2 -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 +1 -1
- 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/e-signature/e-signature.js.map +1 -1
- package/error-display/error-display-data.js +1 -1
- package/error-display/error-display-data.js.map +1 -1
- package/error-display/error-display.js.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/{cjs/file-upload/file-list-item/file-list-item.styles_o8000f.css → file-upload/file-list-item/file-list-item.styles_kgtfke.css} +1 -1
- package/file-upload/file-upload.js.map +1 -1
- package/file-upload/types.d.ts +6 -2
- 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/filter-item-checkbox.styles.js +1 -1
- package/filter/addons/filter-item-checkbox.styles.js.map +1 -1
- package/filter/addons/{filter-item-checkbox.styles_7degw7.css → filter-item-checkbox.styles_6nbpdl.css} +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-item.styles.js +1 -1
- package/filter/filter-item.styles.js.map +1 -1
- package/filter/{filter-item.styles_cphjnj.css → filter-item.styles_1yixp8h.css} +1 -1
- package/filter/filter-modal.styles.js +1 -1
- package/filter/filter-modal.styles.js.map +1 -1
- package/{cjs/filter/filter-modal.styles_qw3xlg.css → filter/filter-modal.styles_kuth21.css} +1 -1
- package/filter/filter-sidebar.styles.js +1 -1
- package/filter/filter-sidebar.styles.js.map +1 -1
- package/filter/{filter-sidebar.styles_1otwpjl.css → filter-sidebar.styles_rbfq4f.css} +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 +31 -63
- 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 +47 -24
- package/form/index.js +1 -1
- package/form/index.js.map +1 -1
- package/form/types.d.ts +1 -208
- package/fullscreen-image-carousel/fullscreen-image-carousel.js.map +1 -1
- package/histogram-slider/histogram-slider.js.map +1 -1
- package/image-button/image-button.js.map +1 -1
- package/input/input.js.map +1 -1
- package/input-group/input-group.js.map +1 -1
- package/input-group/types.d.ts +1 -1
- package/input-multi-select/input-multi-select.js.map +1 -1
- package/input-multi-select/types.d.ts +1 -1
- package/input-nested-multi-select/input-nested-multi-select.js.map +1 -1
- package/input-nested-select/input-nested-select.js.map +1 -1
- package/input-nested-select/types.d.ts +1 -1
- package/input-range-select/input-range-select.js.map +1 -1
- package/input-range-select/types.d.ts +1 -1
- package/input-range-slider/input-range-slider.js.map +1 -1
- package/input-select/input-select.js.map +1 -1
- package/input-select/types.d.ts +1 -1
- package/input-slider/input-slider.js.map +1 -1
- package/input-slider/types.d.ts +1 -1
- 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/language-switcher/language-switcher.js.map +1 -1
- package/layout/index.js.map +1 -1
- 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.js.map +1 -1
- package/link-list/types.d.ts +89 -3
- package/local-nav/local-nav-dropdown/local-nav-dropdown.js.map +1 -1
- package/local-nav/local-nav-menu/local-nav-menu.js.map +1 -1
- package/markup/markup.js.map +1 -1
- package/masked-input/masked-input.js.map +1 -1
- package/masthead/masthead.js.map +1 -1
- package/menu/menu.js.map +1 -1
- package/menu/types.d.ts +17 -1
- package/modal/index.js.map +1 -1
- package/modal/types.d.ts +3 -1
- package/modal-v2/modal-v2.js.map +1 -1
- package/modal-v2/types.d.ts +17 -0
- package/navbar/navbar.js.map +1 -1
- package/navbar/types.d.ts +1 -0
- package/notification-banner/notification-banner.js.map +1 -1
- package/otp-input/otp-input.js +1 -1
- package/otp-input/otp-input.js.map +1 -1
- package/otp-input/types.d.ts +14 -9
- package/otp-verification/contact-input-section.js +1 -1
- package/otp-verification/contact-input-section.js.map +1 -1
- package/otp-verification/otp-verification.js.map +1 -1
- package/otp-verification/verification-section.js +1 -1
- package/otp-verification/verification-section.js.map +1 -1
- package/overlay/overlay.js.map +1 -1
- package/package.json +1 -1
- package/pagination/pagination.js.map +1 -1
- package/phone-number-input/phone-number-input.js.map +1 -1
- package/pill/pill.js.map +1 -1
- package/popover/popover-inline/index.d.ts +1 -0
- package/popover/popover-inline/popover-inline.d.ts +1 -1
- package/popover/popover-inline/popover-inline.js.map +1 -1
- package/popover/popover-inline/types.d.ts +36 -0
- package/popover/popover.js.map +1 -1
- package/popover/types.d.ts +2 -35
- package/predictive-text-input/predictive-text-input.js +1 -1
- package/predictive-text-input/predictive-text-input.js.map +1 -1
- package/predictive-text-input/types.d.ts +1 -1
- package/progress-indicator/progress-indicator.js.map +1 -1
- package/radio-button/radio-button.js.map +1 -1
- package/radio-button/types.d.ts +3 -0
- package/schedule/schedule.js.map +1 -1
- package/select-histogram/select-histogram.js.map +1 -1
- package/select-histogram/types.d.ts +1 -1
- package/shared/dropdown-list/dropdown-list.js +1 -1
- package/shared/dropdown-list/dropdown-list.js.map +1 -1
- 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/sidenav/sidenav.js.map +1 -1
- package/sidenav/types.d.ts +1 -0
- package/singpass-button/singpass-button.js.map +1 -1
- package/singpass-button/singpass-button.styles.js +1 -1
- package/singpass-button/singpass-button.styles.js.map +1 -1
- package/singpass-button/{singpass-button.styles_1miyex3.css → singpass-button.styles_1fj2lru.css} +1 -1
- package/smart-app-banner/smart-app-banner.js.map +1 -1
- package/smart-app-banner/smart-app-banner.styles.js +1 -1
- package/smart-app-banner/smart-app-banner.styles.js.map +1 -1
- package/{cjs/smart-app-banner/smart-app-banner.styles_15u6yv4.css → smart-app-banner/smart-app-banner.styles_r6yjq9.css} +1 -1
- package/smart-app-banner/types.d.ts +2 -0
- package/tab/tab.js.map +1 -1
- package/table/table.d.ts +9 -8
- package/table/table.js.map +1 -1
- package/table/types.d.ts +35 -0
- package/tag/tag.js.map +1 -1
- package/text-list/index.js.map +1 -1
- package/theme/styles/pa.css +0 -41
- package/theme/theme-provider/hooks.js.map +1 -1
- package/theme/theme-provider/index.js.map +1 -1
- package/theme/tokens/border.d.ts +9 -3
- package/theme/tokens/border.js.map +1 -1
- package/theme/tokens/breakpoint.js.map +1 -1
- package/theme/tokens/colour.d.ts +9 -3
- package/theme/tokens/colour.js.map +1 -1
- package/theme/tokens/component.d.ts +3 -1
- package/theme/tokens/component.js.map +1 -1
- package/theme/tokens/font.d.ts +6 -2
- package/theme/tokens/font.js.map +1 -1
- package/theme/tokens/media-query.d.ts +3 -1
- package/theme/tokens/media-query.js.map +1 -1
- package/theme/tokens/motion.d.ts +3 -1
- package/theme/tokens/motion.js.map +1 -1
- package/theme/tokens/radius.d.ts +3 -1
- package/theme/tokens/radius.js.map +1 -1
- package/theme/tokens/shadow.d.ts +3 -1
- package/theme/tokens/shadow.js.map +1 -1
- package/theme/tokens/spacing.d.ts +3 -1
- package/theme/tokens/spacing.js.map +1 -1
- package/theme/utils/use-apply-styles.js.map +1 -1
- package/theme/utils/use-design-token.js.map +1 -1
- 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/time-range-picker.js.map +1 -1
- package/time-range-picker/types.d.ts +1 -1
- package/time-slot-bar/time-slot-bar.js.map +1 -1
- package/time-slot-bar/types.d.ts +5 -1
- package/time-slot-bar-week/time-slot-bar-week.js.map +1 -1
- package/time-slot-bar-week/types.d.ts +6 -0
- package/time-slot-week-view/time-slot-week-view.js.map +1 -1
- package/time-slot-week-view/types.d.ts +2 -0
- package/timeline/timeline.js.map +1 -1
- package/timeline/types.d.ts +1 -1
- package/timepicker/timepicker.js.map +1 -1
- package/timepicker/types.d.ts +2 -2
- package/timetable/timetable.js.map +1 -1
- package/toast/toast.js.map +1 -1
- package/toast/toast.styles.js +1 -1
- package/toast/toast.styles.js.map +1 -1
- package/{cjs/toast/toast.styles_1e0l60w.css → toast/toast.styles_57j3lf.css} +1 -1
- package/toast/types.d.ts +2 -0
- package/toggle/toggle.js.map +1 -1
- 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 +49 -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 +114 -0
- package/typography/index.js.map +1 -1
- 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 +2 -2
- package/unit-number/unit-number-input.js.map +1 -1
- package/button/button.styles_1pxy0co.css +0 -20
- package/cjs/button/button.styles_1pxy0co.css +0 -20
- 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/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 -85
- /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
|
@@ -0,0 +1,644 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"packageName": "@lifesg/react-design-system",
|
|
4
|
+
"totalComponents": 106
|
|
5
|
+
},
|
|
6
|
+
"components": [
|
|
7
|
+
{
|
|
8
|
+
"name": "Accordion",
|
|
9
|
+
"importPath": "@lifesg/react-design-system/accordion",
|
|
10
|
+
"description": "A vertically stacked set of collapsible content panels. Use `Accordion` to organise related content into independently expandable sections with shared expand/collapse state. The container synchronises item states and maintains correct heading-level hierarchy. Sub-components: - `Accordion.Item` — a single collapsible panel with an imperative ref handle.",
|
|
11
|
+
"keywords": []
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"name": "Alert",
|
|
15
|
+
"importPath": "@lifesg/react-design-system/alert",
|
|
16
|
+
"description": "Displays an inline contextual banner with a severity-coded message. Use `Alert` to surface feedback, status, or supplementary information without interrupting the user's workflow. Supports five severity tones, an optional icon, a call-to-action link, and a collapsible content area for lengthy messages.",
|
|
17
|
+
"keywords": []
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "Avatar",
|
|
21
|
+
"importPath": "@lifesg/react-design-system/avatar",
|
|
22
|
+
"description": "Displays a circular avatar representing a user or entity. Use when you need a compact visual identity marker in lists, headers, or cards. Accepts a string (rendered as an initial) or a JSX element such as an image or icon.",
|
|
23
|
+
"keywords": []
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"name": "Badge",
|
|
27
|
+
"importPath": "@lifesg/react-design-system/badge",
|
|
28
|
+
"description": "Displays a small indicator badge for notifications or status. Use `Badge` to surface counts or status dots on icons, avatars, and navigation items. Renders as an overlay on a child element or as a standalone inline indicator when no child is provided.",
|
|
29
|
+
"keywords": []
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "Border",
|
|
33
|
+
"importPath": "@lifesg/react-design-system/theme",
|
|
34
|
+
"description": "Border tokens consisting of border width and border style.",
|
|
35
|
+
"keywords": []
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"name": "BoxContainer",
|
|
39
|
+
"importPath": "@lifesg/react-design-system/box-container",
|
|
40
|
+
"description": "A titled, collapsible section container that groups related content behind a labelled header. Use `BoxContainer` when you need to visually separate a block of content under a heading and optionally allow users to collapse it. The header supports a call-to-action slot and a visual status indicator.",
|
|
41
|
+
"keywords": []
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"name": "Breadcrumb",
|
|
45
|
+
"importPath": "@lifesg/react-design-system/breadcrumb",
|
|
46
|
+
"description": "Horizontal breadcrumb navigation trail. Use `Breadcrumb` to show the user's position within a page hierarchy and allow navigation to parent pages. On tablet and below, the trail scrolls horizontally with optional edge fade overlays to indicate clipped content.",
|
|
47
|
+
"keywords": []
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"name": "Breakpoint",
|
|
51
|
+
"importPath": "@lifesg/react-design-system/theme",
|
|
52
|
+
"description": "Responsive breakpoint tokens for each named breakpoint.",
|
|
53
|
+
"keywords": []
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"name": "Button",
|
|
57
|
+
"importPath": "@lifesg/react-design-system/button",
|
|
58
|
+
"description": "A call-to-action that triggers an action when activated by the user",
|
|
59
|
+
"keywords": []
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"name": "Calendar",
|
|
63
|
+
"importPath": "@lifesg/react-design-system/calendar",
|
|
64
|
+
"description": "Date picker calendar for single-date or multi-date selection.",
|
|
65
|
+
"keywords": []
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "Card",
|
|
69
|
+
"importPath": "@lifesg/react-design-system/card",
|
|
70
|
+
"description": "A themed container surface for grouping related content.",
|
|
71
|
+
"keywords": []
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"name": "Checkbox",
|
|
75
|
+
"importPath": "@lifesg/react-design-system/checkbox",
|
|
76
|
+
"description": "A styled checkbox input with indeterminate state support.",
|
|
77
|
+
"keywords": []
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"name": "Colour",
|
|
81
|
+
"importPath": "@lifesg/react-design-system/theme",
|
|
82
|
+
"description": "Combined colour token set.",
|
|
83
|
+
"keywords": []
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": "ComponentToken",
|
|
87
|
+
"importPath": "@lifesg/react-design-system/theme",
|
|
88
|
+
"description": "Component-scoped design tokens grouped by component.",
|
|
89
|
+
"keywords": []
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"name": "CountdownTimer",
|
|
93
|
+
"importPath": "@lifesg/react-design-system/countdown-timer",
|
|
94
|
+
"description": "Displays a live countdown of time remaining until a deadline. Use when a time-limited interaction — such as a session timeout or a timed form — needs a persistent visual reminder.",
|
|
95
|
+
"keywords": []
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"name": "DashedBorder",
|
|
99
|
+
"importPath": "@lifesg/react-design-system/dashed-border",
|
|
100
|
+
"description": "A container that renders a dashed border using an SVG overlay. Use when you need a dashed visual boundary around content — for example, drop zones, placeholder regions, or empty-state containers.",
|
|
101
|
+
"keywords": []
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"name": "DataTable",
|
|
105
|
+
"importPath": "@lifesg/react-design-system/data-table",
|
|
106
|
+
"description": "Renders a sortable, selectable data table with scroll-aware action bar and loading state support. Use `DataTable` when presenting structured multi-column data that users may need to sort by column or select rows for bulk actions. Row selection, sort indicators, and the action bar content are all externally controlled; the component manages scroll detection, sticky-header positioning, and floating action bar behaviour internally.",
|
|
107
|
+
"keywords": []
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"name": "DateInput",
|
|
111
|
+
"importPath": "@lifesg/react-design-system/date-input",
|
|
112
|
+
"description": "A single-date input field with an attached calendar dropdown. Use this to enter or pick a single date.",
|
|
113
|
+
"keywords": []
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"name": "DateNavigator",
|
|
117
|
+
"importPath": "@lifesg/react-design-system/date-navigator",
|
|
118
|
+
"description": "Displays a date with left/right navigation arrows for stepping through dates or weeks. Use when users need to browse content organised by day or week — such as schedules, calendars, or time-based feeds.",
|
|
119
|
+
"keywords": []
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"name": "DateRangeInput",
|
|
123
|
+
"importPath": "@lifesg/react-design-system/date-range-input",
|
|
124
|
+
"description": "A paired date input with an attached calendar dropdown that lets users select a contiguous date range.",
|
|
125
|
+
"keywords": []
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"name": "Divider",
|
|
129
|
+
"importPath": "@lifesg/react-design-system/divider",
|
|
130
|
+
"description": "A horizontal line that visually separates sections of content. Use `Divider` to draw a clear boundary between distinct groups of content on a page or within a layout.",
|
|
131
|
+
"keywords": []
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"name": "Drawer",
|
|
135
|
+
"importPath": "@lifesg/react-design-system/drawer",
|
|
136
|
+
"description": "A slide-in panel that overlays the page content. Use `Drawer` to surface supplementary content or navigation options without navigating away from the current page. Focus is trapped inside the dialog while it is open and returns to the triggering element on close.",
|
|
137
|
+
"keywords": []
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"name": "ErrorDisplay",
|
|
141
|
+
"importPath": "@lifesg/react-design-system/error-display",
|
|
142
|
+
"description": "Displays a predefined error or status state with an illustration, title, description, and optional action button. Use `ErrorDisplay` to communicate HTTP error codes, session lifecycle states, maintenance windows, and other system-level statuses to users.",
|
|
143
|
+
"keywords": []
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"name": "ESignature",
|
|
147
|
+
"importPath": "@lifesg/react-design-system/e-signature",
|
|
148
|
+
"description": "A field that lets users draw and save a signature. Use in forms that require a handwritten signature.",
|
|
149
|
+
"keywords": []
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"name": "FeedbackRating",
|
|
153
|
+
"importPath": "@lifesg/react-design-system/feedback-rating",
|
|
154
|
+
"description": "A star-rating widget for collecting user feedback. Use `FeedbackRating` to prompt users for a 1–5 star rating. The submit button remains disabled until a star is selected.",
|
|
155
|
+
"keywords": []
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"name": "FileDownload",
|
|
159
|
+
"importPath": "@lifesg/react-design-system/file-download",
|
|
160
|
+
"description": "Displays a list of downloadable files, optionally grouped under a title and description. Use `FileDownload` to present one or more files that users can download individually. Each file item renders as a card with file metadata and a download trigger.",
|
|
161
|
+
"keywords": []
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"name": "FileUpload",
|
|
165
|
+
"importPath": "@lifesg/react-design-system/file-upload",
|
|
166
|
+
"description": "Allows user to upload images via drag-and-drop or a native file dialog.",
|
|
167
|
+
"keywords": []
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"name": "Filter",
|
|
171
|
+
"importPath": "@lifesg/react-design-system/filter",
|
|
172
|
+
"description": "A responsive filter panel that switches between a persistent sidebar on desktop and a modal overlay on mobile. Use `Filter` to let users narrow a result set by one or more criteria. On mobile (below lg breakpoint) the panel is hidden behind a toggle button and rendered in a full-screen modal; otherwise it is displayed as a fixed sidebar. Sub-components: - `Filter.Sidebar` — standalone desktop sidebar, used by `Filter` internally. - `Filter.Modal` — standalone mobile modal, used by `Filter` internally. - `Filter.Item` — a collapsible section within the panel. - `Filter.Page` — a drill-down sub-page inside the mobile modal. - `Filter.Checkbox` — a filter item with selectable checkbox or toggle options.",
|
|
173
|
+
"keywords": []
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"name": "Font",
|
|
177
|
+
"importPath": "@lifesg/react-design-system/theme",
|
|
178
|
+
"description": "Pre-composed font declaration strings for all size & weight combinations.",
|
|
179
|
+
"keywords": []
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"name": "Footer",
|
|
183
|
+
"importPath": "@lifesg/react-design-system/footer",
|
|
184
|
+
"description": "Site-wide footer with navigation links, branding, and legal copy. Use `Footer` at the bottom of a page to surface navigation links grouped into columns, a theme-appropriate logo, download-app or resource add-ons, and disclaimer links with auto-generated copyright text.",
|
|
185
|
+
"keywords": []
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"name": "Form",
|
|
189
|
+
"importPath": "@lifesg/react-design-system/form",
|
|
190
|
+
"description": "A collection of form field components that each combine a label, input control, and inline error message with consistent ARIA wiring. Use `Form.*` sub-components to build accessible forms. Use `Form.CustomField` to wrap any bespoke input element in the same layout. Sub-components: - `Form.CustomField` — layout shell for wrapping custom input elements. - `Form.DateInput` — single date picker. - `Form.DateRangeInput` — date range picker. - `Form.ESignature` — e-signature capture field. - `Form.HistogramSlider` — range slider with histogram overlay. - `Form.Input` — single-line text input field. - `Form.InputGroup` — grouped inputs with shared label and error state. - `Form.Label` — standalone label for use outside a `Form.*` field. - `Form.MaskedInput` — text input with a character-level input mask. - `Form.MultiSelect` — multi-value dropdown select. - `Form.NestedMultiSelect` — hierarchical multi-value select. - `Form.NestedSelect` — hierarchical single-value select. - `Form.OtpVerification` — OTP send-and-verify flow. - `Form.PhoneNumberInput` — phone number input with country code selection. - `Form.PredictiveTextInput` — text input with predictive suggestions. - `Form.RangeSelect` — dual-value range dropdown select. - `Form.RangeSlider` — dual-handle range slider. - `Form.Select` — single-value dropdown select. - `Form.SelectHistogram` — select control with histogram. - `Form.Slider` — single-value range slider. - `Form.Textarea` — multi-line text area. - `Form.Timepicker` — time picker. - `Form.TimeRangePicker` — time range picker. - `Form.UnitNumberInput` — structured unit number input.",
|
|
191
|
+
"keywords": []
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"name": "FullscreenImageCarousel",
|
|
195
|
+
"importPath": "@lifesg/react-design-system/fullscreen-image-carousel",
|
|
196
|
+
"description": "A fullscreen modal carousel for browsing images and custom media items. Use to present a collection of images or custom content in an overlay with navigation controls, zoom support, and an optional thumbnail strip. The top info bar is rendered only when at least one item provides some file metadata.",
|
|
197
|
+
"keywords": []
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"name": "HistogramSlider",
|
|
201
|
+
"importPath": "@lifesg/react-design-system/histogram-slider",
|
|
202
|
+
"description": "A histogram with an overlaid two-thumb range slider for numeric filtering. Use `HistogramSlider` to let users narrow a dataset by selecting a numeric range while seeing how values are distributed across bins.",
|
|
203
|
+
"keywords": []
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"name": "ImageButton",
|
|
207
|
+
"importPath": "@lifesg/react-design-system/image-button",
|
|
208
|
+
"description": "A button that displays an image alongside optional label content. Use `ImageButton` for selectable image-based choices such as theme pickers or avatar selectors, where each option is represented visually.",
|
|
209
|
+
"keywords": []
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"name": "Input",
|
|
213
|
+
"importPath": "@lifesg/react-design-system/input",
|
|
214
|
+
"description": "A single-line text input field. Use `Input` for free-form text entry. It supports controlled and uncontrolled usage.",
|
|
215
|
+
"keywords": []
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"name": "InputGroup",
|
|
219
|
+
"importPath": "@lifesg/react-design-system/input-group",
|
|
220
|
+
"description": "A single-line text input optionally paired with a static label, a custom element, or a dropdown list selector. Use `InputGroup` when the input needs contextual decoration such as a unit label, a country-code dropdown, or a fully custom slot.",
|
|
221
|
+
"keywords": []
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"name": "InputMultiSelect",
|
|
225
|
+
"importPath": "@lifesg/react-design-system/input-multi-select",
|
|
226
|
+
"description": "A dropdown field that lets users select multiple options from a list. Use `InputMultiSelect` when users need to pick one or more items from a predefined list.",
|
|
227
|
+
"keywords": []
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"name": "InputNestedMultiSelect",
|
|
231
|
+
"importPath": "@lifesg/react-design-system/input-nested-multi-select",
|
|
232
|
+
"description": "A multi-select input that presents options in a nested hierarchy, up to three levels deep. Use `InputNestedMultiSelect` when users need to choose multiple values from a hierarchical option tree. Selecting a parent item automatically selects all its leaf descendants; deselecting a parent removes all its descendants from the selection.",
|
|
233
|
+
"keywords": []
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"name": "InputNestedSelect",
|
|
237
|
+
"importPath": "@lifesg/react-design-system/input-nested-select",
|
|
238
|
+
"description": "A single-select input that presents options in a hierarchy, up to three levels deep. Use `InputNestedSelect` when users need to choose a value from a hierarchical option tree. The dropdown renders as an expandable tree. Parent nodes collapse or expand their children, and only one leaf or category value can be selected at a time.",
|
|
239
|
+
"keywords": []
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"name": "InputRangeSelect",
|
|
243
|
+
"importPath": "@lifesg/react-design-system/input-range-select",
|
|
244
|
+
"description": "A paired combobox input for selecting a start and end value from dropdown lists. Use `InputRangeSelect` when a consumer must choose a range by picking two values — one for \"from\" and one for \"to\" — each from their own option list.",
|
|
245
|
+
"keywords": []
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"name": "InputRangeSlider",
|
|
249
|
+
"importPath": "@lifesg/react-design-system/input-range-slider",
|
|
250
|
+
"description": "A draggable track slider for selecting one or more numeric values within a bounded range. Use `InputRangeSlider` when the selection does not need to be precise; the user picks a value or a range by dragging thumb controls along a track.",
|
|
251
|
+
"keywords": []
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"name": "InputSelect",
|
|
255
|
+
"importPath": "@lifesg/react-design-system/input-select",
|
|
256
|
+
"description": "A single-selection dropdown input. Use `InputSelect` when the user must pick exactly one item from a list.",
|
|
257
|
+
"keywords": []
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"name": "InputSlider",
|
|
261
|
+
"importPath": "@lifesg/react-design-system/input-slider",
|
|
262
|
+
"description": "A single-thumb slider for selecting one numeric value within a range. Use `InputSlider` when a user needs to pick a single point on a continuous scale without a precise value. For selecting a range between two values, use `InputRangeSlider` instead.",
|
|
263
|
+
"keywords": []
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
"name": "LanguageSwitcher",
|
|
267
|
+
"importPath": "@lifesg/react-design-system/language-switcher",
|
|
268
|
+
"description": "A locale-switching control that lets users change the active display language. Use `LanguageSwitcher` to surface supported languages as either a compact dropdown or a set of inline links.",
|
|
269
|
+
"keywords": []
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"name": "Layout",
|
|
273
|
+
"importPath": "@lifesg/react-design-system/layout",
|
|
274
|
+
"description": "A set of structural layout primitives for composing page regions. Use `Layout` sub-components to establish full-width page sections, centred content areas, and responsive grid columns. Sub-components: - `Layout.ColDiv` — a `<div>` that occupies a responsive column span within a grid `Container`. - `Layout.Container` — a flex or grid layout wrapper constrained to the content width. - `Layout.Content` — the primary content block, composes of `Section` + `Container`. Use `Section` and `Container` directly for more granular control. - `Layout.Section` — a full-width semantic `<section>` page region.",
|
|
275
|
+
"keywords": []
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"name": "LinkList",
|
|
279
|
+
"importPath": "@lifesg/react-design-system/link-list",
|
|
280
|
+
"description": "A list of anchor links with optional truncation or lazy loading. Use `LinkList` to display a set of navigable links with titles and optional descriptions.",
|
|
281
|
+
"keywords": []
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"name": "LoadingDots",
|
|
285
|
+
"importPath": "@lifesg/react-design-system/animations",
|
|
286
|
+
"description": "An animated loading indicator with bouncing dots.",
|
|
287
|
+
"keywords": []
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"name": "LoadingDotsSpinner",
|
|
291
|
+
"importPath": "@lifesg/react-design-system/animations",
|
|
292
|
+
"description": "An animated loading indicator combining dots with a spinning motion.",
|
|
293
|
+
"keywords": []
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
"name": "LoadingSpinner",
|
|
297
|
+
"importPath": "@lifesg/react-design-system/animations",
|
|
298
|
+
"description": "An animation of a flying rocket.",
|
|
299
|
+
"keywords": []
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
"name": "LocalNavDropdown",
|
|
303
|
+
"importPath": "@lifesg/react-design-system/local-nav",
|
|
304
|
+
"description": "A collapsible dropdown used for in-page navigation on mobile viewports. Use `LocalNavDropdown` when the page has multiple named sections and screen width is insufficient for a persistent sidebar.",
|
|
305
|
+
"keywords": []
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"name": "LocalNavMenu",
|
|
309
|
+
"importPath": "@lifesg/react-design-system/local-nav",
|
|
310
|
+
"description": "A sidebar navigation list that highlights the currently selected section. Use `LocalNavMenu` for desktop in-page navigation where the list is always visible.",
|
|
311
|
+
"keywords": []
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
"name": "Markup",
|
|
315
|
+
"importPath": "@lifesg/react-design-system/markup",
|
|
316
|
+
"description": "A container for rendering rich HTML markup. Use `Markup` to wrap CMS-generated or sanitised HTML content while applying a consistent base font size and colour.",
|
|
317
|
+
"keywords": []
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"name": "MaskedInput",
|
|
321
|
+
"importPath": "@lifesg/react-design-system/masked-input",
|
|
322
|
+
"description": "A text input that masks sensitive values and allows toggling visibility. Use `MaskedInput` when collecting or displaying sensitive data such as identity numbers or passwords.",
|
|
323
|
+
"keywords": []
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
"name": "Masthead",
|
|
327
|
+
"importPath": "@lifesg/react-design-system/masthead",
|
|
328
|
+
"description": "Displays the Singapore Government Design System (SGDS) masthead banner. Use `Masthead` at the top of government digital services to meet the SGDS masthead requirement.",
|
|
329
|
+
"keywords": []
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
"name": "MediaQuery",
|
|
333
|
+
"importPath": "@lifesg/react-design-system/theme",
|
|
334
|
+
"description": "CSS class-based pseudo media-query selectors keyed by breakpoint name.",
|
|
335
|
+
"keywords": []
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"name": "Menu",
|
|
339
|
+
"importPath": "@lifesg/react-design-system/menu",
|
|
340
|
+
"description": "A popover-anchored menu composed of sections and interactive items. Use `Menu` when a trigger element should open a floating panel of actions or navigation links. Sub-components: - `Menu.Content` — the floating panel that contains menu sections. - `Menu.Item` — a non-anchor interactive list item with a primary label and optional sub-label. - `Menu.Link` — an anchor (`<a>`) list item styled as a menu entry. - `Menu.Section` — a grouping container for `Menu.Item` and `Menu.Link` entries.",
|
|
341
|
+
"keywords": []
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
"name": "Modal",
|
|
345
|
+
"importPath": "@lifesg/react-design-system/modal",
|
|
346
|
+
"description": "A full-screen overlay modal with a slide animation. Use `Modal` to present content that requires the user's immediate attention or a focused interaction. Use `ModalV2` for built-in scroll handling and improved accessibility. Sub-components: - `Modal.Box` — a styled content box with an optional close button.",
|
|
347
|
+
"keywords": []
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
"name": "ModalV2",
|
|
351
|
+
"importPath": "@lifesg/react-design-system/modal-v2",
|
|
352
|
+
"description": "A composable modal dialog with slot-based content layout. Use `ModalV2` when you need a controlled overlay dialog with structured content slots. Sub-components: - `ModalV2.Card` — wraps modal content and arranges `Content`, `Footer`, and `CloseButton` slots in the correct layout. - `ModalV2.CloseButton` — renders an accessible close button that invokes the modal's `onClose` callback. - `ModalV2.Content` — container for the body content of the modal card. - `ModalV2.Footer` — footer area for primary and secondary action buttons.",
|
|
353
|
+
"keywords": []
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
"name": "Motion",
|
|
357
|
+
"importPath": "@lifesg/react-design-system/theme",
|
|
358
|
+
"description": "Animation tokens consisting of durations and easing functions.",
|
|
359
|
+
"keywords": []
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
"name": "Navbar",
|
|
363
|
+
"importPath": "@lifesg/react-design-system/navbar",
|
|
364
|
+
"description": "The main site navigation bar with desktop and mobile drawer views. Use `Navbar` to render the primary navigation header. It displays brand logos, navigation items, and action buttons in a desktop bar, and automatically collapses items into a slide-in drawer for mobile viewports.",
|
|
365
|
+
"keywords": []
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
"name": "NotificationBanner",
|
|
369
|
+
"importPath": "@lifesg/react-design-system/notification-banner",
|
|
370
|
+
"description": "A full-width informational banner that sits at the top of the page. Use `NotificationBanner` to surface important or persistent messages that should remain visible until the user dismisses them.",
|
|
371
|
+
"keywords": []
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
"name": "OtpInput",
|
|
375
|
+
"importPath": "@lifesg/react-design-system/otp-input",
|
|
376
|
+
"description": "A field composed of individual inputs for a numeric one-time password with an in-built countdown mechanism. Use `OtpInput` when users must enter the one-time password (OTP) for multi-factored authentication methods.",
|
|
377
|
+
"keywords": []
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
"name": "OtpVerification",
|
|
381
|
+
"importPath": "@lifesg/react-design-system/otp-verification",
|
|
382
|
+
"description": "A multi-step form component that guides users through OTP-based verification. Use `OtpVerification` when you need to verify a user's identity through email address or phone number.",
|
|
383
|
+
"keywords": []
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"name": "Overlay",
|
|
387
|
+
"importPath": "@lifesg/react-design-system/overlay",
|
|
388
|
+
"description": "A full-screen dimmed overlay backdrop. Use `Overlay` as the backdrop for modal dialogs, drawers, and similar blocking UI patterns. It manages body scroll-lock automatically and stacks correctly when multiple overlays are open at once.",
|
|
389
|
+
"keywords": []
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
"name": "Pagination",
|
|
393
|
+
"importPath": "@lifesg/react-design-system/pagination",
|
|
394
|
+
"description": "A navigation control for moving through paged content. Use `Pagination` to let users navigate between pages of a data set.",
|
|
395
|
+
"keywords": []
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
"name": "PhoneNumberInput",
|
|
399
|
+
"importPath": "@lifesg/react-design-system/phone-number-input",
|
|
400
|
+
"description": "A phone number field composed of a country code selector and a number input. Use `PhoneNumberInput` when collecting an internationalised phone number. The country code can be selected from a searchable dropdown or locked to a fixed value via `fixedCountry`.",
|
|
401
|
+
"keywords": []
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
"name": "Pill",
|
|
405
|
+
"importPath": "@lifesg/react-design-system/pill",
|
|
406
|
+
"description": "A compact label used to display status, category, or metadata. Use `Pill` to surface short, read-only information — such as a tag or status badge — inline with other content.",
|
|
407
|
+
"keywords": []
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
"name": "Popover",
|
|
411
|
+
"importPath": "@lifesg/react-design-system/popover",
|
|
412
|
+
"description": "The presentational overlay for a popover panel. Renders as a floating card on desktop and modal on mobile. Use with `PopoverTrigger`, which manages visibility state and positioning.",
|
|
413
|
+
"keywords": []
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"name": "PredictiveTextInput",
|
|
417
|
+
"importPath": "@lifesg/react-design-system/predictive-text-input",
|
|
418
|
+
"description": "A text input that fetches and displays matching suggestions as the user types. Use `PredictiveTextInput` for search-as-you-type or autocomplete scenarios where options are loaded asynchronously based on the current input.",
|
|
419
|
+
"keywords": []
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
"name": "ProgressIndicator",
|
|
423
|
+
"importPath": "@lifesg/react-design-system/progress-indicator",
|
|
424
|
+
"description": "A horizontal step-progress bar that tracks a user's position through a multi-step flow. Use `ProgressIndicator` when you need to communicate progress through an ordered sequence of steps.",
|
|
425
|
+
"keywords": []
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
"name": "RadioButton",
|
|
429
|
+
"importPath": "@lifesg/react-design-system/radio-button",
|
|
430
|
+
"description": "A single radio button input. Use `RadioButton` as an input within a radio group.",
|
|
431
|
+
"keywords": []
|
|
432
|
+
},
|
|
433
|
+
{
|
|
434
|
+
"name": "Radius",
|
|
435
|
+
"importPath": "@lifesg/react-design-system/theme",
|
|
436
|
+
"description": "Border radius tokens.",
|
|
437
|
+
"keywords": []
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
"name": "Schedule",
|
|
441
|
+
"importPath": "@lifesg/react-design-system/schedule",
|
|
442
|
+
"description": "A grid visualisation of slot-based time availability for services across day and week views.",
|
|
443
|
+
"keywords": []
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
"name": "SelectHistogram",
|
|
447
|
+
"importPath": "@lifesg/react-design-system/select-histogram",
|
|
448
|
+
"description": "A form input that displays the selected range and reveals a histogram slider in a dropdown. Use `SelectHistogram` when users need to select a numeric range against a data distribution.",
|
|
449
|
+
"keywords": []
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
"name": "Shadow",
|
|
453
|
+
"importPath": "@lifesg/react-design-system/theme",
|
|
454
|
+
"description": "Box-shadow tokens.",
|
|
455
|
+
"keywords": []
|
|
456
|
+
},
|
|
457
|
+
{
|
|
458
|
+
"name": "Sidenav",
|
|
459
|
+
"importPath": "@lifesg/react-design-system/sidenav",
|
|
460
|
+
"description": "A fixed sidebar navigation component for multi-level page navigation. Use `Sidenav` to present a persistent icon-based navigation rail with optional menu drawers.",
|
|
461
|
+
"keywords": []
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
"name": "SingpassButton",
|
|
465
|
+
"importPath": "@lifesg/react-design-system/singpass-button",
|
|
466
|
+
"description": "Call-to-action for Singpass authentication, following the brand [guidelines](https://docs.developer.singpass.gov.sg/docs/products/login/singpass-button-guidelines-for-developers-and-designers). Use `SingpassButton` to let users log in with their Singpass account.",
|
|
467
|
+
"keywords": []
|
|
468
|
+
},
|
|
469
|
+
{
|
|
470
|
+
"name": "SmartAppBanner",
|
|
471
|
+
"importPath": "@lifesg/react-design-system/smart-app-banner",
|
|
472
|
+
"description": "A fixed top banner that promotes a mobile app and links to its store listing. Use `SmartAppBanner` to invite users to install or open the native app.",
|
|
473
|
+
"keywords": []
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
"name": "Spacing",
|
|
477
|
+
"importPath": "@lifesg/react-design-system/theme",
|
|
478
|
+
"description": "Spacing tokens consisting of component spacing and layout spacing.",
|
|
479
|
+
"keywords": []
|
|
480
|
+
},
|
|
481
|
+
{
|
|
482
|
+
"name": "Tab",
|
|
483
|
+
"importPath": "@lifesg/react-design-system/tab",
|
|
484
|
+
"description": "A tabbed-panel layout that switches visible content by selecting a tab link. Use `Tab` to organise content into labelled panels where only one panel is visible at a time. Compose with `Tab.Item` to define each panel.",
|
|
485
|
+
"keywords": []
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
"name": "Table",
|
|
489
|
+
"importPath": "@lifesg/react-design-system/table",
|
|
490
|
+
"description": "A styled HTML table with a scrollable container wrapper. Use `Table` when displaying structured tabular data. The default export wraps content in `Table.Container` and `Table.Table` automatically. For full layout control, compose the sub-components directly: - `Table.Container` — scrollable wrapper div - `Table.Table` — the bare `<table>` element - `Table.Head` — the `<thead>` section - `Table.Body` — the `<tbody>` section - `Table.Row` — a `<tr>` row within the body - `Table.Cell` — a `<td>` data cell - `Table.HeaderCell` — a `<th>` column header cell",
|
|
491
|
+
"keywords": []
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
"name": "Tag",
|
|
495
|
+
"importPath": "@lifesg/react-design-system/tag",
|
|
496
|
+
"description": "A compact label used to categorise or highlight content. Use `Tag` to display metadata such as status, category, or keyword.",
|
|
497
|
+
"keywords": []
|
|
498
|
+
},
|
|
499
|
+
{
|
|
500
|
+
"name": "Textarea",
|
|
501
|
+
"importPath": "@lifesg/react-design-system/input-textarea",
|
|
502
|
+
"description": "A multi-line text input with an optional character counter and prefix.",
|
|
503
|
+
"keywords": []
|
|
504
|
+
},
|
|
505
|
+
{
|
|
506
|
+
"name": "TextList",
|
|
507
|
+
"importPath": "@lifesg/react-design-system/text-list",
|
|
508
|
+
"description": "Renders styled ordered and unordered lists for body copy and structured content. Use `TextList` to present sequential or non-sequential items with consistent typography and spacing. Sub-components: - `TextList.Ol` — a numbered list with configurable counter style and direction. - `TextList.Ul` — a bulleted list supporting predefined marker types or a custom icon.",
|
|
509
|
+
"keywords": []
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
"name": "ThemedLoadingSpinner",
|
|
513
|
+
"importPath": "@lifesg/react-design-system/animations",
|
|
514
|
+
"description": "A loading spinner that automatically adapts to the current theme.",
|
|
515
|
+
"keywords": []
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
"name": "ThemeProvider",
|
|
519
|
+
"importPath": "@lifesg/react-design-system/theme",
|
|
520
|
+
"description": "Establishes a themed scope for its subtree. Wrap a section of the tree in `ThemeProvider` to activate a design-token set and colour mode. Components below it read tokens via CSS variables or the `useTheme` hook. Providers can be nested to override a subtree's theme.",
|
|
521
|
+
"keywords": []
|
|
522
|
+
},
|
|
523
|
+
{
|
|
524
|
+
"name": "Timeline",
|
|
525
|
+
"importPath": "@lifesg/react-design-system/timeline",
|
|
526
|
+
"description": "A vertically ordered list of steps with visual state indicators. Use `Timeline` to communicate multi-step progress such as application stages or process flows.",
|
|
527
|
+
"keywords": []
|
|
528
|
+
},
|
|
529
|
+
{
|
|
530
|
+
"name": "Timepicker",
|
|
531
|
+
"importPath": "@lifesg/react-design-system/timepicker",
|
|
532
|
+
"description": "A form input for selecting a time value through a dropdown interface. Use `Timepicker` when a user needs to choose a specific time.",
|
|
533
|
+
"keywords": []
|
|
534
|
+
},
|
|
535
|
+
{
|
|
536
|
+
"name": "TimeRangePicker",
|
|
537
|
+
"importPath": "@lifesg/react-design-system/time-range-picker",
|
|
538
|
+
"description": "A two-field time picker for selecting a start and end time. Use `TimeRangePicker` when users need to define a time range.",
|
|
539
|
+
"keywords": []
|
|
540
|
+
},
|
|
541
|
+
{
|
|
542
|
+
"name": "TimeSlotBar",
|
|
543
|
+
"importPath": "@lifesg/react-design-system/time-slot-bar",
|
|
544
|
+
"description": "A horizontally scrollable timeline bar that visualises time slots across a defined time range. Use `TimeSlotBar` to display availability, bookings, or schedule occupancy as coloured cells on a shared time axis.",
|
|
545
|
+
"keywords": []
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
"name": "TimeSlotBarWeek",
|
|
549
|
+
"importPath": "@lifesg/react-design-system/time-slot-bar-week",
|
|
550
|
+
"description": "A week calendar grid with a time axis, rendering detailed slot bars within each day column. Use `TimeSlotBarWeek` for detailed time-of-day scheduling where each cell represents a configurable time interval. For a simpler day-level overview without a time axis, use `TimeSlotWeekView` instead.",
|
|
551
|
+
"keywords": []
|
|
552
|
+
},
|
|
553
|
+
{
|
|
554
|
+
"name": "TimeSlotWeekView",
|
|
555
|
+
"importPath": "@lifesg/react-design-system/time-slot-week-view",
|
|
556
|
+
"description": "A week calendar grid that displays slot availability within each day column. Use `TimeSlotWeekView` for a day-level overview of slot availability across a week. For detailed time-of-day scheduling with a time axis, use `TimeSlotBarWeek` instead.",
|
|
557
|
+
"keywords": []
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
"name": "TimeTable",
|
|
561
|
+
"importPath": "@lifesg/react-design-system/timetable",
|
|
562
|
+
"description": "A scrollable grid that visualises time slot availability across a day. Use `TimeTable` to display one day's schedule for multiple resources side by side.",
|
|
563
|
+
"keywords": []
|
|
564
|
+
},
|
|
565
|
+
{
|
|
566
|
+
"name": "Toast",
|
|
567
|
+
"importPath": "@lifesg/react-design-system/toast",
|
|
568
|
+
"description": "A brief notification that appears on screen to provide feedback about an operation or event. Use `Toast` to surface status messages without interrupting the user's workflow.",
|
|
569
|
+
"keywords": []
|
|
570
|
+
},
|
|
571
|
+
{
|
|
572
|
+
"name": "Toggle",
|
|
573
|
+
"importPath": "@lifesg/react-design-system/toggle",
|
|
574
|
+
"description": "A selectable control for checkbox and radio interaction patterns. Use `Toggle` to present a labeled option that the user can select or deselect.",
|
|
575
|
+
"keywords": []
|
|
576
|
+
},
|
|
577
|
+
{
|
|
578
|
+
"name": "Typography",
|
|
579
|
+
"importPath": "@lifesg/react-design-system/typography",
|
|
580
|
+
"description": "A collection of pre-styled text components covering headings, body copy, and hyperlinks. Use `Typography` sub-components to render consistently sized and weighted text. Sub-components: - Heading variants (`HeadingXXL` through `HeadingXS`) render semantic heading elements by default. - Body variants (`BodyBL`, `BodyMD`, `BodySM`, `BodyXS`) render `p` elements. - Link variants (`LinkBL`, `LinkMD`, `LinkSM`, `LinkXS`) render `a` elements .",
|
|
581
|
+
"keywords": []
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
"name": "UneditableSection",
|
|
585
|
+
"importPath": "@lifesg/react-design-system/uneditable-section",
|
|
586
|
+
"description": "A read-only summary section for displaying labeled field values. Use `UneditableSection` to present a group of non-editable field–value pairs in a responsive grid layout Sub-components: - `UneditableSection.Item` — a standalone labeled read-only field with optional masking. - `UneditableSection.ItemSection` — a standalone grid list for composing items.",
|
|
587
|
+
"keywords": []
|
|
588
|
+
},
|
|
589
|
+
{
|
|
590
|
+
"name": "UnitNumberInput",
|
|
591
|
+
"importPath": "@lifesg/react-design-system/unit-number",
|
|
592
|
+
"description": "A two-field input for entering Singapore-style unit numbers in `floor-unit` format. Use `UnitNumberInput` when you need a structured unit number entry that splits floor and unit into separate fields.",
|
|
593
|
+
"keywords": []
|
|
594
|
+
},
|
|
595
|
+
{
|
|
596
|
+
"name": "useApplyStyle",
|
|
597
|
+
"importPath": "@lifesg/react-design-system/theme",
|
|
598
|
+
"description": "Hook to apply styles to a HTML DOM element. Use when you need to apply inline styles but cannot use the inline React `style` prop due to strict CSP rules.",
|
|
599
|
+
"keywords": []
|
|
600
|
+
},
|
|
601
|
+
{
|
|
602
|
+
"name": "useDesignToken",
|
|
603
|
+
"importPath": "@lifesg/react-design-system/theme",
|
|
604
|
+
"description": "Resolves a design-token CSS variable to its computed string value within the nearest `ThemeProvider` scope.",
|
|
605
|
+
"keywords": []
|
|
606
|
+
},
|
|
607
|
+
{
|
|
608
|
+
"name": "useInheritedThemeScope",
|
|
609
|
+
"importPath": "@lifesg/react-design-system/theme",
|
|
610
|
+
"description": "Builds `data-fds-theme*` attributes and inline CSS variables for re-stamping the current theme onto a detached DOM element (e.g. a portal or floating overlay).",
|
|
611
|
+
"keywords": []
|
|
612
|
+
},
|
|
613
|
+
{
|
|
614
|
+
"name": "useMaxWidthMediaQuery",
|
|
615
|
+
"importPath": "@lifesg/react-design-system/theme",
|
|
616
|
+
"description": "Returns `true` when the viewport width is at or below the named breakpoint.",
|
|
617
|
+
"keywords": []
|
|
618
|
+
},
|
|
619
|
+
{
|
|
620
|
+
"name": "useMediaQuery",
|
|
621
|
+
"importPath": "@lifesg/react-design-system/theme",
|
|
622
|
+
"description": "Reactive boolean hook that evaluates a media query built from width breakpoint tokens and optional custom feature clauses.",
|
|
623
|
+
"keywords": []
|
|
624
|
+
},
|
|
625
|
+
{
|
|
626
|
+
"name": "useMinWidthMediaQuery",
|
|
627
|
+
"importPath": "@lifesg/react-design-system/theme",
|
|
628
|
+
"description": "Returns `true` when the viewport width is at or above the named breakpoint.",
|
|
629
|
+
"keywords": []
|
|
630
|
+
},
|
|
631
|
+
{
|
|
632
|
+
"name": "useResolvedBreakpointToken",
|
|
633
|
+
"importPath": "@lifesg/react-design-system/theme",
|
|
634
|
+
"description": "Resolves a width breakpoint CSS variable token to its computed pixel string.",
|
|
635
|
+
"keywords": []
|
|
636
|
+
},
|
|
637
|
+
{
|
|
638
|
+
"name": "useTheme",
|
|
639
|
+
"importPath": "@lifesg/react-design-system/theme",
|
|
640
|
+
"description": "Returns the theme context from the nearest `ThemeProvider`.",
|
|
641
|
+
"keywords": []
|
|
642
|
+
}
|
|
643
|
+
]
|
|
644
|
+
}
|