@lifesg/react-design-system 4.0.0-alpha.4 → 4.0.0-alpha.6

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.
Files changed (954) hide show
  1. package/accordion/accordion-item.styles_1j4eb32.css +2 -2
  2. package/accordion/accordion.d.ts +19 -0
  3. package/accordion/accordion.js.map +1 -1
  4. package/accordion/accordion.styles_bzrfrs.css +2 -2
  5. package/accordion/types.d.ts +42 -2
  6. package/alert/alert.d.ts +8 -0
  7. package/alert/alert.js.map +1 -1
  8. package/alert/alert.styles_patwo2.css +2 -2
  9. package/alert/types.d.ts +26 -2
  10. package/animations/loading-dots/loading-dots.styles_1rgrrmw.css +2 -2
  11. package/animations/loading-dots/lottie-animation.styles_1m15v69.css +1 -1
  12. package/animations/loading-dots-spinner/loading-dots-spinner.styles_1hcqkhs.css +2 -2
  13. package/animations/loading-dots-spinner/lottie-animation.styles_13d1unb.css +1 -1
  14. package/animations/loading-spinner/loading-spinner.styles_n6xoft.css +2 -2
  15. package/animations/loading-spinner/lottie-animation.styles_bnn4qt.css +1 -1
  16. package/avatar/avatar.d.ts +7 -0
  17. package/avatar/avatar.js.map +1 -1
  18. package/avatar/avatar.styles_16efw4.css +2 -2
  19. package/avatar/types.d.ts +11 -0
  20. package/badge/badge.d.ts +7 -0
  21. package/badge/badge.js.map +1 -1
  22. package/badge/badge.styles_1c3c6wj.css +2 -2
  23. package/badge/types.d.ts +20 -0
  24. package/box-container/box-container.d.ts +8 -0
  25. package/box-container/box-container.js.map +1 -1
  26. package/box-container/box-container.styles_5t2j9k.css +2 -2
  27. package/box-container/types.d.ts +24 -0
  28. package/breadcrumb/breadcrumb.d.ts +7 -0
  29. package/breadcrumb/breadcrumb.js.map +1 -1
  30. package/breadcrumb/breadcrumb.styles_1nl4aua.css +2 -2
  31. package/breadcrumb/types.d.ts +31 -0
  32. package/button/button.d.ts +1 -0
  33. package/button/button.js.map +1 -1
  34. package/button/button.styles_1pxy0co.css +2 -2
  35. package/button/types.d.ts +42 -9
  36. package/calendar/calendar.d.ts +3 -0
  37. package/calendar/calendar.js.map +1 -1
  38. package/calendar/calendar.styles_11ho5x8.css +2 -2
  39. package/calendar/types.d.ts +43 -7
  40. package/card/card.d.ts +1 -0
  41. package/card/card.js.map +1 -1
  42. package/card/card.styles_1gh9gs3.css +2 -2
  43. package/card/types.d.ts +1 -0
  44. package/checkbox/checkbox.d.ts +3 -0
  45. package/checkbox/checkbox.js.map +1 -1
  46. package/checkbox/checkbox.styles_gm5bu1.css +2 -2
  47. package/checkbox/types.d.ts +19 -3
  48. package/cjs/accordion/accordion-item.styles_1j4eb32.css +2 -2
  49. package/cjs/accordion/accordion.js.map +1 -1
  50. package/cjs/accordion/accordion.styles_bzrfrs.css +2 -2
  51. package/cjs/alert/alert.js.map +1 -1
  52. package/cjs/alert/alert.styles_patwo2.css +2 -2
  53. package/cjs/animations/loading-dots/loading-dots.styles_1rgrrmw.css +2 -2
  54. package/cjs/animations/loading-dots/lottie-animation.styles_1m15v69.css +1 -1
  55. package/cjs/animations/loading-dots-spinner/loading-dots-spinner.styles_1hcqkhs.css +2 -2
  56. package/cjs/animations/loading-dots-spinner/lottie-animation.styles_13d1unb.css +1 -1
  57. package/cjs/animations/loading-spinner/loading-spinner.styles_n6xoft.css +2 -2
  58. package/cjs/animations/loading-spinner/lottie-animation.styles_bnn4qt.css +1 -1
  59. package/cjs/avatar/avatar.js.map +1 -1
  60. package/cjs/avatar/avatar.styles_16efw4.css +2 -2
  61. package/cjs/badge/badge.js.map +1 -1
  62. package/cjs/badge/badge.styles_1c3c6wj.css +2 -2
  63. package/cjs/box-container/box-container.js.map +1 -1
  64. package/cjs/box-container/box-container.styles_5t2j9k.css +2 -2
  65. package/cjs/breadcrumb/breadcrumb.js.map +1 -1
  66. package/cjs/breadcrumb/breadcrumb.styles_1nl4aua.css +2 -2
  67. package/cjs/button/button.js.map +1 -1
  68. package/cjs/button/button.styles_1pxy0co.css +2 -2
  69. package/cjs/calendar/calendar.js.map +1 -1
  70. package/cjs/calendar/calendar.styles_11ho5x8.css +2 -2
  71. package/cjs/card/card.js.map +1 -1
  72. package/cjs/card/card.styles_1gh9gs3.css +2 -2
  73. package/cjs/checkbox/checkbox.js.map +1 -1
  74. package/cjs/checkbox/checkbox.styles_gm5bu1.css +2 -2
  75. package/cjs/countdown-timer/countdown-timer.js.map +1 -1
  76. package/cjs/countdown-timer/countdown-timer.styles_ipn1b0.css +2 -2
  77. package/cjs/dashed-border/dashed-border.js.map +1 -1
  78. package/cjs/dashed-border/dashed-border.styles_zszoox.css +2 -2
  79. package/cjs/data-table/data-table.js +1 -1
  80. package/cjs/data-table/data-table.js.map +1 -1
  81. package/cjs/data-table/data-table.styles.js +1 -1
  82. package/cjs/data-table/data-table.styles.js.map +1 -1
  83. package/cjs/data-table/data-table.styles_rxganh.css +27 -0
  84. package/cjs/date-input/date-input.js.map +1 -1
  85. package/cjs/date-input/date-input.styles_1r5kcc7.css +1 -1
  86. package/cjs/date-navigator/date-navigator.js.map +1 -1
  87. package/cjs/date-navigator/date-navigator.styles_wokh56.css +2 -2
  88. package/cjs/date-range-input/date-range-input.js.map +1 -1
  89. package/cjs/date-range-input/date-range-input.styles_1s7ojnj.css +2 -2
  90. package/cjs/divider/divider.js.map +1 -1
  91. package/cjs/divider/divider.styles_1xpzh8p.css +2 -2
  92. package/cjs/drawer/drawer.js.map +1 -1
  93. package/cjs/drawer/drawer.styles_94hx3y.css +2 -2
  94. package/cjs/e-signature/e-signature-canvas.js +1 -1
  95. package/cjs/e-signature/e-signature-canvas.js.map +1 -1
  96. package/cjs/e-signature/e-signature.js.map +1 -1
  97. package/cjs/e-signature/e-signature.styles_lukd9f.css +2 -2
  98. package/cjs/error-display/error-display.js.map +1 -1
  99. package/cjs/error-display/error-display.styles_d3tql1.css +2 -2
  100. package/cjs/external/dompurify/dist/purify.es.js +3 -3
  101. package/cjs/external/dompurify/dist/purify.es.js.map +1 -1
  102. package/cjs/external/lodash/_setCacheHas.js.map +1 -1
  103. package/cjs/external/lodash/lodash.js +1 -1
  104. package/cjs/external/lodash/lodash.js.map +1 -1
  105. package/cjs/feedback-rating/feedback-rating-stars-container.styles_dmi8z9.css +2 -2
  106. package/cjs/feedback-rating/feedback-rating.js.map +1 -1
  107. package/cjs/feedback-rating/feedback-rating.styles_1kdklb6.css +2 -2
  108. package/cjs/file-download/file-download.js.map +1 -1
  109. package/cjs/file-download/file-download.styles_iggk8q.css +2 -2
  110. package/cjs/file-download/file-list-card/file-list-card.styles.js +1 -1
  111. package/cjs/file-download/file-list-card/file-list-card.styles.js.map +1 -1
  112. package/{file-download/file-list-card/file-list-card.styles_oom8ii.css → cjs/file-download/file-list-card/file-list-card.styles_18j2gut.css} +3 -3
  113. package/cjs/file-upload/dropzone.styles_1pllsau.css +2 -2
  114. package/cjs/file-upload/file-item-edit.js +1 -1
  115. package/cjs/file-upload/file-item-edit.js.map +1 -1
  116. package/cjs/file-upload/file-item-edit.styles.js +1 -1
  117. package/cjs/file-upload/file-item-edit.styles.js.map +1 -1
  118. package/cjs/file-upload/{file-item-edit.styles_1qbpbxj.css → file-item-edit.styles_19bvztn.css} +6 -5
  119. package/cjs/file-upload/file-list/file-list.js +1 -1
  120. package/cjs/file-upload/file-list/file-list.js.map +1 -1
  121. package/cjs/file-upload/file-list/file-list.styles.js +1 -1
  122. package/cjs/file-upload/file-list/file-list.styles.js.map +1 -1
  123. package/cjs/file-upload/file-list/file-list.styles_1w7so98.css +3 -0
  124. package/cjs/file-upload/file-list-item/file-list-item-thumbnail.styles_1y4si19.css +2 -2
  125. package/cjs/file-upload/file-list-item/file-list-item.js +1 -1
  126. package/cjs/file-upload/file-list-item/file-list-item.js.map +1 -1
  127. package/cjs/file-upload/file-list-item/file-list-item.styles.js +1 -1
  128. package/cjs/file-upload/file-list-item/file-list-item.styles.js.map +1 -1
  129. package/cjs/file-upload/file-list-item/file-list-item.styles_o8000f.css +17 -0
  130. package/cjs/file-upload/file-upload.js +1 -1
  131. package/cjs/file-upload/file-upload.js.map +1 -1
  132. package/cjs/file-upload/file-upload.styles_9ffwcd.css +2 -2
  133. package/cjs/filter/addons/filter-item-checkbox.styles_7degw7.css +2 -2
  134. package/cjs/filter/filter-item-page.styles_17ewfrz.css +1 -1
  135. package/cjs/filter/filter-item.js.map +1 -1
  136. package/cjs/filter/filter-item.styles_cphjnj.css +2 -2
  137. package/cjs/filter/filter-modal.styles_qw3xlg.css +2 -2
  138. package/cjs/filter/filter-sidebar.styles_1otwpjl.css +2 -2
  139. package/cjs/filter/filter.js.map +1 -1
  140. package/cjs/filter/filter.styles_1ykijwm.css +2 -2
  141. package/cjs/footer/footer-download-app.styles_1v1j2us.css +2 -2
  142. package/cjs/footer/footer-resource-addon.styles_1jepb1d.css +2 -2
  143. package/cjs/footer/footer.js +1 -1
  144. package/cjs/footer/footer.js.map +1 -1
  145. package/cjs/footer/footer.styles_1msorhc.css +2 -2
  146. package/cjs/form/form-label-addon.js +1 -1
  147. package/cjs/form/form-label-addon.js.map +1 -1
  148. package/cjs/form/form-label-addon.styles_b00z8p.css +1 -1
  149. package/cjs/form/form-label.styles.js +1 -1
  150. package/cjs/form/form-label.styles.js.map +1 -1
  151. package/cjs/form/{form-label.styles_11r0652.css → form-label.styles_1nbe0bm.css} +2 -2
  152. package/cjs/form/form-textarea.styles_3p9qoy.css +2 -2
  153. package/cjs/form/form-wrapper.styles_199rslu.css +1 -1
  154. package/cjs/form/index.js +1 -1
  155. package/cjs/form/index.js.map +1 -1
  156. package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.js +1 -1
  157. package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.js.map +1 -1
  158. package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.styles_vc6y5c.css +2 -2
  159. package/cjs/fullscreen-image-carousel/stateful-image.styles_1xe8ypm.css +2 -2
  160. package/cjs/histogram-slider/histogram-slider.js.map +1 -1
  161. package/cjs/histogram-slider/histogram-slider.styles_wvd4w.css +2 -2
  162. package/cjs/image-button/image-button.js.map +1 -1
  163. package/cjs/image-button/image-button.styles_6n1qsr.css +2 -2
  164. package/cjs/index.js +1 -1
  165. package/cjs/input/input.js.map +1 -1
  166. package/cjs/input/input.styles_1cblor0.css +2 -2
  167. package/cjs/input-group/input-group-list-addon.styles_17iuqtw.css +2 -2
  168. package/cjs/input-group/input-group.js.map +1 -1
  169. package/cjs/input-group/input-group.styles_bqye6f.css +2 -2
  170. package/cjs/input-multi-select/input-multi-select.js.map +1 -1
  171. package/cjs/input-nested-multi-select/input-nested-multi-select.js.map +1 -1
  172. package/cjs/input-nested-select/input-nested-select.js.map +1 -1
  173. package/cjs/input-range-select/input-range-select.js.map +1 -1
  174. package/cjs/input-range-select/input-range-select.styles_adbrbm.css +2 -2
  175. package/cjs/input-range-slider/input-range-slider.js.map +1 -1
  176. package/cjs/input-range-slider/input-range-slider.styles_aljl2v.css +2 -2
  177. package/cjs/input-select/input-select.js.map +1 -1
  178. package/cjs/input-slider/input-slider.js.map +1 -1
  179. package/cjs/input-textarea/textarea-counter.styles_1n3wsnv.css +1 -1
  180. package/cjs/input-textarea/textarea.js.map +1 -1
  181. package/cjs/input-textarea/textarea.styles_22z4n3.css +2 -2
  182. package/cjs/language-switcher/dropdown-panel.styles_1qsjf8d.css +2 -2
  183. package/cjs/language-switcher/dropdown-variant.styles_1vrdfky.css +2 -2
  184. package/cjs/language-switcher/language-switcher.js.map +1 -1
  185. package/cjs/language-switcher/link-container-variant.styles_1iw6zux.css +2 -2
  186. package/cjs/layout/col-div.styles_16o6mwx.css +1 -1
  187. package/cjs/layout/container.styles_v70ec6.css +2 -2
  188. package/cjs/layout/index.js +1 -1
  189. package/cjs/layout/index.js.map +1 -1
  190. package/cjs/layout/section.styles_hstcaf.css +1 -1
  191. package/cjs/link-list/link-list.js.map +1 -1
  192. package/cjs/link-list/link-list.styles_m57vks.css +2 -2
  193. package/cjs/local-nav/local-nav-dropdown/local-nav-dropdown.js.map +1 -1
  194. package/cjs/local-nav/local-nav-dropdown/local-nav-dropdown.styles_uhd4xl.css +2 -2
  195. package/cjs/local-nav/local-nav-menu/local-nav-menu.js.map +1 -1
  196. package/cjs/local-nav/local-nav-menu/local-nav-menu.styles_pq19dh.css +2 -2
  197. package/cjs/markup/markup.js.map +1 -1
  198. package/cjs/markup/markup.style_1iu40x9.css +2 -2
  199. package/cjs/masked-input/masked-input.js.map +1 -1
  200. package/cjs/masked-input/masked-input.styles_1cm388a.css +2 -2
  201. package/cjs/masthead/masthead.js.map +1 -1
  202. package/cjs/masthead/masthead.styles_1huzon9.css +2 -2
  203. package/cjs/menu/menu-content.styles_p7ijll.css +2 -2
  204. package/cjs/menu/menu-item.styles_liyed8.css +2 -2
  205. package/cjs/menu/menu-link.styles_hfxoez.css +2 -2
  206. package/cjs/menu/menu-section.styles_g7my4d.css +2 -2
  207. package/cjs/menu/menu.js +1 -1
  208. package/cjs/menu/menu.js.map +1 -1
  209. package/cjs/modal/index.js.map +1 -1
  210. package/cjs/modal/modal-box.js +1 -1
  211. package/cjs/modal/modal-box.js.map +1 -1
  212. package/cjs/modal/modal-box.styles_y52cts.css +2 -2
  213. package/cjs/modal/modal.styles_1lbblx6.css +2 -2
  214. package/cjs/modal-v2/index.js +1 -1
  215. package/cjs/modal-v2/index.js.map +1 -1
  216. package/cjs/modal-v2/modal-v2.js +1 -1
  217. package/cjs/modal-v2/modal-v2.js.map +1 -1
  218. package/cjs/modal-v2/modal-v2.styles_a8gv5i.css +2 -2
  219. package/cjs/modal-v2/slots/card.js +1 -1
  220. package/cjs/modal-v2/slots/card.js.map +1 -1
  221. package/cjs/modal-v2/slots/slot-styles_13sd376.css +2 -2
  222. package/cjs/navbar/brand.styles_zcgddp.css +1 -1
  223. package/cjs/navbar/drawer.js +1 -1
  224. package/cjs/navbar/drawer.js.map +1 -1
  225. package/cjs/navbar/drawer.styles_7hnxp5.css +2 -2
  226. package/cjs/navbar/menu.styles_gdpqc.css +2 -2
  227. package/cjs/navbar/navbar-action-buttons.styles_1vpm0nk.css +2 -2
  228. package/cjs/navbar/navbar-items.styles_1i3ltot.css +2 -2
  229. package/cjs/navbar/navbar.js +1 -1
  230. package/cjs/navbar/navbar.js.map +1 -1
  231. package/cjs/navbar/navbar.styles_koy0c7.css +2 -2
  232. package/cjs/notification-banner/notification-banner-hoc.js.map +1 -1
  233. package/cjs/notification-banner/notification-banner.js.map +1 -1
  234. package/cjs/notification-banner/notification-banner.styles_uxlysy.css +2 -2
  235. package/cjs/otp-input/otp-input.js.map +1 -1
  236. package/cjs/otp-input/otp-input.styles_5sbutl.css +2 -2
  237. package/cjs/otp-verification/contact-input-section.styles_odrjvt.css +2 -2
  238. package/cjs/otp-verification/otp-verification.js.map +1 -1
  239. package/cjs/otp-verification/otp-verification.styles_dg9bm8.css +1 -1
  240. package/cjs/otp-verification/thumbnail/thumbnail.styles_shqylh.css +2 -2
  241. package/cjs/otp-verification/verification-section.styles_x8jj.css +2 -2
  242. package/cjs/overlay/overlay.js +1 -1
  243. package/cjs/overlay/overlay.js.map +1 -1
  244. package/cjs/overlay/overlay.styles_12wym18.css +2 -2
  245. package/cjs/pagination/pagination.js.map +1 -1
  246. package/cjs/pagination/pagination.styles_6bcgva.css +2 -2
  247. package/cjs/phone-number-input/phone-number-input.js.map +1 -1
  248. package/cjs/pill/pill.js.map +1 -1
  249. package/cjs/pill/pill.styles_xwrniu.css +2 -2
  250. package/cjs/popover/popover-inline/popover-inline.js.map +1 -1
  251. package/cjs/popover/popover-inline/popover-inline.styles_bkopnt.css +2 -2
  252. package/cjs/popover/popover-trigger.js.map +1 -1
  253. package/cjs/popover/popover-trigger.styles_8zokig.css +1 -1
  254. package/cjs/popover/popover.js +1 -1
  255. package/cjs/popover/popover.js.map +1 -1
  256. package/cjs/popover/popover.styles_ujnf0h.css +2 -2
  257. package/cjs/predictive-text-input/predictive-text-input.js.map +1 -1
  258. package/cjs/progress-indicator/progress-indicator.js.map +1 -1
  259. package/cjs/progress-indicator/progress-indicator.styles_1c038s4.css +2 -2
  260. package/cjs/radio-button/radio-button.js.map +1 -1
  261. package/cjs/radio-button/radio-button.styles_1c4v6v.css +2 -2
  262. package/cjs/schedule/schedule-day-view/schedule-day-view.styles_8ti149.css +2 -2
  263. package/cjs/schedule/schedule-header/schedule-header.js +1 -1
  264. package/cjs/schedule/schedule-header/schedule-header.js.map +1 -1
  265. package/cjs/schedule/schedule-header/schedule-header.styles_1n2u5vj.css +2 -2
  266. package/cjs/schedule/schedule-week-view/schedule-week-view.styles_x7x50m.css +2 -2
  267. package/cjs/schedule/schedule-week-view/time-cell.styles_1sorjz8.css +2 -2
  268. package/cjs/schedule/schedule.js.map +1 -1
  269. package/cjs/schedule/schedule.styles_fdy5a1.css +2 -2
  270. package/cjs/schedule/shared/with-optional-popover.js +1 -1
  271. package/cjs/schedule/shared/with-optional-popover.js.map +1 -1
  272. package/cjs/schedule/shared/with-optional-popover.styles_7mv3p2.css +1 -1
  273. package/cjs/schedule/time-indicator/time-indicator.styles_1eaxyes.css +2 -2
  274. package/cjs/select-histogram/select-histogram.js.map +1 -1
  275. package/cjs/select-histogram/select-histogram.styles_n260dy.css +2 -2
  276. package/cjs/shared/accessibility/index_13g9vp.css +1 -1
  277. package/cjs/shared/clickable-icon/clickable-icon.styles_1v2imml.css +2 -2
  278. package/cjs/shared/component-loading-spinner/component-loading-spinner.styles_15eq02i.css +2 -2
  279. package/cjs/shared/dropdown-list/dropdown-label.styles_mloii0.css +2 -2
  280. package/cjs/shared/dropdown-list/dropdown-list.styles_konwm.css +2 -2
  281. package/cjs/shared/dropdown-list/dropdown-search.styles_1hc1gkh.css +2 -2
  282. package/cjs/shared/dropdown-list/expandable-element.styles_rkkvqr.css +2 -2
  283. package/cjs/shared/dropdown-list/nested-dropdown-list.styles_wdhxoe.css +2 -2
  284. package/cjs/shared/dropdown-wrapper/dropdown-wrapper.styles_15hwwoj.css +2 -2
  285. package/cjs/shared/fade-wrapper/fade-wrapper.styles_16iug7l.css +2 -2
  286. package/cjs/shared/image-placeholder/image-placeholder.styles_44nwil.css +1 -1
  287. package/cjs/shared/input-wrapper/input-wrapper.styles_je6maw.css +2 -2
  288. package/cjs/shared/internal-calendar/calendar-dropdown.styles_wybjai.css +1 -1
  289. package/cjs/shared/internal-calendar/calendar-manager.js +1 -1
  290. package/cjs/shared/internal-calendar/calendar-manager.js.map +1 -1
  291. package/cjs/shared/internal-calendar/calendar-manager.styles.js +1 -1
  292. package/cjs/shared/internal-calendar/calendar-manager.styles.js.map +1 -1
  293. package/cjs/shared/internal-calendar/{calendar-manager.styles_1iuq5zw.css → calendar-manager.styles_1njwkj2.css} +3 -3
  294. package/cjs/shared/internal-calendar/day-cell/day-cell.styles_1t5oqc1.css +2 -2
  295. package/cjs/shared/internal-calendar/internal-calendar-month.styles_14oh57f.css +2 -2
  296. package/cjs/shared/internal-calendar/internal-calendar-year.styles_therlc.css +2 -2
  297. package/cjs/shared/internal-calendar/internal-calendar.styles_gnc3eq.css +1 -1
  298. package/cjs/shared/internal-calendar/standard/standard-calendar-day-view.styles_1bw26au.css +2 -2
  299. package/cjs/shared/progress-bar/progress-bar.styles_125ri7a.css +1 -1
  300. package/cjs/shared/range-input-inner-container/range-input-inner-container.styles_1v61utg.css +2 -2
  301. package/cjs/shared/standalone-date-input/standalone-date-input.styles_157qo89.css +2 -2
  302. package/cjs/shared/time-slot/time-slot.styles_18s0to7.css +2 -2
  303. package/cjs/shared/timepicker-dropdown/timepicker-dropdown.styles_119l6k6.css +2 -2
  304. package/cjs/sidenav/sidenav-drawer-item.styles_1ljnyx2.css +2 -2
  305. package/cjs/sidenav/sidenav-drawer-subitem.styles_2y58kf.css +1 -1
  306. package/cjs/sidenav/sidenav-group.styles_1x604sw.css +2 -2
  307. package/cjs/sidenav/sidenav-item.styles_lqw3kh.css +2 -2
  308. package/cjs/sidenav/sidenav.js.map +1 -1
  309. package/cjs/sidenav/sidenav.styles_1vxezie.css +2 -2
  310. package/cjs/singpass-button/singpass-button.js.map +1 -1
  311. package/cjs/singpass-button/singpass-button.styles_1miyex3.css +2 -2
  312. package/cjs/smart-app-banner/smart-app-banner.js.map +1 -1
  313. package/cjs/smart-app-banner/smart-app-banner.styles_15u6yv4.css +2 -2
  314. package/cjs/tab/tab-link-chain.styles_49got4.css +2 -2
  315. package/cjs/tab/tab.js.map +1 -1
  316. package/cjs/tab/tab.styles_1najffw.css +1 -1
  317. package/cjs/table/table.js.map +1 -1
  318. package/cjs/table/table.styles.js +1 -1
  319. package/cjs/table/table.styles.js.map +1 -1
  320. package/cjs/table/{table.styles_1af5ipv.css → table.styles_1vjx31g.css} +2 -2
  321. package/cjs/tag/tag.js.map +1 -1
  322. package/cjs/tag/tag.style_d98c53.css +2 -2
  323. package/cjs/text-list/index.js.map +1 -1
  324. package/cjs/text-list/text-list.styles_w3fvyt.css +2 -2
  325. package/cjs/theme/theme-provider/breakpoint.js +1 -1
  326. package/cjs/theme/theme-provider/breakpoint.js.map +1 -1
  327. package/cjs/theme/theme-provider/hooks.js.map +1 -1
  328. package/cjs/theme/theme-provider/index.js.map +1 -1
  329. package/cjs/theme/tokens/border.js.map +1 -1
  330. package/cjs/theme/tokens/breakpoint.js.map +1 -1
  331. package/cjs/theme/tokens/colour.js.map +1 -1
  332. package/cjs/theme/tokens/component.js.map +1 -1
  333. package/cjs/theme/tokens/font.js.map +1 -1
  334. package/cjs/theme/tokens/media-query.js.map +1 -1
  335. package/cjs/theme/tokens/motion.js.map +1 -1
  336. package/cjs/theme/tokens/radius.js.map +1 -1
  337. package/cjs/theme/tokens/shadow.js.map +1 -1
  338. package/cjs/theme/tokens/spacing.js.map +1 -1
  339. package/cjs/theme/types.js +1 -1
  340. package/cjs/theme/types.js.map +1 -1
  341. package/cjs/theme/utils/css-variable.js.map +1 -1
  342. package/cjs/theme/utils/font.js.map +1 -1
  343. package/cjs/theme/utils/use-apply-styles.js +1 -1
  344. package/cjs/theme/utils/use-apply-styles.js.map +1 -1
  345. package/cjs/theme/utils/use-design-token-override.js +2 -0
  346. package/cjs/theme/utils/use-design-token-override.js.map +1 -0
  347. package/cjs/theme/utils/use-design-token.js.map +1 -1
  348. package/cjs/theme/utils/use-media-query.js.map +1 -1
  349. package/cjs/time-range-picker/combobox-picker/combobox-picker.js +1 -1
  350. package/cjs/time-range-picker/combobox-picker/combobox-picker.js.map +1 -1
  351. package/cjs/time-range-picker/combobox-picker/combobox-picker.styles_7i9vso.css +1 -1
  352. package/cjs/time-range-picker/common.styles.js +1 -1
  353. package/cjs/time-range-picker/common.styles.js.map +1 -1
  354. package/cjs/time-range-picker/{common.styles_1qwp4xa.css → common.styles_cnkkax.css} +2 -1
  355. package/cjs/time-range-picker/dial-picker/dial-picker.js +1 -1
  356. package/cjs/time-range-picker/dial-picker/dial-picker.js.map +1 -1
  357. package/cjs/time-range-picker/time-range-picker.js.map +1 -1
  358. package/cjs/time-slot-bar/time-slot-bar.js.map +1 -1
  359. package/cjs/time-slot-bar/time-slot-bar.styles_wigbyd.css +2 -2
  360. package/cjs/time-slot-bar-week/time-slot-bar-week-days.styles_evdvs9.css +2 -2
  361. package/cjs/time-slot-bar-week/time-slot-bar-week.js.map +1 -1
  362. package/cjs/time-slot-bar-week/time-slot-bar-week.styles_11ybf42.css +1 -1
  363. package/cjs/time-slot-week-view/time-slot-week-days.styles_1h21vyw.css +2 -2
  364. package/cjs/time-slot-week-view/time-slot-week-view.js.map +1 -1
  365. package/cjs/time-slot-week-view/time-slot-week-view.styles_gqgsw2.css +1 -1
  366. package/cjs/timeline/timeline.js.map +1 -1
  367. package/cjs/timeline/timeline.styles_1jxzik4.css +2 -2
  368. package/cjs/timepicker/timepicker.js +1 -1
  369. package/cjs/timepicker/timepicker.js.map +1 -1
  370. package/cjs/timepicker/timepicker.styles.js +1 -1
  371. package/cjs/timepicker/timepicker.styles.js.map +1 -1
  372. package/cjs/timepicker/timepicker.styles_lyizvq.css +2 -0
  373. package/cjs/timetable/timetable-header/timetable-header.styles_11gl1h4.css +2 -2
  374. package/cjs/timetable/timetable-row/row-bar.styles_1x0vrsz.css +1 -1
  375. package/cjs/timetable/timetable-row/row-cell.styles_y1dl5j.css +2 -2
  376. package/cjs/timetable/timetable-row/with-optional-popover.js +1 -1
  377. package/cjs/timetable/timetable-row/with-optional-popover.js.map +1 -1
  378. package/cjs/timetable/timetable.js +1 -1
  379. package/cjs/timetable/timetable.js.map +1 -1
  380. package/cjs/timetable/timetable.styles_7rp8kz.css +2 -2
  381. package/cjs/toast/toast.js.map +1 -1
  382. package/cjs/toast/toast.styles_1e0l60w.css +2 -2
  383. package/cjs/toggle/toggle-icon.styles_ba71y.css +2 -2
  384. package/cjs/toggle/toggle.js.map +1 -1
  385. package/cjs/toggle/toggle.styles_1t5qrye.css +2 -2
  386. package/cjs/typography/index.js.map +1 -1
  387. package/cjs/typography/typography-text.styles_1734x2k.css +2 -2
  388. package/cjs/typography/typography.styles.js +1 -1
  389. package/cjs/typography/typography.styles.js.map +1 -1
  390. package/cjs/typography/{typography.styles_1155j4c.css → typography.styles_1wd82dn.css} +2 -2
  391. package/cjs/uneditable-section/index.js.map +1 -1
  392. package/cjs/uneditable-section/section-item.styles_mwx8ht.css +2 -2
  393. package/cjs/uneditable-section/uneditable-section.js +1 -1
  394. package/cjs/uneditable-section/uneditable-section.js.map +1 -1
  395. package/cjs/uneditable-section/uneditable-section.styles_aj9zun.css +2 -2
  396. package/cjs/unit-number/unit-number-input.js.map +1 -1
  397. package/cjs/unit-number/unit-number-input.styles_8yizj.css +2 -2
  398. package/cjs/util/merge-refs.js.map +1 -1
  399. package/cjs/util/use-throttle.js +2 -0
  400. package/cjs/util/use-throttle.js.map +1 -0
  401. package/countdown-timer/countdown-timer.d.ts +6 -0
  402. package/countdown-timer/countdown-timer.js.map +1 -1
  403. package/countdown-timer/countdown-timer.styles_ipn1b0.css +2 -2
  404. package/countdown-timer/types.d.ts +55 -11
  405. package/dashed-border/dashed-border.d.ts +6 -0
  406. package/dashed-border/dashed-border.js.map +1 -1
  407. package/dashed-border/dashed-border.styles_zszoox.css +2 -2
  408. package/dashed-border/types.d.ts +27 -5
  409. package/data-table/data-table.d.ts +8 -0
  410. package/data-table/data-table.js +1 -1
  411. package/data-table/data-table.js.map +1 -1
  412. package/data-table/data-table.styles.d.ts +2 -1
  413. package/data-table/data-table.styles.js +1 -1
  414. package/data-table/data-table.styles.js.map +1 -1
  415. package/data-table/data-table.styles_rxganh.css +27 -0
  416. package/data-table/types.d.ts +58 -12
  417. package/date-input/date-input.d.ts +5 -0
  418. package/date-input/date-input.js.map +1 -1
  419. package/date-input/date-input.styles_1r5kcc7.css +1 -1
  420. package/date-input/types.d.ts +32 -16
  421. package/date-navigator/date-navigator.d.ts +6 -0
  422. package/date-navigator/date-navigator.js.map +1 -1
  423. package/date-navigator/date-navigator.styles_wokh56.css +2 -2
  424. package/date-navigator/types.d.ts +44 -7
  425. package/date-range-input/date-range-input.d.ts +4 -0
  426. package/date-range-input/date-range-input.js.map +1 -1
  427. package/date-range-input/date-range-input.styles_1s7ojnj.css +2 -2
  428. package/date-range-input/types.d.ts +50 -14
  429. package/divider/divider.d.ts +6 -0
  430. package/divider/divider.js.map +1 -1
  431. package/divider/divider.styles_1xpzh8p.css +2 -2
  432. package/divider/types.d.ts +27 -4
  433. package/drawer/drawer.d.ts +7 -0
  434. package/drawer/drawer.js.map +1 -1
  435. package/drawer/drawer.styles_94hx3y.css +2 -2
  436. package/drawer/types.d.ts +16 -4
  437. package/e-signature/e-signature-canvas.js +1 -1
  438. package/e-signature/e-signature-canvas.js.map +1 -1
  439. package/e-signature/e-signature.d.ts +5 -0
  440. package/e-signature/e-signature.js.map +1 -1
  441. package/e-signature/e-signature.styles_lukd9f.css +2 -2
  442. package/e-signature/types.d.ts +23 -1
  443. package/error-display/error-display.d.ts +7 -0
  444. package/error-display/error-display.js.map +1 -1
  445. package/error-display/error-display.styles_d3tql1.css +2 -2
  446. package/error-display/types.d.ts +36 -6
  447. package/external/dompurify/dist/purify.es.js +2 -2
  448. package/external/dompurify/dist/purify.es.js.map +1 -1
  449. package/external/lodash/_setCacheHas.js.map +1 -1
  450. package/external/lodash/lodash.js +1 -1
  451. package/external/lodash/lodash.js.map +1 -1
  452. package/feedback-rating/feedback-rating-stars-container.styles_dmi8z9.css +2 -2
  453. package/feedback-rating/feedback-rating.d.ts +6 -0
  454. package/feedback-rating/feedback-rating.js.map +1 -1
  455. package/feedback-rating/feedback-rating.styles_1kdklb6.css +2 -2
  456. package/feedback-rating/types.d.ts +29 -0
  457. package/file-download/file-download.d.ts +6 -0
  458. package/file-download/file-download.js.map +1 -1
  459. package/file-download/file-download.styles_iggk8q.css +2 -2
  460. package/file-download/file-list-card/file-list-card.styles.js +1 -1
  461. package/file-download/file-list-card/file-list-card.styles.js.map +1 -1
  462. package/{cjs/file-download/file-list-card/file-list-card.styles_oom8ii.css → file-download/file-list-card/file-list-card.styles_18j2gut.css} +3 -3
  463. package/file-download/types.d.ts +44 -11
  464. package/file-upload/dropzone.styles_1pllsau.css +2 -2
  465. package/file-upload/file-item-edit.d.ts +4 -1
  466. package/file-upload/file-item-edit.js +1 -1
  467. package/file-upload/file-item-edit.js.map +1 -1
  468. package/file-upload/file-item-edit.styles.d.ts +1 -0
  469. package/file-upload/file-item-edit.styles.js +1 -1
  470. package/file-upload/file-item-edit.styles.js.map +1 -1
  471. package/file-upload/{file-item-edit.styles_1qbpbxj.css → file-item-edit.styles_19bvztn.css} +6 -5
  472. package/file-upload/file-list/file-list.d.ts +3 -0
  473. package/file-upload/file-list/file-list.js +1 -1
  474. package/file-upload/file-list/file-list.js.map +1 -1
  475. package/file-upload/file-list/file-list.styles.js +1 -1
  476. package/file-upload/file-list/file-list.styles.js.map +1 -1
  477. package/file-upload/file-list/file-list.styles_1w7so98.css +3 -0
  478. package/file-upload/file-list-item/file-list-item-thumbnail.styles_1y4si19.css +2 -2
  479. package/file-upload/file-list-item/file-list-item.d.ts +3 -1
  480. package/file-upload/file-list-item/file-list-item.js +1 -1
  481. package/file-upload/file-list-item/file-list-item.js.map +1 -1
  482. package/file-upload/file-list-item/file-list-item.styles.d.ts +3 -0
  483. package/file-upload/file-list-item/file-list-item.styles.js +1 -1
  484. package/file-upload/file-list-item/file-list-item.styles.js.map +1 -1
  485. package/file-upload/file-list-item/file-list-item.styles_o8000f.css +17 -0
  486. package/file-upload/file-upload.d.ts +2 -1
  487. package/file-upload/file-upload.js +1 -1
  488. package/file-upload/file-upload.js.map +1 -1
  489. package/file-upload/file-upload.styles_9ffwcd.css +2 -2
  490. package/file-upload/types.d.ts +124 -20
  491. package/filter/addons/filter-item-checkbox.styles_7degw7.css +2 -2
  492. package/filter/filter-item-page.styles_17ewfrz.css +1 -1
  493. package/filter/filter-item.js.map +1 -1
  494. package/filter/filter-item.styles_cphjnj.css +2 -2
  495. package/filter/filter-modal.styles_qw3xlg.css +2 -2
  496. package/filter/filter-sidebar.styles_1otwpjl.css +2 -2
  497. package/filter/filter.d.ts +21 -0
  498. package/filter/filter.js.map +1 -1
  499. package/filter/filter.styles_1ykijwm.css +2 -2
  500. package/filter/types.d.ts +157 -21
  501. package/footer/footer-download-app.styles_1v1j2us.css +2 -2
  502. package/footer/footer-resource-addon.styles_1jepb1d.css +2 -2
  503. package/footer/footer.d.ts +8 -1
  504. package/footer/footer.js +1 -1
  505. package/footer/footer.js.map +1 -1
  506. package/footer/footer.styles_1msorhc.css +2 -2
  507. package/footer/types.d.ts +55 -4
  508. package/form/form-label-addon.js +1 -1
  509. package/form/form-label-addon.js.map +1 -1
  510. package/form/form-label-addon.styles_b00z8p.css +1 -1
  511. package/form/form-label.styles.js +1 -1
  512. package/form/form-label.styles.js.map +1 -1
  513. package/form/{form-label.styles_11r0652.css → form-label.styles_1nbe0bm.css} +2 -2
  514. package/form/form-textarea.styles_3p9qoy.css +2 -2
  515. package/form/form-wrapper.styles_199rslu.css +1 -1
  516. package/form/index.d.ts +65 -8
  517. package/form/index.js +1 -1
  518. package/form/index.js.map +1 -1
  519. package/form/types.d.ts +155 -6
  520. package/fullscreen-image-carousel/fullscreen-image-carousel.d.ts +7 -0
  521. package/fullscreen-image-carousel/fullscreen-image-carousel.js +1 -1
  522. package/fullscreen-image-carousel/fullscreen-image-carousel.js.map +1 -1
  523. package/fullscreen-image-carousel/fullscreen-image-carousel.styles_vc6y5c.css +2 -2
  524. package/fullscreen-image-carousel/stateful-image.styles_1xe8ypm.css +2 -2
  525. package/fullscreen-image-carousel/types.d.ts +91 -3
  526. package/histogram-slider/histogram-slider.d.ts +6 -0
  527. package/histogram-slider/histogram-slider.js.map +1 -1
  528. package/histogram-slider/histogram-slider.styles_wvd4w.css +2 -2
  529. package/histogram-slider/types.d.ts +63 -3
  530. package/image-button/image-button.d.ts +6 -0
  531. package/image-button/image-button.js.map +1 -1
  532. package/image-button/image-button.styles_6n1qsr.css +2 -2
  533. package/image-button/types.d.ts +11 -1
  534. package/index.d.ts +0 -1
  535. package/index.js +1 -1
  536. package/input/input.d.ts +6 -0
  537. package/input/input.js.map +1 -1
  538. package/input/input.styles_1cblor0.css +2 -2
  539. package/input/types.d.ts +38 -2
  540. package/input-group/input-group-list-addon.styles_17iuqtw.css +2 -2
  541. package/input-group/input-group.d.ts +7 -0
  542. package/input-group/input-group.js.map +1 -1
  543. package/input-group/input-group.styles_bqye6f.css +2 -2
  544. package/input-group/types.d.ts +84 -8
  545. package/input-multi-select/input-multi-select.d.ts +6 -0
  546. package/input-multi-select/input-multi-select.js.map +1 -1
  547. package/input-multi-select/types.d.ts +46 -5
  548. package/input-nested-multi-select/input-nested-multi-select.d.ts +8 -0
  549. package/input-nested-multi-select/input-nested-multi-select.js.map +1 -1
  550. package/input-nested-multi-select/types.d.ts +35 -5
  551. package/input-nested-select/input-nested-select.d.ts +9 -2
  552. package/input-nested-select/input-nested-select.js.map +1 -1
  553. package/input-nested-select/types.d.ts +77 -8
  554. package/input-range-select/input-range-select.d.ts +6 -0
  555. package/input-range-select/input-range-select.js.map +1 -1
  556. package/input-range-select/input-range-select.styles_adbrbm.css +2 -2
  557. package/input-range-select/types.d.ts +68 -1
  558. package/input-range-slider/input-range-slider.d.ts +7 -0
  559. package/input-range-slider/input-range-slider.js.map +1 -1
  560. package/input-range-slider/input-range-slider.styles_aljl2v.css +2 -2
  561. package/input-range-slider/types.d.ts +91 -6
  562. package/input-select/input-select.d.ts +5 -0
  563. package/input-select/input-select.js.map +1 -1
  564. package/input-select/types.d.ts +70 -14
  565. package/input-slider/input-slider.d.ts +6 -0
  566. package/input-slider/input-slider.js.map +1 -1
  567. package/input-slider/types.d.ts +21 -2
  568. package/input-textarea/textarea-counter.styles_1n3wsnv.css +1 -1
  569. package/input-textarea/textarea.d.ts +3 -0
  570. package/input-textarea/textarea.js.map +1 -1
  571. package/input-textarea/textarea.styles_22z4n3.css +2 -2
  572. package/input-textarea/types.d.ts +24 -1
  573. package/language-switcher/dropdown-panel.styles_1qsjf8d.css +2 -2
  574. package/language-switcher/dropdown-variant.styles_1vrdfky.css +2 -2
  575. package/language-switcher/language-switcher.d.ts +6 -0
  576. package/language-switcher/language-switcher.js.map +1 -1
  577. package/language-switcher/link-container-variant.styles_1iw6zux.css +2 -2
  578. package/language-switcher/types.d.ts +23 -0
  579. package/layout/col-div.styles_16o6mwx.css +1 -1
  580. package/layout/container.styles_v70ec6.css +2 -2
  581. package/layout/index.d.ts +16 -2
  582. package/layout/index.js +1 -1
  583. package/layout/index.js.map +1 -1
  584. package/layout/section.styles_hstcaf.css +1 -1
  585. package/layout/types.d.ts +61 -3
  586. package/link-list/internal-types.d.ts +57 -3
  587. package/link-list/link-list.d.ts +6 -0
  588. package/link-list/link-list.js.map +1 -1
  589. package/link-list/link-list.styles_m57vks.css +2 -2
  590. package/link-list/types.d.ts +3 -0
  591. package/local-nav/local-nav-dropdown/local-nav-dropdown.d.ts +11 -0
  592. package/local-nav/local-nav-dropdown/local-nav-dropdown.js.map +1 -1
  593. package/local-nav/local-nav-dropdown/local-nav-dropdown.styles_uhd4xl.css +2 -2
  594. package/local-nav/local-nav-menu/local-nav-menu.d.ts +6 -0
  595. package/local-nav/local-nav-menu/local-nav-menu.js.map +1 -1
  596. package/local-nav/local-nav-menu/local-nav-menu.styles_pq19dh.css +2 -2
  597. package/local-nav/types.d.ts +51 -0
  598. package/markup/markup.d.ts +6 -0
  599. package/markup/markup.js.map +1 -1
  600. package/markup/markup.style_1iu40x9.css +2 -2
  601. package/markup/types.d.ts +6 -2
  602. package/masked-input/masked-input.d.ts +6 -0
  603. package/masked-input/masked-input.js.map +1 -1
  604. package/masked-input/masked-input.styles_1cm388a.css +2 -2
  605. package/masked-input/types.d.ts +83 -8
  606. package/masthead/masthead.d.ts +6 -0
  607. package/masthead/masthead.js.map +1 -1
  608. package/masthead/masthead.styles_1huzon9.css +2 -2
  609. package/masthead/types.d.ts +9 -0
  610. package/menu/menu-content.styles_p7ijll.css +2 -2
  611. package/menu/menu-item.styles_liyed8.css +2 -2
  612. package/menu/menu-link.styles_hfxoez.css +2 -2
  613. package/menu/menu-section.styles_g7my4d.css +2 -2
  614. package/menu/menu.d.ts +27 -4
  615. package/menu/menu.js +1 -1
  616. package/menu/menu.js.map +1 -1
  617. package/menu/types.d.ts +32 -0
  618. package/modal/index.d.ts +13 -0
  619. package/modal/index.js.map +1 -1
  620. package/modal/modal-box.js +1 -1
  621. package/modal/modal-box.js.map +1 -1
  622. package/modal/modal-box.styles_y52cts.css +2 -2
  623. package/modal/modal.styles_1lbblx6.css +2 -2
  624. package/modal/types.d.ts +54 -7
  625. package/modal-v2/index.d.ts +1 -15
  626. package/modal-v2/index.js +1 -1
  627. package/modal-v2/index.js.map +1 -1
  628. package/modal-v2/modal-v2.d.ts +32 -1
  629. package/modal-v2/modal-v2.js +1 -1
  630. package/modal-v2/modal-v2.js.map +1 -1
  631. package/modal-v2/modal-v2.styles_a8gv5i.css +2 -2
  632. package/modal-v2/slots/card.js +1 -1
  633. package/modal-v2/slots/card.js.map +1 -1
  634. package/modal-v2/slots/slot-styles_13sd376.css +2 -2
  635. package/modal-v2/types.d.ts +75 -8
  636. package/navbar/brand.styles_zcgddp.css +1 -1
  637. package/navbar/drawer.js +1 -1
  638. package/navbar/drawer.js.map +1 -1
  639. package/navbar/drawer.styles_7hnxp5.css +2 -2
  640. package/navbar/menu.styles_gdpqc.css +2 -2
  641. package/navbar/navbar-action-buttons.styles_1vpm0nk.css +2 -2
  642. package/navbar/navbar-items.styles_1i3ltot.css +2 -2
  643. package/navbar/navbar.d.ts +7 -0
  644. package/navbar/navbar.js +1 -1
  645. package/navbar/navbar.js.map +1 -1
  646. package/navbar/navbar.styles_koy0c7.css +2 -2
  647. package/navbar/types.d.ts +200 -13
  648. package/notification-banner/notification-banner-hoc.d.ts +6 -0
  649. package/notification-banner/notification-banner-hoc.js.map +1 -1
  650. package/notification-banner/notification-banner.d.ts +7 -0
  651. package/notification-banner/notification-banner.js.map +1 -1
  652. package/notification-banner/notification-banner.styles_uxlysy.css +2 -2
  653. package/notification-banner/types.d.ts +57 -2
  654. package/otp-input/otp-input.d.ts +7 -0
  655. package/otp-input/otp-input.js.map +1 -1
  656. package/otp-input/otp-input.styles_5sbutl.css +2 -2
  657. package/otp-input/types.d.ts +54 -11
  658. package/otp-verification/contact-input-section.styles_odrjvt.css +2 -2
  659. package/otp-verification/internal-types.d.ts +22 -5
  660. package/otp-verification/otp-verification.d.ts +6 -0
  661. package/otp-verification/otp-verification.js.map +1 -1
  662. package/otp-verification/otp-verification.styles_dg9bm8.css +1 -1
  663. package/otp-verification/thumbnail/thumbnail.styles_shqylh.css +2 -2
  664. package/otp-verification/types.d.ts +125 -6
  665. package/otp-verification/verification-section.styles_x8jj.css +2 -2
  666. package/overlay/overlay.d.ts +7 -0
  667. package/overlay/overlay.js +1 -1
  668. package/overlay/overlay.js.map +1 -1
  669. package/overlay/overlay.styles_12wym18.css +2 -2
  670. package/overlay/types.d.ts +57 -15
  671. package/package.json +1 -7
  672. package/pagination/pagination.d.ts +5 -0
  673. package/pagination/pagination.js.map +1 -1
  674. package/pagination/pagination.styles_6bcgva.css +2 -2
  675. package/pagination/types.d.ts +48 -0
  676. package/phone-number-input/phone-number-input.d.ts +7 -0
  677. package/phone-number-input/phone-number-input.js.map +1 -1
  678. package/phone-number-input/types.d.ts +78 -13
  679. package/pill/pill.d.ts +6 -0
  680. package/pill/pill.js.map +1 -1
  681. package/pill/pill.styles_xwrniu.css +2 -2
  682. package/pill/types.d.ts +19 -0
  683. package/popover/popover-inline/popover-inline.d.ts +5 -0
  684. package/popover/popover-inline/popover-inline.js.map +1 -1
  685. package/popover/popover-inline/popover-inline.styles_bkopnt.css +2 -2
  686. package/popover/popover-trigger.d.ts +6 -0
  687. package/popover/popover-trigger.js.map +1 -1
  688. package/popover/popover-trigger.styles_8zokig.css +1 -1
  689. package/popover/popover.d.ts +6 -0
  690. package/popover/popover.js +1 -1
  691. package/popover/popover.js.map +1 -1
  692. package/popover/popover.styles_ujnf0h.css +2 -2
  693. package/popover/types.d.ts +150 -3
  694. package/predictive-text-input/predictive-text-input.d.ts +6 -0
  695. package/predictive-text-input/predictive-text-input.js.map +1 -1
  696. package/predictive-text-input/types.d.ts +65 -11
  697. package/progress-indicator/progress-indicator.d.ts +7 -0
  698. package/progress-indicator/progress-indicator.js.map +1 -1
  699. package/progress-indicator/progress-indicator.styles_1c038s4.css +2 -2
  700. package/progress-indicator/types.d.ts +18 -0
  701. package/radio-button/radio-button.d.ts +5 -0
  702. package/radio-button/radio-button.js.map +1 -1
  703. package/radio-button/radio-button.styles_1c4v6v.css +2 -2
  704. package/radio-button/types.d.ts +11 -0
  705. package/schedule/internal-types.d.ts +18 -0
  706. package/schedule/schedule-day-view/schedule-day-view.styles_8ti149.css +2 -2
  707. package/schedule/schedule-day-view/types.d.ts +2 -1
  708. package/schedule/schedule-header/schedule-header.js +1 -1
  709. package/schedule/schedule-header/schedule-header.js.map +1 -1
  710. package/schedule/schedule-header/schedule-header.styles_1n2u5vj.css +2 -2
  711. package/schedule/schedule-week-view/schedule-week-view.styles_x7x50m.css +2 -2
  712. package/schedule/schedule-week-view/time-cell.styles_1sorjz8.css +2 -2
  713. package/schedule/schedule-week-view/types.d.ts +2 -1
  714. package/schedule/schedule.d.ts +3 -0
  715. package/schedule/schedule.js.map +1 -1
  716. package/schedule/schedule.styles_fdy5a1.css +2 -2
  717. package/schedule/shared/with-optional-popover.js +1 -1
  718. package/schedule/shared/with-optional-popover.js.map +1 -1
  719. package/schedule/shared/with-optional-popover.styles_7mv3p2.css +1 -1
  720. package/schedule/time-indicator/time-indicator.styles_1eaxyes.css +2 -2
  721. package/schedule/types.d.ts +129 -10
  722. package/select-histogram/select-histogram.d.ts +5 -0
  723. package/select-histogram/select-histogram.js.map +1 -1
  724. package/select-histogram/select-histogram.styles_n260dy.css +2 -2
  725. package/select-histogram/types.d.ts +57 -4
  726. package/shared/accessibility/index_13g9vp.css +1 -1
  727. package/shared/clickable-icon/clickable-icon.styles_1v2imml.css +2 -2
  728. package/shared/component-loading-spinner/component-loading-spinner.styles_15eq02i.css +2 -2
  729. package/shared/dropdown-list/dropdown-label.styles_mloii0.css +2 -2
  730. package/shared/dropdown-list/dropdown-list.styles_konwm.css +2 -2
  731. package/shared/dropdown-list/dropdown-search.styles_1hc1gkh.css +2 -2
  732. package/shared/dropdown-list/expandable-element.styles_rkkvqr.css +2 -2
  733. package/shared/dropdown-list/nested-dropdown-list.styles_wdhxoe.css +2 -2
  734. package/shared/dropdown-list/types.d.ts +52 -19
  735. package/shared/dropdown-wrapper/dropdown-wrapper.styles_15hwwoj.css +2 -2
  736. package/shared/dropdown-wrapper/types.d.ts +6 -0
  737. package/shared/fade-wrapper/fade-wrapper.styles_16iug7l.css +2 -2
  738. package/shared/image-placeholder/image-placeholder.styles_44nwil.css +1 -1
  739. package/shared/input-wrapper/input-wrapper.styles_je6maw.css +2 -2
  740. package/shared/internal-calendar/calendar-dropdown.styles_wybjai.css +1 -1
  741. package/shared/internal-calendar/calendar-manager.js +1 -1
  742. package/shared/internal-calendar/calendar-manager.js.map +1 -1
  743. package/shared/internal-calendar/calendar-manager.styles.js +1 -1
  744. package/shared/internal-calendar/calendar-manager.styles.js.map +1 -1
  745. package/shared/internal-calendar/{calendar-manager.styles_1iuq5zw.css → calendar-manager.styles_1njwkj2.css} +3 -3
  746. package/shared/internal-calendar/day-cell/day-cell.styles_1t5oqc1.css +2 -2
  747. package/shared/internal-calendar/internal-calendar-month.styles_14oh57f.css +2 -2
  748. package/shared/internal-calendar/internal-calendar-year.styles_therlc.css +2 -2
  749. package/shared/internal-calendar/internal-calendar.styles_gnc3eq.css +1 -1
  750. package/shared/internal-calendar/standard/standard-calendar-day-view.styles_1bw26au.css +2 -2
  751. package/shared/progress-bar/progress-bar.styles_125ri7a.css +1 -1
  752. package/shared/range-input-inner-container/range-input-inner-container.styles_1v61utg.css +2 -2
  753. package/shared/standalone-date-input/standalone-date-input.styles_157qo89.css +2 -2
  754. package/shared/time-slot/time-slot.styles_18s0to7.css +2 -2
  755. package/shared/timepicker-dropdown/timepicker-dropdown.styles_119l6k6.css +2 -2
  756. package/sidenav/sidenav-drawer-item.styles_1ljnyx2.css +2 -2
  757. package/sidenav/sidenav-drawer-subitem.styles_2y58kf.css +1 -1
  758. package/sidenav/sidenav-group.styles_1x604sw.css +2 -2
  759. package/sidenav/sidenav-item.styles_lqw3kh.css +2 -2
  760. package/sidenav/sidenav.d.ts +10 -0
  761. package/sidenav/sidenav.js.map +1 -1
  762. package/sidenav/sidenav.styles_1vxezie.css +2 -2
  763. package/sidenav/types.d.ts +70 -21
  764. package/singpass-button/singpass-button.d.ts +6 -0
  765. package/singpass-button/singpass-button.js.map +1 -1
  766. package/singpass-button/singpass-button.styles_1miyex3.css +2 -2
  767. package/singpass-button/types.d.ts +29 -2
  768. package/smart-app-banner/smart-app-banner.d.ts +5 -0
  769. package/smart-app-banner/smart-app-banner.js.map +1 -1
  770. package/smart-app-banner/smart-app-banner.styles_15u6yv4.css +2 -2
  771. package/smart-app-banner/types.d.ts +54 -0
  772. package/tab/tab-link-chain.styles_49got4.css +2 -2
  773. package/tab/tab.d.ts +7 -0
  774. package/tab/tab.js.map +1 -1
  775. package/tab/tab.styles_1najffw.css +1 -1
  776. package/tab/types.d.ts +55 -6
  777. package/table/table.d.ts +21 -0
  778. package/table/table.js.map +1 -1
  779. package/table/table.styles.js +1 -1
  780. package/table/table.styles.js.map +1 -1
  781. package/table/{table.styles_1af5ipv.css → table.styles_1vjx31g.css} +2 -2
  782. package/tag/tag.d.ts +5 -0
  783. package/tag/tag.js.map +1 -1
  784. package/tag/tag.style_d98c53.css +2 -2
  785. package/tag/types.d.ts +24 -0
  786. package/text-list/index.d.ts +17 -0
  787. package/text-list/index.js.map +1 -1
  788. package/text-list/text-list.styles_w3fvyt.css +2 -2
  789. package/text-list/types.d.ts +33 -4
  790. package/theme/styles/a11y-playground.css +3 -0
  791. package/theme/styles/bookingsg.css +7 -4
  792. package/theme/styles/careercompass.css +4 -1
  793. package/theme/styles/ccube.css +3 -0
  794. package/theme/styles/default.css +9 -5
  795. package/theme/styles/imda.css +3 -0
  796. package/theme/styles/lifesg.css +3 -0
  797. package/theme/styles/mylegacy.css +7 -4
  798. package/theme/styles/oneservice.css +52 -0
  799. package/theme/styles/pa.css +3 -0
  800. package/theme/styles/rbs.css +3 -0
  801. package/theme/styles/sgw-digital-lobby.css +5 -2
  802. package/theme/styles/smgs.css +3 -0
  803. package/theme/styles/spf.css +3 -0
  804. package/theme/styles/supportgowhere.css +3 -0
  805. package/theme/theme-provider/breakpoint.d.ts +0 -1
  806. package/theme/theme-provider/breakpoint.js +1 -1
  807. package/theme/theme-provider/breakpoint.js.map +1 -1
  808. package/theme/theme-provider/hooks.d.ts +16 -0
  809. package/theme/theme-provider/hooks.js.map +1 -1
  810. package/theme/theme-provider/index.d.ts +7 -0
  811. package/theme/theme-provider/index.js.map +1 -1
  812. package/theme/theme-provider/types.d.ts +14 -0
  813. package/theme/tokens/border.d.ts +3 -0
  814. package/theme/tokens/border.js.map +1 -1
  815. package/theme/tokens/breakpoint.d.ts +3 -0
  816. package/theme/tokens/breakpoint.js.map +1 -1
  817. package/theme/tokens/colour.d.ts +3 -0
  818. package/theme/tokens/colour.js.map +1 -1
  819. package/theme/tokens/component.d.ts +1 -0
  820. package/theme/tokens/component.js.map +1 -1
  821. package/theme/tokens/font.d.ts +2 -0
  822. package/theme/tokens/font.js.map +1 -1
  823. package/theme/tokens/media-query.d.ts +1 -0
  824. package/theme/tokens/media-query.js.map +1 -1
  825. package/theme/tokens/motion.d.ts +1 -0
  826. package/theme/tokens/motion.js.map +1 -1
  827. package/theme/tokens/radius.d.ts +1 -0
  828. package/theme/tokens/radius.js.map +1 -1
  829. package/theme/tokens/shadow.d.ts +1 -0
  830. package/theme/tokens/shadow.js.map +1 -1
  831. package/theme/tokens/spacing.d.ts +1 -0
  832. package/theme/tokens/spacing.js.map +1 -1
  833. package/theme/types.d.ts +24 -4
  834. package/theme/types.js +1 -1
  835. package/theme/types.js.map +1 -1
  836. package/theme/utils/css-variable.d.ts +10 -2
  837. package/theme/utils/css-variable.js.map +1 -1
  838. package/theme/utils/font.d.ts +2 -1
  839. package/theme/utils/font.js.map +1 -1
  840. package/theme/utils/index.d.ts +1 -0
  841. package/theme/utils/use-apply-styles.d.ts +8 -2
  842. package/theme/utils/use-apply-styles.js +1 -1
  843. package/theme/utils/use-apply-styles.js.map +1 -1
  844. package/theme/utils/use-design-token-override.d.ts +19 -0
  845. package/theme/utils/use-design-token-override.js +2 -0
  846. package/theme/utils/use-design-token-override.js.map +1 -0
  847. package/theme/utils/use-design-token.d.ts +9 -0
  848. package/theme/utils/use-design-token.js.map +1 -1
  849. package/theme/utils/use-media-query.d.ts +41 -3
  850. package/theme/utils/use-media-query.js.map +1 -1
  851. package/time-range-picker/combobox-picker/combobox-picker.js +1 -1
  852. package/time-range-picker/combobox-picker/combobox-picker.js.map +1 -1
  853. package/time-range-picker/combobox-picker/combobox-picker.styles_7i9vso.css +1 -1
  854. package/time-range-picker/common.styles.d.ts +1 -0
  855. package/time-range-picker/common.styles.js +1 -1
  856. package/time-range-picker/common.styles.js.map +1 -1
  857. package/time-range-picker/{common.styles_1qwp4xa.css → common.styles_cnkkax.css} +2 -1
  858. package/time-range-picker/dial-picker/dial-picker.js +1 -1
  859. package/time-range-picker/dial-picker/dial-picker.js.map +1 -1
  860. package/time-range-picker/time-range-picker.d.ts +5 -0
  861. package/time-range-picker/time-range-picker.js.map +1 -1
  862. package/time-range-picker/types.d.ts +85 -25
  863. package/time-slot-bar/internal-types.d.ts +1 -0
  864. package/time-slot-bar/time-slot-bar.d.ts +7 -0
  865. package/time-slot-bar/time-slot-bar.js.map +1 -1
  866. package/time-slot-bar/time-slot-bar.styles_wigbyd.css +2 -2
  867. package/time-slot-bar/types.d.ts +112 -20
  868. package/time-slot-bar-week/time-slot-bar-week-days.styles_evdvs9.css +2 -2
  869. package/time-slot-bar-week/time-slot-bar-week.d.ts +8 -0
  870. package/time-slot-bar-week/time-slot-bar-week.js.map +1 -1
  871. package/time-slot-bar-week/time-slot-bar-week.styles_11ybf42.css +1 -1
  872. package/time-slot-bar-week/types.d.ts +74 -13
  873. package/time-slot-week-view/time-slot-week-days.styles_1h21vyw.css +2 -2
  874. package/time-slot-week-view/time-slot-week-view.d.ts +7 -0
  875. package/time-slot-week-view/time-slot-week-view.js.map +1 -1
  876. package/time-slot-week-view/time-slot-week-view.styles_gqgsw2.css +1 -1
  877. package/time-slot-week-view/types.d.ts +53 -10
  878. package/timeline/timeline.d.ts +6 -0
  879. package/timeline/timeline.js.map +1 -1
  880. package/timeline/timeline.styles_1jxzik4.css +2 -2
  881. package/timeline/types.d.ts +58 -4
  882. package/timepicker/timepicker.d.ts +5 -0
  883. package/timepicker/timepicker.js +1 -1
  884. package/timepicker/timepicker.js.map +1 -1
  885. package/timepicker/timepicker.styles.d.ts +1 -0
  886. package/timepicker/timepicker.styles.js +1 -1
  887. package/timepicker/timepicker.styles.js.map +1 -1
  888. package/timepicker/timepicker.styles_lyizvq.css +2 -0
  889. package/timepicker/types.d.ts +49 -14
  890. package/timetable/timetable-header/timetable-header.styles_11gl1h4.css +2 -2
  891. package/timetable/timetable-row/row-bar.styles_1x0vrsz.css +1 -1
  892. package/timetable/timetable-row/row-cell.styles_y1dl5j.css +2 -2
  893. package/timetable/timetable-row/with-optional-popover.js +1 -1
  894. package/timetable/timetable-row/with-optional-popover.js.map +1 -1
  895. package/timetable/timetable.d.ts +6 -0
  896. package/timetable/timetable.js +1 -1
  897. package/timetable/timetable.js.map +1 -1
  898. package/timetable/timetable.styles_7rp8kz.css +2 -2
  899. package/timetable/types.d.ts +175 -50
  900. package/toast/toast.d.ts +6 -0
  901. package/toast/toast.js.map +1 -1
  902. package/toast/toast.styles_1e0l60w.css +2 -2
  903. package/toast/types.d.ts +42 -8
  904. package/toggle/toggle-icon.styles_ba71y.css +2 -2
  905. package/toggle/toggle.d.ts +6 -0
  906. package/toggle/toggle.js.map +1 -1
  907. package/toggle/toggle.styles_1t5qrye.css +2 -2
  908. package/toggle/types.d.ts +95 -17
  909. package/typography/index.d.ts +29 -0
  910. package/typography/index.js.map +1 -1
  911. package/typography/types.d.ts +51 -8
  912. package/typography/typography-text.styles_1734x2k.css +2 -2
  913. package/typography/typography.styles.js +1 -1
  914. package/typography/typography.styles.js.map +1 -1
  915. package/typography/{typography.styles_1155j4c.css → typography.styles_1wd82dn.css} +2 -2
  916. package/uneditable-section/index.d.ts +16 -1
  917. package/uneditable-section/index.js.map +1 -1
  918. package/uneditable-section/section-item.styles_mwx8ht.css +2 -2
  919. package/uneditable-section/types.d.ts +66 -23
  920. package/uneditable-section/uneditable-section.d.ts +2 -1
  921. package/uneditable-section/uneditable-section.js +1 -1
  922. package/uneditable-section/uneditable-section.js.map +1 -1
  923. package/uneditable-section/uneditable-section.styles_aj9zun.css +2 -2
  924. package/unit-number/types.d.ts +30 -4
  925. package/unit-number/unit-number-input.d.ts +6 -0
  926. package/unit-number/unit-number-input.js.map +1 -1
  927. package/unit-number/unit-number-input.styles_8yizj.css +2 -2
  928. package/util/index.d.ts +1 -0
  929. package/util/merge-refs.d.ts +1 -1
  930. package/util/merge-refs.js.map +1 -1
  931. package/util/use-throttle.d.ts +1 -0
  932. package/util/use-throttle.js +2 -0
  933. package/util/use-throttle.js.map +1 -0
  934. package/cjs/data-table/data-table.styles_1iqq1g7.css +0 -26
  935. package/cjs/example/example.js +0 -2
  936. package/cjs/example/example.js.map +0 -1
  937. package/cjs/example/example_r47nvz.css +0 -1
  938. package/cjs/example/index.js +0 -2
  939. package/cjs/example/index.js.map +0 -1
  940. package/cjs/file-upload/file-list/file-list.styles_1ea12kj.css +0 -3
  941. package/cjs/file-upload/file-list-item/file-list-item.styles_y7my2m.css +0 -14
  942. package/cjs/timepicker/timepicker.styles_1jm33yw.css +0 -1
  943. package/data-table/data-table.styles_1iqq1g7.css +0 -26
  944. package/example/example.d.ts +0 -2
  945. package/example/example.js +0 -2
  946. package/example/example.js.map +0 -1
  947. package/example/example_r47nvz.css +0 -1
  948. package/example/index.d.ts +0 -1
  949. package/example/index.js +0 -2
  950. package/example/index.js.map +0 -1
  951. package/example/types.d.ts +0 -3
  952. package/file-upload/file-list/file-list.styles_1ea12kj.css +0 -3
  953. package/file-upload/file-list-item/file-list-item.styles_y7my2m.css +0 -14
  954. package/timepicker/timepicker.styles_1jm33yw.css +0 -1
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,229 @@ 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 `Filter.Sidebar` sub-component.
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 `Filter.Modal` sub-component.
71
+ */
45
72
  export interface FilterModalProps extends FilterBaseProps {
46
- /** Called when dismiss button is pressed (mobile mode only) */
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 (mobile mode only) */
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.
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 the `Filter.Item` sub-component.
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
- /** Specifies if header divider is visible in default mode */
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
- /** Specifies if divider is visible in mobile mode */
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
- /** Specifies the initial expand state for the uncontrolled component */
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
- /** Specifies the expand state for the controlled component */
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
- /** Called when the expand state changes */
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 the `Filter.Page` sub-component.
175
+ */
82
176
  export interface FilterPageProps {
83
177
  "data-testid"?: string | undefined;
84
178
  children: React.ReactNode;
85
- /** Called when dismiss button is pressed */
179
+ /** Called when the back (dismiss) button is pressed. */
86
180
  onDismiss?: (() => void) | undefined;
87
- /** Called when done button is pressed */
181
+ /** Called when the done button is pressed. */
88
182
  onDone?: (() => void) | undefined;
89
183
  }
184
+ /**
185
+ * Default shape for a checkbox option in `Filter.Checkbox`.
186
+ *
187
+ * Nest `options` to create hierarchical groups with parent-level
188
+ * select/deselect all behavior.
189
+ */
90
190
  export interface FilterItemCheckboxOptionProps {
91
191
  value: any;
92
192
  label: string;
193
+ /** Nested child options. Providing children makes this item a parent node. */
93
194
  options?: FilterItemCheckboxOptionProps[] | undefined;
94
195
  }
196
+ /**
197
+ * Props for the `Filter.Checkbox` sub-component.
198
+ *
199
+ * Supply a generic type `T` to use a custom option shape together with
200
+ * `labelExtractor` and `valueExtractor`.
201
+ */
95
202
  export interface FilterItemCheckboxProps<T = FilterItemCheckboxOptionProps> extends Omit<FilterItemProps, "children"> {
203
+ /** The full list of selectable options. */
96
204
  options: T[];
205
+ /**
206
+ * The currently selected options. When provided, the component syncs its
207
+ * internal selection state to this value.
208
+ */
97
209
  selectedOptions?: T[] | undefined;
210
+ /**
211
+ * Called when the selection changes.
212
+ *
213
+ * @param options The updated array of selected options.
214
+ */
98
215
  onSelect?: ((options: T[]) => void) | undefined;
99
- /** Function to derive display value from an item. If not set, checks `item.label`. */
216
+ /**
217
+ * Derives the display label from an option item.
218
+ * Falls back to `item.label` when not provided.
219
+ */
100
220
  labelExtractor?: ((item: T) => React.ReactNode) | undefined;
101
- /** Function to derive value from an item. If not set, checks `item.value`. */
221
+ /**
222
+ * Derives the unique value key from an option item.
223
+ * Falls back to `item.value` when not provided.
224
+ */
102
225
  valueExtractor?: ((item: T) => string) | undefined;
103
- /** Changes min-width of toggle in mobile view to fit content */
226
+ /**
227
+ * When `true`, toggle chips in mobile mode grow to fit their content width
228
+ * instead of stretching to a fixed minimum width.
229
+ */
104
230
  useToggleContentWidth?: boolean | undefined;
105
- /** Display checkbox list for mobile view */
231
+ /**
232
+ * When `true`, renders checkboxes instead of toggle chips in mobile mode.
233
+ * Has no effect for nested option trees, which always use checkboxes.
234
+ *
235
+ * @default false
236
+ */
106
237
  showAsCheckboxInMobile?: boolean | undefined;
107
- /** Whether to allow minimising (show "View more" button) */
238
+ /**
239
+ * When `true`, shows a "View more / View less" button when there are more
240
+ * options than the minimised threshold.
241
+ *
242
+ * @default true
243
+ */
108
244
  minimisableOptions?: boolean | undefined;
109
245
  }
110
246
  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);}}
