@lifesg/react-design-system 4.0.0-alpha.3 → 4.0.0-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1629) hide show
  1. package/accordion/accordion-item.styles.js +1 -1
  2. package/accordion/accordion-item.styles.js.map +1 -1
  3. package/accordion/{accordion-item.styles_kchcad.css → accordion-item.styles_1j4eb32.css} +4 -4
  4. package/accordion/accordion.d.ts +19 -0
  5. package/accordion/accordion.js.map +1 -1
  6. package/accordion/accordion.styles.js +1 -1
  7. package/{cjs/accordion/accordion.styles_ijglff.css → accordion/accordion.styles_bzrfrs.css} +3 -3
  8. package/accordion/types.d.ts +42 -2
  9. package/alert/alert.d.ts +8 -0
  10. package/alert/alert.js.map +1 -1
  11. package/alert/alert.styles.js +1 -1
  12. package/alert/alert.styles.js.map +1 -1
  13. package/{cjs/alert/alert.styles_1ygel36.css → alert/alert.styles_patwo2.css} +6 -6
  14. package/alert/types.d.ts +26 -2
  15. package/animations/loading-dots/loading-dots.styles_1rgrrmw.css +2 -2
  16. package/animations/loading-dots/lottie-animation.styles_1m15v69.css +1 -1
  17. package/animations/loading-dots-spinner/loading-dots-spinner.styles_1hcqkhs.css +2 -2
  18. package/animations/loading-dots-spinner/lottie-animation.styles_13d1unb.css +1 -1
  19. package/animations/loading-spinner/loading-spinner.styles_n6xoft.css +2 -2
  20. package/animations/loading-spinner/lottie-animation.styles_bnn4qt.css +1 -1
  21. package/avatar/avatar.d.ts +7 -0
  22. package/avatar/avatar.js.map +1 -1
  23. package/avatar/avatar.styles_16efw4.css +2 -2
  24. package/avatar/types.d.ts +11 -0
  25. package/badge/badge.d.ts +7 -0
  26. package/badge/badge.js +1 -1
  27. package/badge/badge.js.map +1 -1
  28. package/badge/badge.styles.js +1 -1
  29. package/badge/badge.styles_1c3c6wj.css +16 -0
  30. package/badge/types.d.ts +21 -1
  31. package/box-container/box-container.d.ts +8 -0
  32. package/box-container/box-container.js.map +1 -1
  33. package/box-container/box-container.styles.js +1 -1
  34. package/box-container/box-container.styles.js.map +1 -1
  35. package/box-container/{box-container.styles_5y84d5.css → box-container.styles_5t2j9k.css} +4 -4
  36. package/box-container/types.d.ts +24 -0
  37. package/breadcrumb/breadcrumb.js +1 -1
  38. package/breadcrumb/breadcrumb.js.map +1 -1
  39. package/breadcrumb/breadcrumb.styles_1nl4aua.css +2 -2
  40. package/button/button.styles.js +1 -1
  41. package/button/button.styles.js.map +1 -1
  42. package/button/{button.styles_bcpkzm.css → button.styles_1pxy0co.css} +5 -5
  43. package/calendar/calendar.js +1 -1
  44. package/calendar/calendar.js.map +1 -1
  45. package/calendar/calendar.styles_11ho5x8.css +2 -2
  46. package/card/card.styles_1gh9gs3.css +2 -2
  47. package/checkbox/checkbox.styles_gm5bu1.css +2 -2
  48. package/cjs/accordion/accordion-item.styles.js +1 -1
  49. package/cjs/accordion/accordion-item.styles.js.map +1 -1
  50. package/cjs/accordion/{accordion-item.styles_kchcad.css → accordion-item.styles_1j4eb32.css} +4 -4
  51. package/cjs/accordion/accordion.js.map +1 -1
  52. package/cjs/accordion/accordion.styles.js +1 -1
  53. package/{accordion/accordion.styles_ijglff.css → cjs/accordion/accordion.styles_bzrfrs.css} +3 -3
  54. package/cjs/alert/alert.js.map +1 -1
  55. package/cjs/alert/alert.styles.js +1 -1
  56. package/cjs/alert/alert.styles.js.map +1 -1
  57. package/{alert/alert.styles_1ygel36.css → cjs/alert/alert.styles_patwo2.css} +6 -6
  58. package/cjs/animations/loading-dots/loading-dots.styles_1rgrrmw.css +2 -2
  59. package/cjs/animations/loading-dots/lottie-animation.styles_1m15v69.css +1 -1
  60. package/cjs/animations/loading-dots-spinner/loading-dots-spinner.styles_1hcqkhs.css +2 -2
  61. package/cjs/animations/loading-dots-spinner/lottie-animation.styles_13d1unb.css +1 -1
  62. package/cjs/animations/loading-spinner/loading-spinner.styles_n6xoft.css +2 -2
  63. package/cjs/animations/loading-spinner/lottie-animation.styles_bnn4qt.css +1 -1
  64. package/cjs/avatar/avatar.js.map +1 -1
  65. package/cjs/avatar/avatar.styles_16efw4.css +2 -2
  66. package/cjs/badge/badge.js +1 -1
  67. package/cjs/badge/badge.js.map +1 -1
  68. package/cjs/badge/badge.styles.js +1 -1
  69. package/cjs/badge/badge.styles_1c3c6wj.css +16 -0
  70. package/cjs/box-container/box-container.js.map +1 -1
  71. package/cjs/box-container/box-container.styles.js +1 -1
  72. package/cjs/box-container/box-container.styles.js.map +1 -1
  73. package/cjs/box-container/{box-container.styles_5y84d5.css → box-container.styles_5t2j9k.css} +4 -4
  74. package/cjs/breadcrumb/breadcrumb.js +1 -1
  75. package/cjs/breadcrumb/breadcrumb.js.map +1 -1
  76. package/cjs/breadcrumb/breadcrumb.styles_1nl4aua.css +2 -2
  77. package/cjs/button/button.styles.js +1 -1
  78. package/cjs/button/button.styles.js.map +1 -1
  79. package/cjs/button/{button.styles_bcpkzm.css → button.styles_1pxy0co.css} +5 -5
  80. package/cjs/calendar/calendar.js +1 -1
  81. package/cjs/calendar/calendar.js.map +1 -1
  82. package/cjs/calendar/calendar.styles_11ho5x8.css +2 -2
  83. package/cjs/card/card.styles_1gh9gs3.css +2 -2
  84. package/cjs/checkbox/checkbox.styles_gm5bu1.css +2 -2
  85. package/cjs/countdown-timer/countdown-timer.js.map +1 -1
  86. package/cjs/countdown-timer/countdown-timer.styles.js +1 -1
  87. package/cjs/countdown-timer/{countdown-timer.styles_k50tkw.css → countdown-timer.styles_ipn1b0.css} +3 -3
  88. package/cjs/dashed-border/dashed-border.js +1 -1
  89. package/cjs/dashed-border/dashed-border.js.map +1 -1
  90. package/cjs/dashed-border/dashed-border.styles_zszoox.css +2 -2
  91. package/cjs/data-table/data-table.js +1 -1
  92. package/cjs/data-table/data-table.js.map +1 -1
  93. package/cjs/data-table/data-table.styles.js +1 -1
  94. package/cjs/data-table/{data-table.styles_1nj2uzq.css → data-table.styles_1iqq1g7.css} +3 -3
  95. package/cjs/date-input/date-input.js +1 -1
  96. package/cjs/date-input/date-input.js.map +1 -1
  97. package/cjs/date-input/date-input.styles_1r5kcc7.css +1 -1
  98. package/cjs/date-navigator/date-navigator.js.map +1 -1
  99. package/cjs/date-navigator/date-navigator.styles.js +1 -1
  100. package/cjs/date-navigator/date-navigator.styles.js.map +1 -1
  101. package/cjs/date-navigator/date-navigator.styles_wokh56.css +4 -0
  102. package/cjs/date-range-input/date-range-input.js.map +1 -1
  103. package/cjs/date-range-input/date-range-input.styles_1s7ojnj.css +2 -2
  104. package/cjs/divider/divider.js.map +1 -1
  105. package/cjs/divider/divider.styles_1xpzh8p.css +2 -2
  106. package/cjs/drawer/drawer.js.map +1 -1
  107. package/cjs/drawer/drawer.styles_94hx3y.css +2 -2
  108. package/cjs/e-signature/e-signature-canvas.js +1 -1
  109. package/cjs/e-signature/e-signature-canvas.js.map +1 -1
  110. package/cjs/e-signature/e-signature.js +1 -1
  111. package/cjs/e-signature/e-signature.js.map +1 -1
  112. package/cjs/e-signature/e-signature.styles.js +1 -168
  113. package/cjs/e-signature/e-signature.styles.js.map +1 -1
  114. package/cjs/e-signature/e-signature.styles_lukd9f.css +17 -0
  115. package/cjs/error-display/error-display-data.js +1 -1
  116. package/cjs/error-display/error-display-data.js.map +1 -1
  117. package/cjs/error-display/error-display.js.map +1 -1
  118. package/cjs/error-display/error-display.styles_d3tql1.css +2 -2
  119. package/cjs/external/dompurify/dist/purify.es.js +3 -3
  120. package/cjs/external/dompurify/dist/purify.es.js.map +1 -1
  121. package/cjs/external/lodash/get.js +1 -1
  122. package/cjs/external/lodash/get.js.map +1 -1
  123. package/cjs/feedback-rating/feedback-rating-stars-container.styles_dmi8z9.css +2 -2
  124. package/cjs/feedback-rating/feedback-rating.js.map +1 -1
  125. package/cjs/feedback-rating/feedback-rating.styles_1kdklb6.css +2 -2
  126. package/cjs/file-download/file-download.js +1 -1
  127. package/cjs/file-download/file-download.js.map +1 -1
  128. package/cjs/file-download/file-download.styles.js +1 -32
  129. package/cjs/file-download/file-download.styles.js.map +1 -1
  130. package/cjs/file-download/file-download.styles_iggk8q.css +8 -0
  131. package/cjs/file-download/file-list-card/file-list-card.js +1 -1
  132. package/cjs/file-download/file-list-card/file-list-card.js.map +1 -1
  133. package/cjs/file-download/file-list-card/file-list-card.styles.js +1 -177
  134. package/cjs/file-download/file-list-card/file-list-card.styles.js.map +1 -1
  135. package/cjs/file-download/file-list-card/file-list-card.styles_18j2gut.css +16 -0
  136. package/cjs/file-upload/dropzone.styles_1pllsau.css +2 -2
  137. package/cjs/file-upload/file-item-edit.js +1 -1
  138. package/cjs/file-upload/file-item-edit.js.map +1 -1
  139. package/cjs/file-upload/file-item-edit.styles.js +1 -1
  140. package/cjs/file-upload/file-item-edit.styles.js.map +1 -1
  141. package/{file-upload/file-item-edit.styles_1qbpbxj.css → cjs/file-upload/file-item-edit.styles_19bvztn.css} +6 -5
  142. package/cjs/file-upload/file-list/file-list.js +2 -0
  143. package/cjs/file-upload/file-list/file-list.js.map +1 -0
  144. package/cjs/file-upload/file-list/file-list.styles.js +2 -0
  145. package/cjs/file-upload/file-list/file-list.styles.js.map +1 -0
  146. package/cjs/file-upload/file-list/file-list.styles_1w7so98.css +3 -0
  147. package/cjs/file-upload/file-list-item/file-list-item-thumbnail.styles.js +1 -1
  148. package/cjs/file-upload/file-list-item/file-list-item-thumbnail.styles_1y4si19.css +4 -0
  149. package/cjs/file-upload/file-list-item/file-list-item.js +1 -1
  150. package/cjs/file-upload/file-list-item/file-list-item.js.map +1 -1
  151. package/cjs/file-upload/file-list-item/file-list-item.styles.js +1 -1
  152. package/cjs/file-upload/file-list-item/file-list-item.styles.js.map +1 -1
  153. package/cjs/file-upload/file-list-item/file-list-item.styles_o8000f.css +17 -0
  154. package/cjs/file-upload/file-upload.js +1 -1
  155. package/cjs/file-upload/file-upload.js.map +1 -1
  156. package/cjs/file-upload/file-upload.styles_9ffwcd.css +2 -2
  157. package/cjs/filter/addons/filter-item-checkbox.styles.js +1 -1
  158. package/cjs/filter/addons/filter-item-checkbox.styles.js.map +1 -1
  159. package/{filter/addons/filter-item-checkbox.styles_18l87i2.css → cjs/filter/addons/filter-item-checkbox.styles_7degw7.css} +3 -3
  160. package/cjs/filter/filter-badge.js +2 -0
  161. package/cjs/filter/filter-badge.js.map +1 -0
  162. package/cjs/filter/filter-item-page.js +1 -1
  163. package/cjs/filter/filter-item-page.js.map +1 -1
  164. package/cjs/filter/filter-item-page.styles_17ewfrz.css +1 -1
  165. package/cjs/filter/filter-item.js.map +1 -1
  166. package/cjs/filter/filter-item.styles.js +1 -1
  167. package/cjs/filter/filter-item.styles.js.map +1 -1
  168. package/{filter/filter-item.styles_1e3v6qq.css → cjs/filter/filter-item.styles_cphjnj.css} +4 -4
  169. package/cjs/filter/filter-modal.js +1 -1
  170. package/cjs/filter/filter-modal.js.map +1 -1
  171. package/cjs/filter/filter-modal.styles.js +1 -1
  172. package/cjs/filter/filter-modal.styles.js.map +1 -1
  173. package/cjs/filter/filter-modal.styles_qw3xlg.css +10 -0
  174. package/cjs/filter/filter-sidebar.js +1 -1
  175. package/cjs/filter/filter-sidebar.js.map +1 -1
  176. package/cjs/filter/filter-sidebar.styles.js +1 -1
  177. package/cjs/filter/filter-sidebar.styles.js.map +1 -1
  178. package/cjs/filter/filter-sidebar.styles_1otwpjl.css +5 -0
  179. package/cjs/filter/filter.js.map +1 -1
  180. package/cjs/filter/filter.styles.js +1 -1
  181. package/cjs/filter/filter.styles.js.map +1 -1
  182. package/cjs/filter/{filter.styles_2fmaok.css → filter.styles_1ykijwm.css} +2 -2
  183. package/cjs/footer/footer-download-app.styles_1v1j2us.css +2 -2
  184. package/cjs/footer/footer-resource-addon.styles_1jepb1d.css +2 -2
  185. package/cjs/footer/footer.js +1 -1
  186. package/cjs/footer/footer.js.map +1 -1
  187. package/cjs/footer/footer.styles_1msorhc.css +2 -2
  188. package/cjs/form/form-label-addon.styles_b00z8p.css +1 -1
  189. package/cjs/form/form-label.styles.js +1 -1
  190. package/cjs/form/form-label.styles.js.map +1 -1
  191. package/cjs/form/form-label.styles_1nbe0bm.css +6 -0
  192. package/cjs/form/form-textarea.styles_3p9qoy.css +2 -2
  193. package/cjs/form/form-wrapper.js +1 -1
  194. package/cjs/form/form-wrapper.js.map +1 -1
  195. package/cjs/form/form-wrapper.styles_199rslu.css +1 -1
  196. package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.js +1 -1
  197. package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.js.map +1 -1
  198. package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.styles_vc6y5c.css +2 -2
  199. package/cjs/fullscreen-image-carousel/stateful-image.styles_1xe8ypm.css +2 -2
  200. package/cjs/histogram-slider/histogram-slider.styles_wvd4w.css +2 -2
  201. package/cjs/image-button/image-button.styles.js +1 -1
  202. package/cjs/image-button/image-button.styles_6n1qsr.css +5 -0
  203. package/cjs/index.js +1 -1
  204. package/cjs/input/input.styles_1cblor0.css +2 -2
  205. package/cjs/input-group/input-group-list-addon.js +1 -1
  206. package/cjs/input-group/input-group-list-addon.js.map +1 -1
  207. package/cjs/input-group/input-group-list-addon.styles_17iuqtw.css +2 -2
  208. package/cjs/input-group/input-group.styles.js +1 -1
  209. package/cjs/input-group/input-group.styles_bqye6f.css +3 -0
  210. package/cjs/input-multi-select/input-multi-select.js +1 -1
  211. package/cjs/input-multi-select/input-multi-select.js.map +1 -1
  212. package/cjs/input-nested-multi-select/input-nested-multi-select.js +1 -1
  213. package/cjs/input-nested-multi-select/input-nested-multi-select.js.map +1 -1
  214. package/cjs/input-nested-select/input-nested-select.js +1 -1
  215. package/cjs/input-nested-select/input-nested-select.js.map +1 -1
  216. package/cjs/input-range-select/input-range-select.js +1 -1
  217. package/cjs/input-range-select/input-range-select.js.map +1 -1
  218. package/cjs/input-range-select/input-range-select.styles_adbrbm.css +2 -2
  219. package/cjs/input-range-slider/input-range-slider.styles_aljl2v.css +2 -2
  220. package/cjs/input-select/input-select.js +1 -1
  221. package/cjs/input-select/input-select.js.map +1 -1
  222. package/cjs/input-textarea/textarea-counter.styles.js +1 -1
  223. package/cjs/input-textarea/textarea-counter.styles.js.map +1 -1
  224. package/cjs/input-textarea/textarea-counter.styles_1n3wsnv.css +1 -0
  225. package/cjs/input-textarea/textarea.styles.js +1 -1
  226. package/cjs/input-textarea/textarea.styles_22z4n3.css +5 -0
  227. package/cjs/language-switcher/dropdown-panel.styles.js +1 -1
  228. package/cjs/language-switcher/dropdown-panel.styles.js.map +1 -1
  229. package/cjs/language-switcher/dropdown-panel.styles_1qsjf8d.css +4 -0
  230. package/cjs/language-switcher/dropdown-variant.js +1 -1
  231. package/cjs/language-switcher/dropdown-variant.js.map +1 -1
  232. package/cjs/language-switcher/dropdown-variant.styles.js +1 -1
  233. package/cjs/language-switcher/dropdown-variant.styles_1vrdfky.css +2 -0
  234. package/cjs/language-switcher/link-container-variant.styles.js +1 -1
  235. package/cjs/language-switcher/link-container-variant.styles_1iw6zux.css +5 -0
  236. package/cjs/layout/col-div.js +1 -1
  237. package/cjs/layout/col-div.js.map +1 -1
  238. package/cjs/layout/col-div.styles_16o6mwx.css +1 -1
  239. package/cjs/layout/container.styles_v70ec6.css +2 -2
  240. package/cjs/layout/section.styles_hstcaf.css +1 -1
  241. package/cjs/link-list/link-list.styles.js +1 -1
  242. package/cjs/link-list/link-list.styles.js.map +1 -1
  243. package/{link-list/link-list.styles_1g33nb4.css → cjs/link-list/link-list.styles_m57vks.css} +4 -4
  244. package/cjs/local-nav/local-nav-dropdown/local-nav-dropdown.styles.js +1 -1
  245. package/{local-nav/local-nav-dropdown/local-nav-dropdown.styles_ftv36t.css → cjs/local-nav/local-nav-dropdown/local-nav-dropdown.styles_uhd4xl.css} +3 -3
  246. package/cjs/local-nav/local-nav-menu/local-nav-menu.styles_pq19dh.css +2 -2
  247. package/cjs/markup/markup.js +1 -1
  248. package/cjs/markup/markup.js.map +1 -1
  249. package/cjs/markup/markup.style.js +1 -1
  250. package/cjs/markup/markup.style.js.map +1 -1
  251. package/cjs/markup/markup.style_1iu40x9.css +2 -2
  252. package/cjs/masked-input/masked-input.styles.js +1 -1
  253. package/cjs/masked-input/masked-input.styles.js.map +1 -1
  254. package/{masked-input/masked-input.styles_4i1qsy.css → cjs/masked-input/masked-input.styles_1cm388a.css} +4 -4
  255. package/cjs/masthead/masthead.js +1 -1
  256. package/cjs/masthead/masthead.js.map +1 -1
  257. package/cjs/masthead/masthead.styles_1huzon9.css +2 -2
  258. package/cjs/menu/menu-content.styles_p7ijll.css +2 -2
  259. package/cjs/menu/menu-item.styles_liyed8.css +2 -2
  260. package/cjs/menu/menu-link.styles_hfxoez.css +2 -2
  261. package/cjs/menu/menu-section.styles_g7my4d.css +2 -2
  262. package/cjs/modal/modal-box.styles.js +1 -1
  263. package/cjs/modal/modal-box.styles.js.map +1 -1
  264. package/cjs/modal/modal-box.styles_y52cts.css +11 -0
  265. package/cjs/modal/modal.js +1 -1
  266. package/cjs/modal/modal.js.map +1 -1
  267. package/cjs/modal/modal.styles.js +1 -1
  268. package/cjs/modal/modal.styles.js.map +1 -1
  269. package/cjs/modal/modal.styles_1lbblx6.css +11 -0
  270. package/cjs/modal-v2/modal-v2.js +1 -1
  271. package/cjs/modal-v2/modal-v2.js.map +1 -1
  272. package/cjs/modal-v2/modal-v2.styles.js +1 -1
  273. package/cjs/modal-v2/modal-v2.styles.js.map +1 -1
  274. package/cjs/modal-v2/modal-v2.styles_a8gv5i.css +3 -0
  275. package/cjs/modal-v2/slots/card.js +1 -1
  276. package/cjs/modal-v2/slots/card.js.map +1 -1
  277. package/cjs/modal-v2/slots/slot-styles_13sd376.css +2 -2
  278. package/cjs/navbar/brand.styles_zcgddp.css +1 -1
  279. package/cjs/navbar/drawer.js +1 -1
  280. package/cjs/navbar/drawer.js.map +1 -1
  281. package/cjs/navbar/drawer.styles_7hnxp5.css +2 -2
  282. package/cjs/navbar/menu.styles_gdpqc.css +2 -2
  283. package/cjs/navbar/navbar-action-buttons.styles_1vpm0nk.css +2 -2
  284. package/cjs/navbar/navbar-items.styles.js +1 -1
  285. package/cjs/navbar/navbar-items.styles.js.map +1 -1
  286. package/cjs/navbar/{navbar-items.styles_i9cunu.css → navbar-items.styles_1i3ltot.css} +8 -8
  287. package/cjs/navbar/navbar.js +1 -1
  288. package/cjs/navbar/navbar.js.map +1 -1
  289. package/cjs/navbar/navbar.styles_koy0c7.css +2 -2
  290. package/cjs/notification-banner/notification-banner.styles.js +1 -1
  291. package/cjs/notification-banner/notification-banner.styles.js.map +1 -1
  292. package/{notification-banner/notification-banner.styles_130loac.css → cjs/notification-banner/notification-banner.styles_uxlysy.css} +4 -4
  293. package/cjs/otp-input/otp-input.styles_5sbutl.css +2 -2
  294. package/cjs/otp-verification/contact-input-section.js +1 -1
  295. package/cjs/otp-verification/contact-input-section.js.map +1 -1
  296. package/cjs/otp-verification/contact-input-section.styles.js +2 -0
  297. package/cjs/otp-verification/contact-input-section.styles.js.map +1 -0
  298. package/cjs/otp-verification/contact-input-section.styles_odrjvt.css +14 -0
  299. package/cjs/otp-verification/otp-verification.js +1 -1
  300. package/cjs/otp-verification/otp-verification.js.map +1 -1
  301. package/cjs/otp-verification/otp-verification.styles.js +2 -0
  302. package/cjs/otp-verification/otp-verification.styles.js.map +1 -0
  303. package/cjs/otp-verification/otp-verification.styles_dg9bm8.css +1 -0
  304. package/cjs/otp-verification/thumbnail/email-thumbnail.js +1 -21
  305. package/cjs/otp-verification/thumbnail/email-thumbnail.js.map +1 -1
  306. package/cjs/otp-verification/thumbnail/phone-thumbnail.js +1 -17
  307. package/cjs/otp-verification/thumbnail/phone-thumbnail.js.map +1 -1
  308. package/cjs/otp-verification/thumbnail/thumbnail.styles.js +2 -0
  309. package/cjs/otp-verification/thumbnail/thumbnail.styles.js.map +1 -0
  310. package/cjs/otp-verification/thumbnail/thumbnail.styles_shqylh.css +3 -0
  311. package/cjs/otp-verification/verification-section.js +1 -1
  312. package/cjs/otp-verification/verification-section.js.map +1 -1
  313. package/cjs/otp-verification/verification-section.styles.js +2 -0
  314. package/cjs/otp-verification/verification-section.styles.js.map +1 -0
  315. package/cjs/otp-verification/verification-section.styles_x8jj.css +5 -0
  316. package/cjs/overlay/overlay.js +1 -1
  317. package/cjs/overlay/overlay.js.map +1 -1
  318. package/cjs/overlay/overlay.styles_12wym18.css +2 -2
  319. package/cjs/pagination/pagination.styles.js +1 -1
  320. package/cjs/pagination/pagination.styles.js.map +1 -1
  321. package/{pagination/pagination.styles_1u898rb.css → cjs/pagination/pagination.styles_6bcgva.css} +5 -5
  322. package/cjs/pill/pill.styles.js +1 -1
  323. package/{pill/pill.styles_1wiyl8.css → cjs/pill/pill.styles_xwrniu.css} +2 -2
  324. package/cjs/popover/popover-inline/popover-inline.styles_bkopnt.css +2 -2
  325. package/cjs/popover/popover-trigger.styles_8zokig.css +1 -1
  326. package/cjs/popover/popover.styles_ujnf0h.css +2 -2
  327. package/cjs/predictive-text-input/predictive-text-input.js +1 -1
  328. package/cjs/predictive-text-input/predictive-text-input.js.map +1 -1
  329. package/cjs/progress-indicator/progress-indicator.styles_1c038s4.css +2 -2
  330. package/cjs/radio-button/radio-button.styles_1c4v6v.css +2 -2
  331. package/cjs/schedule/const.js +1 -1
  332. package/cjs/schedule/const.js.map +1 -1
  333. package/cjs/schedule/schedule-day-view/schedule-day-view.js +1 -1
  334. package/cjs/schedule/schedule-day-view/schedule-day-view.js.map +1 -1
  335. package/cjs/schedule/schedule-day-view/schedule-day-view.styles.js +1 -152
  336. package/cjs/schedule/schedule-day-view/schedule-day-view.styles.js.map +1 -1
  337. package/cjs/schedule/schedule-day-view/schedule-day-view.styles_8ti149.css +30 -0
  338. package/cjs/schedule/schedule-header/schedule-header.js +1 -1
  339. package/cjs/schedule/schedule-header/schedule-header.js.map +1 -1
  340. package/cjs/schedule/schedule-header/schedule-header.styles.js +2 -0
  341. package/cjs/schedule/schedule-header/schedule-header.styles.js.map +1 -0
  342. package/cjs/schedule/schedule-header/schedule-header.styles_1n2u5vj.css +6 -0
  343. package/cjs/schedule/schedule-slot-content/schedule-slot-content.js +2 -0
  344. package/cjs/schedule/schedule-slot-content/schedule-slot-content.js.map +1 -0
  345. package/cjs/schedule/schedule-slot-content/style-helper.js +2 -0
  346. package/cjs/schedule/schedule-slot-content/style-helper.js.map +1 -0
  347. package/cjs/schedule/schedule-week-view/schedule-week-view.js +1 -1
  348. package/cjs/schedule/schedule-week-view/schedule-week-view.js.map +1 -1
  349. package/cjs/schedule/schedule-week-view/schedule-week-view.styles.js +1 -74
  350. package/cjs/schedule/schedule-week-view/schedule-week-view.styles.js.map +1 -1
  351. package/cjs/schedule/schedule-week-view/schedule-week-view.styles_x7x50m.css +10 -0
  352. package/cjs/schedule/schedule-week-view/time-cell.js +1 -1
  353. package/cjs/schedule/schedule-week-view/time-cell.js.map +1 -1
  354. package/cjs/schedule/schedule-week-view/time-cell.styles.js +1 -34
  355. package/cjs/schedule/schedule-week-view/time-cell.styles.js.map +1 -1
  356. package/cjs/schedule/schedule-week-view/time-cell.styles_1sorjz8.css +14 -0
  357. package/cjs/schedule/schedule-week-view/week-view-utils.js +1 -1
  358. package/cjs/schedule/schedule-week-view/week-view-utils.js.map +1 -1
  359. package/cjs/schedule/schedule.js +1 -1
  360. package/cjs/schedule/schedule.js.map +1 -1
  361. package/cjs/schedule/schedule.styles.js +1 -26
  362. package/cjs/schedule/schedule.styles.js.map +1 -1
  363. package/cjs/schedule/schedule.styles_fdy5a1.css +5 -0
  364. package/cjs/schedule/shared/with-optional-popover.js +1 -5
  365. package/cjs/schedule/shared/with-optional-popover.js.map +1 -1
  366. package/cjs/schedule/shared/with-optional-popover.styles.js +2 -0
  367. package/cjs/schedule/shared/with-optional-popover.styles.js.map +1 -0
  368. package/cjs/schedule/shared/with-optional-popover.styles_7mv3p2.css +1 -0
  369. package/cjs/schedule/time-indicator/time-indicator.js +1 -1
  370. package/cjs/schedule/time-indicator/time-indicator.js.map +1 -1
  371. package/cjs/schedule/time-indicator/time-indicator.styles.js +1 -33
  372. package/cjs/schedule/time-indicator/time-indicator.styles.js.map +1 -1
  373. package/cjs/schedule/time-indicator/time-indicator.styles_1eaxyes.css +6 -0
  374. package/cjs/select-histogram/select-histogram.js +1 -1
  375. package/cjs/select-histogram/select-histogram.js.map +1 -1
  376. package/cjs/select-histogram/select-histogram.styles.js +1 -1
  377. package/cjs/select-histogram/select-histogram.styles.js.map +1 -1
  378. package/cjs/select-histogram/select-histogram.styles_n260dy.css +5 -0
  379. package/cjs/shared/accessibility/index_13g9vp.css +1 -1
  380. package/cjs/shared/clickable-icon/clickable-icon.styles_1v2imml.css +2 -2
  381. package/cjs/shared/component-loading-spinner/component-loading-spinner.styles_15eq02i.css +2 -2
  382. package/cjs/shared/dropdown-list/dropdown-label.js +1 -1
  383. package/cjs/shared/dropdown-list/dropdown-label.js.map +1 -1
  384. package/cjs/shared/dropdown-list/dropdown-label.styles.js +1 -1
  385. package/cjs/shared/dropdown-list/dropdown-label.styles.js.map +1 -1
  386. package/{shared/dropdown-list/dropdown-label.styles_1dwmd8f.css → cjs/shared/dropdown-list/dropdown-label.styles_mloii0.css} +6 -6
  387. package/cjs/shared/dropdown-list/dropdown-list.styles.js +1 -1
  388. package/cjs/shared/dropdown-list/dropdown-list.styles.js.map +1 -1
  389. package/{shared/dropdown-list/dropdown-list.styles_1kt4zhf.css → cjs/shared/dropdown-list/dropdown-list.styles_konwm.css} +5 -5
  390. package/cjs/shared/dropdown-list/dropdown-search.styles.js +1 -1
  391. package/cjs/shared/dropdown-list/dropdown-search.styles.js.map +1 -1
  392. package/{shared/dropdown-list/dropdown-search.styles_4r9oma.css → cjs/shared/dropdown-list/dropdown-search.styles_1hc1gkh.css} +3 -3
  393. package/cjs/shared/dropdown-list/expandable-element.js +1 -1
  394. package/cjs/shared/dropdown-list/expandable-element.js.map +1 -1
  395. package/cjs/shared/dropdown-list/expandable-element.styles.js +1 -1
  396. package/cjs/shared/dropdown-list/expandable-element.styles.js.map +1 -1
  397. package/cjs/shared/dropdown-list/expandable-element.styles_rkkvqr.css +5 -0
  398. package/cjs/shared/dropdown-list/nested-dropdown-list.styles_wdhxoe.css +2 -2
  399. package/cjs/shared/dropdown-wrapper/dropdown-wrapper.styles.js +1 -1
  400. package/cjs/shared/dropdown-wrapper/dropdown-wrapper.styles.js.map +1 -1
  401. package/cjs/shared/dropdown-wrapper/dropdown-wrapper.styles_15hwwoj.css +3 -0
  402. package/cjs/shared/fade-wrapper/fade-wrapper.styles_16iug7l.css +2 -2
  403. package/cjs/shared/hooks/useViewport.js +1 -1
  404. package/cjs/shared/hooks/useViewport.js.map +1 -1
  405. package/cjs/shared/image-placeholder/image-placeholder.styles_44nwil.css +1 -1
  406. package/cjs/shared/input-wrapper/input-wrapper.styles.js +1 -1
  407. package/cjs/shared/input-wrapper/{input-wrapper.styles_19fpzb.css → input-wrapper.styles_je6maw.css} +4 -4
  408. package/cjs/shared/internal-calendar/calendar-dropdown.styles_wybjai.css +1 -1
  409. package/cjs/shared/internal-calendar/calendar-manager.js +1 -1
  410. package/cjs/shared/internal-calendar/calendar-manager.js.map +1 -1
  411. package/cjs/shared/internal-calendar/calendar-manager.styles.js +1 -1
  412. package/cjs/shared/internal-calendar/calendar-manager.styles.js.map +1 -1
  413. package/cjs/shared/internal-calendar/{calendar-manager.styles_1q13ylk.css → calendar-manager.styles_1njwkj2.css} +4 -4
  414. package/cjs/shared/internal-calendar/day-cell/day-cell.styles.js +1 -1
  415. package/cjs/shared/internal-calendar/day-cell/day-cell.styles.js.map +1 -1
  416. package/{shared/internal-calendar/day-cell/day-cell.styles_vazxvn.css → cjs/shared/internal-calendar/day-cell/day-cell.styles_1t5oqc1.css} +3 -3
  417. package/cjs/shared/internal-calendar/internal-calendar-month.styles.js +1 -1
  418. package/{shared/internal-calendar/internal-calendar-month.styles_1pk3ynj.css → cjs/shared/internal-calendar/internal-calendar-month.styles_14oh57f.css} +3 -3
  419. package/cjs/shared/internal-calendar/internal-calendar-year.styles.js +1 -1
  420. package/cjs/shared/internal-calendar/internal-calendar-year.styles.js.map +1 -1
  421. package/cjs/shared/internal-calendar/{internal-calendar-year.styles_1azy42u.css → internal-calendar-year.styles_therlc.css} +3 -3
  422. package/cjs/shared/internal-calendar/internal-calendar.styles_gnc3eq.css +1 -1
  423. package/cjs/shared/internal-calendar/single/single-cell.js +1 -1
  424. package/cjs/shared/internal-calendar/single/single-cell.js.map +1 -1
  425. package/cjs/shared/internal-calendar/standard/standard-calendar-day-view.styles.js +1 -1
  426. package/cjs/shared/internal-calendar/standard/standard-calendar-day-view.styles_1bw26au.css +3 -0
  427. package/cjs/shared/progress-bar/progress-bar.styles_125ri7a.css +1 -1
  428. package/cjs/shared/range-input-inner-container/range-input-inner-container.styles_1v61utg.css +2 -2
  429. package/cjs/shared/standalone-date-input/standalone-date-input.js +1 -1
  430. package/cjs/shared/standalone-date-input/standalone-date-input.js.map +1 -1
  431. package/cjs/shared/standalone-date-input/standalone-date-input.styles.js +1 -1
  432. package/cjs/shared/standalone-date-input/standalone-date-input.styles.js.map +1 -1
  433. package/cjs/shared/standalone-date-input/standalone-date-input.styles_157qo89.css +15 -0
  434. package/cjs/shared/time-slot/time-slot.js +1 -1
  435. package/cjs/shared/time-slot/time-slot.js.map +1 -1
  436. package/cjs/shared/time-slot/time-slot.styles.js +1 -1
  437. package/cjs/shared/time-slot/time-slot.styles.js.map +1 -1
  438. package/cjs/shared/time-slot/time-slot.styles_18s0to7.css +29 -0
  439. package/cjs/shared/timepicker-dropdown/timepicker-dropdown.styles_119l6k6.css +2 -2
  440. package/cjs/sidenav/sidenav-drawer-item.styles.js +1 -1
  441. package/cjs/sidenav/sidenav-drawer-item.styles.js.map +1 -1
  442. package/cjs/sidenav/sidenav-drawer-item.styles_1ljnyx2.css +6 -0
  443. package/cjs/sidenav/sidenav-drawer-subitem.styles.js +1 -1
  444. package/cjs/sidenav/sidenav-drawer-subitem.styles.js.map +1 -1
  445. package/cjs/sidenav/sidenav-drawer-subitem.styles_2y58kf.css +1 -0
  446. package/cjs/sidenav/sidenav-group.styles_1x604sw.css +2 -2
  447. package/cjs/sidenav/sidenav-item.styles.js +1 -1
  448. package/cjs/sidenav/sidenav-item.styles.js.map +1 -1
  449. package/cjs/sidenav/{sidenav-item.styles_1eew8px.css → sidenav-item.styles_lqw3kh.css} +4 -4
  450. package/cjs/sidenav/sidenav.styles_1vxezie.css +2 -2
  451. package/cjs/singpass-button/singpass-button.styles_1miyex3.css +2 -2
  452. package/cjs/smart-app-banner/smart-app-banner.styles.js +1 -1
  453. package/cjs/smart-app-banner/smart-app-banner.styles.js.map +1 -1
  454. package/cjs/smart-app-banner/{smart-app-banner.styles_m5dtgh.css → smart-app-banner.styles_15u6yv4.css} +4 -4
  455. package/cjs/tab/tab-link-chain.styles.js +1 -1
  456. package/cjs/tab/tab-link-chain.styles.js.map +1 -1
  457. package/cjs/tab/{tab-link-chain.styles_1nreqrp.css → tab-link-chain.styles_49got4.css} +4 -4
  458. package/cjs/tab/tab.styles_1najffw.css +1 -1
  459. package/cjs/table/table.styles_1af5ipv.css +2 -2
  460. package/cjs/tag/tag.style.js +1 -1
  461. package/cjs/tag/{tag.style_10tn8i.css → tag.style_d98c53.css} +3 -3
  462. package/cjs/text-list/text-list.styles.js +1 -1
  463. package/cjs/text-list/text-list.styles.js.map +1 -1
  464. package/cjs/text-list/text-list.styles_w3fvyt.css +16 -0
  465. package/cjs/theme/index.js +1 -1
  466. package/cjs/theme/theme-provider/hooks.js +1 -1
  467. package/cjs/theme/theme-provider/hooks.js.map +1 -1
  468. package/cjs/theme/tokens/colour.js +1 -1
  469. package/cjs/theme/tokens/colour.js.map +1 -1
  470. package/cjs/theme/tokens/font.js +1 -1
  471. package/cjs/theme/tokens/font.js.map +1 -1
  472. package/cjs/theme/types.js +1 -1
  473. package/cjs/theme/types.js.map +1 -1
  474. package/cjs/theme/utils/css-variable.js +1 -1
  475. package/cjs/theme/utils/css-variable.js.map +1 -1
  476. package/cjs/theme/utils/font.js +1 -1
  477. package/cjs/theme/utils/font.js.map +1 -1
  478. package/cjs/theme/utils/token-resolver.js +1 -1
  479. package/cjs/theme/utils/token-resolver.js.map +1 -1
  480. package/cjs/theme/utils/use-design-token-override.js +2 -0
  481. package/cjs/theme/utils/use-design-token-override.js.map +1 -0
  482. package/cjs/theme/utils/use-design-token.js +1 -1
  483. package/cjs/theme/utils/use-design-token.js.map +1 -1
  484. package/cjs/theme/utils/use-media-query.js +1 -1
  485. package/cjs/theme/utils/use-media-query.js.map +1 -1
  486. package/cjs/time-range-picker/combobox-picker/combobox-picker.js +1 -1
  487. package/cjs/time-range-picker/combobox-picker/combobox-picker.js.map +1 -1
  488. package/cjs/time-range-picker/combobox-picker/combobox-picker.styles_7i9vso.css +1 -1
  489. package/cjs/time-range-picker/common.styles_1qwp4xa.css +2 -2
  490. package/cjs/time-slot-bar/time-slot-bar.styles_wigbyd.css +2 -2
  491. package/cjs/time-slot-bar-week/consts.js +2 -0
  492. package/cjs/time-slot-bar-week/consts.js.map +1 -0
  493. package/cjs/time-slot-bar-week/time-slot-bar-week-days.js +1 -1
  494. package/cjs/time-slot-bar-week/time-slot-bar-week-days.js.map +1 -1
  495. package/cjs/time-slot-bar-week/time-slot-bar-week-days.styles.js +2 -0
  496. package/cjs/time-slot-bar-week/time-slot-bar-week-days.styles.js.map +1 -0
  497. package/cjs/time-slot-bar-week/time-slot-bar-week-days.styles_evdvs9.css +17 -0
  498. package/cjs/time-slot-bar-week/time-slot-bar-week.js +1 -1
  499. package/cjs/time-slot-bar-week/time-slot-bar-week.js.map +1 -1
  500. package/cjs/time-slot-bar-week/time-slot-bar-week.styles.js +2 -0
  501. package/cjs/time-slot-bar-week/time-slot-bar-week.styles.js.map +1 -0
  502. package/cjs/time-slot-bar-week/time-slot-bar-week.styles_11ybf42.css +1 -0
  503. package/cjs/time-slot-bar-week/time-slot-cell.js +2 -0
  504. package/cjs/time-slot-bar-week/time-slot-cell.js.map +1 -0
  505. package/cjs/time-slot-week-view/time-slot-week-days.js +1 -1
  506. package/cjs/time-slot-week-view/time-slot-week-days.js.map +1 -1
  507. package/cjs/time-slot-week-view/time-slot-week-days.styles.js +2 -0
  508. package/cjs/time-slot-week-view/time-slot-week-days.styles.js.map +1 -0
  509. package/cjs/time-slot-week-view/time-slot-week-days.styles_1h21vyw.css +9 -0
  510. package/cjs/time-slot-week-view/time-slot-week-view.js +1 -1
  511. package/cjs/time-slot-week-view/time-slot-week-view.js.map +1 -1
  512. package/cjs/time-slot-week-view/time-slot-week-view.styles.js +1 -9
  513. package/cjs/time-slot-week-view/time-slot-week-view.styles.js.map +1 -1
  514. package/cjs/time-slot-week-view/time-slot-week-view.styles_gqgsw2.css +1 -0
  515. package/cjs/timeline/timeline.styles.js +1 -1
  516. package/cjs/timeline/{timeline.styles_1wcnzot.css → timeline.styles_1jxzik4.css} +2 -2
  517. package/cjs/timepicker/timepicker.js +1 -1
  518. package/cjs/timepicker/timepicker.js.map +1 -1
  519. package/cjs/timepicker/timepicker.styles.js +1 -1
  520. package/cjs/timepicker/timepicker.styles.js.map +1 -1
  521. package/cjs/timepicker/timepicker.styles_1jm33yw.css +1 -0
  522. package/cjs/timetable/timetable-header/timetable-header.styles_11gl1h4.css +2 -2
  523. package/cjs/timetable/timetable-row/row-bar.styles_1x0vrsz.css +1 -1
  524. package/cjs/timetable/timetable-row/row-cell.styles_y1dl5j.css +2 -2
  525. package/cjs/timetable/timetable.styles_7rp8kz.css +2 -2
  526. package/cjs/toast/toast.styles.js +1 -1
  527. package/cjs/toast/toast.styles.js.map +1 -1
  528. package/cjs/toast/{toast.styles_ngrlup.css → toast.styles_1e0l60w.css} +3 -3
  529. package/cjs/toggle/toggle-icon.styles_ba71y.css +2 -2
  530. package/cjs/toggle/toggle.styles.js +1 -1
  531. package/cjs/toggle/toggle.styles.js.map +1 -1
  532. package/{toggle/toggle.styles_1yzqsu.css → cjs/toggle/toggle.styles_1t5qrye.css} +7 -7
  533. package/cjs/typography/typography-text.styles_1734x2k.css +2 -2
  534. package/cjs/typography/typography.js +1 -1
  535. package/cjs/typography/typography.js.map +1 -1
  536. package/cjs/typography/typography.styles.js +1 -1
  537. package/cjs/typography/typography.styles.js.map +1 -1
  538. package/cjs/typography/typography.styles_1wd82dn.css +11 -0
  539. package/cjs/uneditable-section/section-item.styles.js +1 -1
  540. package/cjs/uneditable-section/section-item.styles.js.map +1 -1
  541. package/cjs/uneditable-section/section-item.styles_mwx8ht.css +9 -0
  542. package/cjs/uneditable-section/uneditable-section.js +1 -1
  543. package/cjs/uneditable-section/uneditable-section.js.map +1 -1
  544. package/cjs/uneditable-section/uneditable-section.styles_aj9zun.css +2 -2
  545. package/cjs/unit-number/unit-number-input.styles_8yizj.css +2 -2
  546. package/cjs/util/is-styled-components.js +2 -0
  547. package/cjs/util/is-styled-components.js.map +1 -0
  548. package/cjs/util/styling-helper.js +1 -1
  549. package/cjs/util/styling-helper.js.map +1 -1
  550. package/codemod-utils.d.ts +1 -0
  551. package/codemods/codemod-utils.ts +17 -0
  552. package/codemods/index.ts +231 -75
  553. package/codemods/migrate-popover/index.ts +267 -0
  554. package/codemods/run-codemod.js +6 -53
  555. package/codemods/run-codemod.js.map +1 -1
  556. package/codemods/run-codemod.ts +7 -54
  557. package/countdown-timer/countdown-timer.d.ts +6 -0
  558. package/countdown-timer/countdown-timer.js.map +1 -1
  559. package/countdown-timer/countdown-timer.styles.js +1 -1
  560. package/countdown-timer/{countdown-timer.styles_k50tkw.css → countdown-timer.styles_ipn1b0.css} +3 -3
  561. package/countdown-timer/types.d.ts +55 -11
  562. package/dashed-border/dashed-border.d.ts +6 -0
  563. package/dashed-border/dashed-border.js +1 -1
  564. package/dashed-border/dashed-border.js.map +1 -1
  565. package/dashed-border/dashed-border.styles_zszoox.css +2 -2
  566. package/dashed-border/types.d.ts +27 -5
  567. package/data-table/data-table.d.ts +8 -0
  568. package/data-table/data-table.js +1 -1
  569. package/data-table/data-table.js.map +1 -1
  570. package/data-table/data-table.styles.js +1 -1
  571. package/data-table/{data-table.styles_1nj2uzq.css → data-table.styles_1iqq1g7.css} +3 -3
  572. package/data-table/types.d.ts +58 -12
  573. package/date-input/date-input.d.ts +5 -0
  574. package/date-input/date-input.js +1 -1
  575. package/date-input/date-input.js.map +1 -1
  576. package/date-input/date-input.styles_1r5kcc7.css +1 -1
  577. package/date-input/types.d.ts +32 -16
  578. package/date-navigator/date-navigator.d.ts +6 -0
  579. package/date-navigator/date-navigator.js.map +1 -1
  580. package/date-navigator/date-navigator.styles.js +1 -1
  581. package/date-navigator/date-navigator.styles.js.map +1 -1
  582. package/date-navigator/date-navigator.styles_wokh56.css +4 -0
  583. package/date-navigator/types.d.ts +44 -7
  584. package/date-range-input/date-range-input.d.ts +4 -0
  585. package/date-range-input/date-range-input.js.map +1 -1
  586. package/date-range-input/date-range-input.styles_1s7ojnj.css +2 -2
  587. package/date-range-input/types.d.ts +50 -14
  588. package/divider/divider.d.ts +6 -0
  589. package/divider/divider.js.map +1 -1
  590. package/divider/divider.styles_1xpzh8p.css +2 -2
  591. package/divider/types.d.ts +27 -4
  592. package/drawer/drawer.d.ts +7 -0
  593. package/drawer/drawer.js.map +1 -1
  594. package/drawer/drawer.styles_94hx3y.css +2 -2
  595. package/drawer/types.d.ts +16 -4
  596. package/e-signature/e-signature-canvas.js +1 -1
  597. package/e-signature/e-signature-canvas.js.map +1 -1
  598. package/e-signature/e-signature.d.ts +5 -0
  599. package/e-signature/e-signature.js +1 -1
  600. package/e-signature/e-signature.js.map +1 -1
  601. package/e-signature/e-signature.styles.d.ts +17 -45
  602. package/e-signature/e-signature.styles.js +1 -168
  603. package/e-signature/e-signature.styles.js.map +1 -1
  604. package/e-signature/e-signature.styles_lukd9f.css +17 -0
  605. package/e-signature/types.d.ts +23 -1
  606. package/error-display/error-display-data.js +1 -1
  607. package/error-display/error-display-data.js.map +1 -1
  608. package/error-display/error-display.d.ts +7 -0
  609. package/error-display/error-display.js.map +1 -1
  610. package/error-display/error-display.styles_d3tql1.css +2 -2
  611. package/error-display/types.d.ts +36 -6
  612. package/external/dompurify/dist/purify.es.js +2 -2
  613. package/external/dompurify/dist/purify.es.js.map +1 -1
  614. package/external/lodash/get.js +1 -1
  615. package/external/lodash/get.js.map +1 -1
  616. package/feedback-rating/feedback-rating-stars-container.styles_dmi8z9.css +2 -2
  617. package/feedback-rating/feedback-rating.d.ts +6 -0
  618. package/feedback-rating/feedback-rating.js.map +1 -1
  619. package/feedback-rating/feedback-rating.styles_1kdklb6.css +2 -2
  620. package/feedback-rating/types.d.ts +29 -0
  621. package/file-download/file-download.d.ts +6 -0
  622. package/file-download/file-download.js +1 -1
  623. package/file-download/file-download.js.map +1 -1
  624. package/file-download/file-download.styles.d.ts +8 -11
  625. package/file-download/file-download.styles.js +1 -32
  626. package/file-download/file-download.styles.js.map +1 -1
  627. package/file-download/file-download.styles_iggk8q.css +8 -0
  628. package/file-download/file-list-card/file-list-card.js +1 -1
  629. package/file-download/file-list-card/file-list-card.js.map +1 -1
  630. package/file-download/file-list-card/file-list-card.styles.d.ts +16 -64
  631. package/file-download/file-list-card/file-list-card.styles.js +1 -177
  632. package/file-download/file-list-card/file-list-card.styles.js.map +1 -1
  633. package/file-download/file-list-card/file-list-card.styles_18j2gut.css +16 -0
  634. package/file-download/types.d.ts +44 -11
  635. package/file-upload/dropzone.styles_1pllsau.css +2 -2
  636. package/file-upload/file-item-edit.d.ts +4 -1
  637. package/file-upload/file-item-edit.js +1 -1
  638. package/file-upload/file-item-edit.js.map +1 -1
  639. package/file-upload/file-item-edit.styles.d.ts +1 -0
  640. package/file-upload/file-item-edit.styles.js +1 -1
  641. package/file-upload/file-item-edit.styles.js.map +1 -1
  642. package/{cjs/file-upload/file-item-edit.styles_1qbpbxj.css → file-upload/file-item-edit.styles_19bvztn.css} +6 -5
  643. package/file-upload/{file-list.d.ts → file-list/file-list.d.ts} +4 -1
  644. package/file-upload/file-list/file-list.js +2 -0
  645. package/file-upload/file-list/file-list.js.map +1 -0
  646. package/file-upload/file-list/file-list.styles.js +2 -0
  647. package/file-upload/file-list/file-list.styles.js.map +1 -0
  648. package/file-upload/file-list/file-list.styles_1w7so98.css +3 -0
  649. package/file-upload/file-list/index.d.ts +1 -0
  650. package/file-upload/file-list-item/file-list-item-thumbnail.styles.js +1 -1
  651. package/file-upload/file-list-item/file-list-item-thumbnail.styles_1y4si19.css +4 -0
  652. package/file-upload/file-list-item/file-list-item.d.ts +3 -1
  653. package/file-upload/file-list-item/file-list-item.js +1 -1
  654. package/file-upload/file-list-item/file-list-item.js.map +1 -1
  655. package/file-upload/file-list-item/file-list-item.styles.d.ts +3 -0
  656. package/file-upload/file-list-item/file-list-item.styles.js +1 -1
  657. package/file-upload/file-list-item/file-list-item.styles.js.map +1 -1
  658. package/file-upload/file-list-item/file-list-item.styles_o8000f.css +17 -0
  659. package/file-upload/file-upload.d.ts +2 -1
  660. package/file-upload/file-upload.js +1 -1
  661. package/file-upload/file-upload.js.map +1 -1
  662. package/file-upload/file-upload.styles_9ffwcd.css +2 -2
  663. package/file-upload/types.d.ts +125 -20
  664. package/filter/addons/filter-item-checkbox.styles.js +1 -1
  665. package/filter/addons/filter-item-checkbox.styles.js.map +1 -1
  666. package/{cjs/filter/addons/filter-item-checkbox.styles_18l87i2.css → filter/addons/filter-item-checkbox.styles_7degw7.css} +3 -3
  667. package/filter/filter-badge.d.ts +5 -0
  668. package/filter/filter-badge.js +2 -0
  669. package/filter/filter-badge.js.map +1 -0
  670. package/filter/filter-item-page.d.ts +1 -1
  671. package/filter/filter-item-page.js +1 -1
  672. package/filter/filter-item-page.js.map +1 -1
  673. package/filter/filter-item-page.styles_17ewfrz.css +1 -1
  674. package/filter/filter-item.js.map +1 -1
  675. package/filter/filter-item.styles.js +1 -1
  676. package/filter/filter-item.styles.js.map +1 -1
  677. package/{cjs/filter/filter-item.styles_1e3v6qq.css → filter/filter-item.styles_cphjnj.css} +4 -4
  678. package/filter/filter-modal.d.ts +1 -1
  679. package/filter/filter-modal.js +1 -1
  680. package/filter/filter-modal.js.map +1 -1
  681. package/filter/filter-modal.styles.d.ts +2 -0
  682. package/filter/filter-modal.styles.js +1 -1
  683. package/filter/filter-modal.styles.js.map +1 -1
  684. package/filter/filter-modal.styles_qw3xlg.css +10 -0
  685. package/filter/filter-sidebar.d.ts +1 -1
  686. package/filter/filter-sidebar.js +1 -1
  687. package/filter/filter-sidebar.js.map +1 -1
  688. package/filter/filter-sidebar.styles.d.ts +1 -0
  689. package/filter/filter-sidebar.styles.js +1 -1
  690. package/filter/filter-sidebar.styles.js.map +1 -1
  691. package/filter/filter-sidebar.styles_1otwpjl.css +5 -0
  692. package/filter/filter.d.ts +24 -3
  693. package/filter/filter.js.map +1 -1
  694. package/filter/filter.styles.js +1 -1
  695. package/filter/filter.styles.js.map +1 -1
  696. package/filter/{filter.styles_2fmaok.css → filter.styles_1ykijwm.css} +2 -2
  697. package/filter/types.d.ts +163 -21
  698. package/footer/footer-download-app.styles_1v1j2us.css +2 -2
  699. package/footer/footer-resource-addon.styles_1jepb1d.css +2 -2
  700. package/footer/footer.d.ts +8 -1
  701. package/footer/footer.js +1 -1
  702. package/footer/footer.js.map +1 -1
  703. package/footer/footer.styles_1msorhc.css +2 -2
  704. package/footer/types.d.ts +55 -4
  705. package/form/form-label-addon.styles_b00z8p.css +1 -1
  706. package/form/form-label.styles.js +1 -1
  707. package/form/form-label.styles.js.map +1 -1
  708. package/form/form-label.styles_1nbe0bm.css +6 -0
  709. package/form/form-textarea.styles_3p9qoy.css +2 -2
  710. package/form/form-wrapper.js +1 -1
  711. package/form/form-wrapper.js.map +1 -1
  712. package/form/form-wrapper.styles_199rslu.css +1 -1
  713. package/fullscreen-image-carousel/fullscreen-image-carousel.js +1 -1
  714. package/fullscreen-image-carousel/fullscreen-image-carousel.js.map +1 -1
  715. package/fullscreen-image-carousel/fullscreen-image-carousel.styles_vc6y5c.css +2 -2
  716. package/fullscreen-image-carousel/stateful-image.styles_1xe8ypm.css +2 -2
  717. package/histogram-slider/histogram-slider.styles_wvd4w.css +2 -2
  718. package/image-button/image-button.styles.js +1 -1
  719. package/image-button/image-button.styles_6n1qsr.css +5 -0
  720. package/index.d.ts +0 -2
  721. package/index.js +1 -1
  722. package/input/input.styles_1cblor0.css +2 -2
  723. package/input-group/input-group-list-addon.js +1 -1
  724. package/input-group/input-group-list-addon.js.map +1 -1
  725. package/input-group/input-group-list-addon.styles_17iuqtw.css +2 -2
  726. package/input-group/input-group.styles.js +1 -1
  727. package/input-group/input-group.styles_bqye6f.css +3 -0
  728. package/input-multi-select/input-multi-select.js +1 -1
  729. package/input-multi-select/input-multi-select.js.map +1 -1
  730. package/input-nested-multi-select/input-nested-multi-select.js +1 -1
  731. package/input-nested-multi-select/input-nested-multi-select.js.map +1 -1
  732. package/input-nested-select/input-nested-select.js +1 -1
  733. package/input-nested-select/input-nested-select.js.map +1 -1
  734. package/input-range-select/input-range-select.js +1 -1
  735. package/input-range-select/input-range-select.js.map +1 -1
  736. package/input-range-select/input-range-select.styles_adbrbm.css +2 -2
  737. package/input-range-slider/input-range-slider.styles_aljl2v.css +2 -2
  738. package/input-select/input-select.js +1 -1
  739. package/input-select/input-select.js.map +1 -1
  740. package/input-textarea/textarea-counter.styles.js +1 -1
  741. package/input-textarea/textarea-counter.styles.js.map +1 -1
  742. package/input-textarea/textarea-counter.styles_1n3wsnv.css +1 -0
  743. package/input-textarea/textarea.styles.js +1 -1
  744. package/input-textarea/textarea.styles_22z4n3.css +5 -0
  745. package/language-switcher/dropdown-panel.styles.js +1 -1
  746. package/language-switcher/dropdown-panel.styles.js.map +1 -1
  747. package/language-switcher/dropdown-panel.styles_1qsjf8d.css +4 -0
  748. package/language-switcher/dropdown-variant.js +1 -1
  749. package/language-switcher/dropdown-variant.js.map +1 -1
  750. package/language-switcher/dropdown-variant.styles.js +1 -1
  751. package/language-switcher/dropdown-variant.styles_1vrdfky.css +2 -0
  752. package/language-switcher/link-container-variant.styles.js +1 -1
  753. package/language-switcher/link-container-variant.styles_1iw6zux.css +5 -0
  754. package/layout/col-div.js +1 -1
  755. package/layout/col-div.js.map +1 -1
  756. package/layout/col-div.styles_16o6mwx.css +1 -1
  757. package/layout/container.styles_v70ec6.css +2 -2
  758. package/layout/section.styles_hstcaf.css +1 -1
  759. package/layout/types.d.ts +8 -11
  760. package/link-list/link-list.styles.js +1 -1
  761. package/link-list/link-list.styles.js.map +1 -1
  762. package/{cjs/link-list/link-list.styles_1g33nb4.css → link-list/link-list.styles_m57vks.css} +4 -4
  763. package/local-nav/local-nav-dropdown/local-nav-dropdown.styles.js +1 -1
  764. package/{cjs/local-nav/local-nav-dropdown/local-nav-dropdown.styles_ftv36t.css → local-nav/local-nav-dropdown/local-nav-dropdown.styles_uhd4xl.css} +3 -3
  765. package/local-nav/local-nav-menu/local-nav-menu.styles_pq19dh.css +2 -2
  766. package/markup/markup.js +1 -1
  767. package/markup/markup.js.map +1 -1
  768. package/markup/markup.style.js +1 -1
  769. package/markup/markup.style.js.map +1 -1
  770. package/markup/markup.style_1iu40x9.css +2 -2
  771. package/markup/types.d.ts +2 -1
  772. package/masked-input/masked-input.styles.js +1 -1
  773. package/masked-input/masked-input.styles.js.map +1 -1
  774. package/{cjs/masked-input/masked-input.styles_4i1qsy.css → masked-input/masked-input.styles_1cm388a.css} +4 -4
  775. package/masthead/masthead.js +1 -1
  776. package/masthead/masthead.js.map +1 -1
  777. package/masthead/masthead.styles_1huzon9.css +2 -2
  778. package/menu/menu-content.styles_p7ijll.css +2 -2
  779. package/menu/menu-item.styles_liyed8.css +2 -2
  780. package/menu/menu-link.styles_hfxoez.css +2 -2
  781. package/menu/menu-section.styles_g7my4d.css +2 -2
  782. package/modal/modal-box.styles.js +1 -1
  783. package/modal/modal-box.styles.js.map +1 -1
  784. package/modal/modal-box.styles_y52cts.css +11 -0
  785. package/modal/modal.js +1 -1
  786. package/modal/modal.js.map +1 -1
  787. package/modal/modal.styles.d.ts +4 -1
  788. package/modal/modal.styles.js +1 -1
  789. package/modal/modal.styles.js.map +1 -1
  790. package/modal/modal.styles_1lbblx6.css +11 -0
  791. package/modal-v2/modal-v2.js +1 -1
  792. package/modal-v2/modal-v2.js.map +1 -1
  793. package/modal-v2/modal-v2.styles.d.ts +0 -1
  794. package/modal-v2/modal-v2.styles.js +1 -1
  795. package/modal-v2/modal-v2.styles.js.map +1 -1
  796. package/modal-v2/modal-v2.styles_a8gv5i.css +3 -0
  797. package/modal-v2/slots/card.js +1 -1
  798. package/modal-v2/slots/card.js.map +1 -1
  799. package/modal-v2/slots/slot-styles_13sd376.css +2 -2
  800. package/navbar/brand.styles_zcgddp.css +1 -1
  801. package/navbar/drawer.js +1 -1
  802. package/navbar/drawer.js.map +1 -1
  803. package/navbar/drawer.styles_7hnxp5.css +2 -2
  804. package/navbar/menu.styles_gdpqc.css +2 -2
  805. package/navbar/navbar-action-buttons.styles_1vpm0nk.css +2 -2
  806. package/navbar/navbar-items.styles.js +1 -1
  807. package/navbar/navbar-items.styles.js.map +1 -1
  808. package/navbar/{navbar-items.styles_i9cunu.css → navbar-items.styles_1i3ltot.css} +8 -8
  809. package/navbar/navbar.js +1 -1
  810. package/navbar/navbar.js.map +1 -1
  811. package/navbar/navbar.styles_koy0c7.css +2 -2
  812. package/notification-banner/notification-banner.styles.js +1 -1
  813. package/notification-banner/notification-banner.styles.js.map +1 -1
  814. package/{cjs/notification-banner/notification-banner.styles_130loac.css → notification-banner/notification-banner.styles_uxlysy.css} +4 -4
  815. package/otp-input/otp-input.styles_5sbutl.css +2 -2
  816. package/otp-verification/contact-input-section.js +1 -1
  817. package/otp-verification/contact-input-section.js.map +1 -1
  818. package/otp-verification/contact-input-section.styles.d.ts +14 -0
  819. package/otp-verification/contact-input-section.styles.js +2 -0
  820. package/otp-verification/contact-input-section.styles.js.map +1 -0
  821. package/otp-verification/contact-input-section.styles_odrjvt.css +14 -0
  822. package/otp-verification/otp-verification.js +1 -1
  823. package/otp-verification/otp-verification.js.map +1 -1
  824. package/otp-verification/otp-verification.styles.d.ts +1 -0
  825. package/otp-verification/otp-verification.styles.js +2 -0
  826. package/otp-verification/otp-verification.styles.js.map +1 -0
  827. package/otp-verification/otp-verification.styles_dg9bm8.css +1 -0
  828. package/otp-verification/thumbnail/email-thumbnail.d.ts +1 -3
  829. package/otp-verification/thumbnail/email-thumbnail.js +1 -21
  830. package/otp-verification/thumbnail/email-thumbnail.js.map +1 -1
  831. package/otp-verification/thumbnail/phone-thumbnail.d.ts +1 -3
  832. package/otp-verification/thumbnail/phone-thumbnail.js +1 -17
  833. package/otp-verification/thumbnail/phone-thumbnail.js.map +1 -1
  834. package/otp-verification/thumbnail/thumbnail.styles.d.ts +3 -0
  835. package/otp-verification/thumbnail/thumbnail.styles.js +2 -0
  836. package/otp-verification/thumbnail/thumbnail.styles.js.map +1 -0
  837. package/otp-verification/thumbnail/thumbnail.styles_shqylh.css +3 -0
  838. package/otp-verification/verification-section.js +1 -1
  839. package/otp-verification/verification-section.js.map +1 -1
  840. package/otp-verification/verification-section.styles.d.ts +5 -0
  841. package/otp-verification/verification-section.styles.js +2 -0
  842. package/otp-verification/verification-section.styles.js.map +1 -0
  843. package/otp-verification/verification-section.styles_x8jj.css +5 -0
  844. package/overlay/overlay.js +1 -1
  845. package/overlay/overlay.js.map +1 -1
  846. package/overlay/overlay.styles_12wym18.css +2 -2
  847. package/overlay/types.d.ts +0 -13
  848. package/package.json +14 -15
  849. package/pagination/pagination.styles.js +1 -1
  850. package/pagination/pagination.styles.js.map +1 -1
  851. package/{cjs/pagination/pagination.styles_1u898rb.css → pagination/pagination.styles_6bcgva.css} +5 -5
  852. package/pill/pill.styles.js +1 -1
  853. package/{cjs/pill/pill.styles_1wiyl8.css → pill/pill.styles_xwrniu.css} +2 -2
  854. package/popover/popover-inline/popover-inline.styles_bkopnt.css +2 -2
  855. package/popover/popover-trigger.styles_8zokig.css +1 -1
  856. package/popover/popover.styles_ujnf0h.css +2 -2
  857. package/predictive-text-input/predictive-text-input.js +1 -1
  858. package/predictive-text-input/predictive-text-input.js.map +1 -1
  859. package/progress-indicator/progress-indicator.styles_1c038s4.css +2 -2
  860. package/radio-button/radio-button.styles_1c4v6v.css +2 -2
  861. package/schedule/const.js +1 -1
  862. package/schedule/const.js.map +1 -1
  863. package/schedule/schedule-day-view/schedule-day-view.js +1 -1
  864. package/schedule/schedule-day-view/schedule-day-view.js.map +1 -1
  865. package/schedule/schedule-day-view/schedule-day-view.styles.d.ts +39 -99
  866. package/schedule/schedule-day-view/schedule-day-view.styles.js +1 -152
  867. package/schedule/schedule-day-view/schedule-day-view.styles.js.map +1 -1
  868. package/schedule/schedule-day-view/schedule-day-view.styles_8ti149.css +30 -0
  869. package/schedule/schedule-day-view/types.d.ts +2 -10
  870. package/schedule/schedule-header/schedule-header.js +1 -1
  871. package/schedule/schedule-header/schedule-header.js.map +1 -1
  872. package/schedule/schedule-header/schedule-header.styles.d.ts +7 -0
  873. package/schedule/schedule-header/schedule-header.styles.js +2 -0
  874. package/schedule/schedule-header/schedule-header.styles.js.map +1 -0
  875. package/schedule/schedule-header/schedule-header.styles_1n2u5vj.css +6 -0
  876. package/schedule/schedule-slot-content/index.d.ts +4 -0
  877. package/schedule/schedule-slot-content/schedule-slot-content.d.ts +21 -0
  878. package/schedule/schedule-slot-content/schedule-slot-content.js +2 -0
  879. package/schedule/schedule-slot-content/schedule-slot-content.js.map +1 -0
  880. package/schedule/schedule-slot-content/style-helper.d.ts +8 -0
  881. package/schedule/schedule-slot-content/style-helper.js +2 -0
  882. package/schedule/schedule-slot-content/style-helper.js.map +1 -0
  883. package/schedule/schedule-week-view/schedule-week-view.js +1 -1
  884. package/schedule/schedule-week-view/schedule-week-view.js.map +1 -1
  885. package/schedule/schedule-week-view/schedule-week-view.styles.d.ts +15 -32
  886. package/schedule/schedule-week-view/schedule-week-view.styles.js +1 -74
  887. package/schedule/schedule-week-view/schedule-week-view.styles.js.map +1 -1
  888. package/schedule/schedule-week-view/schedule-week-view.styles_x7x50m.css +10 -0
  889. package/schedule/schedule-week-view/time-cell.js +1 -1
  890. package/schedule/schedule-week-view/time-cell.js.map +1 -1
  891. package/schedule/schedule-week-view/time-cell.styles.d.ts +23 -14
  892. package/schedule/schedule-week-view/time-cell.styles.js +1 -34
  893. package/schedule/schedule-week-view/time-cell.styles.js.map +1 -1
  894. package/schedule/schedule-week-view/time-cell.styles_1sorjz8.css +14 -0
  895. package/schedule/schedule-week-view/types.d.ts +2 -15
  896. package/schedule/schedule-week-view/week-view-utils.js +1 -1
  897. package/schedule/schedule-week-view/week-view-utils.js.map +1 -1
  898. package/schedule/schedule.js +1 -1
  899. package/schedule/schedule.js.map +1 -1
  900. package/schedule/schedule.styles.d.ts +5 -8
  901. package/schedule/schedule.styles.js +1 -26
  902. package/schedule/schedule.styles.js.map +1 -1
  903. package/schedule/schedule.styles_fdy5a1.css +5 -0
  904. package/schedule/shared/with-optional-popover.d.ts +1 -1
  905. package/schedule/shared/with-optional-popover.js +1 -5
  906. package/schedule/shared/with-optional-popover.js.map +1 -1
  907. package/schedule/shared/with-optional-popover.styles.d.ts +1 -0
  908. package/schedule/shared/with-optional-popover.styles.js +2 -0
  909. package/schedule/shared/with-optional-popover.styles.js.map +1 -0
  910. package/schedule/shared/with-optional-popover.styles_7mv3p2.css +1 -0
  911. package/schedule/time-indicator/time-indicator.js +1 -1
  912. package/schedule/time-indicator/time-indicator.js.map +1 -1
  913. package/schedule/time-indicator/time-indicator.styles.d.ts +11 -28
  914. package/schedule/time-indicator/time-indicator.styles.js +1 -33
  915. package/schedule/time-indicator/time-indicator.styles.js.map +1 -1
  916. package/schedule/time-indicator/time-indicator.styles_1eaxyes.css +6 -0
  917. package/schedule/types.d.ts +10 -0
  918. package/select-histogram/select-histogram.js +1 -1
  919. package/select-histogram/select-histogram.js.map +1 -1
  920. package/select-histogram/select-histogram.styles.js +1 -1
  921. package/select-histogram/select-histogram.styles.js.map +1 -1
  922. package/select-histogram/select-histogram.styles_n260dy.css +5 -0
  923. package/shared/accessibility/index_13g9vp.css +1 -1
  924. package/shared/clickable-icon/clickable-icon.styles_1v2imml.css +2 -2
  925. package/shared/component-loading-spinner/component-loading-spinner.styles_15eq02i.css +2 -2
  926. package/shared/dropdown-list/dropdown-label.js +1 -1
  927. package/shared/dropdown-list/dropdown-label.js.map +1 -1
  928. package/shared/dropdown-list/dropdown-label.styles.js +1 -1
  929. package/shared/dropdown-list/dropdown-label.styles.js.map +1 -1
  930. package/{cjs/shared/dropdown-list/dropdown-label.styles_1dwmd8f.css → shared/dropdown-list/dropdown-label.styles_mloii0.css} +6 -6
  931. package/shared/dropdown-list/dropdown-list.styles.js +1 -1
  932. package/shared/dropdown-list/dropdown-list.styles.js.map +1 -1
  933. package/{cjs/shared/dropdown-list/dropdown-list.styles_1kt4zhf.css → shared/dropdown-list/dropdown-list.styles_konwm.css} +5 -5
  934. package/shared/dropdown-list/dropdown-search.styles.js +1 -1
  935. package/shared/dropdown-list/dropdown-search.styles.js.map +1 -1
  936. package/{cjs/shared/dropdown-list/dropdown-search.styles_4r9oma.css → shared/dropdown-list/dropdown-search.styles_1hc1gkh.css} +3 -3
  937. package/shared/dropdown-list/expandable-element.js +1 -1
  938. package/shared/dropdown-list/expandable-element.js.map +1 -1
  939. package/shared/dropdown-list/expandable-element.styles.d.ts +0 -1
  940. package/shared/dropdown-list/expandable-element.styles.js +1 -1
  941. package/shared/dropdown-list/expandable-element.styles.js.map +1 -1
  942. package/shared/dropdown-list/expandable-element.styles_rkkvqr.css +5 -0
  943. package/shared/dropdown-list/nested-dropdown-list.styles_wdhxoe.css +2 -2
  944. package/shared/dropdown-wrapper/dropdown-wrapper.styles.js +1 -1
  945. package/shared/dropdown-wrapper/dropdown-wrapper.styles.js.map +1 -1
  946. package/shared/dropdown-wrapper/dropdown-wrapper.styles_15hwwoj.css +3 -0
  947. package/shared/fade-wrapper/fade-wrapper.styles_16iug7l.css +2 -2
  948. package/shared/hooks/useViewport.d.ts +7 -2
  949. package/shared/hooks/useViewport.js +1 -1
  950. package/shared/hooks/useViewport.js.map +1 -1
  951. package/shared/image-placeholder/image-placeholder.styles_44nwil.css +1 -1
  952. package/shared/input-wrapper/input-wrapper.styles.js +1 -1
  953. package/shared/input-wrapper/{input-wrapper.styles_19fpzb.css → input-wrapper.styles_je6maw.css} +4 -4
  954. package/shared/internal-calendar/calendar-dropdown.styles_wybjai.css +1 -1
  955. package/shared/internal-calendar/calendar-manager.js +1 -1
  956. package/shared/internal-calendar/calendar-manager.js.map +1 -1
  957. package/shared/internal-calendar/calendar-manager.styles.js +1 -1
  958. package/shared/internal-calendar/calendar-manager.styles.js.map +1 -1
  959. package/shared/internal-calendar/{calendar-manager.styles_1q13ylk.css → calendar-manager.styles_1njwkj2.css} +4 -4
  960. package/shared/internal-calendar/day-cell/day-cell.styles.js +1 -1
  961. package/shared/internal-calendar/day-cell/day-cell.styles.js.map +1 -1
  962. package/{cjs/shared/internal-calendar/day-cell/day-cell.styles_vazxvn.css → shared/internal-calendar/day-cell/day-cell.styles_1t5oqc1.css} +3 -3
  963. package/shared/internal-calendar/internal-calendar-month.styles.js +1 -1
  964. package/{cjs/shared/internal-calendar/internal-calendar-month.styles_1pk3ynj.css → shared/internal-calendar/internal-calendar-month.styles_14oh57f.css} +3 -3
  965. package/shared/internal-calendar/internal-calendar-year.styles.js +1 -1
  966. package/shared/internal-calendar/internal-calendar-year.styles.js.map +1 -1
  967. package/shared/internal-calendar/{internal-calendar-year.styles_1azy42u.css → internal-calendar-year.styles_therlc.css} +3 -3
  968. package/shared/internal-calendar/internal-calendar.styles_gnc3eq.css +1 -1
  969. package/shared/internal-calendar/single/single-cell.js +1 -1
  970. package/shared/internal-calendar/single/single-cell.js.map +1 -1
  971. package/shared/internal-calendar/standard/standard-calendar-day-view.styles.js +1 -1
  972. package/shared/internal-calendar/standard/standard-calendar-day-view.styles_1bw26au.css +3 -0
  973. package/shared/progress-bar/progress-bar.styles_125ri7a.css +1 -1
  974. package/shared/range-input-inner-container/range-input-inner-container.styles_1v61utg.css +2 -2
  975. package/shared/standalone-date-input/standalone-date-input.js +1 -1
  976. package/shared/standalone-date-input/standalone-date-input.js.map +1 -1
  977. package/shared/standalone-date-input/standalone-date-input.styles.d.ts +2 -0
  978. package/shared/standalone-date-input/standalone-date-input.styles.js +1 -1
  979. package/shared/standalone-date-input/standalone-date-input.styles.js.map +1 -1
  980. package/shared/standalone-date-input/standalone-date-input.styles_157qo89.css +15 -0
  981. package/shared/time-slot/time-slot.d.ts +1 -0
  982. package/shared/time-slot/time-slot.js +1 -1
  983. package/shared/time-slot/time-slot.js.map +1 -1
  984. package/shared/time-slot/time-slot.styles.d.ts +2 -0
  985. package/shared/time-slot/time-slot.styles.js +1 -1
  986. package/shared/time-slot/time-slot.styles.js.map +1 -1
  987. package/shared/time-slot/time-slot.styles_18s0to7.css +29 -0
  988. package/shared/timepicker-dropdown/timepicker-dropdown.styles_119l6k6.css +2 -2
  989. package/sidenav/sidenav-drawer-item.styles.js +1 -1
  990. package/sidenav/sidenav-drawer-item.styles.js.map +1 -1
  991. package/sidenav/sidenav-drawer-item.styles_1ljnyx2.css +6 -0
  992. package/sidenav/sidenav-drawer-subitem.styles.js +1 -1
  993. package/sidenav/sidenav-drawer-subitem.styles.js.map +1 -1
  994. package/sidenav/sidenav-drawer-subitem.styles_2y58kf.css +1 -0
  995. package/sidenav/sidenav-group.styles_1x604sw.css +2 -2
  996. package/sidenav/sidenav-item.styles.js +1 -1
  997. package/sidenav/sidenav-item.styles.js.map +1 -1
  998. package/sidenav/{sidenav-item.styles_1eew8px.css → sidenav-item.styles_lqw3kh.css} +4 -4
  999. package/sidenav/sidenav.styles_1vxezie.css +2 -2
  1000. package/singpass-button/singpass-button.styles_1miyex3.css +2 -2
  1001. package/smart-app-banner/smart-app-banner.styles.js +1 -1
  1002. package/smart-app-banner/smart-app-banner.styles.js.map +1 -1
  1003. package/smart-app-banner/{smart-app-banner.styles_m5dtgh.css → smart-app-banner.styles_15u6yv4.css} +4 -4
  1004. package/tab/tab-link-chain.styles.js +1 -1
  1005. package/tab/tab-link-chain.styles.js.map +1 -1
  1006. package/tab/{tab-link-chain.styles_1nreqrp.css → tab-link-chain.styles_49got4.css} +4 -4
  1007. package/tab/tab.styles_1najffw.css +1 -1
  1008. package/table/table.styles_1af5ipv.css +2 -2
  1009. package/tag/tag.style.js +1 -1
  1010. package/tag/{tag.style_10tn8i.css → tag.style_d98c53.css} +3 -3
  1011. package/text-list/text-list.styles.js +1 -1
  1012. package/text-list/text-list.styles.js.map +1 -1
  1013. package/text-list/text-list.styles_w3fvyt.css +16 -0
  1014. package/theme/index.d.ts +4 -1
  1015. package/theme/index.js +1 -1
  1016. package/theme/styles/a11y-playground.css +33 -1
  1017. package/theme/styles/bookingsg.css +37 -5
  1018. package/theme/styles/careercompass.css +519 -0
  1019. package/theme/styles/ccube.css +31 -0
  1020. package/theme/styles/default.css +11 -6
  1021. package/theme/styles/imda.css +33 -1
  1022. package/theme/styles/lifesg.css +31 -0
  1023. package/theme/styles/mylegacy.css +37 -5
  1024. package/theme/styles/oneservice.css +80 -0
  1025. package/theme/styles/pa.css +33 -1
  1026. package/theme/styles/rbs.css +31 -0
  1027. package/theme/styles/sgw-digital-lobby.css +37 -5
  1028. package/theme/styles/smgs.css +519 -0
  1029. package/theme/styles/spf.css +146 -114
  1030. package/theme/styles/supportgowhere.css +33 -1
  1031. package/theme/theme-provider/hooks.d.ts +2 -1
  1032. package/theme/theme-provider/hooks.js +1 -1
  1033. package/theme/theme-provider/hooks.js.map +1 -1
  1034. package/theme/tokens/colour.d.ts +28 -0
  1035. package/theme/tokens/colour.js +1 -1
  1036. package/theme/tokens/colour.js.map +1 -1
  1037. package/theme/tokens/font.d.ts +4 -2
  1038. package/theme/tokens/font.js +1 -1
  1039. package/theme/tokens/font.js.map +1 -1
  1040. package/theme/types.d.ts +1 -1
  1041. package/theme/types.js +1 -1
  1042. package/theme/types.js.map +1 -1
  1043. package/theme/utils/css-variable.d.ts +0 -5
  1044. package/theme/utils/css-variable.js +1 -1
  1045. package/theme/utils/css-variable.js.map +1 -1
  1046. package/theme/utils/font.d.ts +2 -2
  1047. package/theme/utils/font.js +1 -1
  1048. package/theme/utils/font.js.map +1 -1
  1049. package/theme/utils/index.d.ts +1 -0
  1050. package/theme/utils/token-resolver.js +1 -1
  1051. package/theme/utils/token-resolver.js.map +1 -1
  1052. package/theme/utils/use-design-token-override.d.ts +11 -0
  1053. package/theme/utils/use-design-token-override.js +2 -0
  1054. package/theme/utils/use-design-token-override.js.map +1 -0
  1055. package/theme/utils/use-design-token.js +1 -1
  1056. package/theme/utils/use-design-token.js.map +1 -1
  1057. package/theme/utils/use-media-query.d.ts +1 -2
  1058. package/theme/utils/use-media-query.js +1 -1
  1059. package/theme/utils/use-media-query.js.map +1 -1
  1060. package/time-range-picker/combobox-picker/combobox-picker.js +1 -1
  1061. package/time-range-picker/combobox-picker/combobox-picker.js.map +1 -1
  1062. package/time-range-picker/combobox-picker/combobox-picker.styles_7i9vso.css +1 -1
  1063. package/time-range-picker/common.styles_1qwp4xa.css +2 -2
  1064. package/time-slot-bar/time-slot-bar.styles_wigbyd.css +2 -2
  1065. package/time-slot-bar-week/consts.d.ts +3 -0
  1066. package/time-slot-bar-week/consts.js +2 -0
  1067. package/time-slot-bar-week/consts.js.map +1 -0
  1068. package/time-slot-bar-week/time-slot-bar-week-days.js +1 -1
  1069. package/time-slot-bar-week/time-slot-bar-week-days.js.map +1 -1
  1070. package/time-slot-bar-week/time-slot-bar-week-days.styles.d.ts +25 -0
  1071. package/time-slot-bar-week/time-slot-bar-week-days.styles.js +2 -0
  1072. package/time-slot-bar-week/time-slot-bar-week-days.styles.js.map +1 -0
  1073. package/time-slot-bar-week/time-slot-bar-week-days.styles_evdvs9.css +17 -0
  1074. package/time-slot-bar-week/time-slot-bar-week.js +1 -1
  1075. package/time-slot-bar-week/time-slot-bar-week.js.map +1 -1
  1076. package/time-slot-bar-week/time-slot-bar-week.styles.d.ts +1 -0
  1077. package/time-slot-bar-week/time-slot-bar-week.styles.js +2 -0
  1078. package/time-slot-bar-week/time-slot-bar-week.styles.js.map +1 -0
  1079. package/time-slot-bar-week/time-slot-bar-week.styles_11ybf42.css +1 -0
  1080. package/time-slot-bar-week/time-slot-cell.d.ts +28 -0
  1081. package/time-slot-bar-week/time-slot-cell.js +2 -0
  1082. package/time-slot-bar-week/time-slot-cell.js.map +1 -0
  1083. package/time-slot-week-view/time-slot-week-days.js +1 -1
  1084. package/time-slot-week-view/time-slot-week-days.js.map +1 -1
  1085. package/time-slot-week-view/time-slot-week-days.styles.d.ts +14 -0
  1086. package/time-slot-week-view/time-slot-week-days.styles.js +2 -0
  1087. package/time-slot-week-view/time-slot-week-days.styles.js.map +1 -0
  1088. package/time-slot-week-view/time-slot-week-days.styles_1h21vyw.css +9 -0
  1089. package/time-slot-week-view/time-slot-week-view.js +1 -1
  1090. package/time-slot-week-view/time-slot-week-view.js.map +1 -1
  1091. package/time-slot-week-view/time-slot-week-view.styles.d.ts +1 -1
  1092. package/time-slot-week-view/time-slot-week-view.styles.js +1 -9
  1093. package/time-slot-week-view/time-slot-week-view.styles.js.map +1 -1
  1094. package/time-slot-week-view/time-slot-week-view.styles_gqgsw2.css +1 -0
  1095. package/timeline/timeline.styles.js +1 -1
  1096. package/timeline/{timeline.styles_1wcnzot.css → timeline.styles_1jxzik4.css} +2 -2
  1097. package/timepicker/timepicker.js +1 -1
  1098. package/timepicker/timepicker.js.map +1 -1
  1099. package/timepicker/timepicker.styles.js +1 -1
  1100. package/timepicker/timepicker.styles.js.map +1 -1
  1101. package/timepicker/timepicker.styles_1jm33yw.css +1 -0
  1102. package/timetable/timetable-header/timetable-header.styles_11gl1h4.css +2 -2
  1103. package/timetable/timetable-row/row-bar.styles_1x0vrsz.css +1 -1
  1104. package/timetable/timetable-row/row-cell.styles_y1dl5j.css +2 -2
  1105. package/timetable/timetable.styles_7rp8kz.css +2 -2
  1106. package/toast/toast.styles.js +1 -1
  1107. package/toast/toast.styles.js.map +1 -1
  1108. package/toast/{toast.styles_ngrlup.css → toast.styles_1e0l60w.css} +3 -3
  1109. package/toggle/toggle-icon.styles_ba71y.css +2 -2
  1110. package/toggle/toggle.styles.js +1 -1
  1111. package/toggle/toggle.styles.js.map +1 -1
  1112. package/{cjs/toggle/toggle.styles_1yzqsu.css → toggle/toggle.styles_1t5qrye.css} +7 -7
  1113. package/typography/index.js +1 -1
  1114. package/typography/typography-text.styles_1734x2k.css +2 -2
  1115. package/typography/typography.js +1 -1
  1116. package/typography/typography.js.map +1 -1
  1117. package/typography/typography.styles.d.ts +2 -0
  1118. package/typography/typography.styles.js +1 -1
  1119. package/typography/typography.styles.js.map +1 -1
  1120. package/typography/typography.styles_1wd82dn.css +11 -0
  1121. package/uneditable-section/index.d.ts +1 -1
  1122. package/uneditable-section/section-item.styles.js +1 -1
  1123. package/uneditable-section/section-item.styles.js.map +1 -1
  1124. package/uneditable-section/section-item.styles_mwx8ht.css +9 -0
  1125. package/uneditable-section/uneditable-section.d.ts +2 -1
  1126. package/uneditable-section/uneditable-section.js +1 -1
  1127. package/uneditable-section/uneditable-section.js.map +1 -1
  1128. package/uneditable-section/uneditable-section.styles_aj9zun.css +2 -2
  1129. package/unit-number/unit-number-input.styles_8yizj.css +2 -2
  1130. package/util/is-styled-components.d.ts +5 -0
  1131. package/util/is-styled-components.js +2 -0
  1132. package/util/is-styled-components.js.map +1 -0
  1133. package/util/styling-helper.js +1 -1
  1134. package/util/styling-helper.js.map +1 -1
  1135. package/badge/badge.styles_1yrxocm.css +0 -16
  1136. package/cjs/badge/badge.styles_1yrxocm.css +0 -16
  1137. package/cjs/date-navigator/date-navigator.styles_1cotsgz.css +0 -4
  1138. package/cjs/example/example.js +0 -2
  1139. package/cjs/example/example.js.map +0 -1
  1140. package/cjs/example/example_r47nvz.css +0 -1
  1141. package/cjs/example/index.js +0 -2
  1142. package/cjs/example/index.js.map +0 -1
  1143. package/cjs/file-upload/file-list-item/file-list-item-thumbnail.styles_1vrh1ve.css +0 -4
  1144. package/cjs/file-upload/file-list-item/file-list-item.styles_y7my2m.css +0 -14
  1145. package/cjs/file-upload/file-list.js +0 -2
  1146. package/cjs/file-upload/file-list.js.map +0 -1
  1147. package/cjs/file-upload/file-list.styles.js +0 -2
  1148. package/cjs/file-upload/file-list.styles.js.map +0 -1
  1149. package/cjs/file-upload/file-list.styles_16vplxk.css +0 -3
  1150. package/cjs/filter/filter-modal.styles_e0ev97.css +0 -8
  1151. package/cjs/filter/filter-sidebar.styles_cwvqql.css +0 -4
  1152. package/cjs/form/form-label.styles_rk98yd.css +0 -6
  1153. package/cjs/image-button/image-button.styles_qtt605.css +0 -5
  1154. package/cjs/input-group/input-group.styles_fpy81r.css +0 -3
  1155. package/cjs/input-textarea/textarea-counter.styles_adg5h1.css +0 -1
  1156. package/cjs/input-textarea/textarea.styles_g0zgyq.css +0 -5
  1157. package/cjs/language-switcher/dropdown-panel.styles_1z0n7qq.css +0 -4
  1158. package/cjs/language-switcher/dropdown-variant.styles_16c4wc1.css +0 -2
  1159. package/cjs/language-switcher/link-container-variant.styles_1blx9qm.css +0 -5
  1160. package/cjs/markup/markup.utils.js +0 -2
  1161. package/cjs/markup/markup.utils.js.map +0 -1
  1162. package/cjs/modal/modal-box.styles_1xrlxhd.css +0 -2
  1163. package/cjs/modal/modal.styles_1sav73f.css +0 -11
  1164. package/cjs/modal-v2/modal-v2.styles_1irpyi6.css +0 -3
  1165. package/cjs/otp-verification/contact-input-section-styles.js +0 -115
  1166. package/cjs/otp-verification/contact-input-section-styles.js.map +0 -1
  1167. package/cjs/otp-verification/otp-verification-styles.js +0 -6
  1168. package/cjs/otp-verification/otp-verification-styles.js.map +0 -1
  1169. package/cjs/otp-verification/verification-section-styles.js +0 -27
  1170. package/cjs/otp-verification/verification-section-styles.js.map +0 -1
  1171. package/cjs/schedule/schedule-header/schedule-header.style.js +0 -38
  1172. package/cjs/schedule/schedule-header/schedule-header.style.js.map +0 -1
  1173. package/cjs/schedule/schedule-week-view/slot-content.js +0 -2
  1174. package/cjs/schedule/schedule-week-view/slot-content.js.map +0 -1
  1175. package/cjs/schedule/schedule-week-view/slot-content.styles.js +0 -40
  1176. package/cjs/schedule/schedule-week-view/slot-content.styles.js.map +0 -1
  1177. package/cjs/select-histogram/select-histogram.styles_11916eo.css +0 -5
  1178. package/cjs/shared/dropdown-list/expandable-element.styles_5o9f9w.css +0 -6
  1179. package/cjs/shared/dropdown-wrapper/dropdown-wrapper.styles_v10jbi.css +0 -3
  1180. package/cjs/shared/internal-calendar/standard/standard-calendar-day-view.styles_1dbvup3.css +0 -3
  1181. package/cjs/shared/standalone-date-input/standalone-date-input.styles_1m0da43.css +0 -13
  1182. package/cjs/shared/styles/index.js +0 -2
  1183. package/cjs/shared/styles/index.js.map +0 -1
  1184. package/cjs/shared/time-slot/time-slot.styles_1r9na3f.css +0 -17
  1185. package/cjs/sidenav/sidenav-drawer-item.styles_yp8cga.css +0 -6
  1186. package/cjs/sidenav/sidenav-drawer-subitem.styles_1ylzfn5.css +0 -1
  1187. package/cjs/text-list/text-list.styles_1gohl3f.css +0 -16
  1188. package/cjs/time-slot-bar-week/time-slot-bar-week-days.style.js +0 -104
  1189. package/cjs/time-slot-bar-week/time-slot-bar-week-days.style.js.map +0 -1
  1190. package/cjs/time-slot-bar-week/time-slot-bar-week.style.js +0 -10
  1191. package/cjs/time-slot-bar-week/time-slot-bar-week.style.js.map +0 -1
  1192. package/cjs/time-slot-week-view/time-slot-week-days.style.js +0 -59
  1193. package/cjs/time-slot-week-view/time-slot-week-days.style.js.map +0 -1
  1194. package/cjs/timepicker/timepicker.styles_zmkhl8.css +0 -1
  1195. package/cjs/typography/typography.styles_1jqils.css +0 -9
  1196. package/cjs/uneditable-section/section-item.styles_1dfjzc4.css +0 -9
  1197. package/cjs/v3_theme/border/specs/default-border-set.js +0 -2
  1198. package/cjs/v3_theme/border/specs/default-border-set.js.map +0 -1
  1199. package/cjs/v3_theme/border/theme-helper.js +0 -2
  1200. package/cjs/v3_theme/border/theme-helper.js.map +0 -1
  1201. package/cjs/v3_theme/border-util/specs/default-border-util-set.js +0 -2
  1202. package/cjs/v3_theme/border-util/specs/default-border-util-set.js.map +0 -1
  1203. package/cjs/v3_theme/border-util/theme-helper.js +0 -2
  1204. package/cjs/v3_theme/border-util/theme-helper.js.map +0 -1
  1205. package/cjs/v3_theme/border-util/utils.js +0 -8
  1206. package/cjs/v3_theme/border-util/utils.js.map +0 -1
  1207. package/cjs/v3_theme/breakpoint/media-query-helper.js +0 -2
  1208. package/cjs/v3_theme/breakpoint/media-query-helper.js.map +0 -1
  1209. package/cjs/v3_theme/breakpoint/specs/default-breakpoint-set.js +0 -2
  1210. package/cjs/v3_theme/breakpoint/specs/default-breakpoint-set.js.map +0 -1
  1211. package/cjs/v3_theme/breakpoint/theme-helper.js +0 -2
  1212. package/cjs/v3_theme/breakpoint/theme-helper.js.map +0 -1
  1213. package/cjs/v3_theme/colour-primitive/specs/a11yplayground-colour-set.js +0 -2
  1214. package/cjs/v3_theme/colour-primitive/specs/a11yplayground-colour-set.js.map +0 -1
  1215. package/cjs/v3_theme/colour-primitive/specs/bookingsg-colour-set.js +0 -2
  1216. package/cjs/v3_theme/colour-primitive/specs/bookingsg-colour-set.js.map +0 -1
  1217. package/cjs/v3_theme/colour-primitive/specs/ccube-colour-set.js +0 -2
  1218. package/cjs/v3_theme/colour-primitive/specs/ccube-colour-set.js.map +0 -1
  1219. package/cjs/v3_theme/colour-primitive/specs/imda-colour-set.js +0 -2
  1220. package/cjs/v3_theme/colour-primitive/specs/imda-colour-set.js.map +0 -1
  1221. package/cjs/v3_theme/colour-primitive/specs/lifesg-colour-set.js +0 -2
  1222. package/cjs/v3_theme/colour-primitive/specs/lifesg-colour-set.js.map +0 -1
  1223. package/cjs/v3_theme/colour-primitive/specs/mylegacy-colour-set.js +0 -2
  1224. package/cjs/v3_theme/colour-primitive/specs/mylegacy-colour-set.js.map +0 -1
  1225. package/cjs/v3_theme/colour-primitive/specs/oneservice-colour-set.js +0 -2
  1226. package/cjs/v3_theme/colour-primitive/specs/oneservice-colour-set.js.map +0 -1
  1227. package/cjs/v3_theme/colour-primitive/specs/pa-colour-set.js +0 -2
  1228. package/cjs/v3_theme/colour-primitive/specs/pa-colour-set.js.map +0 -1
  1229. package/cjs/v3_theme/colour-primitive/specs/rbs-colour-set.js +0 -2
  1230. package/cjs/v3_theme/colour-primitive/specs/rbs-colour-set.js.map +0 -1
  1231. package/cjs/v3_theme/colour-primitive/specs/smgs-colour-set.js +0 -2
  1232. package/cjs/v3_theme/colour-primitive/specs/smgs-colour-set.js.map +0 -1
  1233. package/cjs/v3_theme/colour-primitive/specs/spf-colour-set.js +0 -2
  1234. package/cjs/v3_theme/colour-primitive/specs/spf-colour-set.js.map +0 -1
  1235. package/cjs/v3_theme/colour-primitive/specs/supportgowhere-colour-set.js +0 -2
  1236. package/cjs/v3_theme/colour-primitive/specs/supportgowhere-colour-set.js.map +0 -1
  1237. package/cjs/v3_theme/colour-primitive/theme-helper.js +0 -2
  1238. package/cjs/v3_theme/colour-primitive/theme-helper.js.map +0 -1
  1239. package/cjs/v3_theme/colour-semantic/specs/a11yplayground-semantic-tokens.js +0 -2
  1240. package/cjs/v3_theme/colour-semantic/specs/a11yplayground-semantic-tokens.js.map +0 -1
  1241. package/cjs/v3_theme/colour-semantic/specs/lifesg-semantic-tokens.js +0 -2
  1242. package/cjs/v3_theme/colour-semantic/specs/lifesg-semantic-tokens.js.map +0 -1
  1243. package/cjs/v3_theme/colour-semantic/specs/pa-semantic-tokens.js +0 -2
  1244. package/cjs/v3_theme/colour-semantic/specs/pa-semantic-tokens.js.map +0 -1
  1245. package/cjs/v3_theme/colour-semantic/specs/sgwdigitallobby-tokens.js +0 -2
  1246. package/cjs/v3_theme/colour-semantic/specs/sgwdigitallobby-tokens.js.map +0 -1
  1247. package/cjs/v3_theme/colour-semantic/theme-helper.js +0 -2
  1248. package/cjs/v3_theme/colour-semantic/theme-helper.js.map +0 -1
  1249. package/cjs/v3_theme/ds-theme-provider.js +0 -2
  1250. package/cjs/v3_theme/ds-theme-provider.js.map +0 -1
  1251. package/cjs/v3_theme/font/specs/a11yplayground-font-set.js +0 -2
  1252. package/cjs/v3_theme/font/specs/a11yplayground-font-set.js.map +0 -1
  1253. package/cjs/v3_theme/font/specs/bookingsg-font-set.js +0 -2
  1254. package/cjs/v3_theme/font/specs/bookingsg-font-set.js.map +0 -1
  1255. package/cjs/v3_theme/font/specs/default-font-set.js +0 -2
  1256. package/cjs/v3_theme/font/specs/default-font-set.js.map +0 -1
  1257. package/cjs/v3_theme/font/specs/imda-font-set.js +0 -2
  1258. package/cjs/v3_theme/font/specs/imda-font-set.js.map +0 -1
  1259. package/cjs/v3_theme/font/specs/oneservice-font-set.js +0 -2
  1260. package/cjs/v3_theme/font/specs/oneservice-font-set.js.map +0 -1
  1261. package/cjs/v3_theme/font/specs/pa-font-set.js +0 -2
  1262. package/cjs/v3_theme/font/specs/pa-font-set.js.map +0 -1
  1263. package/cjs/v3_theme/font/specs/smgs-font-set.js +0 -2
  1264. package/cjs/v3_theme/font/specs/smgs-font-set.js.map +0 -1
  1265. package/cjs/v3_theme/font/specs/spf-font-set.js +0 -2
  1266. package/cjs/v3_theme/font/specs/spf-font-set.js.map +0 -1
  1267. package/cjs/v3_theme/font/specs/supportgowhere-font-set.js +0 -2
  1268. package/cjs/v3_theme/font/specs/supportgowhere-font-set.js.map +0 -1
  1269. package/cjs/v3_theme/font/theme-helper.js +0 -2
  1270. package/cjs/v3_theme/font/theme-helper.js.map +0 -1
  1271. package/cjs/v3_theme/font/utils.js +0 -10
  1272. package/cjs/v3_theme/font/utils.js.map +0 -1
  1273. package/cjs/v3_theme/font-spec/specs/a11yplayground-font-spec-set.js +0 -2
  1274. package/cjs/v3_theme/font-spec/specs/a11yplayground-font-spec-set.js.map +0 -1
  1275. package/cjs/v3_theme/font-spec/specs/bookingsg-font-spec-set.js +0 -2
  1276. package/cjs/v3_theme/font-spec/specs/bookingsg-font-spec-set.js.map +0 -1
  1277. package/cjs/v3_theme/font-spec/specs/default-font-spec-set.js +0 -2
  1278. package/cjs/v3_theme/font-spec/specs/default-font-spec-set.js.map +0 -1
  1279. package/cjs/v3_theme/font-spec/specs/imda-font-spec-set.js +0 -2
  1280. package/cjs/v3_theme/font-spec/specs/imda-font-spec-set.js.map +0 -1
  1281. package/cjs/v3_theme/font-spec/specs/mylegacy-font-spec-set.js +0 -2
  1282. package/cjs/v3_theme/font-spec/specs/mylegacy-font-spec-set.js.map +0 -1
  1283. package/cjs/v3_theme/font-spec/specs/oneservice-font-spec-set.js +0 -2
  1284. package/cjs/v3_theme/font-spec/specs/oneservice-font-spec-set.js.map +0 -1
  1285. package/cjs/v3_theme/font-spec/specs/pa-font-spec-set.js +0 -2
  1286. package/cjs/v3_theme/font-spec/specs/pa-font-spec-set.js.map +0 -1
  1287. package/cjs/v3_theme/font-spec/specs/sgw-digital-lobby-font-spec-set.js +0 -2
  1288. package/cjs/v3_theme/font-spec/specs/sgw-digital-lobby-font-spec-set.js.map +0 -1
  1289. package/cjs/v3_theme/font-spec/specs/smgs-font-spec-set.js +0 -2
  1290. package/cjs/v3_theme/font-spec/specs/smgs-font-spec-set.js.map +0 -1
  1291. package/cjs/v3_theme/font-spec/specs/spf-font-spec-set.js +0 -2
  1292. package/cjs/v3_theme/font-spec/specs/spf-font-spec-set.js.map +0 -1
  1293. package/cjs/v3_theme/font-spec/specs/supportgowhere-font-spec-set.js +0 -2
  1294. package/cjs/v3_theme/font-spec/specs/supportgowhere-font-spec-set.js.map +0 -1
  1295. package/cjs/v3_theme/font-spec/theme-helper.js +0 -2
  1296. package/cjs/v3_theme/font-spec/theme-helper.js.map +0 -1
  1297. package/cjs/v3_theme/helpers.js +0 -2
  1298. package/cjs/v3_theme/helpers.js.map +0 -1
  1299. package/cjs/v3_theme/index.js +0 -2
  1300. package/cjs/v3_theme/index.js.map +0 -1
  1301. package/cjs/v3_theme/motion/specs/default-motion-set.js +0 -2
  1302. package/cjs/v3_theme/motion/specs/default-motion-set.js.map +0 -1
  1303. package/cjs/v3_theme/motion/theme-helper.js +0 -2
  1304. package/cjs/v3_theme/motion/theme-helper.js.map +0 -1
  1305. package/cjs/v3_theme/radius/specs/default-radius-set.js +0 -2
  1306. package/cjs/v3_theme/radius/specs/default-radius-set.js.map +0 -1
  1307. package/cjs/v3_theme/radius/specs/spf-radius-set.js +0 -2
  1308. package/cjs/v3_theme/radius/specs/spf-radius-set.js.map +0 -1
  1309. package/cjs/v3_theme/radius/theme-helper.js +0 -2
  1310. package/cjs/v3_theme/radius/theme-helper.js.map +0 -1
  1311. package/cjs/v3_theme/shadow/specs/default-shadow-set.js +0 -2
  1312. package/cjs/v3_theme/shadow/specs/default-shadow-set.js.map +0 -1
  1313. package/cjs/v3_theme/shadow/theme-helper.js +0 -2
  1314. package/cjs/v3_theme/shadow/theme-helper.js.map +0 -1
  1315. package/cjs/v3_theme/spacing/specs/default-spacing-set.js +0 -2
  1316. package/cjs/v3_theme/spacing/specs/default-spacing-set.js.map +0 -1
  1317. package/cjs/v3_theme/spacing/theme-helper.js +0 -2
  1318. package/cjs/v3_theme/spacing/theme-helper.js.map +0 -1
  1319. package/cjs/v3_theme/use-theme-mode.js +0 -2
  1320. package/cjs/v3_theme/use-theme-mode.js.map +0 -1
  1321. package/codemods/common.ts +0 -8
  1322. package/codemods/data.ts +0 -16
  1323. package/codemods/deprecate-v2-tokens/data.ts +0 -283
  1324. package/codemods/deprecate-v2-tokens/index.ts +0 -89
  1325. package/codemods/migrate-colour/data.ts +0 -95
  1326. package/codemods/migrate-colour/index.ts +0 -104
  1327. package/codemods/migrate-layout/data.ts +0 -5
  1328. package/codemods/migrate-layout/index.ts +0 -108
  1329. package/codemods/migrate-media-query/data.ts +0 -20
  1330. package/codemods/migrate-media-query/index.ts +0 -113
  1331. package/codemods/migrate-text/data.ts +0 -48
  1332. package/codemods/migrate-text/index.ts +0 -196
  1333. package/codemods/migrate-text-list/data.ts +0 -16
  1334. package/codemods/migrate-text-list/index.ts +0 -111
  1335. package/common.d.ts +0 -8
  1336. package/date-navigator/date-navigator.styles_1cotsgz.css +0 -4
  1337. package/deprecate-v2-tokens/data.d.ts +0 -8
  1338. package/example/example.d.ts +0 -2
  1339. package/example/example.js +0 -2
  1340. package/example/example.js.map +0 -1
  1341. package/example/example_r47nvz.css +0 -1
  1342. package/example/index.d.ts +0 -1
  1343. package/example/index.js +0 -2
  1344. package/example/index.js.map +0 -1
  1345. package/example/types.d.ts +0 -3
  1346. package/file-upload/file-list-item/file-list-item-thumbnail.styles_1vrh1ve.css +0 -4
  1347. package/file-upload/file-list-item/file-list-item.styles_y7my2m.css +0 -14
  1348. package/file-upload/file-list.js +0 -2
  1349. package/file-upload/file-list.js.map +0 -1
  1350. package/file-upload/file-list.styles.js +0 -2
  1351. package/file-upload/file-list.styles.js.map +0 -1
  1352. package/file-upload/file-list.styles_16vplxk.css +0 -3
  1353. package/filter/filter-modal.styles_e0ev97.css +0 -8
  1354. package/filter/filter-sidebar.styles_cwvqql.css +0 -4
  1355. package/form/form-label.styles_rk98yd.css +0 -6
  1356. package/image-button/image-button.styles_qtt605.css +0 -5
  1357. package/input-group/input-group.styles_fpy81r.css +0 -3
  1358. package/input-textarea/textarea-counter.styles_adg5h1.css +0 -1
  1359. package/input-textarea/textarea.styles_g0zgyq.css +0 -5
  1360. package/language-switcher/dropdown-panel.styles_1z0n7qq.css +0 -4
  1361. package/language-switcher/dropdown-variant.styles_16c4wc1.css +0 -2
  1362. package/language-switcher/link-container-variant.styles_1blx9qm.css +0 -5
  1363. package/markup/markup.utils.d.ts +0 -2
  1364. package/markup/markup.utils.js +0 -2
  1365. package/markup/markup.utils.js.map +0 -1
  1366. package/migrate-colour/data.d.ts +0 -270
  1367. package/migrate-colour/index.d.ts +0 -7
  1368. package/migrate-layout/data.d.ts +0 -5
  1369. package/migrate-layout/index.d.ts +0 -2
  1370. package/migrate-media-query/data.d.ts +0 -20
  1371. package/migrate-media-query/index.d.ts +0 -2
  1372. package/migrate-text/data.d.ts +0 -46
  1373. package/migrate-text/index.d.ts +0 -2
  1374. package/migrate-text-list/data.d.ts +0 -16
  1375. package/migrate-text-list/index.d.ts +0 -2
  1376. package/modal/modal-box.styles_1xrlxhd.css +0 -2
  1377. package/modal/modal.styles_1sav73f.css +0 -11
  1378. package/modal-v2/modal-v2.styles_1irpyi6.css +0 -3
  1379. package/otp-verification/contact-input-section-styles.d.ts +0 -14
  1380. package/otp-verification/contact-input-section-styles.js +0 -115
  1381. package/otp-verification/contact-input-section-styles.js.map +0 -1
  1382. package/otp-verification/otp-verification-styles.d.ts +0 -1
  1383. package/otp-verification/otp-verification-styles.js +0 -6
  1384. package/otp-verification/otp-verification-styles.js.map +0 -1
  1385. package/otp-verification/verification-section-styles.d.ts +0 -23
  1386. package/otp-verification/verification-section-styles.js +0 -27
  1387. package/otp-verification/verification-section-styles.js.map +0 -1
  1388. package/schedule/schedule-header/schedule-header.style.d.ts +0 -25
  1389. package/schedule/schedule-header/schedule-header.style.js +0 -38
  1390. package/schedule/schedule-header/schedule-header.style.js.map +0 -1
  1391. package/schedule/schedule-week-view/slot-content.d.ts +0 -8
  1392. package/schedule/schedule-week-view/slot-content.js +0 -2
  1393. package/schedule/schedule-week-view/slot-content.js.map +0 -1
  1394. package/schedule/schedule-week-view/slot-content.styles.d.ts +0 -27
  1395. package/schedule/schedule-week-view/slot-content.styles.js +0 -40
  1396. package/schedule/schedule-week-view/slot-content.styles.js.map +0 -1
  1397. package/schedule/shared/index.d.ts +0 -2
  1398. package/select-histogram/select-histogram.styles_11916eo.css +0 -5
  1399. package/shared/dropdown-list/expandable-element.styles_5o9f9w.css +0 -6
  1400. package/shared/dropdown-wrapper/dropdown-wrapper.styles_v10jbi.css +0 -3
  1401. package/shared/internal-calendar/standard/standard-calendar-day-view.styles_1dbvup3.css +0 -3
  1402. package/shared/standalone-date-input/standalone-date-input.styles_1m0da43.css +0 -13
  1403. package/shared/styles/index.js +0 -2
  1404. package/shared/styles/index.js.map +0 -1
  1405. package/shared/time-slot/time-slot.styles_1r9na3f.css +0 -17
  1406. package/sidenav/sidenav-drawer-item.styles_yp8cga.css +0 -6
  1407. package/sidenav/sidenav-drawer-subitem.styles_1ylzfn5.css +0 -1
  1408. package/text-list/text-list.styles_1gohl3f.css +0 -16
  1409. package/time-slot-bar-week/time-slot-bar-week-days.style.d.ts +0 -54
  1410. package/time-slot-bar-week/time-slot-bar-week-days.style.js +0 -104
  1411. package/time-slot-bar-week/time-slot-bar-week-days.style.js.map +0 -1
  1412. package/time-slot-bar-week/time-slot-bar-week.style.d.ts +0 -1
  1413. package/time-slot-bar-week/time-slot-bar-week.style.js +0 -10
  1414. package/time-slot-bar-week/time-slot-bar-week.style.js.map +0 -1
  1415. package/time-slot-week-view/time-slot-week-days.style.d.ts +0 -12
  1416. package/time-slot-week-view/time-slot-week-days.style.js +0 -59
  1417. package/time-slot-week-view/time-slot-week-days.style.js.map +0 -1
  1418. package/timepicker/timepicker.styles_zmkhl8.css +0 -1
  1419. package/typography/typography.styles_1jqils.css +0 -9
  1420. package/uneditable-section/section-item.styles_1dfjzc4.css +0 -9
  1421. package/v3_theme/border/specs/default-border-set.d.ts +0 -2
  1422. package/v3_theme/border/specs/default-border-set.js +0 -2
  1423. package/v3_theme/border/specs/default-border-set.js.map +0 -1
  1424. package/v3_theme/border/theme-helper.d.ts +0 -10
  1425. package/v3_theme/border/theme-helper.js +0 -2
  1426. package/v3_theme/border/theme-helper.js.map +0 -1
  1427. package/v3_theme/border/types.d.ts +0 -12
  1428. package/v3_theme/border-util/specs/default-border-util-set.d.ts +0 -2
  1429. package/v3_theme/border-util/specs/default-border-util-set.js +0 -2
  1430. package/v3_theme/border-util/specs/default-border-util-set.js.map +0 -1
  1431. package/v3_theme/border-util/theme-helper.d.ts +0 -8
  1432. package/v3_theme/border-util/theme-helper.js +0 -2
  1433. package/v3_theme/border-util/theme-helper.js.map +0 -1
  1434. package/v3_theme/border-util/types.d.ts +0 -19
  1435. package/v3_theme/border-util/utils.d.ts +0 -11
  1436. package/v3_theme/border-util/utils.js +0 -8
  1437. package/v3_theme/border-util/utils.js.map +0 -1
  1438. package/v3_theme/breakpoint/media-query-helper.d.ts +0 -9
  1439. package/v3_theme/breakpoint/media-query-helper.js +0 -2
  1440. package/v3_theme/breakpoint/media-query-helper.js.map +0 -1
  1441. package/v3_theme/breakpoint/specs/default-breakpoint-set.d.ts +0 -2
  1442. package/v3_theme/breakpoint/specs/default-breakpoint-set.js +0 -2
  1443. package/v3_theme/breakpoint/specs/default-breakpoint-set.js.map +0 -1
  1444. package/v3_theme/breakpoint/theme-helper.d.ts +0 -39
  1445. package/v3_theme/breakpoint/theme-helper.js +0 -2
  1446. package/v3_theme/breakpoint/theme-helper.js.map +0 -1
  1447. package/v3_theme/breakpoint/types.d.ts +0 -41
  1448. package/v3_theme/colour-primitive/specs/a11yplayground-colour-set.d.ts +0 -2
  1449. package/v3_theme/colour-primitive/specs/a11yplayground-colour-set.js +0 -2
  1450. package/v3_theme/colour-primitive/specs/a11yplayground-colour-set.js.map +0 -1
  1451. package/v3_theme/colour-primitive/specs/bookingsg-colour-set.d.ts +0 -2
  1452. package/v3_theme/colour-primitive/specs/bookingsg-colour-set.js +0 -2
  1453. package/v3_theme/colour-primitive/specs/bookingsg-colour-set.js.map +0 -1
  1454. package/v3_theme/colour-primitive/specs/ccube-colour-set.d.ts +0 -2
  1455. package/v3_theme/colour-primitive/specs/ccube-colour-set.js +0 -2
  1456. package/v3_theme/colour-primitive/specs/ccube-colour-set.js.map +0 -1
  1457. package/v3_theme/colour-primitive/specs/imda-colour-set.d.ts +0 -2
  1458. package/v3_theme/colour-primitive/specs/imda-colour-set.js +0 -2
  1459. package/v3_theme/colour-primitive/specs/imda-colour-set.js.map +0 -1
  1460. package/v3_theme/colour-primitive/specs/lifesg-colour-set.d.ts +0 -2
  1461. package/v3_theme/colour-primitive/specs/lifesg-colour-set.js +0 -2
  1462. package/v3_theme/colour-primitive/specs/lifesg-colour-set.js.map +0 -1
  1463. package/v3_theme/colour-primitive/specs/mylegacy-colour-set.d.ts +0 -2
  1464. package/v3_theme/colour-primitive/specs/mylegacy-colour-set.js +0 -2
  1465. package/v3_theme/colour-primitive/specs/mylegacy-colour-set.js.map +0 -1
  1466. package/v3_theme/colour-primitive/specs/oneservice-colour-set.d.ts +0 -2
  1467. package/v3_theme/colour-primitive/specs/oneservice-colour-set.js +0 -2
  1468. package/v3_theme/colour-primitive/specs/oneservice-colour-set.js.map +0 -1
  1469. package/v3_theme/colour-primitive/specs/pa-colour-set.d.ts +0 -2
  1470. package/v3_theme/colour-primitive/specs/pa-colour-set.js +0 -2
  1471. package/v3_theme/colour-primitive/specs/pa-colour-set.js.map +0 -1
  1472. package/v3_theme/colour-primitive/specs/rbs-colour-set.d.ts +0 -2
  1473. package/v3_theme/colour-primitive/specs/rbs-colour-set.js +0 -2
  1474. package/v3_theme/colour-primitive/specs/rbs-colour-set.js.map +0 -1
  1475. package/v3_theme/colour-primitive/specs/smgs-colour-set.d.ts +0 -2
  1476. package/v3_theme/colour-primitive/specs/smgs-colour-set.js +0 -2
  1477. package/v3_theme/colour-primitive/specs/smgs-colour-set.js.map +0 -1
  1478. package/v3_theme/colour-primitive/specs/spf-colour-set.d.ts +0 -2
  1479. package/v3_theme/colour-primitive/specs/spf-colour-set.js +0 -2
  1480. package/v3_theme/colour-primitive/specs/spf-colour-set.js.map +0 -1
  1481. package/v3_theme/colour-primitive/specs/supportgowhere-colour-set.d.ts +0 -2
  1482. package/v3_theme/colour-primitive/specs/supportgowhere-colour-set.js +0 -2
  1483. package/v3_theme/colour-primitive/specs/supportgowhere-colour-set.js.map +0 -1
  1484. package/v3_theme/colour-primitive/theme-helper.d.ts +0 -10
  1485. package/v3_theme/colour-primitive/theme-helper.js +0 -2
  1486. package/v3_theme/colour-primitive/theme-helper.js.map +0 -1
  1487. package/v3_theme/colour-primitive/types.d.ts +0 -98
  1488. package/v3_theme/colour-semantic/specs/a11yplayground-semantic-tokens.d.ts +0 -3
  1489. package/v3_theme/colour-semantic/specs/a11yplayground-semantic-tokens.js +0 -2
  1490. package/v3_theme/colour-semantic/specs/a11yplayground-semantic-tokens.js.map +0 -1
  1491. package/v3_theme/colour-semantic/specs/lifesg-semantic-tokens.d.ts +0 -3
  1492. package/v3_theme/colour-semantic/specs/lifesg-semantic-tokens.js +0 -2
  1493. package/v3_theme/colour-semantic/specs/lifesg-semantic-tokens.js.map +0 -1
  1494. package/v3_theme/colour-semantic/specs/pa-semantic-tokens.d.ts +0 -2
  1495. package/v3_theme/colour-semantic/specs/pa-semantic-tokens.js +0 -2
  1496. package/v3_theme/colour-semantic/specs/pa-semantic-tokens.js.map +0 -1
  1497. package/v3_theme/colour-semantic/specs/sgwdigitallobby-tokens.d.ts +0 -3
  1498. package/v3_theme/colour-semantic/specs/sgwdigitallobby-tokens.js +0 -2
  1499. package/v3_theme/colour-semantic/specs/sgwdigitallobby-tokens.js.map +0 -1
  1500. package/v3_theme/colour-semantic/theme-helper.d.ts +0 -10
  1501. package/v3_theme/colour-semantic/theme-helper.js +0 -2
  1502. package/v3_theme/colour-semantic/theme-helper.js.map +0 -1
  1503. package/v3_theme/colour-semantic/types.d.ts +0 -123
  1504. package/v3_theme/components/specs/a11yplayground-component-token-set.d.ts +0 -2
  1505. package/v3_theme/components/specs/default-component-token-set.d.ts +0 -2
  1506. package/v3_theme/components/specs/lifesg-component-token-set.d.ts +0 -2
  1507. package/v3_theme/components/specs/pa-component-token-set.d.ts +0 -2
  1508. package/v3_theme/components/specs/smgs-component-token-set.d.ts +0 -2
  1509. package/v3_theme/components/specs/spf-component-token-set.d.ts +0 -2
  1510. package/v3_theme/components/theme-helper.d.ts +0 -17
  1511. package/v3_theme/components/types.d.ts +0 -44
  1512. package/v3_theme/ds-theme-provider.d.ts +0 -2
  1513. package/v3_theme/ds-theme-provider.js +0 -2
  1514. package/v3_theme/ds-theme-provider.js.map +0 -1
  1515. package/v3_theme/font/specs/a11yplayground-font-set.d.ts +0 -2
  1516. package/v3_theme/font/specs/a11yplayground-font-set.js +0 -2
  1517. package/v3_theme/font/specs/a11yplayground-font-set.js.map +0 -1
  1518. package/v3_theme/font/specs/bookingsg-font-set.d.ts +0 -2
  1519. package/v3_theme/font/specs/bookingsg-font-set.js +0 -2
  1520. package/v3_theme/font/specs/bookingsg-font-set.js.map +0 -1
  1521. package/v3_theme/font/specs/default-font-set.d.ts +0 -2
  1522. package/v3_theme/font/specs/default-font-set.js +0 -2
  1523. package/v3_theme/font/specs/default-font-set.js.map +0 -1
  1524. package/v3_theme/font/specs/imda-font-set.d.ts +0 -2
  1525. package/v3_theme/font/specs/imda-font-set.js +0 -2
  1526. package/v3_theme/font/specs/imda-font-set.js.map +0 -1
  1527. package/v3_theme/font/specs/oneservice-font-set.d.ts +0 -2
  1528. package/v3_theme/font/specs/oneservice-font-set.js +0 -2
  1529. package/v3_theme/font/specs/oneservice-font-set.js.map +0 -1
  1530. package/v3_theme/font/specs/pa-font-set.d.ts +0 -2
  1531. package/v3_theme/font/specs/pa-font-set.js +0 -2
  1532. package/v3_theme/font/specs/pa-font-set.js.map +0 -1
  1533. package/v3_theme/font/specs/smgs-font-set.d.ts +0 -2
  1534. package/v3_theme/font/specs/smgs-font-set.js +0 -2
  1535. package/v3_theme/font/specs/smgs-font-set.js.map +0 -1
  1536. package/v3_theme/font/specs/spf-font-set.d.ts +0 -2
  1537. package/v3_theme/font/specs/spf-font-set.js +0 -2
  1538. package/v3_theme/font/specs/spf-font-set.js.map +0 -1
  1539. package/v3_theme/font/specs/supportgowhere-font-set.d.ts +0 -2
  1540. package/v3_theme/font/specs/supportgowhere-font-set.js +0 -2
  1541. package/v3_theme/font/specs/supportgowhere-font-set.js.map +0 -1
  1542. package/v3_theme/font/theme-helper.d.ts +0 -7
  1543. package/v3_theme/font/theme-helper.js +0 -2
  1544. package/v3_theme/font/theme-helper.js.map +0 -1
  1545. package/v3_theme/font/types.d.ts +0 -54
  1546. package/v3_theme/font/utils.d.ts +0 -4
  1547. package/v3_theme/font/utils.js +0 -10
  1548. package/v3_theme/font/utils.js.map +0 -1
  1549. package/v3_theme/font-spec/specs/a11yplayground-font-spec-set.d.ts +0 -2
  1550. package/v3_theme/font-spec/specs/a11yplayground-font-spec-set.js +0 -2
  1551. package/v3_theme/font-spec/specs/a11yplayground-font-spec-set.js.map +0 -1
  1552. package/v3_theme/font-spec/specs/bookingsg-font-spec-set.d.ts +0 -2
  1553. package/v3_theme/font-spec/specs/bookingsg-font-spec-set.js +0 -2
  1554. package/v3_theme/font-spec/specs/bookingsg-font-spec-set.js.map +0 -1
  1555. package/v3_theme/font-spec/specs/default-font-spec-set.d.ts +0 -2
  1556. package/v3_theme/font-spec/specs/default-font-spec-set.js +0 -2
  1557. package/v3_theme/font-spec/specs/default-font-spec-set.js.map +0 -1
  1558. package/v3_theme/font-spec/specs/imda-font-spec-set.d.ts +0 -2
  1559. package/v3_theme/font-spec/specs/imda-font-spec-set.js +0 -2
  1560. package/v3_theme/font-spec/specs/imda-font-spec-set.js.map +0 -1
  1561. package/v3_theme/font-spec/specs/mylegacy-font-spec-set.d.ts +0 -2
  1562. package/v3_theme/font-spec/specs/mylegacy-font-spec-set.js +0 -2
  1563. package/v3_theme/font-spec/specs/mylegacy-font-spec-set.js.map +0 -1
  1564. package/v3_theme/font-spec/specs/oneservice-font-spec-set.d.ts +0 -2
  1565. package/v3_theme/font-spec/specs/oneservice-font-spec-set.js +0 -2
  1566. package/v3_theme/font-spec/specs/oneservice-font-spec-set.js.map +0 -1
  1567. package/v3_theme/font-spec/specs/pa-font-spec-set.d.ts +0 -2
  1568. package/v3_theme/font-spec/specs/pa-font-spec-set.js +0 -2
  1569. package/v3_theme/font-spec/specs/pa-font-spec-set.js.map +0 -1
  1570. package/v3_theme/font-spec/specs/sgw-digital-lobby-font-spec-set.d.ts +0 -2
  1571. package/v3_theme/font-spec/specs/sgw-digital-lobby-font-spec-set.js +0 -2
  1572. package/v3_theme/font-spec/specs/sgw-digital-lobby-font-spec-set.js.map +0 -1
  1573. package/v3_theme/font-spec/specs/smgs-font-spec-set.d.ts +0 -2
  1574. package/v3_theme/font-spec/specs/smgs-font-spec-set.js +0 -2
  1575. package/v3_theme/font-spec/specs/smgs-font-spec-set.js.map +0 -1
  1576. package/v3_theme/font-spec/specs/spf-font-spec-set.d.ts +0 -2
  1577. package/v3_theme/font-spec/specs/spf-font-spec-set.js +0 -2
  1578. package/v3_theme/font-spec/specs/spf-font-spec-set.js.map +0 -1
  1579. package/v3_theme/font-spec/specs/supportgowhere-font-spec-set.d.ts +0 -2
  1580. package/v3_theme/font-spec/specs/supportgowhere-font-spec-set.js +0 -2
  1581. package/v3_theme/font-spec/specs/supportgowhere-font-spec-set.js.map +0 -1
  1582. package/v3_theme/font-spec/theme-helper.d.ts +0 -6
  1583. package/v3_theme/font-spec/theme-helper.js +0 -2
  1584. package/v3_theme/font-spec/theme-helper.js.map +0 -1
  1585. package/v3_theme/font-spec/types.d.ts +0 -53
  1586. package/v3_theme/helpers.d.ts +0 -7
  1587. package/v3_theme/helpers.js +0 -2
  1588. package/v3_theme/helpers.js.map +0 -1
  1589. package/v3_theme/index.d.ts +0 -696
  1590. package/v3_theme/index.js +0 -2
  1591. package/v3_theme/index.js.map +0 -1
  1592. package/v3_theme/internal-types.d.ts +0 -4
  1593. package/v3_theme/motion/specs/default-motion-set.d.ts +0 -2
  1594. package/v3_theme/motion/specs/default-motion-set.js +0 -2
  1595. package/v3_theme/motion/specs/default-motion-set.js.map +0 -1
  1596. package/v3_theme/motion/theme-helper.d.ts +0 -6
  1597. package/v3_theme/motion/theme-helper.js +0 -2
  1598. package/v3_theme/motion/theme-helper.js.map +0 -1
  1599. package/v3_theme/motion/types.d.ts +0 -17
  1600. package/v3_theme/radius/specs/default-radius-set.d.ts +0 -2
  1601. package/v3_theme/radius/specs/default-radius-set.js +0 -2
  1602. package/v3_theme/radius/specs/default-radius-set.js.map +0 -1
  1603. package/v3_theme/radius/specs/spf-radius-set.d.ts +0 -2
  1604. package/v3_theme/radius/specs/spf-radius-set.js +0 -2
  1605. package/v3_theme/radius/specs/spf-radius-set.js.map +0 -1
  1606. package/v3_theme/radius/theme-helper.d.ts +0 -6
  1607. package/v3_theme/radius/theme-helper.js +0 -2
  1608. package/v3_theme/radius/theme-helper.js.map +0 -1
  1609. package/v3_theme/radius/types.d.ts +0 -13
  1610. package/v3_theme/shadow/specs/default-shadow-set.d.ts +0 -2
  1611. package/v3_theme/shadow/specs/default-shadow-set.js +0 -2
  1612. package/v3_theme/shadow/specs/default-shadow-set.js.map +0 -1
  1613. package/v3_theme/shadow/theme-helper.d.ts +0 -7
  1614. package/v3_theme/shadow/theme-helper.js +0 -2
  1615. package/v3_theme/shadow/theme-helper.js.map +0 -1
  1616. package/v3_theme/shadow/types.d.ts +0 -21
  1617. package/v3_theme/spacing/specs/default-spacing-set.d.ts +0 -2
  1618. package/v3_theme/spacing/specs/default-spacing-set.js +0 -2
  1619. package/v3_theme/spacing/specs/default-spacing-set.js.map +0 -1
  1620. package/v3_theme/spacing/theme-helper.d.ts +0 -6
  1621. package/v3_theme/spacing/theme-helper.js +0 -2
  1622. package/v3_theme/spacing/theme-helper.js.map +0 -1
  1623. package/v3_theme/spacing/types.d.ts +0 -26
  1624. package/v3_theme/types.d.ts +0 -78
  1625. package/v3_theme/use-theme-mode.d.ts +0 -4
  1626. package/v3_theme/use-theme-mode.js +0 -2
  1627. package/v3_theme/use-theme-mode.js.map +0 -1
  1628. /package/file-upload/{file-list.styles.d.ts → file-list/file-list.styles.d.ts} +0 -0
  1629. /package/{deprecate-v2-tokens → migrate-popover}/index.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"data-table.js","sources":["../../src/data-table/data-table.tsx"],"sourcesContent":["import { ArrowDownIcon, ArrowUpIcon } from \"@lifesg/react-icons\";\nimport clsx from \"clsx\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useInView } from \"react-intersection-observer\";\nimport { useResizeDetector } from \"react-resize-detector\";\n\nimport { LoadingDotsSpinner } from \"../animations\";\nimport { Checkbox } from \"../checkbox\";\nimport { ErrorDisplay } from \"../error-display\";\nimport { concatIds, VisuallyHidden } from \"../shared/accessibility\";\nimport { BasicButton } from \"../shared/input-wrapper\";\nimport { useApplyStyle } from \"../theme\";\nimport { Typography } from \"../typography\";\nimport { useId } from \"../util\";\nimport { useEventListener } from \"../util/use-event-listener\";\nimport * as styles from \"./data-table.styles\";\nimport type { DataTableProps, HeaderProps, RowProps } from \"./types\";\n\nexport const DataTable = ({\n id,\n headers,\n rows,\n className,\n sortIndicators,\n alternatingRows,\n loadState = \"success\",\n enableMultiSelect,\n selectedIds,\n disabledIds,\n enableActionBar,\n enableSelectAll,\n enableStickyHeader,\n emptyView,\n actionBarContent,\n renderCustomEmptyView,\n onHeaderClick,\n onSelect,\n onSelectAll,\n onClearSelectionClick,\n ...otherProps\n}: DataTableProps) => {\n // =============================================================================\n // CONST, STATE, REF\n // =============================================================================\n const tableRef = useRef<HTMLTableElement>(null);\n const tableEndRef = useRef<HTMLDivElement | null>(null);\n const headerRef = useRef<HTMLTableSectionElement>(null);\n const actionBarRef = useRef<HTMLDivElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const internalId = useId();\n const keyColumns = headers.filter(\n (header): header is Exclude<HeaderProps, string> => {\n return typeof header !== \"string\" && !!header.keyColumn;\n }\n );\n\n const [scrollable, setScrollable] = useState(false);\n const [scrollEnd, setScrollEnd] = useState(false);\n const [isFloatingActionBar, setIsFloatingActionBar] = useState(false);\n const [showLastBorder, setShowLastBorder] = useState(false);\n\n const { ref: endRef, inView: end } = useInView();\n\n useApplyStyle(actionBarRef, {\n [styles.tokens.actionBarWrapperLeft]:\n isFloatingActionBar && tableRef.current\n ? `${tableRef.current.getBoundingClientRect().left}px`\n : undefined,\n [styles.tokens.actionBarWrapperWidth]:\n isFloatingActionBar && tableRef.current\n ? `${tableRef.current.clientWidth}px`\n : undefined,\n });\n\n // =============================================================================\n // EFFECTS, EVENT LISTENERS\n // ============================================================================\n const onResize = useCallback(() => {\n if (!wrapperRef.current || !actionBarRef.current) {\n return;\n }\n const scrollable =\n wrapperRef.current.scrollHeight > wrapperRef.current.clientHeight;\n setScrollable(scrollable);\n\n if (scrollable) {\n actionBarRef.current.style.transform = `translateY(0)`;\n } else {\n calculateStickyInViewport();\n }\n }, []);\n\n useEffect(() => {\n onResize();\n }, []);\n\n useResizeDetector({ onResize });\n\n const scrollHandler = () => {\n requestAnimationFrame(() => {\n if (scrollable) {\n calculateFixedInViewport();\n } else {\n calculateStickyInViewport();\n }\n });\n };\n\n useEventListener(\"scroll\", scrollHandler, \"window\");\n\n useEffect(() => {\n checkLastBorder();\n }, [rows]);\n\n // ===========================================================================\n // HELPER FUNCTIONS\n // ===========================================================================\n const isAllCheckboxSelected = (): boolean => {\n return selectedIds?.length === rows?.length;\n };\n\n const isIndeterminateCheckbox = (): boolean => {\n return (\n !!selectedIds &&\n selectedIds.length !== 0 &&\n !isAllCheckboxSelected()\n );\n };\n\n const isRowSelected = (rowId: string): boolean => {\n return !!selectedIds?.includes(rowId);\n };\n\n const isAlternatingRow = (index: number): boolean => {\n return !!alternatingRows && index % 2 === 1;\n };\n\n const isDisabledRow = (rowId: string): boolean => {\n return !!disabledIds?.includes(rowId);\n };\n\n const getDataTestId = (subStr: string) => {\n if (!otherProps[\"data-testid\"]) return undefined;\n return `${otherProps[\"data-testid\"]}-${subStr}`;\n };\n\n const getTotalColumns = (): number => {\n return headers.length + (enableMultiSelect ? 1 : 0);\n };\n\n const getSortDirection = (fieldKey: string) => {\n return sortIndicators?.[fieldKey];\n };\n\n const getHeaderAriaSort = (fieldKey: string) => {\n const sortDirection = getSortDirection(fieldKey);\n\n if (!sortDirection) {\n return undefined;\n }\n\n return sortDirection === \"asc\" ? \"ascending\" : \"descending\";\n };\n\n const getSortButtonAriaLabel = (fieldKey: string) => {\n const nextSortDirection =\n getSortDirection(fieldKey) === \"asc\" ? \"descending\" : \"ascending\";\n\n return ` by ${nextSortDirection} order`;\n };\n\n const getHeaderCellId = (fieldKey: string) => {\n return `${internalId}-header-${fieldKey}`;\n };\n const getCellId = (rowId: string, fieldKey: string) => {\n return `${internalId}-row-${rowId}-${fieldKey}-key-column`;\n };\n\n const getRowCheckboxAriaLabelledBy = (rowId: string) => {\n const keyColumnIds = keyColumns.map((header) =>\n getCellId(rowId, header.fieldKey)\n );\n\n return concatIds(...keyColumnIds);\n };\n\n const calculateFixedInViewport = () => {\n if (!wrapperRef.current) {\n return;\n }\n const wrapperBounds = wrapperRef.current.getBoundingClientRect();\n setIsFloatingActionBar(\n wrapperBounds.bottom > window.innerHeight + 30 &&\n wrapperBounds.top < window.innerHeight - 200\n );\n };\n\n const calculateStickyInViewport = () => {\n if (\n !tableRef.current ||\n !tableEndRef.current ||\n !wrapperRef.current ||\n !actionBarRef.current ||\n !headerRef.current\n ) {\n return;\n }\n\n const endBounds = tableEndRef.current.getBoundingClientRect();\n\n if (endBounds.top > window.innerHeight) {\n const bottomOffset = endBounds.bottom - window.innerHeight;\n const bottomToHeaderOffset =\n tableRef.current.getBoundingClientRect().height -\n headerRef.current.clientHeight -\n 32;\n const maxBottomOffset = Math.min(\n bottomOffset,\n bottomToHeaderOffset\n );\n\n actionBarRef.current.style.transform = `translateY(-${maxBottomOffset}px)`;\n } else {\n actionBarRef.current.style.transform = `translateY(0)`;\n }\n };\n\n const checkLastBorder = () => {\n if (!tableRef.current || !wrapperRef.current) {\n return;\n }\n // 56 pixels added due to the behavior of action bar\n setShowLastBorder(\n tableRef.current.clientHeight + (enableActionBar ? 56 : 0) <\n wrapperRef.current.clientHeight\n );\n };\n\n // =============================================================================\n // EVENT HANDLERS\n // =============================================================================\n const handleHeaderClick = (fieldKey: string) => {\n onHeaderClick?.(fieldKey);\n };\n\n const handleHeaderButtonClick = (\n event: React.MouseEvent<HTMLButtonElement>,\n fieldKey: string\n ) => {\n event.stopPropagation();\n onHeaderClick?.(fieldKey);\n };\n\n // =============================================================================\n // RENDER FUNCTIONS\n // =============================================================================\n const renderHeaders = () => (\n <thead\n ref={headerRef}\n className={enableStickyHeader ? styles.stickyHeader : undefined}\n >\n <tr className={styles.headerRow}>\n {enableMultiSelect && renderHeaderCheckBox()}\n {headers.map(renderHeaderCell)}\n </tr>\n </thead>\n );\n\n const renderHeaderCell = (header: HeaderProps) => {\n const {\n fieldKey,\n label,\n clickable = false,\n style,\n } = typeof header === \"string\"\n ? {\n fieldKey: header,\n label: header,\n style: undefined,\n }\n : header;\n\n const isSortable = !!getSortDirection(fieldKey);\n const headerCellId = getHeaderCellId(fieldKey);\n return (\n <th\n data-testid={getDataTestId(`header-${fieldKey}`)}\n key={fieldKey}\n className={clsx(\n styles.headerCell,\n clickable && styles.headerCellClickable\n )}\n scope=\"col\"\n aria-sort={getHeaderAriaSort(fieldKey)}\n style={style}\n onClick={() => handleHeaderClick(fieldKey)}\n >\n <div className={styles.headerCellContent} id={headerCellId}>\n {typeof label === \"string\" ? (\n <Typography.BodyBL weight=\"bold\">\n {label}\n </Typography.BodyBL>\n ) : (\n label\n )}\n {renderSortedArrow(fieldKey)}\n </div>\n {(clickable || isSortable) && (\n <VisuallyHidden>\n <button\n onClick={(event) =>\n handleHeaderButtonClick(event, fieldKey)\n }\n >\n {isSortable && \"Sort \"}\n <span aria-labelledby={headerCellId} />\n {isSortable && getSortButtonAriaLabel(fieldKey)}\n </button>\n </VisuallyHidden>\n )}\n </th>\n );\n };\n\n const renderSortedArrow = (fieldKey: string) => {\n const isSorted = sortIndicators?.[fieldKey];\n\n if (!isSorted) {\n return <></>;\n }\n if (isSorted === \"asc\") {\n return (\n <ArrowUpIcon\n aria-hidden\n data-testid={getDataTestId(`header-${fieldKey}-arrowup`)}\n />\n );\n }\n return (\n <ArrowDownIcon\n aria-hidden\n data-testid={getDataTestId(`header-${fieldKey}-arrowdown`)}\n />\n );\n };\n\n const renderHeaderCheckBox = () => {\n return (\n <th\n data-testid={getDataTestId(\"header-selection\")}\n className={clsx(styles.headerCell, styles.headerCellCheckbox)}\n scope=\"col\"\n >\n <div className={styles.selectionCheckboxWrapper}>\n <VisuallyHidden>Row selection</VisuallyHidden>\n {enableSelectAll && (\n <Checkbox\n checked={isAllCheckboxSelected()}\n indeterminate={isIndeterminateCheckbox()}\n aria-label=\"Select all rows\"\n onClick={() => {\n if (onSelectAll) {\n onSelectAll(isAllCheckboxSelected());\n }\n }}\n />\n )}\n </div>\n </th>\n );\n };\n\n const renderRows = () => {\n return !rows || rows.length < 1 ? (\n <tr>\n <td\n className={styles.emptyStateCell}\n colSpan={getTotalColumns()}\n >\n {renderCustomEmptyView\n ? renderCustomEmptyView()\n : renderBasicEmptyView()}\n </td>\n </tr>\n ) : (\n <>\n {rows?.map((row: RowProps, index: number) => (\n <tr\n data-testid={getDataTestId(`row-${row.id.toString()}`)}\n key={row.id.toString()}\n className={clsx(\n styles.bodyRow,\n showLastBorder && styles.bodyRowWithBottomBorder,\n isAlternatingRow(index) &&\n styles.bodyRowAlternating,\n enableMultiSelect && styles.bodyRowSelectable,\n isRowSelected(row.id.toString()) &&\n styles.bodyRowSelected\n )}\n >\n {enableMultiSelect && renderRowCheckBox(row)}\n\n {headers.map((header) => renderRowCell(header, row))}\n </tr>\n ))}\n </>\n );\n };\n\n const renderRowCell = (header: HeaderProps, row: RowProps) => {\n const style = typeof header === \"string\" ? undefined : header.style;\n const fieldKey = typeof header === \"string\" ? header : header.fieldKey;\n const rowId = row.id.toString();\n const cellData = row[fieldKey];\n const cellId = `${rowId}-${fieldKey}`;\n\n let cellContent: React.ReactNode;\n if (typeof cellData === \"string\" || typeof cellData === \"number\") {\n cellContent = (\n <Typography.BodyBL className={styles.bodyCellText}>\n {cellData}\n </Typography.BodyBL>\n );\n } else if (typeof cellData === \"function\") {\n cellContent = cellData(row, { isSelected: isRowSelected(rowId) });\n } else {\n cellContent = cellData;\n }\n\n return (\n <td\n data-testid={getDataTestId(`row-${cellId}`)}\n key={cellId}\n id={getCellId(rowId, fieldKey)}\n className={styles.bodyCell}\n style={style}\n >\n {cellContent}\n </td>\n );\n };\n\n const renderRowCheckBox = (row: RowProps) => {\n const rowId = row.id.toString();\n\n return (\n <td\n data-testid={getDataTestId(`row-${rowId}-selection`)}\n className={clsx(styles.bodyCell, styles.bodyCellCheckbox)}\n >\n <div className={styles.selectionCheckboxWrapper}>\n <Checkbox\n checked={isRowSelected(rowId)}\n aria-labelledby={getRowCheckboxAriaLabelledBy(rowId)}\n onClick={() => {\n if (onSelect) {\n onSelect(rowId, !isRowSelected(rowId));\n }\n }}\n disabled={isDisabledRow(rowId)}\n focusableWhenDisabled={isDisabledRow(rowId)}\n />\n </div>\n </td>\n );\n };\n\n const renderBasicEmptyView = () => {\n let emptyTitle: JSX.Element;\n if (!emptyView?.title) {\n emptyTitle = (\n <Typography.HeadingSM\n className={styles.emptyStateTitle}\n weight=\"bold\"\n >\n {\"No <items> found\"}\n </Typography.HeadingSM>\n );\n } else if (typeof emptyView.title === \"string\") {\n emptyTitle = (\n <Typography.HeadingSM\n className={styles.emptyStateTitle}\n weight=\"bold\"\n >\n {emptyView.title}\n </Typography.HeadingSM>\n );\n } else {\n emptyTitle = emptyView.title;\n }\n\n return (\n <ErrorDisplay\n type={\"no-item-found\"}\n {...emptyView}\n title={emptyTitle}\n description={\n emptyView?.description\n ? emptyView.description\n : \"No matching rows\"\n }\n />\n );\n };\n\n const renderLoader = () => {\n return (\n <tr>\n <td colSpan={getTotalColumns()}>\n <div\n className={styles.loadingStateWrapper}\n role=\"status\"\n aria-live=\"polite\"\n aria-label=\"Loading table\"\n >\n {loadState === \"loading\" && <LoadingDotsSpinner />}\n </div>\n </td>\n </tr>\n );\n };\n\n const renderSelectionBar = () => {\n const count = selectedIds?.length ?? 0;\n const hasNotReachedScrollableEnd = scrollable && !scrollEnd;\n const hasNotReachedTableEnd = !scrollable && !end;\n const shouldUseFloatingActionBar =\n hasNotReachedScrollableEnd ||\n hasNotReachedTableEnd ||\n isFloatingActionBar;\n\n return (\n <div\n ref={actionBarRef}\n className={clsx(\n styles.actionBarWrapper,\n isFloatingActionBar && styles.actionBarWrapperFloating\n )}\n >\n <div\n className={clsx(\n styles.actionBar,\n shouldUseFloatingActionBar && styles.actionBarFloating\n )}\n >\n <Typography.BodyMD weight=\"semibold\">{`${count} item${\n count > 1 ? \"s\" : \"\"\n } selected`}</Typography.BodyMD>\n <BasicButton\n className={styles.actionBarButton}\n type=\"button\"\n aria-label={`Clear selection of ${count} item${\n count === 1 ? \"\" : \"s\"\n }`}\n onClick={onClearSelectionClick}\n >\n Clear selection\n </BasicButton>\n {actionBarContent}\n </div>\n </div>\n );\n };\n\n return (\n <div\n id={id || \"table-wrapper\"}\n data-testid={otherProps[\"data-testid\"] || \"table\"}\n className={clsx(styles.tableWrapper, className)}\n ref={wrapperRef}\n onScroll={() => {\n if (scrollable && wrapperRef.current) {\n setScrollEnd(\n wrapperRef.current.scrollTop +\n wrapperRef.current.clientHeight >=\n wrapperRef.current.scrollHeight\n );\n }\n }}\n tabIndex={0} // scrollable container must be focusable to support keyboard users\n >\n <div className={styles.tableContainer}>\n <table ref={tableRef} className={clsx(styles.table)}>\n {renderHeaders()}\n <tbody>\n {loadState === \"success\"\n ? renderRows()\n : renderLoader()}\n </tbody>\n </table>\n </div>\n {enableActionBar &&\n selectedIds &&\n selectedIds.length > 0 &&\n renderSelectionBar()}\n <div\n ref={(r) => {\n tableEndRef.current = r;\n endRef(r);\n }}\n />\n </div>\n );\n};\n"],"names":["DataTable","_a","id","headers","rows","className","sortIndicators","alternatingRows","loadState","enableMultiSelect","selectedIds","disabledIds","enableActionBar","enableSelectAll","enableStickyHeader","emptyView","actionBarContent","renderCustomEmptyView","onHeaderClick","onSelect","onSelectAll","onClearSelectionClick","otherProps","__rest","tableRef","useRef","tableEndRef","headerRef","actionBarRef","wrapperRef","internalId","useId","keyColumns","filter","header","keyColumn","scrollable","setScrollable","useState","scrollEnd","setScrollEnd","isFloatingActionBar","setIsFloatingActionBar","showLastBorder","setShowLastBorder","ref","endRef","inView","end","useInView","useApplyStyle","styles.tokens","actionBarWrapperLeft","current","getBoundingClientRect","left","undefined","actionBarWrapperWidth","clientWidth","onResize","useCallback","scrollHeight","clientHeight","style","transform","calculateStickyInViewport","useEffect","useResizeDetector","useEventListener","requestAnimationFrame","calculateFixedInViewport","checkLastBorder","isAllCheckboxSelected","length","isRowSelected","rowId","includes","isAlternatingRow","index","isDisabledRow","getDataTestId","subStr","getTotalColumns","getSortDirection","fieldKey","getHeaderAriaSort","sortDirection","getSortButtonAriaLabel","getCellId","getRowCheckboxAriaLabelledBy","keyColumnIds","map","concatIds","wrapperBounds","bottom","window","innerHeight","top","endBounds","bottomOffset","bottomToHeaderOffset","height","maxBottomOffset","Math","min","renderHeaderCell","label","clickable","isSortable","headerCellId","getHeaderCellId","_jsxs","clsx","styles.headerCell","styles.headerCellClickable","scope","onClick","handleHeaderClick","children","styles.headerCellContent","_jsx","Typography","BodyBL","weight","renderSortedArrow","VisuallyHidden","event","stopPropagation","handleHeaderButtonClick","isSorted","ArrowUpIcon","ArrowDownIcon","renderHeaderCheckBox","styles.headerCellCheckbox","styles.selectionCheckboxWrapper","Checkbox","checked","indeterminate","renderRowCell","row","toString","cellData","cellId","cellContent","styles.bodyCellText","isSelected","styles.bodyCell","renderRowCheckBox","styles.bodyCellCheckbox","disabled","focusableWhenDisabled","renderBasicEmptyView","emptyTitle","title","HeadingSM","styles.emptyStateTitle","ErrorDisplay","Object","assign","type","description","styles.tableWrapper","onScroll","scrollTop","tabIndex","styles.tableContainer","styles.table","styles.stickyHeader","styles.headerRow","styles.emptyStateCell","colSpan","_Fragment","styles.bodyRow","styles.bodyRowWithBottomBorder","styles.bodyRowAlternating","styles.bodyRowSelectable","styles.bodyRowSelected","styles.loadingStateWrapper","role","LoadingDotsSpinner","count","shouldUseFloatingActionBar","styles.actionBarWrapper","styles.actionBarWrapperFloating","styles.actionBar","styles.actionBarFloating","BodyMD","BasicButton","styles.actionBarButton","renderSelectionBar","r"],"mappings":"smEAkBO,MAAMA,EAAaC,QAAAC,GACtBA,EAAEC,QACFA,EAAOC,KACPA,EAAIC,UACJA,GAASC,eACTA,GAAcC,gBACdA,GAAeC,UACfA,GAAY,UAASC,kBACrBA,GAAiBC,YACjBA,GAAWC,YACXA,GAAWC,gBACXA,GAAeC,gBACfA,GAAeC,mBACfA,GAAkBC,UAClBA,GAASC,iBACTA,GAAgBC,sBAChBA,GAAqBC,cACrBA,GAAaC,SACbA,GAAQC,YACRA,GAAWC,sBACXA,MACGC,GAAUC,EAAAtB,EArBS,CAAA,KAAA,UAAA,OAAA,YAAA,iBAAA,kBAAA,YAAA,oBAAA,cAAA,cAAA,kBAAA,kBAAA,qBAAA,YAAA,mBAAA,wBAAA,gBAAA,WAAA,cAAA,0BA0BtB,MAAMuB,GAAWC,EAAyB,MACpCC,GAAcD,EAA8B,MAC5CE,GAAYF,EAAgC,MAC5CG,GAAeH,EAAuB,MACtCI,GAAaJ,EAAuB,MACpCK,GAAaC,IACbC,GAAa7B,EAAQ8B,QACtBC,GAC4B,iBAAXA,KAAyBA,EAAOC,aAI/CC,GAAYC,IAAiBC,GAAS,IACtCC,GAAWC,IAAgBF,GAAS,IACpCG,GAAqBC,IAA0BJ,GAAS,IACxDK,GAAgBC,IAAqBN,GAAS,IAE7CO,IAAKC,GAAQC,OAAQC,IAAQC,IAErCC,EAActB,GAAc,CACxB,CAACuB,EAAcC,sBACXX,IAAuBjB,GAAS6B,QAC1B,GAAG7B,GAAS6B,QAAQC,wBAAwBC,cAC5CC,EACV,CAACL,EAAcM,uBACXhB,IAAuBjB,GAAS6B,QAC1B,GAAG7B,GAAS6B,QAAQK,qBACpBF,IAMd,MAAMG,GAAWC,GAAY,KACzB,IAAK/B,GAAWwB,UAAYzB,GAAayB,QACrC,OAEJ,MAAMjB,EACFP,GAAWwB,QAAQQ,aAAehC,GAAWwB,QAAQS,aACzDzB,GAAcD,GAEVA,EACAR,GAAayB,QAAQU,MAAMC,UAAY,gBAEvCC,IACJ,GACD,IAEHC,GAAU,KACNP,IAAU,GACX,IAEHQ,EAAkB,CAAER,cAYpBS,EAAiB,UAVK,KAClBC,uBAAsB,KACdjC,GACAkC,KAEAL,IACJ,GACF,GAGoC,UAE1CC,GAAU,KACNK,IAAiB,GAClB,CAACnE,IAKJ,MAAMoE,GAAwB,KACnB9D,cAAW,EAAXA,GAAa+D,WAAWrE,aAAI,EAAJA,EAAMqE,QAWnCC,GAAiBC,MACVjE,cAAW,EAAXA,GAAakE,SAASD,IAG7BE,GAAoBC,KACbvE,IAAmBuE,EAAQ,GAAM,EAGxCC,GAAiBJ,MACVhE,cAAW,EAAXA,GAAaiE,SAASD,IAG7BK,GAAiBC,IACnB,GAAK3D,GAAW,eAChB,MAAO,GAAGA,GAAW,kBAAkB2D,GAAQ,EAG7CC,GAAkB,IACb/E,EAAQsE,QAAUhE,GAAoB,EAAI,GAG/C0E,GAAoBC,GACf9E,cAAc,EAAdA,GAAiB8E,GAGtBC,GAAqBD,IACvB,MAAME,EAAgBH,GAAiBC,GAEvC,GAAKE,EAIL,MAAyB,QAAlBA,EAA0B,YAAc,YAAY,EAGzDC,GAA0BH,GAIrB,OAF4B,QAA/BD,GAAiBC,GAAsB,aAAe,oBAQxDI,GAAY,CAACb,EAAeS,IACvB,GAAGtD,UAAkB6C,KAASS,eAGnCK,GAAgCd,IAClC,MAAMe,EAAe1D,GAAW2D,KAAKzD,GACjCsD,GAAUb,EAAOzC,EAAOkD,YAG5B,OAAOQ,KAAaF,EAAa,EAG/BpB,GAA2B,KAC7B,IAAKzC,GAAWwB,QACZ,OAEJ,MAAMwC,EAAgBhE,GAAWwB,QAAQC,wBACzCZ,GACImD,EAAcC,OAASC,OAAOC,YAAc,IACxCH,EAAcI,IAAMF,OAAOC,YAAc,IAChD,EAGC/B,GAA4B,KAC9B,KACKzC,GAAS6B,SACT3B,GAAY2B,SACZxB,GAAWwB,SACXzB,GAAayB,SACb1B,GAAU0B,SAEX,OAGJ,MAAM6C,EAAYxE,GAAY2B,QAAQC,wBAEtC,GAAI4C,EAAUD,IAAMF,OAAOC,YAAa,CACpC,MAAMG,EAAeD,EAAUJ,OAASC,OAAOC,YACzCI,EACF5E,GAAS6B,QAAQC,wBAAwB+C,OACzC1E,GAAU0B,QAAQS,aAClB,GACEwC,EAAkBC,KAAKC,IACzBL,EACAC,GAGJxE,GAAayB,QAAQU,MAAMC,UAAY,eAAesC,MAC1D,MACI1E,GAAayB,QAAQU,MAAMC,UAAY,eAC3C,EAGEO,GAAkB,KACf/C,GAAS6B,SAAYxB,GAAWwB,SAIrCT,GACIpB,GAAS6B,QAAQS,cAAgBlD,GAAkB,GAAK,GACpDiB,GAAWwB,QAAQS,aAC1B,EAiCC2C,GAAoBvE,IACtB,MAAMkD,SACFA,EAAQsB,MACRA,EAAKC,UACLA,GAAY,EAAK5C,MACjBA,GACkB,iBAAX7B,EACL,CACIkD,SAAUlD,EACVwE,MAAOxE,EACP6B,WAAOP,GAEXtB,EAEA0E,IAAezB,GAAiBC,GAChCyB,EAhHc,CAACzB,GACd,GAAGtD,aAAqBsD,IA+GV0B,CAAgB1B,GACrC,OACI2B,EAAA,KAAA,CAAA,cACiB/B,GAAc,UAAUI,KAErC/E,UAAW2G,EACPC,EACAN,GAAaO,GAEjBC,MAAM,MAAK,YACA9B,GAAkBD,GAC7BrB,MAAOA,EACPqD,QAAS,IAtDK,CAAChC,IACvBlE,UAAAA,GAAgBkE,EAAS,EAqDFiC,CAAkBjC,GAASkC,SAAA,CAE1CP,SAAK1G,UAAWkH,EAA0BrH,GAAI2G,EAAYS,SAAA,CACpC,iBAAVZ,EACJc,EAACC,EAAWC,OAAM,CAACC,OAAO,OAAML,SAC3BZ,IACe,EAIvBkB,GAAkBxC,OAErBuB,GAAaC,IACXY,EAACK,YACGd,EAAA,SAAA,CACIK,QAAUU,GAjEF,EAC5BA,EACA1C,KAEA0C,EAAMC,kBACN7G,UAAAA,GAAgBkE,EAAS,EA6DD4C,CAAwBF,EAAO1C,GAASkC,SAAA,CAG3CV,GAAc,QACfY,EAAA,OAAA,CAAA,kBAAuBX,IACtBD,GAAcrB,GAAuBH,UA7B7CA,EAiCJ,EAIPwC,GAAqBxC,IACvB,MAAM6C,EAAW3H,gBAAAA,GAAiB8E,GAElC,OAAK6C,EAGY,QAAbA,EAEIT,EAACU,EAAW,CAAA,eAAA,EAAA,cAEKlD,GAAc,UAAUI,eAK7CoC,EAACW,EAAa,CAAA,eAAA,EAAA,cAEGnD,GAAc,UAAUI,iBAblCoC,OAcL,EAIJY,GAAuB,IAErBZ,EAAA,KAAA,CAAA,cACiBxC,GAAc,oBAC3B3E,UAAW2G,EAAKC,EAAmBoB,GACnClB,MAAM,MAAKG,SAEXP,EAAA,MAAA,CAAK1G,UAAWiI,EAA+BhB,SAAA,CAC3CE,EAACK,EAAc,CAAAP,SAAA,kBACdzG,IACG2G,EAACe,EAAQ,CACLC,QAAShE,KACTiE,gBA3Od/H,IACqB,IAAvBA,GAAY+D,SACXD,KAyOuD,aAC7B,kBACX4C,QAAS,KACDhG,IACAA,GAAYoD,KAChB,SA8CtBkE,GAAgB,CAACxG,EAAqByG,KACxC,MAAM5E,EAA0B,iBAAX7B,OAAsBsB,EAAYtB,EAAO6B,MACxDqB,EAA6B,iBAAXlD,EAAsBA,EAASA,EAAOkD,SACxDT,EAAQgE,EAAIzI,GAAG0I,WACfC,EAAWF,EAAIvD,GACf0D,EAAS,GAAGnE,KAASS,IAE3B,IAAI2D,EAaJ,OAXIA,EADoB,iBAAbF,GAA6C,iBAAbA,EAEnCrB,EAACC,EAAWC,OAAM,CAACrH,UAAW2I,EAAmB1B,SAC5CuB,IAGkB,mBAAbA,EACAA,EAASF,EAAK,CAAEM,WAAYvE,GAAcC,KAE1CkE,EAIdrB,EAAA,KAAA,CAAA,cACiBxC,GAAc,OAAO8D,KAElC5I,GAAIsF,GAAUb,EAAOS,GACrB/E,UAAW6I,EACXnF,MAAOA,WAENgF,GALID,EAMJ,EAIPK,GAAqBR,IACvB,MAAMhE,EAAQgE,EAAIzI,GAAG0I,WAErB,OACIpB,sBACiBxC,GAAc,OAAOL,eAClCtE,UAAW2G,EAAKkC,EAAiBE,GAAwB9B,SAEzDE,EAAA,MAAA,CAAKnH,UAAWiI,EAA+BhB,SAC3CE,EAACe,EAAQ,CACLC,QAAS9D,GAAcC,GAAM,kBACZc,GAA6Bd,GAC9CyC,QAAS,KACDjG,IACAA,GAASwD,GAAQD,GAAcC,GACnC,EAEJ0E,SAAUtE,GAAcJ,GACxB2E,sBAAuBvE,GAAcJ,QAG5C,EAIP4E,GAAuB,KACzB,IAAIC,EAuBJ,OAZIA,GAVCzI,cAAS,EAATA,GAAW0I,OASsB,iBAApB1I,GAAU0I,MAEpBjC,EAACC,EAAWiC,UAAS,CACjBrJ,UAAWsJ,EACXhC,OAAO,OAAML,SAEZvG,GAAU0I,QAIN1I,GAAU0I,MAjBnBjC,EAACC,EAAWiC,UAAS,CACjBrJ,UAAWsJ,EACXhC,OAAO,gBAEN,qBAiBTH,EAACoC,EAAYC,OAAAC,OAAA,CACTC,KAAM,iBACFhJ,GAAS,CACb0I,MAAOD,EACPQ,aACIjJ,cAAS,EAATA,GAAWiJ,aACLjJ,GAAUiJ,YACV,qBAEZ,EA+DV,OACIjD,EAAA,MAAA,CACI7G,GAAIA,GAAM,gBAAe,cACZoB,GAAW,gBAAkB,QAC1CjB,UAAW2G,EAAKiD,EAAqB5J,IACrCwC,IAAKhB,GACLqI,SAAU,KACF9H,IAAcP,GAAWwB,SACzBb,GACIX,GAAWwB,QAAQ8G,UACftI,GAAWwB,QAAQS,cACnBjC,GAAWwB,QAAQQ,aAE/B,EAEJuG,SAAU,YAEV5C,EAAA,MAAA,CAAKnH,UAAWgK,EAAqB/C,SACjCP,EAAA,QAAA,CAAOlE,IAAKrB,GAAUnB,UAAW2G,EAAKsD,GAAahD,SAAA,CArU3DE,EAAA,QAAA,CACI3E,IAAKlB,GACLtB,UAAWS,GAAqByJ,OAAsB/G,EAAS8D,SAE/DP,EAAA,KAAA,CAAI1G,UAAWmK,EAAgBlD,SAAA,CAC1B7G,IAAqB2H,KACrBjI,EAAQwF,IAAIc,SAiUTe,EAAA,QAAA,CAAAF,SACmB,YAAd9G,IApNTJ,GAAQA,EAAKqE,OAAS,EAC1B+C,iBACIA,EAAA,KAAA,CACInH,UAAWoK,EACXC,QAASxF,KAAiBoC,SAEzBrG,GACKA,KACAsI,SAId/B,EAAAmD,EAAA,CAAArD,SACKlH,aAAI,EAAJA,EAAMuF,KAAI,CAACgD,EAAe7D,IACvBiC,EAAA,KAAA,CAAA,cACiB/B,GAAc,OAAO2D,EAAIzI,GAAG0I,cAEzCvI,UAAW2G,EACP4D,EACAjI,IAAkBkI,EAClBhG,GAAiBC,IACbgG,EACJrK,IAAqBsK,EACrBrG,GAAciE,EAAIzI,GAAG0I,aACjBoC,GACP1D,SAAA,CAEA7G,IAAqB0I,GAAkBR,GAEvCxI,EAAQwF,KAAKzD,GAAWwG,GAAcxG,EAAQyG,OAb1CA,EAAIzI,GAAG0I,gBAsHxBpB,EAAA,KAAA,CAAAF,SACIE,EAAA,KAAA,CAAIkD,QAASxF,KAAiBoC,SAC1BE,EAAA,MAAA,CACInH,UAAW4K,EACXC,KAAK,SAAQ,YACH,SAAQ,aACP,gBAAe5D,SAEX,YAAd9G,IAA2BgH,EAAC2D,EAAkB,CAAA,gBA4E1DvK,IACGF,IACAA,GAAY+D,OAAS,GAvEN,YACvB,MAAM2G,EAA2B,QAAnBnL,EAAAS,cAAW,EAAXA,GAAa+D,cAAM,IAAAxE,EAAAA,EAAI,EAG/BoL,EAF6BjJ,KAAeG,KACnBH,KAAeY,IAI1CP,GAEJ,OACI+E,SACI3E,IAAKjB,GACLvB,UAAW2G,EACPsE,EACA7I,IAAuB8I,GAC1BjE,SAEDP,EAAA,MAAA,CACI1G,UAAW2G,EACPwE,EACAH,GAA8BI,GACjCnE,SAAA,CAEDE,EAACC,EAAWiE,OAAM,CAAC/D,OAAO,WAAUL,SAAE,GAAG8D,SACrCA,EAAQ,EAAI,IAAM,gBAEtB5D,EAACmE,EAAW,CACRtL,UAAWuL,EACX7B,KAAK,SAAQ,aACD,sBAAsBqB,SACpB,IAAVA,EAAc,GAAK,MAEvBhE,QAAS/F,GAAqBiG,SAAA,oBAIjCtG,OAEH,EAkCF6K,GACJrE,EAAA,MAAA,CACI3E,IAAMiJ,IACFpK,GAAY2B,QAAUyI,EACtBhJ,GAAOgJ,EAAE,MAGf"}
