@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":"input-multi-select.js","sources":["../../src/input-multi-select/input-multi-select.tsx"],"sourcesContent":["import type { OpenChangeReason } from \"@floating-ui/react\";\nimport findIndex from \"lodash/findIndex\";\nimport type React from \"react\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport {\n DropdownList,\n DropdownListState,\n ExpandableElement,\n} from \"../shared/dropdown-list\";\nimport { ElementWithDropdown } from \"../shared/dropdown-wrapper\";\nimport {\n LabelContainer,\n PlaceholderLabel,\n ValueLabel,\n} from \"../shared/dropdown-wrapper/dropdown-wrapper\";\nimport { InputBox } from \"../shared/input-wrapper/input-wrapper\";\nimport { useId } from \"../util\";\nimport type { InputMultiSelectProps } from \"./types\";\n\nexport const InputMultiSelect = <T, V>({\n selectedOptions,\n placeholder = \"Select\",\n options,\n disabled,\n error,\n className,\n \"data-testid\": testId,\n id,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n \"aria-invalid\": ariaInvalid,\n enableSearch = false,\n searchFunction,\n searchPlaceholder,\n valueExtractor,\n listExtractor,\n onSelectOptions,\n onShowOptions,\n onHideOptions,\n onRetry,\n optionsLoadState = \"success\",\n optionTruncationType = \"end\",\n renderListItem,\n hideNoResultsDisplay,\n noResultsDescription,\n customLabels,\n renderCustomCallToAction,\n onBlur,\n variant = \"default\",\n readOnly,\n alignment,\n dropdownZIndex,\n maxSelectable,\n dropdownRootNode,\n dropdownWidth,\n}: InputMultiSelectProps<T, V>): JSX.Element => {\n // =============================================================================\n // CONST, STATE\n // =============================================================================\n const { allSelectedLabel, multiSelectedLabel } = customLabels || {};\n const [selected, setSelected] = useState<T[]>(selectedOptions || []);\n const [showOptions, setShowOptions] = useState<boolean>(false);\n const [focused, setFocused] = useState<boolean>(false);\n const internalId = useId();\n\n const nodeRef = useRef<HTMLDivElement>(null);\n const selectorRef = useRef<HTMLButtonElement>(null);\n\n // =============================================================================\n // EFFECTS\n // =============================================================================\n useEffect(() => {\n setSelected(selectedOptions || []);\n }, [selectedOptions]);\n\n // =============================================================================\n // EVENT HANDLERS\n // =============================================================================\n const handleSelectAllClick = () => {\n if ((selected && selected.length > 0) || maxSelectable) {\n setSelected([]);\n performOnSelectOptions([]);\n } else {\n setSelected(options);\n performOnSelectOptions(options);\n }\n };\n\n const handleListItemClick = (item: T, extractedValue: T | V) => {\n const selectedCopy = [...selected];\n\n // Check if it is a selection or deselection\n const itemIndex = findIndex(selected, (item) => {\n const valueToCompare = valueExtractor ? valueExtractor(item) : item;\n return valueToCompare === extractedValue;\n });\n\n if (itemIndex > -1) {\n // Item exists in selected. This indicates a deselection\n selectedCopy.splice(itemIndex, 1);\n } else {\n // Item does not exist in selected. This indicates a selection\n selectedCopy.push(item);\n }\n\n setSelected(selectedCopy);\n performOnSelectOptions(selectedCopy);\n };\n\n const handleListDismiss = () => {\n if (showOptions) {\n setShowOptions(false);\n triggerOptionDisplayCallback(false);\n }\n };\n\n const handleNodeFocus = () => {\n if (!focused && !showOptions) {\n setFocused(true);\n }\n };\n\n const handleNodeBlur = (e: React.FocusEvent) => {\n if (\n focused &&\n !showOptions &&\n nodeRef.current &&\n !nodeRef.current.contains(e.relatedTarget as Node)\n ) {\n setFocused(false);\n onBlur?.();\n }\n };\n\n const handleOpen = () => {\n setShowOptions(true);\n triggerOptionDisplayCallback(true);\n setFocused(true);\n };\n\n const handleClose = (reason: OpenChangeReason | undefined) => {\n setShowOptions(false);\n triggerOptionDisplayCallback(false);\n\n // click to toggle should not blur the input\n if (reason !== \"click\") {\n setFocused(false);\n onBlur?.();\n }\n };\n\n const handleDismiss = () => {\n selectorRef.current?.focus();\n setShowOptions(false);\n triggerOptionDisplayCallback(false);\n };\n\n // =============================================================================\n // HELPER FUNCTION\n // =============================================================================\n const getDisplayValue = () => {\n if (options && selected.length === options.length) {\n return allSelectedLabel || \"All selected\";\n }\n\n return multiSelectedLabel || `${selected.length} selected`;\n };\n\n const triggerOptionDisplayCallback = (show: boolean) => {\n if (!show && onHideOptions) {\n onHideOptions();\n }\n\n if (show && onShowOptions) {\n onShowOptions();\n }\n };\n\n const performOnSelectOptions = (options: T[]) => {\n if (onSelectOptions) {\n onSelectOptions(options);\n }\n };\n\n // =============================================================================\n // RENDER FUNCTIONS\n // =============================================================================\n const renderLabel = () => {\n if (!selected || selected.length === 0) {\n return (\n <PlaceholderLabel\n variant={variant}\n truncateType={optionTruncationType}\n >\n {placeholder}\n </PlaceholderLabel>\n );\n } else {\n return (\n <ValueLabel\n variant={variant}\n truncateType={optionTruncationType}\n >\n {getDisplayValue()}\n </ValueLabel>\n );\n }\n };\n\n const renderSelectorContent = () => (\n <LabelContainer disabled={disabled}>{renderLabel()}</LabelContainer>\n );\n\n const renderElement = () => {\n return (\n <InputBox\n className={className}\n data-testid={testId}\n id={id}\n ref={nodeRef}\n tabIndex={-1}\n onFocus={handleNodeFocus}\n onBlur={handleNodeBlur}\n focused={focused}\n disabled={disabled}\n readOnly={readOnly}\n error={error}\n >\n <ExpandableElement\n ref={selectorRef}\n disabled={disabled}\n expanded={showOptions}\n listboxId={internalId}\n popupRole=\"listbox\"\n readOnly={readOnly}\n variant={variant}\n aria-labelledby={ariaLabelledBy}\n aria-describedby={ariaDescribedBy}\n aria-invalid={ariaInvalid}\n >\n {renderSelectorContent()}\n </ExpandableElement>\n </InputBox>\n );\n };\n\n const renderDropdown = () => {\n return (\n <DropdownList\n listboxId={internalId}\n listItems={options}\n onSelectItem={handleListItemClick}\n onDismiss={handleListDismiss}\n valueExtractor={valueExtractor}\n listExtractor={listExtractor}\n enableSearch={enableSearch}\n searchFunction={searchFunction}\n searchPlaceholder={searchPlaceholder}\n multiSelect\n maxSelectable={maxSelectable}\n selectedItems={selected}\n onSelectAll={handleSelectAllClick}\n onRetry={onRetry}\n itemsLoadState={optionsLoadState}\n itemTruncationType={optionTruncationType}\n renderListItem={renderListItem}\n hideNoResultsDisplay={hideNoResultsDisplay}\n noResultsDescription={noResultsDescription}\n customLabels={customLabels}\n renderCustomCallToAction={renderCustomCallToAction}\n variant={variant}\n width={dropdownWidth}\n matchElementWidth\n />\n );\n };\n\n return (\n <DropdownListState>\n <ElementWithDropdown\n enabled={!readOnly && !disabled}\n isOpen={showOptions}\n renderElement={renderElement}\n renderDropdown={renderDropdown}\n onOpen={handleOpen}\n onClose={handleClose}\n onDismiss={handleDismiss}\n clickToToggle\n offset={8}\n alignment={alignment}\n fitAvailableHeight\n customZIndex={dropdownZIndex}\n rootNode={dropdownRootNode}\n />\n </DropdownListState>\n );\n};\n"],"names":["InputMultiSelect","selectedOptions","placeholder","options","disabled","error","className","testId","id","ariaLabelledBy","ariaDescribedBy","ariaInvalid","enableSearch","searchFunction","searchPlaceholder","valueExtractor","listExtractor","onSelectOptions","onShowOptions","onHideOptions","onRetry","optionsLoadState","optionTruncationType","renderListItem","hideNoResultsDisplay","noResultsDescription","customLabels","renderCustomCallToAction","onBlur","variant","readOnly","alignment","dropdownZIndex","maxSelectable","dropdownRootNode","dropdownWidth","allSelectedLabel","multiSelectedLabel","selected","setSelected","useState","showOptions","setShowOptions","focused","setFocused","internalId","useId","nodeRef","useRef","selectorRef","useEffect","handleSelectAllClick","length","performOnSelectOptions","handleListItemClick","item","extractedValue","selectedCopy","itemIndex","findIndex","splice","push","handleListDismiss","triggerOptionDisplayCallback","handleNodeFocus","handleNodeBlur","e","current","contains","relatedTarget","show","_jsx","DropdownListState","children","ElementWithDropdown","enabled","isOpen","renderElement","InputBox","ref","tabIndex","onFocus","ExpandableElement","expanded","listboxId","popupRole","LabelContainer","ValueLabel","truncateType","PlaceholderLabel","renderDropdown","DropdownList","listItems","onSelectItem","onDismiss","multiSelect","selectedItems","onSelectAll","itemsLoadState","itemTruncationType","width","matchElementWidth","onOpen","onClose","reason","_a","focus","clickToToggle","offset","fitAvailableHeight","customZIndex","rootNode"],"mappings":"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"}
1
+ {"version":3,"file":"input-multi-select.js","sources":["../../src/input-multi-select/input-multi-select.tsx"],"sourcesContent":["import type { OpenChangeReason } from \"@floating-ui/react\";\nimport findIndex from \"lodash/findIndex\";\nimport type React from \"react\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport {\n DropdownList,\n DropdownListState,\n ExpandableElement,\n} from \"../shared/dropdown-list\";\nimport { ElementWithDropdown } from \"../shared/dropdown-wrapper\";\nimport {\n LabelContainer,\n PlaceholderLabel,\n ValueLabel,\n} from \"../shared/dropdown-wrapper/dropdown-wrapper\";\nimport { InputBox } from \"../shared/input-wrapper/input-wrapper\";\nimport { useId } from \"../util\";\nimport type { InputMultiSelectProps } from \"./types\";\n\nexport const InputMultiSelect = <T, V>({\n selectedOptions,\n placeholder = \"Select\",\n options,\n disabled,\n error,\n className,\n \"data-testid\": testId,\n id,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n \"aria-invalid\": ariaInvalid,\n enableSearch = false,\n searchFunction,\n searchPlaceholder,\n valueExtractor,\n listExtractor,\n onSelectOptions,\n onShowOptions,\n onHideOptions,\n onRetry,\n optionsLoadState = \"success\",\n optionTruncationType = \"end\",\n renderListItem,\n hideNoResultsDisplay,\n noResultsDescription,\n customLabels,\n renderCustomCallToAction,\n onBlur,\n variant = \"default\",\n readOnly,\n alignment,\n dropdownZIndex,\n maxSelectable,\n dropdownRootNode,\n dropdownWidth,\n}: InputMultiSelectProps<T, V>): JSX.Element => {\n // =============================================================================\n // CONST, STATE\n // =============================================================================\n const { allSelectedLabel, multiSelectedLabel } = customLabels || {};\n const [selected, setSelected] = useState<T[]>(selectedOptions || []);\n const [showOptions, setShowOptions] = useState<boolean>(false);\n const [focused, setFocused] = useState<boolean>(false);\n const internalId = useId();\n\n const nodeRef = useRef<HTMLDivElement>(null);\n const selectorRef = useRef<HTMLButtonElement>(null);\n\n // =============================================================================\n // EFFECTS\n // =============================================================================\n useEffect(() => {\n setSelected(selectedOptions || []);\n }, [selectedOptions]);\n\n // =============================================================================\n // EVENT HANDLERS\n // =============================================================================\n const handleSelectAllClick = () => {\n if ((selected && selected.length > 0) || maxSelectable) {\n setSelected([]);\n performOnSelectOptions([]);\n } else {\n setSelected(options);\n performOnSelectOptions(options);\n }\n };\n\n const handleListItemClick = (item: T, extractedValue: T | V) => {\n const selectedCopy = [...selected];\n\n // Check if it is a selection or deselection\n const itemIndex = findIndex(selected, (item) => {\n const valueToCompare = valueExtractor ? valueExtractor(item) : item;\n return valueToCompare === extractedValue;\n });\n\n if (itemIndex > -1) {\n // Item exists in selected. This indicates a deselection\n selectedCopy.splice(itemIndex, 1);\n } else {\n // Item does not exist in selected. This indicates a selection\n selectedCopy.push(item);\n }\n\n setSelected(selectedCopy);\n performOnSelectOptions(selectedCopy);\n };\n\n const handleListDismiss = () => {\n if (showOptions) {\n setShowOptions(false);\n triggerOptionDisplayCallback(false);\n }\n };\n\n const handleNodeFocus = () => {\n if (!focused && !showOptions) {\n setFocused(true);\n }\n };\n\n const handleNodeBlur = (e: React.FocusEvent) => {\n if (\n focused &&\n !showOptions &&\n nodeRef.current &&\n !nodeRef.current.contains(e.relatedTarget as Node)\n ) {\n setFocused(false);\n onBlur?.();\n }\n };\n\n const handleOpen = () => {\n setShowOptions(true);\n triggerOptionDisplayCallback(true);\n setFocused(true);\n };\n\n const handleClose = (reason: OpenChangeReason | undefined) => {\n setShowOptions(false);\n triggerOptionDisplayCallback(false);\n\n // click to toggle should not blur the input\n if (reason !== \"click\") {\n setFocused(false);\n onBlur?.();\n }\n };\n\n const handleDismiss = () => {\n selectorRef.current?.focus();\n setShowOptions(false);\n triggerOptionDisplayCallback(false);\n };\n\n // =============================================================================\n // HELPER FUNCTION\n // =============================================================================\n const getDisplayValue = () => {\n if (options && selected.length === options.length) {\n return allSelectedLabel || \"All selected\";\n }\n\n return multiSelectedLabel || `${selected.length} selected`;\n };\n\n const triggerOptionDisplayCallback = (show: boolean) => {\n if (!show && onHideOptions) {\n onHideOptions();\n }\n\n if (show && onShowOptions) {\n onShowOptions();\n }\n };\n\n const performOnSelectOptions = (options: T[]) => {\n if (onSelectOptions) {\n onSelectOptions(options);\n }\n };\n\n // =============================================================================\n // RENDER FUNCTIONS\n // =============================================================================\n const renderLabel = () => {\n if (!selected || selected.length === 0) {\n return (\n <PlaceholderLabel\n variant={variant}\n truncateType={optionTruncationType}\n >\n {placeholder}\n </PlaceholderLabel>\n );\n } else {\n return (\n <ValueLabel\n variant={variant}\n truncateType={optionTruncationType}\n >\n {getDisplayValue()}\n </ValueLabel>\n );\n }\n };\n\n const renderSelectorContent = () => (\n <LabelContainer disabled={disabled}>{renderLabel()}</LabelContainer>\n );\n\n const renderElement = () => {\n return (\n <InputBox\n className={className}\n data-testid={testId}\n id={id}\n ref={nodeRef}\n tabIndex={-1}\n onFocus={handleNodeFocus}\n onBlur={handleNodeBlur}\n focused={focused}\n disabled={disabled}\n readOnly={readOnly}\n error={error}\n >\n <ExpandableElement\n ref={selectorRef}\n disabled={disabled}\n expanded={showOptions}\n listboxId={internalId}\n popupRole=\"listbox\"\n readOnly={readOnly}\n variant={variant}\n aria-labelledby={ariaLabelledBy}\n aria-describedby={ariaDescribedBy}\n aria-invalid={ariaInvalid}\n >\n {renderSelectorContent()}\n </ExpandableElement>\n </InputBox>\n );\n };\n\n const renderDropdown = () => {\n return (\n <DropdownList\n listboxId={internalId}\n listItems={options}\n onSelectItem={handleListItemClick}\n onDismiss={handleListDismiss}\n valueExtractor={valueExtractor}\n listExtractor={listExtractor}\n enableSearch={enableSearch}\n searchFunction={searchFunction}\n searchPlaceholder={searchPlaceholder}\n multiSelect\n maxSelectable={maxSelectable}\n selectedItems={selected}\n onSelectAll={handleSelectAllClick}\n onRetry={onRetry}\n itemsLoadState={optionsLoadState}\n itemTruncationType={optionTruncationType}\n renderListItem={renderListItem}\n hideNoResultsDisplay={hideNoResultsDisplay}\n noResultsDescription={noResultsDescription}\n customLabels={customLabels}\n renderCustomCallToAction={renderCustomCallToAction}\n variant={variant}\n width={dropdownWidth}\n matchElementWidth\n />\n );\n };\n\n return (\n <DropdownListState>\n <ElementWithDropdown\n enabled={!readOnly && !disabled}\n isOpen={showOptions}\n renderElement={renderElement}\n renderDropdown={renderDropdown}\n onOpen={handleOpen}\n onClose={handleClose}\n onDismiss={handleDismiss}\n clickToToggle\n offset={8}\n alignment={alignment}\n fitAvailableHeight\n customZIndex={dropdownZIndex}\n rootNode={dropdownRootNode}\n />\n </DropdownListState>\n );\n};\n"],"names":["InputMultiSelect","selectedOptions","placeholder","options","disabled","error","className","testId","id","ariaLabelledBy","ariaDescribedBy","ariaInvalid","enableSearch","searchFunction","searchPlaceholder","valueExtractor","listExtractor","onSelectOptions","onShowOptions","onHideOptions","onRetry","optionsLoadState","optionTruncationType","renderListItem","hideNoResultsDisplay","noResultsDescription","customLabels","renderCustomCallToAction","onBlur","variant","readOnly","alignment","dropdownZIndex","maxSelectable","dropdownRootNode","dropdownWidth","allSelectedLabel","multiSelectedLabel","selected","setSelected","useState","showOptions","setShowOptions","focused","setFocused","internalId","useId","nodeRef","useRef","selectorRef","useEffect","handleSelectAllClick","length","performOnSelectOptions","handleListItemClick","item","extractedValue","selectedCopy","itemIndex","findIndex","splice","push","handleListDismiss","triggerOptionDisplayCallback","handleNodeFocus","handleNodeBlur","e","current","contains","relatedTarget","show","_jsx","DropdownListState","children","ElementWithDropdown","enabled","isOpen","renderElement","InputBox","ref","tabIndex","onFocus","ExpandableElement","expanded","listboxId","popupRole","LabelContainer","ValueLabel","truncateType","PlaceholderLabel","renderDropdown","DropdownList","listItems","onSelectItem","onDismiss","multiSelect","selectedItems","onSelectAll","itemsLoadState","itemTruncationType","width","matchElementWidth","onOpen","onClose","reason","_a","focus","clickToToggle","offset","fitAvailableHeight","customZIndex","rootNode"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{jsx as e}from"react/jsx-runtime";import t from"../external/lodash/isEmpty.js";import r from"../external/lodash/isEqual.js";import{useState as o,useRef as n,useEffect as i}from"react";import"clsx";import"../theme/theme-provider/index.js";import"../theme/theme-provider/context.js";import"../theme/tokens/border.js";import"../theme/tokens/colour.js";import"../theme/tokens/font.js";import"../theme/tokens/media-query.js";import"../util/calendar-helper.js";import"../external/dayjs/dayjs.min.js";import{useId as l}from"../util/simple-id-generator.js";import{StringHelper as a}from"../util/string-helper.js";import"@react-aria/live-announcer";import"../theme/utils/use-media-query.js";import"../shared/dropdown-list/dropdown-label.styles_1dwmd8f.css";import"../shared/dropdown-list/dropdown-list.js";import"../shared/dropdown-list/dropdown-list-state.js";import{ExpandableElement as s}from"../shared/dropdown-list/expandable-element.js";import{NestedDropdownList as d}from"../shared/dropdown-list/nested-dropdown-list.js";import{buildKeyPathToSet as p}from"../shared/dropdown-list/nested-dropdown-list-helpers.js";import{ElementWithDropdown as m}from"../shared/dropdown-wrapper/element-with-dropdown.js";import{LabelContainer as c,PlaceholderLabel as h,ValueLabel as u}from"../shared/dropdown-wrapper/dropdown-wrapper.js";import{InputBox as y}from"../shared/input-wrapper/input-wrapper.js";import{getSelectedItems as b,getSelectedSubItems as f}from"./helpers.js";const w=({placeholder:w="Select",options:j,disabled:k,error:v,className:P,"data-testid":S,id:x,"aria-labelledby":g,"aria-describedby":T,"aria-invalid":I,selectedKeyPaths:O,mode:R,valueToStringFunction:D,enableSearch:L,searchPlaceholder:N,hideNoResultsDisplay:E,noResultsDescription:A,customLabels:_,readOnly:q,onSearch:B,onSelectOptions:C,onShowOptions:H,onHideOptions:F,onRetry:K,onBlur:W,optionsLoadState:Z="success",optionTruncationType:G="end",variant:M="default",alignment:$,dropdownZIndex:z,dropdownWidth:J,dropdownRootNode:Q})=>{const{multiSelectedLabel:U}=_||{},V=j,[X,Y]=o(O?p(O):new Set),[ee,te]=o([]),[re,oe]=o(!1),[ne,ie]=o(!1),le=l(),ae=n(null),se=n(null),de=n(null);i((()=>{const e=O||[],t=b(V,e);Y(p(e)),te(t)}),[O,V]);const pe=(e,t)=>{const r=t.map((e=>({keyPath:e.keyPath,label:e.item.label,value:e.item.value})));Y(p(e)),te(r),fe(e,r)},me=e=>{const t=we(e),r=t.map((e=>e.keyPath));te(t),Y(p(r)),fe(r,t)},ce=()=>{ne||re||ie(!0)},he=e=>{ne&&!re&&ae.current&&!ae.current.contains(e.relatedTarget)&&(ie(!1),null==W||W())},ue=()=>{if(ee.length>1)return U||`${ee.length} selected`;const{label:e,value:t}=ee[0];return D?D(t):e},ye=e=>{if("middle"===G){let t=0;return de&&de.current&&(t=de.current.getBoundingClientRect().width),a.truncateOneLine(e,t,120,6)}return e},be=e=>{!e&&F&&F(),e&&H&&H()},fe=(e,t)=>{if(C){const r=t.map((e=>e.value));C(e,r)}},we=e=>{if(!0===e.checked)return ee.filter((t=>{const o=t.keyPath.slice(0,e.keyPath.length);return!r(e.keyPath,o)}));{const t=[...ee];return(e.hasSubItems?f(V,e.keyPath):[{value:e.item.value,label:e.item.label,keyPath:e.keyPath}]).forEach((e=>{ee.find((t=>r(t.keyPath,e.keyPath)))||t.push(e)})),t}};return e(m,{enabled:!q&&!k,isOpen:re,renderElement:()=>e(y,{className:P,"data-testid":S,id:x,ref:ae,tabIndex:-1,onFocus:ce,onBlur:he,focused:ne,disabled:k,readOnly:q,error:v,children:e(s,{ref:se,disabled:k,expanded:re,listboxId:le,popupRole:"tree",readOnly:q,variant:M,"aria-labelledby":g,"aria-describedby":T,"aria-invalid":I,children:e(c,{ref:de,disabled:k,children:t(ee)?e(h,{truncateType:G,children:w}):e(u,{truncateType:G,children:ye(ue())})})})}),renderDropdown:()=>e(d,{listboxId:le,listItems:V,multiSelect:!0,selectedKeyPaths:X,itemsLoadState:Z,itemTruncationType:G,enableSearch:L,searchPlaceholder:N,hideNoResultsDisplay:E,noResultsDescription:A,customLabels:_,onSelectItem:me,onSelectAll:pe,onRetry:K,onSearch:B,variant:M,mode:R,width:J,matchElementWidth:!0}),onOpen:()=>{oe(!0),be(!0),ie(!0)},onClose:e=>{oe(!1),be(!1),"click"!==e&&(ie(!1),null==W||W())},onDismiss:()=>{var e;null===(e=se.current)||void 0===e||e.focus(),oe(!1),be(!1)},clickToToggle:!0,offset:8,alignment:$,fitAvailableHeight:!0,customZIndex:z,rootNode:Q})};export{w as InputNestedMultiSelect};
1
+ import{jsx as e}from"react/jsx-runtime";import t from"../external/lodash/isEmpty.js";import r from"../external/lodash/isEqual.js";import{useState as o,useRef as n,useEffect as i}from"react";import"clsx";import"../theme/theme-provider/index.js";import"../theme/theme-provider/context.js";import"../theme/tokens/border.js";import"../theme/tokens/colour.js";import"../theme/tokens/font.js";import"../theme/tokens/media-query.js";import"../util/calendar-helper.js";import"../external/dayjs/dayjs.min.js";import{useId as l}from"../util/simple-id-generator.js";import{StringHelper as a}from"../util/string-helper.js";import"@react-aria/live-announcer";import"../theme/utils/use-media-query.js";import"../shared/dropdown-list/dropdown-label.styles_mloii0.css";import"../shared/dropdown-list/dropdown-list.js";import"../shared/dropdown-list/dropdown-list-state.js";import{ExpandableElement as s}from"../shared/dropdown-list/expandable-element.js";import{NestedDropdownList as d}from"../shared/dropdown-list/nested-dropdown-list.js";import{buildKeyPathToSet as p}from"../shared/dropdown-list/nested-dropdown-list-helpers.js";import{ElementWithDropdown as m}from"../shared/dropdown-wrapper/element-with-dropdown.js";import{LabelContainer as c,PlaceholderLabel as h,ValueLabel as u}from"../shared/dropdown-wrapper/dropdown-wrapper.js";import{InputBox as y}from"../shared/input-wrapper/input-wrapper.js";import{getSelectedItems as b,getSelectedSubItems as f}from"./helpers.js";const w=({placeholder:w="Select",options:j,disabled:k,error:v,className:P,"data-testid":S,id:x,"aria-labelledby":g,"aria-describedby":T,"aria-invalid":I,selectedKeyPaths:O,mode:R,valueToStringFunction:D,enableSearch:L,searchPlaceholder:N,hideNoResultsDisplay:E,noResultsDescription:A,customLabels:_,readOnly:q,onSearch:B,onSelectOptions:C,onShowOptions:H,onHideOptions:F,onRetry:K,onBlur:W,optionsLoadState:Z="success",optionTruncationType:G="end",variant:M="default",alignment:$,dropdownZIndex:z,dropdownWidth:J,dropdownRootNode:Q})=>{const{multiSelectedLabel:U}=_||{},V=j,[X,Y]=o(O?p(O):new Set),[ee,te]=o([]),[re,oe]=o(!1),[ne,ie]=o(!1),le=l(),ae=n(null),se=n(null),de=n(null);i((()=>{const e=O||[],t=b(V,e);Y(p(e)),te(t)}),[O,V]);const pe=(e,t)=>{const r=t.map((e=>({keyPath:e.keyPath,label:e.item.label,value:e.item.value})));Y(p(e)),te(r),fe(e,r)},me=e=>{const t=we(e),r=t.map((e=>e.keyPath));te(t),Y(p(r)),fe(r,t)},ce=()=>{ne||re||ie(!0)},he=e=>{ne&&!re&&ae.current&&!ae.current.contains(e.relatedTarget)&&(ie(!1),null==W||W())},ue=()=>{if(ee.length>1)return U||`${ee.length} selected`;const{label:e,value:t}=ee[0];return D?D(t):e},ye=e=>{if("middle"===G){let t=0;return de&&de.current&&(t=de.current.getBoundingClientRect().width),a.truncateOneLine(e,t,120,6)}return e},be=e=>{!e&&F&&F(),e&&H&&H()},fe=(e,t)=>{if(C){const r=t.map((e=>e.value));C(e,r)}},we=e=>{if(!0===e.checked)return ee.filter((t=>{const o=t.keyPath.slice(0,e.keyPath.length);return!r(e.keyPath,o)}));{const t=[...ee];return(e.hasSubItems?f(V,e.keyPath):[{value:e.item.value,label:e.item.label,keyPath:e.keyPath}]).forEach((e=>{ee.find((t=>r(t.keyPath,e.keyPath)))||t.push(e)})),t}};return e(m,{enabled:!q&&!k,isOpen:re,renderElement:()=>e(y,{className:P,"data-testid":S,id:x,ref:ae,tabIndex:-1,onFocus:ce,onBlur:he,focused:ne,disabled:k,readOnly:q,error:v,children:e(s,{ref:se,disabled:k,expanded:re,listboxId:le,popupRole:"tree",readOnly:q,variant:M,"aria-labelledby":g,"aria-describedby":T,"aria-invalid":I,children:e(c,{ref:de,disabled:k,children:t(ee)?e(h,{truncateType:G,children:w}):e(u,{truncateType:G,children:ye(ue())})})})}),renderDropdown:()=>e(d,{listboxId:le,listItems:V,multiSelect:!0,selectedKeyPaths:X,itemsLoadState:Z,itemTruncationType:G,enableSearch:L,searchPlaceholder:N,hideNoResultsDisplay:E,noResultsDescription:A,customLabels:_,onSelectItem:me,onSelectAll:pe,onRetry:K,onSearch:B,variant:M,mode:R,width:J,matchElementWidth:!0}),onOpen:()=>{oe(!0),be(!0),ie(!0)},onClose:e=>{oe(!1),be(!1),"click"!==e&&(ie(!1),null==W||W())},onDismiss:()=>{var e;null===(e=se.current)||void 0===e||e.focus(),oe(!1),be(!1)},clickToToggle:!0,offset:8,alignment:$,fitAvailableHeight:!0,customZIndex:z,rootNode:Q})};export{w as InputNestedMultiSelect};
2
2
  //# sourceMappingURL=input-nested-multi-select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-nested-multi-select.js","sources":["../../src/input-nested-multi-select/input-nested-multi-select.tsx"],"sourcesContent":["import type { OpenChangeReason } from \"@floating-ui/react\";\nimport isEmpty from \"lodash/isEmpty\";\nimport isEqual from \"lodash/isEqual\";\nimport type React from \"react\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport type {\n NestedDropdownListItemProps,\n NestedDropdownListLocalItem,\n} from \"../shared/dropdown-list\";\nimport {\n buildKeyPathToSet,\n ExpandableElement,\n NestedDropdownList,\n} from \"../shared/dropdown-list\";\nimport { ElementWithDropdown } from \"../shared/dropdown-wrapper\";\nimport {\n LabelContainer,\n PlaceholderLabel,\n ValueLabel,\n} from \"../shared/dropdown-wrapper/dropdown-wrapper\";\nimport { InputBox } from \"../shared/input-wrapper/input-wrapper\";\nimport { StringHelper, useId } from \"../util\";\nimport type { SelectedItem } from \"./helpers\";\nimport { getSelectedItems, getSelectedSubItems } from \"./helpers\";\nimport type { InputNestedMultiSelectProps } from \"./types\";\n\nexport const InputNestedMultiSelect = <V1, V2, V3>({\n placeholder = \"Select\",\n options: _options,\n disabled,\n error,\n className,\n \"data-testid\": testId,\n id,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n \"aria-invalid\": ariaInvalid,\n selectedKeyPaths: _selectedKeyPaths,\n mode,\n valueToStringFunction,\n enableSearch,\n searchPlaceholder,\n hideNoResultsDisplay,\n noResultsDescription,\n customLabels,\n readOnly,\n onSearch,\n onSelectOptions,\n onShowOptions,\n onHideOptions,\n onRetry,\n onBlur,\n optionsLoadState = \"success\",\n optionTruncationType = \"end\",\n variant = \"default\",\n alignment,\n dropdownZIndex,\n dropdownWidth,\n dropdownRootNode,\n}: InputNestedMultiSelectProps<V1, V2, V3>): JSX.Element => {\n // =========================================================================\n // CONST, STATE\n // =========================================================================\n const { multiSelectedLabel } = customLabels || {};\n const options = _options as NestedDropdownListItemProps<V1 | V2 | V3>[];\n const [selectedKeyPaths, setSelectedKeyPaths] = useState<Set<string>>(\n _selectedKeyPaths\n ? buildKeyPathToSet(_selectedKeyPaths)\n : new Set<string>()\n );\n const [selectedItems, setSelectedItems] = useState<\n SelectedItem<V1 | V2 | V3>[]\n >([]);\n\n const [showOptions, setShowOptions] = useState<boolean>(false);\n const [focused, setFocused] = useState<boolean>(false);\n const internalId = useId();\n\n const nodeRef = useRef<HTMLDivElement>(null);\n const selectorRef = useRef<HTMLButtonElement>(null);\n const labelContainerRef = useRef<HTMLDivElement>(null);\n\n // =========================================================================\n // EFFECTS\n // =========================================================================\n useEffect(() => {\n const newKeyPath = _selectedKeyPaths || [];\n const selectedItems = getSelectedItems(options, newKeyPath);\n\n setSelectedKeyPaths(buildKeyPathToSet(newKeyPath));\n setSelectedItems(selectedItems);\n }, [_selectedKeyPaths, options]);\n\n // =========================================================================\n // EVENT HANDLERS\n // =========================================================================\n const handleSelectAll = (\n keyPaths: string[][],\n items: NestedDropdownListLocalItem<V1 | V2 | V3>[]\n ) => {\n const selectedItems = items.map((item) => ({\n keyPath: item.keyPath,\n label: item.item.label,\n value: item.item.value,\n }));\n setSelectedKeyPaths(buildKeyPathToSet(keyPaths));\n setSelectedItems(selectedItems);\n performOnSelectOptions(keyPaths, selectedItems);\n };\n\n const handleListItemClick = (\n listItem: NestedDropdownListLocalItem<V1 | V2 | V3>\n ) => {\n const newSelectedItems: SelectedItem<V1 | V2 | V3>[] =\n getNewSelection(listItem);\n const newKeyPaths = newSelectedItems.map((item) => item.keyPath);\n setSelectedItems(newSelectedItems);\n setSelectedKeyPaths(buildKeyPathToSet(newKeyPaths));\n performOnSelectOptions(newKeyPaths, newSelectedItems);\n };\n\n const handleNodeFocus = () => {\n if (!focused && !showOptions) {\n setFocused(true);\n }\n };\n\n const handleNodeBlur = (e: React.FocusEvent) => {\n if (\n focused &&\n !showOptions &&\n nodeRef.current &&\n !nodeRef.current.contains(e.relatedTarget as Node)\n ) {\n setFocused(false);\n onBlur?.();\n }\n };\n\n const handleOpen = () => {\n setShowOptions(true);\n triggerOptionDisplayCallback(true);\n setFocused(true);\n };\n\n const handleClose = (reason: OpenChangeReason | undefined) => {\n setShowOptions(false);\n triggerOptionDisplayCallback(false);\n\n // click to toggle should not blur the input\n if (reason !== \"click\") {\n setFocused(false);\n onBlur?.();\n }\n };\n\n const handleDismiss = () => {\n selectorRef.current?.focus();\n setShowOptions(false);\n triggerOptionDisplayCallback(false);\n };\n\n // =========================================================================\n // HELPER FUNCTION\n // =========================================================================\n const getDisplayValue = (): string => {\n if (selectedItems.length > 1) {\n return multiSelectedLabel || `${selectedItems.length} selected`;\n }\n\n const { label, value } = selectedItems[0];\n if (valueToStringFunction) {\n return valueToStringFunction(value);\n } else {\n return label;\n }\n };\n\n const truncateValue = (value: string) => {\n if (optionTruncationType === \"middle\") {\n let widthOfElement = 0;\n if (labelContainerRef && labelContainerRef.current) {\n widthOfElement =\n labelContainerRef.current.getBoundingClientRect().width;\n }\n return StringHelper.truncateOneLine(value, widthOfElement, 120, 6);\n }\n\n return value;\n };\n\n const triggerOptionDisplayCallback = (show: boolean) => {\n if (!show && onHideOptions) {\n onHideOptions();\n }\n\n if (show && onShowOptions) {\n onShowOptions();\n }\n };\n\n const performOnSelectOptions = (\n keyPaths: string[][],\n items: SelectedItem<V1 | V2 | V3>[]\n ) => {\n if (onSelectOptions) {\n const returnValue = items.map((item) => item.value);\n onSelectOptions(keyPaths, returnValue);\n }\n };\n\n const getNewSelection = (\n item: NestedDropdownListLocalItem<V1 | V2 | V3>\n ): SelectedItem<V1 | V2 | V3>[] => {\n if (item.checked === true) {\n // remove item or subitems\n return selectedItems.filter((selectedItem) => {\n const ancestorKeyPath = selectedItem.keyPath.slice(\n 0,\n item.keyPath.length\n );\n return !isEqual(item.keyPath, ancestorKeyPath);\n });\n } else {\n // select item or all subitems\n const nextSelection = [...selectedItems];\n const newItemsToAdd = item.hasSubItems\n ? getSelectedSubItems(options, item.keyPath)\n : [\n {\n value: item.item.value,\n label: item.item.label,\n keyPath: item.keyPath,\n },\n ];\n newItemsToAdd.forEach((addedItem) => {\n if (\n !selectedItems.find((selectedItem) =>\n isEqual(selectedItem.keyPath, addedItem.keyPath)\n )\n ) {\n nextSelection.push(addedItem);\n }\n });\n return nextSelection;\n }\n };\n\n // =========================================================================\n // RENDER FUNCTION\n // =========================================================================\n const renderLabel = () => {\n if (isEmpty(selectedItems)) {\n return (\n <PlaceholderLabel truncateType={optionTruncationType}>\n {placeholder}\n </PlaceholderLabel>\n );\n } else {\n return (\n <ValueLabel truncateType={optionTruncationType}>\n {truncateValue(getDisplayValue())}\n </ValueLabel>\n );\n }\n };\n\n const renderSelectorContent = () => (\n <LabelContainer ref={labelContainerRef} disabled={disabled}>\n {renderLabel()}\n </LabelContainer>\n );\n\n const renderElement = () => {\n return (\n <InputBox\n className={className}\n data-testid={testId}\n id={id}\n ref={nodeRef}\n tabIndex={-1}\n onFocus={handleNodeFocus}\n onBlur={handleNodeBlur}\n focused={focused}\n disabled={disabled}\n readOnly={readOnly}\n error={error}\n >\n <ExpandableElement\n ref={selectorRef}\n disabled={disabled}\n expanded={showOptions}\n listboxId={internalId}\n popupRole=\"tree\"\n readOnly={readOnly}\n variant={variant}\n aria-labelledby={ariaLabelledBy}\n aria-describedby={ariaDescribedBy}\n aria-invalid={ariaInvalid}\n >\n {renderSelectorContent()}\n </ExpandableElement>\n </InputBox>\n );\n };\n\n const renderDropdown = () => {\n return (\n <NestedDropdownList\n listboxId={internalId}\n listItems={options}\n multiSelect\n selectedKeyPaths={selectedKeyPaths}\n itemsLoadState={optionsLoadState}\n itemTruncationType={optionTruncationType}\n enableSearch={enableSearch}\n searchPlaceholder={searchPlaceholder}\n hideNoResultsDisplay={hideNoResultsDisplay}\n noResultsDescription={noResultsDescription}\n customLabels={customLabels}\n onSelectItem={handleListItemClick}\n onSelectAll={handleSelectAll}\n onRetry={onRetry}\n onSearch={onSearch}\n variant={variant}\n mode={mode}\n width={dropdownWidth}\n matchElementWidth\n />\n );\n };\n\n return (\n <ElementWithDropdown\n enabled={!readOnly && !disabled}\n isOpen={showOptions}\n renderElement={renderElement}\n renderDropdown={renderDropdown}\n onOpen={handleOpen}\n onClose={handleClose}\n onDismiss={handleDismiss}\n clickToToggle\n offset={8}\n alignment={alignment}\n fitAvailableHeight\n customZIndex={dropdownZIndex}\n rootNode={dropdownRootNode}\n />\n );\n};\n"],"names":["InputNestedMultiSelect","placeholder","options","_options","disabled","error","className","testId","id","ariaLabelledBy","ariaDescribedBy","ariaInvalid","selectedKeyPaths","_selectedKeyPaths","mode","valueToStringFunction","enableSearch","searchPlaceholder","hideNoResultsDisplay","noResultsDescription","customLabels","readOnly","onSearch","onSelectOptions","onShowOptions","onHideOptions","onRetry","onBlur","optionsLoadState","optionTruncationType","variant","alignment","dropdownZIndex","dropdownWidth","dropdownRootNode","multiSelectedLabel","setSelectedKeyPaths","useState","buildKeyPathToSet","Set","selectedItems","setSelectedItems","showOptions","setShowOptions","focused","setFocused","internalId","useId","nodeRef","useRef","selectorRef","labelContainerRef","useEffect","newKeyPath","getSelectedItems","handleSelectAll","keyPaths","items","map","item","keyPath","label","value","performOnSelectOptions","handleListItemClick","listItem","newSelectedItems","getNewSelection","newKeyPaths","handleNodeFocus","handleNodeBlur","e","current","contains","relatedTarget","getDisplayValue","length","truncateValue","widthOfElement","getBoundingClientRect","width","StringHelper","truncateOneLine","triggerOptionDisplayCallback","show","returnValue","checked","filter","selectedItem","ancestorKeyPath","slice","isEqual","nextSelection","hasSubItems","getSelectedSubItems","forEach","addedItem","find","push","_jsx","ElementWithDropdown","enabled","isOpen","renderElement","InputBox","ref","tabIndex","onFocus","ExpandableElement","expanded","listboxId","popupRole","children","LabelContainer","isEmpty","PlaceholderLabel","truncateType","ValueLabel","renderDropdown","NestedDropdownList","listItems","multiSelect","itemsLoadState","itemTruncationType","onSelectItem","onSelectAll","matchElementWidth","onOpen","onClose","reason","onDismiss","_a","focus","clickToToggle","offset","fitAvailableHeight","customZIndex","rootNode"],"mappings":"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"}
1
+ {"version":3,"file":"input-nested-multi-select.js","sources":["../../src/input-nested-multi-select/input-nested-multi-select.tsx"],"sourcesContent":["import type { OpenChangeReason } from \"@floating-ui/react\";\nimport isEmpty from \"lodash/isEmpty\";\nimport isEqual from \"lodash/isEqual\";\nimport type React from \"react\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport type {\n NestedDropdownListItemProps,\n NestedDropdownListLocalItem,\n} from \"../shared/dropdown-list\";\nimport {\n buildKeyPathToSet,\n ExpandableElement,\n NestedDropdownList,\n} from \"../shared/dropdown-list\";\nimport { ElementWithDropdown } from \"../shared/dropdown-wrapper\";\nimport {\n LabelContainer,\n PlaceholderLabel,\n ValueLabel,\n} from \"../shared/dropdown-wrapper/dropdown-wrapper\";\nimport { InputBox } from \"../shared/input-wrapper/input-wrapper\";\nimport { StringHelper, useId } from \"../util\";\nimport type { SelectedItem } from \"./helpers\";\nimport { getSelectedItems, getSelectedSubItems } from \"./helpers\";\nimport type { InputNestedMultiSelectProps } from \"./types\";\n\nexport const InputNestedMultiSelect = <V1, V2, V3>({\n placeholder = \"Select\",\n options: _options,\n disabled,\n error,\n className,\n \"data-testid\": testId,\n id,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n \"aria-invalid\": ariaInvalid,\n selectedKeyPaths: _selectedKeyPaths,\n mode,\n valueToStringFunction,\n enableSearch,\n searchPlaceholder,\n hideNoResultsDisplay,\n noResultsDescription,\n customLabels,\n readOnly,\n onSearch,\n onSelectOptions,\n onShowOptions,\n onHideOptions,\n onRetry,\n onBlur,\n optionsLoadState = \"success\",\n optionTruncationType = \"end\",\n variant = \"default\",\n alignment,\n dropdownZIndex,\n dropdownWidth,\n dropdownRootNode,\n}: InputNestedMultiSelectProps<V1, V2, V3>): JSX.Element => {\n // =========================================================================\n // CONST, STATE\n // =========================================================================\n const { multiSelectedLabel } = customLabels || {};\n const options = _options as NestedDropdownListItemProps<V1 | V2 | V3>[];\n const [selectedKeyPaths, setSelectedKeyPaths] = useState<Set<string>>(\n _selectedKeyPaths\n ? buildKeyPathToSet(_selectedKeyPaths)\n : new Set<string>()\n );\n const [selectedItems, setSelectedItems] = useState<\n SelectedItem<V1 | V2 | V3>[]\n >([]);\n\n const [showOptions, setShowOptions] = useState<boolean>(false);\n const [focused, setFocused] = useState<boolean>(false);\n const internalId = useId();\n\n const nodeRef = useRef<HTMLDivElement>(null);\n const selectorRef = useRef<HTMLButtonElement>(null);\n const labelContainerRef = useRef<HTMLDivElement>(null);\n\n // =========================================================================\n // EFFECTS\n // =========================================================================\n useEffect(() => {\n const newKeyPath = _selectedKeyPaths || [];\n const selectedItems = getSelectedItems(options, newKeyPath);\n\n setSelectedKeyPaths(buildKeyPathToSet(newKeyPath));\n setSelectedItems(selectedItems);\n }, [_selectedKeyPaths, options]);\n\n // =========================================================================\n // EVENT HANDLERS\n // =========================================================================\n const handleSelectAll = (\n keyPaths: string[][],\n items: NestedDropdownListLocalItem<V1 | V2 | V3>[]\n ) => {\n const selectedItems = items.map((item) => ({\n keyPath: item.keyPath,\n label: item.item.label,\n value: item.item.value,\n }));\n setSelectedKeyPaths(buildKeyPathToSet(keyPaths));\n setSelectedItems(selectedItems);\n performOnSelectOptions(keyPaths, selectedItems);\n };\n\n const handleListItemClick = (\n listItem: NestedDropdownListLocalItem<V1 | V2 | V3>\n ) => {\n const newSelectedItems: SelectedItem<V1 | V2 | V3>[] =\n getNewSelection(listItem);\n const newKeyPaths = newSelectedItems.map((item) => item.keyPath);\n setSelectedItems(newSelectedItems);\n setSelectedKeyPaths(buildKeyPathToSet(newKeyPaths));\n performOnSelectOptions(newKeyPaths, newSelectedItems);\n };\n\n const handleNodeFocus = () => {\n if (!focused && !showOptions) {\n setFocused(true);\n }\n };\n\n const handleNodeBlur = (e: React.FocusEvent) => {\n if (\n focused &&\n !showOptions &&\n nodeRef.current &&\n !nodeRef.current.contains(e.relatedTarget as Node)\n ) {\n setFocused(false);\n onBlur?.();\n }\n };\n\n const handleOpen = () => {\n setShowOptions(true);\n triggerOptionDisplayCallback(true);\n setFocused(true);\n };\n\n const handleClose = (reason: OpenChangeReason | undefined) => {\n setShowOptions(false);\n triggerOptionDisplayCallback(false);\n\n // click to toggle should not blur the input\n if (reason !== \"click\") {\n setFocused(false);\n onBlur?.();\n }\n };\n\n const handleDismiss = () => {\n selectorRef.current?.focus();\n setShowOptions(false);\n triggerOptionDisplayCallback(false);\n };\n\n // =========================================================================\n // HELPER FUNCTION\n // =========================================================================\n const getDisplayValue = (): string => {\n if (selectedItems.length > 1) {\n return multiSelectedLabel || `${selectedItems.length} selected`;\n }\n\n const { label, value } = selectedItems[0];\n if (valueToStringFunction) {\n return valueToStringFunction(value);\n } else {\n return label;\n }\n };\n\n const truncateValue = (value: string) => {\n if (optionTruncationType === \"middle\") {\n let widthOfElement = 0;\n if (labelContainerRef && labelContainerRef.current) {\n widthOfElement =\n labelContainerRef.current.getBoundingClientRect().width;\n }\n return StringHelper.truncateOneLine(value, widthOfElement, 120, 6);\n }\n\n return value;\n };\n\n const triggerOptionDisplayCallback = (show: boolean) => {\n if (!show && onHideOptions) {\n onHideOptions();\n }\n\n if (show && onShowOptions) {\n onShowOptions();\n }\n };\n\n const performOnSelectOptions = (\n keyPaths: string[][],\n items: SelectedItem<V1 | V2 | V3>[]\n ) => {\n if (onSelectOptions) {\n const returnValue = items.map((item) => item.value);\n onSelectOptions(keyPaths, returnValue);\n }\n };\n\n const getNewSelection = (\n item: NestedDropdownListLocalItem<V1 | V2 | V3>\n ): SelectedItem<V1 | V2 | V3>[] => {\n if (item.checked === true) {\n // remove item or subitems\n return selectedItems.filter((selectedItem) => {\n const ancestorKeyPath = selectedItem.keyPath.slice(\n 0,\n item.keyPath.length\n );\n return !isEqual(item.keyPath, ancestorKeyPath);\n });\n } else {\n // select item or all subitems\n const nextSelection = [...selectedItems];\n const newItemsToAdd = item.hasSubItems\n ? getSelectedSubItems(options, item.keyPath)\n : [\n {\n value: item.item.value,\n label: item.item.label,\n keyPath: item.keyPath,\n },\n ];\n newItemsToAdd.forEach((addedItem) => {\n if (\n !selectedItems.find((selectedItem) =>\n isEqual(selectedItem.keyPath, addedItem.keyPath)\n )\n ) {\n nextSelection.push(addedItem);\n }\n });\n return nextSelection;\n }\n };\n\n // =========================================================================\n // RENDER FUNCTION\n // =========================================================================\n const renderLabel = () => {\n if (isEmpty(selectedItems)) {\n return (\n <PlaceholderLabel truncateType={optionTruncationType}>\n {placeholder}\n </PlaceholderLabel>\n );\n } else {\n return (\n <ValueLabel truncateType={optionTruncationType}>\n {truncateValue(getDisplayValue())}\n </ValueLabel>\n );\n }\n };\n\n const renderSelectorContent = () => (\n <LabelContainer ref={labelContainerRef} disabled={disabled}>\n {renderLabel()}\n </LabelContainer>\n );\n\n const renderElement = () => {\n return (\n <InputBox\n className={className}\n data-testid={testId}\n id={id}\n ref={nodeRef}\n tabIndex={-1}\n onFocus={handleNodeFocus}\n onBlur={handleNodeBlur}\n focused={focused}\n disabled={disabled}\n readOnly={readOnly}\n error={error}\n >\n <ExpandableElement\n ref={selectorRef}\n disabled={disabled}\n expanded={showOptions}\n listboxId={internalId}\n popupRole=\"tree\"\n readOnly={readOnly}\n variant={variant}\n aria-labelledby={ariaLabelledBy}\n aria-describedby={ariaDescribedBy}\n aria-invalid={ariaInvalid}\n >\n {renderSelectorContent()}\n </ExpandableElement>\n </InputBox>\n );\n };\n\n const renderDropdown = () => {\n return (\n <NestedDropdownList\n listboxId={internalId}\n listItems={options}\n multiSelect\n selectedKeyPaths={selectedKeyPaths}\n itemsLoadState={optionsLoadState}\n itemTruncationType={optionTruncationType}\n enableSearch={enableSearch}\n searchPlaceholder={searchPlaceholder}\n hideNoResultsDisplay={hideNoResultsDisplay}\n noResultsDescription={noResultsDescription}\n customLabels={customLabels}\n onSelectItem={handleListItemClick}\n onSelectAll={handleSelectAll}\n onRetry={onRetry}\n onSearch={onSearch}\n variant={variant}\n mode={mode}\n width={dropdownWidth}\n matchElementWidth\n />\n );\n };\n\n return (\n <ElementWithDropdown\n enabled={!readOnly && !disabled}\n isOpen={showOptions}\n renderElement={renderElement}\n renderDropdown={renderDropdown}\n onOpen={handleOpen}\n onClose={handleClose}\n onDismiss={handleDismiss}\n clickToToggle\n offset={8}\n alignment={alignment}\n fitAvailableHeight\n customZIndex={dropdownZIndex}\n rootNode={dropdownRootNode}\n />\n );\n};\n"],"names":["InputNestedMultiSelect","placeholder","options","_options","disabled","error","className","testId","id","ariaLabelledBy","ariaDescribedBy","ariaInvalid","selectedKeyPaths","_selectedKeyPaths","mode","valueToStringFunction","enableSearch","searchPlaceholder","hideNoResultsDisplay","noResultsDescription","customLabels","readOnly","onSearch","onSelectOptions","onShowOptions","onHideOptions","onRetry","onBlur","optionsLoadState","optionTruncationType","variant","alignment","dropdownZIndex","dropdownWidth","dropdownRootNode","multiSelectedLabel","setSelectedKeyPaths","useState","buildKeyPathToSet","Set","selectedItems","setSelectedItems","showOptions","setShowOptions","focused","setFocused","internalId","useId","nodeRef","useRef","selectorRef","labelContainerRef","useEffect","newKeyPath","getSelectedItems","handleSelectAll","keyPaths","items","map","item","keyPath","label","value","performOnSelectOptions","handleListItemClick","listItem","newSelectedItems","getNewSelection","newKeyPaths","handleNodeFocus","handleNodeBlur","e","current","contains","relatedTarget","getDisplayValue","length","truncateValue","widthOfElement","getBoundingClientRect","width","StringHelper","truncateOneLine","triggerOptionDisplayCallback","show","returnValue","checked","filter","selectedItem","ancestorKeyPath","slice","isEqual","nextSelection","hasSubItems","getSelectedSubItems","forEach","addedItem","find","push","_jsx","ElementWithDropdown","enabled","isOpen","renderElement","InputBox","ref","tabIndex","onFocus","ExpandableElement","expanded","listboxId","popupRole","children","LabelContainer","isEmpty","PlaceholderLabel","truncateType","ValueLabel","renderDropdown","NestedDropdownList","listItems","multiSelect","itemsLoadState","itemTruncationType","onSelectItem","onSelectAll","matchElementWidth","onOpen","onClose","reason","onDismiss","_a","focus","clickToToggle","offset","fitAvailableHeight","customZIndex","rootNode"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{jsx as e}from"react/jsx-runtime";import r from"../external/lodash/isEmpty.js";import{useState as t,useRef as o,useEffect as n}from"react";import"clsx";import"../theme/theme-provider/index.js";import"../theme/theme-provider/context.js";import"../theme/tokens/border.js";import"../theme/tokens/colour.js";import"../theme/tokens/font.js";import"../theme/tokens/media-query.js";import"../util/calendar-helper.js";import"../external/dayjs/dayjs.min.js";import{useId as i}from"../util/simple-id-generator.js";import{StringHelper as d}from"../util/string-helper.js";import"@react-aria/live-announcer";import"../theme/utils/use-media-query.js";import"../shared/dropdown-list/dropdown-label.styles_1dwmd8f.css";import"../shared/dropdown-list/dropdown-list.js";import"../shared/dropdown-list/dropdown-list-state.js";import{ExpandableElement as l}from"../shared/dropdown-list/expandable-element.js";import{NestedDropdownList as s}from"../shared/dropdown-list/nested-dropdown-list.js";import{buildKeyPathToSet as a,findItemByKeyPath as p}from"../shared/dropdown-list/nested-dropdown-list-helpers.js";import{ElementWithDropdown as m}from"../shared/dropdown-wrapper/element-with-dropdown.js";import{LabelContainer as c,PlaceholderLabel as u,ValueLabel as h}from"../shared/dropdown-wrapper/dropdown-wrapper.js";import{InputBox as w}from"../shared/input-wrapper/input-wrapper.js";const b=({placeholder:b="Select",options:y,disabled:f,error:j,className:v,"data-testid":x,id:g,"aria-labelledby":S,"aria-describedby":T,"aria-invalid":O,selectedKeyPath:R,mode:I,valueToStringFunction:k,enableSearch:D,searchPlaceholder:N,selectableCategory:P,hideNoResultsDisplay:C,noResultsDescription:L,customLabels:_,readOnly:A,onBlur:B,onSearch:E,onSelectOption:H,onShowOptions:q,onHideOptions:F,onRetry:K,optionsLoadState:W="success",optionTruncationType:Z="end",variant:G="default",alignment:M,dropdownZIndex:z,dropdownWidth:J,dropdownRootNode:Q})=>{const U=y,[V,X]=t(R?a([R]):new Set),[Y,$]=t(),[ee,re]=t(!1),[te,oe]=t(!1),ne=i(),ie=o(null),de=o(null),le=o(null);n((()=>{X(R?a([R]):new Set);const e=p(U,R||[]);$(null!=e?e:void 0)}),[R,U]);const se=e=>{var r;const{keyPath:t,item:{label:o,value:n}}=e;X(a([t])),$({label:o,value:n}),re(!1),ue(!1),null===(r=de.current)||void 0===r||r.focus(),null==H||H(t,n)},ae=()=>{te||ee||oe(!0)},pe=e=>{te&&!ee&&ie.current&&!ie.current.contains(e.relatedTarget)&&(oe(!1),null==B||B())},me=()=>{if(!Y)return"";const{label:e,value:r}=Y;return k?k(r):e},ce=e=>{if("middle"===Z){let r=0;return le&&le.current&&(r=le.current.getBoundingClientRect().width),d.truncateOneLine(e,r,120,6)}return e},ue=e=>{!e&&F&&F(),e&&q&&q()};return e(m,{enabled:!A&&!f,isOpen:ee,renderElement:()=>e(w,{className:v,"data-testid":x,id:g,ref:ie,tabIndex:-1,onFocus:ae,onBlur:pe,focused:te,disabled:f,readOnly:A,error:j,children:e(l,{ref:de,disabled:f,expanded:ee,listboxId:ne,popupRole:"tree",readOnly:A,variant:G,"aria-labelledby":S,"aria-describedby":T,"aria-invalid":O,children:e(c,{ref:le,disabled:f,children:r(Y)?e(u,{truncateType:Z,children:b}):e(h,{truncateType:Z,children:ce(me())})})})}),renderDropdown:()=>e(s,{listboxId:ne,listItems:U,selectedKeyPaths:V,selectableCategory:P,itemsLoadState:W,itemTruncationType:Z,enableSearch:D,searchPlaceholder:N,hideNoResultsDisplay:C,noResultsDescription:L,customLabels:_,onSelectItem:se,onRetry:K,onSearch:E,variant:G,mode:I,width:J,matchElementWidth:!0}),onOpen:()=>{re(!0),ue(!0),oe(!0)},onClose:e=>{re(!1),ue(!1),"click"!==e&&(oe(!1),null==B||B())},onDismiss:()=>{var e;null===(e=de.current)||void 0===e||e.focus(),re(!1),ue(!1)},clickToToggle:!0,offset:8,alignment:M,fitAvailableHeight:!0,customZIndex:z,rootNode:Q})};export{b as InputNestedSelect};
1
+ import{jsx as e}from"react/jsx-runtime";import r from"../external/lodash/isEmpty.js";import{useState as t,useRef as o,useEffect as n}from"react";import"clsx";import"../theme/theme-provider/index.js";import"../theme/theme-provider/context.js";import"../theme/tokens/border.js";import"../theme/tokens/colour.js";import"../theme/tokens/font.js";import"../theme/tokens/media-query.js";import"../util/calendar-helper.js";import"../external/dayjs/dayjs.min.js";import{useId as i}from"../util/simple-id-generator.js";import{StringHelper as l}from"../util/string-helper.js";import"@react-aria/live-announcer";import"../theme/utils/use-media-query.js";import"../shared/dropdown-list/dropdown-label.styles_mloii0.css";import"../shared/dropdown-list/dropdown-list.js";import"../shared/dropdown-list/dropdown-list-state.js";import{ExpandableElement as d}from"../shared/dropdown-list/expandable-element.js";import{NestedDropdownList as s}from"../shared/dropdown-list/nested-dropdown-list.js";import{buildKeyPathToSet as a,findItemByKeyPath as p}from"../shared/dropdown-list/nested-dropdown-list-helpers.js";import{ElementWithDropdown as m}from"../shared/dropdown-wrapper/element-with-dropdown.js";import{LabelContainer as c,PlaceholderLabel as u,ValueLabel as h}from"../shared/dropdown-wrapper/dropdown-wrapper.js";import{InputBox as w}from"../shared/input-wrapper/input-wrapper.js";const b=({placeholder:b="Select",options:y,disabled:f,error:j,className:v,"data-testid":x,id:g,"aria-labelledby":S,"aria-describedby":T,"aria-invalid":O,selectedKeyPath:R,mode:I,valueToStringFunction:k,enableSearch:D,searchPlaceholder:N,selectableCategory:P,hideNoResultsDisplay:C,noResultsDescription:L,customLabels:_,readOnly:A,onBlur:B,onSearch:E,onSelectOption:H,onShowOptions:q,onHideOptions:F,onRetry:K,optionsLoadState:W="success",optionTruncationType:Z="end",variant:G="default",alignment:M,dropdownZIndex:z,dropdownWidth:J,dropdownRootNode:Q})=>{const U=y,[V,X]=t(R?a([R]):new Set),[Y,$]=t(),[ee,re]=t(!1),[te,oe]=t(!1),ne=i(),ie=o(null),le=o(null),de=o(null);n((()=>{X(R?a([R]):new Set);const e=p(U,R||[]);$(null!=e?e:void 0)}),[R,U]);const se=e=>{var r;const{keyPath:t,item:{label:o,value:n}}=e;X(a([t])),$({label:o,value:n}),re(!1),ue(!1),null===(r=le.current)||void 0===r||r.focus(),null==H||H(t,n)},ae=()=>{te||ee||oe(!0)},pe=e=>{te&&!ee&&ie.current&&!ie.current.contains(e.relatedTarget)&&(oe(!1),null==B||B())},me=()=>{if(!Y)return"";const{label:e,value:r}=Y;return k?k(r):e},ce=e=>{if("middle"===Z){let r=0;return de&&de.current&&(r=de.current.getBoundingClientRect().width),l.truncateOneLine(e,r,120,6)}return e},ue=e=>{!e&&F&&F(),e&&q&&q()};return e(m,{enabled:!A&&!f,isOpen:ee,renderElement:()=>e(w,{className:v,"data-testid":x,id:g,ref:ie,tabIndex:-1,onFocus:ae,onBlur:pe,focused:te,disabled:f,readOnly:A,error:j,children:e(d,{ref:le,disabled:f,expanded:ee,listboxId:ne,popupRole:"tree",readOnly:A,variant:G,"aria-labelledby":S,"aria-describedby":T,"aria-invalid":O,children:e(c,{ref:de,disabled:f,children:r(Y)?e(u,{truncateType:Z,children:b}):e(h,{truncateType:Z,children:ce(me())})})})}),renderDropdown:()=>e(s,{listboxId:ne,listItems:U,selectedKeyPaths:V,selectableCategory:P,itemsLoadState:W,itemTruncationType:Z,enableSearch:D,searchPlaceholder:N,hideNoResultsDisplay:C,noResultsDescription:L,customLabels:_,onSelectItem:se,onRetry:K,onSearch:E,variant:G,mode:I,width:J,matchElementWidth:!0}),onOpen:()=>{re(!0),ue(!0),oe(!0)},onClose:e=>{re(!1),ue(!1),"click"!==e&&(oe(!1),null==B||B())},onDismiss:()=>{var e;null===(e=le.current)||void 0===e||e.focus(),re(!1),ue(!1)},clickToToggle:!0,offset:8,alignment:M,fitAvailableHeight:!0,customZIndex:z,rootNode:Q})};export{b as InputNestedSelect};
2
2
  //# sourceMappingURL=input-nested-select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-nested-select.js","sources":["../../src/input-nested-select/input-nested-select.tsx"],"sourcesContent":["import type { OpenChangeReason } from \"@floating-ui/react\";\nimport isEmpty from \"lodash/isEmpty\";\nimport type React from \"react\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport type {\n NestedDropdownListItemProps,\n NestedDropdownListLocalItem,\n} from \"../shared/dropdown-list\";\nimport {\n buildKeyPathToSet,\n ExpandableElement,\n findItemByKeyPath,\n NestedDropdownList,\n} from \"../shared/dropdown-list\";\nimport { ElementWithDropdown } from \"../shared/dropdown-wrapper\";\nimport {\n LabelContainer,\n PlaceholderLabel,\n ValueLabel,\n} from \"../shared/dropdown-wrapper/dropdown-wrapper\";\nimport { InputBox } from \"../shared/input-wrapper/input-wrapper\";\nimport { StringHelper, useId } from \"../util\";\nimport type {\n InputNestedSelectProps,\n L1OptionProps,\n L2OptionProps,\n L3OptionProps,\n} from \"./types\";\n\nexport type CombinedOptionProps<V1, V2, V3> =\n | L1OptionProps<V1, V2, V3>\n | L2OptionProps<V2, V3>\n | L3OptionProps<V3>;\n\ninterface SelectedItemType<V1, V2, V3> {\n label: string;\n value: V1 | V2 | V3;\n}\n\nexport const InputNestedSelect = <V1, V2, V3>({\n placeholder = \"Select\",\n options: _options,\n disabled,\n error,\n className,\n \"data-testid\": testId,\n id,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n \"aria-invalid\": ariaInvalid,\n selectedKeyPath: _selectedKeyPath,\n mode,\n valueToStringFunction,\n enableSearch,\n searchPlaceholder,\n selectableCategory,\n hideNoResultsDisplay,\n noResultsDescription,\n customLabels,\n readOnly,\n onBlur,\n onSearch,\n onSelectOption,\n onShowOptions,\n onHideOptions,\n onRetry,\n optionsLoadState = \"success\",\n optionTruncationType = \"end\",\n variant = \"default\",\n alignment,\n dropdownZIndex,\n dropdownWidth,\n dropdownRootNode,\n}: InputNestedSelectProps<V1, V2, V3>): JSX.Element => {\n // =========================================================================\n // CONST, STATE\n // =========================================================================\n const options = _options as NestedDropdownListItemProps<V1 | V2 | V3>[];\n const [selectedKeyPaths, setSelectedKeyPaths] = useState<Set<string>>(\n _selectedKeyPath\n ? buildKeyPathToSet([_selectedKeyPath])\n : new Set<string>()\n );\n const [selectedItem, setSelectedItem] =\n useState<SelectedItemType<V1, V2, V3>>();\n\n const [showOptions, setShowOptions] = useState<boolean>(false);\n const [focused, setFocused] = useState<boolean>(false);\n const internalId = useId();\n\n const nodeRef = useRef<HTMLDivElement>(null);\n const selectorRef = useRef<HTMLButtonElement>(null);\n const labelContainerRef = useRef<HTMLDivElement>(null);\n\n // =========================================================================\n // EFFECTS\n // =========================================================================\n useEffect(() => {\n setSelectedKeyPaths(\n _selectedKeyPath\n ? buildKeyPathToSet([_selectedKeyPath])\n : new Set<string>()\n );\n const selectedItem = findItemByKeyPath(options, _selectedKeyPath || []);\n setSelectedItem(selectedItem ?? undefined);\n }, [_selectedKeyPath, options]);\n\n // =========================================================================\n // EVENT HANDLERS\n // =========================================================================\n const handleListItemClick = (\n listItem: NestedDropdownListLocalItem<V1 | V2 | V3>\n ) => {\n const {\n keyPath,\n item: { label, value },\n } = listItem;\n setSelectedKeyPaths(buildKeyPathToSet([keyPath]));\n setSelectedItem({ label, value });\n setShowOptions(false);\n triggerOptionDisplayCallback(false);\n\n selectorRef.current?.focus();\n onSelectOption?.(keyPath, value);\n };\n\n const handleNodeFocus = () => {\n if (!focused && !showOptions) {\n setFocused(true);\n }\n };\n\n const handleNodeBlur = (e: React.FocusEvent) => {\n if (\n focused &&\n !showOptions &&\n nodeRef.current &&\n !nodeRef.current.contains(e.relatedTarget as Node)\n ) {\n setFocused(false);\n onBlur?.();\n }\n };\n\n const handleOpen = () => {\n setShowOptions(true);\n triggerOptionDisplayCallback(true);\n setFocused(true);\n };\n\n const handleClose = (reason: OpenChangeReason | undefined) => {\n setShowOptions(false);\n triggerOptionDisplayCallback(false);\n\n // click to toggle should not blur the input\n if (reason !== \"click\") {\n setFocused(false);\n onBlur?.();\n }\n };\n\n const handleDismiss = () => {\n selectorRef.current?.focus();\n setShowOptions(false);\n triggerOptionDisplayCallback(false);\n };\n\n // =========================================================================\n // HELPER FUNCTION\n // =========================================================================\n const getDisplayValue = (): string => {\n if (!selectedItem) return \"\";\n const { label, value } = selectedItem;\n\n if (valueToStringFunction) {\n return valueToStringFunction(value);\n } else {\n return label;\n }\n };\n\n const truncateValue = (value: string) => {\n if (optionTruncationType === \"middle\") {\n let widthOfElement = 0;\n if (labelContainerRef && labelContainerRef.current) {\n widthOfElement =\n labelContainerRef.current.getBoundingClientRect().width;\n }\n return StringHelper.truncateOneLine(value, widthOfElement, 120, 6);\n }\n\n return value;\n };\n\n const triggerOptionDisplayCallback = (show: boolean) => {\n if (!show && onHideOptions) {\n onHideOptions();\n }\n\n if (show && onShowOptions) {\n onShowOptions();\n }\n };\n\n // =========================================================================\n // RENDER FUNCTION\n // =========================================================================\n const renderLabel = () => {\n if (isEmpty(selectedItem)) {\n return (\n <PlaceholderLabel truncateType={optionTruncationType}>\n {placeholder}\n </PlaceholderLabel>\n );\n } else {\n return (\n <ValueLabel truncateType={optionTruncationType}>\n {truncateValue(getDisplayValue())}\n </ValueLabel>\n );\n }\n };\n\n const renderSelectorContent = () => (\n <LabelContainer ref={labelContainerRef} disabled={disabled}>\n {renderLabel()}\n </LabelContainer>\n );\n\n const renderElement = () => {\n return (\n <InputBox\n className={className}\n data-testid={testId}\n id={id}\n ref={nodeRef}\n tabIndex={-1}\n onFocus={handleNodeFocus}\n onBlur={handleNodeBlur}\n focused={focused}\n disabled={disabled}\n readOnly={readOnly}\n error={error}\n >\n <ExpandableElement\n ref={selectorRef}\n disabled={disabled}\n expanded={showOptions}\n listboxId={internalId}\n popupRole=\"tree\"\n readOnly={readOnly}\n variant={variant}\n aria-labelledby={ariaLabelledBy}\n aria-describedby={ariaDescribedBy}\n aria-invalid={ariaInvalid}\n >\n {renderSelectorContent()}\n </ExpandableElement>\n </InputBox>\n );\n };\n\n const renderDropdown = () => {\n return (\n <NestedDropdownList\n listboxId={internalId}\n listItems={options}\n selectedKeyPaths={selectedKeyPaths}\n selectableCategory={selectableCategory}\n itemsLoadState={optionsLoadState}\n itemTruncationType={optionTruncationType}\n enableSearch={enableSearch}\n searchPlaceholder={searchPlaceholder}\n hideNoResultsDisplay={hideNoResultsDisplay}\n noResultsDescription={noResultsDescription}\n customLabels={customLabels}\n onSelectItem={handleListItemClick}\n onRetry={onRetry}\n onSearch={onSearch}\n variant={variant}\n mode={mode}\n width={dropdownWidth}\n matchElementWidth\n />\n );\n };\n\n return (\n <ElementWithDropdown\n enabled={!readOnly && !disabled}\n isOpen={showOptions}\n renderElement={renderElement}\n renderDropdown={renderDropdown}\n onOpen={handleOpen}\n onClose={handleClose}\n onDismiss={handleDismiss}\n clickToToggle\n offset={8}\n alignment={alignment}\n fitAvailableHeight\n customZIndex={dropdownZIndex}\n rootNode={dropdownRootNode}\n />\n );\n};\n"],"names":["InputNestedSelect","placeholder","options","_options","disabled","error","className","testId","id","ariaLabelledBy","ariaDescribedBy","ariaInvalid","selectedKeyPath","_selectedKeyPath","mode","valueToStringFunction","enableSearch","searchPlaceholder","selectableCategory","hideNoResultsDisplay","noResultsDescription","customLabels","readOnly","onBlur","onSearch","onSelectOption","onShowOptions","onHideOptions","onRetry","optionsLoadState","optionTruncationType","variant","alignment","dropdownZIndex","dropdownWidth","dropdownRootNode","selectedKeyPaths","setSelectedKeyPaths","useState","buildKeyPathToSet","Set","selectedItem","setSelectedItem","showOptions","setShowOptions","focused","setFocused","internalId","useId","nodeRef","useRef","selectorRef","labelContainerRef","useEffect","findItemByKeyPath","undefined","handleListItemClick","listItem","keyPath","item","label","value","triggerOptionDisplayCallback","_a","current","focus","handleNodeFocus","handleNodeBlur","e","contains","relatedTarget","getDisplayValue","truncateValue","widthOfElement","getBoundingClientRect","width","StringHelper","truncateOneLine","show","_jsx","ElementWithDropdown","enabled","isOpen","renderElement","InputBox","ref","tabIndex","onFocus","ExpandableElement","expanded","listboxId","popupRole","children","LabelContainer","isEmpty","PlaceholderLabel","truncateType","ValueLabel","renderDropdown","NestedDropdownList","listItems","itemsLoadState","itemTruncationType","onSelectItem","matchElementWidth","onOpen","onClose","reason","onDismiss","clickToToggle","offset","fitAvailableHeight","customZIndex","rootNode"],"mappings":"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"}
1
+ {"version":3,"file":"input-nested-select.js","sources":["../../src/input-nested-select/input-nested-select.tsx"],"sourcesContent":["import type { OpenChangeReason } from \"@floating-ui/react\";\nimport isEmpty from \"lodash/isEmpty\";\nimport type React from \"react\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport type {\n NestedDropdownListItemProps,\n NestedDropdownListLocalItem,\n} from \"../shared/dropdown-list\";\nimport {\n buildKeyPathToSet,\n ExpandableElement,\n findItemByKeyPath,\n NestedDropdownList,\n} from \"../shared/dropdown-list\";\nimport { ElementWithDropdown } from \"../shared/dropdown-wrapper\";\nimport {\n LabelContainer,\n PlaceholderLabel,\n ValueLabel,\n} from \"../shared/dropdown-wrapper/dropdown-wrapper\";\nimport { InputBox } from \"../shared/input-wrapper/input-wrapper\";\nimport { StringHelper, useId } from \"../util\";\nimport type {\n InputNestedSelectProps,\n L1OptionProps,\n L2OptionProps,\n L3OptionProps,\n} from \"./types\";\n\nexport type CombinedOptionProps<V1, V2, V3> =\n | L1OptionProps<V1, V2, V3>\n | L2OptionProps<V2, V3>\n | L3OptionProps<V3>;\n\ninterface SelectedItemType<V1, V2, V3> {\n label: string;\n value: V1 | V2 | V3;\n}\n\nexport const InputNestedSelect = <V1, V2, V3>({\n placeholder = \"Select\",\n options: _options,\n disabled,\n error,\n className,\n \"data-testid\": testId,\n id,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n \"aria-invalid\": ariaInvalid,\n selectedKeyPath: _selectedKeyPath,\n mode,\n valueToStringFunction,\n enableSearch,\n searchPlaceholder,\n selectableCategory,\n hideNoResultsDisplay,\n noResultsDescription,\n customLabels,\n readOnly,\n onBlur,\n onSearch,\n onSelectOption,\n onShowOptions,\n onHideOptions,\n onRetry,\n optionsLoadState = \"success\",\n optionTruncationType = \"end\",\n variant = \"default\",\n alignment,\n dropdownZIndex,\n dropdownWidth,\n dropdownRootNode,\n}: InputNestedSelectProps<V1, V2, V3>): JSX.Element => {\n // =========================================================================\n // CONST, STATE\n // =========================================================================\n const options = _options as NestedDropdownListItemProps<V1 | V2 | V3>[];\n const [selectedKeyPaths, setSelectedKeyPaths] = useState<Set<string>>(\n _selectedKeyPath\n ? buildKeyPathToSet([_selectedKeyPath])\n : new Set<string>()\n );\n const [selectedItem, setSelectedItem] =\n useState<SelectedItemType<V1, V2, V3>>();\n\n const [showOptions, setShowOptions] = useState<boolean>(false);\n const [focused, setFocused] = useState<boolean>(false);\n const internalId = useId();\n\n const nodeRef = useRef<HTMLDivElement>(null);\n const selectorRef = useRef<HTMLButtonElement>(null);\n const labelContainerRef = useRef<HTMLDivElement>(null);\n\n // =========================================================================\n // EFFECTS\n // =========================================================================\n useEffect(() => {\n setSelectedKeyPaths(\n _selectedKeyPath\n ? buildKeyPathToSet([_selectedKeyPath])\n : new Set<string>()\n );\n const selectedItem = findItemByKeyPath(options, _selectedKeyPath || []);\n setSelectedItem(selectedItem ?? undefined);\n }, [_selectedKeyPath, options]);\n\n // =========================================================================\n // EVENT HANDLERS\n // =========================================================================\n const handleListItemClick = (\n listItem: NestedDropdownListLocalItem<V1 | V2 | V3>\n ) => {\n const {\n keyPath,\n item: { label, value },\n } = listItem;\n setSelectedKeyPaths(buildKeyPathToSet([keyPath]));\n setSelectedItem({ label, value });\n setShowOptions(false);\n triggerOptionDisplayCallback(false);\n\n selectorRef.current?.focus();\n onSelectOption?.(keyPath, value);\n };\n\n const handleNodeFocus = () => {\n if (!focused && !showOptions) {\n setFocused(true);\n }\n };\n\n const handleNodeBlur = (e: React.FocusEvent) => {\n if (\n focused &&\n !showOptions &&\n nodeRef.current &&\n !nodeRef.current.contains(e.relatedTarget as Node)\n ) {\n setFocused(false);\n onBlur?.();\n }\n };\n\n const handleOpen = () => {\n setShowOptions(true);\n triggerOptionDisplayCallback(true);\n setFocused(true);\n };\n\n const handleClose = (reason: OpenChangeReason | undefined) => {\n setShowOptions(false);\n triggerOptionDisplayCallback(false);\n\n // click to toggle should not blur the input\n if (reason !== \"click\") {\n setFocused(false);\n onBlur?.();\n }\n };\n\n const handleDismiss = () => {\n selectorRef.current?.focus();\n setShowOptions(false);\n triggerOptionDisplayCallback(false);\n };\n\n // =========================================================================\n // HELPER FUNCTION\n // =========================================================================\n const getDisplayValue = (): string => {\n if (!selectedItem) return \"\";\n const { label, value } = selectedItem;\n\n if (valueToStringFunction) {\n return valueToStringFunction(value);\n } else {\n return label;\n }\n };\n\n const truncateValue = (value: string) => {\n if (optionTruncationType === \"middle\") {\n let widthOfElement = 0;\n if (labelContainerRef && labelContainerRef.current) {\n widthOfElement =\n labelContainerRef.current.getBoundingClientRect().width;\n }\n return StringHelper.truncateOneLine(value, widthOfElement, 120, 6);\n }\n\n return value;\n };\n\n const triggerOptionDisplayCallback = (show: boolean) => {\n if (!show && onHideOptions) {\n onHideOptions();\n }\n\n if (show && onShowOptions) {\n onShowOptions();\n }\n };\n\n // =========================================================================\n // RENDER FUNCTION\n // =========================================================================\n const renderLabel = () => {\n if (isEmpty(selectedItem)) {\n return (\n <PlaceholderLabel truncateType={optionTruncationType}>\n {placeholder}\n </PlaceholderLabel>\n );\n } else {\n return (\n <ValueLabel truncateType={optionTruncationType}>\n {truncateValue(getDisplayValue())}\n </ValueLabel>\n );\n }\n };\n\n const renderSelectorContent = () => (\n <LabelContainer ref={labelContainerRef} disabled={disabled}>\n {renderLabel()}\n </LabelContainer>\n );\n\n const renderElement = () => {\n return (\n <InputBox\n className={className}\n data-testid={testId}\n id={id}\n ref={nodeRef}\n tabIndex={-1}\n onFocus={handleNodeFocus}\n onBlur={handleNodeBlur}\n focused={focused}\n disabled={disabled}\n readOnly={readOnly}\n error={error}\n >\n <ExpandableElement\n ref={selectorRef}\n disabled={disabled}\n expanded={showOptions}\n listboxId={internalId}\n popupRole=\"tree\"\n readOnly={readOnly}\n variant={variant}\n aria-labelledby={ariaLabelledBy}\n aria-describedby={ariaDescribedBy}\n aria-invalid={ariaInvalid}\n >\n {renderSelectorContent()}\n </ExpandableElement>\n </InputBox>\n );\n };\n\n const renderDropdown = () => {\n return (\n <NestedDropdownList\n listboxId={internalId}\n listItems={options}\n selectedKeyPaths={selectedKeyPaths}\n selectableCategory={selectableCategory}\n itemsLoadState={optionsLoadState}\n itemTruncationType={optionTruncationType}\n enableSearch={enableSearch}\n searchPlaceholder={searchPlaceholder}\n hideNoResultsDisplay={hideNoResultsDisplay}\n noResultsDescription={noResultsDescription}\n customLabels={customLabels}\n onSelectItem={handleListItemClick}\n onRetry={onRetry}\n onSearch={onSearch}\n variant={variant}\n mode={mode}\n width={dropdownWidth}\n matchElementWidth\n />\n );\n };\n\n return (\n <ElementWithDropdown\n enabled={!readOnly && !disabled}\n isOpen={showOptions}\n renderElement={renderElement}\n renderDropdown={renderDropdown}\n onOpen={handleOpen}\n onClose={handleClose}\n onDismiss={handleDismiss}\n clickToToggle\n offset={8}\n alignment={alignment}\n fitAvailableHeight\n customZIndex={dropdownZIndex}\n rootNode={dropdownRootNode}\n />\n );\n};\n"],"names":["InputNestedSelect","placeholder","options","_options","disabled","error","className","testId","id","ariaLabelledBy","ariaDescribedBy","ariaInvalid","selectedKeyPath","_selectedKeyPath","mode","valueToStringFunction","enableSearch","searchPlaceholder","selectableCategory","hideNoResultsDisplay","noResultsDescription","customLabels","readOnly","onBlur","onSearch","onSelectOption","onShowOptions","onHideOptions","onRetry","optionsLoadState","optionTruncationType","variant","alignment","dropdownZIndex","dropdownWidth","dropdownRootNode","selectedKeyPaths","setSelectedKeyPaths","useState","buildKeyPathToSet","Set","selectedItem","setSelectedItem","showOptions","setShowOptions","focused","setFocused","internalId","useId","nodeRef","useRef","selectorRef","labelContainerRef","useEffect","findItemByKeyPath","undefined","handleListItemClick","listItem","keyPath","item","label","value","triggerOptionDisplayCallback","_a","current","focus","handleNodeFocus","handleNodeBlur","e","contains","relatedTarget","getDisplayValue","truncateValue","widthOfElement","getBoundingClientRect","width","StringHelper","truncateOneLine","show","_jsx","ElementWithDropdown","enabled","isOpen","renderElement","InputBox","ref","tabIndex","onFocus","ExpandableElement","expanded","listboxId","popupRole","children","LabelContainer","isEmpty","PlaceholderLabel","truncateType","ValueLabel","renderDropdown","NestedDropdownList","listItems","itemsLoadState","itemTruncationType","onSelectItem","matchElementWidth","onOpen","onClose","reason","onDismiss","clickToToggle","offset","fitAvailableHeight","customZIndex","rootNode"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{__rest as e}from"../_virtual/_tslib.js";import{jsx as r,jsxs as o}from"react/jsx-runtime";import t from"clsx";import{useState as n,useRef as i,useEffect as s,useMemo as l}from"react";import{VisuallyHidden as a,concatIds as d}from"../shared/accessibility/index.js";import"../theme/theme-provider/index.js";import"../theme/theme-provider/context.js";import"../theme/tokens/border.js";import"../theme/tokens/colour.js";import"../theme/tokens/font.js";import"../theme/tokens/media-query.js";import"../util/calendar-helper.js";import"../external/dayjs/dayjs.min.js";import{useId as c}from"../util/simple-id-generator.js";import{StringHelper as p}from"../util/string-helper.js";import"@react-aria/live-announcer";import"../theme/utils/use-media-query.js";import"../shared/dropdown-list/dropdown-label.styles_1dwmd8f.css";import{DropdownList as m}from"../shared/dropdown-list/dropdown-list.js";import{DropdownListState as u}from"../shared/dropdown-list/dropdown-list-state.js";import"../shared/dropdown-list/expandable-element.js";import"@lifesg/react-icons/caret-right";import"@lifesg/react-icons/exclamation-circle-fill";import"@lifesg/react-icons/minus-square-fill";import"@lifesg/react-icons/square";import"@lifesg/react-icons/square-tick-fill";import"@lifesg/react-icons/tick";import"react-virtuoso";import"../markup/markup.js";import"../shared/component-loading-spinner/component-loading-spinner.styles_15eq02i.css";import{ElementWithDropdown as h}from"../shared/dropdown-wrapper/element-with-dropdown.js";import{InputWrapper as f,ClearButton as v}from"../shared/input-wrapper/input-wrapper.js";import"../shared/dropdown-list/dropdown-list.styles_1kt4zhf.css";import"../shared/dropdown-list/dropdown-search.js";import"../shared/dropdown-list/nested-dropdown-list.styles_wdhxoe.css";import"immer";import"../external/lodash/_getTag.js";import"../external/lodash/isArguments.js";import"../external/lodash/_baseGetTag.js";import"../external/lodash/isBuffer.js";import"../external/lodash/isTypedArray.js";import"../external/lodash/_Stack.js";import"../external/lodash/_SetCache.js";import"../external/lodash/_equalByTag.js";import"../shared/dropdown-list/virtuoso-components.js";import{PlaceholderLabel as w,ValueLabel as b}from"../shared/dropdown-wrapper/dropdown-wrapper.js";import{clearButtonContainer as y}from"../shared/input-wrapper/input-wrapper.styles.js";import{RangeInputInnerContainer as g}from"../shared/range-input-inner-container/range-input-inner-container.js";import{styledInputWrapper as j,rangeSelectorButton as x}from"./input-range-select.styles.js";const S=S=>{var{selectedOptions:T,placeholders:_={from:"Select",to:"Select"},options:C,disabled:O,className:A,readOnly:I,error:k,"data-testid":E,id:P,enableSearch:D=!1,searchFunction:L,searchPlaceholder:N,valueExtractor:q,valueToStringFunction:H,listExtractor:F,displayValueExtractor:R,onSelectOption:$,onShowOptions:G,onHideOptions:M,onRetry:B,optionsLoadState:W={from:"success",to:"success"},optionTruncationType:Z="middle",renderCustomSelectedOption:V,renderListItem:z,renderCustomCallToAction:K,alignment:J,dropdownZIndex:Q,dropdownRootNode:U,dropdownWidth:X,"aria-labelledby":Y,"aria-describedby":ee}=S,re=e(S,["selectedOptions","placeholders","options","disabled","className","readOnly","error","data-testid","id","enableSearch","searchFunction","searchPlaceholder","valueExtractor","valueToStringFunction","listExtractor","displayValueExtractor","onSelectOption","onShowOptions","onHideOptions","onRetry","optionsLoadState","optionTruncationType","renderCustomSelectedOption","renderListItem","renderCustomCallToAction","alignment","dropdownZIndex","dropdownRootNode","dropdownWidth","aria-labelledby","aria-describedby"]);const[oe,te]=n(),[ne,ie]=n(),[se,le]=n("none"),ae="none"!==se,de={from:i(null),to:i(null)},ce=i(null),pe=c(),me=`${pe}-range-listbox`,ue=`${pe}-from-label`,he=`${pe}-to-label`;s((()=>{te(null==T?void 0:T.from),ie(null==T?void 0:T.to)}),[T]),s((()=>{var e;ae&&"to"===se&&(null===(e=ce.current)||void 0===e||e.refocus({index:0}))}),[ae,se]);const fe=e=>{e||null==M||M(),e&&(null==G||G())},ve=e=>{var r,o;const t="from"===e?oe:ne;if(!t)return"";if(R)return R(t);if(q){const e=q(t);return H?H(e):null!==(o=null===(r=null==e?void 0:e.toString)||void 0===r?void 0:r.call(e))&&void 0!==o?o:""}return t.toString()},we=(e,r)=>{var o;if("middle"===Z){let t=0;return(null===(o=de[e])||void 0===o?void 0:o.current)&&(t=de[e].current.getBoundingClientRect().width),p.truncateOneLine(r,t,120,8)}return r},be=()=>{switch(se){case"from":return"start";case"to":return"end";case"none":return se}},ye=l((()=>{var e;return"none"===se?[]:null!==(e=null==C?void 0:C[se])&&void 0!==e?e:[]}),[se,C]),ge=l((()=>{if("none"===se)return[];const e="from"===se?oe:ne;return e?[e]:[]}),[se,oe,ne]),je=e=>{if(O||I)return;le("to"!==e||oe?e:"from"),fe(!0)},xe=e=>{var r;null===(r=de[e].current)||void 0===r||r.focus()},Se=e=>d("from"===e?ue:he,Y),Te=e=>r=>{r.stopPropagation(),r.preventDefault(),je(e)},_e=e=>r=>{if(!O&&!I)switch(r.key){case"Enter":case" ":case"ArrowDown":r.preventDefault(),je(e)}},Ce=(e,r)=>{if("none"!==se){if("from"===se)return te(e),null==$||$({from:e},r),ie(void 0),le("to"),fe(!0),void xe("to");ie(e),null==$||$({to:e},r),le("none"),fe(!1),xe("to")}},Oe=()=>{const e=se;le("none"),fe(!1),xe("to"===e?"to":"from"),oe&&ne||(te(void 0),ie(void 0))},Ae=e=>{e.stopPropagation(),e.preventDefault(),te(void 0),ie(void 0),null==$||$({from:void 0,to:void 0},void 0),xe("from")},Ie=e=>{const o="from"===e?oe:ne;return o?V?V(o):r(b,{truncateType:Z,children:we(e,ve(e))}):r(w,{truncateType:Z,children:we(e,(null==_?void 0:_[e])||"")})},ke=e=>r("button",{type:"button",role:"combobox","aria-labelledby":Se(e),"aria-describedby":ee,"aria-expanded":ae&&se===e,"aria-controls":me,"aria-disabled":O,"aria-readonly":I,onClick:Te(e),onKeyDown:_e(e),ref:de[e],tabIndex:0,className:x,children:Ie(e)});return r("div",Object.assign({id:P},re,{children:r(u,{children:r(h,{enabled:!I&&!O,isOpen:ae,renderElement:()=>o(f,{className:t(j,A),"data-testid":E,disabled:O,readOnly:I,error:k,focused:ae,children:[r(a,{id:ue,children:(null==_?void 0:_.from)||"Select From"}),r(a,{id:he,children:(null==_?void 0:_.to)||"Select To"}),o(g,{currentActive:be(),error:k,children:[ke("from"),ke("to")]}),!ae&&oe&&ne&&!I&&!O&&r("div",{className:y,children:r(v,{onClick:Ae,type:"button","aria-label":"Clear"})})]}),renderDropdown:()=>r(m,{ref:ce,"data-testid":`${E}-dropdown`,listboxId:me,ariaLabel:"from"===se?`Selecting for: ${null==_?void 0:_.from}`:"to"===se?`Selecting for: ${null==_?void 0:_.to}`:void 0,listItems:ye,onSelectItem:Ce,onDismiss:Oe,valueExtractor:q,listExtractor:F,selectedItems:ge,itemsLoadState:W[se],itemTruncationType:Z,onRetry:B,width:X,matchElementWidth:!X,enableSearch:D,searchFunction:L,searchPlaceholder:N,renderListItem:z,renderCustomCallToAction:K}),onOpen:()=>{O||I||"none"===se&&(le("from"),fe(!0))},onClose:()=>{le("none"),fe(!1),oe&&ne||(te(void 0),ie(void 0))},onDismiss:Oe,clickToToggle:!1,offset:8,alignment:J,fitAvailableHeight:!0,customZIndex:Q,rootNode:U})})}))};export{S as InputRangeSelect};
1
+ import{__rest as e}from"../_virtual/_tslib.js";import{jsx as o,jsxs as r}from"react/jsx-runtime";import t from"clsx";import{useState as n,useRef as i,useEffect as s,useMemo as l}from"react";import{VisuallyHidden as a,concatIds as d}from"../shared/accessibility/index.js";import"../theme/theme-provider/index.js";import"../theme/theme-provider/context.js";import"../theme/tokens/border.js";import"../theme/tokens/colour.js";import"../theme/tokens/font.js";import"../theme/tokens/media-query.js";import"../util/calendar-helper.js";import"../external/dayjs/dayjs.min.js";import{useId as c}from"../util/simple-id-generator.js";import{StringHelper as p}from"../util/string-helper.js";import"@react-aria/live-announcer";import"../theme/utils/use-media-query.js";import"../shared/dropdown-list/dropdown-label.styles_mloii0.css";import{DropdownList as m}from"../shared/dropdown-list/dropdown-list.js";import{DropdownListState as u}from"../shared/dropdown-list/dropdown-list-state.js";import"../shared/dropdown-list/expandable-element.js";import"@lifesg/react-icons/caret-right";import"@lifesg/react-icons/exclamation-circle-fill";import"@lifesg/react-icons/minus-square-fill";import"@lifesg/react-icons/square";import"@lifesg/react-icons/square-tick-fill";import"@lifesg/react-icons/tick";import"react-virtuoso";import"../markup/markup.js";import"../shared/component-loading-spinner/component-loading-spinner.styles_15eq02i.css";import{ElementWithDropdown as h}from"../shared/dropdown-wrapper/element-with-dropdown.js";import{InputWrapper as f,ClearButton as v}from"../shared/input-wrapper/input-wrapper.js";import"../shared/dropdown-list/dropdown-list.styles_konwm.css";import"../shared/dropdown-list/dropdown-search.js";import"../shared/dropdown-list/nested-dropdown-list.styles_wdhxoe.css";import"immer";import"../external/lodash/_getTag.js";import"../external/lodash/isArguments.js";import"../external/lodash/_baseGetTag.js";import"../external/lodash/isBuffer.js";import"../external/lodash/isTypedArray.js";import"../external/lodash/_Stack.js";import"../external/lodash/_SetCache.js";import"../external/lodash/_equalByTag.js";import"../shared/dropdown-list/virtuoso-components.js";import{PlaceholderLabel as w,ValueLabel as b}from"../shared/dropdown-wrapper/dropdown-wrapper.js";import{clearButtonContainer as y}from"../shared/input-wrapper/input-wrapper.styles.js";import{RangeInputInnerContainer as g}from"../shared/range-input-inner-container/range-input-inner-container.js";import{styledInputWrapper as j,rangeSelectorButton as x}from"./input-range-select.styles.js";const S=S=>{var{selectedOptions:T,placeholders:_={from:"Select",to:"Select"},options:C,disabled:O,className:A,readOnly:I,error:k,"data-testid":E,id:P,enableSearch:D=!1,searchFunction:L,searchPlaceholder:N,valueExtractor:q,valueToStringFunction:H,listExtractor:F,displayValueExtractor:R,onSelectOption:$,onShowOptions:G,onHideOptions:M,onRetry:B,optionsLoadState:W={from:"success",to:"success"},optionTruncationType:Z="middle",renderCustomSelectedOption:V,renderListItem:K,renderCustomCallToAction:z,alignment:J,dropdownZIndex:Q,dropdownRootNode:U,dropdownWidth:X,"aria-labelledby":Y,"aria-describedby":ee}=S,oe=e(S,["selectedOptions","placeholders","options","disabled","className","readOnly","error","data-testid","id","enableSearch","searchFunction","searchPlaceholder","valueExtractor","valueToStringFunction","listExtractor","displayValueExtractor","onSelectOption","onShowOptions","onHideOptions","onRetry","optionsLoadState","optionTruncationType","renderCustomSelectedOption","renderListItem","renderCustomCallToAction","alignment","dropdownZIndex","dropdownRootNode","dropdownWidth","aria-labelledby","aria-describedby"]);const[re,te]=n(),[ne,ie]=n(),[se,le]=n("none"),ae="none"!==se,de={from:i(null),to:i(null)},ce=i(null),pe=c(),me=`${pe}-range-listbox`,ue=`${pe}-from-label`,he=`${pe}-to-label`;s((()=>{te(null==T?void 0:T.from),ie(null==T?void 0:T.to)}),[T]),s((()=>{var e;ae&&"to"===se&&(null===(e=ce.current)||void 0===e||e.refocus({index:0}))}),[ae,se]);const fe=e=>{e||null==M||M(),e&&(null==G||G())},ve=e=>{var o,r;const t="from"===e?re:ne;if(!t)return"";if(R)return R(t);if(q){const e=q(t);return H?H(e):null!==(r=null===(o=null==e?void 0:e.toString)||void 0===o?void 0:o.call(e))&&void 0!==r?r:""}return t.toString()},we=(e,o)=>{var r;if("middle"===Z){let t=0;return(null===(r=de[e])||void 0===r?void 0:r.current)&&(t=de[e].current.getBoundingClientRect().width),p.truncateOneLine(o,t,120,8)}return o},be=()=>{switch(se){case"from":return"start";case"to":return"end";case"none":return se}},ye=l((()=>{var e;return"none"===se?[]:null!==(e=null==C?void 0:C[se])&&void 0!==e?e:[]}),[se,C]),ge=l((()=>{if("none"===se)return[];const e="from"===se?re:ne;return e?[e]:[]}),[se,re,ne]),je=e=>{if(O||I)return;le("to"!==e||re?e:"from"),fe(!0)},xe=e=>{var o;null===(o=de[e].current)||void 0===o||o.focus()},Se=e=>d("from"===e?ue:he,Y),Te=e=>o=>{o.stopPropagation(),o.preventDefault(),je(e)},_e=e=>o=>{if(!O&&!I)switch(o.key){case"Enter":case" ":case"ArrowDown":o.preventDefault(),je(e)}},Ce=(e,o)=>{if("none"!==se){if("from"===se)return te(e),null==$||$({from:e},o),ie(void 0),le("to"),fe(!0),void xe("to");ie(e),null==$||$({to:e},o),le("none"),fe(!1),xe("to")}},Oe=()=>{const e=se;le("none"),fe(!1),xe("to"===e?"to":"from"),re&&ne||(te(void 0),ie(void 0))},Ae=e=>{e.stopPropagation(),e.preventDefault(),te(void 0),ie(void 0),null==$||$({from:void 0,to:void 0},void 0),xe("from")},Ie=e=>{const r="from"===e?re:ne;return r?V?V(r):o(b,{truncateType:Z,children:we(e,ve(e))}):o(w,{truncateType:Z,children:we(e,(null==_?void 0:_[e])||"")})},ke=e=>o("button",{type:"button",role:"combobox","aria-labelledby":Se(e),"aria-describedby":ee,"aria-expanded":ae&&se===e,"aria-controls":me,"aria-disabled":O,"aria-readonly":I,onClick:Te(e),onKeyDown:_e(e),ref:de[e],tabIndex:0,className:x,children:Ie(e)});return o("div",Object.assign({id:P},oe,{children:o(u,{children:o(h,{enabled:!I&&!O,isOpen:ae,renderElement:()=>r(f,{className:t(j,A),"data-testid":E,disabled:O,readOnly:I,error:k,focused:ae,children:[o(a,{id:ue,children:(null==_?void 0:_.from)||"Select From"}),o(a,{id:he,children:(null==_?void 0:_.to)||"Select To"}),r(g,{currentActive:be(),error:k,children:[ke("from"),ke("to")]}),!ae&&re&&ne&&!I&&!O&&o("div",{className:y,children:o(v,{onClick:Ae,type:"button","aria-label":"Clear"})})]}),renderDropdown:()=>o(m,{ref:ce,"data-testid":`${E}-dropdown`,listboxId:me,ariaLabel:"from"===se?`Selecting for: ${null==_?void 0:_.from}`:"to"===se?`Selecting for: ${null==_?void 0:_.to}`:void 0,listItems:ye,onSelectItem:Ce,onDismiss:Oe,valueExtractor:q,listExtractor:F,selectedItems:ge,itemsLoadState:W[se],itemTruncationType:Z,onRetry:B,width:X,matchElementWidth:!X,enableSearch:D,searchFunction:L,searchPlaceholder:N,renderListItem:K,renderCustomCallToAction:z}),onOpen:()=>{O||I||"none"===se&&(le("from"),fe(!0))},onClose:()=>{le("none"),fe(!1),re&&ne||(te(void 0),ie(void 0))},onDismiss:Oe,clickToToggle:!1,offset:8,alignment:J,fitAvailableHeight:!0,customZIndex:Q,rootNode:U})})}))};export{S as InputRangeSelect};
2
2
  //# sourceMappingURL=input-range-select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-range-select.js","sources":["../../src/input-range-select/input-range-select.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport type React from \"react\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { concatIds, VisuallyHidden } from \"../shared/accessibility\";\nimport type { DropdownListApi } from \"../shared/dropdown-list\";\nimport { DropdownList, DropdownListState } from \"../shared/dropdown-list\";\nimport { ElementWithDropdown } from \"../shared/dropdown-wrapper\";\nimport {\n PlaceholderLabel,\n ValueLabel,\n} from \"../shared/dropdown-wrapper/dropdown-wrapper\";\nimport { ClearButton, InputWrapper } from \"../shared/input-wrapper\";\nimport * as inputWrapperStyles from \"../shared/input-wrapper/input-wrapper.styles\";\nimport { RangeInputInnerContainer } from \"../shared/range-input-inner-container\";\nimport { useId } from \"../util\";\nimport { StringHelper } from \"../util/string-helper\";\nimport * as styles from \"./input-range-select.styles\";\nimport type { InputRangeSelectProps } from \"./types\";\n\ntype RangeType = \"from\" | \"to\";\n\nexport const InputRangeSelect = <T, V>({\n selectedOptions,\n placeholders = { from: \"Select\", to: \"Select\" },\n options,\n disabled,\n className,\n readOnly,\n error,\n \"data-testid\": testId,\n id,\n enableSearch = false,\n searchFunction,\n searchPlaceholder,\n valueExtractor,\n valueToStringFunction,\n listExtractor,\n displayValueExtractor,\n onSelectOption,\n onShowOptions,\n onHideOptions,\n onRetry,\n optionsLoadState = { from: \"success\", to: \"success\" },\n optionTruncationType = \"middle\",\n renderCustomSelectedOption,\n renderListItem,\n renderCustomCallToAction,\n alignment,\n dropdownZIndex,\n dropdownRootNode,\n dropdownWidth,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n ...otherProps\n}: InputRangeSelectProps<T, V>): JSX.Element => {\n // =============================================================================\n // CONST, STATE, REF\n // =============================================================================\n const [selectedFromValue, setSelectedFromValue] = useState<T | undefined>();\n const [selectedToValue, setSelectedToValue] = useState<T | undefined>();\n const [focusedInput, setFocusedInput] = useState<RangeType | \"none\">(\n \"none\"\n );\n const isOpen = focusedInput !== \"none\";\n\n const labelButtonRef = {\n from: useRef<HTMLButtonElement>(null),\n to: useRef<HTMLButtonElement>(null),\n };\n const dropdownRef = useRef<DropdownListApi>(null);\n\n const internalId = useId();\n const listboxId = `${internalId}-range-listbox`;\n const fromLabelId = `${internalId}-from-label`;\n const toLabelId = `${internalId}-to-label`;\n\n // =============================================================================\n // EFFECTS\n // =============================================================================\n useEffect(() => {\n setSelectedFromValue(selectedOptions?.from);\n setSelectedToValue(selectedOptions?.to);\n }, [selectedOptions]);\n\n useEffect(() => {\n if (!isOpen) return;\n\n if (focusedInput === \"to\") {\n dropdownRef.current?.refocus({ index: 0 });\n }\n }, [isOpen, focusedInput]);\n\n // =============================================================================\n // HELPERS\n // =============================================================================\n const triggerOptionDisplayCallback = (show: boolean) => {\n if (!show) onHideOptions?.();\n if (show) onShowOptions?.();\n };\n\n const getDisplayValue = (rangeType: RangeType): string => {\n const selected =\n rangeType === \"from\" ? selectedFromValue : selectedToValue;\n if (!selected) return \"\";\n\n if (displayValueExtractor) return displayValueExtractor(selected);\n\n if (valueExtractor) {\n const value = valueExtractor(selected);\n return valueToStringFunction\n ? valueToStringFunction(value)\n : value?.toString?.() ?? \"\";\n }\n\n return selected.toString();\n };\n\n const truncateValue = (type: RangeType, value: string) => {\n if (optionTruncationType === \"middle\") {\n let widthOfElement = 0;\n if (labelButtonRef[type]?.current) {\n widthOfElement =\n labelButtonRef[type].current.getBoundingClientRect().width;\n }\n return StringHelper.truncateOneLine(value, widthOfElement, 120, 8);\n }\n return value;\n };\n\n const getCurrentFocused = (): \"none\" | \"start\" | \"end\" => {\n switch (focusedInput) {\n case \"from\":\n return \"start\";\n case \"to\":\n return \"end\";\n case \"none\":\n return focusedInput;\n }\n };\n\n const currentOptions = useMemo(() => {\n if (focusedInput === \"none\") return [];\n return options?.[focusedInput] ?? [];\n }, [focusedInput, options]);\n\n const currentSelectedItems = useMemo(() => {\n if (focusedInput === \"none\") return [];\n const selected =\n focusedInput === \"from\" ? selectedFromValue : selectedToValue;\n return selected ? [selected] : [];\n }, [focusedInput, selectedFromValue, selectedToValue]);\n\n const openDropdownFor = (rangeType: RangeType) => {\n if (disabled || readOnly) return;\n\n const nextFocusedInput =\n rangeType === \"to\" && !selectedFromValue ? \"from\" : rangeType;\n\n setFocusedInput(nextFocusedInput);\n triggerOptionDisplayCallback(true);\n };\n\n const focusButton = (type: RangeType) => {\n labelButtonRef[type].current?.focus();\n };\n\n const getButtonLabelledBy = (rangeType: RangeType) => {\n const rangeLabelId = rangeType === \"from\" ? fromLabelId : toLabelId;\n return concatIds(rangeLabelId, ariaLabelledBy);\n };\n\n const getDropdownAriaLabel = () => {\n if (focusedInput === \"from\") {\n return `Selecting for: ${placeholders?.from}`;\n }\n\n if (focusedInput === \"to\") {\n return `Selecting for: ${placeholders?.to}`;\n }\n\n return undefined;\n };\n\n // =============================================================================\n // EVENT HANDLERS\n // =============================================================================\n const handleSelectorClick =\n (rangeType: RangeType) => (event: React.MouseEvent) => {\n event.stopPropagation();\n event.preventDefault();\n openDropdownFor(rangeType);\n };\n\n const handleSelectorKeyDown =\n (rangeType: RangeType) =>\n (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (disabled || readOnly) return;\n\n switch (event.key) {\n case \"Enter\":\n case \" \":\n case \"ArrowDown\":\n event.preventDefault();\n openDropdownFor(rangeType);\n break;\n default:\n break;\n }\n };\n\n const handleListItemClick = (item: T, extractedValue: V) => {\n if (focusedInput === \"none\") return;\n\n if (focusedInput === \"from\") {\n setSelectedFromValue(item);\n onSelectOption?.({ from: item }, extractedValue);\n\n setSelectedToValue(undefined);\n setFocusedInput(\"to\");\n triggerOptionDisplayCallback(true);\n focusButton(\"to\");\n return;\n }\n\n setSelectedToValue(item);\n onSelectOption?.({ to: item }, extractedValue);\n\n setFocusedInput(\"none\");\n triggerOptionDisplayCallback(false);\n focusButton(\"to\");\n };\n\n const handleDismiss = () => {\n const last = focusedInput;\n\n setFocusedInput(\"none\");\n triggerOptionDisplayCallback(false);\n\n if (last === \"to\") focusButton(\"to\");\n else focusButton(\"from\");\n\n if (!selectedFromValue || !selectedToValue) {\n setSelectedFromValue(undefined);\n setSelectedToValue(undefined);\n }\n };\n\n const handleClose = () => {\n setFocusedInput(\"none\");\n triggerOptionDisplayCallback(false);\n\n if (!selectedFromValue || !selectedToValue) {\n setSelectedFromValue(undefined);\n setSelectedToValue(undefined);\n }\n };\n\n const handleOpen = () => {\n if (disabled || readOnly) return;\n\n if (focusedInput === \"none\") {\n setFocusedInput(\"from\");\n triggerOptionDisplayCallback(true);\n }\n };\n\n const handleClear = (event: React.MouseEvent) => {\n event.stopPropagation();\n event.preventDefault();\n setSelectedFromValue(undefined);\n setSelectedToValue(undefined);\n onSelectOption?.({ from: undefined, to: undefined }, undefined);\n\n focusButton(\"from\");\n };\n\n // =============================================================================\n // RENDER\n // =============================================================================\n const renderLabel = (rangeType: RangeType) => {\n const selected =\n rangeType === \"from\" ? selectedFromValue : selectedToValue;\n\n if (!selected) {\n return (\n <PlaceholderLabel truncateType={optionTruncationType}>\n {truncateValue(rangeType, placeholders?.[rangeType] || \"\")}\n </PlaceholderLabel>\n );\n }\n\n if (renderCustomSelectedOption) {\n return renderCustomSelectedOption(selected);\n }\n\n return (\n <ValueLabel truncateType={optionTruncationType}>\n {truncateValue(rangeType, getDisplayValue(rangeType))}\n </ValueLabel>\n );\n };\n\n const renderSelectorContent = (rangeType: RangeType) => (\n <button\n type=\"button\"\n role=\"combobox\"\n aria-labelledby={getButtonLabelledBy(rangeType)}\n aria-describedby={ariaDescribedBy}\n aria-expanded={isOpen && focusedInput === rangeType}\n aria-controls={listboxId}\n aria-disabled={disabled}\n aria-readonly={readOnly}\n onClick={handleSelectorClick(rangeType)}\n onKeyDown={handleSelectorKeyDown(rangeType)}\n ref={labelButtonRef[rangeType]}\n tabIndex={0}\n className={styles.rangeSelectorButton}\n >\n {renderLabel(rangeType)}\n </button>\n );\n\n const renderElement = () => {\n return (\n <InputWrapper\n className={clsx(styles.styledInputWrapper, className)}\n data-testid={testId}\n disabled={disabled}\n readOnly={readOnly}\n error={error}\n focused={isOpen}\n >\n <VisuallyHidden id={fromLabelId}>\n {placeholders?.from || \"Select From\"}\n </VisuallyHidden>\n <VisuallyHidden id={toLabelId}>\n {placeholders?.to || \"Select To\"}\n </VisuallyHidden>\n\n <RangeInputInnerContainer\n currentActive={getCurrentFocused()}\n error={error}\n >\n {renderSelectorContent(\"from\")}\n {renderSelectorContent(\"to\")}\n </RangeInputInnerContainer>\n\n {!isOpen &&\n selectedFromValue &&\n selectedToValue &&\n !readOnly &&\n !disabled && (\n <div\n className={inputWrapperStyles.clearButtonContainer}\n >\n <ClearButton\n onClick={handleClear}\n type=\"button\"\n aria-label=\"Clear\"\n />\n </div>\n )}\n </InputWrapper>\n );\n };\n\n const renderDropdown = () => {\n return (\n <DropdownList\n ref={dropdownRef}\n data-testid={`${testId}-dropdown`}\n listboxId={listboxId}\n ariaLabel={getDropdownAriaLabel()}\n listItems={currentOptions}\n onSelectItem={handleListItemClick}\n onDismiss={handleDismiss}\n valueExtractor={valueExtractor}\n listExtractor={listExtractor}\n selectedItems={currentSelectedItems}\n itemsLoadState={optionsLoadState[focusedInput as RangeType]}\n itemTruncationType={optionTruncationType}\n onRetry={onRetry}\n width={dropdownWidth}\n matchElementWidth={!dropdownWidth}\n enableSearch={enableSearch}\n searchFunction={searchFunction}\n searchPlaceholder={searchPlaceholder}\n renderListItem={renderListItem}\n renderCustomCallToAction={renderCustomCallToAction}\n />\n );\n };\n\n return (\n <div id={id} {...otherProps}>\n <DropdownListState>\n <ElementWithDropdown\n enabled={!readOnly && !disabled}\n isOpen={isOpen}\n renderElement={renderElement}\n renderDropdown={renderDropdown}\n onOpen={handleOpen}\n onClose={handleClose}\n onDismiss={handleDismiss}\n clickToToggle={false}\n offset={8}\n alignment={alignment}\n fitAvailableHeight\n customZIndex={dropdownZIndex}\n rootNode={dropdownRootNode}\n />\n </DropdownListState>\n </div>\n );\n};\n"],"names":["InputRangeSelect","_a","selectedOptions","placeholders","from","to","options","disabled","className","readOnly","error","testId","id","enableSearch","searchFunction","searchPlaceholder","valueExtractor","valueToStringFunction","listExtractor","displayValueExtractor","onSelectOption","onShowOptions","onHideOptions","onRetry","optionsLoadState","optionTruncationType","renderCustomSelectedOption","renderListItem","renderCustomCallToAction","alignment","dropdownZIndex","dropdownRootNode","dropdownWidth","ariaLabelledBy","ariaDescribedBy","otherProps","__rest","selectedFromValue","setSelectedFromValue","useState","selectedToValue","setSelectedToValue","focusedInput","setFocusedInput","isOpen","labelButtonRef","useRef","dropdownRef","internalId","useId","listboxId","fromLabelId","toLabelId","useEffect","current","refocus","index","triggerOptionDisplayCallback","show","getDisplayValue","rangeType","selected","value","_b","toString","call","truncateValue","type","widthOfElement","getBoundingClientRect","width","StringHelper","truncateOneLine","getCurrentFocused","currentOptions","useMemo","currentSelectedItems","openDropdownFor","focusButton","focus","getButtonLabelledBy","concatIds","handleSelectorClick","event","stopPropagation","preventDefault","handleSelectorKeyDown","key","handleListItemClick","item","extractedValue","undefined","handleDismiss","last","handleClear","renderLabel","_jsx","ValueLabel","truncateType","children","PlaceholderLabel","renderSelectorContent","role","onClick","onKeyDown","ref","tabIndex","styles.rangeSelectorButton","Object","assign","DropdownListState","ElementWithDropdown","enabled","renderElement","_jsxs","InputWrapper","clsx","styles.styledInputWrapper","focused","VisuallyHidden","RangeInputInnerContainer","currentActive","inputWrapperStyles.clearButtonContainer","ClearButton","renderDropdown","DropdownList","ariaLabel","listItems","onSelectItem","onDismiss","selectedItems","itemsLoadState","itemTruncationType","matchElementWidth","onOpen","onClose","clickToToggle","offset","fitAvailableHeight","customZIndex","rootNode"],"mappings":"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"}
1
+ {"version":3,"file":"input-range-select.js","sources":["../../src/input-range-select/input-range-select.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport type React from \"react\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { concatIds, VisuallyHidden } from \"../shared/accessibility\";\nimport type { DropdownListApi } from \"../shared/dropdown-list\";\nimport { DropdownList, DropdownListState } from \"../shared/dropdown-list\";\nimport { ElementWithDropdown } from \"../shared/dropdown-wrapper\";\nimport {\n PlaceholderLabel,\n ValueLabel,\n} from \"../shared/dropdown-wrapper/dropdown-wrapper\";\nimport { ClearButton, InputWrapper } from \"../shared/input-wrapper\";\nimport * as inputWrapperStyles from \"../shared/input-wrapper/input-wrapper.styles\";\nimport { RangeInputInnerContainer } from \"../shared/range-input-inner-container\";\nimport { useId } from \"../util\";\nimport { StringHelper } from \"../util/string-helper\";\nimport * as styles from \"./input-range-select.styles\";\nimport type { InputRangeSelectProps } from \"./types\";\n\ntype RangeType = \"from\" | \"to\";\n\nexport const InputRangeSelect = <T, V>({\n selectedOptions,\n placeholders = { from: \"Select\", to: \"Select\" },\n options,\n disabled,\n className,\n readOnly,\n error,\n \"data-testid\": testId,\n id,\n enableSearch = false,\n searchFunction,\n searchPlaceholder,\n valueExtractor,\n valueToStringFunction,\n listExtractor,\n displayValueExtractor,\n onSelectOption,\n onShowOptions,\n onHideOptions,\n onRetry,\n optionsLoadState = { from: \"success\", to: \"success\" },\n optionTruncationType = \"middle\",\n renderCustomSelectedOption,\n renderListItem,\n renderCustomCallToAction,\n alignment,\n dropdownZIndex,\n dropdownRootNode,\n dropdownWidth,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n ...otherProps\n}: InputRangeSelectProps<T, V>): JSX.Element => {\n // =============================================================================\n // CONST, STATE, REF\n // =============================================================================\n const [selectedFromValue, setSelectedFromValue] = useState<T | undefined>();\n const [selectedToValue, setSelectedToValue] = useState<T | undefined>();\n const [focusedInput, setFocusedInput] = useState<RangeType | \"none\">(\n \"none\"\n );\n const isOpen = focusedInput !== \"none\";\n\n const labelButtonRef = {\n from: useRef<HTMLButtonElement>(null),\n to: useRef<HTMLButtonElement>(null),\n };\n const dropdownRef = useRef<DropdownListApi>(null);\n\n const internalId = useId();\n const listboxId = `${internalId}-range-listbox`;\n const fromLabelId = `${internalId}-from-label`;\n const toLabelId = `${internalId}-to-label`;\n\n // =============================================================================\n // EFFECTS\n // =============================================================================\n useEffect(() => {\n setSelectedFromValue(selectedOptions?.from);\n setSelectedToValue(selectedOptions?.to);\n }, [selectedOptions]);\n\n useEffect(() => {\n if (!isOpen) return;\n\n if (focusedInput === \"to\") {\n dropdownRef.current?.refocus({ index: 0 });\n }\n }, [isOpen, focusedInput]);\n\n // =============================================================================\n // HELPERS\n // =============================================================================\n const triggerOptionDisplayCallback = (show: boolean) => {\n if (!show) onHideOptions?.();\n if (show) onShowOptions?.();\n };\n\n const getDisplayValue = (rangeType: RangeType): string => {\n const selected =\n rangeType === \"from\" ? selectedFromValue : selectedToValue;\n if (!selected) return \"\";\n\n if (displayValueExtractor) return displayValueExtractor(selected);\n\n if (valueExtractor) {\n const value = valueExtractor(selected);\n return valueToStringFunction\n ? valueToStringFunction(value)\n : value?.toString?.() ?? \"\";\n }\n\n return selected.toString();\n };\n\n const truncateValue = (type: RangeType, value: string) => {\n if (optionTruncationType === \"middle\") {\n let widthOfElement = 0;\n if (labelButtonRef[type]?.current) {\n widthOfElement =\n labelButtonRef[type].current.getBoundingClientRect().width;\n }\n return StringHelper.truncateOneLine(value, widthOfElement, 120, 8);\n }\n return value;\n };\n\n const getCurrentFocused = (): \"none\" | \"start\" | \"end\" => {\n switch (focusedInput) {\n case \"from\":\n return \"start\";\n case \"to\":\n return \"end\";\n case \"none\":\n return focusedInput;\n }\n };\n\n const currentOptions = useMemo(() => {\n if (focusedInput === \"none\") return [];\n return options?.[focusedInput] ?? [];\n }, [focusedInput, options]);\n\n const currentSelectedItems = useMemo(() => {\n if (focusedInput === \"none\") return [];\n const selected =\n focusedInput === \"from\" ? selectedFromValue : selectedToValue;\n return selected ? [selected] : [];\n }, [focusedInput, selectedFromValue, selectedToValue]);\n\n const openDropdownFor = (rangeType: RangeType) => {\n if (disabled || readOnly) return;\n\n const nextFocusedInput =\n rangeType === \"to\" && !selectedFromValue ? \"from\" : rangeType;\n\n setFocusedInput(nextFocusedInput);\n triggerOptionDisplayCallback(true);\n };\n\n const focusButton = (type: RangeType) => {\n labelButtonRef[type].current?.focus();\n };\n\n const getButtonLabelledBy = (rangeType: RangeType) => {\n const rangeLabelId = rangeType === \"from\" ? fromLabelId : toLabelId;\n return concatIds(rangeLabelId, ariaLabelledBy);\n };\n\n const getDropdownAriaLabel = () => {\n if (focusedInput === \"from\") {\n return `Selecting for: ${placeholders?.from}`;\n }\n\n if (focusedInput === \"to\") {\n return `Selecting for: ${placeholders?.to}`;\n }\n\n return undefined;\n };\n\n // =============================================================================\n // EVENT HANDLERS\n // =============================================================================\n const handleSelectorClick =\n (rangeType: RangeType) => (event: React.MouseEvent) => {\n event.stopPropagation();\n event.preventDefault();\n openDropdownFor(rangeType);\n };\n\n const handleSelectorKeyDown =\n (rangeType: RangeType) =>\n (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (disabled || readOnly) return;\n\n switch (event.key) {\n case \"Enter\":\n case \" \":\n case \"ArrowDown\":\n event.preventDefault();\n openDropdownFor(rangeType);\n break;\n default:\n break;\n }\n };\n\n const handleListItemClick = (item: T, extractedValue: V) => {\n if (focusedInput === \"none\") return;\n\n if (focusedInput === \"from\") {\n setSelectedFromValue(item);\n onSelectOption?.({ from: item }, extractedValue);\n\n setSelectedToValue(undefined);\n setFocusedInput(\"to\");\n triggerOptionDisplayCallback(true);\n focusButton(\"to\");\n return;\n }\n\n setSelectedToValue(item);\n onSelectOption?.({ to: item }, extractedValue);\n\n setFocusedInput(\"none\");\n triggerOptionDisplayCallback(false);\n focusButton(\"to\");\n };\n\n const handleDismiss = () => {\n const last = focusedInput;\n\n setFocusedInput(\"none\");\n triggerOptionDisplayCallback(false);\n\n if (last === \"to\") focusButton(\"to\");\n else focusButton(\"from\");\n\n if (!selectedFromValue || !selectedToValue) {\n setSelectedFromValue(undefined);\n setSelectedToValue(undefined);\n }\n };\n\n const handleClose = () => {\n setFocusedInput(\"none\");\n triggerOptionDisplayCallback(false);\n\n if (!selectedFromValue || !selectedToValue) {\n setSelectedFromValue(undefined);\n setSelectedToValue(undefined);\n }\n };\n\n const handleOpen = () => {\n if (disabled || readOnly) return;\n\n if (focusedInput === \"none\") {\n setFocusedInput(\"from\");\n triggerOptionDisplayCallback(true);\n }\n };\n\n const handleClear = (event: React.MouseEvent) => {\n event.stopPropagation();\n event.preventDefault();\n setSelectedFromValue(undefined);\n setSelectedToValue(undefined);\n onSelectOption?.({ from: undefined, to: undefined }, undefined);\n\n focusButton(\"from\");\n };\n\n // =============================================================================\n // RENDER\n // =============================================================================\n const renderLabel = (rangeType: RangeType) => {\n const selected =\n rangeType === \"from\" ? selectedFromValue : selectedToValue;\n\n if (!selected) {\n return (\n <PlaceholderLabel truncateType={optionTruncationType}>\n {truncateValue(rangeType, placeholders?.[rangeType] || \"\")}\n </PlaceholderLabel>\n );\n }\n\n if (renderCustomSelectedOption) {\n return renderCustomSelectedOption(selected);\n }\n\n return (\n <ValueLabel truncateType={optionTruncationType}>\n {truncateValue(rangeType, getDisplayValue(rangeType))}\n </ValueLabel>\n );\n };\n\n const renderSelectorContent = (rangeType: RangeType) => (\n <button\n type=\"button\"\n role=\"combobox\"\n aria-labelledby={getButtonLabelledBy(rangeType)}\n aria-describedby={ariaDescribedBy}\n aria-expanded={isOpen && focusedInput === rangeType}\n aria-controls={listboxId}\n aria-disabled={disabled}\n aria-readonly={readOnly}\n onClick={handleSelectorClick(rangeType)}\n onKeyDown={handleSelectorKeyDown(rangeType)}\n ref={labelButtonRef[rangeType]}\n tabIndex={0}\n className={styles.rangeSelectorButton}\n >\n {renderLabel(rangeType)}\n </button>\n );\n\n const renderElement = () => {\n return (\n <InputWrapper\n className={clsx(styles.styledInputWrapper, className)}\n data-testid={testId}\n disabled={disabled}\n readOnly={readOnly}\n error={error}\n focused={isOpen}\n >\n <VisuallyHidden id={fromLabelId}>\n {placeholders?.from || \"Select From\"}\n </VisuallyHidden>\n <VisuallyHidden id={toLabelId}>\n {placeholders?.to || \"Select To\"}\n </VisuallyHidden>\n\n <RangeInputInnerContainer\n currentActive={getCurrentFocused()}\n error={error}\n >\n {renderSelectorContent(\"from\")}\n {renderSelectorContent(\"to\")}\n </RangeInputInnerContainer>\n\n {!isOpen &&\n selectedFromValue &&\n selectedToValue &&\n !readOnly &&\n !disabled && (\n <div\n className={inputWrapperStyles.clearButtonContainer}\n >\n <ClearButton\n onClick={handleClear}\n type=\"button\"\n aria-label=\"Clear\"\n />\n </div>\n )}\n </InputWrapper>\n );\n };\n\n const renderDropdown = () => {\n return (\n <DropdownList\n ref={dropdownRef}\n data-testid={`${testId}-dropdown`}\n listboxId={listboxId}\n ariaLabel={getDropdownAriaLabel()}\n listItems={currentOptions}\n onSelectItem={handleListItemClick}\n onDismiss={handleDismiss}\n valueExtractor={valueExtractor}\n listExtractor={listExtractor}\n selectedItems={currentSelectedItems}\n itemsLoadState={optionsLoadState[focusedInput as RangeType]}\n itemTruncationType={optionTruncationType}\n onRetry={onRetry}\n width={dropdownWidth}\n matchElementWidth={!dropdownWidth}\n enableSearch={enableSearch}\n searchFunction={searchFunction}\n searchPlaceholder={searchPlaceholder}\n renderListItem={renderListItem}\n renderCustomCallToAction={renderCustomCallToAction}\n />\n );\n };\n\n return (\n <div id={id} {...otherProps}>\n <DropdownListState>\n <ElementWithDropdown\n enabled={!readOnly && !disabled}\n isOpen={isOpen}\n renderElement={renderElement}\n renderDropdown={renderDropdown}\n onOpen={handleOpen}\n onClose={handleClose}\n onDismiss={handleDismiss}\n clickToToggle={false}\n offset={8}\n alignment={alignment}\n fitAvailableHeight\n customZIndex={dropdownZIndex}\n rootNode={dropdownRootNode}\n />\n </DropdownListState>\n </div>\n );\n};\n"],"names":["InputRangeSelect","_a","selectedOptions","placeholders","from","to","options","disabled","className","readOnly","error","testId","id","enableSearch","searchFunction","searchPlaceholder","valueExtractor","valueToStringFunction","listExtractor","displayValueExtractor","onSelectOption","onShowOptions","onHideOptions","onRetry","optionsLoadState","optionTruncationType","renderCustomSelectedOption","renderListItem","renderCustomCallToAction","alignment","dropdownZIndex","dropdownRootNode","dropdownWidth","ariaLabelledBy","ariaDescribedBy","otherProps","__rest","selectedFromValue","setSelectedFromValue","useState","selectedToValue","setSelectedToValue","focusedInput","setFocusedInput","isOpen","labelButtonRef","useRef","dropdownRef","internalId","useId","listboxId","fromLabelId","toLabelId","useEffect","current","refocus","index","triggerOptionDisplayCallback","show","getDisplayValue","rangeType","selected","value","_b","toString","call","truncateValue","type","widthOfElement","getBoundingClientRect","width","StringHelper","truncateOneLine","getCurrentFocused","currentOptions","useMemo","currentSelectedItems","openDropdownFor","focusButton","focus","getButtonLabelledBy","concatIds","handleSelectorClick","event","stopPropagation","preventDefault","handleSelectorKeyDown","key","handleListItemClick","item","extractedValue","undefined","handleDismiss","last","handleClear","renderLabel","_jsx","ValueLabel","truncateType","children","PlaceholderLabel","renderSelectorContent","role","onClick","onKeyDown","ref","tabIndex","styles.rangeSelectorButton","Object","assign","DropdownListState","ElementWithDropdown","enabled","renderElement","_jsxs","InputWrapper","clsx","styles.styledInputWrapper","focused","VisuallyHidden","RangeInputInnerContainer","currentActive","inputWrapperStyles.clearButtonContainer","ClearButton","renderDropdown","DropdownList","ariaLabel","listItems","onSelectItem","onDismiss","selectedItems","itemsLoadState","itemTruncationType","matchElementWidth","onOpen","onClose","clickToToggle","offset","fitAvailableHeight","customZIndex","rootNode"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- .s7h6auw{height:3rem;}
2
- .ryu6qy6{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:0;background:transparent;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;color:var(--fds-colour-text);}.ryu6qy6:focus,.ryu6qy6:active{outline:none;}.ryu6qy6:focus-visible{outline:2px solid var(--fds-colour-border-focus);border-radius:var(--fds-radius-sm);}.ryu6qy6:disabled{cursor:not-allowed;}
1
+ @layer fds{.s7h6auw{height:3rem;}
2
+ .ryu6qy6{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:0;background:transparent;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;color:var(--fds-colour-text);}.ryu6qy6:focus,.ryu6qy6:active{outline:none;}.ryu6qy6:focus-visible{outline:2px solid var(--fds-colour-border-focus);border-radius:var(--fds-radius-sm);}.ryu6qy6:disabled{cursor:not-allowed;}}
@@ -1,4 +1,4 @@
1
- .ww40rx{isolation:isolate;}
1
+ @layer fds{.ww40rx{isolation:isolate;}
2
2
  .l12n1bv5{margin-top:var(--fds-spacing-8);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:space-between;-webkit-justify-content:space-between;justify-content:space-between;gap:var(--fds-spacing-8);}
3
3
  .i1ewqtcj{margin-bottom:var(--fds-spacing-8);}
4
4
  .ldf0qhx{overflow-wrap:anywhere;}
@@ -10,4 +10,4 @@
10
10
  .s3aojwv{height:0.25rem;top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);border-radius:var(--fds-radius-full);--fds-internal-inputRangeSlider-track-backgroundColor:initial;background:var(
11
11
  --fds-internal-inputRangeSlider-track-backgroundColor,
12
12
  var(--fds-colour-border-strong)
13
- );}
13
+ );}}
@@ -1,2 +1,2 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useState as r,useRef as t,useEffect as o}from"react";import"clsx";import"../theme/theme-provider/index.js";import"../theme/theme-provider/context.js";import"../theme/tokens/border.js";import"../theme/tokens/colour.js";import"../theme/tokens/font.js";import"../theme/tokens/media-query.js";import"../util/calendar-helper.js";import"../external/dayjs/dayjs.min.js";import{useId as i}from"../util/simple-id-generator.js";import{StringHelper as s}from"../util/string-helper.js";import"@react-aria/live-announcer";import"../theme/utils/use-media-query.js";import"../shared/dropdown-list/dropdown-label.styles_1dwmd8f.css";import{DropdownList as n}from"../shared/dropdown-list/dropdown-list.js";import{DropdownListState as l}from"../shared/dropdown-list/dropdown-list-state.js";import{ExpandableElement as a}from"../shared/dropdown-list/expandable-element.js";import"@lifesg/react-icons/caret-right";import"@lifesg/react-icons/exclamation-circle-fill";import"@lifesg/react-icons/minus-square-fill";import"@lifesg/react-icons/square";import"@lifesg/react-icons/square-tick-fill";import"@lifesg/react-icons/tick";import"react-virtuoso";import"../markup/markup.js";import"../_virtual/_tslib.js";import"../shared/component-loading-spinner/component-loading-spinner.styles_15eq02i.css";import{ElementWithDropdown as d}from"../shared/dropdown-wrapper/element-with-dropdown.js";import{InputBox as p}from"../shared/input-wrapper/input-wrapper.js";import"../shared/dropdown-list/dropdown-list.styles_1kt4zhf.css";import"../shared/dropdown-list/dropdown-search.js";import"../shared/dropdown-list/nested-dropdown-list.styles_wdhxoe.css";import"immer";import"../external/lodash/_getTag.js";import"../external/lodash/isArguments.js";import"../external/lodash/_baseGetTag.js";import"../external/lodash/isBuffer.js";import"../external/lodash/isTypedArray.js";import"../external/lodash/_Stack.js";import"../external/lodash/_SetCache.js";import"../external/lodash/_equalByTag.js";import"../shared/dropdown-list/virtuoso-components.js";import{LabelContainer as c,PlaceholderLabel as m,ValueLabel as u}from"../shared/dropdown-wrapper/dropdown-wrapper.js";const h=({selectedOption:h,placeholder:f="Select",options:w,disabled:j,error:x,className:b,"data-testid":g,id:y,"aria-labelledby":v,"aria-describedby":_,"aria-invalid":T,enableSearch:I=!1,searchFunction:S,searchPlaceholder:A,valueExtractor:k,valueToStringFunction:C,listExtractor:O,displayValueExtractor:R,onSelectOption:q,onShowOptions:D,onHideOptions:E,onRetry:L,optionsLoadState:H="success",optionTruncationType:N="end",renderCustomSelectedOption:P,renderListItem:B,hideNoResultsDisplay:G,noResultsDescription:F,customLabels:M,renderCustomCallToAction:W,onBlur:Z,variant:z="default",readOnly:V,alignment:J,dropdownZIndex:K,dropdownRootNode:Q,dropdownWidth:U})=>{const[X,Y]=r(h),[$,ee]=r(!1),[re,te]=r(!1),oe=i(),ie=t(null),se=t(null),ne=t(null);o((()=>{Y(h)}),[h]);const le=(e,r)=>{var t;null===(t=se.current)||void 0===t||t.focus(),Y(e),ee(!1),ue(!1),null==q||q(e,r)},ae=()=>{$&&(ee(!1),ue(!1))},de=()=>{re||$||te(!0)},pe=e=>{re&&!$&&ie.current&&!ie.current.contains(e.relatedTarget)&&(te(!1),null==Z||Z())},ce=()=>{var e;if(!X)return"";if(R)return R(X);if(k){const r=k(X);return C?C(r):null!==(e=null==r?void 0:r.toString())&&void 0!==e?e:""}return X.toString()},me=e=>{if("middle"===N){let r=0;return ne&&ne.current&&(r=ne.current.getBoundingClientRect().width),s.truncateOneLine(e,r,120,8)}return e},ue=e=>{e?null==D||D():null==E||E()};return e(l,{children:e(d,{enabled:!V&&!j,isOpen:$,renderElement:()=>e(p,{className:b,"data-testid":g,id:y,ref:ie,tabIndex:-1,onFocus:de,onBlur:pe,focused:re,disabled:j,readOnly:V,error:x,children:e(a,{ref:se,disabled:j,expanded:$,listboxId:oe,popupRole:"listbox",readOnly:V,variant:z,"aria-labelledby":v,"aria-describedby":_,"aria-invalid":T,children:e(c,{ref:ne,disabled:j,children:X?P?P(X):e(u,{variant:z,truncateType:N,children:me(ce())}):e(m,{variant:z,truncateType:N,children:f})})})}),renderDropdown:()=>e(n,{listboxId:oe,listItems:w,onSelectItem:le,onDismiss:ae,valueExtractor:k,listExtractor:O,enableSearch:I,searchPlaceholder:A,searchFunction:S,selectedItems:X?[X]:[],onRetry:L,itemsLoadState:H,itemTruncationType:N,renderListItem:B,hideNoResultsDisplay:G,noResultsDescription:F,customLabels:M,renderCustomCallToAction:W,variant:z,width:U,matchElementWidth:!0}),onOpen:()=>{ee(!0),ue(!0),te(!0)},onClose:e=>{ee(!1),ue(!1),"click"!==e&&(te(!1),null==Z||Z())},onDismiss:()=>{var e;null===(e=se.current)||void 0===e||e.focus(),ee(!1),ue(!1)},clickToToggle:!0,offset:8,alignment:J,fitAvailableHeight:!0,customZIndex:K,rootNode:Q})})};export{h as InputSelect};
1
+ import{jsx as e}from"react/jsx-runtime";import{useState as r,useRef as t,useEffect as o}from"react";import"clsx";import"../theme/theme-provider/index.js";import"../theme/theme-provider/context.js";import"../theme/tokens/border.js";import"../theme/tokens/colour.js";import"../theme/tokens/font.js";import"../theme/tokens/media-query.js";import"../util/calendar-helper.js";import"../external/dayjs/dayjs.min.js";import{useId as i}from"../util/simple-id-generator.js";import{StringHelper as s}from"../util/string-helper.js";import"@react-aria/live-announcer";import"../theme/utils/use-media-query.js";import"../shared/dropdown-list/dropdown-label.styles_mloii0.css";import{DropdownList as n}from"../shared/dropdown-list/dropdown-list.js";import{DropdownListState as l}from"../shared/dropdown-list/dropdown-list-state.js";import{ExpandableElement as a}from"../shared/dropdown-list/expandable-element.js";import"@lifesg/react-icons/caret-right";import"@lifesg/react-icons/exclamation-circle-fill";import"@lifesg/react-icons/minus-square-fill";import"@lifesg/react-icons/square";import"@lifesg/react-icons/square-tick-fill";import"@lifesg/react-icons/tick";import"react-virtuoso";import"../markup/markup.js";import"../_virtual/_tslib.js";import"../shared/component-loading-spinner/component-loading-spinner.styles_15eq02i.css";import{ElementWithDropdown as d}from"../shared/dropdown-wrapper/element-with-dropdown.js";import{InputBox as p}from"../shared/input-wrapper/input-wrapper.js";import"../shared/dropdown-list/dropdown-list.styles_konwm.css";import"../shared/dropdown-list/dropdown-search.js";import"../shared/dropdown-list/nested-dropdown-list.styles_wdhxoe.css";import"immer";import"../external/lodash/_getTag.js";import"../external/lodash/isArguments.js";import"../external/lodash/_baseGetTag.js";import"../external/lodash/isBuffer.js";import"../external/lodash/isTypedArray.js";import"../external/lodash/_Stack.js";import"../external/lodash/_SetCache.js";import"../external/lodash/_equalByTag.js";import"../shared/dropdown-list/virtuoso-components.js";import{LabelContainer as m,PlaceholderLabel as c,ValueLabel as u}from"../shared/dropdown-wrapper/dropdown-wrapper.js";const h=({selectedOption:h,placeholder:f="Select",options:w,disabled:j,error:x,className:b,"data-testid":g,id:y,"aria-labelledby":v,"aria-describedby":_,"aria-invalid":T,enableSearch:I=!1,searchFunction:S,searchPlaceholder:A,valueExtractor:k,valueToStringFunction:C,listExtractor:O,displayValueExtractor:R,onSelectOption:q,onShowOptions:D,onHideOptions:E,onRetry:L,optionsLoadState:H="success",optionTruncationType:N="end",renderCustomSelectedOption:P,renderListItem:B,hideNoResultsDisplay:G,noResultsDescription:F,customLabels:M,renderCustomCallToAction:W,onBlur:Z,variant:V="default",readOnly:z,alignment:J,dropdownZIndex:K,dropdownRootNode:Q,dropdownWidth:U})=>{const[X,Y]=r(h),[$,ee]=r(!1),[re,te]=r(!1),oe=i(),ie=t(null),se=t(null),ne=t(null);o((()=>{Y(h)}),[h]);const le=(e,r)=>{var t;null===(t=se.current)||void 0===t||t.focus(),Y(e),ee(!1),ue(!1),null==q||q(e,r)},ae=()=>{$&&(ee(!1),ue(!1))},de=()=>{re||$||te(!0)},pe=e=>{re&&!$&&ie.current&&!ie.current.contains(e.relatedTarget)&&(te(!1),null==Z||Z())},me=()=>{var e;if(!X)return"";if(R)return R(X);if(k){const r=k(X);return C?C(r):null!==(e=null==r?void 0:r.toString())&&void 0!==e?e:""}return X.toString()},ce=e=>{if("middle"===N){let r=0;return ne&&ne.current&&(r=ne.current.getBoundingClientRect().width),s.truncateOneLine(e,r,120,8)}return e},ue=e=>{e?null==D||D():null==E||E()};return e(l,{children:e(d,{enabled:!z&&!j,isOpen:$,renderElement:()=>e(p,{className:b,"data-testid":g,id:y,ref:ie,tabIndex:-1,onFocus:de,onBlur:pe,focused:re,disabled:j,readOnly:z,error:x,children:e(a,{ref:se,disabled:j,expanded:$,listboxId:oe,popupRole:"listbox",readOnly:z,variant:V,"aria-labelledby":v,"aria-describedby":_,"aria-invalid":T,children:e(m,{ref:ne,disabled:j,children:X?P?P(X):e(u,{variant:V,truncateType:N,children:ce(me())}):e(c,{variant:V,truncateType:N,children:f})})})}),renderDropdown:()=>e(n,{listboxId:oe,listItems:w,onSelectItem:le,onDismiss:ae,valueExtractor:k,listExtractor:O,enableSearch:I,searchPlaceholder:A,searchFunction:S,selectedItems:X?[X]:[],onRetry:L,itemsLoadState:H,itemTruncationType:N,renderListItem:B,hideNoResultsDisplay:G,noResultsDescription:F,customLabels:M,renderCustomCallToAction:W,variant:V,width:U,matchElementWidth:!0}),onOpen:()=>{ee(!0),ue(!0),te(!0)},onClose:e=>{ee(!1),ue(!1),"click"!==e&&(te(!1),null==Z||Z())},onDismiss:()=>{var e;null===(e=se.current)||void 0===e||e.focus(),ee(!1),ue(!1)},clickToToggle:!0,offset:8,alignment:J,fitAvailableHeight:!0,customZIndex:K,rootNode:Q})})};export{h as InputSelect};
2
2
  //# sourceMappingURL=input-select.js.map