@@ -1,2 +1,9 @@
1
1
  import type { FooterProps } from "./types";
2
- export declare const Footer: <T>({ children, links, lastUpdated, disclaimerLinks, showDownloadAddon, showResourceAddon, logoSrc, copyrightInfo, onFooterLinkClick, layout, hideLogo, className, ...otherProps }: FooterProps<T>) => import("react/jsx-runtime").JSX.Element;
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 r from"clsx";import{useContext as s}from"react";import{Divider as l}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 D}from"./footer-resource-addon.js";const S=S=>{var{children:A,links:O,lastUpdated:F,disclaimerLinks:I,showDownloadAddon:R,showResourceAddon:T,logoSrc:U,copyrightInfo:X,onFooterLinkClick:$,layout:_="default",hideLogo:B,className:M}=S,q=e(S,["children","links","lastUpdated","disclaimerLinks","showDownloadAddon","showResourceAddon","logoSrc","copyrightInfo","onFooterLinkClick","layout","hideLogo","className"]);const z="stretch"===_,E=s(a),G=o=>o.map(((o,i)=>{const{"data-options":r}=o,s=e(o,["data-options"]);return t("li",{children:t(c.LinkMD,Object.assign({underlineStyle:"none",className:b},s,{onClick:e=>((e,o)=>{o.onClick?(e.preventDefault(),o.onClick(e)):$&&(e.preventDefault(),$(o))})(e,o)}))},i)}));return o("footer",Object.assign({},q,{className:r(u,M),children:[(()=>{let s=null;if(A)return A;if(O||R){const l=x.getFooterLogoAttribute(null==E?void 0:E.theme),{src:n,logoType:a}=l,c=e(l,["src","logoType"]);s=o(i,{children:[(U||n)&&!B&&t("div",{"data-testid":"logo-section",className:f,children:t("img",Object.assign({src:U||n,"data-testid":"logo",className:r(g,a&&k[a])},c))}),t("div",{className:v,children:null==O?void 0:O.map(((e,o)=>t("ul",{"data-testid":`link-col-${o}`,className:y,children:G(e)},`link-col-${o}`)))}),R&&t("div",{className:N,children:t(w,{})}),!R&&T&&t("div",{className:N,children:t(D,{})})]})}return s?o(i,{children:[t(n.Content,{className:j,stretch:z,children:s}),t(l,{className:L})]}):null})(),o(n.Content,{className:d,stretch:z,children:[t("div",{className:m,children:(()=>{const e=x.getDisclaimerLinks(null==E?void 0:E.theme,I);return Object.keys(e).map((o=>t(c.LinkXS,Object.assign({underlineStyle:"none",className:C},e[o]),o)))})()},"disclaimer"),t("div",{className:r(m,p),children:t(c.BodyXS,{"data-testid":"copyright-text",className:h,children:X||o(i,{children:["©"," ",x.getCopyrightInfo(F,null==E?void 0:E.theme)]})})},"copyright")]})]}))};export{S as Footer};
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
@@ -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 &copy;{\" \"}\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":"y1BAeO,MAAMA,EAAcC,IAAA,IAAAC,SACvBA,EAAQC,MACRA,EAAKC,YACLA,EAAWC,gBACXA,EAAeC,kBACfA,EAAiBC,kBACjBA,EAAiBC,QACjBA,EAAOC,cACPA,EAAaC,kBACbA,EAAiBC,OACjBA,EAAS,UAASC,SAClBA,EAAQC,UACRA,GAASZ,EACNa,EAAUC,EAAAd,EAbU,4KAkBvB,MAAMe,EAAuB,YAAXL,EACZM,EAAQC,EAAWC,GA8CnBC,EAAqBjB,GAChBA,EAAMkB,KAAI,CAACC,EAAMC,KACpB,MAAQ,eAAgBC,GAA4BF,EAAfR,EAAUC,EAAKO,EAA9C,CAAA,iBAEN,OACIG,EAAA,KAAA,CAAAvB,SACIuB,EAACC,EAAWC,OAAMC,OAAAC,OAAA,CACdC,eAAe,OACfjB,UAAWkB,GACPjB,EAAU,CACdkB,QAAUC,GApDN,EACpBA,EACAC,KAMIA,EAAKF,SACLC,EAAME,iBACND,EAAKF,QAAQC,IACNvB,IACPuB,EAAME,iBACNzB,EAAkBwB,GACf,EAsC6BE,CAAgBH,EAAOX,OAL1CC,EAOJ,IA2EjB,OACIc,4BAAYvB,EAAU,CAAED,UAAWyB,EAAKC,EAAmB1B,aAvEtC,MACrB,IAAI2B,EAA6B,KAEjC,GAAItC,EACA,OAAOA,EAGX,GAAIC,GAASG,EAAmB,CAC5B,MAAML,EACFwC,EAAaC,uBAAuBzB,aAAK,EAALA,EAAOA,QADzC0B,IAAEA,EAAGC,SAAEA,GAAQ3C,EAAK4C,EAAmB9B,EAAAd,EAAvC,CAAA,MAAA,aAENuC,EACIH,EAAAS,EAAA,CAAA5C,SAAA,EACMM,GAAWmC,KAAS/B,GAClBa,EAAA,MAAA,CAAA,cACgB,eACZZ,UAAWkC,WAEXtB,EAAA,MAAAG,OAAAC,OAAA,CACIc,IAAKnC,GAAWmC,EAAG,cACP,OACZ9B,UAAWyB,EACPU,EACAJ,GAAYK,EAAgBL,KAE5BC,MAIhBpB,EAAA,MAAA,CAAKZ,UAAWqC,EAAyBhD,SACpCC,aAAK,EAALA,EAAOkB,KAAI,CAAC8B,EAAaC,IACtB3B,EAAA,KAAA,CAAA,cAEiB,YAAY2B,IACzBvC,UAAWwC,EAAkBnD,SAE5BkB,EAAkB+B,IAJd,YAAYC,SAQ5B9C,GACGmB,EAAA,MAAA,CAAKZ,UAAWyC,EAAmBpD,SAC/BuB,EAAC8B,EAAW,CAAA,MAIlBjD,GAAqBC,GACnBkB,EAAA,MAAA,CAAKZ,UAAWyC,EAAmBpD,SAC/BuB,EAAC+B,EAAa,QAKlC,CAEA,OAAIhB,EAEIH,EAAAS,EAAA,CAAA5C,SAAA,CACIuB,EAACgC,EAAOC,QAAO,CACX7C,UAAW8C,EACXC,QAAS5C,EAASd,SAEjBsC,IAELf,EAACoC,EAAO,CAAChD,UAAWiD,OAKzB,IAAI,EAINC,GACD1B,EAACoB,EAAOC,QAAO,CACX7C,UAAWmD,EACXJ,QAAS5C,EAASd,SAAA,CAElBuB,EAAA,MAAA,CAAsBZ,UAAWoD,EAA2B/D,SAlH1C,MAC1B,MAAMC,EAAQsC,EAAayB,mBACvBjD,aAAK,EAALA,EAAOA,MACPZ,GAGJ,OAAQuB,OAAOuC,KAAKhE,GAA6CkB,KAC5D+C,GAEO3C,EAACC,EAAW2C,sBAERvC,eAAe,OACfjB,UAAWyD,GACPnE,EAAMiE,IAHLA,IAOpB,EAkGYG,IADI,cAGT9C,EAAA,MAAA,CAEIZ,UAAWyB,EACP2B,EACAO,GACHtE,SAEDuB,EAACC,EAAW+C,sBACK,iBACb5D,UAAW6D,EAAoBxE,SAE9BO,GACG4B,EAAAS,EAAA,CAAA5C,SAAA,CAAA,IACW,IACNuC,EAAakC,iBACVvE,EACAa,aAAK,EAALA,EAAOA,aAfnB,mBAsBP"}
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 &copy;{\" \"}\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":"y1BAsBO,MAAMA,EAAcC,IAAA,IAAAC,SACvBA,EAAQC,MACRA,EAAKC,YACLA,EAAWC,gBACXA,EAAeC,kBACfA,EAAiBC,kBACjBA,EAAiBC,QACjBA,EAAOC,QACPA,EAAU,GAAEC,cACZA,EAAaC,kBACbA,EAAiBC,OACjBA,EAAS,UAASC,SAClBA,EAAQC,UACRA,GAASb,EACNc,EAAUC,EAAAf,EAdU,sLAmBvB,MAAMgB,EAAuB,YAAXL,EACZM,EAAQC,EAAWC,GA8CnBC,EAAqBlB,GAChBA,EAAMmB,KAAI,CAACC,EAAMC,KACpB,MAAQ,eAAgBC,GAA4BF,EAAfR,EAAUC,EAAKO,EAA9C,CAAA,iBAEN,OACIG,EAAA,KAAA,CAAAxB,SACIwB,EAACC,EAAWC,OAAMC,OAAAC,OAAA,CACdC,eAAe,OACfjB,UAAWkB,GACPjB,EAAU,CACdkB,QAAUC,GApDN,EACpBA,EACAC,KAMIA,EAAKF,SACLC,EAAME,iBACND,EAAKF,QAAQC,IACNvB,IACPuB,EAAME,iBACNzB,EAAkBwB,GACf,EAsC6BE,CAAgBH,EAAOX,OAL1CC,EAOJ,IA4EjB,OACIc,4BAAYvB,EAAU,CAAED,UAAWyB,EAAKC,EAAmB1B,aAxEtC,MACrB,IAAI2B,EAA6B,KAEjC,GAAIvC,EACA,OAAOA,EAGX,GAAIC,GAASG,EAAmB,CAC5B,MAAML,EACFyC,EAAaC,uBAAuBzB,aAAK,EAALA,EAAOA,QADzC0B,IAAEA,EAAGC,IAAEA,EAAGC,SAAEA,GAAQ7C,EAAK8C,EAAmB/B,EAAAf,EAA5C,CAAA,MAAA,MAAA,aAENwC,EACIH,EAAAU,EAAA,CAAA9C,SAAA,EACMM,GAAWoC,KAAS/B,GAClBa,uBACgB,eACZZ,UAAWmC,EAAkB/C,SAE7BwB,uBACIkB,IAAKpC,GAAWoC,EAAG,cACP,OACZ9B,UAAWyB,EACPW,EACAJ,GAAYK,EAAgBL,IAEhCD,IAAKpC,GAAWoC,GACZE,MAIhBrB,EAAA,MAAA,CAAKZ,UAAWsC,EAAyBlD,SACpCC,aAAK,EAALA,EAAOmB,KAAI,CAAC+B,EAAaC,IACtB5B,EAAA,KAAA,CAAA,cAEiB,YAAY4B,IACzBxC,UAAWyC,EAAkBrD,SAE5BmB,EAAkBgC,IAJd,YAAYC,SAQ5BhD,GACGoB,EAAA,MAAA,CAAKZ,UAAW0C,EAAmBtD,SAC/BwB,EAAC+B,EAAW,OAIlBnD,GAAqBC,GACnBmB,EAAA,MAAA,CAAKZ,UAAW0C,EAAmBtD,SAC/BwB,EAACgC,EAAa,QAKlC,CAEA,OAAIjB,EAEIH,EAAAU,EAAA,CAAA9C,SAAA,CACIwB,EAACiC,EAAOC,QAAO,CACX9C,UAAW+C,EACXC,QAAS7C,EAASf,SAEjBuC,IAELf,EAACqC,EAAO,CAACjD,UAAWkD,OAKzB,IAAI,EAINC,GACD3B,EAACqB,EAAOC,QAAO,CACX9C,UAAWoD,EACXJ,QAAS7C,EAASf,SAAA,CAElBwB,EAAA,MAAA,CAAsBZ,UAAWqD,EAA2BjE,SAnH1C,MAC1B,MAAMC,EAAQuC,EAAa0B,mBACvBlD,aAAK,EAALA,EAAOA,MACPb,GAGJ,OAAQwB,OAAOwC,KAAKlE,GAA6CmB,KAC5DgD,GAEO5C,EAACC,EAAW4C,sBAERxC,eAAe,OACfjB,UAAW0D,GACPrE,EAAMmE,IAHLA,IAOpB,EAmGYG,IADI,cAGT/C,EAAA,MAAA,CAEIZ,UAAWyB,EACP4B,EACAO,GACHxE,SAEDwB,EAACC,EAAWgD,sBACK,iBACb7D,UAAW8D,EAAoB1E,SAE9BQ,GACG4B,EAAAU,EAAA,CAAA9C,SAAA,CAAA,IACW,IACNwC,EAAamC,iBACVzE,EACAc,aAAK,EAALA,EAAOA,aAfnB,mBAsBP"}
@@ -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
- /** Indicates if additional app resources should be displayed */
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
- /** Custom disclaimer link attributes */
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
- /** Last updated date value that is displayed in the bottom of the Footer */
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
- /** Determines if the content of the footer scales with the max width */
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,2 +1,2 @@
1
- import{jsx as t}from"react/jsx-runtime";import{ICircleFillIcon as e}from"@lifesg/react-icons/i-circle-fill";import"../_virtual/_tslib.js";import"clsx";import"react";import"../theme/theme-provider/context.js";import"../typography/typography.js";import"../card/card.styles_1gh9gs3.css";import"../markup/markup.js";import"../modal-v2/index.js";import"../theme/theme-provider/index.js";import"../theme/tokens/border.js";import"../theme/tokens/colour.js";import"../theme/tokens/font.js";import"../theme/tokens/media-query.js";import"../util/calendar-helper.js";import"../external/dayjs/dayjs.min.js";import"../util/simple-id-generator.js";import"../util/string-helper.js";import"@react-aria/live-announcer";import"../theme/utils/use-media-query.js";import"../popover/popover.styles_ujnf0h.css";import{PopoverInline as o}from"../popover/popover-inline/popover-inline.js";import"@floating-ui/react";import"../overlay/use-floating-context.js";import"../popover/popover-trigger.styles_8zokig.css";import{addonWrapper as r}from"./form-label-addon.styles.js";const i=({addon:i,rootNode:p})=>{const{content:s,type:m,icon:n,id:a,zIndex:l,"data-testid":d}=i;return t("div",{className:r,children:t(o,{trigger:"click",id:a,"data-testid":d,popoverContent:s,rootNode:p,zIndex:l,icon:null!=n?n:t(e,{"data-testid":`${m}-icon`}),ariaLabel:"More info"})})};export{i as PopoverAddon};
1
+ import{jsx as t}from"react/jsx-runtime";import{ICircleFillIcon as o}from"@lifesg/react-icons/i-circle-fill";import"../_virtual/_tslib.js";import"clsx";import"react";import"../theme/theme-provider/context.js";import"../typography/typography.js";import"../card/card.styles_1gh9gs3.css";import"../markup/markup.js";import"../modal-v2/modal-v2.js";import"../theme/theme-provider/index.js";import"../theme/tokens/border.js";import"../theme/tokens/colour.js";import"../theme/tokens/font.js";import"../theme/tokens/media-query.js";import"../util/calendar-helper.js";import"../external/dayjs/dayjs.min.js";import"../util/simple-id-generator.js";import"../util/string-helper.js";import"@react-aria/live-announcer";import"../theme/utils/use-media-query.js";import"../popover/popover.styles_ujnf0h.css";import{PopoverInline as e}from"../popover/popover-inline/popover-inline.js";import"@floating-ui/react";import"../overlay/use-floating-context.js";import"../popover/popover-trigger.styles_8zokig.css";import{addonWrapper as r}from"./form-label-addon.styles.js";const i=({addon:i,rootNode:p})=>{const{content:s,type:m,icon:a,id:n,zIndex:l,"data-testid":d}=i;return t("div",{className:r,children:t(e,{trigger:"click",id:n,"data-testid":d,popoverContent:s,rootNode:p,zIndex:l,icon:null!=a?a:t(o,{"data-testid":`${m}-icon`}),ariaLabel:"More info"})})};export{i as PopoverAddon};
2
2
  //# sourceMappingURL=form-label-addon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-label-addon.js","sources":["../../src/form/form-label-addon.tsx"],"sourcesContent":["import { ICircleFillIcon } from \"@lifesg/react-icons/i-circle-fill\";\nimport type { RefObject } from \"react\";\n\nimport { PopoverInline } from \"../popover\";\nimport * as styles from \"./form-label-addon.styles\";\nimport type { FormLabelAddonProps } from \"./types\";\n\n// =============================================================================\n// POPOVER ADDON COMPONENT\n// Note: We need to re-construct as using with the HOC causes some rendering\n// issues\n// =============================================================================\ninterface PopoverAddonProps {\n addon: FormLabelAddonProps;\n rootNode?: RefObject<HTMLElement>;\n}\n\nexport const PopoverAddon = ({\n addon,\n rootNode,\n}: PopoverAddonProps): JSX.Element => {\n // =========================================================================\n // CONST, STATE, REF\n // =========================================================================\n const { content, type, icon, id, zIndex, \"data-testid\": testId } = addon;\n\n // =========================================================================\n // RENDER FUNCTION\n // =========================================================================\n return (\n <div className={styles.addonWrapper}>\n <PopoverInline\n trigger=\"click\"\n id={id}\n data-testid={testId}\n popoverContent={content}\n rootNode={rootNode}\n zIndex={zIndex}\n icon={icon ?? <ICircleFillIcon data-testid={`${type}-icon`} />}\n ariaLabel=\"More info\"\n />\n </div>\n );\n};\n"],"names":["PopoverAddon","addon","rootNode","content","type","icon","id","zIndex","testId","_jsx","className","styles.addonWrapper","children","PopoverInline","trigger","popoverContent","ICircleFillIcon","ariaLabel"],"mappings":"kkCAiBO,MAAMA,EAAe,EACxBC,QACAC,eAKA,MAAMC,QAAEA,EAAOC,KAAEA,EAAIC,KAAEA,EAAIC,GAAEA,EAAEC,OAAEA,EAAQ,cAAeC,GAAWP,EAKnE,OACIQ,EAAA,MAAA,CAAKC,UAAWC,EAAmBC,SAC/BH,EAACI,EAAa,CACVC,QAAQ,QACRR,GAAIA,EAAE,cACOE,EACbO,eAAgBZ,EAChBD,SAAUA,EACVK,OAAQA,EACRF,KAAMA,QAAAA,EAAQI,EAACO,EAAe,CAAA,cAAc,GAAGZ,WAC/Ca,UAAU,eAEZ"}