1
+ {"version":3,"file":"data-table.js","sources":["../../src/data-table/data-table.tsx"],"sourcesContent":["import { ArrowDownIcon, ArrowUpIcon } from \"@lifesg/react-icons\";\nimport clsx from \"clsx\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useInView } from \"react-intersection-observer\";\nimport { useResizeDetector } from \"react-resize-detector\";\n\nimport { LoadingDotsSpinner } from \"../animations\";\nimport { Checkbox } from \"../checkbox\";\nimport { ErrorDisplay } from \"../error-display\";\nimport { concatIds, VisuallyHidden } from \"../shared/accessibility\";\nimport { BasicButton } from \"../shared/input-wrapper\";\nimport { useApplyStyle } from \"../theme\";\nimport { Typography } from \"../typography\";\nimport { useId } from \"../util\";\nimport { useEventListener } from \"../util/use-event-listener\";\nimport * as styles from \"./data-table.styles\";\nimport type { DataTableProps, HeaderProps, RowProps } from \"./types\";\n\n/**\n * Renders a sortable, selectable data table with scroll-aware action bar and loading state support.\n *\n * Use `DataTable` when presenting structured multi-column data that users may need to sort by\n * column or select rows for bulk actions. Row selection, sort indicators, and the action bar\n * content are all externally controlled; the component manages scroll detection, sticky-header\n * positioning, and floating action bar behaviour internally.\n */\nexport const DataTable = ({\n id,\n headers,\n rows,\n className,\n sortIndicators,\n alternatingRows,\n loadState = \"success\",\n enableMultiSelect,\n selectedIds,\n disabledIds,\n enableActionBar,\n enableSelectAll,\n enableStickyHeader,\n emptyView,\n actionBarContent,\n renderCustomEmptyView,\n onHeaderClick,\n onSelect,\n onSelectAll,\n onClearSelectionClick,\n ...otherProps\n}: DataTableProps) => {\n // =============================================================================\n // CONST, STATE, REF\n // =============================================================================\n const tableRef = useRef<HTMLTableElement>(null);\n const tableEndRef = useRef<HTMLDivElement | null>(null);\n const headerRef = useRef<HTMLTableSectionElement>(null);\n const actionBarRef = useRef<HTMLDivElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const internalId = useId();\n const keyColumns = headers.filter(\n (header): header is Exclude<HeaderProps, string> => {\n return typeof header !== \"string\" && !!header.keyColumn;\n }\n );\n\n const [scrollable, setScrollable] = useState(false);\n const [scrollEnd, setScrollEnd] = useState(false);\n const [isFloatingActionBar, setIsFloatingActionBar] = useState(false);\n const [showLastBorder, setShowLastBorder] = useState(false);\n\n const { ref: endRef, inView: end } = useInView();\n\n useApplyStyle(actionBarRef, {\n [styles.tokens.actionBarWrapperLeft]:\n isFloatingActionBar && tableRef.current\n ? `${tableRef.current.getBoundingClientRect().left}px`\n : undefined,\n [styles.tokens.actionBarWrapperWidth]:\n isFloatingActionBar && tableRef.current\n ? `${tableRef.current.clientWidth}px`\n : undefined,\n });\n\n // =============================================================================\n // EFFECTS, EVENT LISTENERS\n // ============================================================================\n const onResize = useCallback(() => {\n if (!wrapperRef.current || !actionBarRef.current) {\n return;\n }\n const scrollable =\n wrapperRef.current.scrollHeight > wrapperRef.current.clientHeight;\n setScrollable(scrollable);\n\n if (scrollable) {\n actionBarRef.current.style.transform = `translateY(0)`;\n } else {\n calculateStickyInViewport();\n }\n }, []);\n\n useEffect(() => {\n onResize();\n }, []);\n\n useResizeDetector({ onResize });\n\n const scrollHandler = () => {\n requestAnimationFrame(() => {\n if (scrollable) {\n calculateFixedInViewport();\n } else {\n calculateStickyInViewport();\n }\n });\n };\n\n useEventListener(\"scroll\", scrollHandler, \"window\");\n\n useEffect(() => {\n checkLastBorder();\n }, [rows]);\n\n // ===========================================================================\n // HELPER FUNCTIONS\n // ===========================================================================\n const isAllCheckboxSelected = (): boolean => {\n if (!rows || !rows.length || !selectedIds) {\n return false;\n }\n return selectedIds.length === rows.length;\n };\n\n const isIndeterminateCheckbox = (): boolean => {\n return (\n !!selectedIds &&\n selectedIds.length !== 0 &&\n !isAllCheckboxSelected()\n );\n };\n\n const isHeaderCheckboxDisabled = (): boolean => {\n return !rows || !rows.length || !selectedIds;\n };\n\n const isRowSelected = (rowId: string): boolean => {\n return !!selectedIds?.includes(rowId);\n };\n\n const isAlternatingRow = (index: number): boolean => {\n return !!alternatingRows && index % 2 === 1;\n };\n\n const isDisabledRow = (rowId: string): boolean => {\n return !!disabledIds?.includes(rowId);\n };\n\n const getDataTestId = (subStr: string) => {\n if (!otherProps[\"data-testid\"]) return undefined;\n return `${otherProps[\"data-testid\"]}-${subStr}`;\n };\n\n const getTotalColumns = (): number => {\n return headers.length + (enableMultiSelect ? 1 : 0);\n };\n\n const getSortDirection = (fieldKey: string) => {\n return sortIndicators?.[fieldKey];\n };\n\n const getHeaderAriaSort = (fieldKey: string) => {\n const sortDirection = getSortDirection(fieldKey);\n\n if (!sortDirection) {\n return undefined;\n }\n\n return sortDirection === \"asc\" ? \"ascending\" : \"descending\";\n };\n\n const getSortButtonAriaLabel = (fieldKey: string) => {\n const nextSortDirection =\n getSortDirection(fieldKey) === \"asc\" ? \"descending\" : \"ascending\";\n\n return ` by ${nextSortDirection} order`;\n };\n\n const getHeaderCellId = (fieldKey: string) => {\n return `${internalId}-header-${fieldKey}`;\n };\n const getCellId = (rowId: string, fieldKey: string) => {\n return `${internalId}-row-${rowId}-${fieldKey}-key-column`;\n };\n\n const getRowCheckboxAriaLabelledBy = (rowId: string) => {\n const keyColumnIds = keyColumns.map((header) =>\n getCellId(rowId, header.fieldKey)\n );\n\n return concatIds(...keyColumnIds);\n };\n\n const calculateFixedInViewport = () => {\n if (!wrapperRef.current) {\n return;\n }\n const wrapperBounds = wrapperRef.current.getBoundingClientRect();\n setIsFloatingActionBar(\n wrapperBounds.bottom > window.innerHeight + 30 &&\n wrapperBounds.top < window.innerHeight - 200\n );\n };\n\n const calculateStickyInViewport = () => {\n if (\n !tableRef.current ||\n !tableEndRef.current ||\n !wrapperRef.current ||\n !actionBarRef.current ||\n !headerRef.current\n ) {\n return;\n }\n\n const endBounds = tableEndRef.current.getBoundingClientRect();\n\n if (endBounds.top > window.innerHeight) {\n const bottomOffset = endBounds.bottom - window.innerHeight;\n const bottomToHeaderOffset =\n tableRef.current.getBoundingClientRect().height -\n headerRef.current.clientHeight -\n 32;\n const maxBottomOffset = Math.min(\n bottomOffset,\n bottomToHeaderOffset\n );\n\n actionBarRef.current.style.transform = `translateY(-${maxBottomOffset}px)`;\n } else {\n actionBarRef.current.style.transform = `translateY(0)`;\n }\n };\n\n const checkLastBorder = () => {\n if (!tableRef.current || !wrapperRef.current) {\n return;\n }\n // 56 pixels added due to the behavior of action bar\n setShowLastBorder(\n tableRef.current.clientHeight + (enableActionBar ? 56 : 0) <\n wrapperRef.current.clientHeight\n );\n };\n\n // =============================================================================\n // EVENT HANDLERS\n // =============================================================================\n const handleHeaderClick = (fieldKey: string) => {\n onHeaderClick?.(fieldKey);\n };\n\n const handleHeaderButtonClick = (\n event: React.MouseEvent<HTMLButtonElement>,\n fieldKey: string\n ) => {\n event.stopPropagation();\n onHeaderClick?.(fieldKey);\n };\n\n // =============================================================================\n // RENDER FUNCTIONS\n // =============================================================================\n const renderHeaders = () => (\n <thead\n ref={headerRef}\n className={enableStickyHeader ? styles.stickyHeader : undefined}\n >\n <tr className={styles.headerRow}>\n {enableMultiSelect && renderHeaderCheckBox()}\n {headers.map(renderHeaderCell)}\n </tr>\n </thead>\n );\n\n const renderHeaderCell = (header: HeaderProps) => {\n const {\n fieldKey,\n label,\n clickable = false,\n style,\n } = typeof header === \"string\"\n ? {\n fieldKey: header,\n label: header,\n style: undefined,\n }\n : header;\n\n const isSortable = !!getSortDirection(fieldKey);\n const headerCellId = getHeaderCellId(fieldKey);\n return (\n <th\n data-testid={getDataTestId(`header-${fieldKey}`)}\n key={fieldKey}\n className={clsx(\n styles.headerCell,\n clickable && styles.headerCellClickable\n )}\n scope=\"col\"\n aria-sort={getHeaderAriaSort(fieldKey)}\n style={style}\n onClick={() => handleHeaderClick(fieldKey)}\n >\n <div className={styles.headerCellContent} id={headerCellId}>\n {typeof label === \"string\" ? (\n <Typography.BodyBL weight=\"bold\">\n {label}\n </Typography.BodyBL>\n ) : (\n label\n )}\n {renderSortedArrow(fieldKey)}\n </div>\n {(clickable || isSortable) && (\n <VisuallyHidden>\n <button\n onClick={(event) =>\n handleHeaderButtonClick(event, fieldKey)\n }\n >\n {isSortable && \"Sort \"}\n <span aria-labelledby={headerCellId} />\n {isSortable && getSortButtonAriaLabel(fieldKey)}\n </button>\n </VisuallyHidden>\n )}\n </th>\n );\n };\n\n const renderSortedArrow = (fieldKey: string) => {\n const isSorted = sortIndicators?.[fieldKey];\n\n if (!isSorted) {\n return <></>;\n }\n if (isSorted === \"asc\") {\n return (\n <ArrowUpIcon\n aria-hidden\n data-testid={getDataTestId(`header-${fieldKey}-arrowup`)}\n />\n );\n }\n return (\n <ArrowDownIcon\n aria-hidden\n data-testid={getDataTestId(`header-${fieldKey}-arrowdown`)}\n />\n );\n };\n\n const renderHeaderCheckBox = () => {\n return (\n <th\n data-testid={getDataTestId(\"header-selection\")}\n className={clsx(styles.headerCell, styles.headerCellCheckbox)}\n scope=\"col\"\n >\n <div className={styles.selectionCheckboxWrapper}>\n <VisuallyHidden>Row selection</VisuallyHidden>\n {enableSelectAll && (\n <Checkbox\n checked={isAllCheckboxSelected()}\n indeterminate={isIndeterminateCheckbox()}\n disabled={isHeaderCheckboxDisabled()}\n aria-label=\"Select all rows\"\n onClick={() => {\n if (onSelectAll) {\n onSelectAll(isAllCheckboxSelected());\n }\n }}\n />\n )}\n </div>\n </th>\n );\n };\n\n const renderRows = () => {\n return !rows || rows.length < 1 ? (\n <tr className={styles.bodyRow}>\n <td\n className={styles.emptyStateCell}\n colSpan={getTotalColumns()}\n >\n {renderCustomEmptyView\n ? renderCustomEmptyView()\n : renderBasicEmptyView()}\n </td>\n </tr>\n ) : (\n <>\n {rows?.map((row: RowProps, index: number) => (\n <tr\n data-testid={getDataTestId(`row-${row.id.toString()}`)}\n key={row.id.toString()}\n className={clsx(\n styles.bodyRow,\n showLastBorder && styles.bodyRowWithBottomBorder,\n isAlternatingRow(index) &&\n styles.bodyRowAlternating,\n enableMultiSelect && styles.bodyRowSelectable,\n isRowSelected(row.id.toString()) &&\n styles.bodyRowSelected\n )}\n >\n {enableMultiSelect && renderRowCheckBox(row)}\n\n {headers.map((header) => renderRowCell(header, row))}\n </tr>\n ))}\n </>\n );\n };\n\n const renderRowCell = (header: HeaderProps, row: RowProps) => {\n const style = typeof header === \"string\" ? undefined : header.style;\n const fieldKey = typeof header === \"string\" ? header : header.fieldKey;\n const rowId = row.id.toString();\n const cellData = row[fieldKey];\n const cellId = `${rowId}-${fieldKey}`;\n\n let cellContent: React.ReactNode;\n if (typeof cellData === \"string\" || typeof cellData === \"number\") {\n cellContent = (\n <Typography.BodyBL className={styles.bodyCellText}>\n {cellData}\n </Typography.BodyBL>\n );\n } else if (typeof cellData === \"function\") {\n cellContent = cellData(row, { isSelected: isRowSelected(rowId) });\n } else {\n cellContent = cellData;\n }\n\n return (\n <td\n data-testid={getDataTestId(`row-${cellId}`)}\n key={cellId}\n id={getCellId(rowId, fieldKey)}\n className={styles.bodyCell}\n style={style}\n >\n {cellContent}\n </td>\n );\n };\n\n const renderRowCheckBox = (row: RowProps) => {\n const rowId = row.id.toString();\n\n return (\n <td\n data-testid={getDataTestId(`row-${rowId}-selection`)}\n className={clsx(styles.bodyCell, styles.bodyCellCheckbox)}\n >\n <div className={styles.selectionCheckboxWrapper}>\n <Checkbox\n checked={isRowSelected(rowId)}\n aria-labelledby={getRowCheckboxAriaLabelledBy(rowId)}\n onClick={() => {\n if (onSelect) {\n onSelect(rowId, !isRowSelected(rowId));\n }\n }}\n disabled={isDisabledRow(rowId)}\n focusableWhenDisabled={isDisabledRow(rowId)}\n />\n </div>\n </td>\n );\n };\n\n const renderBasicEmptyView = () => {\n let emptyTitle: JSX.Element;\n if (!emptyView?.title) {\n emptyTitle = (\n <Typography.HeadingSM\n className={styles.emptyStateTitle}\n weight=\"bold\"\n >\n {\"No <items> found\"}\n </Typography.HeadingSM>\n );\n } else if (typeof emptyView.title === \"string\") {\n emptyTitle = (\n <Typography.HeadingSM\n className={styles.emptyStateTitle}\n weight=\"bold\"\n >\n {emptyView.title}\n </Typography.HeadingSM>\n );\n } else {\n emptyTitle = emptyView.title;\n }\n\n return (\n <ErrorDisplay\n type={\"no-item-found\"}\n {...emptyView}\n title={emptyTitle}\n description={\n emptyView?.description\n ? emptyView.description\n : \"No matching rows\"\n }\n />\n );\n };\n\n const renderLoader = () => {\n return (\n <tr className={styles.bodyRow}>\n <td colSpan={getTotalColumns()}>\n <div\n className={styles.loadingStateWrapper}\n role=\"status\"\n aria-live=\"polite\"\n aria-label=\"Loading table\"\n >\n {loadState === \"loading\" && <LoadingDotsSpinner />}\n </div>\n </td>\n </tr>\n );\n };\n\n const renderSelectionBar = () => {\n const count = selectedIds?.length ?? 0;\n const hasNotReachedScrollableEnd = scrollable && !scrollEnd;\n const hasNotReachedTableEnd = !scrollable && !end;\n const shouldUseFloatingActionBar =\n hasNotReachedScrollableEnd ||\n hasNotReachedTableEnd ||\n isFloatingActionBar;\n\n return (\n <div\n ref={actionBarRef}\n className={clsx(\n styles.actionBarWrapper,\n isFloatingActionBar && styles.actionBarWrapperFloating\n )}\n >\n <div\n className={clsx(\n styles.actionBar,\n shouldUseFloatingActionBar && styles.actionBarFloating\n )}\n >\n <Typography.BodyMD weight=\"semibold\">{`${count} item${\n count > 1 ? \"s\" : \"\"\n } selected`}</Typography.BodyMD>\n <BasicButton\n className={styles.actionBarButton}\n type=\"button\"\n aria-label={`Clear selection of ${count} item${\n count === 1 ? \"\" : \"s\"\n }`}\n onClick={onClearSelectionClick}\n >\n Clear selection\n </BasicButton>\n {actionBarContent}\n </div>\n </div>\n );\n };\n\n return (\n <div\n id={id || \"table-wrapper\"}\n data-testid={otherProps[\"data-testid\"] || \"table\"}\n className={clsx(styles.tableWrapper, className)}\n ref={wrapperRef}\n onScroll={() => {\n if (scrollable && wrapperRef.current) {\n setScrollEnd(\n wrapperRef.current.scrollTop +\n wrapperRef.current.clientHeight >=\n wrapperRef.current.scrollHeight\n );\n }\n }}\n tabIndex={0} // scrollable container must be focusable to support keyboard users\n >\n <div className={styles.tableContainer}>\n <table ref={tableRef} className={clsx(styles.table)}>\n {renderHeaders()}\n <tbody>\n {loadState === \"success\"\n ? renderRows()\n : renderLoader()}\n </tbody>\n </table>\n </div>\n {enableActionBar &&\n selectedIds &&\n selectedIds.length > 0 &&\n renderSelectionBar()}\n <div\n ref={(r) => {\n tableEndRef.current = r;\n endRef(r);\n }}\n />\n </div>\n );\n};\n"],"names":["DataTable","_a","id","headers","rows","className","sortIndicators","alternatingRows","loadState","enableMultiSelect","selectedIds","disabledIds","enableActionBar","enableSelectAll","enableStickyHeader","emptyView","actionBarContent","renderCustomEmptyView","onHeaderClick","onSelect","onSelectAll","onClearSelectionClick","otherProps","__rest","tableRef","useRef","tableEndRef","headerRef","actionBarRef","wrapperRef","internalId","useId","keyColumns","filter","header","keyColumn","scrollable","setScrollable","useState","scrollEnd","setScrollEnd","isFloatingActionBar","setIsFloatingActionBar","showLastBorder","setShowLastBorder","ref","endRef","inView","end","useInView","useApplyStyle","styles.tokens","actionBarWrapperLeft","current","getBoundingClientRect","left","undefined","actionBarWrapperWidth","clientWidth","onResize","useCallback","scrollHeight","clientHeight","style","transform","calculateStickyInViewport","useEffect","useResizeDetector","useEventListener","requestAnimationFrame","calculateFixedInViewport","checkLastBorder","isAllCheckboxSelected","length","isRowSelected","rowId","includes","isAlternatingRow","index","isDisabledRow","getDataTestId","subStr","getTotalColumns","getSortDirection","fieldKey","getHeaderAriaSort","sortDirection","getSortButtonAriaLabel","getCellId","getRowCheckboxAriaLabelledBy","keyColumnIds","map","concatIds","wrapperBounds","bottom","window","innerHeight","top","endBounds","bottomOffset","bottomToHeaderOffset","height","maxBottomOffset","Math","min","renderHeaderCell","label","clickable","isSortable","headerCellId","getHeaderCellId","_jsxs","clsx","styles.headerCell","styles.headerCellClickable","scope","onClick","handleHeaderClick","children","styles.headerCellContent","_jsx","Typography","BodyBL","weight","renderSortedArrow","VisuallyHidden","event","stopPropagation","handleHeaderButtonClick","isSorted","ArrowUpIcon","ArrowDownIcon","renderHeaderCheckBox","styles.headerCellCheckbox","styles.selectionCheckboxWrapper","Checkbox","checked","indeterminate","disabled","renderRowCell","row","toString","cellData","cellId","cellContent","styles.bodyCellText","isSelected","styles.bodyCell","renderRowCheckBox","styles.bodyCellCheckbox","focusableWhenDisabled","renderBasicEmptyView","emptyTitle","title","HeadingSM","styles.emptyStateTitle","ErrorDisplay","Object","assign","type","description","styles.tableWrapper","onScroll","scrollTop","tabIndex","styles.tableContainer","styles.table","styles.stickyHeader","styles.headerRow","styles.bodyRow","styles.emptyStateCell","colSpan","_Fragment","styles.bodyRowWithBottomBorder","styles.bodyRowAlternating","styles.bodyRowSelectable","styles.bodyRowSelected","styles.loadingStateWrapper","role","LoadingDotsSpinner","count","shouldUseFloatingActionBar","styles.actionBarWrapper","styles.actionBarWrapperFloating","styles.actionBar","styles.actionBarFloating","BodyMD","BasicButton","styles.actionBarButton","renderSelectionBar","r"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import"./data-table.styles_1nj2uzq.css";const a={actionBarWrapperLeft:"--fds-internal-dataTable-actionBarWrapper-left",actionBarWrapperWidth:"--fds-internal-dataTable-actionBarWrapper-width"},t="t188sfx3",e="t1j0mhj",r="t4ucy2z",n="s7u4vf5",c="h1nfqacf",p="h1744qno",b="h1ec4wtd",d="hp15x3z",s="h4ne4e9",f="bfa3d3x",i="b6ks76c",l="b1bceurq",h="b8t2s91",o="bjmthdi",x="b1tvp43a",q="bx1feaw",y="b1g3gl2s",u="e1yxh9il",w="s1w2nktt",W="axywpxo",g="anoy5c0",j="a1gvi5ye",m="aag0lf9",B="a1euqarq",_="ldhafdm",v="e1pcc0nq";export{g as actionBar,W as actionBarButton,j as actionBarFloating,m as actionBarWrapper,B as actionBarWrapperFloating,f as bodyCell,q as bodyCellCheckbox,y as bodyCellText,i as bodyRow,l as bodyRowAlternating,o as bodyRowSelectable,h as bodyRowSelected,x as bodyRowWithBottomBorder,u as emptyStateCell,v as emptyStateTitle,p as headerCell,d as headerCellCheckbox,b as headerCellClickable,s as headerCellContent,c as headerRow,_ as loadingStateWrapper,w as selectionCheckboxWrapper,n as stickyHeader,r as table,e as tableContainer,t as tableWrapper,a as tokens};
1
+ import"./data-table.styles_1iqq1g7.css";const a={actionBarWrapperLeft:"--fds-internal-dataTable-actionBarWrapper-left",actionBarWrapperWidth:"--fds-internal-dataTable-actionBarWrapper-width"},t="t188sfx3",e="t1j0mhj",r="t4ucy2z",n="s7u4vf5",c="h1nfqacf",p="h1744qno",b="h1ec4wtd",d="hp15x3z",i="h4ne4e9",s="bfa3d3x",f="b6ks76c",l="b1bceurq",h="b8t2s91",o="bjmthdi",q="b1tvp43a",x="bx1feaw",y="b1g3gl2s",g="e1yxh9il",w="s1w2nktt",W="axywpxo",m="anoy5c0",u="a1gvi5ye",B="aag0lf9",_="a1euqarq",j="ldhafdm",v="e1pcc0nq";export{m as actionBar,W as actionBarButton,u as actionBarFloating,B as actionBarWrapper,_ as actionBarWrapperFloating,s as bodyCell,x as bodyCellCheckbox,y as bodyCellText,f as bodyRow,l as bodyRowAlternating,o as bodyRowSelectable,h as bodyRowSelected,q as bodyRowWithBottomBorder,g as emptyStateCell,v as emptyStateTitle,p as headerCell,d as headerCellCheckbox,b as headerCellClickable,i as headerCellContent,c as headerRow,j as loadingStateWrapper,w as selectionCheckboxWrapper,n as stickyHeader,r as table,e as tableContainer,t as tableWrapper,a as tokens};
2
2
  //# sourceMappingURL=data-table.styles.js.map
@@ -1,4 +1,4 @@
1
- .t188sfx3{overflow:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;border:var(--fds-border-width-010) var(--fds-border-style-solid) var(--fds-colour-border);border-radius:var(--fds-radius-md);}.t188sfx3::-webkit-scrollbar{display:none;}.t188sfx3 *{-ms-overflow-style:none;scrollbar-width:none;}
1
+ @layer fds{.t188sfx3{overflow:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;border:var(--fds-border-width-010) var(--fds-border-style-solid) var(--fds-colour-border);border-radius:var(--fds-radius-md);}.t188sfx3::-webkit-scrollbar{display:none;}.t188sfx3 *{-ms-overflow-style:none;scrollbar-width:none;}
2
2
  .t1j0mhj{-webkit-flex:1;-ms-flex:1;flex:1;}
3
3
  .t4ucy2z{text-align:left;border-collapse:separate;border-spacing:0;width:100%;}
4
4
  .s7u4vf5{position:-webkit-sticky;position:sticky;top:0;z-index:20;}
@@ -17,10 +17,10 @@
17
17
  .b1g3gl2s{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;}
18
18
  .e1yxh9il{padding:4rem 0;}.e1yxh9il:first-child{padding-left:1.5rem;}.e1yxh9il:last-child{padding-right:1.5rem;}
19
19
  .s1w2nktt{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}
20
- .axywpxo{font-family:var(--fds-font-family);font-variant:var(--fds-font-variant);font-size:var(--fds-font-body-size-md);font-weight:var(--fds-font-weight-semibold);line-height:var(--fds-font-body-lh-md);letter-spacing:var(--fds-font-body-ls-md);cursor:pointer;color:var(--fds-colour-text-primary);-webkit-transition:var(--fds-motion-duration-150) var(--fds-motion-timing-ease-default);transition:var(--fds-motion-duration-150) var(--fds-motion-timing-ease-default);padding:0.75rem;margin:-0.75rem 0;}.axywpxo:hover{color:var(--fds-colour-text-hover);}
20
+ .axywpxo{font-family:var(--fds-font-family-body);font-variant:var(--fds-font-variant);font-size:var(--fds-font-body-size-md);font-weight:var(--fds-font-weight-semibold);line-height:var(--fds-font-body-lh-md);letter-spacing:var(--fds-font-body-ls-md);cursor:pointer;color:var(--fds-colour-text-primary);-webkit-transition:var(--fds-motion-duration-150) var(--fds-motion-timing-ease-default);transition:var(--fds-motion-duration-150) var(--fds-motion-timing-ease-default);padding:0.75rem;margin:-0.75rem 0;}.axywpxo:hover{color:var(--fds-colour-text-hover);}
21
21
  .anoy5c0{overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:3.5rem;padding:var(--fds-spacing-16) var(--fds-spacing-24);border-top:var(--fds-border-width-010) var(--fds-border-style-solid) var(--fds-colour-border);background-color:var(--fds-colour-bg-selected);-webkit-transition:all 300ms ease;transition:all 300ms ease;border-radius:var(--fds-radius-none) var(--fds-radius-none) var(--fds-radius-sm) var(--fds-radius-sm);}
22
22
  .a1gvi5ye{-webkit-transform:translateX(0.5rem) translateY(-2rem);-moz-transform:translateX(0.5rem) translateY(-2rem);-ms-transform:translateX(0.5rem) translateY(-2rem);transform:translateX(0.5rem) translateY(-2rem);border-radius:var(--fds-radius-sm);box-shadow:var(--fds-shadow-xs-subtle);width:calc(100% - var(--fds-spacing-16));border:var(--fds-border-width-010) var(--fds-border-style-solid) var(--fds-colour-border);}
23
23
  .aag0lf9{bottom:0;position:-webkit-sticky;position:sticky;left:0;}
24
24
  .a1euqarq{--fds-internal-dataTable-actionBarWrapper-left:initial;--fds-internal-dataTable-actionBarWrapper-width:initial;position:fixed;left:var(--fds-internal-dataTable-actionBarWrapper-left, 0px);width:var(--fds-internal-dataTable-actionBarWrapper-width, 100%);}
25
25
  .ldhafdm{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:4rem 0;}
26
- .e1pcc0nq{margin-top:2rem;margin-bottom:1rem;}
26
+ .e1pcc0nq{margin-top:2rem;margin-bottom:1rem;}}
@@ -1,40 +1,70 @@
1
1
  import type { CSSProperties, ReactNode } from "react";
2
2
  import type { ErrorDisplayAttributes } from "../error-display/types";
3
+ /** Props for the `DataTable` component. */
3
4
  export interface DataTableProps {
4
5
  id?: string | undefined;
5
6
  "data-testid"?: string | undefined;
6
- /** Configuration for each header */
7
+ /** Column definitions that determine the rendered headers and the `fieldKey` used to read values from each `RowProps` entry. */
7
8
  headers: HeaderProps[];
9
+ /** Row data to render. When omitted or empty the empty state is shown. */
8
10
  rows?: RowProps[] | undefined;
9
11
  className?: string | undefined;
12
+ /**
13
+ * Controlled set of row IDs that are currently selected.
14
+ *
15
+ * @remarks Must be provided alongside `enableMultiSelect` for selection to work. Pass an
16
+ * empty array (not `undefined`) to enable the select-all checkbox while having no rows
17
+ * selected.
18
+ */
10
19
  selectedIds?: string[] | undefined;
20
+ /** Row IDs whose checkboxes are rendered in a disabled state; the rows remain visible. */
11
21
  disabledIds?: string[] | undefined;
12
- /** Enables a checkbox for each row */
22
+ /** Renders a checkbox column as the first column of each row to support row selection. */
13
23
  enableMultiSelect?: boolean | undefined;
14
- /** Enables a select all checkbox */
24
+ /** Renders a select-all checkbox in the header checkbox column. Requires `enableMultiSelect`. */
15
25
  enableSelectAll?: boolean | undefined;
16
- /** Specifies if an action bar is visible when one or more rows are selected */
26
+ /** Shows the action bar whenever one or more rows are selected. */
17
27
  enableActionBar?: boolean | undefined;
18
- /** Specifies if the header is fixed to the top */
28
+ /** Keeps the header row visible as the user scrolls down through the table. */
19
29
  enableStickyHeader?: boolean | undefined;
20
- /** Custom content to be rendered within the action bar */
30
+ /** Additional content rendered inside the action bar. */
21
31
  actionBarContent?: ReactNode | undefined;
32
+ /**
33
+ * Controls whether the table body renders data rows or a loading indicator.
34
+ * @default "success"
35
+ */
22
36
  loadState?: LoadStateType | undefined;
37
+ /** Called when a row's checkbox is toggled; receives the row ID and the new selected state. */
23
38
  onSelect?: ((rowId: string, isSelected: boolean) => void) | undefined;
39
+ /**
40
+ * Called when the select-all checkbox is toggled.
41
+ */
24
42
  onSelectAll?: ((isAllSelected: boolean) => void) | undefined;
43
+ /** Called when a header cell is clicked; receives the `fieldKey` of the clicked column. */
25
44
  onHeaderClick?: ((fieldKey: string) => void) | undefined;
45
+ /** Called when the "Clear selection" button inside the action bar is clicked. */
26
46
  onClearSelectionClick?: (() => void) | undefined;
27
- /** Specifies the sort indicator display state for each column **/
47
+ /**
48
+ * Maps each `fieldKey` to its current sort direction. A key present in this map causes the
49
+ * corresponding header to render a directional arrow and expose sort controls to assistive
50
+ * technology.
51
+ */
28
52
  sortIndicators?: SortIndicatorsProps | undefined;
29
- /** Specifies if every alternate row has a different background colour */
53
+ /** Applies an alternate background colour to every odd-indexed row. */
30
54
  alternatingRows?: boolean | undefined;
31
- /** Override props for the empty view display */
55
+ /**
56
+ * Overrides the title and description shown in the built-in empty state. Ignored when
57
+ * `renderCustomEmptyView` is provided.
58
+ */
32
59
  emptyView?: ErrorDisplayAttributes | undefined;
33
- /** Returns a custom view to be rendered when the table is empty */
60
+ /** Renders a fully custom empty state in place of the default `ErrorDisplay`. */
34
61
  renderCustomEmptyView?: (() => ReactNode) | undefined;
35
62
  }
63
+ /** Whether the table body is in a loading or data-ready state. */
36
64
  export type LoadStateType = "loading" | "success";
65
+ /** Direction of a column sort indicator. */
37
66
  export type SortIndicatorType = "asc" | "desc";
67
+ /** Maps column `fieldKey` values to their current sort direction. */
38
68
  export interface SortIndicatorsProps {
39
69
  [fieldKey: string]: SortIndicatorType;
40
70
  }
@@ -45,23 +75,39 @@ export interface SortIndicatorsProps {
45
75
  * For additional customisation, pass a `HeaderItemProps` object
46
76
  */
47
77
  export type HeaderProps = string | HeaderItemProps;
78
+ /**
79
+ * Full object form of a column header definition;
80
+ * use instead of a plain string when custom labels, click handling,
81
+ * or accessibility metadata is needed. */
48
82
  interface HeaderItemProps {
83
+ /** Key used to read the corresponding cell value from each `RowProps` entry. */
49
84
  fieldKey: string;
85
+ /** Column heading content. Pass a string for plain text or a `ReactNode` for custom markup. */
50
86
  label: string | ReactNode;
87
+ /** Makes the header cell interactive, firing `onHeaderClick` when clicked. */
51
88
  clickable?: boolean | undefined;
52
- /** Used with `enableMultiSelect`. Marks this column as descriptive of the row
89
+ /**
90
+ * Used with `enableMultiSelect`. Marks this column as descriptive of the row
53
91
  * (e.g. a name or unique ID). Its value is used to label the row's checkbox
54
92
  * for screen readers.
55
93
  */
56
94
  keyColumn?: boolean | undefined;
57
95
  style?: CSSProperties | undefined;
58
96
  }
97
+ /** Props for each row of data in the table. */
59
98
  export interface RowProps {
99
+ /** Unique identifier for the row; used as the key and referenced by `selectedIds`/`disabledIds`. */
60
100
  id: string | number;
61
- /** data with key matching fieldKey in `HeaderProps` */
101
+ /**
102
+ * Cell values keyed by the `fieldKey` of the matching `HeaderProps`. Values can be a
103
+ * primitive (rendered inside a `Typography.BodyBL`), a `ReactNode`, or a render function
104
+ * that receives the full row and `RowRenderProps`.
105
+ */
62
106
  [fieldKey: string]: string | number | ReactNode | ((row: RowProps, renderProps: RowRenderProps) => ReactNode) | undefined;
63
107
  }
108
+ /** Runtime context passed to a cell's render function when the value is a function. */
64
109
  interface RowRenderProps {
110
+ /** Whether the row is currently in the `selectedIds` set. */
65
111
  isSelected: boolean;
66
112
  }
67
113
  export {};
@@ -1,2 +1,7 @@
1
1
  import type { DateInputProps } from "./types";
2
+ /**
3
+ * A single-date input field with an attached calendar dropdown.
4
+ *
5
+ * Use this to enter or pick a single date.
6
+ */
2
7
  export declare const DateInput: ({ minDate, maxDate, disabled, disabledDates, error, hideInputKeyboard, value, onChange, onFocus, onBlur, onYearMonthDisplayChange, withButton, readOnly, id, allowDisabledSelection, zIndex, dropdownRootNode, className, ...otherProps }: DateInputProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,2 @@
1
- import{__rest as e}from"../_virtual/_tslib.js";import{jsx as a}from"react/jsx-runtime";import r from"clsx";import t from"../external/dayjs/dayjs.min.js";import{useState as n,useRef as o,useEffect as i}from"react";import{ElementWithDropdown as l}from"../shared/dropdown-wrapper/element-with-dropdown.js";import{InputWrapper as d}from"../shared/input-wrapper/input-wrapper.js";import{CalendarDropdown as s}from"../shared/internal-calendar/calendar-dropdown.js";import"../shared/internal-calendar/internal-calendar.js";import{StandaloneDateInput as u}from"../shared/standalone-date-input/standalone-date-input.js";import"../util/calendar-helper.js";import{DateInputHelper as c}from"../util/date-input-helper.js";import"../util/simple-id-generator.js";import"../util/string-helper.js";import"@react-aria/live-announcer";import{container as p}from"./date-input.styles.js";const m=m=>{var{minDate:h,maxDate:v,disabled:f,disabledDates:D,error:b,hideInputKeyboard:w,value:j,onChange:g,onFocus:y,onBlur:I,onYearMonthDisplayChange:x,withButton:Y=!0,readOnly:C,id:B,allowDisabledSelection:N,zIndex:O,dropdownRootNode:z,className:M}=m,F=e(m,["minDate","maxDate","disabled","disabledDates","error","hideInputKeyboard","value","onChange","onFocus","onBlur","onYearMonthDisplayChange","withButton","readOnly","id","allowDisabledSelection","zIndex","dropdownRootNode","className"]);const[R,S]=n(c.sanitizeInput(j)),[K,V]=n(c.sanitizeInput(j)),[_,k]=n(void 0),[E,H]=n(!1),[T,W]=n(!1),Z=o(null),q=o(null),A=o(null);i((()=>{const e=c.sanitizeInput(j);S(e),V(e)}),[j]);const G=e=>{!N&&c.isDateDisabled(e,{disabledDates:D,minDate:h,maxDate:v})||(V(e),Y||(X(e),S(e),e&&H(!1)))},J=e=>{var a;V(e),Y||(X(e),S(e),e&&(null===(a=q.current)||void 0===a||a.focusYearRef(),H(!1)),k(void 0))},L=()=>{C||f||(H(!0),T||(W(!0),y&&y()))},P=e=>{var a,r,t;const n=e.relatedTarget,o=A.current&&A.current.contains(n),i=Z.current&&Z.current.contains(n),l=(null===(a=null==n?void 0:n.matches)||void 0===a?void 0:a.call(n,"[data-floating-ui-focusable]"))||(null===(r=null==n?void 0:n.matches)||void 0===r?void 0:r.call(n,"[data-floating-ui-focus-guard]"));(T&&!E&&!i&&!l||E&&!i&&!o&&!l)&&(null===(t=q.current)||void 0===t||t.resetInput(),V(R),W(!1),H(!1),$())},Q=e=>{k(e)},U=e=>{var a,r;switch(e){case"reset":V(R);break;case"confirmed":S(K),X(K)}t(K,"YYYY-MM-DD",!0).isValid()?null===(a=q.current)||void 0===a||a.focusYearRef():null===(r=Z.current)||void 0===r||r.focus(),H(!1)},X=e=>{g&&g(e)},$=()=>{I&&I()};return a(l,{enabled:!C&&!f,isOpen:E,renderElement:()=>a(d,Object.assign({role:"group",tabIndex:0,ref:Z,onBlur:P,onFocus:L,disabled:f,readOnly:C,focused:T,error:b,id:B,"data-testid":F["data-testid"],"aria-disabled":f,className:r(p,M)},F,{children:a(u,{ref:q,disabled:f,onChange:G,readOnly:C,focused:E,names:["start-day","start-month","start-year"],value:K,hoverValue:_,hideInputKeyboard:w})})),renderDropdown:({elementWidth:e})=>a(s,{variant:"single",ref:A,initialCalendarDate:K,withButton:Y,value:K,disabledDates:D,minDate:h,maxDate:v,allowDisabledSelection:N,onHover:Q,onSelect:J,onDismiss:U,onYearMonthDisplayChange:x,width:e,isFocusable:!C&&!f}),onClose:()=>{var e;null===(e=q.current)||void 0===e||e.resetInput(),V(R),H(!1),W(!1),$(),k(void 0)},onDismiss:()=>{var e,a;null===(e=q.current)||void 0===e||e.resetInput(),null===(a=Z.current)||void 0===a||a.focus(),V(R),H(!1)},customZIndex:O,offset:16,rootNode:z})};export{m as DateInput};
1
+ import{__rest as e}from"../_virtual/_tslib.js";import{jsx as a}from"react/jsx-runtime";import r from"clsx";import t from"../external/dayjs/dayjs.min.js";import{useState as n,useRef as o,useEffect as i}from"react";import{ElementWithDropdown as l}from"../shared/dropdown-wrapper/element-with-dropdown.js";import{InputWrapper as d}from"../shared/input-wrapper/input-wrapper.js";import{CalendarDropdown as s}from"../shared/internal-calendar/calendar-dropdown.js";import"../shared/internal-calendar/internal-calendar.js";import{StandaloneDateInput as u}from"../shared/standalone-date-input/standalone-date-input.js";import"../util/calendar-helper.js";import{DateInputHelper as c}from"../util/date-input-helper.js";import"../util/simple-id-generator.js";import"../util/string-helper.js";import"@react-aria/live-announcer";import{container as p}from"./date-input.styles.js";const m=m=>{var{minDate:h,maxDate:v,disabled:f,disabledDates:D,error:b,hideInputKeyboard:w,value:j,onChange:g,onFocus:y,onBlur:I,onYearMonthDisplayChange:x,withButton:Y=!0,readOnly:C,id:B,allowDisabledSelection:N,zIndex:O,dropdownRootNode:z,className:M}=m,F=e(m,["minDate","maxDate","disabled","disabledDates","error","hideInputKeyboard","value","onChange","onFocus","onBlur","onYearMonthDisplayChange","withButton","readOnly","id","allowDisabledSelection","zIndex","dropdownRootNode","className"]);const[R,S]=n(c.sanitizeInput(j)),[K,V]=n(c.sanitizeInput(j)),[_,k]=n(void 0),[E,H]=n(!1),[T,W]=n(!1),Z=o(null),q=o(null),A=o(null);i((()=>{const e=c.sanitizeInput(j);S(e),V(e)}),[j]);const G=e=>{!N&&c.isDateDisabled(e,{disabledDates:D,minDate:h,maxDate:v})||(V(e),Y||(X(e),S(e),e&&H(!1)))},J=e=>{var a;V(e),Y||(X(e),S(e),e&&(null===(a=q.current)||void 0===a||a.focusYearRef(),H(!1)),k(void 0))},L=()=>{C||f||(H(!0),T||(W(!0),y&&y()))},P=e=>{var a,r,t;const n=e.relatedTarget,o=A.current&&A.current.contains(n),i=Z.current&&Z.current.contains(n),l=(null===(a=null==n?void 0:n.matches)||void 0===a?void 0:a.call(n,"[data-floating-ui-focusable]"))||(null===(r=null==n?void 0:n.matches)||void 0===r?void 0:r.call(n,"[data-floating-ui-focus-guard]"));(T&&!E&&!i&&!l||E&&!i&&!o&&!l)&&(null===(t=q.current)||void 0===t||t.resetInput(),V(R),W(!1),H(!1),$())},Q=e=>{E&&k(e)},U=e=>{var a,r;switch(e){case"reset":V(R);break;case"confirmed":S(K),X(K)}t(K,"YYYY-MM-DD",!0).isValid()?null===(a=q.current)||void 0===a||a.focusYearRef():null===(r=Z.current)||void 0===r||r.focus(),H(!1)},X=e=>{g&&g(e)},$=()=>{I&&I()};return a(l,{enabled:!C&&!f,isOpen:E,renderElement:()=>a(d,Object.assign({role:"group",tabIndex:0,ref:Z,onBlur:P,onFocus:L,disabled:f,readOnly:C,focused:T,error:b,id:B,"data-testid":F["data-testid"],"aria-disabled":f,className:r(p,M)},F,{children:a(u,{ref:q,disabled:f,onChange:G,readOnly:C,focused:E,names:["start-day","start-month","start-year"],value:K,hoverValue:_,hideInputKeyboard:w})})),renderDropdown:({elementWidth:e})=>a(s,{variant:"single",ref:A,initialCalendarDate:K,withButton:Y,value:K,disabledDates:D,minDate:h,maxDate:v,allowDisabledSelection:N,onHover:Q,onSelect:J,onDismiss:U,onYearMonthDisplayChange:x,width:e,isFocusable:!C&&!f}),onClose:()=>{var e;null===(e=q.current)||void 0===e||e.resetInput(),V(R),H(!1),W(!1),$(),k(void 0)},onDismiss:()=>{var e,a;null===(e=q.current)||void 0===e||e.resetInput(),null===(a=Z.current)||void 0===a||a.focus(),V(R),H(!1)},customZIndex:O,offset:16,rootNode:z})};export{m as DateInput};
2
2
  //# sourceMappingURL=date-input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-input.js","sources":["../../src/date-input/date-input.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport dayjs from \"dayjs\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport type { DropdownRenderProps } from \"../shared/dropdown-wrapper\";\nimport { ElementWithDropdown } from \"../shared/dropdown-wrapper\";\nimport { InputWrapper } from \"../shared/input-wrapper\";\nimport type {\n CalendarAction,\n InternalCalendarRef,\n} from \"../shared/internal-calendar\";\nimport { CalendarDropdown } from \"../shared/internal-calendar\";\nimport type { StandaloneDateInputRef } from \"../shared/standalone-date-input/standalone-date-input\";\nimport { StandaloneDateInput } from \"../shared/standalone-date-input/standalone-date-input\";\nimport { DateInputHelper } from \"../util\";\nimport * as styles from \"./date-input.styles\";\nimport type { DateInputProps } from \"./types\";\n\nexport const DateInput = ({\n minDate,\n maxDate,\n disabled,\n disabledDates,\n error,\n hideInputKeyboard,\n value,\n onChange,\n onFocus,\n onBlur,\n onYearMonthDisplayChange,\n withButton = true,\n readOnly,\n id,\n allowDisabledSelection,\n zIndex,\n dropdownRootNode,\n className,\n ...otherProps\n}: DateInputProps) => {\n // =============================================================================\n // CONST, STATE, REF\n // =============================================================================\n const [initialDate, setInitialDate] = useState<string>(\n DateInputHelper.sanitizeInput(value)\n );\n const [selectedDate, setSelectedDate] = useState<string>(\n DateInputHelper.sanitizeInput(value)\n );\n const [hoveredDate, setHoveredDate] = useState<string | undefined>(\n undefined\n );\n const [calendarOpen, setCalendarOpen] = useState<boolean>(false);\n const [focused, setFocused] = useState<boolean>(false);\n\n const nodeRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<StandaloneDateInputRef>(null);\n const calendarRef = useRef<InternalCalendarRef>(null);\n\n // =============================================================================\n // EFFECTS\n // =============================================================================\n useEffect(() => {\n const newValue = DateInputHelper.sanitizeInput(value);\n setInitialDate(newValue);\n setSelectedDate(newValue);\n }, [value]);\n\n // =============================================================================\n // EVENT HANDLERS\n // =============================================================================\n const handleClose = () => {\n inputRef.current?.resetInput();\n setSelectedDate(initialDate);\n setCalendarOpen(false);\n setFocused(false);\n\n performOnBlurHandler();\n\n // clear hover value for mobile scrolling\n setHoveredDate(undefined);\n };\n\n const handleDismiss = () => {\n inputRef.current?.resetInput();\n nodeRef.current?.focus();\n setSelectedDate(initialDate);\n setCalendarOpen(false);\n };\n\n const handleChange = (val: string) => {\n if (\n !allowDisabledSelection &&\n DateInputHelper.isDateDisabled(val, {\n disabledDates,\n minDate,\n maxDate,\n })\n ) {\n return;\n }\n\n setSelectedDate(val);\n\n if (!withButton) {\n performOnChangeHandler(val);\n setInitialDate(val);\n if (val) {\n setCalendarOpen(false);\n }\n }\n };\n\n const handleSelect = (val: string) => {\n setSelectedDate(val);\n\n if (!withButton) {\n performOnChangeHandler(val);\n setInitialDate(val);\n if (val) {\n inputRef.current?.focusYearRef();\n setCalendarOpen(false);\n }\n\n // clear hover value for mobile when onMouseLeave={handleMouseLeaveCell} is not triggered due to touch input\n setHoveredDate(undefined);\n }\n };\n\n const handleFocus = () => {\n if (readOnly || disabled) return;\n\n setCalendarOpen(true);\n\n if (focused) return;\n\n setFocused(true);\n\n if (onFocus) {\n onFocus();\n }\n };\n\n const handleBlur = (e: React.FocusEvent) => {\n const target = e.relatedTarget as HTMLElement;\n\n const isInsideCalendar =\n calendarRef.current && calendarRef.current.contains(target);\n const isInsideNode =\n nodeRef.current && nodeRef.current.contains(target);\n const isFloatingElement =\n target?.matches?.(\"[data-floating-ui-focusable]\") ||\n target?.matches?.(\"[data-floating-ui-focus-guard]\");\n\n // Condition when the calendar is closed and focus moved outside the component\n const shouldBlurWhenClosed =\n focused && !calendarOpen && !isInsideNode && !isFloatingElement;\n\n // Condition when the calendar is open, and focus went outside both input and calendar\n const shouldBlurWhenOpenOutside =\n calendarOpen &&\n !isInsideNode &&\n !isInsideCalendar &&\n !isFloatingElement;\n\n if (shouldBlurWhenClosed || shouldBlurWhenOpenOutside) {\n inputRef.current?.resetInput();\n setSelectedDate(initialDate);\n setFocused(false);\n setCalendarOpen(false);\n performOnBlurHandler();\n }\n };\n\n const handleHoverDayCell = (value: string) => {\n setHoveredDate(value);\n };\n\n const handleCalendarAction = (buttonAction: CalendarAction) => {\n // handle button in day calendar view\n switch (buttonAction) {\n case \"reset\":\n setSelectedDate(initialDate);\n break;\n case \"confirmed\":\n setInitialDate(selectedDate);\n performOnChangeHandler(selectedDate);\n break;\n }\n\n const isValid = dayjs(selectedDate, \"YYYY-MM-DD\", true).isValid();\n\n // Focus on year input if the selected date is valid to avoid restarting entire tab order\n if (isValid) {\n inputRef.current?.focusYearRef();\n } else {\n nodeRef.current?.focus();\n }\n setCalendarOpen(false);\n };\n\n // =============================================================================\n // HELPER FUNCTIONS\n // =============================================================================\n const performOnChangeHandler = (changeValue: string) => {\n if (onChange) {\n onChange(changeValue);\n }\n };\n\n const performOnBlurHandler = () => {\n if (onBlur) {\n onBlur();\n }\n };\n\n // =============================================================================\n // RENDER FUNCTIONS\n // =============================================================================\n const renderInput = () => {\n return (\n <InputWrapper\n role=\"group\"\n tabIndex={0}\n ref={nodeRef}\n onBlur={handleBlur}\n onFocus={handleFocus}\n disabled={disabled}\n readOnly={readOnly}\n focused={focused}\n error={error}\n id={id}\n data-testid={otherProps[\"data-testid\"]}\n aria-disabled={disabled}\n className={clsx(styles.container, className)}\n {...otherProps}\n >\n <StandaloneDateInput\n ref={inputRef}\n disabled={disabled}\n onChange={handleChange}\n readOnly={readOnly}\n focused={calendarOpen}\n names={[\"start-day\", \"start-month\", \"start-year\"]}\n value={selectedDate}\n hoverValue={hoveredDate}\n hideInputKeyboard={hideInputKeyboard}\n />\n </InputWrapper>\n );\n };\n\n const renderCalendar = ({ elementWidth }: DropdownRenderProps) => {\n return (\n <CalendarDropdown\n variant=\"single\"\n ref={calendarRef}\n initialCalendarDate={selectedDate}\n withButton={withButton}\n value={selectedDate}\n disabledDates={disabledDates}\n minDate={minDate}\n maxDate={maxDate}\n allowDisabledSelection={allowDisabledSelection}\n onHover={handleHoverDayCell}\n onSelect={handleSelect}\n onDismiss={handleCalendarAction}\n onYearMonthDisplayChange={onYearMonthDisplayChange}\n width={elementWidth}\n isFocusable={!readOnly && !disabled}\n />\n );\n };\n\n return (\n <ElementWithDropdown\n enabled={!readOnly && !disabled}\n isOpen={calendarOpen}\n renderElement={renderInput}\n renderDropdown={renderCalendar}\n onClose={handleClose}\n onDismiss={handleDismiss}\n customZIndex={zIndex}\n offset={16}\n rootNode={dropdownRootNode}\n />\n );\n};\n"],"names":["DateInput","_a","minDate","maxDate","disabled","disabledDates","error","hideInputKeyboard","value","onChange","onFocus","onBlur","onYearMonthDisplayChange","withButton","readOnly","id","allowDisabledSelection","zIndex","dropdownRootNode","className","otherProps","__rest","initialDate","setInitialDate","useState","DateInputHelper","sanitizeInput","selectedDate","setSelectedDate","hoveredDate","setHoveredDate","undefined","calendarOpen","setCalendarOpen","focused","setFocused","nodeRef","useRef","inputRef","calendarRef","useEffect","newValue","handleChange","val","isDateDisabled","performOnChangeHandler","handleSelect","current","focusYearRef","handleFocus","handleBlur","e","target","relatedTarget","isInsideCalendar","contains","isInsideNode","isFloatingElement","matches","call","_b","_c","resetInput","performOnBlurHandler","handleHoverDayCell","handleCalendarAction","buttonAction","dayjs","isValid","focus","changeValue","_jsx","ElementWithDropdown","enabled","isOpen","renderElement","InputWrapper","Object","assign","role","tabIndex","ref","clsx","styles.container","children","StandaloneDateInput","names","hoverValue","renderDropdown","elementWidth","CalendarDropdown","variant","initialCalendarDate","onHover","onSelect","onDismiss","width","isFocusable","onClose","customZIndex","offset","rootNode"],"mappings":"m2BAkBO,MAAMA,EAAaC,IAAA,IAAAC,QACtBA,EAAOC,QACPA,EAAOC,SACPA,EAAQC,cACRA,EAAaC,MACbA,EAAKC,kBACLA,EAAiBC,MACjBA,EAAKC,SACLA,EAAQC,QACRA,EAAOC,OACPA,EAAMC,yBACNA,EAAwBC,WACxBA,GAAa,EAAIC,SACjBA,EAAQC,GACRA,EAAEC,uBACFA,EAAsBC,OACtBA,EAAMC,iBACNA,EAAgBC,UAChBA,GAASlB,EACNmB,EAAUC,EAAApB,EAnBS,6OAwBtB,MAAOqB,EAAaC,GAAkBC,EAClCC,EAAgBC,cAAclB,KAE3BmB,EAAcC,GAAmBJ,EACpCC,EAAgBC,cAAclB,KAE3BqB,EAAaC,GAAkBN,OAClCO,IAEGC,EAAcC,GAAmBT,GAAkB,IACnDU,EAASC,GAAcX,GAAkB,GAE1CY,EAAUC,EAAuB,MACjCC,EAAWD,EAA+B,MAC1CE,EAAcF,EAA4B,MAKhDG,GAAU,KACN,MAAMC,EAAWhB,EAAgBC,cAAclB,GAC/Ce,EAAekB,GACfb,EAAgBa,EAAS,GAC1B,CAACjC,IAKJ,MAmBMkC,EAAgBC,KAEb3B,GACDS,EAAgBmB,eAAeD,EAAK,CAChCtC,gBACAH,UACAC,cAMRyB,EAAgBe,GAEX9B,IACDgC,EAAuBF,GACvBpB,EAAeoB,GACXA,GACAV,GAAgB,IAExB,EAGEa,EAAgBH,UAClBf,EAAgBe,GAEX9B,IACDgC,EAAuBF,GACvBpB,EAAeoB,GACXA,IACgB,QAAhB1C,EAAAqC,EAASS,eAAO,IAAA9C,GAAAA,EAAE+C,eAClBf,GAAgB,IAIpBH,OAAeC,GACnB,EAGEkB,EAAc,KACZnC,GAAYV,IAEhB6B,GAAgB,GAEZC,IAEJC,GAAW,GAEPzB,GACAA,KACJ,EAGEwC,EAAcC,cAChB,MAAMC,EAASD,EAAEE,cAEXC,EACFf,EAAYQ,SAAWR,EAAYQ,QAAQQ,SAASH,GAClDI,EACFpB,EAAQW,SAAWX,EAAQW,QAAQQ,SAASH,GAC1CK,GACa,QAAfxD,EAAAmD,aAAM,EAANA,EAAQM,eAAO,IAAAzD,OAAA,EAAAA,EAAA0D,KAAAP,EAAG,mCACH,QAAfQ,EAAAR,aAAM,EAANA,EAAQM,eAAO,IAAAE,OAAA,EAAAA,EAAAD,KAAAP,EAAG,oCAIlBlB,IAAYF,IAAiBwB,IAAiBC,GAI9CzB,IACCwB,IACAF,IACAG,KAGe,QAAhBI,EAAAvB,EAASS,eAAO,IAAAc,GAAAA,EAAEC,aAClBlC,EAAgBN,GAChBa,GAAW,GACXF,GAAgB,GAChB8B,IACJ,EAGEC,EAAsBxD,IACxBsB,EAAetB,EAAM,EAGnByD,EAAwBC,YAE1B,OAAQA,GACJ,IAAK,QACDtC,EAAgBN,GAChB,MACJ,IAAK,YACDC,EAAeI,GACfkB,EAAuBlB,GAIfwC,EAAMxC,EAAc,cAAc,GAAMyC,UAIpC,QAAhBnE,EAAAqC,EAASS,eAAO,IAAA9C,GAAAA,EAAE+C,eAEH,QAAfY,EAAAxB,EAAQW,eAAO,IAAAa,GAAAA,EAAES,QAErBpC,GAAgB,EAAM,EAMpBY,EAA0ByB,IACxB7D,GACAA,EAAS6D,EACb,EAGEP,EAAuB,KACrBpD,GACAA,GACJ,EA6DJ,OACI4D,EAACC,EAAmB,CAChBC,SAAU3D,IAAaV,EACvBsE,OAAQ1C,EACR2C,cA3DY,IAEZJ,EAACK,EAAYC,OAAAC,OAAA,CACTC,KAAK,QACLC,SAAU,EACVC,IAAK7C,EACLzB,OAAQuC,EACRxC,QAASuC,EACT7C,SAAUA,EACVU,SAAUA,EACVoB,QAASA,EACT5B,MAAOA,EACPS,GAAIA,EAAE,cACOK,EAAW,eAAc,gBACvBhB,EACfe,UAAW+D,EAAKC,EAAkBhE,IAC9BC,EAAU,CAAAgE,SAEdb,EAACc,EAAmB,CAChBJ,IAAK3C,EACLlC,SAAUA,EACVK,SAAUiC,EACV5B,SAAUA,EACVoB,QAASF,EACTsD,MAAO,CAAC,YAAa,cAAe,cACpC9E,MAAOmB,EACP4D,WAAY1D,EACZtB,kBAAmBA,OAiC3BiF,eA3Be,EAAGC,kBAElBlB,EAACmB,EAAgB,CACbC,QAAQ,SACRV,IAAK1C,EACLqD,oBAAqBjE,EACrBd,WAAYA,EACZL,MAAOmB,EACPtB,cAAeA,EACfH,QAASA,EACTC,QAASA,EACTa,uBAAwBA,EACxB6E,QAAS7B,EACT8B,SAAUhD,EACViD,UAAW9B,EACXrD,yBAA0BA,EAC1BoF,MAAOP,EACPQ,aAAcnF,IAAaV,IAW/B8F,QAjNY,WACA,QAAhBjG,EAAAqC,EAASS,eAAO,IAAA9C,GAAAA,EAAE6D,aAClBlC,EAAgBN,GAChBW,GAAgB,GAChBE,GAAW,GAEX4B,IAGAjC,OAAeC,EAAU,EAyMrBgE,UAtMc,aACF,QAAhB9F,EAAAqC,EAASS,eAAO,IAAA9C,GAAAA,EAAE6D,aACH,QAAfF,EAAAxB,EAAQW,eAAO,IAAAa,GAAAA,EAAES,QACjBzC,EAAgBN,GAChBW,GAAgB,EAAM,EAmMlBkE,aAAclF,EACdmF,OAAQ,GACRC,SAAUnF,GACZ"}
1
+ {"version":3,"file":"date-input.js","sources":["../../src/date-input/date-input.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport dayjs from \"dayjs\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport type { DropdownRenderProps } from \"../shared/dropdown-wrapper\";\nimport { ElementWithDropdown } from \"../shared/dropdown-wrapper\";\nimport { InputWrapper } from \"../shared/input-wrapper\";\nimport type {\n CalendarAction,\n InternalCalendarRef,\n} from \"../shared/internal-calendar\";\nimport { CalendarDropdown } from \"../shared/internal-calendar\";\nimport type { StandaloneDateInputRef } from \"../shared/standalone-date-input/standalone-date-input\";\nimport { StandaloneDateInput } from \"../shared/standalone-date-input/standalone-date-input\";\nimport { DateInputHelper } from \"../util\";\nimport * as styles from \"./date-input.styles\";\nimport type { DateInputProps } from \"./types\";\n\n/**\n * A single-date input field with an attached calendar dropdown.\n *\n * Use this to enter or pick a single date.\n */\nexport const DateInput = ({\n minDate,\n maxDate,\n disabled,\n disabledDates,\n error,\n hideInputKeyboard,\n value,\n onChange,\n onFocus,\n onBlur,\n onYearMonthDisplayChange,\n withButton = true,\n readOnly,\n id,\n allowDisabledSelection,\n zIndex,\n dropdownRootNode,\n className,\n ...otherProps\n}: DateInputProps) => {\n // =============================================================================\n // CONST, STATE, REF\n // =============================================================================\n const [initialDate, setInitialDate] = useState<string>(\n DateInputHelper.sanitizeInput(value)\n );\n const [selectedDate, setSelectedDate] = useState<string>(\n DateInputHelper.sanitizeInput(value)\n );\n const [hoveredDate, setHoveredDate] = useState<string | undefined>(\n undefined\n );\n const [calendarOpen, setCalendarOpen] = useState<boolean>(false);\n const [focused, setFocused] = useState<boolean>(false);\n\n const nodeRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<StandaloneDateInputRef>(null);\n const calendarRef = useRef<InternalCalendarRef>(null);\n\n // =============================================================================\n // EFFECTS\n // =============================================================================\n useEffect(() => {\n const newValue = DateInputHelper.sanitizeInput(value);\n setInitialDate(newValue);\n setSelectedDate(newValue);\n }, [value]);\n\n // =============================================================================\n // EVENT HANDLERS\n // =============================================================================\n const handleClose = () => {\n inputRef.current?.resetInput();\n setSelectedDate(initialDate);\n setCalendarOpen(false);\n setFocused(false);\n\n performOnBlurHandler();\n\n // clear hover value for mobile scrolling\n setHoveredDate(undefined);\n };\n\n const handleDismiss = () => {\n inputRef.current?.resetInput();\n nodeRef.current?.focus();\n setSelectedDate(initialDate);\n setCalendarOpen(false);\n };\n\n const handleChange = (val: string) => {\n if (\n !allowDisabledSelection &&\n DateInputHelper.isDateDisabled(val, {\n disabledDates,\n minDate,\n maxDate,\n })\n ) {\n return;\n }\n\n setSelectedDate(val);\n\n if (!withButton) {\n performOnChangeHandler(val);\n setInitialDate(val);\n if (val) {\n setCalendarOpen(false);\n }\n }\n };\n\n const handleSelect = (val: string) => {\n setSelectedDate(val);\n\n if (!withButton) {\n performOnChangeHandler(val);\n setInitialDate(val);\n if (val) {\n inputRef.current?.focusYearRef();\n setCalendarOpen(false);\n }\n\n // clear hover value for mobile when onMouseLeave={handleMouseLeaveCell} is not triggered due to touch input\n setHoveredDate(undefined);\n }\n };\n\n const handleFocus = () => {\n if (readOnly || disabled) return;\n\n setCalendarOpen(true);\n\n if (focused) return;\n\n setFocused(true);\n\n if (onFocus) {\n onFocus();\n }\n };\n\n const handleBlur = (e: React.FocusEvent) => {\n const target = e.relatedTarget as HTMLElement;\n\n const isInsideCalendar =\n calendarRef.current && calendarRef.current.contains(target);\n const isInsideNode =\n nodeRef.current && nodeRef.current.contains(target);\n const isFloatingElement =\n target?.matches?.(\"[data-floating-ui-focusable]\") ||\n target?.matches?.(\"[data-floating-ui-focus-guard]\");\n\n // Condition when the calendar is closed and focus moved outside the component\n const shouldBlurWhenClosed =\n focused && !calendarOpen && !isInsideNode && !isFloatingElement;\n\n // Condition when the calendar is open, and focus went outside both input and calendar\n const shouldBlurWhenOpenOutside =\n calendarOpen &&\n !isInsideNode &&\n !isInsideCalendar &&\n !isFloatingElement;\n\n if (shouldBlurWhenClosed || shouldBlurWhenOpenOutside) {\n inputRef.current?.resetInput();\n setSelectedDate(initialDate);\n setFocused(false);\n setCalendarOpen(false);\n performOnBlurHandler();\n }\n };\n\n const handleHoverDayCell = (value: string) => {\n if (!calendarOpen) return;\n setHoveredDate(value);\n };\n\n const handleCalendarAction = (buttonAction: CalendarAction) => {\n // handle button in day calendar view\n switch (buttonAction) {\n case \"reset\":\n setSelectedDate(initialDate);\n break;\n case \"confirmed\":\n setInitialDate(selectedDate);\n performOnChangeHandler(selectedDate);\n break;\n }\n\n const isValid = dayjs(selectedDate, \"YYYY-MM-DD\", true).isValid();\n\n // Focus on year input if the selected date is valid to avoid restarting entire tab order\n if (isValid) {\n inputRef.current?.focusYearRef();\n } else {\n nodeRef.current?.focus();\n }\n setCalendarOpen(false);\n };\n\n // =============================================================================\n // HELPER FUNCTIONS\n // =============================================================================\n const performOnChangeHandler = (changeValue: string) => {\n if (onChange) {\n onChange(changeValue);\n }\n };\n\n const performOnBlurHandler = () => {\n if (onBlur) {\n onBlur();\n }\n };\n\n // =============================================================================\n // RENDER FUNCTIONS\n // =============================================================================\n const renderInput = () => {\n return (\n <InputWrapper\n role=\"group\"\n tabIndex={0}\n ref={nodeRef}\n onBlur={handleBlur}\n onFocus={handleFocus}\n disabled={disabled}\n readOnly={readOnly}\n focused={focused}\n error={error}\n id={id}\n data-testid={otherProps[\"data-testid\"]}\n aria-disabled={disabled}\n className={clsx(styles.container, className)}\n {...otherProps}\n >\n <StandaloneDateInput\n ref={inputRef}\n disabled={disabled}\n onChange={handleChange}\n readOnly={readOnly}\n focused={calendarOpen}\n names={[\"start-day\", \"start-month\", \"start-year\"]}\n value={selectedDate}\n hoverValue={hoveredDate}\n hideInputKeyboard={hideInputKeyboard}\n />\n </InputWrapper>\n );\n };\n\n const renderCalendar = ({ elementWidth }: DropdownRenderProps) => {\n return (\n <CalendarDropdown\n variant=\"single\"\n ref={calendarRef}\n initialCalendarDate={selectedDate}\n withButton={withButton}\n value={selectedDate}\n disabledDates={disabledDates}\n minDate={minDate}\n maxDate={maxDate}\n allowDisabledSelection={allowDisabledSelection}\n onHover={handleHoverDayCell}\n onSelect={handleSelect}\n onDismiss={handleCalendarAction}\n onYearMonthDisplayChange={onYearMonthDisplayChange}\n width={elementWidth}\n isFocusable={!readOnly && !disabled}\n />\n );\n };\n\n return (\n <ElementWithDropdown\n enabled={!readOnly && !disabled}\n isOpen={calendarOpen}\n renderElement={renderInput}\n renderDropdown={renderCalendar}\n onClose={handleClose}\n onDismiss={handleDismiss}\n customZIndex={zIndex}\n offset={16}\n rootNode={dropdownRootNode}\n />\n );\n};\n"],"names":["DateInput","_a","minDate","maxDate","disabled","disabledDates","error","hideInputKeyboard","value","onChange","onFocus","onBlur","onYearMonthDisplayChange","withButton","readOnly","id","allowDisabledSelection","zIndex","dropdownRootNode","className","otherProps","__rest","initialDate","setInitialDate","useState","DateInputHelper","sanitizeInput","selectedDate","setSelectedDate","hoveredDate","setHoveredDate","undefined","calendarOpen","setCalendarOpen","focused","setFocused","nodeRef","useRef","inputRef","calendarRef","useEffect","newValue","handleChange","val","isDateDisabled","performOnChangeHandler","handleSelect","current","focusYearRef","handleFocus","handleBlur","e","target","relatedTarget","isInsideCalendar","contains","isInsideNode","isFloatingElement","matches","call","_b","_c","resetInput","performOnBlurHandler","handleHoverDayCell","handleCalendarAction","buttonAction","dayjs","isValid","focus","changeValue","_jsx","ElementWithDropdown","enabled","isOpen","renderElement","InputWrapper","Object","assign","role","tabIndex","ref","clsx","styles.container","children","StandaloneDateInput","names","hoverValue","renderDropdown","elementWidth","CalendarDropdown","variant","initialCalendarDate","onHover","onSelect","onDismiss","width","isFocusable","onClose","customZIndex","offset","rootNode"],"mappings":"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"}
@@ -1 +1 @@
1
- .c1udubt6{height:3rem;}
1
+ @layer fds{.c1udubt6{height:3rem;}}
@@ -1,44 +1,60 @@
1
1
  import type { RefObject } from "react";
2
2
  import type { CommonCalendarProps, YearMonthDisplay } from "../shared/internal-calendar/types";
3
+ /** Props for the `DateInput` component. */
3
4
  export interface DateInputProps extends CommonCalendarProps {
4
5
  className?: string | undefined;
5
6
  id?: string | undefined;
6
7
  /**
7
- * The root element that contains the dropdown element. Defaults to the document body.
8
+ * The root element that contains the dropdown element.
8
9
  *
9
- * If the parent that contains the trigger element has a higher z-index than the dropdown,
10
- * the dropdown may not be visible. Specify the parent element here instead
10
+ * @remarks Specify this if you need to change the parent of the
11
+ * dropdown in the HTML DOM.
12
+ * Possible use case: sharing a stacking context.
13
+ *
14
+ * Note: if a parent of the trigger has a higher `z-index` than the dropdown,
15
+ * the dropdown may be obscured.
16
+ *
17
+ * @default `document.body`
11
18
  */
12
19
  dropdownRootNode?: RefObject<HTMLElement> | undefined;
13
20
  "data-testid"?: string | undefined;
14
21
  readOnly?: boolean | undefined;
22
+ /**
23
+ * When `true`, suppresses the native on-screen keyboard on mobile devices
24
+ * while still allowing the calendar picker to open.
25
+ */
15
26
  hideInputKeyboard?: boolean | undefined;
16
27
  /**
17
- * The value of the date input in "YYYY-MM-DD" or "YYYY-M-D" string format.
28
+ * The controlled value of the date input in `"YYYY-MM-DD"` or `"YYYY-M-D"` string format.
29
+ *
30
+ * @remarks Passing `undefined` or an invalid string clears the selection.
18
31
  */
19
32
  value?: string | undefined;
33
+ /** Renders the input in an error state. */
20
34
  error?: boolean | undefined;
21
35
  disabled?: boolean | undefined;
22
36
  /**
23
- * Specifies if the "Done" and "Cancel" action buttons should be rendered.
24
- * Is restricted to `true` on mobile viewports
37
+ * Whether to show "Done" and "Cancel" action buttons inside the calendar dropdown.
38
+ * When `false`, a selection immediately commits and closes the calendar.
39
+ *
40
+ * @default true
25
41
  */
26
42
  withButton?: boolean | undefined;
27
- /** The z-index of the calendar dropdown */
43
+ /** The z-index of the calendar dropdown. */
28
44
  zIndex?: number | undefined;
29
45
  /**
30
- * Function that returns when a valid selection is made. Returns the start
31
- * date in "YYYY-MM-DD" string format.
46
+ * Called when the user commits a date selection. Receives the selected date
47
+ * as a `"YYYY-MM-DD"` string, or an empty string when the selection is cleared.
48
+ *
49
+ * @remarks When `withButton` is `true`, this fires only after the user
50
+ * confirms via the "Done" button. When `withButton` is `false`, it fires
51
+ * immediately on each selection.
32
52
  */
33
53
  onChange?: ((value: string) => void) | undefined;
34
- /**
35
- * Called when the field is focused
36
- */
54
+ /** Called when the input receives focus. */
37
55
  onFocus?: (() => void) | undefined;
38
- /**
39
- * Called when a defocus is made on the field
40
- */
56
+ /** Called when focus leaves both the input and the calendar dropdown. */
41
57
  onBlur?: (() => void) | undefined;
42
- /** Called when there is a change in the current visible month and year */
58
+ /** Called when the visible month or year in the calendar changes. */
43
59
  onYearMonthDisplayChange?: ((value: YearMonthDisplay) => void) | undefined;
44
60
  }
@@ -1,2 +1,8 @@
1
1
  import type { DateNavigatorProps } from "./types";
2
+ /**
3
+ * Displays a date with left/right navigation arrows for stepping through dates or weeks.
4
+ *
5
+ * Use when users need to browse content organised by day or week — such as schedules,
6
+ * calendars, or time-based feeds.
7
+ */
2
8
  export declare const DateNavigator: ({ selectedDate, minDate, maxDate, loading, showDateAsShortForm, showCurrentDateAsToday, view, onLeftArrowClick, onRightArrowClick, onCalendarDateSelect, dropdownRootNode, className, ...otherProps }: DateNavigatorProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"date-navigator.js","sources":["../../src/date-navigator/date-navigator.tsx"],"sourcesContent":["import { ChevronLeftIcon } from \"@lifesg/react-icons/chevron-left\";\nimport { ChevronRightIcon } from \"@lifesg/react-icons/chevron-right\";\nimport clsx from \"clsx\";\nimport dayjs from \"dayjs\";\nimport { useState } from \"react\";\n\nimport { Button } from \"../button\";\nimport type { DropdownRenderProps } from \"../shared/dropdown-wrapper\";\nimport { ElementWithDropdown } from \"../shared/dropdown-wrapper\";\nimport { BasicButton } from \"../shared/input-wrapper\";\nimport { CalendarDropdown } from \"../shared/internal-calendar\";\nimport { CalendarHelper, DateHelper } from \"../util\";\nimport * as styles from \"./date-navigator.styles\";\nimport type { DateNavigatorProps } from \"./types\";\n\nexport const DateNavigator = ({\n selectedDate,\n minDate,\n maxDate,\n loading,\n showDateAsShortForm,\n showCurrentDateAsToday,\n view = \"day\",\n onLeftArrowClick,\n onRightArrowClick,\n onCalendarDateSelect,\n dropdownRootNode,\n className,\n ...otherProps\n}: DateNavigatorProps) => {\n // =============================================================================\n // CONST, STATE, REF\n // =============================================================================\n const date = DateHelper.toDayjs(selectedDate);\n const [isCalendarOpen, setIsCalendarOpen] = useState<boolean>(false);\n\n // =============================================================================\n // HELPER FUNCTIONS\n // =============================================================================\n const isLeftArrowDisabled = () => {\n if (!minDate) {\n return false;\n }\n return (\n CalendarHelper.isDisabledDay(date, undefined, minDate) ||\n DateHelper.isSame(date, minDate)\n );\n };\n\n const isRightArrowDisabled = () => {\n if (!maxDate) {\n return false;\n }\n return (\n CalendarHelper.isDisabledDay(date, undefined, undefined, maxDate) ||\n DateHelper.isSame(date, maxDate)\n );\n };\n\n const handleSelect = (value: string) => {\n onCalendarDateSelect?.(value);\n setIsCalendarOpen(!isCalendarOpen);\n };\n\n const navigatePrevious = () => {\n setIsCalendarOpen(false);\n onLeftArrowClick(selectedDate);\n };\n\n const navigateNext = () => {\n setIsCalendarOpen(false);\n onRightArrowClick(selectedDate);\n };\n\n // Helper function to get week range\n const getWeekRange = (selectedDate: string) => {\n const currentDate = DateHelper.toDayjs(selectedDate);\n const startOfWeek = currentDate.startOf(\"week\");\n const endOfWeek = currentDate.endOf(\"week\");\n\n return {\n startDisplay: startOfWeek.format(\"D MMM\"),\n endDisplay: endOfWeek.format(\"D MMM\"),\n year: endOfWeek.format(\"YYYY\"),\n };\n };\n\n // Calculate display text based on view\n const getDisplayText = () => {\n if (view === \"week\") {\n const weekRange = getWeekRange(selectedDate);\n return `${weekRange.startDisplay} - ${weekRange.endDisplay}, ${weekRange.year}`;\n }\n const dateText = DateHelper.toDayjs(selectedDate)\n .format(showDateAsShortForm ? \"D MMM YYYY\" : \"D MMMM YYYY\")\n .toString();\n const isToday = DateHelper.isSame(selectedDate, dayjs());\n const dayText =\n isToday && showCurrentDateAsToday\n ? \"Today\"\n : date.format(showDateAsShortForm ? \"ddd\" : \"dddd\");\n return `${dateText}, ${dayText}`;\n };\n\n // =============================================================================\n // RENDER FUNCTIONS\n // =============================================================================\n const renderCalendar = ({ elementWidth }: DropdownRenderProps) => {\n return (\n <CalendarDropdown\n variant=\"single\"\n initialCalendarDate={selectedDate}\n value={selectedDate}\n minDate={minDate}\n maxDate={maxDate}\n onSelect={handleSelect}\n width={elementWidth}\n />\n );\n };\n\n const renderDateNavElement = () => {\n const ariaLabel =\n view === \"week\"\n ? {\n left: \"Previous week\",\n right: \"Next week\",\n }\n : {\n left: \"Previous day\",\n right: \"Next day\",\n };\n\n return (\n <div {...otherProps} className={clsx(styles.container, className)}>\n <Button\n className={styles.headerArrowButton}\n data-testid=\"date-navigator-left-arrow-btn\"\n disabled={loading || isLeftArrowDisabled()}\n aria-label={ariaLabel.left}\n onClick={navigatePrevious}\n styleType=\"light\"\n sizeType=\"small\"\n icon={\n <ChevronLeftIcon\n className={styles.headerArrowButtonIcon}\n />\n }\n />\n <BasicButton\n onClick={() => setIsCalendarOpen(!isCalendarOpen)}\n className={styles.dateTextButton}\n data-testid=\"date-navigator-date-text\"\n disabled={!onCalendarDateSelect || loading}\n >\n {getDisplayText()}\n </BasicButton>\n <Button\n className={styles.headerArrowButton}\n data-testid=\"date-navigator-right-arrow-btn\"\n disabled={loading || isRightArrowDisabled()}\n aria-label={ariaLabel.right}\n onClick={navigateNext}\n styleType=\"light\"\n sizeType=\"small\"\n icon={\n <ChevronRightIcon\n className={styles.headerArrowButtonIcon}\n />\n }\n />\n </div>\n );\n };\n\n return (\n <ElementWithDropdown\n enabled={!loading}\n isOpen={isCalendarOpen}\n renderElement={renderDateNavElement}\n renderDropdown={renderCalendar}\n onDismiss={() => setIsCalendarOpen(false)}\n onClose={() => setIsCalendarOpen(false)}\n offset={8}\n rootNode={dropdownRootNode}\n />\n );\n};\n"],"names":["DateNavigator","_a","selectedDate","minDate","maxDate","loading","showDateAsShortForm","showCurrentDateAsToday","view","onLeftArrowClick","onRightArrowClick","onCalendarDateSelect","dropdownRootNode","className","otherProps","__rest","date","DateHelper","toDayjs","isCalendarOpen","setIsCalendarOpen","useState","handleSelect","value","navigatePrevious","navigateNext","getDisplayText","weekRange","currentDate","startOfWeek","startOf","endOfWeek","endOf","startDisplay","format","endDisplay","year","getWeekRange","toString","isSame","dayjs","_jsx","ElementWithDropdown","enabled","isOpen","renderElement","ariaLabel","left","right","_jsxs","Object","assign","clsx","styles.container","children","Button","styles.headerArrowButton","disabled","CalendarHelper","isDisabledDay","undefined","onClick","styleType","sizeType","icon","ChevronLeftIcon","styles.headerArrowButtonIcon","BasicButton","styles.dateTextButton","ChevronRightIcon","renderDropdown","elementWidth","CalendarDropdown","variant","initialCalendarDate","onSelect","width","onDismiss","onClose","offset","rootNode"],"mappings":"+/BAeO,MAAMA,EAAiBC,IAAA,IAAAC,aAC1BA,EAAYC,QACZA,EAAOC,QACPA,EAAOC,QACPA,EAAOC,oBACPA,EAAmBC,uBACnBA,EAAsBC,KACtBA,EAAO,MAAKC,iBACZA,EAAgBC,kBAChBA,EAAiBC,qBACjBA,EAAoBC,iBACpBA,EAAgBC,UAChBA,GAASZ,EACNa,EAAUC,EAAAd,EAba,mMAkB1B,MAAMe,EAAOC,EAAWC,QAAQhB,IACzBiB,EAAgBC,GAAqBC,GAAkB,GAyBxDC,EAAgBC,IAClBZ,SAAAA,EAAuBY,GACvBH,GAAmBD,EAAe,EAGhCK,EAAmB,KACrBJ,GAAkB,GAClBX,EAAiBP,EAAa,EAG5BuB,EAAe,KACjBL,GAAkB,GAClBV,EAAkBR,EAAa,EAiB7BwB,EAAiB,KACnB,GAAa,SAATlB,EAAiB,CACjB,MAAMmB,EAfO,CAACzB,IAClB,MAAM0B,EAAcX,EAAWC,QAAQhB,GACjC2B,EAAcD,EAAYE,QAAQ,QAClCC,EAAYH,EAAYI,MAAM,QAEpC,MAAO,CACHC,aAAcJ,EAAYK,OAAO,SACjCC,WAAYJ,EAAUG,OAAO,SAC7BE,KAAML,EAAUG,OAAO,QAC1B,EAMqBG,CAAanC,GAC/B,MAAO,GAAGyB,EAAUM,kBAAkBN,EAAUQ,eAAeR,EAAUS,MAC7E,CASA,MAAO,GARUnB,EAAWC,QAAQhB,GAC/BgC,OAAO5B,EAAsB,aAAe,eAC5CgC,eACWrB,EAAWsB,OAAOrC,EAAcsC,MAEjCjC,EACL,QACAS,EAAKkB,OAAO5B,EAAsB,MAAQ,SACpB,EA0EpC,OACImC,EAACC,EAAmB,CAChBC,SAAUtC,EACVuC,OAAQzB,EACR0B,cA1DqB,KACzB,MAAMC,EACO,SAATtC,EACM,CACIuC,KAAM,gBACNC,MAAO,aAEX,CACID,KAAM,eACNC,MAAO,YAGrB,OACIC,EAAA,MAAAC,OAAAC,OAAA,CAAA,EAASrC,EAAU,CAAED,UAAWuC,EAAKC,EAAkBxC,GAAUyC,SAAA,CAC7Db,EAACc,EAAM,CACH1C,UAAW2C,EAAwB,cACvB,gCACZC,SAAUpD,KAlGjBF,IAIDuD,EAAeC,cAAc3C,OAAM4C,EAAWzD,IAC9Cc,EAAWsB,OAAOvB,EAAMb,IA6F0B,aAC9B2C,EAAUC,KACtBc,QAASrC,EACTsC,UAAU,QACVC,SAAS,QACTC,KACIvB,EAACwB,EAAe,CACZpD,UAAWqD,MAIvBzB,EAAC0B,EAAW,CACRN,QAAS,IAAMzC,GAAmBD,GAClCN,UAAWuD,EAAqB,cACpB,2BACZX,UAAW9C,GAAwBN,EAAOiD,SAEzC5B,MAELe,EAACc,EAAM,CACH1C,UAAW2C,EAAwB,cACvB,iCACZC,SAAUpD,KA9GjBD,IAIDsD,EAAeC,cAAc3C,OAAM4C,OAAWA,EAAWxD,IACzDa,EAAWsB,OAAOvB,EAAMZ,IAyG2B,aAC/B0C,EAAUE,MACtBa,QAASpC,EACTqC,UAAU,QACVC,SAAS,QACTC,KACIvB,EAAC4B,EAAgB,CACbxD,UAAWqD,SAIrB,EASNI,eAzEe,EAAGC,kBAElB9B,EAAC+B,EAAgB,CACbC,QAAQ,SACRC,oBAAqBxE,EACrBqB,MAAOrB,EACPC,QAASA,EACTC,QAASA,EACTuE,SAAUrD,EACVsD,MAAOL,IAiEXM,UAAW,IAAMzD,GAAkB,GACnC0D,QAAS,IAAM1D,GAAkB,GACjC2D,OAAQ,EACRC,SAAUpE,GACZ"}
1
+ {"version":3,"file":"date-navigator.js","sources":["../../src/date-navigator/date-navigator.tsx"],"sourcesContent":["import { ChevronLeftIcon } from \"@lifesg/react-icons/chevron-left\";\nimport { ChevronRightIcon } from \"@lifesg/react-icons/chevron-right\";\nimport clsx from \"clsx\";\nimport dayjs from \"dayjs\";\nimport { useState } from \"react\";\n\nimport { Button } from \"../button\";\nimport type { DropdownRenderProps } from \"../shared/dropdown-wrapper\";\nimport { ElementWithDropdown } from \"../shared/dropdown-wrapper\";\nimport { BasicButton } from \"../shared/input-wrapper\";\nimport { CalendarDropdown } from \"../shared/internal-calendar\";\nimport { CalendarHelper, DateHelper } from \"../util\";\nimport * as styles from \"./date-navigator.styles\";\nimport type { DateNavigatorProps } from \"./types\";\n\n/**\n * Displays a date with left/right navigation arrows for stepping through dates or weeks.\n *\n * Use when users need to browse content organised by day or week — such as schedules,\n * calendars, or time-based feeds.\n */\nexport const DateNavigator = ({\n selectedDate,\n minDate,\n maxDate,\n loading,\n showDateAsShortForm,\n showCurrentDateAsToday,\n view = \"day\",\n onLeftArrowClick,\n onRightArrowClick,\n onCalendarDateSelect,\n dropdownRootNode,\n className,\n ...otherProps\n}: DateNavigatorProps) => {\n // =============================================================================\n // CONST, STATE, REF\n // =============================================================================\n const date = DateHelper.toDayjs(selectedDate);\n const [isCalendarOpen, setIsCalendarOpen] = useState<boolean>(false);\n\n // =============================================================================\n // HELPER FUNCTIONS\n // =============================================================================\n const isLeftArrowDisabled = () => {\n if (!minDate) {\n return false;\n }\n return (\n CalendarHelper.isDisabledDay(date, undefined, minDate) ||\n DateHelper.isSame(date, minDate)\n );\n };\n\n const isRightArrowDisabled = () => {\n if (!maxDate) {\n return false;\n }\n return (\n CalendarHelper.isDisabledDay(date, undefined, undefined, maxDate) ||\n DateHelper.isSame(date, maxDate)\n );\n };\n\n const handleSelect = (value: string) => {\n onCalendarDateSelect?.(value);\n setIsCalendarOpen(!isCalendarOpen);\n };\n\n const navigatePrevious = () => {\n setIsCalendarOpen(false);\n onLeftArrowClick(selectedDate);\n };\n\n const navigateNext = () => {\n setIsCalendarOpen(false);\n onRightArrowClick(selectedDate);\n };\n\n // Helper function to get week range\n const getWeekRange = (selectedDate: string) => {\n const currentDate = DateHelper.toDayjs(selectedDate);\n const startOfWeek = currentDate.startOf(\"week\");\n const endOfWeek = currentDate.endOf(\"week\");\n\n return {\n startDisplay: startOfWeek.format(\"D MMM\"),\n endDisplay: endOfWeek.format(\"D MMM\"),\n year: endOfWeek.format(\"YYYY\"),\n };\n };\n\n // Calculate display text based on view\n const getDisplayText = () => {\n if (view === \"week\") {\n const weekRange = getWeekRange(selectedDate);\n return `${weekRange.startDisplay} - ${weekRange.endDisplay}, ${weekRange.year}`;\n }\n const dateText = DateHelper.toDayjs(selectedDate)\n .format(showDateAsShortForm ? \"D MMM YYYY\" : \"D MMMM YYYY\")\n .toString();\n const isToday = DateHelper.isSame(selectedDate, dayjs());\n const dayText =\n isToday && showCurrentDateAsToday\n ? \"Today\"\n : date.format(showDateAsShortForm ? \"ddd\" : \"dddd\");\n return `${dateText}, ${dayText}`;\n };\n\n // =============================================================================\n // RENDER FUNCTIONS\n // =============================================================================\n const renderCalendar = ({ elementWidth }: DropdownRenderProps) => {\n return (\n <CalendarDropdown\n variant=\"single\"\n initialCalendarDate={selectedDate}\n value={selectedDate}\n minDate={minDate}\n maxDate={maxDate}\n onSelect={handleSelect}\n width={elementWidth}\n />\n );\n };\n\n const renderDateNavElement = () => {\n const ariaLabel =\n view === \"week\"\n ? {\n left: \"Previous week\",\n right: \"Next week\",\n }\n : {\n left: \"Previous day\",\n right: \"Next day\",\n };\n\n return (\n <div {...otherProps} className={clsx(styles.container, className)}>\n <Button\n className={styles.headerArrowButton}\n data-testid=\"date-navigator-left-arrow-btn\"\n disabled={loading || isLeftArrowDisabled()}\n aria-label={ariaLabel.left}\n onClick={navigatePrevious}\n styleType=\"light\"\n sizeType=\"small\"\n icon={\n <ChevronLeftIcon\n className={styles.headerArrowButtonIcon}\n />\n }\n />\n <BasicButton\n onClick={() => setIsCalendarOpen(!isCalendarOpen)}\n className={styles.dateTextButton}\n data-testid=\"date-navigator-date-text\"\n disabled={!onCalendarDateSelect || loading}\n >\n {getDisplayText()}\n </BasicButton>\n <Button\n className={styles.headerArrowButton}\n data-testid=\"date-navigator-right-arrow-btn\"\n disabled={loading || isRightArrowDisabled()}\n aria-label={ariaLabel.right}\n onClick={navigateNext}\n styleType=\"light\"\n sizeType=\"small\"\n icon={\n <ChevronRightIcon\n className={styles.headerArrowButtonIcon}\n />\n }\n />\n </div>\n );\n };\n\n return (\n <ElementWithDropdown\n enabled={!loading}\n isOpen={isCalendarOpen}\n renderElement={renderDateNavElement}\n renderDropdown={renderCalendar}\n onDismiss={() => setIsCalendarOpen(false)}\n onClose={() => setIsCalendarOpen(false)}\n offset={8}\n rootNode={dropdownRootNode}\n />\n );\n};\n"],"names":["DateNavigator","_a","selectedDate","minDate","maxDate","loading","showDateAsShortForm","showCurrentDateAsToday","view","onLeftArrowClick","onRightArrowClick","onCalendarDateSelect","dropdownRootNode","className","otherProps","__rest","date","DateHelper","toDayjs","isCalendarOpen","setIsCalendarOpen","useState","handleSelect","value","navigatePrevious","navigateNext","getDisplayText","weekRange","currentDate","startOfWeek","startOf","endOfWeek","endOf","startDisplay","format","endDisplay","year","getWeekRange","toString","isSame","dayjs","_jsx","ElementWithDropdown","enabled","isOpen","renderElement","ariaLabel","left","right","_jsxs","Object","assign","clsx","styles.container","children","Button","styles.headerArrowButton","disabled","CalendarHelper","isDisabledDay","undefined","onClick","styleType","sizeType","icon","ChevronLeftIcon","styles.headerArrowButtonIcon","BasicButton","styles.dateTextButton","ChevronRightIcon","renderDropdown","elementWidth","CalendarDropdown","variant","initialCalendarDate","onSelect","width","onDismiss","onClose","offset","rootNode"],"mappings":"+/BAqBO,MAAMA,EAAiBC,IAAA,IAAAC,aAC1BA,EAAYC,QACZA,EAAOC,QACPA,EAAOC,QACPA,EAAOC,oBACPA,EAAmBC,uBACnBA,EAAsBC,KACtBA,EAAO,MAAKC,iBACZA,EAAgBC,kBAChBA,EAAiBC,qBACjBA,EAAoBC,iBACpBA,EAAgBC,UAChBA,GAASZ,EACNa,EAAUC,EAAAd,EAba,mMAkB1B,MAAMe,EAAOC,EAAWC,QAAQhB,IACzBiB,EAAgBC,GAAqBC,GAAkB,GAyBxDC,EAAgBC,IAClBZ,SAAAA,EAAuBY,GACvBH,GAAmBD,EAAe,EAGhCK,EAAmB,KACrBJ,GAAkB,GAClBX,EAAiBP,EAAa,EAG5BuB,EAAe,KACjBL,GAAkB,GAClBV,EAAkBR,EAAa,EAiB7BwB,EAAiB,KACnB,GAAa,SAATlB,EAAiB,CACjB,MAAMmB,EAfO,CAACzB,IAClB,MAAM0B,EAAcX,EAAWC,QAAQhB,GACjC2B,EAAcD,EAAYE,QAAQ,QAClCC,EAAYH,EAAYI,MAAM,QAEpC,MAAO,CACHC,aAAcJ,EAAYK,OAAO,SACjCC,WAAYJ,EAAUG,OAAO,SAC7BE,KAAML,EAAUG,OAAO,QAC1B,EAMqBG,CAAanC,GAC/B,MAAO,GAAGyB,EAAUM,kBAAkBN,EAAUQ,eAAeR,EAAUS,MAC7E,CASA,MAAO,GARUnB,EAAWC,QAAQhB,GAC/BgC,OAAO5B,EAAsB,aAAe,eAC5CgC,eACWrB,EAAWsB,OAAOrC,EAAcsC,MAEjCjC,EACL,QACAS,EAAKkB,OAAO5B,EAAsB,MAAQ,SACpB,EA0EpC,OACImC,EAACC,EAAmB,CAChBC,SAAUtC,EACVuC,OAAQzB,EACR0B,cA1DqB,KACzB,MAAMC,EACO,SAATtC,EACM,CACIuC,KAAM,gBACNC,MAAO,aAEX,CACID,KAAM,eACNC,MAAO,YAGrB,OACIC,EAAA,MAAAC,OAAAC,OAAA,CAAA,EAASrC,EAAU,CAAED,UAAWuC,EAAKC,EAAkBxC,GAAUyC,SAAA,CAC7Db,EAACc,EAAM,CACH1C,UAAW2C,EAAwB,cACvB,gCACZC,SAAUpD,KAlGjBF,IAIDuD,EAAeC,cAAc3C,OAAM4C,EAAWzD,IAC9Cc,EAAWsB,OAAOvB,EAAMb,IA6F0B,aAC9B2C,EAAUC,KACtBc,QAASrC,EACTsC,UAAU,QACVC,SAAS,QACTC,KACIvB,EAACwB,EAAe,CACZpD,UAAWqD,MAIvBzB,EAAC0B,EAAW,CACRN,QAAS,IAAMzC,GAAmBD,GAClCN,UAAWuD,EAAqB,cACpB,2BACZX,UAAW9C,GAAwBN,EAAOiD,SAEzC5B,MAELe,EAACc,EAAM,CACH1C,UAAW2C,EAAwB,cACvB,iCACZC,SAAUpD,KA9GjBD,IAIDsD,EAAeC,cAAc3C,OAAM4C,OAAWA,EAAWxD,IACzDa,EAAWsB,OAAOvB,EAAMZ,IAyG2B,aAC/B0C,EAAUE,MACtBa,QAASpC,EACTqC,UAAU,QACVC,SAAS,QACTC,KACIvB,EAAC4B,EAAgB,CACbxD,UAAWqD,SAIrB,EASNI,eAzEe,EAAGC,kBAElB9B,EAAC+B,EAAgB,CACbC,QAAQ,SACRC,oBAAqBxE,EACrBqB,MAAOrB,EACPC,QAASA,EACTC,QAASA,EACTuE,SAAUrD,EACVsD,MAAOL,IAiEXM,UAAW,IAAMzD,GAAkB,GACnC0D,QAAS,IAAM1D,GAAkB,GACjC2D,OAAQ,EACRC,SAAUpE,GACZ"}
@@ -1,2 +1,2 @@
1
- import"./date-navigator.styles_1cotsgz.css";const t="c1mdg68z",a="h1w7ufcd",g="h7gg62z",o="d1pl361j";export{t as container,o as dateTextButton,a as headerArrowButton,g as headerArrowButtonIcon};
1
+ import"./date-navigator.styles_wokh56.css";const t="c1mdg68z",a="h1w7ufcd",o="h7gg62z",d="d1pl361j";export{t as container,d as dateTextButton,a as headerArrowButton,o as headerArrowButtonIcon};
2
2
  //# sourceMappingURL=date-navigator.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-navigator.styles.js","sources":["../../src/date-navigator/date-navigator.styles.ts"],"sourcesContent":["import { css } from \"@linaria/core\";\n\nimport { Colour, Font, Radius, Spacing } from \"../theme\";\n\nexport const container = css`\n display: flex;\n position: relative;\n align-items: center;\n justify-content: space-between;\n background-color: ${Colour[\"bg-strong\"]};\n border-radius: ${Radius[\"sm\"]};\n`;\n\nexport const headerArrowButton = css`\n margin: ${Spacing[\"spacing-8\"]};\n`;\n\nexport const headerArrowButtonIcon = css`\n color: ${Colour[\"icon\"]};\n`;\n\nexport const dateTextButton = css`\n ${Font[\"body-baseline-semibold\"]}\n color: ${Colour[\"text\"]};\n cursor: default;\n\n &:not(:disabled) {\n color: ${Colour[\"text-primary\"]};\n }\n\n &:not(:disabled):hover,\n &:not(:disabled):focus {\n outline: none;\n cursor: pointer;\n text-decoration: underline;\n text-underline-position: under;\n }\n`;\n"],"names":["container","headerArrowButton","headerArrowButtonIcon","dateTextButton"],"mappings":"0EAIO,MAAMA,EAAS,WASTC,EAAiB,WAIjBC,EAAqB,UAIrBC,EAAc"}
1
+ {"version":3,"file":"date-navigator.styles.js","sources":["../../src/date-navigator/date-navigator.styles.ts"],"sourcesContent":["import { css } from \"@linaria/core\";\n\nimport { Colour, Font, Radius, Spacing } from \"../theme\";\n\nexport const container = css`\n display: flex;\n position: relative;\n align-items: center;\n justify-content: space-between;\n background-color: ${Colour[\"bg-strong\"]};\n border-radius: ${Radius[\"sm\"]};\n`;\n\nexport const headerArrowButton = css`\n margin: ${Spacing[\"spacing-8\"]};\n`;\n\nexport const headerArrowButtonIcon = css`\n color: ${Colour[\"icon\"]};\n`;\n\nexport const dateTextButton = css`\n ${Font[\"body-baseline-semibold\"]}\n color: ${Colour[\"text\"]};\n cursor: default;\n\n &:not(:disabled) {\n color: ${Colour[\"text-primary\"]};\n }\n\n &:not(:disabled):hover,\n &:not(:disabled):focus {\n outline: none;\n cursor: pointer;\n text-decoration: underline;\n text-underline-position: under;\n }\n`;\n"],"names":["container","headerArrowButton","headerArrowButtonIcon","dateTextButton"],"mappings":"yEAIO,MAAMA,EAAS,WASTC,EAAiB,WAIjBC,EAAqB,UAIrBC,EAAc"}
@@ -0,0 +1,4 @@
1
+ @layer fds{.c1mdg68z{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:space-between;-webkit-justify-content:space-between;justify-content:space-between;background-color:var(--fds-colour-bg-strong);border-radius:var(--fds-radius-sm);}
2
+ .h1w7ufcd{margin:var(--fds-spacing-8);}
3
+ .h7gg62z{color:var(--fds-colour-icon);}
4
+ .d1pl361j{font-family:var(--fds-font-family-body);font-variant:var(--fds-font-variant);font-size:var(--fds-font-body-size-baseline);font-weight:var(--fds-font-weight-semibold);line-height:var(--fds-font-body-lh-baseline);letter-spacing:var(--fds-font-body-ls-baseline);color:var(--fds-colour-text);cursor:default;}.d1pl361j:not(:disabled){color:var(--fds-colour-text-primary);}.d1pl361j:not(:disabled):hover,.d1pl361j:not(:disabled):focus{outline:none;cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline;text-underline-position:under;}}