@lifesg/react-design-system 4.0.0-alpha.4 → 4.0.0-alpha.5
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-item.styles_1j4eb32.css +2 -2
- package/accordion/accordion.d.ts +19 -0
- package/accordion/accordion.js.map +1 -1
- package/accordion/accordion.styles_bzrfrs.css +2 -2
- package/accordion/types.d.ts +42 -2
- package/alert/alert.d.ts +8 -0
- package/alert/alert.js.map +1 -1
- package/alert/alert.styles_patwo2.css +2 -2
- package/alert/types.d.ts +26 -2
- package/animations/loading-dots/loading-dots.styles_1rgrrmw.css +2 -2
- package/animations/loading-dots/lottie-animation.styles_1m15v69.css +1 -1
- package/animations/loading-dots-spinner/loading-dots-spinner.styles_1hcqkhs.css +2 -2
- package/animations/loading-dots-spinner/lottie-animation.styles_13d1unb.css +1 -1
- package/animations/loading-spinner/loading-spinner.styles_n6xoft.css +2 -2
- package/animations/loading-spinner/lottie-animation.styles_bnn4qt.css +1 -1
- package/avatar/avatar.d.ts +7 -0
- package/avatar/avatar.js.map +1 -1
- package/avatar/avatar.styles_16efw4.css +2 -2
- package/avatar/types.d.ts +11 -0
- package/badge/badge.d.ts +7 -0
- package/badge/badge.js.map +1 -1
- package/badge/badge.styles_1c3c6wj.css +2 -2
- package/badge/types.d.ts +20 -0
- package/box-container/box-container.d.ts +8 -0
- package/box-container/box-container.js.map +1 -1
- package/box-container/box-container.styles_5t2j9k.css +2 -2
- package/box-container/types.d.ts +24 -0
- package/breadcrumb/breadcrumb.styles_1nl4aua.css +2 -2
- package/button/button.styles_1pxy0co.css +2 -2
- package/calendar/calendar.styles_11ho5x8.css +2 -2
- package/card/card.styles_1gh9gs3.css +2 -2
- package/checkbox/checkbox.styles_gm5bu1.css +2 -2
- package/cjs/accordion/accordion-item.styles_1j4eb32.css +2 -2
- package/cjs/accordion/accordion.js.map +1 -1
- package/cjs/accordion/accordion.styles_bzrfrs.css +2 -2
- package/cjs/alert/alert.js.map +1 -1
- package/cjs/alert/alert.styles_patwo2.css +2 -2
- package/cjs/animations/loading-dots/loading-dots.styles_1rgrrmw.css +2 -2
- package/cjs/animations/loading-dots/lottie-animation.styles_1m15v69.css +1 -1
- package/cjs/animations/loading-dots-spinner/loading-dots-spinner.styles_1hcqkhs.css +2 -2
- package/cjs/animations/loading-dots-spinner/lottie-animation.styles_13d1unb.css +1 -1
- package/cjs/animations/loading-spinner/loading-spinner.styles_n6xoft.css +2 -2
- package/cjs/animations/loading-spinner/lottie-animation.styles_bnn4qt.css +1 -1
- package/cjs/avatar/avatar.js.map +1 -1
- package/cjs/avatar/avatar.styles_16efw4.css +2 -2
- package/cjs/badge/badge.js.map +1 -1
- package/cjs/badge/badge.styles_1c3c6wj.css +2 -2
- package/cjs/box-container/box-container.js.map +1 -1
- package/cjs/box-container/box-container.styles_5t2j9k.css +2 -2
- package/cjs/breadcrumb/breadcrumb.styles_1nl4aua.css +2 -2
- package/cjs/button/button.styles_1pxy0co.css +2 -2
- package/cjs/calendar/calendar.styles_11ho5x8.css +2 -2
- package/cjs/card/card.styles_1gh9gs3.css +2 -2
- package/cjs/checkbox/checkbox.styles_gm5bu1.css +2 -2
- package/cjs/countdown-timer/countdown-timer.js.map +1 -1
- package/cjs/countdown-timer/countdown-timer.styles_ipn1b0.css +2 -2
- package/cjs/dashed-border/dashed-border.js.map +1 -1
- package/cjs/dashed-border/dashed-border.styles_zszoox.css +2 -2
- package/cjs/data-table/data-table.js.map +1 -1
- package/cjs/data-table/data-table.styles_1iqq1g7.css +2 -2
- package/cjs/date-input/date-input.js.map +1 -1
- package/cjs/date-input/date-input.styles_1r5kcc7.css +1 -1
- package/cjs/date-navigator/date-navigator.js.map +1 -1
- package/cjs/date-navigator/date-navigator.styles_wokh56.css +2 -2
- package/cjs/date-range-input/date-range-input.js.map +1 -1
- package/cjs/date-range-input/date-range-input.styles_1s7ojnj.css +2 -2
- package/cjs/divider/divider.js.map +1 -1
- package/cjs/divider/divider.styles_1xpzh8p.css +2 -2
- package/cjs/drawer/drawer.js.map +1 -1
- package/cjs/drawer/drawer.styles_94hx3y.css +2 -2
- package/cjs/e-signature/e-signature-canvas.js +1 -1
- package/cjs/e-signature/e-signature-canvas.js.map +1 -1
- package/cjs/e-signature/e-signature.js.map +1 -1
- package/cjs/e-signature/e-signature.styles_lukd9f.css +2 -2
- package/cjs/error-display/error-display.js.map +1 -1
- package/cjs/error-display/error-display.styles_d3tql1.css +2 -2
- package/cjs/external/dompurify/dist/purify.es.js +3 -3
- package/cjs/external/dompurify/dist/purify.es.js.map +1 -1
- package/cjs/feedback-rating/feedback-rating-stars-container.styles_dmi8z9.css +2 -2
- package/cjs/feedback-rating/feedback-rating.js.map +1 -1
- package/cjs/feedback-rating/feedback-rating.styles_1kdklb6.css +2 -2
- package/cjs/file-download/file-download.js.map +1 -1
- package/cjs/file-download/file-download.styles_iggk8q.css +2 -2
- package/cjs/file-download/file-list-card/file-list-card.styles.js +1 -1
- package/cjs/file-download/file-list-card/file-list-card.styles.js.map +1 -1
- package/cjs/file-download/file-list-card/{file-list-card.styles_oom8ii.css → file-list-card.styles_18j2gut.css} +3 -3
- package/cjs/file-upload/dropzone.styles_1pllsau.css +2 -2
- package/cjs/file-upload/file-item-edit.js +1 -1
- package/cjs/file-upload/file-item-edit.js.map +1 -1
- package/cjs/file-upload/file-item-edit.styles.js +1 -1
- package/cjs/file-upload/file-item-edit.styles.js.map +1 -1
- package/cjs/file-upload/{file-item-edit.styles_1qbpbxj.css → file-item-edit.styles_19bvztn.css} +6 -5
- package/cjs/file-upload/file-list/file-list.js +1 -1
- package/cjs/file-upload/file-list/file-list.js.map +1 -1
- package/cjs/file-upload/file-list/file-list.styles.js +1 -1
- package/cjs/file-upload/file-list/file-list.styles.js.map +1 -1
- package/cjs/file-upload/file-list/file-list.styles_1w7so98.css +3 -0
- package/cjs/file-upload/file-list-item/file-list-item-thumbnail.styles_1y4si19.css +2 -2
- package/cjs/file-upload/file-list-item/file-list-item.js +1 -1
- package/cjs/file-upload/file-list-item/file-list-item.js.map +1 -1
- package/cjs/file-upload/file-list-item/file-list-item.styles.js +1 -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 +17 -0
- package/cjs/file-upload/file-upload.js +1 -1
- package/cjs/file-upload/file-upload.js.map +1 -1
- package/cjs/file-upload/file-upload.styles_9ffwcd.css +2 -2
- package/cjs/filter/addons/filter-item-checkbox.styles_7degw7.css +2 -2
- package/cjs/filter/filter-item-page.styles_17ewfrz.css +1 -1
- package/cjs/filter/filter-item.js.map +1 -1
- package/cjs/filter/filter-item.styles_cphjnj.css +2 -2
- package/cjs/filter/filter-modal.styles_qw3xlg.css +2 -2
- package/cjs/filter/filter-sidebar.styles_1otwpjl.css +2 -2
- package/cjs/filter/filter.js.map +1 -1
- package/cjs/filter/filter.styles_1ykijwm.css +2 -2
- package/cjs/footer/footer-download-app.styles_1v1j2us.css +2 -2
- package/cjs/footer/footer-resource-addon.styles_1jepb1d.css +2 -2
- package/cjs/footer/footer.js +1 -1
- package/cjs/footer/footer.js.map +1 -1
- package/cjs/footer/footer.styles_1msorhc.css +2 -2
- package/cjs/form/form-label-addon.styles_b00z8p.css +1 -1
- package/cjs/form/form-label.styles.js +1 -1
- package/cjs/form/form-label.styles.js.map +1 -1
- package/cjs/form/{form-label.styles_11r0652.css → form-label.styles_1nbe0bm.css} +2 -2
- package/cjs/form/form-textarea.styles_3p9qoy.css +2 -2
- package/cjs/form/form-wrapper.styles_199rslu.css +1 -1
- package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.styles_vc6y5c.css +2 -2
- package/cjs/fullscreen-image-carousel/stateful-image.styles_1xe8ypm.css +2 -2
- package/cjs/histogram-slider/histogram-slider.styles_wvd4w.css +2 -2
- package/cjs/image-button/image-button.styles_6n1qsr.css +2 -2
- package/cjs/index.js +1 -1
- package/cjs/input/input.styles_1cblor0.css +2 -2
- package/cjs/input-group/input-group-list-addon.styles_17iuqtw.css +2 -2
- package/cjs/input-group/input-group.styles_bqye6f.css +2 -2
- package/cjs/input-range-select/input-range-select.styles_adbrbm.css +2 -2
- package/cjs/input-range-slider/input-range-slider.styles_aljl2v.css +2 -2
- package/cjs/input-textarea/textarea-counter.styles_1n3wsnv.css +1 -1
- package/cjs/input-textarea/textarea.styles_22z4n3.css +2 -2
- package/cjs/language-switcher/dropdown-panel.styles_1qsjf8d.css +2 -2
- package/cjs/language-switcher/dropdown-variant.styles_1vrdfky.css +2 -2
- package/cjs/language-switcher/link-container-variant.styles_1iw6zux.css +2 -2
- package/cjs/layout/col-div.styles_16o6mwx.css +1 -1
- package/cjs/layout/container.styles_v70ec6.css +2 -2
- package/cjs/layout/section.styles_hstcaf.css +1 -1
- package/cjs/link-list/link-list.styles_m57vks.css +2 -2
- package/cjs/local-nav/local-nav-dropdown/local-nav-dropdown.styles_uhd4xl.css +2 -2
- package/cjs/local-nav/local-nav-menu/local-nav-menu.styles_pq19dh.css +2 -2
- package/cjs/markup/markup.style_1iu40x9.css +2 -2
- package/cjs/masked-input/masked-input.styles_1cm388a.css +2 -2
- package/cjs/masthead/masthead.styles_1huzon9.css +2 -2
- package/cjs/menu/menu-content.styles_p7ijll.css +2 -2
- package/cjs/menu/menu-item.styles_liyed8.css +2 -2
- package/cjs/menu/menu-link.styles_hfxoez.css +2 -2
- package/cjs/menu/menu-section.styles_g7my4d.css +2 -2
- package/cjs/modal/modal-box.styles_y52cts.css +2 -2
- package/cjs/modal/modal.styles_1lbblx6.css +2 -2
- package/cjs/modal-v2/modal-v2.styles_a8gv5i.css +2 -2
- package/cjs/modal-v2/slots/slot-styles_13sd376.css +2 -2
- package/cjs/navbar/brand.styles_zcgddp.css +1 -1
- package/cjs/navbar/drawer.js +1 -1
- package/cjs/navbar/drawer.js.map +1 -1
- package/cjs/navbar/drawer.styles_7hnxp5.css +2 -2
- package/cjs/navbar/menu.styles_gdpqc.css +2 -2
- package/cjs/navbar/navbar-action-buttons.styles_1vpm0nk.css +2 -2
- package/cjs/navbar/navbar-items.styles_1i3ltot.css +2 -2
- package/cjs/navbar/navbar.js +1 -1
- package/cjs/navbar/navbar.js.map +1 -1
- package/cjs/navbar/navbar.styles_koy0c7.css +2 -2
- package/cjs/notification-banner/notification-banner.styles_uxlysy.css +2 -2
- package/cjs/otp-input/otp-input.styles_5sbutl.css +2 -2
- package/cjs/otp-verification/contact-input-section.styles_odrjvt.css +2 -2
- package/cjs/otp-verification/otp-verification.styles_dg9bm8.css +1 -1
- package/cjs/otp-verification/thumbnail/thumbnail.styles_shqylh.css +2 -2
- package/cjs/otp-verification/verification-section.styles_x8jj.css +2 -2
- package/cjs/overlay/overlay.js +1 -1
- package/cjs/overlay/overlay.js.map +1 -1
- package/cjs/overlay/overlay.styles_12wym18.css +2 -2
- package/cjs/pagination/pagination.styles_6bcgva.css +2 -2
- package/cjs/pill/pill.styles_xwrniu.css +2 -2
- package/cjs/popover/popover-inline/popover-inline.styles_bkopnt.css +2 -2
- package/cjs/popover/popover-trigger.styles_8zokig.css +1 -1
- package/cjs/popover/popover.styles_ujnf0h.css +2 -2
- package/cjs/progress-indicator/progress-indicator.styles_1c038s4.css +2 -2
- package/cjs/radio-button/radio-button.styles_1c4v6v.css +2 -2
- package/cjs/schedule/schedule-day-view/schedule-day-view.styles_8ti149.css +2 -2
- package/cjs/schedule/schedule-header/schedule-header.js +1 -1
- package/cjs/schedule/schedule-header/schedule-header.js.map +1 -1
- package/cjs/schedule/schedule-header/schedule-header.styles_1n2u5vj.css +2 -2
- package/cjs/schedule/schedule-week-view/schedule-week-view.styles_x7x50m.css +2 -2
- package/cjs/schedule/schedule-week-view/time-cell.styles_1sorjz8.css +2 -2
- package/cjs/schedule/schedule.styles_fdy5a1.css +2 -2
- package/cjs/schedule/shared/with-optional-popover.styles_7mv3p2.css +1 -1
- package/cjs/schedule/time-indicator/time-indicator.styles_1eaxyes.css +2 -2
- package/cjs/select-histogram/select-histogram.styles_n260dy.css +2 -2
- package/cjs/shared/accessibility/index_13g9vp.css +1 -1
- package/cjs/shared/clickable-icon/clickable-icon.styles_1v2imml.css +2 -2
- package/cjs/shared/component-loading-spinner/component-loading-spinner.styles_15eq02i.css +2 -2
- package/cjs/shared/dropdown-list/dropdown-label.styles_mloii0.css +2 -2
- package/cjs/shared/dropdown-list/dropdown-list.styles_konwm.css +2 -2
- package/cjs/shared/dropdown-list/dropdown-search.styles_1hc1gkh.css +2 -2
- package/cjs/shared/dropdown-list/expandable-element.styles_rkkvqr.css +2 -2
- package/cjs/shared/dropdown-list/nested-dropdown-list.styles_wdhxoe.css +2 -2
- package/cjs/shared/dropdown-wrapper/dropdown-wrapper.styles_15hwwoj.css +2 -2
- package/cjs/shared/fade-wrapper/fade-wrapper.styles_16iug7l.css +2 -2
- package/cjs/shared/image-placeholder/image-placeholder.styles_44nwil.css +1 -1
- package/cjs/shared/input-wrapper/input-wrapper.styles_je6maw.css +2 -2
- package/cjs/shared/internal-calendar/calendar-dropdown.styles_wybjai.css +1 -1
- package/cjs/shared/internal-calendar/calendar-manager.js +1 -1
- package/cjs/shared/internal-calendar/calendar-manager.js.map +1 -1
- package/cjs/shared/internal-calendar/calendar-manager.styles.js +1 -1
- package/cjs/shared/internal-calendar/calendar-manager.styles.js.map +1 -1
- package/cjs/shared/internal-calendar/{calendar-manager.styles_1iuq5zw.css → calendar-manager.styles_1njwkj2.css} +3 -3
- package/cjs/shared/internal-calendar/day-cell/day-cell.styles_1t5oqc1.css +2 -2
- package/cjs/shared/internal-calendar/internal-calendar-month.styles_14oh57f.css +2 -2
- package/cjs/shared/internal-calendar/internal-calendar-year.styles_therlc.css +2 -2
- package/cjs/shared/internal-calendar/internal-calendar.styles_gnc3eq.css +1 -1
- package/cjs/shared/internal-calendar/standard/standard-calendar-day-view.styles_1bw26au.css +2 -2
- package/cjs/shared/progress-bar/progress-bar.styles_125ri7a.css +1 -1
- package/cjs/shared/range-input-inner-container/range-input-inner-container.styles_1v61utg.css +2 -2
- package/cjs/shared/standalone-date-input/standalone-date-input.styles_157qo89.css +2 -2
- package/cjs/shared/time-slot/time-slot.styles_18s0to7.css +2 -2
- package/cjs/shared/timepicker-dropdown/timepicker-dropdown.styles_119l6k6.css +2 -2
- package/cjs/sidenav/sidenav-drawer-item.styles_1ljnyx2.css +2 -2
- package/cjs/sidenav/sidenav-drawer-subitem.styles_2y58kf.css +1 -1
- package/cjs/sidenav/sidenav-group.styles_1x604sw.css +2 -2
- package/cjs/sidenav/sidenav-item.styles_lqw3kh.css +2 -2
- package/cjs/sidenav/sidenav.styles_1vxezie.css +2 -2
- package/cjs/singpass-button/singpass-button.styles_1miyex3.css +2 -2
- package/cjs/smart-app-banner/smart-app-banner.styles_15u6yv4.css +2 -2
- package/cjs/tab/tab-link-chain.styles_49got4.css +2 -2
- package/cjs/tab/tab.styles_1najffw.css +1 -1
- package/cjs/table/table.styles_1af5ipv.css +2 -2
- package/cjs/tag/tag.style_d98c53.css +2 -2
- package/cjs/text-list/text-list.styles_w3fvyt.css +2 -2
- package/cjs/theme/types.js +1 -1
- package/cjs/theme/types.js.map +1 -1
- package/cjs/theme/utils/use-design-token-override.js +2 -0
- package/cjs/theme/utils/use-design-token-override.js.map +1 -0
- package/cjs/time-range-picker/combobox-picker/combobox-picker.styles_7i9vso.css +1 -1
- package/cjs/time-range-picker/common.styles_1qwp4xa.css +2 -2
- package/cjs/time-slot-bar/time-slot-bar.styles_wigbyd.css +2 -2
- package/cjs/time-slot-bar-week/time-slot-bar-week-days.styles_evdvs9.css +2 -2
- package/cjs/time-slot-bar-week/time-slot-bar-week.styles_11ybf42.css +1 -1
- package/cjs/time-slot-week-view/time-slot-week-days.styles_1h21vyw.css +2 -2
- package/cjs/time-slot-week-view/time-slot-week-view.styles_gqgsw2.css +1 -1
- package/cjs/timeline/timeline.styles_1jxzik4.css +2 -2
- package/cjs/timepicker/timepicker.styles_1jm33yw.css +1 -1
- package/cjs/timetable/timetable-header/timetable-header.styles_11gl1h4.css +2 -2
- package/cjs/timetable/timetable-row/row-bar.styles_1x0vrsz.css +1 -1
- package/cjs/timetable/timetable-row/row-cell.styles_y1dl5j.css +2 -2
- package/cjs/timetable/timetable.styles_7rp8kz.css +2 -2
- package/cjs/toast/toast.styles_1e0l60w.css +2 -2
- package/cjs/toggle/toggle-icon.styles_ba71y.css +2 -2
- package/cjs/toggle/toggle.styles_1t5qrye.css +2 -2
- package/cjs/typography/typography-text.styles_1734x2k.css +2 -2
- package/cjs/typography/typography.styles.js +1 -1
- package/cjs/typography/typography.styles.js.map +1 -1
- package/cjs/typography/{typography.styles_1155j4c.css → typography.styles_1wd82dn.css} +2 -2
- package/cjs/uneditable-section/section-item.styles_mwx8ht.css +2 -2
- package/cjs/uneditable-section/uneditable-section.js +1 -1
- package/cjs/uneditable-section/uneditable-section.js.map +1 -1
- package/cjs/uneditable-section/uneditable-section.styles_aj9zun.css +2 -2
- package/cjs/unit-number/unit-number-input.styles_8yizj.css +2 -2
- package/countdown-timer/countdown-timer.d.ts +6 -0
- package/countdown-timer/countdown-timer.js.map +1 -1
- package/countdown-timer/countdown-timer.styles_ipn1b0.css +2 -2
- package/countdown-timer/types.d.ts +55 -11
- package/dashed-border/dashed-border.d.ts +6 -0
- package/dashed-border/dashed-border.js.map +1 -1
- package/dashed-border/dashed-border.styles_zszoox.css +2 -2
- package/dashed-border/types.d.ts +27 -5
- package/data-table/data-table.d.ts +8 -0
- package/data-table/data-table.js.map +1 -1
- package/data-table/data-table.styles_1iqq1g7.css +2 -2
- package/data-table/types.d.ts +58 -12
- package/date-input/date-input.d.ts +5 -0
- package/date-input/date-input.js.map +1 -1
- package/date-input/date-input.styles_1r5kcc7.css +1 -1
- package/date-input/types.d.ts +32 -16
- package/date-navigator/date-navigator.d.ts +6 -0
- package/date-navigator/date-navigator.js.map +1 -1
- package/date-navigator/date-navigator.styles_wokh56.css +2 -2
- package/date-navigator/types.d.ts +44 -7
- package/date-range-input/date-range-input.d.ts +4 -0
- package/date-range-input/date-range-input.js.map +1 -1
- package/date-range-input/date-range-input.styles_1s7ojnj.css +2 -2
- package/date-range-input/types.d.ts +50 -14
- package/divider/divider.d.ts +6 -0
- package/divider/divider.js.map +1 -1
- package/divider/divider.styles_1xpzh8p.css +2 -2
- package/divider/types.d.ts +27 -4
- package/drawer/drawer.d.ts +7 -0
- package/drawer/drawer.js.map +1 -1
- package/drawer/drawer.styles_94hx3y.css +2 -2
- package/drawer/types.d.ts +16 -4
- package/e-signature/e-signature-canvas.js +1 -1
- package/e-signature/e-signature-canvas.js.map +1 -1
- package/e-signature/e-signature.d.ts +5 -0
- package/e-signature/e-signature.js.map +1 -1
- package/e-signature/e-signature.styles_lukd9f.css +2 -2
- package/e-signature/types.d.ts +23 -1
- package/error-display/error-display.d.ts +7 -0
- package/error-display/error-display.js.map +1 -1
- package/error-display/error-display.styles_d3tql1.css +2 -2
- package/error-display/types.d.ts +36 -6
- package/external/dompurify/dist/purify.es.js +2 -2
- package/external/dompurify/dist/purify.es.js.map +1 -1
- package/feedback-rating/feedback-rating-stars-container.styles_dmi8z9.css +2 -2
- package/feedback-rating/feedback-rating.d.ts +6 -0
- package/feedback-rating/feedback-rating.js.map +1 -1
- package/feedback-rating/feedback-rating.styles_1kdklb6.css +2 -2
- package/feedback-rating/types.d.ts +29 -0
- package/file-download/file-download.d.ts +6 -0
- package/file-download/file-download.js.map +1 -1
- package/file-download/file-download.styles_iggk8q.css +2 -2
- package/file-download/file-list-card/file-list-card.styles.js +1 -1
- package/file-download/file-list-card/file-list-card.styles.js.map +1 -1
- package/file-download/file-list-card/{file-list-card.styles_oom8ii.css → file-list-card.styles_18j2gut.css} +3 -3
- package/file-download/types.d.ts +44 -11
- package/file-upload/dropzone.styles_1pllsau.css +2 -2
- package/file-upload/file-item-edit.d.ts +4 -1
- package/file-upload/file-item-edit.js +1 -1
- package/file-upload/file-item-edit.js.map +1 -1
- package/file-upload/file-item-edit.styles.d.ts +1 -0
- package/file-upload/file-item-edit.styles.js +1 -1
- package/file-upload/file-item-edit.styles.js.map +1 -1
- package/file-upload/{file-item-edit.styles_1qbpbxj.css → file-item-edit.styles_19bvztn.css} +6 -5
- package/file-upload/file-list/file-list.d.ts +3 -0
- package/file-upload/file-list/file-list.js +1 -1
- package/file-upload/file-list/file-list.js.map +1 -1
- package/file-upload/file-list/file-list.styles.js +1 -1
- package/file-upload/file-list/file-list.styles.js.map +1 -1
- package/file-upload/file-list/file-list.styles_1w7so98.css +3 -0
- package/file-upload/file-list-item/file-list-item-thumbnail.styles_1y4si19.css +2 -2
- package/file-upload/file-list-item/file-list-item.d.ts +3 -1
- package/file-upload/file-list-item/file-list-item.js +1 -1
- package/file-upload/file-list-item/file-list-item.js.map +1 -1
- package/file-upload/file-list-item/file-list-item.styles.d.ts +3 -0
- 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 +17 -0
- package/file-upload/file-upload.d.ts +2 -1
- package/file-upload/file-upload.js +1 -1
- package/file-upload/file-upload.js.map +1 -1
- package/file-upload/file-upload.styles_9ffwcd.css +2 -2
- package/file-upload/types.d.ts +125 -20
- package/filter/addons/filter-item-checkbox.styles_7degw7.css +2 -2
- package/filter/filter-item-page.styles_17ewfrz.css +1 -1
- package/filter/filter-item.js.map +1 -1
- package/filter/filter-item.styles_cphjnj.css +2 -2
- package/filter/filter-modal.styles_qw3xlg.css +2 -2
- package/filter/filter-sidebar.styles_1otwpjl.css +2 -2
- package/filter/filter.d.ts +21 -0
- package/filter/filter.js.map +1 -1
- package/filter/filter.styles_1ykijwm.css +2 -2
- package/filter/types.d.ts +161 -21
- package/footer/footer-download-app.styles_1v1j2us.css +2 -2
- package/footer/footer-resource-addon.styles_1jepb1d.css +2 -2
- package/footer/footer.d.ts +8 -1
- package/footer/footer.js +1 -1
- package/footer/footer.js.map +1 -1
- package/footer/footer.styles_1msorhc.css +2 -2
- package/footer/types.d.ts +55 -4
- package/form/form-label-addon.styles_b00z8p.css +1 -1
- package/form/form-label.styles.js +1 -1
- package/form/form-label.styles.js.map +1 -1
- package/form/{form-label.styles_11r0652.css → form-label.styles_1nbe0bm.css} +2 -2
- package/form/form-textarea.styles_3p9qoy.css +2 -2
- package/form/form-wrapper.styles_199rslu.css +1 -1
- package/fullscreen-image-carousel/fullscreen-image-carousel.styles_vc6y5c.css +2 -2
- package/fullscreen-image-carousel/stateful-image.styles_1xe8ypm.css +2 -2
- package/histogram-slider/histogram-slider.styles_wvd4w.css +2 -2
- package/image-button/image-button.styles_6n1qsr.css +2 -2
- package/index.d.ts +0 -1
- package/index.js +1 -1
- package/input/input.styles_1cblor0.css +2 -2
- package/input-group/input-group-list-addon.styles_17iuqtw.css +2 -2
- package/input-group/input-group.styles_bqye6f.css +2 -2
- package/input-range-select/input-range-select.styles_adbrbm.css +2 -2
- package/input-range-slider/input-range-slider.styles_aljl2v.css +2 -2
- package/input-textarea/textarea-counter.styles_1n3wsnv.css +1 -1
- package/input-textarea/textarea.styles_22z4n3.css +2 -2
- package/language-switcher/dropdown-panel.styles_1qsjf8d.css +2 -2
- package/language-switcher/dropdown-variant.styles_1vrdfky.css +2 -2
- package/language-switcher/link-container-variant.styles_1iw6zux.css +2 -2
- package/layout/col-div.styles_16o6mwx.css +1 -1
- package/layout/container.styles_v70ec6.css +2 -2
- package/layout/section.styles_hstcaf.css +1 -1
- package/link-list/link-list.styles_m57vks.css +2 -2
- package/local-nav/local-nav-dropdown/local-nav-dropdown.styles_uhd4xl.css +2 -2
- package/local-nav/local-nav-menu/local-nav-menu.styles_pq19dh.css +2 -2
- package/markup/markup.style_1iu40x9.css +2 -2
- package/masked-input/masked-input.styles_1cm388a.css +2 -2
- package/masthead/masthead.styles_1huzon9.css +2 -2
- package/menu/menu-content.styles_p7ijll.css +2 -2
- package/menu/menu-item.styles_liyed8.css +2 -2
- package/menu/menu-link.styles_hfxoez.css +2 -2
- package/menu/menu-section.styles_g7my4d.css +2 -2
- package/modal/modal-box.styles_y52cts.css +2 -2
- package/modal/modal.styles_1lbblx6.css +2 -2
- package/modal-v2/modal-v2.styles_a8gv5i.css +2 -2
- package/modal-v2/slots/slot-styles_13sd376.css +2 -2
- package/navbar/brand.styles_zcgddp.css +1 -1
- package/navbar/drawer.js +1 -1
- package/navbar/drawer.js.map +1 -1
- package/navbar/drawer.styles_7hnxp5.css +2 -2
- package/navbar/menu.styles_gdpqc.css +2 -2
- package/navbar/navbar-action-buttons.styles_1vpm0nk.css +2 -2
- package/navbar/navbar-items.styles_1i3ltot.css +2 -2
- package/navbar/navbar.js +1 -1
- package/navbar/navbar.js.map +1 -1
- package/navbar/navbar.styles_koy0c7.css +2 -2
- package/notification-banner/notification-banner.styles_uxlysy.css +2 -2
- package/otp-input/otp-input.styles_5sbutl.css +2 -2
- package/otp-verification/contact-input-section.styles_odrjvt.css +2 -2
- package/otp-verification/otp-verification.styles_dg9bm8.css +1 -1
- package/otp-verification/thumbnail/thumbnail.styles_shqylh.css +2 -2
- package/otp-verification/verification-section.styles_x8jj.css +2 -2
- package/overlay/overlay.js +1 -1
- package/overlay/overlay.js.map +1 -1
- package/overlay/overlay.styles_12wym18.css +2 -2
- package/overlay/types.d.ts +0 -13
- package/package.json +1 -7
- package/pagination/pagination.styles_6bcgva.css +2 -2
- package/pill/pill.styles_xwrniu.css +2 -2
- package/popover/popover-inline/popover-inline.styles_bkopnt.css +2 -2
- package/popover/popover-trigger.styles_8zokig.css +1 -1
- package/popover/popover.styles_ujnf0h.css +2 -2
- package/progress-indicator/progress-indicator.styles_1c038s4.css +2 -2
- package/radio-button/radio-button.styles_1c4v6v.css +2 -2
- package/schedule/schedule-day-view/schedule-day-view.styles_8ti149.css +2 -2
- package/schedule/schedule-header/schedule-header.js +1 -1
- package/schedule/schedule-header/schedule-header.js.map +1 -1
- package/schedule/schedule-header/schedule-header.styles_1n2u5vj.css +2 -2
- package/schedule/schedule-week-view/schedule-week-view.styles_x7x50m.css +2 -2
- package/schedule/schedule-week-view/time-cell.styles_1sorjz8.css +2 -2
- package/schedule/schedule.styles_fdy5a1.css +2 -2
- package/schedule/shared/with-optional-popover.styles_7mv3p2.css +1 -1
- package/schedule/time-indicator/time-indicator.styles_1eaxyes.css +2 -2
- package/select-histogram/select-histogram.styles_n260dy.css +2 -2
- package/shared/accessibility/index_13g9vp.css +1 -1
- package/shared/clickable-icon/clickable-icon.styles_1v2imml.css +2 -2
- package/shared/component-loading-spinner/component-loading-spinner.styles_15eq02i.css +2 -2
- package/shared/dropdown-list/dropdown-label.styles_mloii0.css +2 -2
- package/shared/dropdown-list/dropdown-list.styles_konwm.css +2 -2
- package/shared/dropdown-list/dropdown-search.styles_1hc1gkh.css +2 -2
- package/shared/dropdown-list/expandable-element.styles_rkkvqr.css +2 -2
- package/shared/dropdown-list/nested-dropdown-list.styles_wdhxoe.css +2 -2
- package/shared/dropdown-wrapper/dropdown-wrapper.styles_15hwwoj.css +2 -2
- package/shared/fade-wrapper/fade-wrapper.styles_16iug7l.css +2 -2
- package/shared/image-placeholder/image-placeholder.styles_44nwil.css +1 -1
- package/shared/input-wrapper/input-wrapper.styles_je6maw.css +2 -2
- package/shared/internal-calendar/calendar-dropdown.styles_wybjai.css +1 -1
- package/shared/internal-calendar/calendar-manager.js +1 -1
- package/shared/internal-calendar/calendar-manager.js.map +1 -1
- package/shared/internal-calendar/calendar-manager.styles.js +1 -1
- package/shared/internal-calendar/calendar-manager.styles.js.map +1 -1
- package/shared/internal-calendar/{calendar-manager.styles_1iuq5zw.css → calendar-manager.styles_1njwkj2.css} +3 -3
- package/shared/internal-calendar/day-cell/day-cell.styles_1t5oqc1.css +2 -2
- package/shared/internal-calendar/internal-calendar-month.styles_14oh57f.css +2 -2
- package/shared/internal-calendar/internal-calendar-year.styles_therlc.css +2 -2
- package/shared/internal-calendar/internal-calendar.styles_gnc3eq.css +1 -1
- package/shared/internal-calendar/standard/standard-calendar-day-view.styles_1bw26au.css +2 -2
- package/shared/progress-bar/progress-bar.styles_125ri7a.css +1 -1
- package/shared/range-input-inner-container/range-input-inner-container.styles_1v61utg.css +2 -2
- package/shared/standalone-date-input/standalone-date-input.styles_157qo89.css +2 -2
- package/shared/time-slot/time-slot.styles_18s0to7.css +2 -2
- package/shared/timepicker-dropdown/timepicker-dropdown.styles_119l6k6.css +2 -2
- package/sidenav/sidenav-drawer-item.styles_1ljnyx2.css +2 -2
- package/sidenav/sidenav-drawer-subitem.styles_2y58kf.css +1 -1
- package/sidenav/sidenav-group.styles_1x604sw.css +2 -2
- package/sidenav/sidenav-item.styles_lqw3kh.css +2 -2
- package/sidenav/sidenav.styles_1vxezie.css +2 -2
- package/singpass-button/singpass-button.styles_1miyex3.css +2 -2
- package/smart-app-banner/smart-app-banner.styles_15u6yv4.css +2 -2
- package/tab/tab-link-chain.styles_49got4.css +2 -2
- package/tab/tab.styles_1najffw.css +1 -1
- package/table/table.styles_1af5ipv.css +2 -2
- package/tag/tag.style_d98c53.css +2 -2
- package/text-list/text-list.styles_w3fvyt.css +2 -2
- package/theme/styles/a11y-playground.css +3 -0
- package/theme/styles/bookingsg.css +7 -4
- package/theme/styles/careercompass.css +4 -1
- package/theme/styles/ccube.css +3 -0
- package/theme/styles/default.css +9 -5
- package/theme/styles/imda.css +3 -0
- package/theme/styles/lifesg.css +3 -0
- package/theme/styles/mylegacy.css +7 -4
- package/theme/styles/oneservice.css +52 -0
- package/theme/styles/pa.css +3 -0
- package/theme/styles/rbs.css +3 -0
- package/theme/styles/sgw-digital-lobby.css +5 -2
- package/theme/styles/smgs.css +3 -0
- package/theme/styles/spf.css +3 -0
- package/theme/styles/supportgowhere.css +3 -0
- package/theme/types.d.ts +1 -1
- package/theme/types.js +1 -1
- package/theme/types.js.map +1 -1
- package/theme/utils/index.d.ts +1 -0
- package/theme/utils/use-design-token-override.d.ts +11 -0
- package/theme/utils/use-design-token-override.js +2 -0
- package/theme/utils/use-design-token-override.js.map +1 -0
- package/time-range-picker/combobox-picker/combobox-picker.styles_7i9vso.css +1 -1
- package/time-range-picker/common.styles_1qwp4xa.css +2 -2
- package/time-slot-bar/time-slot-bar.styles_wigbyd.css +2 -2
- package/time-slot-bar-week/time-slot-bar-week-days.styles_evdvs9.css +2 -2
- package/time-slot-bar-week/time-slot-bar-week.styles_11ybf42.css +1 -1
- package/time-slot-week-view/time-slot-week-days.styles_1h21vyw.css +2 -2
- package/time-slot-week-view/time-slot-week-view.styles_gqgsw2.css +1 -1
- package/timeline/timeline.styles_1jxzik4.css +2 -2
- package/timepicker/timepicker.styles_1jm33yw.css +1 -1
- package/timetable/timetable-header/timetable-header.styles_11gl1h4.css +2 -2
- package/timetable/timetable-row/row-bar.styles_1x0vrsz.css +1 -1
- package/timetable/timetable-row/row-cell.styles_y1dl5j.css +2 -2
- package/timetable/timetable.styles_7rp8kz.css +2 -2
- package/toast/toast.styles_1e0l60w.css +2 -2
- package/toggle/toggle-icon.styles_ba71y.css +2 -2
- package/toggle/toggle.styles_1t5qrye.css +2 -2
- package/typography/typography-text.styles_1734x2k.css +2 -2
- package/typography/typography.styles.js +1 -1
- package/typography/typography.styles.js.map +1 -1
- package/typography/{typography.styles_1155j4c.css → typography.styles_1wd82dn.css} +2 -2
- package/uneditable-section/index.d.ts +1 -1
- package/uneditable-section/section-item.styles_mwx8ht.css +2 -2
- package/uneditable-section/uneditable-section.d.ts +2 -1
- package/uneditable-section/uneditable-section.js +1 -1
- package/uneditable-section/uneditable-section.js.map +1 -1
- package/uneditable-section/uneditable-section.styles_aj9zun.css +2 -2
- package/unit-number/unit-number-input.styles_8yizj.css +2 -2
- package/cjs/example/example.js +0 -2
- package/cjs/example/example.js.map +0 -1
- package/cjs/example/example_r47nvz.css +0 -1
- package/cjs/example/index.js +0 -2
- package/cjs/example/index.js.map +0 -1
- package/cjs/file-upload/file-list/file-list.styles_1ea12kj.css +0 -3
- package/cjs/file-upload/file-list-item/file-list-item.styles_y7my2m.css +0 -14
- package/example/example.d.ts +0 -2
- package/example/example.js +0 -2
- package/example/example.js.map +0 -1
- package/example/example_r47nvz.css +0 -1
- package/example/index.d.ts +0 -1
- package/example/index.js +0 -2
- package/example/index.js.map +0 -1
- package/example/types.d.ts +0 -3
- package/file-upload/file-list/file-list.styles_1ea12kj.css +0 -3
- package/file-upload/file-list-item/file-list-item.styles_y7my2m.css +0 -14
package/filter/types.d.ts
CHANGED
|
@@ -2,6 +2,11 @@ import type { CSSProperties, ReactNode } from "react";
|
|
|
2
2
|
import type { ButtonStyleType } from "../button/types";
|
|
3
3
|
import type { FormLabelAddonProps } from "../form/types";
|
|
4
4
|
import type { Insets } from "../shared/types";
|
|
5
|
+
/**
|
|
6
|
+
* Rendering context for the filter panel.
|
|
7
|
+
*
|
|
8
|
+
* `"default"` indicates the desktop sidebar; `"mobile"` indicates the modal overlay.
|
|
9
|
+
*/
|
|
5
10
|
export type Mode = "default" | "mobile";
|
|
6
11
|
interface FilterSidebarCustomLabelProps {
|
|
7
12
|
headerTitle?: string | undefined;
|
|
@@ -13,98 +18,233 @@ interface FilterModalCustomLabelProps {
|
|
|
13
18
|
doneButtonLabel?: string | undefined;
|
|
14
19
|
clearButtonLabel?: string | undefined;
|
|
15
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Shared props for the sidebar and modal variants of the filter panel.
|
|
23
|
+
*/
|
|
16
24
|
export interface FilterBaseProps {
|
|
17
25
|
id?: string | undefined;
|
|
18
26
|
"data-testid"?: string | undefined;
|
|
19
27
|
className?: string | undefined;
|
|
20
28
|
style?: CSSProperties | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* Number of active filter selections displayed as a badge on the header and
|
|
31
|
+
* toggle button.
|
|
32
|
+
*/
|
|
21
33
|
count?: number | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* When `true`, the clear button is rendered in a disabled state.
|
|
36
|
+
*
|
|
37
|
+
* @default false
|
|
38
|
+
*/
|
|
22
39
|
clearButtonDisabled?: boolean | undefined;
|
|
23
|
-
/** Called when clear button is pressed */
|
|
40
|
+
/** Called when the clear button is pressed. */
|
|
24
41
|
onClear?: (() => void) | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Content rendered inside the filter panel.
|
|
44
|
+
*
|
|
45
|
+
* Pass a render function to receive the current `Mode` and conditionally
|
|
46
|
+
* render different content for desktop (`"default"`) and mobile (`"mobile"`).
|
|
47
|
+
*/
|
|
25
48
|
children?: ReactNode | ((mode: Mode) => ReactNode);
|
|
26
49
|
/**
|
|
27
|
-
* @deprecated
|
|
28
|
-
* use customLabels instead
|
|
50
|
+
* @deprecated Use `customLabels` instead.
|
|
29
51
|
*/
|
|
30
52
|
headerTitle?: string | undefined;
|
|
31
53
|
/**
|
|
32
|
-
* @deprecated
|
|
33
|
-
* use customLabels instead
|
|
54
|
+
* @deprecated Use `customLabels` instead.
|
|
34
55
|
*/
|
|
35
56
|
toggleFilterButtonLabel?: string | undefined;
|
|
36
57
|
/**
|
|
37
|
-
* @deprecated
|
|
38
|
-
* use customLabels instead
|
|
58
|
+
* @deprecated Use `customLabels` instead.
|
|
39
59
|
*/
|
|
40
60
|
doneButtonLabel?: string | undefined;
|
|
41
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Props for the desktop sidebar variant of the filter panel.
|
|
64
|
+
*/
|
|
42
65
|
export interface FilterSidebarProps extends FilterBaseProps {
|
|
66
|
+
/** Overrides default labels used by the sidebar variant. */
|
|
43
67
|
customLabels?: FilterSidebarCustomLabelProps | undefined;
|
|
44
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* Props for the mobile modal variant of the filter panel.
|
|
71
|
+
*/
|
|
45
72
|
export interface FilterModalProps extends FilterBaseProps {
|
|
46
|
-
/** Called when dismiss button is pressed
|
|
73
|
+
/** Called when the dismiss (close) button is pressed in the modal overlay. */
|
|
47
74
|
onDismiss?: (() => void) | undefined;
|
|
48
|
-
/** Called when done button is pressed
|
|
75
|
+
/** Called when the done button is pressed in the modal overlay. */
|
|
49
76
|
onDone?: (() => void) | undefined;
|
|
77
|
+
/** Called when the modal overlay is opened by the toggle button. */
|
|
50
78
|
onModalOpen?: () => void;
|
|
79
|
+
/**
|
|
80
|
+
* Visual style of the toggle button that opens the modal.
|
|
81
|
+
*
|
|
82
|
+
* @default "light"
|
|
83
|
+
*/
|
|
51
84
|
toggleFilterButtonStyle?: ButtonStyleType | undefined;
|
|
85
|
+
/** Overrides default labels used by the modal variant. */
|
|
52
86
|
customLabels?: FilterModalCustomLabelProps | undefined;
|
|
87
|
+
/**
|
|
88
|
+
* Safe-area insets applied to the modal header and footer, useful for
|
|
89
|
+
* notch or home-indicator offsets on mobile devices.
|
|
90
|
+
*/
|
|
53
91
|
insets?: Insets | undefined;
|
|
54
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* Props for the `Filter` component, combining both sidebar and modal variants.
|
|
95
|
+
*/
|
|
55
96
|
export interface FilterProps extends Omit<FilterSidebarProps, "customLabels">, Omit<FilterModalProps, "customLabels"> {
|
|
97
|
+
/**
|
|
98
|
+
* Overrides default labels for the active variant.
|
|
99
|
+
*
|
|
100
|
+
* Only the labels relevant to the current mode (sidebar or modal) are used.
|
|
101
|
+
*/
|
|
56
102
|
customLabels?: FilterModalCustomLabelProps | FilterSidebarCustomLabelProps | undefined;
|
|
57
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Props for a single collapsible filter section within a filter panel.
|
|
106
|
+
*/
|
|
58
107
|
export interface FilterItemProps {
|
|
108
|
+
/**
|
|
109
|
+
* Content rendered inside the filter item.
|
|
110
|
+
*
|
|
111
|
+
* Pass a render function to receive the current `Mode` and minimised state,
|
|
112
|
+
* enabling content to adapt between desktop and mobile contexts.
|
|
113
|
+
*/
|
|
59
114
|
children: React.ReactNode | ((mode: Mode, state: {
|
|
60
115
|
minimised: boolean;
|
|
61
116
|
}) => React.ReactNode);
|
|
62
|
-
/**
|
|
117
|
+
/**
|
|
118
|
+
* Whether a divider line is shown above the item in desktop mode.
|
|
119
|
+
*
|
|
120
|
+
* @default true
|
|
121
|
+
*/
|
|
63
122
|
showDivider?: boolean | undefined;
|
|
64
|
-
/**
|
|
123
|
+
/**
|
|
124
|
+
* Whether a divider line is shown above the item in mobile mode.
|
|
125
|
+
*
|
|
126
|
+
* @default true
|
|
127
|
+
*/
|
|
65
128
|
showMobileDivider?: boolean | undefined;
|
|
129
|
+
/** Label rendered in the item header. */
|
|
66
130
|
title?: string | undefined;
|
|
131
|
+
/** Optional popover addon displayed inline with the title. */
|
|
67
132
|
addon?: FormLabelAddonProps | undefined;
|
|
68
133
|
className?: string | undefined;
|
|
69
134
|
id?: string | undefined;
|
|
70
135
|
"data-testid"?: string | undefined;
|
|
136
|
+
/**
|
|
137
|
+
* Whether the item can be expanded or collapsed in desktop mode.
|
|
138
|
+
* Items are always expanded in mobile mode regardless of this setting.
|
|
139
|
+
*
|
|
140
|
+
* @default true
|
|
141
|
+
*/
|
|
71
142
|
collapsible?: boolean | undefined;
|
|
72
|
-
/**
|
|
143
|
+
/**
|
|
144
|
+
* Initial expanded state for the uncontrolled component.
|
|
145
|
+
* Has no effect when `expanded` is provided.
|
|
146
|
+
*
|
|
147
|
+
* @default false
|
|
148
|
+
*/
|
|
73
149
|
initialExpanded?: boolean | undefined;
|
|
74
|
-
/**
|
|
150
|
+
/**
|
|
151
|
+
* Controls the expanded state. When provided, the component is controlled
|
|
152
|
+
* and `onExpandChange` must be used to update the value.
|
|
153
|
+
*/
|
|
75
154
|
expanded?: boolean | undefined;
|
|
76
|
-
/**
|
|
155
|
+
/**
|
|
156
|
+
* Called when the user toggles the expand/collapse state.
|
|
157
|
+
*/
|
|
77
158
|
onExpandChange?: ((expanded: boolean) => void) | undefined;
|
|
159
|
+
/**
|
|
160
|
+
* Whether the item content can be minimised to show a truncated height with
|
|
161
|
+
* a "View more" button.
|
|
162
|
+
*
|
|
163
|
+
* @default false
|
|
164
|
+
*/
|
|
78
165
|
minimisable?: boolean | undefined;
|
|
166
|
+
/**
|
|
167
|
+
* Height in pixels to clip the content when minimised.
|
|
168
|
+
* Defaults to 50% of content height, capped at 216 px.
|
|
169
|
+
*/
|
|
79
170
|
minimisedHeight?: number | undefined;
|
|
80
171
|
style?: React.CSSProperties | undefined;
|
|
81
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* Props for a full-screen sub-page overlay within the mobile filter modal.
|
|
175
|
+
*
|
|
176
|
+
* `Filter.Page` provides a back-navigation header and a done button,
|
|
177
|
+
* intended for drill-down selection flows inside a filter item.
|
|
178
|
+
*/
|
|
82
179
|
export interface FilterPageProps {
|
|
83
180
|
"data-testid"?: string | undefined;
|
|
84
181
|
children: React.ReactNode;
|
|
85
|
-
/** Called when dismiss button is pressed */
|
|
182
|
+
/** Called when the back (dismiss) button is pressed. */
|
|
86
183
|
onDismiss?: (() => void) | undefined;
|
|
87
|
-
/** Called when done button is pressed */
|
|
184
|
+
/** Called when the done button is pressed. */
|
|
88
185
|
onDone?: (() => void) | undefined;
|
|
89
186
|
}
|
|
187
|
+
/**
|
|
188
|
+
* Default shape for a checkbox option in `Filter.Checkbox`.
|
|
189
|
+
*
|
|
190
|
+
* Nest `options` to create hierarchical groups with parent-level
|
|
191
|
+
* select/deselect all behavior.
|
|
192
|
+
*/
|
|
90
193
|
export interface FilterItemCheckboxOptionProps {
|
|
91
194
|
value: any;
|
|
92
195
|
label: string;
|
|
196
|
+
/** Nested child options. Providing children makes this item a parent node. */
|
|
93
197
|
options?: FilterItemCheckboxOptionProps[] | undefined;
|
|
94
198
|
}
|
|
199
|
+
/**
|
|
200
|
+
* Props for `Filter.Checkbox`, a filter item that renders a list of selectable
|
|
201
|
+
* checkboxes (desktop) or toggle chips (mobile).
|
|
202
|
+
*
|
|
203
|
+
* Supply a generic type `T` to use a custom option shape together with
|
|
204
|
+
* `labelExtractor` and `valueExtractor`.
|
|
205
|
+
*/
|
|
95
206
|
export interface FilterItemCheckboxProps<T = FilterItemCheckboxOptionProps> extends Omit<FilterItemProps, "children"> {
|
|
207
|
+
/** The full list of selectable options. */
|
|
96
208
|
options: T[];
|
|
209
|
+
/**
|
|
210
|
+
* The currently selected options. When provided, the component syncs its
|
|
211
|
+
* internal selection state to this value.
|
|
212
|
+
*/
|
|
97
213
|
selectedOptions?: T[] | undefined;
|
|
214
|
+
/**
|
|
215
|
+
* Called when the selection changes.
|
|
216
|
+
*
|
|
217
|
+
* @param options The updated array of selected options.
|
|
218
|
+
*/
|
|
98
219
|
onSelect?: ((options: T[]) => void) | undefined;
|
|
99
|
-
/**
|
|
220
|
+
/**
|
|
221
|
+
* Derives the display label from an option item.
|
|
222
|
+
* Falls back to `item.label` when not provided.
|
|
223
|
+
*/
|
|
100
224
|
labelExtractor?: ((item: T) => React.ReactNode) | undefined;
|
|
101
|
-
/**
|
|
225
|
+
/**
|
|
226
|
+
* Derives the unique value key from an option item.
|
|
227
|
+
* Falls back to `item.value` when not provided.
|
|
228
|
+
*/
|
|
102
229
|
valueExtractor?: ((item: T) => string) | undefined;
|
|
103
|
-
/**
|
|
230
|
+
/**
|
|
231
|
+
* When `true`, toggle chips in mobile mode grow to fit their content width
|
|
232
|
+
* instead of stretching to a fixed minimum width.
|
|
233
|
+
*/
|
|
104
234
|
useToggleContentWidth?: boolean | undefined;
|
|
105
|
-
/**
|
|
235
|
+
/**
|
|
236
|
+
* When `true`, renders checkboxes instead of toggle chips in mobile mode.
|
|
237
|
+
* Has no effect for nested option trees, which always use checkboxes.
|
|
238
|
+
*
|
|
239
|
+
* @default false
|
|
240
|
+
*/
|
|
106
241
|
showAsCheckboxInMobile?: boolean | undefined;
|
|
107
|
-
/**
|
|
242
|
+
/**
|
|
243
|
+
* When `true`, shows a "View more / View less" button when there are more
|
|
244
|
+
* options than the minimised threshold.
|
|
245
|
+
*
|
|
246
|
+
* @default true
|
|
247
|
+
*/
|
|
108
248
|
minimisableOptions?: boolean | undefined;
|
|
109
249
|
}
|
|
110
250
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.wmm1xbv{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}:where(body.fds-breakpoint-lg-max) .wmm1xbv{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;padding:0;}
|
|
1
|
+
@layer fds{.wmm1xbv{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}:where(body.fds-breakpoint-lg-max) .wmm1xbv{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;padding:0;}
|
|
2
2
|
.l171bo4j{margin-bottom:var(--fds-spacing-16);color:var(--fds-footer-colour-text);}
|
|
3
3
|
.a17bpz54{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;row-gap:var(--fds-spacing-16);-webkit-column-gap:var(--fds-spacing-16);column-gap:var(--fds-spacing-16);}
|
|
4
|
-
.a30jq0e img{width:auto;height:3.75rem;object-fit:contain;display:block;}:where(body.fds-breakpoint-lg-max) .a30jq0e img{height:3rem;width:100%;}
|
|
4
|
+
.a30jq0e img{width:auto;height:3.75rem;object-fit:contain;display:block;}:where(body.fds-breakpoint-lg-max) .a30jq0e img{height:3rem;width:100%;}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.ieulqso{max-height:var(--fds-spacing-72);max-width:100%;}
|
|
1
|
+
@layer fds{.ieulqso{max-height:var(--fds-spacing-72);max-width:100%;}
|
|
2
2
|
.gaeoncc{height:4.5rem;}
|
|
3
3
|
.prt8kdt{height:3.5rem;}
|
|
4
|
-
.ich52w2{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;gap:var(--fds-spacing-32);margin-top:var(--fds-spacing-16);}
|
|
4
|
+
.ich52w2{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;gap:var(--fds-spacing-32);margin-top:var(--fds-spacing-16);}}
|
package/footer/footer.d.ts
CHANGED
|
@@ -1,2 +1,9 @@
|
|
|
1
1
|
import type { FooterProps } from "./types";
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Site-wide footer with navigation links, branding, and legal copy.
|
|
4
|
+
*
|
|
5
|
+
* Use `Footer` at the bottom of a page to surface navigation links grouped
|
|
6
|
+
* into columns, a theme-appropriate logo, download-app or resource add-ons,
|
|
7
|
+
* and disclaimer links with auto-generated copyright text.
|
|
8
|
+
*/
|
|
9
|
+
export declare const Footer: <T>({ children, links, lastUpdated, disclaimerLinks, showDownloadAddon, showResourceAddon, logoSrc, logoAlt, copyrightInfo, onFooterLinkClick, layout, hideLogo, className, ...otherProps }: FooterProps<T>) => import("react/jsx-runtime").JSX.Element;
|
package/footer/footer.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__rest as e}from"../_virtual/_tslib.js";import{jsxs as o,jsx as t,Fragment as i}from"react/jsx-runtime";import
|
|
1
|
+
import{__rest as e}from"../_virtual/_tslib.js";import{jsxs as o,jsx as t,Fragment as i}from"react/jsx-runtime";import l from"clsx";import{useContext as r}from"react";import{Divider as s}from"../divider/divider.js";import{Layout as n}from"../layout/index.js";import{ThemeContext as a}from"../theme/theme-provider/context.js";import{Typography as c}from"../typography/index.js";import{bottomSection as d,bottomSectionContent as m,copyrightText as h,copyrightSection as p,baseFooter as u,logoSection as f,logoImage as g,logoSize as k,linkSectionWrapper as v,linkSection as y,addonSection as N,topSection as j,fullWidthDivider as L,disclaimerTextLink as C,footerLink as b}from"./footer.styles.js";import{DownloadApp as w}from"./footer-download-app.js";import{FooterHelper as x}from"./footer-helper.js";import{ResourceAddon as A}from"./footer-resource-addon.js";const D=D=>{var{children:S,links:O,lastUpdated:F,disclaimerLinks:I,showDownloadAddon:R,showResourceAddon:T,logoSrc:U,logoAlt:X="",copyrightInfo:$,onFooterLinkClick:_,layout:B="default",hideLogo:M,className:q}=D,z=e(D,["children","links","lastUpdated","disclaimerLinks","showDownloadAddon","showResourceAddon","logoSrc","logoAlt","copyrightInfo","onFooterLinkClick","layout","hideLogo","className"]);const E="stretch"===B,G=r(a),H=o=>o.map(((o,i)=>{const{"data-options":l}=o,r=e(o,["data-options"]);return t("li",{children:t(c.LinkMD,Object.assign({underlineStyle:"none",className:b},r,{onClick:e=>((e,o)=>{o.onClick?(e.preventDefault(),o.onClick(e)):_&&(e.preventDefault(),_(o))})(e,o)}))},i)}));return o("footer",Object.assign({},z,{className:l(u,q),children:[(()=>{let r=null;if(S)return S;if(O||R){const s=x.getFooterLogoAttribute(null==G?void 0:G.theme),{src:n,alt:a,logoType:c}=s,d=e(s,["src","alt","logoType"]);r=o(i,{children:[(U||n)&&!M&&t("div",{"data-testid":"logo-section",className:f,children:t("img",Object.assign({src:U||n,"data-testid":"logo",className:l(g,c&&k[c]),alt:X||a},d))}),t("div",{className:v,children:null==O?void 0:O.map(((e,o)=>t("ul",{"data-testid":`link-col-${o}`,className:y,children:H(e)},`link-col-${o}`)))}),R&&t("div",{className:N,children:t(w,{})}),!R&&T&&t("div",{className:N,children:t(A,{})})]})}return r?o(i,{children:[t(n.Content,{className:j,stretch:E,children:r}),t(s,{className:L})]}):null})(),o(n.Content,{className:d,stretch:E,children:[t("div",{className:m,children:(()=>{const e=x.getDisclaimerLinks(null==G?void 0:G.theme,I);return Object.keys(e).map((o=>t(c.LinkXS,Object.assign({underlineStyle:"none",className:C},e[o]),o)))})()},"disclaimer"),t("div",{className:l(m,p),children:t(c.BodyXS,{"data-testid":"copyright-text",className:h,children:$||o(i,{children:["©"," ",x.getCopyrightInfo(F,null==G?void 0:G.theme)]})})},"copyright")]})]}))};export{D as Footer};
|
|
2
2
|
//# sourceMappingURL=footer.js.map
|
package/footer/footer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"footer.js","sources":["../../src/footer/footer.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport type React from \"react\";\nimport { useContext } from \"react\";\n\nimport { Divider } from \"../divider\";\nimport { Layout } from \"../layout\";\nimport { ThemeContext } from \"../theme/theme-provider/context\";\nimport { Typography } from \"../typography\";\nimport * as styles from \"./footer.styles\";\nimport { DownloadApp } from \"./footer-download-app\";\nimport type { InternalDisclaimerLinks } from \"./footer-helper\";\nimport { FooterHelper } from \"./footer-helper\";\nimport { ResourceAddon } from \"./footer-resource-addon\";\nimport type { FooterLinkProps, FooterProps } from \"./types\";\n\nexport const Footer = <T,>({\n children,\n links,\n lastUpdated,\n disclaimerLinks,\n showDownloadAddon,\n showResourceAddon,\n logoSrc,\n copyrightInfo,\n onFooterLinkClick,\n layout = \"default\",\n hideLogo,\n className,\n ...otherProps\n}: FooterProps<T>) => {\n // =============================================================================\n // CONST, STATE, REFS\n // =============================================================================\n const isStretch = layout === \"stretch\";\n const theme = useContext(ThemeContext);\n // =============================================================================\n // EVENT HANDLERS\n // =============================================================================\n const handleLinkClick = <K extends T>(\n event: React.MouseEvent<HTMLAnchorElement>,\n item: FooterLinkProps<K>\n ) => {\n /**\n * Individual link onClick will override\n * the onFooterLinkClick callback\n */\n if (item.onClick) {\n event.preventDefault();\n item.onClick(event);\n } else if (onFooterLinkClick) {\n event.preventDefault();\n onFooterLinkClick(item);\n } else {\n // do nothing, let default behaviour happen\n }\n };\n\n // =============================================================================\n // RENDER FUNCTIONS\n // =============================================================================\n const renderDisclaimerLinks = () => {\n const links = FooterHelper.getDisclaimerLinks(\n theme?.theme,\n disclaimerLinks\n );\n\n return (Object.keys(links) as (keyof InternalDisclaimerLinks)[]).map(\n (key) => {\n return (\n <Typography.LinkXS\n key={key}\n underlineStyle=\"none\"\n className={styles.disclaimerTextLink}\n {...links[key]}\n />\n );\n }\n );\n };\n\n const renderFooterLinks = (links: FooterLinkProps<T>[]) => {\n return links.map((link, index) => {\n const { \"data-options\": _options, ...otherProps } = link;\n\n return (\n <li key={index}>\n <Typography.LinkMD\n underlineStyle=\"none\"\n className={styles.footerLink}\n {...otherProps}\n onClick={(event) => handleLinkClick(event, link)}\n />\n </li>\n );\n });\n };\n\n const renderTopSection = () => {\n let component: React.ReactNode = null;\n\n if (children) {\n return children;\n }\n\n if (links || showDownloadAddon) {\n const { src, logoType, ...otherLogoAttributes } =\n FooterHelper.getFooterLogoAttribute(theme?.theme);\n component = (\n <>\n {(logoSrc || src) && !hideLogo && (\n <div\n data-testid=\"logo-section\"\n className={styles.logoSection}\n >\n <img\n src={logoSrc || src}\n data-testid=\"logo\"\n className={clsx(\n styles.logoImage,\n logoType && styles.logoSize[logoType]\n )}\n {...otherLogoAttributes}\n />\n </div>\n )}\n <div className={styles.linkSectionWrapper}>\n {links?.map((columnLinks, columnIndex) => (\n <ul\n key={`link-col-${columnIndex}`}\n data-testid={`link-col-${columnIndex}`}\n className={styles.linkSection}\n >\n {renderFooterLinks(columnLinks)}\n </ul>\n ))}\n </div>\n {showDownloadAddon && (\n <div className={styles.addonSection}>\n <DownloadApp />\n </div>\n )}\n {/* when showDownloadAddon and showResourceAddon are enabled, showDownloadAddon should take priority to being rendered */}\n {!showDownloadAddon && showResourceAddon && (\n <div className={styles.addonSection}>\n <ResourceAddon />\n </div>\n )}\n </>\n );\n }\n\n if (component) {\n return (\n <>\n <Layout.Content\n className={styles.topSection}\n stretch={isStretch}\n >\n {component}\n </Layout.Content>\n <Divider className={styles.fullWidthDivider} />\n </>\n );\n }\n\n return null;\n };\n return (\n <footer {...otherProps} className={clsx(styles.baseFooter, className)}>\n {renderTopSection()}\n <Layout.Content\n className={styles.bottomSection}\n stretch={isStretch}\n >\n <div key=\"disclaimer\" className={styles.bottomSectionContent}>\n {renderDisclaimerLinks()}\n </div>\n <div\n key=\"copyright\"\n className={clsx(\n styles.bottomSectionContent,\n styles.copyrightSection\n )}\n >\n <Typography.BodyXS\n data-testid={\"copyright-text\"}\n className={styles.copyrightText}\n >\n {copyrightInfo || (\n <>\n ©{\" \"}\n {FooterHelper.getCopyrightInfo(\n lastUpdated,\n theme?.theme\n )}\n </>\n )}\n </Typography.BodyXS>\n </div>\n </Layout.Content>\n </footer>\n );\n};\n"],"names":["Footer","_a","children","links","lastUpdated","disclaimerLinks","showDownloadAddon","showResourceAddon","logoSrc","copyrightInfo","onFooterLinkClick","layout","hideLogo","className","otherProps","__rest","isStretch","theme","useContext","ThemeContext","renderFooterLinks","map","link","index","_options","_jsx","Typography","LinkMD","Object","assign","underlineStyle","styles.footerLink","onClick","event","item","preventDefault","handleLinkClick","_jsxs","clsx","styles.baseFooter","component","FooterHelper","getFooterLogoAttribute","src","logoType","otherLogoAttributes","_Fragment","styles.logoSection","styles.logoImage","styles.logoSize","styles.linkSectionWrapper","columnLinks","columnIndex","styles.linkSection","styles.addonSection","DownloadApp","ResourceAddon","Layout","Content","styles.topSection","stretch","Divider","styles.fullWidthDivider","renderTopSection","styles.bottomSection","styles.bottomSectionContent","getDisclaimerLinks","keys","key","LinkXS","styles.disclaimerTextLink","renderDisclaimerLinks","styles.copyrightSection","BodyXS","styles.copyrightText","getCopyrightInfo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"footer.js","sources":["../../src/footer/footer.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport type React from \"react\";\nimport { useContext } from \"react\";\n\nimport { Divider } from \"../divider\";\nimport { Layout } from \"../layout\";\nimport { ThemeContext } from \"../theme/theme-provider/context\";\nimport { Typography } from \"../typography\";\nimport * as styles from \"./footer.styles\";\nimport { DownloadApp } from \"./footer-download-app\";\nimport type { InternalDisclaimerLinks } from \"./footer-helper\";\nimport { FooterHelper } from \"./footer-helper\";\nimport { ResourceAddon } from \"./footer-resource-addon\";\nimport type { FooterLinkProps, FooterProps } from \"./types\";\n\n/**\n * Site-wide footer with navigation links, branding, and legal copy.\n *\n * Use `Footer` at the bottom of a page to surface navigation links grouped\n * into columns, a theme-appropriate logo, download-app or resource add-ons,\n * and disclaimer links with auto-generated copyright text.\n */\nexport const Footer = <T,>({\n children,\n links,\n lastUpdated,\n disclaimerLinks,\n showDownloadAddon,\n showResourceAddon,\n logoSrc,\n logoAlt = \"\",\n copyrightInfo,\n onFooterLinkClick,\n layout = \"default\",\n hideLogo,\n className,\n ...otherProps\n}: FooterProps<T>) => {\n // =============================================================================\n // CONST, STATE, REFS\n // =============================================================================\n const isStretch = layout === \"stretch\";\n const theme = useContext(ThemeContext);\n // =============================================================================\n // EVENT HANDLERS\n // =============================================================================\n const handleLinkClick = <K extends T>(\n event: React.MouseEvent<HTMLAnchorElement>,\n item: FooterLinkProps<K>\n ) => {\n /**\n * Individual link onClick will override\n * the onFooterLinkClick callback\n */\n if (item.onClick) {\n event.preventDefault();\n item.onClick(event);\n } else if (onFooterLinkClick) {\n event.preventDefault();\n onFooterLinkClick(item);\n } else {\n // do nothing, let default behaviour happen\n }\n };\n\n // =============================================================================\n // RENDER FUNCTIONS\n // =============================================================================\n const renderDisclaimerLinks = () => {\n const links = FooterHelper.getDisclaimerLinks(\n theme?.theme,\n disclaimerLinks\n );\n\n return (Object.keys(links) as (keyof InternalDisclaimerLinks)[]).map(\n (key) => {\n return (\n <Typography.LinkXS\n key={key}\n underlineStyle=\"none\"\n className={styles.disclaimerTextLink}\n {...links[key]}\n />\n );\n }\n );\n };\n\n const renderFooterLinks = (links: FooterLinkProps<T>[]) => {\n return links.map((link, index) => {\n const { \"data-options\": _options, ...otherProps } = link;\n\n return (\n <li key={index}>\n <Typography.LinkMD\n underlineStyle=\"none\"\n className={styles.footerLink}\n {...otherProps}\n onClick={(event) => handleLinkClick(event, link)}\n />\n </li>\n );\n });\n };\n\n const renderTopSection = () => {\n let component: React.ReactNode = null;\n\n if (children) {\n return children;\n }\n\n if (links || showDownloadAddon) {\n const { src, alt, logoType, ...otherLogoAttributes } =\n FooterHelper.getFooterLogoAttribute(theme?.theme);\n component = (\n <>\n {(logoSrc || src) && !hideLogo && (\n <div\n data-testid=\"logo-section\"\n className={styles.logoSection}\n >\n <img\n src={logoSrc || src}\n data-testid=\"logo\"\n className={clsx(\n styles.logoImage,\n logoType && styles.logoSize[logoType]\n )}\n alt={logoAlt || alt}\n {...otherLogoAttributes}\n />\n </div>\n )}\n <div className={styles.linkSectionWrapper}>\n {links?.map((columnLinks, columnIndex) => (\n <ul\n key={`link-col-${columnIndex}`}\n data-testid={`link-col-${columnIndex}`}\n className={styles.linkSection}\n >\n {renderFooterLinks(columnLinks)}\n </ul>\n ))}\n </div>\n {showDownloadAddon && (\n <div className={styles.addonSection}>\n <DownloadApp />\n </div>\n )}\n {/* when showDownloadAddon and showResourceAddon are enabled, showDownloadAddon should take priority to being rendered */}\n {!showDownloadAddon && showResourceAddon && (\n <div className={styles.addonSection}>\n <ResourceAddon />\n </div>\n )}\n </>\n );\n }\n\n if (component) {\n return (\n <>\n <Layout.Content\n className={styles.topSection}\n stretch={isStretch}\n >\n {component}\n </Layout.Content>\n <Divider className={styles.fullWidthDivider} />\n </>\n );\n }\n\n return null;\n };\n return (\n <footer {...otherProps} className={clsx(styles.baseFooter, className)}>\n {renderTopSection()}\n <Layout.Content\n className={styles.bottomSection}\n stretch={isStretch}\n >\n <div key=\"disclaimer\" className={styles.bottomSectionContent}>\n {renderDisclaimerLinks()}\n </div>\n <div\n key=\"copyright\"\n className={clsx(\n styles.bottomSectionContent,\n styles.copyrightSection\n )}\n >\n <Typography.BodyXS\n data-testid={\"copyright-text\"}\n className={styles.copyrightText}\n >\n {copyrightInfo || (\n <>\n ©{\" \"}\n {FooterHelper.getCopyrightInfo(\n lastUpdated,\n theme?.theme\n )}\n </>\n )}\n </Typography.BodyXS>\n </div>\n </Layout.Content>\n </footer>\n );\n};\n"],"names":["Footer","_a","children","links","lastUpdated","disclaimerLinks","showDownloadAddon","showResourceAddon","logoSrc","logoAlt","copyrightInfo","onFooterLinkClick","layout","hideLogo","className","otherProps","__rest","isStretch","theme","useContext","ThemeContext","renderFooterLinks","map","link","index","_options","_jsx","Typography","LinkMD","Object","assign","underlineStyle","styles.footerLink","onClick","event","item","preventDefault","handleLinkClick","_jsxs","clsx","styles.baseFooter","component","FooterHelper","getFooterLogoAttribute","src","alt","logoType","otherLogoAttributes","_Fragment","styles.logoSection","styles.logoImage","styles.logoSize","styles.linkSectionWrapper","columnLinks","columnIndex","styles.linkSection","styles.addonSection","DownloadApp","ResourceAddon","Layout","Content","styles.topSection","stretch","Divider","styles.fullWidthDivider","renderTopSection","styles.bottomSection","styles.bottomSectionContent","getDisclaimerLinks","keys","key","LinkXS","styles.disclaimerTextLink","renderDisclaimerLinks","styles.copyrightSection","BodyXS","styles.copyrightText","getCopyrightInfo"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.b1ozupxm{background:var(--fds-footer-colour-bg);}
|
|
1
|
+
@layer fds{.b1ozupxm{background:var(--fds-footer-colour-bg);}
|
|
2
2
|
.f1b3ng0m{color:var(--fds-footer-link-colour-text);}.f1b3ng0m:hover{color:var(--fds-footer-link-colour-text-hover);}
|
|
3
3
|
.f1f7a2pi{width:100%;}
|
|
4
4
|
.t1nab4kr{padding:var(--fds-spacing-64) 0;}:where(body.fds-breakpoint-lg-max) .t1nab4kr{padding:var(--fds-spacing-32) 0;}:where(body.fds-breakpoint-lg-max) .t1nab4kr [data-id="container"]{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--fds-spacing-32);}
|
|
@@ -16,4 +16,4 @@
|
|
|
16
16
|
.bakpusz{-webkit-flex:1 1 50%;-ms-flex:1 1 50%;flex:1 1 50%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}:where(body.fds-breakpoint-lg-max) .bakpusz{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--fds-spacing-8);}:where(body.fds-breakpoint-lg-max) .bakpusz:not(:last-child){margin-right:0;}
|
|
17
17
|
.cb1d27e{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;}:where(body.fds-breakpoint-lg-max) .cb1d27e{margin-top:var(--fds-spacing-16);-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;}
|
|
18
18
|
.cntgl6w{color:var(--fds-footer-colour-text);}
|
|
19
|
-
.d2vgmpj{color:var(--fds-footer-disclaimer-link-colour-text);}.d2vgmpj:not(:last-child){margin-right:var(--fds-spacing-16);}.d2vgmpj:hover{color:var(--fds-footer-disclaimer-link-colour-text-hover);}:where(body.fds-breakpoint-lg-max) .d2vgmpj:not(:last-child){margin-right:0;}
|
|
19
|
+
.d2vgmpj{color:var(--fds-footer-disclaimer-link-colour-text);}.d2vgmpj:not(:last-child){margin-right:var(--fds-spacing-16);}.d2vgmpj:hover{color:var(--fds-footer-disclaimer-link-colour-text-hover);}:where(body.fds-breakpoint-lg-max) .d2vgmpj:not(:last-child){margin-right:0;}}
|
package/footer/types.d.ts
CHANGED
|
@@ -1,38 +1,89 @@
|
|
|
1
1
|
import type { TypographyLinkProps } from "../typography";
|
|
2
2
|
type DisclaimerTextLinkProps = Omit<TypographyLinkProps, "children">;
|
|
3
|
+
/**
|
|
4
|
+
* Override attributes for the built-in disclaimer links rendered at the bottom of the footer.
|
|
5
|
+
*
|
|
6
|
+
* Each key corresponds to a standard disclaimer link. When a key is omitted, the
|
|
7
|
+
* default URL for the active theme is used. Provided values are merged with the
|
|
8
|
+
* theme defaults, so only the attributes supplied are overridden.
|
|
9
|
+
*/
|
|
3
10
|
export interface DisclaimerLinks {
|
|
4
11
|
privacy?: DisclaimerTextLinkProps | undefined;
|
|
5
12
|
termsOfUse?: DisclaimerTextLinkProps | undefined;
|
|
6
13
|
reportVulnerability?: DisclaimerTextLinkProps | undefined;
|
|
7
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Props for a single link rendered in the footer navigation columns.
|
|
17
|
+
*
|
|
18
|
+
* Extends `TypographyLinkProps`. The type parameter `T` is the shape of any
|
|
19
|
+
* application-specific metadata attached to the link via `data-options`, and
|
|
20
|
+
* is passed back through the `onFooterLinkClick` callback.
|
|
21
|
+
*/
|
|
8
22
|
export interface FooterLinkProps<T = void> extends TypographyLinkProps {
|
|
9
23
|
/** Any custom attributes you would like to pass to the link */
|
|
10
24
|
"data-options"?: T | undefined;
|
|
11
25
|
"data-testid"?: string | undefined;
|
|
12
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Props for the `Footer` component.
|
|
29
|
+
*
|
|
30
|
+
* The type parameter `T` flows through `FooterLinkProps` and is returned via
|
|
31
|
+
* `onFooterLinkClick`, allowing consumers to attach typed metadata to each link.
|
|
32
|
+
*/
|
|
13
33
|
export interface FooterProps<T = void> {
|
|
14
34
|
/** The footer links. Multi array to present in different columns */
|
|
15
35
|
links?: FooterLinkProps<T>[][] | undefined;
|
|
16
36
|
/** Indicates if the download app icons are to be present */
|
|
17
37
|
showDownloadAddon?: boolean | undefined;
|
|
18
|
-
/**
|
|
38
|
+
/**
|
|
39
|
+
* Indicates if additional app resources should be displayed.
|
|
40
|
+
*
|
|
41
|
+
* When both `showDownloadAddon` and `showResourceAddon` are `true`,
|
|
42
|
+
* `showDownloadAddon` takes priority and the resource add-on is not rendered.
|
|
43
|
+
*/
|
|
19
44
|
showResourceAddon?: boolean | undefined;
|
|
20
45
|
/** Custom component. This overrides the logo, links and download section */
|
|
21
46
|
children?: JSX.Element | JSX.Element[] | undefined;
|
|
22
|
-
/**
|
|
47
|
+
/**
|
|
48
|
+
* Override attributes for the built-in disclaimer links.
|
|
49
|
+
*
|
|
50
|
+
* Each supplied key is merged with the theme defaults. Omitted keys fall
|
|
51
|
+
* back to the default URLs for the active theme.
|
|
52
|
+
*/
|
|
23
53
|
disclaimerLinks?: DisclaimerLinks | undefined;
|
|
24
54
|
/** A custom copyright text */
|
|
25
55
|
copyrightInfo?: string | undefined;
|
|
26
56
|
/** Custom logo source */
|
|
27
57
|
logoSrc?: string | undefined;
|
|
28
|
-
/**
|
|
58
|
+
/** Custom logo alt text */
|
|
59
|
+
logoAlt?: string | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* Date displayed in the copyright line as "Last updated D MMMM YYYY".
|
|
62
|
+
*
|
|
63
|
+
* @remarks Falls back to the current date when omitted.
|
|
64
|
+
*/
|
|
29
65
|
lastUpdated?: Date | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* Called when a footer navigation link is clicked.
|
|
68
|
+
*
|
|
69
|
+
* Receives the full `FooterLinkProps` for the clicked link. If the link
|
|
70
|
+
* defines its own `onClick` handler, that handler takes priority and
|
|
71
|
+
* `onFooterLinkClick` is not called.
|
|
72
|
+
*/
|
|
30
73
|
onFooterLinkClick?: ((link: FooterLinkProps<T>) => void) | undefined;
|
|
31
|
-
/**
|
|
74
|
+
/**
|
|
75
|
+
* Controls whether the footer content is constrained to a maximum width or
|
|
76
|
+
* stretches to fill the full viewport width.
|
|
77
|
+
*
|
|
78
|
+
* @default "default"
|
|
79
|
+
*/
|
|
32
80
|
layout?: "default" | "stretch" | undefined;
|
|
33
81
|
id?: string | undefined;
|
|
34
82
|
"data-testid"?: string | undefined;
|
|
35
83
|
className?: string | undefined;
|
|
84
|
+
/**
|
|
85
|
+
* Suppresses the logo even when a `logoSrc` or a theme-based logo URL is available.
|
|
86
|
+
*/
|
|
36
87
|
hideLogo?: boolean | undefined;
|
|
37
88
|
}
|
|
38
89
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.akbk9y1{padding-left:var(--fds-spacing-4);display:inline;}
|
|
1
|
+
@layer fds{.akbk9y1{padding-left:var(--fds-spacing-4);display:inline;}}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./form-label.
|
|
1
|
+
import"./form-label.styles_1nbe0bm.css";const s="l170pjsx",e="lf1tnj",l="eyg2zu6",o="e4aab9k",t="e39ds6s",b="s1n6ixex";export{l as errorIcon,t as errorMessage,o as errorMessageContainer,e as label,s as labelContainer,b as subtitle};
|
|
2
2
|
//# sourceMappingURL=form-label.styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-label.styles.js","sources":["../../src/form/form-label.styles.ts"],"sourcesContent":["import { css } from \"@linaria/core\";\n\nimport { Colour, Font, Spacing } from \"../theme\";\n\n// =============================================================================\n// STYLING\n// =============================================================================\nexport const labelContainer = css`\n margin-bottom: ${Spacing[\"spacing-8\"]};\n`;\n\nexport const label = css`\n color: ${Colour[\"text-subtle\"]};\n display: inline-block;\n ${Font[\"form-label\"]}\n font-weight: ${Font.Spec[\"weight-semibold\"]};\n`;\n\nexport const errorIcon = css`\n height: 1lh;\n width: 1em;\n flex-shrink: 0;\n color: ${Colour[\"icon-error-strong\"]};\n`;\n\nexport const errorMessageContainer = css`\n ${Font[\"body-sm-semibold\"]}\n display: flex;\n gap: ${Spacing[\"spacing-4\"]};\n margin-top: ${Spacing[\"spacing-8\"]};\n`;\n\nexport const errorMessage = css`\n color: ${Colour[\"text-error\"]};\n ${Font[\"body-sm-semibold\"]}\n margin-bottom: 0;\n outline: none;\n`;\n\nexport const subtitle = css`\n ${Font[\"form-description\"]}\n color: ${Colour[\"text-subtler\"]};\n display: block;\n`;\n"],"names":["labelContainer","label","errorIcon","errorMessageContainer","errorMessage","subtitle"],"mappings":"4DAOO,MAAMA,EAAc,
|
|
1
|
+
{"version":3,"file":"form-label.styles.js","sources":["../../src/form/form-label.styles.ts"],"sourcesContent":["import { css } from \"@linaria/core\";\n\nimport { Colour, Font, Spacing } from \"../theme\";\n\n// =============================================================================\n// STYLING\n// =============================================================================\nexport const labelContainer = css`\n margin-bottom: ${Spacing[\"spacing-8\"]};\n display: flex;\n flex-direction: column;\n gap: ${Spacing[\"spacing-4\"]};\n`;\n\nexport const label = css`\n color: ${Colour[\"text-subtle\"]};\n display: inline-block;\n ${Font[\"form-label\"]}\n font-weight: ${Font.Spec[\"weight-semibold\"]};\n`;\n\nexport const errorIcon = css`\n height: 1lh;\n width: 1em;\n flex-shrink: 0;\n color: ${Colour[\"icon-error-strong\"]};\n`;\n\nexport const errorMessageContainer = css`\n ${Font[\"body-sm-semibold\"]}\n display: flex;\n gap: ${Spacing[\"spacing-4\"]};\n margin-top: ${Spacing[\"spacing-8\"]};\n`;\n\nexport const errorMessage = css`\n color: ${Colour[\"text-error\"]};\n ${Font[\"body-sm-semibold\"]}\n margin-bottom: 0;\n outline: none;\n`;\n\nexport const subtitle = css`\n ${Font[\"form-description\"]}\n color: ${Colour[\"text-subtler\"]};\n display: block;\n`;\n"],"names":["labelContainer","label","errorIcon","errorMessageContainer","errorMessage","subtitle"],"mappings":"4DAOO,MAAMA,EAAc,WAOdC,EAAK,SAOLC,EAAS,UAOTC,EAAqB,UAOrBC,EAAY,UAOZC,EAAQ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.l170pjsx{margin-bottom:var(--fds-spacing-8);}
|
|
1
|
+
@layer fds{.l170pjsx{margin-bottom:var(--fds-spacing-8);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--fds-spacing-4);}
|
|
2
2
|
.lf1tnj{color:var(--fds-colour-text-subtle);display:inline-block;font-family:var(--fds-font-family-body);font-variant:var(--fds-font-variant);font-size:var(--fds-font-form-label-size);font-weight:var(--fds-font-weight-semibold);line-height:var(--fds-font-form-label-lh);letter-spacing:var(--fds-font-form-label-ls);font-weight:var(--fds-font-weight-semibold);}
|
|
3
3
|
.eyg2zu6{height:1lh;width:1em;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;color:var(--fds-colour-icon-error-strong);}
|
|
4
4
|
.e4aab9k{font-family:var(--fds-font-family-body);font-variant:var(--fds-font-variant);font-size:var(--fds-font-body-size-sm);font-weight:var(--fds-font-weight-semibold);line-height:var(--fds-font-body-lh-sm);letter-spacing:var(--fds-font-body-ls-sm);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--fds-spacing-4);margin-top:var(--fds-spacing-8);}
|
|
5
5
|
.e39ds6s{color:var(--fds-colour-text-error);font-family:var(--fds-font-family-body);font-variant:var(--fds-font-variant);font-size:var(--fds-font-body-size-sm);font-weight:var(--fds-font-weight-semibold);line-height:var(--fds-font-body-lh-sm);letter-spacing:var(--fds-font-body-ls-sm);margin-bottom:0;outline:none;}
|
|
6
|
-
.s1n6ixex{font-family:var(--fds-font-family-body);font-variant:var(--fds-font-variant);font-size:var(--fds-font-form-description-size);font-weight:var(--fds-font-weight-regular);line-height:var(--fds-font-form-description-lh);letter-spacing:var(--fds-font-form-description-ls);color:var(--fds-colour-text-subtler);display:block;}
|
|
6
|
+
.s1n6ixex{font-family:var(--fds-font-family-body);font-variant:var(--fds-font-variant);font-size:var(--fds-font-form-description-size);font-weight:var(--fds-font-weight-regular);line-height:var(--fds-font-form-description-lh);letter-spacing:var(--fds-font-form-description-ls);color:var(--fds-colour-text-subtler);display:block;}}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
.l1g6v039{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;margin-top:var(--fds-spacing-8);}
|
|
1
|
+
@layer fds{.l1g6v039{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;margin-top:var(--fds-spacing-8);}
|
|
2
2
|
.exxic43{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;margin-right:var(--fds-spacing-12);gap:var(--fds-spacing-4);}
|
|
3
|
-
.ebp2a0d{margin-top:0;}
|
|
3
|
+
.ebp2a0d{margin-top:0;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.c10mmo3e{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}.c10mmo3e:not(:last-child){margin-bottom:var(--fds-spacing-32);}
|
|
1
|
+
@layer fds{.c10mmo3e{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}.c10mmo3e:not(:last-child){margin-bottom:var(--fds-spacing-32);}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.t1d7v1ct{--fds-internal-fullscreenImageCarousel-topActionButtons-insetTop:initial;--fds-internal-fullscreenImageCarousel-topActionButtons-insetLeft:initial;--fds-internal-fullscreenImageCarousel-topActionButtons-insetRight:initial;-webkit-order:-1;-ms-flex-order:-1;order:-1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;gap:var(--fds-spacing-16);}.t1d7v1ct[data-has-file-info="true"]{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;background-color:var(--fds-colour-bg-inverse);padding-top:calc(
|
|
1
|
+
@layer fds{.t1d7v1ct{--fds-internal-fullscreenImageCarousel-topActionButtons-insetTop:initial;--fds-internal-fullscreenImageCarousel-topActionButtons-insetLeft:initial;--fds-internal-fullscreenImageCarousel-topActionButtons-insetRight:initial;-webkit-order:-1;-ms-flex-order:-1;order:-1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;gap:var(--fds-spacing-16);}.t1d7v1ct[data-has-file-info="true"]{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;background-color:var(--fds-colour-bg-inverse);padding-top:calc(
|
|
2
2
|
var(--fds-spacing-24) +
|
|
3
3
|
var(--fds-internal-fullscreenImageCarousel-topActionButtons-insetTop, 0px)
|
|
4
4
|
);padding-bottom:var(--fds-spacing-24);padding-left:calc(
|
|
@@ -72,4 +72,4 @@
|
|
|
72
72
|
);}
|
|
73
73
|
.f1ysk79e{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}
|
|
74
74
|
.f1cpwiz6{color:var(--fds-colour-text-inverse);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
|
|
75
|
-
.f17g5ble{color:var(--fds-colour-text-inverse);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
|
|
75
|
+
.f17g5ble{color:var(--fds-colour-text-inverse);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
.i1h1mxc8{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}
|
|
1
|
+
@layer fds{.i1h1mxc8{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}
|
|
2
2
|
.i1k1jgcv{--fds-internal-fullscreenImageCarousel-statefulImage-imageBox-fit:initial;height:100%;width:100%;object-fit:var(--fds-internal-fullscreenImageCarousel-statefulImage-imageBox-fit, contain);}
|
|
3
|
-
.d1w2ubkx{width:100%;height:100%;}
|
|
3
|
+
.d1w2ubkx{width:100%;height:100%;}}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
.l1qwb62w{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:var(--fds-spacing-16);-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;}
|
|
1
|
+
@layer fds{.l1qwb62w{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:var(--fds-spacing-16);-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;}
|
|
2
2
|
.s1f028jb{margin:0 0.5rem;}
|
|
3
3
|
.hu29dsu{width:100%;height:4rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;padding:0 0.4375rem;}
|
|
4
4
|
.b1koddre{-webkit-flex:1;-ms-flex:1;flex:1;border-radius:var(--fds-radius-sm) var(--fds-radius-sm) 0 0;border:0.5px solid transparent;-webkit-background-clip:content-box;background-clip:content-box;background-color:var(--fds-colour-bg-strongest);}
|
|
5
5
|
.b1im7sez{background-color:var(--fds-colour-bg-disabled);}
|
|
6
6
|
.b8ooyxk{background-color:var(--fds-colour-bg-selected-stronger);}
|
|
7
7
|
.b9tfims{background-color:var(--fds-colour-bg-selected-stronger-disabled);}
|
|
8
|
-
.s1q1626e{margin-top:-0.3125rem;}
|
|
8
|
+
.s1q1626e{margin-top:-0.3125rem;}}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
.mqb1plh{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:0.5rem;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:1.5rem 1rem;background-color:var(--fds-colour-bg);border:var(--fds-border-width-010) var(--fds-border-style-solid) transparent;border-radius:var(--fds-radius-md);cursor:pointer;max-width:13rem;-webkit-transition:all var(--fds-motion-duration-250) var(--fds-motion-timing-ease-default);transition:all var(--fds-motion-duration-250) var(--fds-motion-timing-ease-default);font-family:var(--fds-font-family-body);font-variant:var(--fds-font-variant);font-size:var(--fds-font-body-size-baseline);font-weight:var(--fds-font-weight-semibold);line-height:var(--fds-font-body-lh-baseline);letter-spacing:var(--fds-font-body-ls-baseline);color:var(--fds-colour-text);overflow-wrap:anywhere;}.mqb1plh img{min-width:3.5rem;width:3.5rem;height:3.5rem;object-fit:contain;}.mqb1plh:hover{border-color:var(--fds-colour-border-hover-strong);}:where(body.fds-breakpoint-sm-max) .mqb1plh{padding:0.5rem 0.25rem;gap:0.25rem;font-family:var(--fds-font-family-body);font-variant:var(--fds-font-variant);font-size:var(--fds-font-body-size-md);font-weight:var(--fds-font-weight-semibold);line-height:var(--fds-font-body-lh-md);letter-spacing:var(--fds-font-body-ls-md);}
|
|
1
|
+
@layer fds{.mqb1plh{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:0.5rem;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:1.5rem 1rem;background-color:var(--fds-colour-bg);border:var(--fds-border-width-010) var(--fds-border-style-solid) transparent;border-radius:var(--fds-radius-md);cursor:pointer;max-width:13rem;-webkit-transition:all var(--fds-motion-duration-250) var(--fds-motion-timing-ease-default);transition:all var(--fds-motion-duration-250) var(--fds-motion-timing-ease-default);font-family:var(--fds-font-family-body);font-variant:var(--fds-font-variant);font-size:var(--fds-font-body-size-baseline);font-weight:var(--fds-font-weight-semibold);line-height:var(--fds-font-body-lh-baseline);letter-spacing:var(--fds-font-body-ls-baseline);color:var(--fds-colour-text);overflow-wrap:anywhere;}.mqb1plh img{min-width:3.5rem;width:3.5rem;height:3.5rem;object-fit:contain;}.mqb1plh:hover{border-color:var(--fds-colour-border-hover-strong);}:where(body.fds-breakpoint-sm-max) .mqb1plh{padding:0.5rem 0.25rem;gap:0.25rem;font-family:var(--fds-font-family-body);font-variant:var(--fds-font-variant);font-size:var(--fds-font-body-size-md);font-weight:var(--fds-font-weight-semibold);line-height:var(--fds-font-body-lh-md);letter-spacing:var(--fds-font-body-ls-md);}
|
|
2
2
|
.mpjl8bn{color:var(--fds-colour-text-primary);}
|
|
3
3
|
.mroo32y{background:var(--fds-colour-bg-selected);border-color:var(--fds-colour-border-selected);}.mroo32y:hover{background:var(--fds-colour-bg-selected-hover);border-color:var(--fds-colour-border-selected-hover);}
|
|
4
4
|
.mz6wr40{background:var(--fds-colour-bg);border-color:var(--fds-colour-border-error);}.mz6wr40:hover{background:var(--fds-colour-bg);border-color:var(--fds-colour-border-error);}
|
|
5
|
-
.m1hsk0n5{color:var(--fds-colour-text-disabled);cursor:not-allowed;}.m1hsk0n5 img{-webkit-filter:grayscale(100%);filter:grayscale(100%);}.m1hsk0n5:hover{border-color:transparent;}
|
|
5
|
+
.m1hsk0n5{color:var(--fds-colour-text-disabled);cursor:not-allowed;}.m1hsk0n5 img{-webkit-filter:grayscale(100%);filter:grayscale(100%);}.m1hsk0n5:hover{border-color:transparent;}}
|
package/index.d.ts
CHANGED
|
@@ -19,7 +19,6 @@ export * from "./divider";
|
|
|
19
19
|
export * from "./drawer";
|
|
20
20
|
export * from "./e-signature";
|
|
21
21
|
export * from "./error-display";
|
|
22
|
-
export * from "./example";
|
|
23
22
|
export * from "./feedback-rating";
|
|
24
23
|
export * from "./file-download";
|
|
25
24
|
export * from "./file-upload";
|