1
+ {"version":3,"file":"form-label-addon.js","sources":["../../src/form/form-label-addon.tsx"],"sourcesContent":["import { ICircleFillIcon } from \"@lifesg/react-icons/i-circle-fill\";\nimport type { RefObject } from \"react\";\n\nimport { PopoverInline } from \"../popover\";\nimport * as styles from \"./form-label-addon.styles\";\nimport type { FormLabelAddonProps } from \"./types\";\n\n// =============================================================================\n// POPOVER ADDON COMPONENT\n// Note: We need to re-construct as using with the HOC causes some rendering\n// issues\n// =============================================================================\ninterface PopoverAddonProps {\n addon: FormLabelAddonProps;\n rootNode?: RefObject<HTMLElement>;\n}\n\nexport const PopoverAddon = ({\n addon,\n rootNode,\n}: PopoverAddonProps): JSX.Element => {\n // =========================================================================\n // CONST, STATE, REF\n // =========================================================================\n const { content, type, icon, id, zIndex, \"data-testid\": testId } = addon;\n\n // =========================================================================\n // RENDER FUNCTION\n // =========================================================================\n return (\n <div className={styles.addonWrapper}>\n <PopoverInline\n trigger=\"click\"\n id={id}\n data-testid={testId}\n popoverContent={content}\n rootNode={rootNode}\n zIndex={zIndex}\n icon={icon ?? <ICircleFillIcon data-testid={`${type}-icon`} />}\n ariaLabel=\"More info\"\n />\n </div>\n );\n};\n"],"names":["PopoverAddon","addon","rootNode","content","type","icon","id","zIndex","testId","_jsx","className","styles.addonWrapper","children","PopoverInline","trigger","popoverContent","ICircleFillIcon","ariaLabel"],"mappings":"qkCAiBO,MAAMA,EAAe,EACxBC,QACAC,eAKA,MAAMC,QAAEA,EAAOC,KAAEA,EAAIC,KAAEA,EAAIC,GAAEA,EAAEC,OAAEA,EAAQ,cAAeC,GAAWP,EAKnE,OACIQ,EAAA,MAAA,CAAKC,UAAWC,EAAmBC,SAC/BH,EAACI,EAAa,CACVC,QAAQ,QACRR,GAAIA,EAAE,cACOE,EACbO,eAAgBZ,EAChBD,SAAUA,EACVK,OAAQA,EACRF,KAAMA,QAAAA,EAAQI,EAACO,EAAe,CAAA,cAAc,GAAGZ,WAC/Ca,UAAU,eAEZ"}
@@ -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.styles_11r0652.css";const s="l170pjsx",e="lf1tnj",l="eyg2zu6",o="e4aab9k",r="e39ds6s",t="s1n6ixex";export{l as errorIcon,r as errorMessage,o as errorMessageContainer,e as label,s as labelContainer,t as subtitle};
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,WAIdC,EAAK,SAOLC,EAAS,UAOTC,EAAqB,UAOrBC,EAAY,UAOZC,EAAQ"}
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);}}