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

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 (1434) hide show
  1. package/_virtual/index.js +1 -1
  2. package/_virtual/index3.js +1 -1
  3. package/alert/alert.js +1 -1
  4. package/alert/alert.js.map +1 -1
  5. package/animations/loading-dots-spinner/loading-dots-spinner.js +1 -1
  6. package/animations/loading-dots-spinner/loading-dots-spinner.js.map +1 -1
  7. package/badge/badge.js +1 -1
  8. package/badge/badge.js.map +1 -1
  9. package/box-container/box-container.js +1 -1
  10. package/box-container/box-container.js.map +1 -1
  11. package/breadcrumb/breadcrumb.js +1 -1
  12. package/breadcrumb/breadcrumb.js.map +1 -1
  13. package/button/button.js +1 -1
  14. package/button/button.js.map +1 -1
  15. package/button/button.styles.d.ts +1 -0
  16. package/button/button.styles.js +1 -1
  17. package/button/button.styles.js.map +1 -1
  18. package/{cjs/button/button.styles_142m6cx.css → button/button.styles_bcpkzm.css} +2 -1
  19. package/cjs/_virtual/index.js +1 -1
  20. package/cjs/_virtual/index3.js +1 -1
  21. package/cjs/alert/alert.js +1 -1
  22. package/cjs/alert/alert.js.map +1 -1
  23. package/cjs/animations/loading-dots-spinner/loading-dots-spinner.js +1 -1
  24. package/cjs/animations/loading-dots-spinner/loading-dots-spinner.js.map +1 -1
  25. package/cjs/badge/badge.js +1 -1
  26. package/cjs/badge/badge.js.map +1 -1
  27. package/cjs/box-container/box-container.js +1 -1
  28. package/cjs/box-container/box-container.js.map +1 -1
  29. package/cjs/breadcrumb/breadcrumb.js +1 -1
  30. package/cjs/breadcrumb/breadcrumb.js.map +1 -1
  31. package/cjs/button/button.js +1 -1
  32. package/cjs/button/button.js.map +1 -1
  33. package/cjs/button/button.styles.js +1 -1
  34. package/cjs/button/button.styles.js.map +1 -1
  35. package/{button/button.styles_142m6cx.css → cjs/button/button.styles_bcpkzm.css} +2 -1
  36. package/cjs/countdown-timer/countdown-timer.js +1 -1
  37. package/cjs/countdown-timer/countdown-timer.js.map +1 -1
  38. package/cjs/countdown-timer/countdown-timer.styles.js +2 -0
  39. package/cjs/countdown-timer/countdown-timer.styles.js.map +1 -0
  40. package/cjs/countdown-timer/countdown-timer.styles_k50tkw.css +8 -0
  41. package/cjs/dashed-border/dashed-border.js +1 -1
  42. package/cjs/dashed-border/dashed-border.js.map +1 -1
  43. package/cjs/data-table/data-table.js +1 -1
  44. package/cjs/data-table/data-table.js.map +1 -1
  45. package/cjs/data-table/data-table.styles.js +1 -152
  46. package/cjs/data-table/data-table.styles.js.map +1 -1
  47. package/cjs/data-table/data-table.styles_1nj2uzq.css +26 -0
  48. package/cjs/date-input/date-input.js +1 -1
  49. package/cjs/date-input/date-input.js.map +1 -1
  50. package/cjs/date-input/date-input.styles.js +2 -0
  51. package/cjs/date-input/date-input.styles.js.map +1 -0
  52. package/cjs/date-input/date-input.styles_1r5kcc7.css +1 -0
  53. package/cjs/date-range-input/date-range-input.js +1 -1
  54. package/cjs/date-range-input/date-range-input.js.map +1 -1
  55. package/cjs/date-range-input/date-range-input.styles.js +2 -0
  56. package/cjs/date-range-input/date-range-input.styles.js.map +1 -0
  57. package/cjs/date-range-input/date-range-input.styles_1s7ojnj.css +4 -0
  58. package/cjs/divider/divider.js +1 -1
  59. package/cjs/divider/divider.js.map +1 -1
  60. package/cjs/e-signature/e-signature.js +1 -1
  61. package/cjs/e-signature/e-signature.js.map +1 -1
  62. package/cjs/e-signature/e-signature.styles.js +18 -18
  63. package/cjs/e-signature/e-signature.styles.js.map +1 -1
  64. package/cjs/error-display/error-display-data.js +1 -1
  65. package/cjs/error-display/error-display-data.js.map +1 -1
  66. package/cjs/error-display/error-display.js +1 -1
  67. package/cjs/error-display/error-display.js.map +1 -1
  68. package/cjs/error-display/helper.js +1 -1
  69. package/cjs/error-display/helper.js.map +1 -1
  70. package/cjs/external/lodash/isNumber.js +2 -0
  71. package/cjs/external/lodash/isNumber.js.map +1 -0
  72. package/cjs/external/lodash.clonedeep/index.js +1 -1
  73. package/cjs/external/lottie-colorify/lib/index.js +1 -1
  74. package/cjs/external/lottie-colorify/lib/index.js.map +1 -1
  75. package/cjs/external/prop-types/external/react-is/index.js +1 -1
  76. package/cjs/external/prop-types/index.js +1 -1
  77. package/cjs/external/prop-types/index.js.map +1 -1
  78. package/cjs/feedback-rating/feedback-rating-stars-container.js +1 -1
  79. package/cjs/feedback-rating/feedback-rating-stars-container.js.map +1 -1
  80. package/cjs/feedback-rating/feedback-rating-stars-container.styles.js +1 -36
  81. package/cjs/feedback-rating/feedback-rating-stars-container.styles.js.map +1 -1
  82. package/cjs/feedback-rating/feedback-rating-stars-container.styles_dmi8z9.css +4 -0
  83. package/cjs/feedback-rating/feedback-rating.js +1 -1
  84. package/cjs/feedback-rating/feedback-rating.js.map +1 -1
  85. package/cjs/feedback-rating/feedback-rating.styles.js +1 -37
  86. package/cjs/feedback-rating/feedback-rating.styles.js.map +1 -1
  87. package/cjs/feedback-rating/feedback-rating.styles_1kdklb6.css +4 -0
  88. package/cjs/file-download/file-list-card/file-list-card.js +1 -1
  89. package/cjs/file-download/file-list-card/file-list-card.js.map +1 -1
  90. package/cjs/file-upload/dropzone.js +1 -1
  91. package/cjs/file-upload/dropzone.js.map +1 -1
  92. package/cjs/file-upload/dropzone.styles.js +1 -34
  93. package/cjs/file-upload/dropzone.styles.js.map +1 -1
  94. package/cjs/file-upload/dropzone.styles_1pllsau.css +6 -0
  95. package/cjs/file-upload/file-item-edit.js +1 -1
  96. package/cjs/file-upload/file-item-edit.js.map +1 -1
  97. package/cjs/file-upload/file-item-edit.styles.js +1 -66
  98. package/cjs/file-upload/file-item-edit.styles.js.map +1 -1
  99. package/cjs/file-upload/file-item-edit.styles_1qbpbxj.css +10 -0
  100. package/cjs/file-upload/file-list-item/file-list-item-thumbnail.js +1 -34
  101. package/cjs/file-upload/file-list-item/file-list-item-thumbnail.js.map +1 -1
  102. package/cjs/file-upload/file-list-item/file-list-item-thumbnail.styles.js +2 -0
  103. package/cjs/file-upload/file-list-item/file-list-item-thumbnail.styles.js.map +1 -0
  104. package/cjs/file-upload/file-list-item/file-list-item-thumbnail.styles_1vrh1ve.css +4 -0
  105. package/cjs/file-upload/file-list-item/file-list-item.js +1 -1
  106. package/cjs/file-upload/file-list-item/file-list-item.js.map +1 -1
  107. package/cjs/file-upload/file-list-item/file-list-item.styles.js +1 -174
  108. package/cjs/file-upload/file-list-item/file-list-item.styles.js.map +1 -1
  109. package/cjs/file-upload/file-list-item/file-list-item.styles_y7my2m.css +14 -0
  110. package/cjs/file-upload/file-list.js +1 -1
  111. package/cjs/file-upload/file-list.js.map +1 -1
  112. package/cjs/file-upload/file-list.styles.js +1 -20
  113. package/cjs/file-upload/file-list.styles.js.map +1 -1
  114. package/cjs/file-upload/file-list.styles_16vplxk.css +3 -0
  115. package/cjs/file-upload/file-upload.js +1 -1
  116. package/cjs/file-upload/file-upload.js.map +1 -1
  117. package/cjs/file-upload/file-upload.styles.js +1 -40
  118. package/cjs/file-upload/file-upload.styles.js.map +1 -1
  119. package/cjs/file-upload/file-upload.styles_9ffwcd.css +8 -0
  120. package/cjs/filter/addons/filter-item-checkbox.js +1 -1
  121. package/cjs/filter/addons/filter-item-checkbox.js.map +1 -1
  122. package/cjs/filter/addons/filter-item-checkbox.styles.js +1 -72
  123. package/cjs/filter/addons/filter-item-checkbox.styles.js.map +1 -1
  124. package/cjs/filter/addons/filter-item-checkbox.styles_18l87i2.css +16 -0
  125. package/cjs/filter/filter-item-page.js +1 -1
  126. package/cjs/filter/filter-item-page.js.map +1 -1
  127. package/cjs/filter/filter-item-page.styles.js +1 -7
  128. package/cjs/filter/filter-item-page.styles.js.map +1 -1
  129. package/cjs/filter/filter-item-page.styles_17ewfrz.css +1 -0
  130. package/cjs/filter/filter-item.js +1 -1
  131. package/cjs/filter/filter-item.js.map +1 -1
  132. package/cjs/filter/filter-item.styles.js +1 -63
  133. package/cjs/filter/filter-item.styles.js.map +1 -1
  134. package/cjs/filter/filter-item.styles_1e3v6qq.css +17 -0
  135. package/cjs/filter/filter-modal.js +1 -1
  136. package/cjs/filter/filter-modal.js.map +1 -1
  137. package/cjs/filter/filter-modal.styles.js +1 -29
  138. package/cjs/filter/filter-modal.styles.js.map +1 -1
  139. package/cjs/filter/filter-modal.styles_e0ev97.css +8 -0
  140. package/cjs/filter/filter-sidebar.js +1 -1
  141. package/cjs/filter/filter-sidebar.js.map +1 -1
  142. package/cjs/filter/filter-sidebar.styles.js +1 -23
  143. package/cjs/filter/filter-sidebar.styles.js.map +1 -1
  144. package/cjs/filter/filter-sidebar.styles_cwvqql.css +4 -0
  145. package/cjs/filter/filter.js +1 -1
  146. package/cjs/filter/filter.js.map +1 -1
  147. package/cjs/filter/filter.styles.js +1 -26
  148. package/cjs/filter/filter.styles.js.map +1 -1
  149. package/cjs/filter/filter.styles_2fmaok.css +5 -0
  150. package/cjs/form/form-label-addon.js +1 -1
  151. package/cjs/form/form-label-addon.js.map +1 -1
  152. package/cjs/form/form-masked-input.js +1 -1
  153. package/cjs/form/form-masked-input.js.map +1 -1
  154. package/cjs/form/form-time-range-picker.js +1 -1
  155. package/cjs/form/form-time-range-picker.js.map +1 -1
  156. package/cjs/form/index.js.map +1 -1
  157. package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.js +1 -1
  158. package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.js.map +1 -1
  159. package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.styles.js +2 -0
  160. package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.styles.js.map +1 -0
  161. package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.styles_vc6y5c.css +75 -0
  162. package/cjs/fullscreen-image-carousel/stateful-image.js +1 -1
  163. package/cjs/fullscreen-image-carousel/stateful-image.js.map +1 -1
  164. package/cjs/fullscreen-image-carousel/stateful-image.styles.js +2 -0
  165. package/cjs/fullscreen-image-carousel/stateful-image.styles.js.map +1 -0
  166. package/cjs/fullscreen-image-carousel/stateful-image.styles_1xe8ypm.css +3 -0
  167. package/cjs/histogram-slider/histogram-slider.js +1 -1
  168. package/cjs/histogram-slider/histogram-slider.js.map +1 -1
  169. package/cjs/index.js +1 -1
  170. package/cjs/input-group/input-group-list-addon.js +1 -1
  171. package/cjs/input-group/input-group-list-addon.js.map +1 -1
  172. package/cjs/input-group/input-group-list-addon.styles.js +1 -1
  173. package/cjs/input-group/input-group-list-addon.styles.js.map +1 -1
  174. package/{input-group/input-group-list-addon.styles_1my6j2v.css → cjs/input-group/input-group-list-addon.styles_17iuqtw.css} +2 -2
  175. package/cjs/input-group/input-group.js +1 -1
  176. package/cjs/input-group/input-group.js.map +1 -1
  177. package/cjs/input-multi-select/input-multi-select.js +1 -1
  178. package/cjs/input-multi-select/input-multi-select.js.map +1 -1
  179. package/cjs/input-nested-multi-select/input-nested-multi-select.js +1 -1
  180. package/cjs/input-nested-multi-select/input-nested-multi-select.js.map +1 -1
  181. package/cjs/input-nested-select/input-nested-select.js +1 -1
  182. package/cjs/input-nested-select/input-nested-select.js.map +1 -1
  183. package/cjs/input-range-select/input-range-select.js +1 -1
  184. package/cjs/input-range-select/input-range-select.js.map +1 -1
  185. package/cjs/input-range-select/input-range-select.styles.js +2 -0
  186. package/cjs/input-range-select/input-range-select.styles.js.map +1 -0
  187. package/cjs/input-range-select/input-range-select.styles_adbrbm.css +2 -0
  188. package/cjs/input-range-slider/input-range-slider.js +1 -1
  189. package/cjs/input-range-slider/input-range-slider.js.map +1 -1
  190. package/cjs/input-range-slider/slider-components.js +1 -1
  191. package/cjs/input-range-slider/slider-components.js.map +1 -1
  192. package/cjs/input-select/input-select.js +1 -1
  193. package/cjs/input-select/input-select.js.map +1 -1
  194. package/cjs/language-switcher/dropdown-panel.js +2 -0
  195. package/cjs/language-switcher/dropdown-panel.js.map +1 -0
  196. package/cjs/language-switcher/dropdown-panel.styles.js +2 -0
  197. package/cjs/language-switcher/dropdown-panel.styles.js.map +1 -0
  198. package/cjs/language-switcher/dropdown-panel.styles_1z0n7qq.css +4 -0
  199. package/cjs/language-switcher/dropdown-variant.js +1 -1
  200. package/cjs/language-switcher/dropdown-variant.js.map +1 -1
  201. package/cjs/language-switcher/dropdown-variant.styles.js +2 -0
  202. package/cjs/language-switcher/dropdown-variant.styles.js.map +1 -0
  203. package/cjs/language-switcher/dropdown-variant.styles_16c4wc1.css +2 -0
  204. package/cjs/language-switcher/link-container-variant.js +1 -1
  205. package/cjs/language-switcher/link-container-variant.js.map +1 -1
  206. package/cjs/language-switcher/link-container-variant.styles.js +2 -0
  207. package/cjs/language-switcher/link-container-variant.styles.js.map +1 -0
  208. package/cjs/language-switcher/link-container-variant.styles_1blx9qm.css +5 -0
  209. package/cjs/layout/col-div.js +1 -1
  210. package/cjs/layout/col-div.js.map +1 -1
  211. package/cjs/link-list/components/common.js +1 -1
  212. package/cjs/link-list/components/common.js.map +1 -1
  213. package/cjs/link-list/components/link-list-eager.js +1 -1
  214. package/cjs/link-list/components/link-list-eager.js.map +1 -1
  215. package/cjs/link-list/components/link-list-lazy.js +1 -1
  216. package/cjs/link-list/components/link-list-lazy.js.map +1 -1
  217. package/cjs/link-list/link-list.js +1 -1
  218. package/cjs/link-list/link-list.js.map +1 -1
  219. package/cjs/link-list/link-list.styles.js +1 -89
  220. package/cjs/link-list/link-list.styles.js.map +1 -1
  221. package/cjs/link-list/link-list.styles_1g33nb4.css +13 -0
  222. package/cjs/local-nav/local-nav-dropdown/local-nav-dropdown.js +1 -1
  223. package/cjs/local-nav/local-nav-dropdown/local-nav-dropdown.js.map +1 -1
  224. package/cjs/local-nav/local-nav-dropdown/local-nav-dropdown.styles.js +1 -100
  225. package/cjs/local-nav/local-nav-dropdown/local-nav-dropdown.styles.js.map +1 -1
  226. package/cjs/local-nav/local-nav-dropdown/local-nav-dropdown.styles_ftv36t.css +13 -0
  227. package/cjs/local-nav/local-nav-menu/local-nav-menu.js +1 -1
  228. package/cjs/local-nav/local-nav-menu/local-nav-menu.js.map +1 -1
  229. package/cjs/local-nav/local-nav-menu/local-nav-menu.styles.js +1 -39
  230. package/cjs/local-nav/local-nav-menu/local-nav-menu.styles.js.map +1 -1
  231. package/cjs/local-nav/local-nav-menu/local-nav-menu.styles_pq19dh.css +5 -0
  232. package/cjs/markup/markup.js +1 -1
  233. package/cjs/markup/markup.js.map +1 -1
  234. package/cjs/masked-input/masked-input.js +1 -1
  235. package/cjs/masked-input/masked-input.js.map +1 -1
  236. package/cjs/masked-input/masked-input.styles.js +2 -0
  237. package/cjs/masked-input/masked-input.styles.js.map +1 -0
  238. package/cjs/masked-input/masked-input.styles_4i1qsy.css +16 -0
  239. package/cjs/menu/menu-content.js +1 -1
  240. package/cjs/menu/menu-content.js.map +1 -1
  241. package/cjs/menu/menu-content.styles.js +1 -1
  242. package/cjs/menu/menu-content.styles.js.map +1 -1
  243. package/cjs/menu/{menu-content.styles_1b7d6qf.css → menu-content.styles_p7ijll.css} +1 -1
  244. package/cjs/menu/menu.js +1 -1
  245. package/cjs/menu/menu.js.map +1 -1
  246. package/cjs/modal/modal.js +1 -1
  247. package/cjs/modal/modal.js.map +1 -1
  248. package/cjs/modal-v2/modal-v2.js +1 -1
  249. package/cjs/modal-v2/modal-v2.js.map +1 -1
  250. package/cjs/navbar/brand.js +1 -1
  251. package/cjs/navbar/brand.js.map +1 -1
  252. package/cjs/navbar/brand.styles.js +1 -12
  253. package/cjs/navbar/brand.styles.js.map +1 -1
  254. package/cjs/navbar/brand.styles_zcgddp.css +1 -0
  255. package/cjs/navbar/drawer.js +1 -1
  256. package/cjs/navbar/drawer.js.map +1 -1
  257. package/cjs/navbar/drawer.styles.js +1 -65
  258. package/cjs/navbar/drawer.styles.js.map +1 -1
  259. package/cjs/navbar/drawer.styles_7hnxp5.css +8 -0
  260. package/cjs/navbar/menu.js +1 -1
  261. package/cjs/navbar/menu.js.map +1 -1
  262. package/cjs/navbar/menu.styles.js +1 -34
  263. package/cjs/navbar/menu.styles.js.map +1 -1
  264. package/cjs/navbar/menu.styles_gdpqc.css +3 -0
  265. package/cjs/navbar/navbar-action-buttons.js +1 -1
  266. package/cjs/navbar/navbar-action-buttons.js.map +1 -1
  267. package/cjs/navbar/navbar-action-buttons.styles.js +1 -100
  268. package/cjs/navbar/navbar-action-buttons.styles.js.map +1 -1
  269. package/cjs/navbar/navbar-action-buttons.styles_1vpm0nk.css +10 -0
  270. package/cjs/navbar/navbar-items.js +1 -1
  271. package/cjs/navbar/navbar-items.js.map +1 -1
  272. package/cjs/navbar/navbar-items.styles.js +1 -114
  273. package/cjs/navbar/navbar-items.styles.js.map +1 -1
  274. package/cjs/navbar/navbar-items.styles_i9cunu.css +19 -0
  275. package/cjs/navbar/navbar-logo-data.js +1 -1
  276. package/cjs/navbar/navbar-logo-data.js.map +1 -1
  277. package/cjs/navbar/navbar.js +1 -1
  278. package/cjs/navbar/navbar.js.map +1 -1
  279. package/cjs/navbar/navbar.styles.js +1 -79
  280. package/cjs/navbar/navbar.styles.js.map +1 -1
  281. package/cjs/navbar/navbar.styles_koy0c7.css +20 -0
  282. package/cjs/notification-banner/notification-banner.js +1 -1
  283. package/cjs/notification-banner/notification-banner.js.map +1 -1
  284. package/cjs/notification-banner/notification-banner.styles.js +1 -111
  285. package/cjs/notification-banner/notification-banner.styles.js.map +1 -1
  286. package/cjs/notification-banner/notification-banner.styles_130loac.css +12 -0
  287. package/cjs/otp-input/otp-input.js +1 -1
  288. package/cjs/otp-input/otp-input.js.map +1 -1
  289. package/cjs/otp-input/otp-input.styles.js +1 -22
  290. package/cjs/otp-input/otp-input.styles.js.map +1 -1
  291. package/cjs/otp-input/otp-input.styles_5sbutl.css +5 -0
  292. package/cjs/otp-verification/contact-input-section-styles.js +18 -16
  293. package/cjs/otp-verification/contact-input-section-styles.js.map +1 -1
  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/verification-section.js +1 -1
  297. package/cjs/otp-verification/verification-section.js.map +1 -1
  298. package/cjs/overlay/overlay.js +1 -1
  299. package/cjs/overlay/overlay.js.map +1 -1
  300. package/cjs/pagination/pagination.js +1 -1
  301. package/cjs/pagination/pagination.js.map +1 -1
  302. package/cjs/popover/index.js +1 -1
  303. package/{popover-v2 → cjs/popover}/popover-inline/popover-inline.js.map +1 -1
  304. package/cjs/popover/popover-inline/popover-inline.styles.js +2 -0
  305. package/{popover-v2 → cjs/popover}/popover-inline/popover-inline.styles.js.map +1 -1
  306. package/cjs/popover/popover-inline/popover-inline.styles_bkopnt.css +2 -0
  307. package/cjs/popover/popover-trigger.js +2 -0
  308. package/cjs/popover/popover-trigger.js.map +1 -0
  309. package/cjs/popover/popover-trigger.styles.js +2 -0
  310. package/{popover-v2 → cjs/popover}/popover-trigger.styles.js.map +1 -1
  311. package/cjs/popover/popover-trigger.styles_8zokig.css +1 -0
  312. package/cjs/popover/popover.js +1 -1
  313. package/cjs/popover/popover.js.map +1 -1
  314. package/cjs/popover/popover.styles.js +1 -74
  315. package/cjs/popover/popover.styles.js.map +1 -1
  316. package/cjs/popover/popover.styles_ujnf0h.css +4 -0
  317. package/cjs/predictive-text-input/predictive-text-input.js +1 -1
  318. package/cjs/predictive-text-input/predictive-text-input.js.map +1 -1
  319. package/cjs/progress-indicator/progress-indicator.js +1 -1
  320. package/cjs/progress-indicator/progress-indicator.js.map +1 -1
  321. package/cjs/progress-indicator/progress-indicator.styles.js +2 -0
  322. package/cjs/progress-indicator/progress-indicator.styles.js.map +1 -0
  323. package/cjs/progress-indicator/progress-indicator.styles_1c038s4.css +8 -0
  324. package/cjs/schedule/schedule.js +1 -1
  325. package/cjs/schedule/schedule.js.map +1 -1
  326. package/cjs/schedule/shared/with-optional-popover.js +1 -1
  327. package/cjs/schedule/shared/with-optional-popover.js.map +1 -1
  328. package/cjs/select-histogram/select-histogram.js +1 -1
  329. package/cjs/select-histogram/select-histogram.js.map +1 -1
  330. package/cjs/select-histogram/select-histogram.styles.js +1 -37
  331. package/cjs/select-histogram/select-histogram.styles.js.map +1 -1
  332. package/cjs/select-histogram/select-histogram.styles_11916eo.css +5 -0
  333. package/cjs/shared/component-loading-spinner/component-loading-spinner.js +1 -1
  334. package/cjs/shared/component-loading-spinner/component-loading-spinner.js.map +1 -1
  335. package/cjs/shared/dropdown-list/dropdown-label.js +1 -1
  336. package/cjs/shared/dropdown-list/dropdown-label.js.map +1 -1
  337. package/cjs/shared/dropdown-list/dropdown-list.js +1 -1
  338. package/cjs/shared/dropdown-list/dropdown-list.js.map +1 -1
  339. package/cjs/shared/dropdown-list/dropdown-list.styles.js +1 -1
  340. package/cjs/shared/dropdown-list/dropdown-list.styles.js.map +1 -1
  341. package/{shared/dropdown-list/dropdown-list.styles_1qveyb9.css → cjs/shared/dropdown-list/dropdown-list.styles_1kt4zhf.css} +3 -6
  342. package/cjs/shared/dropdown-list/nested-dropdown-list.js +1 -1
  343. package/cjs/shared/dropdown-list/nested-dropdown-list.js.map +1 -1
  344. package/cjs/shared/dropdown-wrapper/element-with-dropdown.js +1 -1
  345. package/cjs/shared/dropdown-wrapper/element-with-dropdown.js.map +1 -1
  346. package/cjs/shared/fade-wrapper/fade-wrapper.js +1 -1
  347. package/cjs/shared/fade-wrapper/fade-wrapper.js.map +1 -1
  348. package/cjs/shared/fade-wrapper/helpers.js +1 -1
  349. package/cjs/shared/fade-wrapper/helpers.js.map +1 -1
  350. package/cjs/shared/input-wrapper/input-wrapper.js +1 -1
  351. package/cjs/shared/input-wrapper/input-wrapper.js.map +1 -1
  352. package/cjs/shared/input-wrapper/input-wrapper.styles.js +1 -1
  353. package/cjs/shared/input-wrapper/input-wrapper.styles.js.map +1 -1
  354. package/cjs/shared/input-wrapper/{input-wrapper.styles_1kc4xhb.css → input-wrapper.styles_19fpzb.css} +3 -0
  355. package/cjs/shared/internal-calendar/calendar-dropdown.js +1 -1
  356. package/cjs/shared/internal-calendar/calendar-dropdown.js.map +1 -1
  357. package/cjs/shared/progress-bar/progress-bar.js +1 -1
  358. package/cjs/shared/progress-bar/progress-bar.js.map +1 -1
  359. package/cjs/shared/standalone-date-input/standalone-date-input.js +1 -1
  360. package/cjs/shared/standalone-date-input/standalone-date-input.js.map +1 -1
  361. package/cjs/shared/standalone-date-input/standalone-date-input.styles.js +1 -1
  362. package/cjs/shared/standalone-date-input/standalone-date-input.styles.js.map +1 -1
  363. package/{shared/standalone-date-input/standalone-date-input.styles_1mqophx.css → cjs/shared/standalone-date-input/standalone-date-input.styles_1m0da43.css} +10 -11
  364. package/cjs/shared/time-slot/time-slot.js +2 -0
  365. package/cjs/shared/time-slot/time-slot.js.map +1 -0
  366. package/cjs/shared/time-slot/time-slot.styles.js +2 -0
  367. package/cjs/shared/time-slot/time-slot.styles.js.map +1 -0
  368. package/cjs/shared/time-slot/time-slot.styles_1r9na3f.css +17 -0
  369. package/cjs/smart-app-banner/smart-app-banner.js +1 -1
  370. package/cjs/smart-app-banner/smart-app-banner.js.map +1 -1
  371. package/cjs/smart-app-banner/smart-app-banner.styles.js +1 -93
  372. package/cjs/smart-app-banner/smart-app-banner.styles.js.map +1 -1
  373. package/cjs/smart-app-banner/smart-app-banner.styles_m5dtgh.css +16 -0
  374. package/cjs/tab/tab-link-chain.js +1 -1
  375. package/cjs/tab/tab-link-chain.js.map +1 -1
  376. package/cjs/text-list/ordered-list.js +1 -1
  377. package/cjs/text-list/ordered-list.js.map +1 -1
  378. package/cjs/text-list/unordered-list.js +1 -1
  379. package/cjs/text-list/unordered-list.js.map +1 -1
  380. package/cjs/theme/index.js +1 -1
  381. package/cjs/theme/theme-provider/breakpoint.js +1 -1
  382. package/cjs/theme/theme-provider/breakpoint.js.map +1 -1
  383. package/cjs/theme/tokens/font.js +1 -1
  384. package/cjs/theme/tokens/font.js.map +1 -1
  385. package/cjs/theme/utils/css-variable.js +1 -1
  386. package/cjs/theme/utils/css-variable.js.map +1 -1
  387. package/cjs/theme/utils/use-media-query.js +2 -0
  388. package/cjs/theme/utils/use-media-query.js.map +1 -0
  389. package/cjs/time-range-picker/combobox-picker/combobox-picker.js +1 -1
  390. package/cjs/time-range-picker/combobox-picker/combobox-picker.js.map +1 -1
  391. package/cjs/time-range-picker/combobox-picker/combobox-picker.styles.js +1 -6
  392. package/cjs/time-range-picker/combobox-picker/combobox-picker.styles.js.map +1 -1
  393. package/cjs/time-range-picker/combobox-picker/combobox-picker.styles_7i9vso.css +1 -0
  394. package/cjs/time-range-picker/common.styles.js +1 -10
  395. package/cjs/time-range-picker/common.styles.js.map +1 -1
  396. package/cjs/time-range-picker/common.styles_1qwp4xa.css +3 -0
  397. package/cjs/time-range-picker/dial-picker/dial-picker.js +1 -1
  398. package/cjs/time-range-picker/dial-picker/dial-picker.js.map +1 -1
  399. package/cjs/time-slot-bar/helper.js +1 -1
  400. package/cjs/time-slot-bar/helper.js.map +1 -1
  401. package/cjs/time-slot-bar/time-slot-bar.js +1 -1
  402. package/cjs/time-slot-bar/time-slot-bar.js.map +1 -1
  403. package/cjs/time-slot-bar/time-slot-bar.styles.js +1 -127
  404. package/cjs/time-slot-bar/time-slot-bar.styles.js.map +1 -1
  405. package/cjs/time-slot-bar/time-slot-bar.styles_wigbyd.css +25 -0
  406. package/cjs/time-slot-bar/time-slot-divider.js +2 -0
  407. package/cjs/time-slot-bar/time-slot-divider.js.map +1 -0
  408. package/cjs/time-slot-bar/time-slot-item.js +2 -0
  409. package/cjs/time-slot-bar/time-slot-item.js.map +1 -0
  410. package/cjs/time-slot-bar-week/time-slot-bar-week-days.js +1 -1
  411. package/cjs/time-slot-bar-week/time-slot-bar-week-days.js.map +1 -1
  412. package/cjs/time-slot-bar-week/time-slot-bar-week-days.style.js +25 -22
  413. package/cjs/time-slot-bar-week/time-slot-bar-week-days.style.js.map +1 -1
  414. package/cjs/time-slot-week-view/time-slot-week-days.js +1 -1
  415. package/cjs/time-slot-week-view/time-slot-week-days.js.map +1 -1
  416. package/cjs/time-slot-week-view/time-slot-week-days.style.js +16 -10
  417. package/cjs/time-slot-week-view/time-slot-week-days.style.js.map +1 -1
  418. package/cjs/timeline/timeline.js +1 -1
  419. package/cjs/timeline/timeline.js.map +1 -1
  420. package/cjs/timeline/timeline.styles.js +2 -0
  421. package/cjs/timeline/timeline.styles.js.map +1 -0
  422. package/cjs/timeline/timeline.styles_1wcnzot.css +9 -0
  423. package/cjs/timetable/const.js +1 -1
  424. package/cjs/timetable/const.js.map +1 -1
  425. package/cjs/timetable/timetable-header/timetable-header.js +1 -1
  426. package/cjs/timetable/timetable-header/timetable-header.js.map +1 -1
  427. package/cjs/timetable/timetable-header/timetable-header.styles.js +2 -0
  428. package/cjs/timetable/timetable-header/timetable-header.styles.js.map +1 -0
  429. package/cjs/timetable/timetable-header/timetable-header.styles_11gl1h4.css +6 -0
  430. package/cjs/timetable/timetable-row/row-bar.js +1 -1
  431. package/cjs/timetable/timetable-row/row-bar.js.map +1 -1
  432. package/cjs/timetable/timetable-row/row-bar.styles.js +2 -0
  433. package/cjs/timetable/timetable-row/row-bar.styles.js.map +1 -0
  434. package/cjs/timetable/timetable-row/row-bar.styles_1x0vrsz.css +1 -0
  435. package/cjs/timetable/timetable-row/row-cell.js +1 -1
  436. package/cjs/timetable/timetable-row/row-cell.js.map +1 -1
  437. package/cjs/timetable/timetable-row/row-cell.styles.js +2 -0
  438. package/cjs/timetable/timetable-row/row-cell.styles.js.map +1 -0
  439. package/cjs/timetable/timetable-row/row-cell.styles_y1dl5j.css +7 -0
  440. package/cjs/timetable/timetable-row/with-optional-popover.js +1 -1
  441. package/cjs/timetable/timetable-row/with-optional-popover.js.map +1 -1
  442. package/cjs/timetable/timetable.js +1 -1
  443. package/cjs/timetable/timetable.js.map +1 -1
  444. package/cjs/timetable/timetable.styles.js +2 -0
  445. package/cjs/timetable/timetable.styles.js.map +1 -0
  446. package/cjs/timetable/timetable.styles_7rp8kz.css +46 -0
  447. package/cjs/toast/toast.js +1 -1
  448. package/cjs/toast/toast.js.map +1 -1
  449. package/cjs/toast/toast.styles.js +1 -98
  450. package/cjs/toast/toast.styles.js.map +1 -1
  451. package/cjs/toast/toast.styles_ngrlup.css +8 -0
  452. package/cjs/toggle/toggle.js +1 -1
  453. package/cjs/toggle/toggle.js.map +1 -1
  454. package/cjs/typography/typography.js +1 -1
  455. package/cjs/typography/typography.js.map +1 -1
  456. package/cjs/uneditable-section/item-section.js +1 -1
  457. package/cjs/uneditable-section/item-section.js.map +1 -1
  458. package/cjs/uneditable-section/section-item.js +1 -1
  459. package/cjs/uneditable-section/section-item.js.map +1 -1
  460. package/cjs/uneditable-section/section-item.styles.js +1 -63
  461. package/cjs/uneditable-section/section-item.styles.js.map +1 -1
  462. package/cjs/uneditable-section/section-item.styles_1dfjzc4.css +9 -0
  463. package/cjs/uneditable-section/uneditable-section.js +1 -1
  464. package/cjs/uneditable-section/uneditable-section.js.map +1 -1
  465. package/cjs/uneditable-section/uneditable-section.styles.js +1 -39
  466. package/cjs/uneditable-section/uneditable-section.styles.js.map +1 -1
  467. package/cjs/uneditable-section/uneditable-section.styles_aj9zun.css +8 -0
  468. package/cjs/unit-number/unit-number-input.js +1 -1
  469. package/cjs/unit-number/unit-number-input.js.map +1 -1
  470. package/cjs/unit-number/unit-number-input.styles.js +2 -0
  471. package/cjs/unit-number/unit-number-input.styles.js.map +1 -0
  472. package/cjs/unit-number/unit-number-input.styles_8yizj.css +7 -0
  473. package/cjs/util/styling-helper.js +1 -1
  474. package/cjs/util/styling-helper.js.map +1 -1
  475. package/countdown-timer/countdown-timer.js +1 -1
  476. package/countdown-timer/countdown-timer.js.map +1 -1
  477. package/countdown-timer/countdown-timer.styles.d.ts +15 -0
  478. package/countdown-timer/countdown-timer.styles.js +2 -0
  479. package/countdown-timer/countdown-timer.styles.js.map +1 -0
  480. package/countdown-timer/countdown-timer.styles_k50tkw.css +8 -0
  481. package/dashed-border/dashed-border.js +1 -1
  482. package/dashed-border/dashed-border.js.map +1 -1
  483. package/data-table/data-table.js +1 -1
  484. package/data-table/data-table.js.map +1 -1
  485. package/data-table/data-table.styles.d.ts +30 -83
  486. package/data-table/data-table.styles.js +1 -152
  487. package/data-table/data-table.styles.js.map +1 -1
  488. package/data-table/data-table.styles_1nj2uzq.css +26 -0
  489. package/date-input/date-input.d.ts +1 -1
  490. package/date-input/date-input.js +1 -1
  491. package/date-input/date-input.js.map +1 -1
  492. package/date-input/date-input.styles.d.ts +1 -0
  493. package/date-input/date-input.styles.js +2 -0
  494. package/date-input/date-input.styles.js.map +1 -0
  495. package/date-input/date-input.styles_1r5kcc7.css +1 -0
  496. package/date-range-input/date-range-input.js +1 -1
  497. package/date-range-input/date-range-input.js.map +1 -1
  498. package/date-range-input/date-range-input.styles.d.ts +5 -0
  499. package/date-range-input/date-range-input.styles.js +2 -0
  500. package/date-range-input/date-range-input.styles.js.map +1 -0
  501. package/date-range-input/date-range-input.styles_1s7ojnj.css +4 -0
  502. package/divider/divider.d.ts +1 -1
  503. package/divider/divider.js +1 -1
  504. package/divider/divider.js.map +1 -1
  505. package/divider/types.d.ts +1 -2
  506. package/e-signature/e-signature.js +1 -1
  507. package/e-signature/e-signature.js.map +1 -1
  508. package/e-signature/e-signature.styles.js +5 -5
  509. package/e-signature/e-signature.styles.js.map +1 -1
  510. package/error-display/error-display-data.d.ts +2 -2
  511. package/error-display/error-display-data.js +1 -1
  512. package/error-display/error-display-data.js.map +1 -1
  513. package/error-display/error-display.js +1 -1
  514. package/error-display/error-display.js.map +1 -1
  515. package/error-display/helper.d.ts +1 -1
  516. package/error-display/helper.js +1 -1
  517. package/error-display/helper.js.map +1 -1
  518. package/external/lodash/isNumber.js +2 -0
  519. package/external/lodash/isNumber.js.map +1 -0
  520. package/external/lodash.clonedeep/index.js +1 -1
  521. package/external/lottie-colorify/lib/index.js +1 -1
  522. package/external/lottie-colorify/lib/index.js.map +1 -1
  523. package/external/prop-types/external/react-is/index.js +1 -1
  524. package/external/prop-types/index.js +1 -1
  525. package/external/prop-types/index.js.map +1 -1
  526. package/feedback-rating/feedback-rating-stars-container.js +1 -1
  527. package/feedback-rating/feedback-rating-stars-container.js.map +1 -1
  528. package/feedback-rating/feedback-rating-stars-container.styles.d.ts +4 -23
  529. package/feedback-rating/feedback-rating-stars-container.styles.js +1 -36
  530. package/feedback-rating/feedback-rating-stars-container.styles.js.map +1 -1
  531. package/feedback-rating/feedback-rating-stars-container.styles_dmi8z9.css +4 -0
  532. package/feedback-rating/feedback-rating.js +1 -1
  533. package/feedback-rating/feedback-rating.js.map +1 -1
  534. package/feedback-rating/feedback-rating.styles.d.ts +4 -4
  535. package/feedback-rating/feedback-rating.styles.js +1 -37
  536. package/feedback-rating/feedback-rating.styles.js.map +1 -1
  537. package/feedback-rating/feedback-rating.styles_1kdklb6.css +4 -0
  538. package/file-download/file-list-card/file-list-card.js +1 -1
  539. package/file-download/file-list-card/file-list-card.js.map +1 -1
  540. package/file-upload/dropzone.js +1 -1
  541. package/file-upload/dropzone.js.map +1 -1
  542. package/file-upload/dropzone.styles.d.ts +6 -34
  543. package/file-upload/dropzone.styles.js +1 -34
  544. package/file-upload/dropzone.styles.js.map +1 -1
  545. package/file-upload/dropzone.styles_1pllsau.css +6 -0
  546. package/file-upload/file-item-edit.js +1 -1
  547. package/file-upload/file-item-edit.js.map +1 -1
  548. package/file-upload/file-item-edit.styles.d.ts +8 -48
  549. package/file-upload/file-item-edit.styles.js +1 -66
  550. package/file-upload/file-item-edit.styles.js.map +1 -1
  551. package/file-upload/file-item-edit.styles_1qbpbxj.css +10 -0
  552. package/file-upload/file-list-item/file-list-item-thumbnail.d.ts +0 -7
  553. package/file-upload/file-list-item/file-list-item-thumbnail.js +1 -34
  554. package/file-upload/file-list-item/file-list-item-thumbnail.js.map +1 -1
  555. package/file-upload/file-list-item/file-list-item-thumbnail.styles.d.ts +4 -0
  556. package/file-upload/file-list-item/file-list-item-thumbnail.styles.js +2 -0
  557. package/file-upload/file-list-item/file-list-item-thumbnail.styles.js.map +1 -0
  558. package/file-upload/file-list-item/file-list-item-thumbnail.styles_1vrh1ve.css +4 -0
  559. package/file-upload/file-list-item/file-list-item.js +1 -1
  560. package/file-upload/file-list-item/file-list-item.js.map +1 -1
  561. package/file-upload/file-list-item/file-list-item.styles.d.ts +14 -170
  562. package/file-upload/file-list-item/file-list-item.styles.js +1 -174
  563. package/file-upload/file-list-item/file-list-item.styles.js.map +1 -1
  564. package/file-upload/file-list-item/file-list-item.styles_y7my2m.css +14 -0
  565. package/file-upload/file-list.js +1 -1
  566. package/file-upload/file-list.js.map +1 -1
  567. package/file-upload/file-list.styles.d.ts +3 -6
  568. package/file-upload/file-list.styles.js +1 -20
  569. package/file-upload/file-list.styles.js.map +1 -1
  570. package/file-upload/file-list.styles_16vplxk.css +3 -0
  571. package/file-upload/file-upload.js +1 -1
  572. package/file-upload/file-upload.js.map +1 -1
  573. package/file-upload/file-upload.styles.d.ts +8 -64
  574. package/file-upload/file-upload.styles.js +1 -40
  575. package/file-upload/file-upload.styles.js.map +1 -1
  576. package/file-upload/file-upload.styles_9ffwcd.css +8 -0
  577. package/filter/addons/filter-item-checkbox.js +1 -1
  578. package/filter/addons/filter-item-checkbox.js.map +1 -1
  579. package/filter/addons/filter-item-checkbox.styles.d.ts +15 -25
  580. package/filter/addons/filter-item-checkbox.styles.js +1 -72
  581. package/filter/addons/filter-item-checkbox.styles.js.map +1 -1
  582. package/filter/addons/filter-item-checkbox.styles_18l87i2.css +16 -0
  583. package/filter/filter-item-page.js +1 -1
  584. package/filter/filter-item-page.js.map +1 -1
  585. package/filter/filter-item-page.styles.d.ts +1 -1
  586. package/filter/filter-item-page.styles.js +1 -7
  587. package/filter/filter-item-page.styles.js.map +1 -1
  588. package/filter/filter-item-page.styles_17ewfrz.css +1 -0
  589. package/filter/filter-item.d.ts +1 -1
  590. package/filter/filter-item.js +1 -1
  591. package/filter/filter-item.js.map +1 -1
  592. package/filter/filter-item.styles.d.ts +22 -38
  593. package/filter/filter-item.styles.js +1 -63
  594. package/filter/filter-item.styles.js.map +1 -1
  595. package/filter/filter-item.styles_1e3v6qq.css +17 -0
  596. package/filter/filter-modal.d.ts +1 -1
  597. package/filter/filter-modal.js +1 -1
  598. package/filter/filter-modal.js.map +1 -1
  599. package/filter/filter-modal.styles.d.ts +12 -14
  600. package/filter/filter-modal.styles.js +1 -29
  601. package/filter/filter-modal.styles.js.map +1 -1
  602. package/filter/filter-modal.styles_e0ev97.css +8 -0
  603. package/filter/filter-sidebar.d.ts +1 -1
  604. package/filter/filter-sidebar.js +1 -1
  605. package/filter/filter-sidebar.js.map +1 -1
  606. package/filter/filter-sidebar.styles.d.ts +4 -4
  607. package/filter/filter-sidebar.styles.js +1 -23
  608. package/filter/filter-sidebar.styles.js.map +1 -1
  609. package/filter/filter-sidebar.styles_cwvqql.css +4 -0
  610. package/filter/filter.d.ts +3 -3
  611. package/filter/filter.js +1 -1
  612. package/filter/filter.js.map +1 -1
  613. package/filter/filter.styles.d.ts +9 -7
  614. package/filter/filter.styles.js +1 -26
  615. package/filter/filter.styles.js.map +1 -1
  616. package/filter/filter.styles_2fmaok.css +5 -0
  617. package/form/form-label-addon.js +1 -1
  618. package/form/form-label-addon.js.map +1 -1
  619. package/form/form-masked-input.js +1 -1
  620. package/form/form-masked-input.js.map +1 -1
  621. package/form/form-time-range-picker.js +1 -1
  622. package/form/form-time-range-picker.js.map +1 -1
  623. package/form/index.d.ts +1 -0
  624. package/form/index.js.map +1 -1
  625. package/fullscreen-image-carousel/fullscreen-image-carousel.js +1 -1
  626. package/fullscreen-image-carousel/fullscreen-image-carousel.js.map +1 -1
  627. package/fullscreen-image-carousel/fullscreen-image-carousel.styles.d.ts +40 -0
  628. package/fullscreen-image-carousel/fullscreen-image-carousel.styles.js +2 -0
  629. package/fullscreen-image-carousel/fullscreen-image-carousel.styles.js.map +1 -0
  630. package/fullscreen-image-carousel/fullscreen-image-carousel.styles_vc6y5c.css +75 -0
  631. package/fullscreen-image-carousel/stateful-image.js +1 -1
  632. package/fullscreen-image-carousel/stateful-image.js.map +1 -1
  633. package/fullscreen-image-carousel/stateful-image.styles.d.ts +8 -0
  634. package/fullscreen-image-carousel/stateful-image.styles.js +2 -0
  635. package/fullscreen-image-carousel/stateful-image.styles.js.map +1 -0
  636. package/fullscreen-image-carousel/stateful-image.styles_1xe8ypm.css +3 -0
  637. package/histogram-slider/histogram-slider.js +1 -1
  638. package/histogram-slider/histogram-slider.js.map +1 -1
  639. package/index.d.ts +0 -11
  640. package/index.js +1 -1
  641. package/input-group/input-group-list-addon.js +1 -1
  642. package/input-group/input-group-list-addon.js.map +1 -1
  643. package/input-group/input-group-list-addon.styles.d.ts +2 -2
  644. package/input-group/input-group-list-addon.styles.js +1 -1
  645. package/input-group/input-group-list-addon.styles.js.map +1 -1
  646. package/{cjs/input-group/input-group-list-addon.styles_1my6j2v.css → input-group/input-group-list-addon.styles_17iuqtw.css} +2 -2
  647. package/input-group/input-group.js +1 -1
  648. package/input-group/input-group.js.map +1 -1
  649. package/input-multi-select/input-multi-select.js +1 -1
  650. package/input-multi-select/input-multi-select.js.map +1 -1
  651. package/input-nested-multi-select/input-nested-multi-select.js +1 -1
  652. package/input-nested-multi-select/input-nested-multi-select.js.map +1 -1
  653. package/input-nested-select/input-nested-select.js +1 -1
  654. package/input-nested-select/input-nested-select.js.map +1 -1
  655. package/input-range-select/input-range-select.js +1 -1
  656. package/input-range-select/input-range-select.js.map +1 -1
  657. package/input-range-select/input-range-select.styles.d.ts +2 -0
  658. package/input-range-select/input-range-select.styles.js +2 -0
  659. package/input-range-select/input-range-select.styles.js.map +1 -0
  660. package/input-range-select/input-range-select.styles_adbrbm.css +2 -0
  661. package/input-range-slider/input-range-slider.js +1 -1
  662. package/input-range-slider/input-range-slider.js.map +1 -1
  663. package/input-range-slider/slider-components.js +1 -1
  664. package/input-range-slider/slider-components.js.map +1 -1
  665. package/input-select/input-select.js +1 -1
  666. package/input-select/input-select.js.map +1 -1
  667. package/input-select/types.d.ts +1 -1
  668. package/language-switcher/dropdown-panel.d.ts +13 -0
  669. package/language-switcher/dropdown-panel.js +2 -0
  670. package/language-switcher/dropdown-panel.js.map +1 -0
  671. package/language-switcher/dropdown-panel.styles.d.ts +8 -0
  672. package/language-switcher/dropdown-panel.styles.js +2 -0
  673. package/language-switcher/dropdown-panel.styles.js.map +1 -0
  674. package/language-switcher/dropdown-panel.styles_1z0n7qq.css +4 -0
  675. package/language-switcher/dropdown-variant.js +1 -1
  676. package/language-switcher/dropdown-variant.js.map +1 -1
  677. package/language-switcher/dropdown-variant.styles.d.ts +2 -0
  678. package/language-switcher/dropdown-variant.styles.js +2 -0
  679. package/language-switcher/dropdown-variant.styles.js.map +1 -0
  680. package/language-switcher/dropdown-variant.styles_16c4wc1.css +2 -0
  681. package/language-switcher/link-container-variant.d.ts +1 -1
  682. package/language-switcher/link-container-variant.js +1 -1
  683. package/language-switcher/link-container-variant.js.map +1 -1
  684. package/language-switcher/link-container-variant.styles.d.ts +5 -0
  685. package/language-switcher/link-container-variant.styles.js +2 -0
  686. package/language-switcher/link-container-variant.styles.js.map +1 -0
  687. package/language-switcher/link-container-variant.styles_1blx9qm.css +5 -0
  688. package/layout/col-div.js +1 -1
  689. package/layout/col-div.js.map +1 -1
  690. package/link-list/components/common.js +1 -1
  691. package/link-list/components/common.js.map +1 -1
  692. package/link-list/components/link-list-eager.js +1 -1
  693. package/link-list/components/link-list-eager.js.map +1 -1
  694. package/link-list/components/link-list-lazy.js +1 -1
  695. package/link-list/components/link-list-lazy.js.map +1 -1
  696. package/link-list/link-list.js +1 -1
  697. package/link-list/link-list.js.map +1 -1
  698. package/link-list/link-list.styles.d.ts +13 -113
  699. package/link-list/link-list.styles.js +1 -89
  700. package/link-list/link-list.styles.js.map +1 -1
  701. package/link-list/link-list.styles_1g33nb4.css +13 -0
  702. package/local-nav/local-nav-dropdown/local-nav-dropdown.js +1 -1
  703. package/local-nav/local-nav-dropdown/local-nav-dropdown.js.map +1 -1
  704. package/local-nav/local-nav-dropdown/local-nav-dropdown.styles.d.ts +22 -41
  705. package/local-nav/local-nav-dropdown/local-nav-dropdown.styles.js +1 -100
  706. package/local-nav/local-nav-dropdown/local-nav-dropdown.styles.js.map +1 -1
  707. package/local-nav/local-nav-dropdown/local-nav-dropdown.styles_ftv36t.css +13 -0
  708. package/local-nav/local-nav-menu/local-nav-menu.js +1 -1
  709. package/local-nav/local-nav-menu/local-nav-menu.js.map +1 -1
  710. package/local-nav/local-nav-menu/local-nav-menu.styles.d.ts +5 -26
  711. package/local-nav/local-nav-menu/local-nav-menu.styles.js +1 -39
  712. package/local-nav/local-nav-menu/local-nav-menu.styles.js.map +1 -1
  713. package/local-nav/local-nav-menu/local-nav-menu.styles_pq19dh.css +5 -0
  714. package/markup/markup.js +1 -1
  715. package/markup/markup.js.map +1 -1
  716. package/masked-input/masked-input.js +1 -1
  717. package/masked-input/masked-input.js.map +1 -1
  718. package/masked-input/masked-input.styles.d.ts +22 -0
  719. package/masked-input/masked-input.styles.js +2 -0
  720. package/masked-input/masked-input.styles.js.map +1 -0
  721. package/masked-input/masked-input.styles_4i1qsy.css +16 -0
  722. package/menu/menu-content.js +1 -1
  723. package/menu/menu-content.js.map +1 -1
  724. package/menu/menu-content.styles.js +1 -1
  725. package/menu/menu-content.styles.js.map +1 -1
  726. package/menu/{menu-content.styles_1b7d6qf.css → menu-content.styles_p7ijll.css} +1 -1
  727. package/menu/menu.js +1 -1
  728. package/menu/menu.js.map +1 -1
  729. package/menu/types.d.ts +2 -2
  730. package/modal/modal.js +1 -1
  731. package/modal/modal.js.map +1 -1
  732. package/modal-v2/modal-v2.js +1 -1
  733. package/modal-v2/modal-v2.js.map +1 -1
  734. package/navbar/brand.js +1 -1
  735. package/navbar/brand.js.map +1 -1
  736. package/navbar/brand.styles.d.ts +1 -6
  737. package/navbar/brand.styles.js +1 -12
  738. package/navbar/brand.styles.js.map +1 -1
  739. package/navbar/brand.styles_zcgddp.css +1 -0
  740. package/navbar/drawer.js +1 -1
  741. package/navbar/drawer.js.map +1 -1
  742. package/navbar/drawer.styles.d.ts +13 -18
  743. package/navbar/drawer.styles.js +1 -65
  744. package/navbar/drawer.styles.js.map +1 -1
  745. package/navbar/drawer.styles_7hnxp5.css +8 -0
  746. package/navbar/menu.js +1 -1
  747. package/navbar/menu.js.map +1 -1
  748. package/navbar/menu.styles.d.ts +3 -3
  749. package/navbar/menu.styles.js +1 -34
  750. package/navbar/menu.styles.js.map +1 -1
  751. package/navbar/menu.styles_gdpqc.css +3 -0
  752. package/navbar/navbar-action-buttons.js +1 -1
  753. package/navbar/navbar-action-buttons.js.map +1 -1
  754. package/navbar/navbar-action-buttons.styles.d.ts +10 -31
  755. package/navbar/navbar-action-buttons.styles.js +1 -100
  756. package/navbar/navbar-action-buttons.styles.js.map +1 -1
  757. package/navbar/navbar-action-buttons.styles_1vpm0nk.css +10 -0
  758. package/navbar/navbar-items.js +1 -1
  759. package/navbar/navbar-items.js.map +1 -1
  760. package/navbar/navbar-items.styles.d.ts +19 -40
  761. package/navbar/navbar-items.styles.js +1 -114
  762. package/navbar/navbar-items.styles.js.map +1 -1
  763. package/navbar/navbar-items.styles_i9cunu.css +19 -0
  764. package/navbar/navbar-logo-data.d.ts +2 -2
  765. package/navbar/navbar-logo-data.js +1 -1
  766. package/navbar/navbar-logo-data.js.map +1 -1
  767. package/navbar/navbar.js +1 -1
  768. package/navbar/navbar.js.map +1 -1
  769. package/navbar/navbar.styles.d.ts +25 -20
  770. package/navbar/navbar.styles.js +1 -79
  771. package/navbar/navbar.styles.js.map +1 -1
  772. package/navbar/navbar.styles_koy0c7.css +20 -0
  773. package/notification-banner/notification-banner.d.ts +2 -2
  774. package/notification-banner/notification-banner.js +1 -1
  775. package/notification-banner/notification-banner.js.map +1 -1
  776. package/notification-banner/notification-banner.styles.d.ts +17 -23
  777. package/notification-banner/notification-banner.styles.js +1 -111
  778. package/notification-banner/notification-banner.styles.js.map +1 -1
  779. package/notification-banner/notification-banner.styles_130loac.css +12 -0
  780. package/otp-input/otp-input.js +1 -1
  781. package/otp-input/otp-input.js.map +1 -1
  782. package/otp-input/otp-input.styles.d.ts +5 -23
  783. package/otp-input/otp-input.styles.js +1 -22
  784. package/otp-input/otp-input.styles.js.map +1 -1
  785. package/otp-input/otp-input.styles_5sbutl.css +5 -0
  786. package/otp-verification/contact-input-section-styles.js +47 -45
  787. package/otp-verification/contact-input-section-styles.js.map +1 -1
  788. package/otp-verification/contact-input-section.d.ts +1 -1
  789. package/otp-verification/contact-input-section.js +1 -1
  790. package/otp-verification/contact-input-section.js.map +1 -1
  791. package/otp-verification/internal-types.d.ts +2 -0
  792. package/otp-verification/verification-section.js +1 -1
  793. package/otp-verification/verification-section.js.map +1 -1
  794. package/overlay/overlay.js +1 -1
  795. package/overlay/overlay.js.map +1 -1
  796. package/package.json +1 -67
  797. package/pagination/pagination.js +1 -1
  798. package/pagination/pagination.js.map +1 -1
  799. package/popover/index.d.ts +2 -1
  800. package/popover/index.js +1 -1
  801. package/popover/popover-inline/popover-inline.js.map +1 -0
  802. package/popover/popover-inline/popover-inline.styles.js +2 -0
  803. package/popover/popover-inline/popover-inline.styles.js.map +1 -0
  804. package/popover/popover-inline/popover-inline.styles_bkopnt.css +2 -0
  805. package/{popover-v2 → popover}/popover-trigger.d.ts +2 -2
  806. package/popover/popover-trigger.js +2 -0
  807. package/popover/popover-trigger.js.map +1 -0
  808. package/popover/popover-trigger.styles.js +2 -0
  809. package/popover/popover-trigger.styles.js.map +1 -0
  810. package/popover/popover-trigger.styles_8zokig.css +1 -0
  811. package/popover/popover.d.ts +1 -4
  812. package/popover/popover.js +1 -1
  813. package/popover/popover.js.map +1 -1
  814. package/popover/popover.styles.d.ts +10 -11
  815. package/popover/popover.styles.js +1 -74
  816. package/popover/popover.styles.js.map +1 -1
  817. package/popover/popover.styles_ujnf0h.css +4 -0
  818. package/popover/types.d.ts +48 -10
  819. package/predictive-text-input/predictive-text-input.js +1 -1
  820. package/predictive-text-input/predictive-text-input.js.map +1 -1
  821. package/predictive-text-input/types.d.ts +1 -1
  822. package/progress-indicator/progress-indicator.d.ts +1 -1
  823. package/progress-indicator/progress-indicator.js +1 -1
  824. package/progress-indicator/progress-indicator.js.map +1 -1
  825. package/progress-indicator/progress-indicator.styles.d.ts +9 -0
  826. package/progress-indicator/progress-indicator.styles.js +2 -0
  827. package/progress-indicator/progress-indicator.styles.js.map +1 -0
  828. package/progress-indicator/progress-indicator.styles_1c038s4.css +8 -0
  829. package/progress-indicator/types.d.ts +0 -6
  830. package/schedule/schedule.js +1 -1
  831. package/schedule/schedule.js.map +1 -1
  832. package/schedule/shared/with-optional-popover.js +2 -2
  833. package/schedule/shared/with-optional-popover.js.map +1 -1
  834. package/schedule/types.d.ts +2 -2
  835. package/select-histogram/select-histogram.js +1 -1
  836. package/select-histogram/select-histogram.js.map +1 -1
  837. package/select-histogram/select-histogram.styles.d.ts +5 -21
  838. package/select-histogram/select-histogram.styles.js +1 -37
  839. package/select-histogram/select-histogram.styles.js.map +1 -1
  840. package/select-histogram/select-histogram.styles_11916eo.css +5 -0
  841. package/shared/component-loading-spinner/component-loading-spinner.js +1 -1
  842. package/shared/component-loading-spinner/component-loading-spinner.js.map +1 -1
  843. package/shared/dropdown-list/dropdown-label.js +1 -1
  844. package/shared/dropdown-list/dropdown-label.js.map +1 -1
  845. package/shared/dropdown-list/dropdown-list.js +1 -1
  846. package/shared/dropdown-list/dropdown-list.js.map +1 -1
  847. package/shared/dropdown-list/dropdown-list.styles.d.ts +1 -1
  848. package/shared/dropdown-list/dropdown-list.styles.js +1 -1
  849. package/shared/dropdown-list/dropdown-list.styles.js.map +1 -1
  850. package/{cjs/shared/dropdown-list/dropdown-list.styles_1qveyb9.css → shared/dropdown-list/dropdown-list.styles_1kt4zhf.css} +3 -6
  851. package/shared/dropdown-list/nested-dropdown-list.js +1 -1
  852. package/shared/dropdown-list/nested-dropdown-list.js.map +1 -1
  853. package/shared/dropdown-wrapper/element-with-dropdown.js +1 -1
  854. package/shared/dropdown-wrapper/element-with-dropdown.js.map +1 -1
  855. package/shared/fade-wrapper/fade-wrapper.js +1 -1
  856. package/shared/fade-wrapper/fade-wrapper.js.map +1 -1
  857. package/shared/fade-wrapper/helpers.js +1 -1
  858. package/shared/fade-wrapper/helpers.js.map +1 -1
  859. package/shared/input-wrapper/input-wrapper.d.ts +5 -0
  860. package/shared/input-wrapper/input-wrapper.js +1 -1
  861. package/shared/input-wrapper/input-wrapper.js.map +1 -1
  862. package/shared/input-wrapper/input-wrapper.styles.d.ts +3 -0
  863. package/shared/input-wrapper/input-wrapper.styles.js +1 -1
  864. package/shared/input-wrapper/input-wrapper.styles.js.map +1 -1
  865. package/shared/input-wrapper/{input-wrapper.styles_1kc4xhb.css → input-wrapper.styles_19fpzb.css} +3 -0
  866. package/shared/internal-calendar/calendar-dropdown.js +1 -1
  867. package/shared/internal-calendar/calendar-dropdown.js.map +1 -1
  868. package/shared/progress-bar/progress-bar.js +1 -1
  869. package/shared/progress-bar/progress-bar.js.map +1 -1
  870. package/shared/standalone-date-input/standalone-date-input.js +1 -1
  871. package/shared/standalone-date-input/standalone-date-input.js.map +1 -1
  872. package/shared/standalone-date-input/standalone-date-input.styles.d.ts +0 -1
  873. package/shared/standalone-date-input/standalone-date-input.styles.js +1 -1
  874. package/shared/standalone-date-input/standalone-date-input.styles.js.map +1 -1
  875. package/{cjs/shared/standalone-date-input/standalone-date-input.styles_1mqophx.css → shared/standalone-date-input/standalone-date-input.styles_1m0da43.css} +10 -11
  876. package/shared/time-slot/index.d.ts +2 -0
  877. package/shared/time-slot/time-slot.d.ts +17 -0
  878. package/shared/time-slot/time-slot.js +2 -0
  879. package/shared/time-slot/time-slot.js.map +1 -0
  880. package/shared/time-slot/time-slot.styles.d.ts +10 -0
  881. package/shared/time-slot/time-slot.styles.js +2 -0
  882. package/shared/time-slot/time-slot.styles.js.map +1 -0
  883. package/shared/time-slot/time-slot.styles_1r9na3f.css +17 -0
  884. package/shared/time-slot/types.d.ts +1 -0
  885. package/smart-app-banner/smart-app-banner.js +1 -1
  886. package/smart-app-banner/smart-app-banner.js.map +1 -1
  887. package/smart-app-banner/smart-app-banner.styles.d.ts +21 -85
  888. package/smart-app-banner/smart-app-banner.styles.js +1 -93
  889. package/smart-app-banner/smart-app-banner.styles.js.map +1 -1
  890. package/smart-app-banner/smart-app-banner.styles_m5dtgh.css +16 -0
  891. package/tab/tab-link-chain.js +1 -1
  892. package/tab/tab-link-chain.js.map +1 -1
  893. package/text-list/ordered-list.js +1 -1
  894. package/text-list/ordered-list.js.map +1 -1
  895. package/text-list/unordered-list.js +1 -1
  896. package/text-list/unordered-list.js.map +1 -1
  897. package/theme/index.js +1 -1
  898. package/theme/styles/pa.css +176 -0
  899. package/theme/theme-provider/breakpoint.js +1 -1
  900. package/theme/theme-provider/breakpoint.js.map +1 -1
  901. package/theme/tokens/font.js +1 -1
  902. package/theme/tokens/font.js.map +1 -1
  903. package/theme/utils/css-variable.d.ts +14 -0
  904. package/theme/utils/css-variable.js +1 -1
  905. package/theme/utils/css-variable.js.map +1 -1
  906. package/theme/utils/index.d.ts +1 -1
  907. package/theme/utils/use-media-query.d.ts +24 -0
  908. package/theme/utils/use-media-query.js +2 -0
  909. package/theme/utils/use-media-query.js.map +1 -0
  910. package/time-range-picker/combobox-picker/combobox-picker.js +1 -1
  911. package/time-range-picker/combobox-picker/combobox-picker.js.map +1 -1
  912. package/time-range-picker/combobox-picker/combobox-picker.styles.d.ts +1 -1
  913. package/time-range-picker/combobox-picker/combobox-picker.styles.js +1 -6
  914. package/time-range-picker/combobox-picker/combobox-picker.styles.js.map +1 -1
  915. package/time-range-picker/combobox-picker/combobox-picker.styles_7i9vso.css +1 -0
  916. package/time-range-picker/common.styles.d.ts +3 -3
  917. package/time-range-picker/common.styles.js +1 -10
  918. package/time-range-picker/common.styles.js.map +1 -1
  919. package/time-range-picker/common.styles_1qwp4xa.css +3 -0
  920. package/time-range-picker/dial-picker/dial-picker.js +1 -1
  921. package/time-range-picker/dial-picker/dial-picker.js.map +1 -1
  922. package/time-slot-bar/helper.d.ts +1 -0
  923. package/time-slot-bar/helper.js +1 -1
  924. package/time-slot-bar/helper.js.map +1 -1
  925. package/time-slot-bar/time-slot-bar.js +1 -1
  926. package/time-slot-bar/time-slot-bar.js.map +1 -1
  927. package/time-slot-bar/time-slot-bar.styles.d.ts +37 -99
  928. package/time-slot-bar/time-slot-bar.styles.js +1 -127
  929. package/time-slot-bar/time-slot-bar.styles.js.map +1 -1
  930. package/time-slot-bar/time-slot-bar.styles_wigbyd.css +25 -0
  931. package/time-slot-bar/time-slot-divider.d.ts +8 -0
  932. package/time-slot-bar/time-slot-divider.js +2 -0
  933. package/time-slot-bar/time-slot-divider.js.map +1 -0
  934. package/time-slot-bar/time-slot-item.d.ts +13 -0
  935. package/time-slot-bar/time-slot-item.js +2 -0
  936. package/time-slot-bar/time-slot-item.js.map +1 -0
  937. package/time-slot-bar/types.d.ts +7 -8
  938. package/time-slot-bar-week/time-slot-bar-week-days.js +1 -1
  939. package/time-slot-bar-week/time-slot-bar-week-days.js.map +1 -1
  940. package/time-slot-bar-week/time-slot-bar-week-days.style.d.ts +2 -13
  941. package/time-slot-bar-week/time-slot-bar-week-days.style.js +20 -17
  942. package/time-slot-bar-week/time-slot-bar-week-days.style.js.map +1 -1
  943. package/time-slot-week-view/time-slot-week-days.js +1 -1
  944. package/time-slot-week-view/time-slot-week-days.js.map +1 -1
  945. package/time-slot-week-view/time-slot-week-days.style.d.ts +1 -11
  946. package/time-slot-week-view/time-slot-week-days.style.js +14 -8
  947. package/time-slot-week-view/time-slot-week-days.style.js.map +1 -1
  948. package/timeline/timeline.js +1 -1
  949. package/timeline/timeline.js.map +1 -1
  950. package/timeline/timeline.styles.d.ts +15 -0
  951. package/timeline/timeline.styles.js +2 -0
  952. package/timeline/timeline.styles.js.map +1 -0
  953. package/timeline/timeline.styles_1wcnzot.css +9 -0
  954. package/timetable/const.js +1 -1
  955. package/timetable/const.js.map +1 -1
  956. package/timetable/timetable-header/timetable-header.js +1 -1
  957. package/timetable/timetable-header/timetable-header.js.map +1 -1
  958. package/timetable/timetable-header/timetable-header.styles.d.ts +6 -0
  959. package/timetable/timetable-header/timetable-header.styles.js +2 -0
  960. package/timetable/timetable-header/timetable-header.styles.js.map +1 -0
  961. package/timetable/timetable-header/timetable-header.styles_11gl1h4.css +6 -0
  962. package/timetable/timetable-row/row-bar.js +1 -1
  963. package/timetable/timetable-row/row-bar.js.map +1 -1
  964. package/timetable/timetable-row/row-bar.styles.d.ts +1 -0
  965. package/timetable/timetable-row/row-bar.styles.js +2 -0
  966. package/timetable/timetable-row/row-bar.styles.js.map +1 -0
  967. package/timetable/timetable-row/row-bar.styles_1x0vrsz.css +1 -0
  968. package/timetable/timetable-row/row-cell.js +1 -1
  969. package/timetable/timetable-row/row-cell.js.map +1 -1
  970. package/timetable/timetable-row/row-cell.styles.d.ts +14 -0
  971. package/timetable/timetable-row/row-cell.styles.js +2 -0
  972. package/timetable/timetable-row/row-cell.styles.js.map +1 -0
  973. package/timetable/timetable-row/row-cell.styles_y1dl5j.css +7 -0
  974. package/timetable/timetable-row/with-optional-popover.js +1 -1
  975. package/timetable/timetable-row/with-optional-popover.js.map +1 -1
  976. package/timetable/timetable.js +1 -1
  977. package/timetable/timetable.js.map +1 -1
  978. package/timetable/timetable.styles.d.ts +41 -0
  979. package/timetable/timetable.styles.js +2 -0
  980. package/timetable/timetable.styles.js.map +1 -0
  981. package/timetable/timetable.styles_7rp8kz.css +46 -0
  982. package/timetable/types.d.ts +6 -7
  983. package/toast/toast.d.ts +1 -1
  984. package/toast/toast.js +1 -1
  985. package/toast/toast.js.map +1 -1
  986. package/toast/toast.styles.d.ts +8 -51
  987. package/toast/toast.styles.js +1 -98
  988. package/toast/toast.styles.js.map +1 -1
  989. package/toast/toast.styles_ngrlup.css +8 -0
  990. package/toggle/toggle.js +1 -1
  991. package/toggle/toggle.js.map +1 -1
  992. package/typography/index.js +1 -1
  993. package/typography/typography.js +1 -1
  994. package/typography/typography.js.map +1 -1
  995. package/uneditable-section/index.d.ts +1 -1
  996. package/uneditable-section/item-section.d.ts +1 -1
  997. package/uneditable-section/item-section.js +1 -1
  998. package/uneditable-section/item-section.js.map +1 -1
  999. package/uneditable-section/section-item.js +1 -1
  1000. package/uneditable-section/section-item.js.map +1 -1
  1001. package/uneditable-section/section-item.styles.d.ts +9 -22
  1002. package/uneditable-section/section-item.styles.js +1 -63
  1003. package/uneditable-section/section-item.styles.js.map +1 -1
  1004. package/uneditable-section/section-item.styles_1dfjzc4.css +9 -0
  1005. package/uneditable-section/uneditable-section.d.ts +1 -1
  1006. package/uneditable-section/uneditable-section.js +1 -1
  1007. package/uneditable-section/uneditable-section.js.map +1 -1
  1008. package/uneditable-section/uneditable-section.styles.d.ts +8 -52
  1009. package/uneditable-section/uneditable-section.styles.js +1 -39
  1010. package/uneditable-section/uneditable-section.styles.js.map +1 -1
  1011. package/uneditable-section/uneditable-section.styles_aj9zun.css +8 -0
  1012. package/unit-number/unit-number-input.js +1 -1
  1013. package/unit-number/unit-number-input.js.map +1 -1
  1014. package/unit-number/unit-number-input.styles.d.ts +7 -0
  1015. package/unit-number/unit-number-input.styles.js +2 -0
  1016. package/unit-number/unit-number-input.styles.js.map +1 -0
  1017. package/unit-number/unit-number-input.styles_8yizj.css +7 -0
  1018. package/util/styling-helper.js +1 -1
  1019. package/util/styling-helper.js.map +1 -1
  1020. package/v3_theme/index.d.ts +39 -13
  1021. package/v3_theme/types.d.ts +2 -2
  1022. package/_virtual/react-responsive.js +0 -2
  1023. package/_virtual/react-responsive.js.map +0 -1
  1024. package/cjs/_virtual/react-responsive.js +0 -2
  1025. package/cjs/_virtual/react-responsive.js.map +0 -1
  1026. package/cjs/countdown-timer/countdown-timer.style.js +0 -58
  1027. package/cjs/countdown-timer/countdown-timer.style.js.map +0 -1
  1028. package/cjs/date-input/date-input.style.js +0 -4
  1029. package/cjs/date-input/date-input.style.js.map +0 -1
  1030. package/cjs/date-range-input/date-range-input.style.js +0 -17
  1031. package/cjs/date-range-input/date-range-input.style.js.map +0 -1
  1032. package/cjs/external/react-responsive/dist/react-responsive.js +0 -65
  1033. package/cjs/external/react-responsive/dist/react-responsive.js.map +0 -1
  1034. package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.style.js +0 -298
  1035. package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.style.js.map +0 -1
  1036. package/cjs/fullscreen-image-carousel/stateful-image.style.js +0 -13
  1037. package/cjs/fullscreen-image-carousel/stateful-image.style.js.map +0 -1
  1038. package/cjs/input-range-select/input-range-select.style.js +0 -36
  1039. package/cjs/input-range-select/input-range-select.style.js.map +0 -1
  1040. package/cjs/language-switcher/dropdown-variant.style.js +0 -62
  1041. package/cjs/language-switcher/dropdown-variant.style.js.map +0 -1
  1042. package/cjs/language-switcher/link-container-variant.style.js +0 -51
  1043. package/cjs/language-switcher/link-container-variant.style.js.map +0 -1
  1044. package/cjs/masked-input/masked-input.style.js +0 -87
  1045. package/cjs/masked-input/masked-input.style.js.map +0 -1
  1046. package/cjs/masonry/index.js +0 -2
  1047. package/cjs/masonry/index.js.map +0 -1
  1048. package/cjs/masonry/masonry.js +0 -2
  1049. package/cjs/masonry/masonry.js.map +0 -1
  1050. package/cjs/masonry/masonry.style.js +0 -42
  1051. package/cjs/masonry/masonry.style.js.map +0 -1
  1052. package/cjs/popover/popover-hoc.js +0 -2
  1053. package/cjs/popover/popover-hoc.js.map +0 -1
  1054. package/cjs/popover-v2/index.js +0 -2
  1055. package/cjs/popover-v2/index.js.map +0 -1
  1056. package/cjs/popover-v2/popover-inline/popover-inline.js.map +0 -1
  1057. package/cjs/popover-v2/popover-inline/popover-inline.styles.js +0 -2
  1058. package/cjs/popover-v2/popover-inline/popover-inline.styles.js.map +0 -1
  1059. package/cjs/popover-v2/popover-inline/popover-inline.styles_ziag9c.css +0 -2
  1060. package/cjs/popover-v2/popover-trigger.js +0 -2
  1061. package/cjs/popover-v2/popover-trigger.js.map +0 -1
  1062. package/cjs/popover-v2/popover-trigger.styles.js +0 -2
  1063. package/cjs/popover-v2/popover-trigger.styles.js.map +0 -1
  1064. package/cjs/popover-v2/popover-trigger.styles_1yq7ffk.css +0 -1
  1065. package/cjs/popover-v2/popover.js +0 -2
  1066. package/cjs/popover-v2/popover.js.map +0 -1
  1067. package/cjs/popover-v2/popover.styles.js +0 -2
  1068. package/cjs/popover-v2/popover.styles.js.map +0 -1
  1069. package/cjs/popover-v2/popover.styles_lslc72.css +0 -4
  1070. package/cjs/progress-indicator/progress-indicator.style.js +0 -39
  1071. package/cjs/progress-indicator/progress-indicator.style.js.map +0 -1
  1072. package/cjs/theme/utils/media-query.js +0 -2
  1073. package/cjs/theme/utils/media-query.js.map +0 -1
  1074. package/cjs/timeline/timeline.style.js +0 -100
  1075. package/cjs/timeline/timeline.style.js.map +0 -1
  1076. package/cjs/timetable/timetable-header/timetable-header.style.js +0 -28
  1077. package/cjs/timetable/timetable-header/timetable-header.style.js.map +0 -1
  1078. package/cjs/timetable/timetable-row/row-bar.style.js +0 -5
  1079. package/cjs/timetable/timetable-row/row-bar.style.js.map +0 -1
  1080. package/cjs/timetable/timetable-row/row-cell.style.js +0 -53
  1081. package/cjs/timetable/timetable-row/row-cell.style.js.map +0 -1
  1082. package/cjs/timetable/timetable.style.js +0 -172
  1083. package/cjs/timetable/timetable.style.js.map +0 -1
  1084. package/cjs/tooltip/index.js +0 -2
  1085. package/cjs/tooltip/index.js.map +0 -1
  1086. package/cjs/tooltip/tooltip-hoc.js +0 -2
  1087. package/cjs/tooltip/tooltip-hoc.js.map +0 -1
  1088. package/cjs/tooltip/tooltip.js +0 -2
  1089. package/cjs/tooltip/tooltip.js.map +0 -1
  1090. package/cjs/tooltip/tooltip.styles.js +0 -192
  1091. package/cjs/tooltip/tooltip.styles.js.map +0 -1
  1092. package/cjs/unit-number/unit-number-input.style.js +0 -27
  1093. package/cjs/unit-number/unit-number-input.style.js.map +0 -1
  1094. package/cjs/v2_color/color.js +0 -2
  1095. package/cjs/v2_color/color.js.map +0 -1
  1096. package/cjs/v2_color/index.js +0 -2
  1097. package/cjs/v2_color/index.js.map +0 -1
  1098. package/cjs/v2_design-token/design-token.js +0 -2
  1099. package/cjs/v2_design-token/design-token.js.map +0 -1
  1100. package/cjs/v2_design-token/index.js +0 -2
  1101. package/cjs/v2_design-token/index.js.map +0 -1
  1102. package/cjs/v2_layout/col-div.js +0 -2
  1103. package/cjs/v2_layout/col-div.js.map +0 -1
  1104. package/cjs/v2_layout/col-div.style.js +0 -17
  1105. package/cjs/v2_layout/col-div.style.js.map +0 -1
  1106. package/cjs/v2_layout/container.js +0 -49
  1107. package/cjs/v2_layout/container.js.map +0 -1
  1108. package/cjs/v2_layout/content.js +0 -2
  1109. package/cjs/v2_layout/content.js.map +0 -1
  1110. package/cjs/v2_layout/index.js +0 -2
  1111. package/cjs/v2_layout/index.js.map +0 -1
  1112. package/cjs/v2_layout/section.js +0 -20
  1113. package/cjs/v2_layout/section.js.map +0 -1
  1114. package/cjs/v2_media/index.js +0 -2
  1115. package/cjs/v2_media/index.js.map +0 -1
  1116. package/cjs/v2_media/media.js +0 -2
  1117. package/cjs/v2_media/media.js.map +0 -1
  1118. package/cjs/v2_spec/color-spec/base-color-set.js +0 -2
  1119. package/cjs/v2_spec/color-spec/base-color-set.js.map +0 -1
  1120. package/cjs/v2_spec/color-spec/bookingsg-color-set.js +0 -2
  1121. package/cjs/v2_spec/color-spec/bookingsg-color-set.js.map +0 -1
  1122. package/cjs/v2_spec/color-spec/ccube-color-set.js +0 -2
  1123. package/cjs/v2_spec/color-spec/ccube-color-set.js.map +0 -1
  1124. package/cjs/v2_spec/color-spec/mylegacy-color-set.js +0 -2
  1125. package/cjs/v2_spec/color-spec/mylegacy-color-set.js.map +0 -1
  1126. package/cjs/v2_spec/color-spec/oneservice-color-set.js +0 -2
  1127. package/cjs/v2_spec/color-spec/oneservice-color-set.js.map +0 -1
  1128. package/cjs/v2_spec/color-spec/rbs-color-set.js +0 -2
  1129. package/cjs/v2_spec/color-spec/rbs-color-set.js.map +0 -1
  1130. package/cjs/v2_spec/design-token-spec/base-design-token-set.js +0 -8
  1131. package/cjs/v2_spec/design-token-spec/base-design-token-set.js.map +0 -1
  1132. package/cjs/v2_spec/design-token-spec/rbs-design-token-set.js +0 -8
  1133. package/cjs/v2_spec/design-token-spec/rbs-design-token-set.js.map +0 -1
  1134. package/cjs/v2_spec/media-spec.js +0 -2
  1135. package/cjs/v2_spec/media-spec.js.map +0 -1
  1136. package/cjs/v2_spec/text-spec/base-plus-jakarta-sans-text-style-set.js +0 -2
  1137. package/cjs/v2_spec/text-spec/base-plus-jakarta-sans-text-style-set.js.map +0 -1
  1138. package/cjs/v2_spec/text-spec/base-text-style-set.js +0 -2
  1139. package/cjs/v2_spec/text-spec/base-text-style-set.js.map +0 -1
  1140. package/cjs/v2_spec/text-spec/font-spec.js +0 -2
  1141. package/cjs/v2_spec/text-spec/font-spec.js.map +0 -1
  1142. package/cjs/v2_spec/text-spec/oneservice-text-style-set.js +0 -2
  1143. package/cjs/v2_spec/text-spec/oneservice-text-style-set.js.map +0 -1
  1144. package/cjs/v2_text/helper.js +0 -31
  1145. package/cjs/v2_text/helper.js.map +0 -1
  1146. package/cjs/v2_text/index.js +0 -2
  1147. package/cjs/v2_text/index.js.map +0 -1
  1148. package/cjs/v2_text/text-style.js +0 -2
  1149. package/cjs/v2_text/text-style.js.map +0 -1
  1150. package/cjs/v2_text/text.js +0 -107
  1151. package/cjs/v2_text/text.js.map +0 -1
  1152. package/cjs/v2_text/types.js +0 -2
  1153. package/cjs/v2_text/types.js.map +0 -1
  1154. package/cjs/v2_text-list/index.js +0 -2
  1155. package/cjs/v2_text-list/index.js.map +0 -1
  1156. package/cjs/v2_text-list/ordered-list.js +0 -2
  1157. package/cjs/v2_text-list/ordered-list.js.map +0 -1
  1158. package/cjs/v2_text-list/text-list.styles.js +0 -62
  1159. package/cjs/v2_text-list/text-list.styles.js.map +0 -1
  1160. package/cjs/v2_text-list/unordered-list.js +0 -2
  1161. package/cjs/v2_text-list/unordered-list.js.map +0 -1
  1162. package/cjs/v2_theme/color-theme-helper.js +0 -2
  1163. package/cjs/v2_theme/color-theme-helper.js.map +0 -1
  1164. package/cjs/v2_theme/design-token-helper.js +0 -2
  1165. package/cjs/v2_theme/design-token-helper.js.map +0 -1
  1166. package/cjs/v2_theme/helper.js +0 -2
  1167. package/cjs/v2_theme/helper.js.map +0 -1
  1168. package/cjs/v2_theme/index.js +0 -2
  1169. package/cjs/v2_theme/index.js.map +0 -1
  1170. package/cjs/v2_theme/text-theme-helper.js +0 -2
  1171. package/cjs/v2_theme/text-theme-helper.js.map +0 -1
  1172. package/cjs/v2_theme/types.js +0 -2
  1173. package/cjs/v2_theme/types.js.map +0 -1
  1174. package/cjs/v2_transition/index.js +0 -2
  1175. package/cjs/v2_transition/index.js.map +0 -1
  1176. package/cjs/v3_theme/components/specs/a11yplayground-component-token-set.js +0 -2
  1177. package/cjs/v3_theme/components/specs/a11yplayground-component-token-set.js.map +0 -1
  1178. package/cjs/v3_theme/components/specs/default-component-token-set.js +0 -2
  1179. package/cjs/v3_theme/components/specs/default-component-token-set.js.map +0 -1
  1180. package/cjs/v3_theme/components/specs/lifesg-component-token-set.js +0 -2
  1181. package/cjs/v3_theme/components/specs/lifesg-component-token-set.js.map +0 -1
  1182. package/cjs/v3_theme/components/specs/pa-component-token-set.js +0 -2
  1183. package/cjs/v3_theme/components/specs/pa-component-token-set.js.map +0 -1
  1184. package/cjs/v3_theme/components/specs/smgs-component-token-set.js +0 -2
  1185. package/cjs/v3_theme/components/specs/smgs-component-token-set.js.map +0 -1
  1186. package/cjs/v3_theme/components/specs/spf-component-token-set.js +0 -2
  1187. package/cjs/v3_theme/components/specs/spf-component-token-set.js.map +0 -1
  1188. package/cjs/v3_theme/components/theme-helper.js +0 -2
  1189. package/cjs/v3_theme/components/theme-helper.js.map +0 -1
  1190. package/countdown-timer/countdown-timer.style.d.ts +0 -42
  1191. package/countdown-timer/countdown-timer.style.js +0 -58
  1192. package/countdown-timer/countdown-timer.style.js.map +0 -1
  1193. package/date-input/date-input.style.d.ts +0 -1
  1194. package/date-input/date-input.style.js +0 -4
  1195. package/date-input/date-input.style.js.map +0 -1
  1196. package/date-range-input/date-range-input.style.d.ts +0 -8
  1197. package/date-range-input/date-range-input.style.js +0 -17
  1198. package/date-range-input/date-range-input.style.js.map +0 -1
  1199. package/external/react-responsive/dist/react-responsive.js +0 -65
  1200. package/external/react-responsive/dist/react-responsive.js.map +0 -1
  1201. package/fullscreen-image-carousel/fullscreen-image-carousel.style.d.ts +0 -116
  1202. package/fullscreen-image-carousel/fullscreen-image-carousel.style.js +0 -298
  1203. package/fullscreen-image-carousel/fullscreen-image-carousel.style.js.map +0 -1
  1204. package/fullscreen-image-carousel/stateful-image.style.d.ts +0 -7
  1205. package/fullscreen-image-carousel/stateful-image.style.js +0 -13
  1206. package/fullscreen-image-carousel/stateful-image.style.js.map +0 -1
  1207. package/input-range-select/input-range-select.style.d.ts +0 -3
  1208. package/input-range-select/input-range-select.style.js +0 -36
  1209. package/input-range-select/input-range-select.style.js.map +0 -1
  1210. package/language-switcher/dropdown-variant.style.d.ts +0 -11
  1211. package/language-switcher/dropdown-variant.style.js +0 -62
  1212. package/language-switcher/dropdown-variant.style.js.map +0 -1
  1213. package/language-switcher/link-container-variant.style.d.ts +0 -8
  1214. package/language-switcher/link-container-variant.style.js +0 -51
  1215. package/language-switcher/link-container-variant.style.js.map +0 -1
  1216. package/masked-input/masked-input.style.d.ts +0 -48
  1217. package/masked-input/masked-input.style.js +0 -87
  1218. package/masked-input/masked-input.style.js.map +0 -1
  1219. package/masonry/index.d.ts +0 -1
  1220. package/masonry/index.js +0 -2
  1221. package/masonry/index.js.map +0 -1
  1222. package/masonry/masonry.d.ts +0 -7
  1223. package/masonry/masonry.js +0 -2
  1224. package/masonry/masonry.js.map +0 -1
  1225. package/masonry/masonry.style.d.ts +0 -6
  1226. package/masonry/masonry.style.js +0 -42
  1227. package/masonry/masonry.style.js.map +0 -1
  1228. package/masonry/types.d.ts +0 -32
  1229. package/popover/popover-hoc.d.ts +0 -4
  1230. package/popover/popover-hoc.js +0 -2
  1231. package/popover/popover-hoc.js.map +0 -1
  1232. package/popover-v2/index.d.ts +0 -4
  1233. package/popover-v2/index.js +0 -2
  1234. package/popover-v2/index.js.map +0 -1
  1235. package/popover-v2/popover-inline/popover-inline.styles.js +0 -2
  1236. package/popover-v2/popover-inline/popover-inline.styles_ziag9c.css +0 -2
  1237. package/popover-v2/popover-trigger.js +0 -2
  1238. package/popover-v2/popover-trigger.js.map +0 -1
  1239. package/popover-v2/popover-trigger.styles.js +0 -2
  1240. package/popover-v2/popover-trigger.styles_1yq7ffk.css +0 -1
  1241. package/popover-v2/popover.d.ts +0 -2
  1242. package/popover-v2/popover.js +0 -2
  1243. package/popover-v2/popover.js.map +0 -1
  1244. package/popover-v2/popover.styles.d.ts +0 -10
  1245. package/popover-v2/popover.styles.js +0 -2
  1246. package/popover-v2/popover.styles.js.map +0 -1
  1247. package/popover-v2/popover.styles_lslc72.css +0 -4
  1248. package/popover-v2/types.d.ts +0 -59
  1249. package/progress-indicator/progress-indicator.style.d.ts +0 -47
  1250. package/progress-indicator/progress-indicator.style.js +0 -39
  1251. package/progress-indicator/progress-indicator.style.js.map +0 -1
  1252. package/theme/utils/media-query.d.ts +0 -6
  1253. package/theme/utils/media-query.js +0 -2
  1254. package/theme/utils/media-query.js.map +0 -1
  1255. package/timeline/timeline.style.d.ts +0 -55
  1256. package/timeline/timeline.style.js +0 -100
  1257. package/timeline/timeline.style.js.map +0 -1
  1258. package/timetable/timetable-header/timetable-header.style.d.ts +0 -31
  1259. package/timetable/timetable-header/timetable-header.style.js +0 -28
  1260. package/timetable/timetable-header/timetable-header.style.js.map +0 -1
  1261. package/timetable/timetable-row/row-bar.style.d.ts +0 -1
  1262. package/timetable/timetable-row/row-bar.style.js +0 -5
  1263. package/timetable/timetable-row/row-bar.style.js.map +0 -1
  1264. package/timetable/timetable-row/row-cell.style.d.ts +0 -60
  1265. package/timetable/timetable-row/row-cell.style.js +0 -53
  1266. package/timetable/timetable-row/row-cell.style.js.map +0 -1
  1267. package/timetable/timetable.style.d.ts +0 -102
  1268. package/timetable/timetable.style.js +0 -172
  1269. package/timetable/timetable.style.js.map +0 -1
  1270. package/tooltip/index.d.ts +0 -3
  1271. package/tooltip/index.js +0 -2
  1272. package/tooltip/index.js.map +0 -1
  1273. package/tooltip/tooltip-hoc.d.ts +0 -3
  1274. package/tooltip/tooltip-hoc.js +0 -2
  1275. package/tooltip/tooltip-hoc.js.map +0 -1
  1276. package/tooltip/tooltip.d.ts +0 -3
  1277. package/tooltip/tooltip.js +0 -2
  1278. package/tooltip/tooltip.js.map +0 -1
  1279. package/tooltip/tooltip.styles.d.ts +0 -10
  1280. package/tooltip/tooltip.styles.js +0 -192
  1281. package/tooltip/tooltip.styles.js.map +0 -1
  1282. package/tooltip/types.d.ts +0 -22
  1283. package/unit-number/unit-number-input.style.d.ts +0 -52
  1284. package/unit-number/unit-number-input.style.js +0 -27
  1285. package/unit-number/unit-number-input.style.js.map +0 -1
  1286. package/v2_color/color.d.ts +0 -5
  1287. package/v2_color/color.js +0 -2
  1288. package/v2_color/color.js.map +0 -1
  1289. package/v2_color/index.d.ts +0 -2
  1290. package/v2_color/index.js +0 -2
  1291. package/v2_color/index.js.map +0 -1
  1292. package/v2_color/types.d.ts +0 -62
  1293. package/v2_design-token/design-token.d.ts +0 -23
  1294. package/v2_design-token/design-token.js +0 -2
  1295. package/v2_design-token/design-token.js.map +0 -1
  1296. package/v2_design-token/index.d.ts +0 -2
  1297. package/v2_design-token/index.js +0 -2
  1298. package/v2_design-token/index.js.map +0 -1
  1299. package/v2_design-token/types.d.ts +0 -28
  1300. package/v2_layout/col-div.d.ts +0 -4
  1301. package/v2_layout/col-div.js +0 -2
  1302. package/v2_layout/col-div.js.map +0 -1
  1303. package/v2_layout/col-div.style.d.ts +0 -9
  1304. package/v2_layout/col-div.style.js +0 -17
  1305. package/v2_layout/col-div.style.js.map +0 -1
  1306. package/v2_layout/container.d.ts +0 -4
  1307. package/v2_layout/container.js +0 -49
  1308. package/v2_layout/container.js.map +0 -1
  1309. package/v2_layout/content.d.ts +0 -4
  1310. package/v2_layout/content.js +0 -2
  1311. package/v2_layout/content.js.map +0 -1
  1312. package/v2_layout/index.d.ts +0 -8
  1313. package/v2_layout/index.js +0 -2
  1314. package/v2_layout/index.js.map +0 -1
  1315. package/v2_layout/section.d.ts +0 -4
  1316. package/v2_layout/section.js +0 -20
  1317. package/v2_layout/section.js.map +0 -1
  1318. package/v2_layout/types.d.ts +0 -66
  1319. package/v2_media/index.d.ts +0 -2
  1320. package/v2_media/index.js +0 -2
  1321. package/v2_media/index.js.map +0 -1
  1322. package/v2_media/media.d.ts +0 -8
  1323. package/v2_media/media.js +0 -2
  1324. package/v2_media/media.js.map +0 -1
  1325. package/v2_media/types.d.ts +0 -20
  1326. package/v2_spec/color-spec/base-color-set.d.ts +0 -2
  1327. package/v2_spec/color-spec/base-color-set.js +0 -2
  1328. package/v2_spec/color-spec/base-color-set.js.map +0 -1
  1329. package/v2_spec/color-spec/bookingsg-color-set.d.ts +0 -2
  1330. package/v2_spec/color-spec/bookingsg-color-set.js +0 -2
  1331. package/v2_spec/color-spec/bookingsg-color-set.js.map +0 -1
  1332. package/v2_spec/color-spec/ccube-color-set.d.ts +0 -2
  1333. package/v2_spec/color-spec/ccube-color-set.js +0 -2
  1334. package/v2_spec/color-spec/ccube-color-set.js.map +0 -1
  1335. package/v2_spec/color-spec/mylegacy-color-set.d.ts +0 -2
  1336. package/v2_spec/color-spec/mylegacy-color-set.js +0 -2
  1337. package/v2_spec/color-spec/mylegacy-color-set.js.map +0 -1
  1338. package/v2_spec/color-spec/oneservice-color-set.d.ts +0 -2
  1339. package/v2_spec/color-spec/oneservice-color-set.js +0 -2
  1340. package/v2_spec/color-spec/oneservice-color-set.js.map +0 -1
  1341. package/v2_spec/color-spec/rbs-color-set.d.ts +0 -2
  1342. package/v2_spec/color-spec/rbs-color-set.js +0 -2
  1343. package/v2_spec/color-spec/rbs-color-set.js.map +0 -1
  1344. package/v2_spec/design-token-spec/base-design-token-set.d.ts +0 -2
  1345. package/v2_spec/design-token-spec/base-design-token-set.js +0 -8
  1346. package/v2_spec/design-token-spec/base-design-token-set.js.map +0 -1
  1347. package/v2_spec/design-token-spec/rbs-design-token-set.d.ts +0 -2
  1348. package/v2_spec/design-token-spec/rbs-design-token-set.js +0 -8
  1349. package/v2_spec/design-token-spec/rbs-design-token-set.js.map +0 -1
  1350. package/v2_spec/media-spec.d.ts +0 -2
  1351. package/v2_spec/media-spec.js +0 -2
  1352. package/v2_spec/media-spec.js.map +0 -1
  1353. package/v2_spec/text-spec/base-plus-jakarta-sans-text-style-set.d.ts +0 -2
  1354. package/v2_spec/text-spec/base-plus-jakarta-sans-text-style-set.js +0 -2
  1355. package/v2_spec/text-spec/base-plus-jakarta-sans-text-style-set.js.map +0 -1
  1356. package/v2_spec/text-spec/base-text-style-set.d.ts +0 -2
  1357. package/v2_spec/text-spec/base-text-style-set.js +0 -2
  1358. package/v2_spec/text-spec/base-text-style-set.js.map +0 -1
  1359. package/v2_spec/text-spec/font-spec.d.ts +0 -15
  1360. package/v2_spec/text-spec/font-spec.js +0 -2
  1361. package/v2_spec/text-spec/font-spec.js.map +0 -1
  1362. package/v2_spec/text-spec/oneservice-text-style-set.d.ts +0 -2
  1363. package/v2_spec/text-spec/oneservice-text-style-set.js +0 -2
  1364. package/v2_spec/text-spec/oneservice-text-style-set.js.map +0 -1
  1365. package/v2_spec/text-spec/types.d.ts +0 -4
  1366. package/v2_text/helper.d.ts +0 -7
  1367. package/v2_text/helper.js +0 -31
  1368. package/v2_text/helper.js.map +0 -1
  1369. package/v2_text/index.d.ts +0 -4
  1370. package/v2_text/index.js +0 -2
  1371. package/v2_text/index.js.map +0 -1
  1372. package/v2_text/text-style.d.ts +0 -5
  1373. package/v2_text/text-style.js +0 -2
  1374. package/v2_text/text-style.js.map +0 -1
  1375. package/v2_text/text.d.ts +0 -22
  1376. package/v2_text/text.js +0 -107
  1377. package/v2_text/text.js.map +0 -1
  1378. package/v2_text/types.d.ts +0 -44
  1379. package/v2_text/types.js +0 -2
  1380. package/v2_text/types.js.map +0 -1
  1381. package/v2_text-list/index.d.ts +0 -6
  1382. package/v2_text-list/index.js +0 -2
  1383. package/v2_text-list/index.js.map +0 -1
  1384. package/v2_text-list/ordered-list.d.ts +0 -3
  1385. package/v2_text-list/ordered-list.js +0 -2
  1386. package/v2_text-list/ordered-list.js.map +0 -1
  1387. package/v2_text-list/text-list.styles.d.ts +0 -13
  1388. package/v2_text-list/text-list.styles.js +0 -62
  1389. package/v2_text-list/text-list.styles.js.map +0 -1
  1390. package/v2_text-list/types.d.ts +0 -26
  1391. package/v2_text-list/unordered-list.d.ts +0 -3
  1392. package/v2_text-list/unordered-list.js +0 -2
  1393. package/v2_text-list/unordered-list.js.map +0 -1
  1394. package/v2_theme/color-theme-helper.d.ts +0 -1
  1395. package/v2_theme/color-theme-helper.js +0 -2
  1396. package/v2_theme/color-theme-helper.js.map +0 -1
  1397. package/v2_theme/design-token-helper.d.ts +0 -2
  1398. package/v2_theme/design-token-helper.js +0 -2
  1399. package/v2_theme/design-token-helper.js.map +0 -1
  1400. package/v2_theme/helper.d.ts +0 -16
  1401. package/v2_theme/helper.js +0 -2
  1402. package/v2_theme/helper.js.map +0 -1
  1403. package/v2_theme/index.d.ts +0 -8
  1404. package/v2_theme/index.js +0 -2
  1405. package/v2_theme/index.js.map +0 -1
  1406. package/v2_theme/text-theme-helper.d.ts +0 -1
  1407. package/v2_theme/text-theme-helper.js +0 -2
  1408. package/v2_theme/text-theme-helper.js.map +0 -1
  1409. package/v2_theme/types.d.ts +0 -48
  1410. package/v2_theme/types.js +0 -2
  1411. package/v2_theme/types.js.map +0 -1
  1412. package/v2_transition/index.d.ts +0 -5
  1413. package/v2_transition/index.js +0 -2
  1414. package/v2_transition/index.js.map +0 -1
  1415. package/v3_theme/components/specs/a11yplayground-component-token-set.js +0 -2
  1416. package/v3_theme/components/specs/a11yplayground-component-token-set.js.map +0 -1
  1417. package/v3_theme/components/specs/default-component-token-set.js +0 -2
  1418. package/v3_theme/components/specs/default-component-token-set.js.map +0 -1
  1419. package/v3_theme/components/specs/lifesg-component-token-set.js +0 -2
  1420. package/v3_theme/components/specs/lifesg-component-token-set.js.map +0 -1
  1421. package/v3_theme/components/specs/pa-component-token-set.js +0 -2
  1422. package/v3_theme/components/specs/pa-component-token-set.js.map +0 -1
  1423. package/v3_theme/components/specs/smgs-component-token-set.js +0 -2
  1424. package/v3_theme/components/specs/smgs-component-token-set.js.map +0 -1
  1425. package/v3_theme/components/specs/spf-component-token-set.js +0 -2
  1426. package/v3_theme/components/specs/spf-component-token-set.js.map +0 -1
  1427. package/v3_theme/components/theme-helper.js +0 -2
  1428. package/v3_theme/components/theme-helper.js.map +0 -1
  1429. /package/cjs/{popover-v2 → popover}/popover-inline/popover-inline.js +0 -0
  1430. /package/{popover-v2 → popover}/popover-inline/index.d.ts +0 -0
  1431. /package/{popover-v2 → popover}/popover-inline/popover-inline.d.ts +0 -0
  1432. /package/{popover-v2 → popover}/popover-inline/popover-inline.js +0 -0
  1433. /package/{popover-v2 → popover}/popover-inline/popover-inline.styles.d.ts +0 -0
  1434. /package/{popover-v2 → popover}/popover-trigger.styles.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"nested-dropdown-list.js","sources":["../../../../src/shared/dropdown-list/nested-dropdown-list.tsx"],"sourcesContent":["import { CaretRightIcon } from \"@lifesg/react-icons/caret-right\";\nimport { ExclamationCircleFillIcon } from \"@lifesg/react-icons/exclamation-circle-fill\";\nimport { MinusSquareFillIcon } from \"@lifesg/react-icons/minus-square-fill\";\nimport { SquareIcon } from \"@lifesg/react-icons/square\";\nimport { SquareTickFillIcon } from \"@lifesg/react-icons/square-tick-fill\";\nimport { TickIcon } from \"@lifesg/react-icons/tick\";\nimport clsx from \"clsx\";\nimport type React from \"react\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport { Virtuoso } from \"react-virtuoso\";\n\nimport { Markup } from \"../../markup\";\nimport { useApplyStyle } from \"../../theme\";\nimport {\n mergeRefs,\n useEvent,\n useEventListener,\n useIsMounted,\n} from \"../../util\";\nimport { ComponentLoadingSpinner } from \"../component-loading-spinner\";\nimport { useDropdownRender } from \"../dropdown-wrapper\";\nimport { BasicButton } from \"../input-wrapper\";\nimport { DropdownLabel } from \"./dropdown-label\";\nimport * as styles from \"./dropdown-list.styles\";\nimport { DropdownSearch } from \"./dropdown-search\";\nimport * as nestedStyles from \"./nested-dropdown-list.styles\";\nimport {\n expandFirstSubtree,\n expandMatchedSubtrees,\n expandSelectedSubtrees,\n findItemFromEnd,\n findItemFromStart,\n flattenList,\n toggleSubtree,\n updateSelectedState,\n} from \"./nested-dropdown-list-helpers\";\nimport type {\n NestedDropdownListItemProps,\n NestedDropdownListLocalItem,\n NestedDropdownListProps,\n} from \"./types\";\nimport { VirtuosoItem, VirtuosoList } from \"./virtuoso-components\";\n\nexport const NestedDropdownList = <T,>({\n listItems,\n multiSelect = false,\n selectedKeyPaths,\n itemsLoadState = \"success\",\n itemTruncationType = \"end\",\n itemMaxLines = 2,\n variant = \"default\",\n listboxId,\n matchElementWidth = false,\n width,\n mode = \"default\",\n selectableCategory: _selectableCategory,\n onSelectItem,\n onSelectAll,\n onRetry,\n /* DropdownSearchProps */\n enableSearch,\n hideNoResultsDisplay,\n noResultsDescription: _noResultsDescription,\n customLabels,\n searchPlaceholder: _searchPlaceholder,\n onSearch,\n}: NestedDropdownListProps<T>) => {\n // =========================================================================\n // CONST, STATE, REF\n // =========================================================================\n const {\n noResultsLabel = \"No results found.\",\n selectAllButtonLabel = \"Select all\",\n clearAllButtonLabel = \"Clear all\",\n } = customLabels || {};\n const searchPlaceholder =\n customLabels?.searchPlaceholder || _searchPlaceholder || \"Search\";\n const noResultsDescription =\n customLabels?.noResultsDescription || _noResultsDescription;\n const selectableCategory = multiSelect || _selectableCategory;\n\n const {\n elementWidth,\n setFloatingRef,\n getFloatingProps,\n styles: floatingStyles,\n } = useDropdownRender();\n const [searchValue, setSearchValue] = useState<string>(\"\");\n const searchTerm = searchValue.toLowerCase().trim();\n const [searchActive, setSearchActive] = useState<boolean>(false);\n const nodeRef = useRef<HTMLDivElement>(null);\n const listItemRefs = useRef<(HTMLElement | null)[]>([]);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const mounted = useIsMounted();\n\n // maintaining a separate list for search and non-search as we need to\n // preserve the original expanded state\n const [unfilteredListItems, setUnfilteredListItems] = useState<\n NestedDropdownListLocalItem<T>[]\n >([]);\n const [filteredListItems, setFilteredListItems] = useState<\n NestedDropdownListLocalItem<T>[]\n >([]);\n\n const activeList = searchActive ? filteredListItems : unfilteredListItems;\n\n const maxLevel = useMemo(() => {\n let currentMaxLevel = 0;\n for (const item of unfilteredListItems) {\n if (item.level > currentMaxLevel) {\n currentMaxLevel = item.level;\n }\n }\n return currentMaxLevel;\n }, [unfilteredListItems]);\n\n // TODO: persist in context?\n const [focusedIndex, setFocusedIndex] = useState(0);\n\n /**\n * NOTE: Keeping track of the visible items to pass to Virtuoso for virtualisation to work.\n * This is required due to the nature of show/hide sub-items, to omit them from the DOM entirely.\n */\n const [visibleItems, setVisibleItems] = useState<\n NestedDropdownListLocalItem<T>[]\n >([]);\n\n // NOTE: Maintaining a separate index for UI to keep track on which item (in terms of Virtuoso's indexing) is currently focused on keyboard press events.\n const [virtuosoIndex, setVirtuosoIndex] = useState(0);\n\n let containerWidthStyle = {};\n if (width) {\n containerWidthStyle = {\n [styles.tokens.containerWidth]: `${width}px`,\n [styles.tokens.containerMinWidth]: `0px`,\n };\n } else if (matchElementWidth && elementWidth) {\n containerWidthStyle = {\n [styles.tokens.containerWidth]: `${elementWidth}px`,\n [styles.tokens.containerMinWidth]: `${elementWidth}px`,\n };\n }\n\n // =========================================================================\n // EVENT HANDLERS\n // =========================================================================\n const handleKeyboardPress = (event: KeyboardEvent) => {\n /**\n * NOTE: When navigating up/down the list using keyboard, need to use virtuoso index, when expanding/collapsing, need actual index as we need to toggle the visible state of the sub-items\n */\n switch (event.code) {\n case \"ArrowDown\": {\n event.preventDefault();\n const upcomingItem = findItemFromStart(\n activeList,\n (item) => item.visible,\n focusedIndex + 1\n );\n if (upcomingItem) {\n setVirtuosoIndex((vIndex) => vIndex + 1);\n setFocusedIndex(upcomingItem.index);\n listItemRefs.current[upcomingItem.index]?.focus();\n }\n break;\n }\n case \"ArrowUp\": {\n event.preventDefault();\n const upcomingItem = findItemFromEnd(\n activeList,\n (item) => item.visible,\n focusedIndex - 1\n );\n if (upcomingItem) {\n setVirtuosoIndex((vIndex) => vIndex - 1);\n setFocusedIndex(upcomingItem.index);\n listItemRefs.current[upcomingItem.index]?.focus();\n } else if (virtuosoIndex === 0 && searchInputRef.current) {\n searchInputRef.current.focus();\n setVirtuosoIndex(-1);\n setFocusedIndex(-1);\n }\n break;\n }\n case \"ArrowRight\": {\n event.preventDefault();\n toggleCategory(focusedIndex, true, virtuosoIndex);\n break;\n }\n case \"ArrowLeft\": {\n event.preventDefault();\n toggleCategory(focusedIndex, false, virtuosoIndex);\n break;\n }\n case \"Space\": {\n if (\n document.activeElement ===\n listItemRefs.current[focusedIndex]\n ) {\n event.preventDefault();\n const target = activeList[focusedIndex];\n if (target.hasSubItems && !selectableCategory) {\n return;\n }\n onSelectItem?.(target);\n }\n break;\n }\n }\n };\n\n const handleSearchInputChange = (\n event: React.ChangeEvent<HTMLInputElement>\n ) => {\n const value = event.target.value;\n setSearchValue(value);\n\n if (value === \"\") {\n setSearchActive(false);\n } else if (value.trim().length >= 3) {\n setSearchActive(true);\n }\n\n onSearch?.();\n };\n\n const handleOnClear = () => {\n setSearchValue(\"\");\n setSearchActive(false);\n searchInputRef.current?.focus();\n\n onSearch?.();\n };\n\n const handleTryAgain = () => {\n onRetry?.();\n };\n\n const handleListItemClick = (itemIndex: number, vIndex: number) => {\n setVirtuosoIndex(vIndex);\n setFocusedIndex(itemIndex);\n onSelectItem?.(activeList[itemIndex]);\n };\n\n const handleListItemHover = (\n virtuosoIndex: number,\n listItem: NestedDropdownListLocalItem<T>\n ) => {\n setFocusedIndex(listItem.index);\n setVirtuosoIndex(virtuosoIndex);\n };\n\n const handleOnSelectAll = () => {\n if (selectedKeyPaths.size === 0) {\n const keyPaths: string[][] = [];\n const items: NestedDropdownListLocalItem<T>[] = [];\n unfilteredListItems.forEach((item) => {\n if (item.hasSubItems) {\n return;\n }\n keyPaths.push(item.keyPath);\n items.push(item);\n });\n\n onSelectAll?.(keyPaths, items);\n } else {\n onSelectAll?.([], []);\n }\n };\n\n // =========================================================================\n // HELPER FUNCTIONS\n // =========================================================================\n const flatten = useEvent(\n (\n nestedList: NestedDropdownListItemProps<T>[],\n initialExpanded: boolean\n ): NestedDropdownListLocalItem<T>[] => {\n return flattenList(\n nestedList,\n selectedKeyPaths,\n multiSelect,\n searchTerm,\n initialExpanded\n );\n }\n );\n\n const flattenDefaultMode = useEvent(\n (nestedList: NestedDropdownListItemProps<T>[]) => {\n if (selectedKeyPaths.size) {\n return expandSelectedSubtrees(flatten(nestedList, false));\n } else {\n return expandFirstSubtree(flatten(nestedList, false));\n }\n }\n );\n\n const filter = useEvent((nestedList: NestedDropdownListItemProps<T>[]) => {\n const filterMatchedItems = (list: NestedDropdownListItemProps<T>[]) => {\n const matchedItems: NestedDropdownListItemProps<T>[] = [];\n for (const item of list) {\n const match =\n item.label.toLowerCase().indexOf(searchTerm) !== -1;\n\n if (match) {\n matchedItems.push(item);\n continue;\n }\n\n if (item.subItems) {\n const matchedSubItems = filterMatchedItems(item.subItems);\n if (matchedSubItems.length > 0) {\n matchedItems.push({\n ...item,\n subItems: matchedSubItems,\n });\n continue;\n }\n }\n }\n return matchedItems;\n };\n return filterMatchedItems(nestedList);\n });\n\n const updateSelectedItemsInList = useEvent(() => {\n setUnfilteredListItems((unfilteredListItems) =>\n updateSelectedState(\n unfilteredListItems,\n selectedKeyPaths,\n multiSelect\n )\n );\n\n if (searchActive) {\n setFilteredListItems((filteredListItems) =>\n updateSelectedState(\n filteredListItems,\n selectedKeyPaths,\n multiSelect\n )\n );\n }\n });\n\n const toggleCategory = (\n index: number,\n nextExpanded: boolean,\n virtuosoIndex: number\n ) => {\n const list = toggleSubtree(activeList, index, nextExpanded);\n setFocusedIndex(index);\n setVirtuosoIndex(virtuosoIndex);\n if (searchActive) {\n setFilteredListItems(list);\n } else {\n setUnfilteredListItems(list);\n }\n };\n\n // =========================================================================\n // EFFECTS\n // =========================================================================\n useEventListener(\"keydown\", handleKeyboardPress);\n\n useEffect(() => {\n let list: NestedDropdownListLocalItem<T>[] = [];\n if (mode === \"default\") {\n list = flattenDefaultMode(listItems);\n } else if (mode === \"expand\") {\n list = flatten(listItems, true);\n } else if (mode === \"collapse\") {\n list = flatten(listItems, false);\n }\n setUnfilteredListItems(list);\n }, [flatten, flattenDefaultMode, listItems, mode]);\n\n useEffect(() => {\n // Filter out non-visible items before passing to Virtuoso\n setVisibleItems(activeList.filter((item) => item.visible));\n }, [searchActive, activeList]);\n\n useEffect(() => {\n updateSelectedItemsInList();\n }, [multiSelect, selectedKeyPaths, updateSelectedItemsInList]);\n\n useEffect(() => {\n if (searchActive && searchValue.trim().length >= 3) {\n const filteredListItems = filter(listItems);\n const list = expandMatchedSubtrees(\n flatten(filteredListItems, false)\n );\n\n setFilteredListItems(list);\n }\n }, [filter, flatten, listItems, searchActive, searchValue]);\n\n useEffect(() => {\n if (mounted) {\n // only run on mount\n return;\n }\n\n // Focus search input if there is one\n if (searchInputRef.current) {\n setFocusedIndex(-1);\n setVirtuosoIndex(-1);\n setTimeout(() => searchInputRef.current?.focus(), 200); // wait for animation\n } else if (listItemRefs.current[focusedIndex]) {\n // Else focus on the specified element\n setTimeout(() => listItemRefs.current[focusedIndex]?.focus(), 200);\n } else {\n // Else focus on the first list item\n setFocusedIndex(0);\n setVirtuosoIndex(0);\n setTimeout(() => listItemRefs.current[0]?.focus(), 200);\n }\n }, [focusedIndex, virtuosoIndex, mounted]);\n\n // =========================================================================\n // APPLY STYLE\n // =========================================================================\n\n useApplyStyle(nodeRef, {\n ...containerWidthStyle,\n });\n\n // =========================================================================\n // RENDER FUNCTIONS\n // =========================================================================\n const renderSearchInput = () => {\n if (enableSearch && itemsLoadState === \"success\") {\n return (\n <DropdownSearch\n ref={searchInputRef}\n onChange={handleSearchInputChange}\n value={searchValue}\n placeholder={searchPlaceholder}\n data-testid=\"search-input\"\n aria-label=\"Enter text to search\"\n onClear={handleOnClear}\n variant={variant}\n />\n );\n }\n };\n\n const renderSelectAll = () => {\n if (\n multiSelect &&\n !searchActive &&\n unfilteredListItems.length > 0 &&\n itemsLoadState === \"success\"\n ) {\n return (\n <div className={styles.selectAllContainer}>\n <BasicButton\n onClick={handleOnSelectAll}\n type=\"button\"\n className={clsx(\n styles.baseButton,\n styles.selectAllButton\n )}\n >\n {selectedKeyPaths.size === 0\n ? selectAllButtonLabel\n : clearAllButtonLabel}\n </BasicButton>\n </div>\n );\n }\n };\n\n const renderNoResults = () => {\n if (\n !hideNoResultsDisplay &&\n searchActive &&\n filteredListItems.length === 0 &&\n itemsLoadState === \"success\"\n ) {\n return (\n <>\n <div\n data-testid=\"list-no-results\"\n className={styles.resultStateContainer}\n >\n <ExclamationCircleFillIcon\n data-testid=\"no-result-icon\"\n className={styles.labelIcon}\n />\n {noResultsLabel}\n </div>\n {noResultsDescription && (\n <Markup\n data-testid=\"no-result-desc\"\n className={styles.noResultDescContainer}\n >\n {noResultsDescription}\n </Markup>\n )}\n </>\n );\n }\n };\n\n const renderLoading = () => {\n if (onRetry && itemsLoadState === \"loading\") {\n return (\n <div\n data-testid=\"list-loading\"\n className={styles.resultStateContainer}\n >\n <ComponentLoadingSpinner className={styles.spinner} />\n Loading...\n </div>\n );\n }\n };\n\n const renderTryAgain = () => {\n if (onRetry && itemsLoadState === \"fail\") {\n return (\n <div\n data-testid=\"list-fail\"\n className={styles.resultStateContainer}\n >\n <ExclamationCircleFillIcon\n data-testid=\"load-error-icon\"\n className={styles.labelIcon}\n />\n Failed to load.&nbsp;\n <BasicButton\n onClick={handleTryAgain}\n type=\"button\"\n className={clsx(\n styles.baseButton,\n styles.tryAgainButton\n )}\n >\n Try again.\n </BasicButton>\n </div>\n );\n }\n };\n const renderSelectionIcon = (listItem: NestedDropdownListLocalItem<T>) => {\n if (multiSelect) {\n switch (listItem.checked) {\n case \"mixed\":\n return (\n <MinusSquareFillIcon\n aria-hidden\n className={nestedStyles.checkboxMixedIndicator}\n />\n );\n case true:\n return (\n <SquareTickFillIcon\n aria-hidden\n className={clsx(\n styles.baseCheckboxIndicatorStyle,\n styles.checkboxSelectedIndicator\n )}\n />\n );\n default:\n return (\n <SquareIcon\n aria-hidden\n className={clsx(\n styles.baseCheckboxIndicatorStyle,\n styles.checkboxUnselectedIndicator\n )}\n />\n );\n }\n }\n\n if (listItem.hasSubItems) {\n // no icon needed\n return;\n }\n\n return (\n <div\n className={clsx(\n nestedStyles.selectionIndicator,\n (listItem.hasNestedSiblings || listItem.level === 0) &&\n nestedStyles.selectionIndicatorNested\n )}\n >\n {listItem.checked && (\n <TickIcon\n aria-hidden\n className={clsx(\n styles.baseIndicatorStyle,\n styles.selectedIndicator\n )}\n />\n )}\n </div>\n );\n };\n\n const renderItem = (\n listItem: NestedDropdownListLocalItem<T>,\n vIndex: number\n ) => {\n const {\n level,\n visible,\n expanded,\n keyPath,\n checked,\n hasSubItems,\n indexInParent,\n parentSetSize,\n } = listItem;\n const itemIndex = listItem.index;\n const active = virtuosoIndex === vIndex;\n const toggleable = hasSubItems && !selectableCategory;\n\n return (\n <li\n key={`[${keyPath.join(\"---\")}]`}\n role=\"none\"\n className={clsx(\n nestedStyles.listItemContainer,\n !visible && nestedStyles.listItemContainerHidden\n )}\n >\n {maxLevel > 0 && (\n <div\n className={nestedStyles.indent}\n ref={(node) => {\n if (node) {\n node.style.setProperty(\n nestedStyles.tokens.level,\n String(level)\n );\n }\n }}\n />\n )}\n {maxLevel > 0 && !hasSubItems && multiSelect && (\n <div className={nestedStyles.unexpandableIndicator} />\n )}\n <div\n aria-checked={checked} // not working with safari voiceover\n aria-selected={!!checked} // required for safari voiceover\n aria-expanded={hasSubItems ? expanded : undefined}\n aria-level={level + 1}\n aria-posinset={indexInParent + 1}\n aria-setsize={parentSetSize}\n data-testid=\"list-item\"\n onClick={(e) => {\n e.stopPropagation();\n if (toggleable) {\n toggleCategory(itemIndex, !expanded, vIndex);\n } else {\n handleListItemClick(itemIndex, vIndex);\n }\n }}\n onMouseEnter={() => handleListItemHover(vIndex, listItem)}\n ref={(node) =>\n (listItemRefs.current[listItem.index] = node)\n }\n role=\"treeitem\"\n tabIndex={active ? 0 : -1}\n className={clsx(\n nestedStyles.listItem,\n active && nestedStyles.listItemActive,\n toggleable && nestedStyles.listItemToggleable\n )}\n >\n {hasSubItems && (\n // not an actual button, only required for visual display\n <div\n data-testid=\"toggle-category-button\"\n onClick={(e) => {\n e.stopPropagation();\n toggleCategory(itemIndex, !expanded, vIndex);\n }}\n className={clsx(\n nestedStyles.expandButton,\n expanded && nestedStyles.expandButtonExpanded\n )}\n aria-hidden\n >\n <CaretRightIcon />\n </div>\n )}\n {renderSelectionIcon(listItem)}\n <DropdownLabel\n bold={hasSubItems}\n searchTerm={searchActive ? searchTerm : undefined}\n label={listItem.item.label}\n selected={!!checked}\n truncationType={itemTruncationType}\n maxLines={itemMaxLines}\n />\n </div>\n </li>\n );\n };\n\n const renderVirtualisedList = () => {\n const isTestEnv = process.env.NODE_ENV === \"test\";\n\n return (\n <Virtuoso\n style={{ height: \"100%\" }}\n customScrollParent={nodeRef.current ?? undefined}\n data={visibleItems}\n itemContent={(vIndex, item) => renderItem(item, vIndex)}\n components={{\n List: VirtuosoList,\n Item: VirtuosoItem,\n }}\n context={{\n listProps: {\n id: listboxId,\n role: \"tree\",\n \"aria-multiselectable\": multiSelect,\n },\n listItemProps: {\n role: \"none\",\n },\n }}\n // disable virtualisation in tests\n // https://github.com/petyosi/react-virtuoso/issues/26#issuecomment-1040316576\n // explicitly set the `key` prop to avoid React warning\n key={isTestEnv ? visibleItems.length : undefined}\n // omit the `initialItemCount` prop to resolve NaN error\n {...(isTestEnv\n ? {\n initialItemCount: visibleItems.length,\n }\n : {})}\n />\n );\n };\n\n const renderList = () => {\n return (\n <div data-testid=\"nested-dropdown-list\" className={styles.list}>\n {renderSearchInput()}\n {renderSelectAll()}\n {renderNoResults()}\n {renderLoading()}\n {renderTryAgain()}\n {renderVirtualisedList()}\n </div>\n );\n };\n\n return (\n <div\n data-testid=\"dropdown-container\"\n ref={mergeRefs(nodeRef, setFloatingRef)}\n {...getFloatingProps()}\n className={clsx(\n styles.container,\n variant === \"small\" && styles.containerVariantSmall\n )}\n style={floatingStyles}\n >\n {renderList()}\n </div>\n );\n};\n"],"names":["listItems","multiSelect","selectedKeyPaths","itemsLoadState","itemTruncationType","itemMaxLines","variant","listboxId","matchElementWidth","width","mode","selectableCategory","_selectableCategory","onSelectItem","onSelectAll","onRetry","enableSearch","hideNoResultsDisplay","noResultsDescription","_noResultsDescription","customLabels","searchPlaceholder","_searchPlaceholder","onSearch","noResultsLabel","selectAllButtonLabel","clearAllButtonLabel","elementWidth","setFloatingRef","getFloatingProps","styles","floatingStyles","useDropdownRender","searchValue","setSearchValue","useState","searchTerm","toLowerCase","trim","searchActive","setSearchActive","nodeRef","useRef","listItemRefs","searchInputRef","mounted","useIsMounted","unfilteredListItems","setUnfilteredListItems","filteredListItems","setFilteredListItems","activeList","maxLevel","useMemo","currentMaxLevel","item","level","focusedIndex","setFocusedIndex","visibleItems","setVisibleItems","virtuosoIndex","setVirtuosoIndex","containerWidthStyle","styles.tokens","containerWidth","containerMinWidth","handleSearchInputChange","event","value","target","length","handleOnClear","_a","current","focus","handleTryAgain","handleOnSelectAll","size","keyPaths","items","forEach","hasSubItems","push","keyPath","flatten","useEvent","nestedList","initialExpanded","flattenList","flattenDefaultMode","expandSelectedSubtrees","expandFirstSubtree","filter","filterMatchedItems","list","matchedItems","label","indexOf","subItems","matchedSubItems","Object","assign","updateSelectedItemsInList","updateSelectedState","toggleCategory","index","nextExpanded","toggleSubtree","useEventListener","code","preventDefault","upcomingItem","findItemFromStart","visible","vIndex","findItemFromEnd","_b","document","activeElement","useEffect","expandMatchedSubtrees","setTimeout","useApplyStyle","renderSearchInput","_jsx","DropdownSearch","ref","onChange","placeholder","onClear","renderSelectAll","className","styles.selectAllContainer","children","BasicButton","onClick","type","clsx","styles.baseButton","styles.selectAllButton","renderNoResults","_jsxs","styles.resultStateContainer","ExclamationCircleFillIcon","styles.labelIcon","Markup","styles.noResultDescContainer","renderLoading","ComponentLoadingSpinner","styles.spinner","renderTryAgain","styles.tryAgainButton","renderSelectionIcon","listItem","checked","MinusSquareFillIcon","nestedStyles.checkboxMixedIndicator","SquareTickFillIcon","styles.baseCheckboxIndicatorStyle","styles.checkboxSelectedIndicator","SquareIcon","styles.checkboxUnselectedIndicator","nestedStyles.selectionIndicator","hasNestedSiblings","nestedStyles.selectionIndicatorNested","TickIcon","styles.baseIndicatorStyle","styles.selectedIndicator","renderItem","expanded","indexInParent","parentSetSize","itemIndex","active","toggleable","role","nestedStyles.listItemContainer","nestedStyles.listItemContainerHidden","nestedStyles.indent","node","style","setProperty","nestedStyles.tokens","String","nestedStyles.unexpandableIndicator","undefined","e","stopPropagation","handleListItemClick","onMouseEnter","handleListItemHover","tabIndex","nestedStyles.listItem","nestedStyles.listItemActive","nestedStyles.listItemToggleable","nestedStyles.expandButton","nestedStyles.expandButtonExpanded","CaretRightIcon","DropdownLabel","bold","selected","truncationType","maxLines","join","renderVirtualisedList","isTestEnv","process","env","NODE_ENV","Virtuoso","height","customScrollParent","data","itemContent","components","List","VirtuosoList","Item","VirtuosoItem","context","listProps","id","listItemProps","initialItemCount","mergeRefs","styles.container","styles.containerVariantSmall","styles.list"],"mappings":"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"}
1
+ {"version":3,"file":"nested-dropdown-list.js","sources":["../../../../src/shared/dropdown-list/nested-dropdown-list.tsx"],"sourcesContent":["import { CaretRightIcon } from \"@lifesg/react-icons/caret-right\";\nimport { ExclamationCircleFillIcon } from \"@lifesg/react-icons/exclamation-circle-fill\";\nimport { MinusSquareFillIcon } from \"@lifesg/react-icons/minus-square-fill\";\nimport { SquareIcon } from \"@lifesg/react-icons/square\";\nimport { SquareTickFillIcon } from \"@lifesg/react-icons/square-tick-fill\";\nimport { TickIcon } from \"@lifesg/react-icons/tick\";\nimport clsx from \"clsx\";\nimport type React from \"react\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport { Virtuoso } from \"react-virtuoso\";\n\nimport { Markup } from \"../../markup\";\nimport { useApplyStyle } from \"../../theme\";\nimport {\n mergeRefs,\n useEvent,\n useEventListener,\n useIsMounted,\n} from \"../../util\";\nimport { ComponentLoadingSpinner } from \"../component-loading-spinner\";\nimport { useDropdownRender } from \"../dropdown-wrapper\";\nimport { BasicButton } from \"../input-wrapper\";\nimport { DropdownLabel } from \"./dropdown-label\";\nimport type { ContainerWidthType } from \"./dropdown-list.styles\";\nimport * as styles from \"./dropdown-list.styles\";\nimport { DropdownSearch } from \"./dropdown-search\";\nimport * as nestedStyles from \"./nested-dropdown-list.styles\";\nimport {\n expandFirstSubtree,\n expandMatchedSubtrees,\n expandSelectedSubtrees,\n findItemFromEnd,\n findItemFromStart,\n flattenList,\n toggleSubtree,\n updateSelectedState,\n} from \"./nested-dropdown-list-helpers\";\nimport type {\n NestedDropdownListItemProps,\n NestedDropdownListLocalItem,\n NestedDropdownListProps,\n} from \"./types\";\nimport { VirtuosoItem, VirtuosoList } from \"./virtuoso-components\";\n\nexport const NestedDropdownList = <T,>({\n listItems,\n multiSelect = false,\n selectedKeyPaths,\n itemsLoadState = \"success\",\n itemTruncationType = \"end\",\n itemMaxLines = 2,\n variant = \"default\",\n listboxId,\n matchElementWidth = false,\n width,\n mode = \"default\",\n selectableCategory: _selectableCategory,\n onSelectItem,\n onSelectAll,\n onRetry,\n /* DropdownSearchProps */\n enableSearch,\n hideNoResultsDisplay,\n noResultsDescription: _noResultsDescription,\n customLabels,\n searchPlaceholder: _searchPlaceholder,\n onSearch,\n}: NestedDropdownListProps<T>) => {\n // =========================================================================\n // CONST, STATE, REF\n // =========================================================================\n const {\n noResultsLabel = \"No results found.\",\n selectAllButtonLabel = \"Select all\",\n clearAllButtonLabel = \"Clear all\",\n } = customLabels || {};\n const searchPlaceholder =\n customLabels?.searchPlaceholder || _searchPlaceholder || \"Search\";\n const noResultsDescription =\n customLabels?.noResultsDescription || _noResultsDescription;\n const selectableCategory = multiSelect || _selectableCategory;\n\n const {\n elementWidth,\n setFloatingRef,\n getFloatingProps,\n styles: floatingStyles,\n } = useDropdownRender();\n const [searchValue, setSearchValue] = useState<string>(\"\");\n const searchTerm = searchValue.toLowerCase().trim();\n const [searchActive, setSearchActive] = useState<boolean>(false);\n const nodeRef = useRef<HTMLDivElement>(null);\n const listItemRefs = useRef<(HTMLElement | null)[]>([]);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const mounted = useIsMounted();\n\n // maintaining a separate list for search and non-search as we need to\n // preserve the original expanded state\n const [unfilteredListItems, setUnfilteredListItems] = useState<\n NestedDropdownListLocalItem<T>[]\n >([]);\n const [filteredListItems, setFilteredListItems] = useState<\n NestedDropdownListLocalItem<T>[]\n >([]);\n\n const activeList = searchActive ? filteredListItems : unfilteredListItems;\n\n const maxLevel = useMemo(() => {\n let currentMaxLevel = 0;\n for (const item of unfilteredListItems) {\n if (item.level > currentMaxLevel) {\n currentMaxLevel = item.level;\n }\n }\n return currentMaxLevel;\n }, [unfilteredListItems]);\n\n // TODO: persist in context?\n const [focusedIndex, setFocusedIndex] = useState(0);\n\n /**\n * NOTE: Keeping track of the visible items to pass to Virtuoso for virtualisation to work.\n * This is required due to the nature of show/hide sub-items, to omit them from the DOM entirely.\n */\n const [visibleItems, setVisibleItems] = useState<\n NestedDropdownListLocalItem<T>[]\n >([]);\n\n // NOTE: Maintaining a separate index for UI to keep track on which item (in terms of Virtuoso's indexing) is currently focused on keyboard press events.\n const [virtuosoIndex, setVirtuosoIndex] = useState(0);\n\n // =========================================================================\n // APPLY STYLES\n // =========================================================================\n let containerWidthType: ContainerWidthType = \"default\";\n let containerWidth: string | undefined = undefined;\n if (width) {\n containerWidth = width;\n containerWidthType = \"custom\";\n } else if (matchElementWidth && elementWidth) {\n containerWidth = `${elementWidth}px`;\n containerWidthType = \"match\";\n }\n\n useApplyStyle(nodeRef, {\n [styles.tokens.containerWidth]: containerWidth,\n });\n\n // =========================================================================\n // EVENT HANDLERS\n // =========================================================================\n const handleKeyboardPress = (event: KeyboardEvent) => {\n /**\n * NOTE: When navigating up/down the list using keyboard, need to use virtuoso index, when expanding/collapsing, need actual index as we need to toggle the visible state of the sub-items\n */\n switch (event.code) {\n case \"ArrowDown\": {\n event.preventDefault();\n const upcomingItem = findItemFromStart(\n activeList,\n (item) => item.visible,\n focusedIndex + 1\n );\n if (upcomingItem) {\n setVirtuosoIndex((vIndex) => vIndex + 1);\n setFocusedIndex(upcomingItem.index);\n listItemRefs.current[upcomingItem.index]?.focus();\n }\n break;\n }\n case \"ArrowUp\": {\n event.preventDefault();\n const upcomingItem = findItemFromEnd(\n activeList,\n (item) => item.visible,\n focusedIndex - 1\n );\n if (upcomingItem) {\n setVirtuosoIndex((vIndex) => vIndex - 1);\n setFocusedIndex(upcomingItem.index);\n listItemRefs.current[upcomingItem.index]?.focus();\n } else if (virtuosoIndex === 0 && searchInputRef.current) {\n searchInputRef.current.focus();\n setVirtuosoIndex(-1);\n setFocusedIndex(-1);\n }\n break;\n }\n case \"ArrowRight\": {\n event.preventDefault();\n toggleCategory(focusedIndex, true, virtuosoIndex);\n break;\n }\n case \"ArrowLeft\": {\n event.preventDefault();\n toggleCategory(focusedIndex, false, virtuosoIndex);\n break;\n }\n case \"Space\": {\n if (\n document.activeElement ===\n listItemRefs.current[focusedIndex]\n ) {\n event.preventDefault();\n const target = activeList[focusedIndex];\n if (target.hasSubItems && !selectableCategory) {\n return;\n }\n onSelectItem?.(target);\n }\n break;\n }\n }\n };\n\n const handleSearchInputChange = (\n event: React.ChangeEvent<HTMLInputElement>\n ) => {\n const value = event.target.value;\n setSearchValue(value);\n\n if (value === \"\") {\n setSearchActive(false);\n } else if (value.trim().length >= 3) {\n setSearchActive(true);\n }\n\n onSearch?.();\n };\n\n const handleOnClear = () => {\n setSearchValue(\"\");\n setSearchActive(false);\n searchInputRef.current?.focus();\n\n onSearch?.();\n };\n\n const handleTryAgain = () => {\n onRetry?.();\n };\n\n const handleListItemClick = (itemIndex: number, vIndex: number) => {\n setVirtuosoIndex(vIndex);\n setFocusedIndex(itemIndex);\n onSelectItem?.(activeList[itemIndex]);\n };\n\n const handleListItemHover = (\n virtuosoIndex: number,\n listItem: NestedDropdownListLocalItem<T>\n ) => {\n setFocusedIndex(listItem.index);\n setVirtuosoIndex(virtuosoIndex);\n };\n\n const handleOnSelectAll = () => {\n if (selectedKeyPaths.size === 0) {\n const keyPaths: string[][] = [];\n const items: NestedDropdownListLocalItem<T>[] = [];\n unfilteredListItems.forEach((item) => {\n if (item.hasSubItems) {\n return;\n }\n keyPaths.push(item.keyPath);\n items.push(item);\n });\n\n onSelectAll?.(keyPaths, items);\n } else {\n onSelectAll?.([], []);\n }\n };\n\n // =========================================================================\n // HELPER FUNCTIONS\n // =========================================================================\n const flatten = useEvent(\n (\n nestedList: NestedDropdownListItemProps<T>[],\n initialExpanded: boolean\n ): NestedDropdownListLocalItem<T>[] => {\n return flattenList(\n nestedList,\n selectedKeyPaths,\n multiSelect,\n searchTerm,\n initialExpanded\n );\n }\n );\n\n const flattenDefaultMode = useEvent(\n (nestedList: NestedDropdownListItemProps<T>[]) => {\n if (selectedKeyPaths.size) {\n return expandSelectedSubtrees(flatten(nestedList, false));\n } else {\n return expandFirstSubtree(flatten(nestedList, false));\n }\n }\n );\n\n const filter = useEvent((nestedList: NestedDropdownListItemProps<T>[]) => {\n const filterMatchedItems = (list: NestedDropdownListItemProps<T>[]) => {\n const matchedItems: NestedDropdownListItemProps<T>[] = [];\n for (const item of list) {\n const match =\n item.label.toLowerCase().indexOf(searchTerm) !== -1;\n\n if (match) {\n matchedItems.push(item);\n continue;\n }\n\n if (item.subItems) {\n const matchedSubItems = filterMatchedItems(item.subItems);\n if (matchedSubItems.length > 0) {\n matchedItems.push({\n ...item,\n subItems: matchedSubItems,\n });\n continue;\n }\n }\n }\n return matchedItems;\n };\n return filterMatchedItems(nestedList);\n });\n\n const updateSelectedItemsInList = useEvent(() => {\n setUnfilteredListItems((unfilteredListItems) =>\n updateSelectedState(\n unfilteredListItems,\n selectedKeyPaths,\n multiSelect\n )\n );\n\n if (searchActive) {\n setFilteredListItems((filteredListItems) =>\n updateSelectedState(\n filteredListItems,\n selectedKeyPaths,\n multiSelect\n )\n );\n }\n });\n\n const toggleCategory = (\n index: number,\n nextExpanded: boolean,\n virtuosoIndex: number\n ) => {\n const list = toggleSubtree(activeList, index, nextExpanded);\n setFocusedIndex(index);\n setVirtuosoIndex(virtuosoIndex);\n if (searchActive) {\n setFilteredListItems(list);\n } else {\n setUnfilteredListItems(list);\n }\n };\n\n // =========================================================================\n // EFFECTS\n // =========================================================================\n useEventListener(\"keydown\", handleKeyboardPress);\n\n useEffect(() => {\n let list: NestedDropdownListLocalItem<T>[] = [];\n if (mode === \"default\") {\n list = flattenDefaultMode(listItems);\n } else if (mode === \"expand\") {\n list = flatten(listItems, true);\n } else if (mode === \"collapse\") {\n list = flatten(listItems, false);\n }\n setUnfilteredListItems(list);\n }, [flatten, flattenDefaultMode, listItems, mode]);\n\n useEffect(() => {\n // Filter out non-visible items before passing to Virtuoso\n setVisibleItems(activeList.filter((item) => item.visible));\n }, [searchActive, activeList]);\n\n useEffect(() => {\n updateSelectedItemsInList();\n }, [multiSelect, selectedKeyPaths, updateSelectedItemsInList]);\n\n useEffect(() => {\n if (searchActive && searchValue.trim().length >= 3) {\n const filteredListItems = filter(listItems);\n const list = expandMatchedSubtrees(\n flatten(filteredListItems, false)\n );\n\n setFilteredListItems(list);\n }\n }, [filter, flatten, listItems, searchActive, searchValue]);\n\n useEffect(() => {\n if (mounted) {\n // only run on mount\n return;\n }\n\n // Focus search input if there is one\n if (searchInputRef.current) {\n setFocusedIndex(-1);\n setVirtuosoIndex(-1);\n setTimeout(() => searchInputRef.current?.focus(), 200); // wait for animation\n } else if (listItemRefs.current[focusedIndex]) {\n // Else focus on the specified element\n setTimeout(() => listItemRefs.current[focusedIndex]?.focus(), 200);\n } else {\n // Else focus on the first list item\n setFocusedIndex(0);\n setVirtuosoIndex(0);\n setTimeout(() => listItemRefs.current[0]?.focus(), 200);\n }\n }, [focusedIndex, virtuosoIndex, mounted]);\n\n // =========================================================================\n // RENDER FUNCTIONS\n // =========================================================================\n const renderSearchInput = () => {\n if (enableSearch && itemsLoadState === \"success\") {\n return (\n <DropdownSearch\n ref={searchInputRef}\n onChange={handleSearchInputChange}\n value={searchValue}\n placeholder={searchPlaceholder}\n data-testid=\"search-input\"\n aria-label=\"Enter text to search\"\n onClear={handleOnClear}\n variant={variant}\n />\n );\n }\n };\n\n const renderSelectAll = () => {\n if (\n multiSelect &&\n !searchActive &&\n unfilteredListItems.length > 0 &&\n itemsLoadState === \"success\"\n ) {\n return (\n <div className={styles.selectAllContainer}>\n <BasicButton\n onClick={handleOnSelectAll}\n type=\"button\"\n className={clsx(\n styles.baseButton,\n styles.selectAllButton\n )}\n >\n {selectedKeyPaths.size === 0\n ? selectAllButtonLabel\n : clearAllButtonLabel}\n </BasicButton>\n </div>\n );\n }\n };\n\n const renderNoResults = () => {\n if (\n !hideNoResultsDisplay &&\n searchActive &&\n filteredListItems.length === 0 &&\n itemsLoadState === \"success\"\n ) {\n return (\n <>\n <div\n data-testid=\"list-no-results\"\n className={styles.resultStateContainer}\n >\n <ExclamationCircleFillIcon\n data-testid=\"no-result-icon\"\n className={styles.labelIcon}\n />\n {noResultsLabel}\n </div>\n {noResultsDescription && (\n <Markup\n data-testid=\"no-result-desc\"\n className={styles.noResultDescContainer}\n >\n {noResultsDescription}\n </Markup>\n )}\n </>\n );\n }\n };\n\n const renderLoading = () => {\n if (onRetry && itemsLoadState === \"loading\") {\n return (\n <div\n data-testid=\"list-loading\"\n className={styles.resultStateContainer}\n >\n <ComponentLoadingSpinner className={styles.spinner} />\n Loading...\n </div>\n );\n }\n };\n\n const renderTryAgain = () => {\n if (onRetry && itemsLoadState === \"fail\") {\n return (\n <div\n data-testid=\"list-fail\"\n className={styles.resultStateContainer}\n >\n <ExclamationCircleFillIcon\n data-testid=\"load-error-icon\"\n className={styles.labelIcon}\n />\n Failed to load.&nbsp;\n <BasicButton\n onClick={handleTryAgain}\n type=\"button\"\n className={clsx(\n styles.baseButton,\n styles.tryAgainButton\n )}\n >\n Try again.\n </BasicButton>\n </div>\n );\n }\n };\n const renderSelectionIcon = (listItem: NestedDropdownListLocalItem<T>) => {\n if (multiSelect) {\n switch (listItem.checked) {\n case \"mixed\":\n return (\n <MinusSquareFillIcon\n aria-hidden\n className={nestedStyles.checkboxMixedIndicator}\n />\n );\n case true:\n return (\n <SquareTickFillIcon\n aria-hidden\n className={clsx(\n styles.baseCheckboxIndicatorStyle,\n styles.checkboxSelectedIndicator\n )}\n />\n );\n default:\n return (\n <SquareIcon\n aria-hidden\n className={clsx(\n styles.baseCheckboxIndicatorStyle,\n styles.checkboxUnselectedIndicator\n )}\n />\n );\n }\n }\n\n if (listItem.hasSubItems) {\n // no icon needed\n return;\n }\n\n return (\n <div\n className={clsx(\n nestedStyles.selectionIndicator,\n (listItem.hasNestedSiblings || listItem.level === 0) &&\n nestedStyles.selectionIndicatorNested\n )}\n >\n {listItem.checked && (\n <TickIcon\n aria-hidden\n className={clsx(\n styles.baseIndicatorStyle,\n styles.selectedIndicator\n )}\n />\n )}\n </div>\n );\n };\n\n const renderItem = (\n listItem: NestedDropdownListLocalItem<T>,\n vIndex: number\n ) => {\n const {\n level,\n visible,\n expanded,\n keyPath,\n checked,\n hasSubItems,\n indexInParent,\n parentSetSize,\n } = listItem;\n const itemIndex = listItem.index;\n const active = virtuosoIndex === vIndex;\n const toggleable = hasSubItems && !selectableCategory;\n\n return (\n <li\n key={`[${keyPath.join(\"---\")}]`}\n role=\"none\"\n className={clsx(\n nestedStyles.listItemContainer,\n !visible && nestedStyles.listItemContainerHidden\n )}\n >\n {maxLevel > 0 && (\n <div\n className={nestedStyles.indent}\n ref={(node) => {\n if (node) {\n node.style.setProperty(\n nestedStyles.tokens.level,\n String(level)\n );\n }\n }}\n />\n )}\n {maxLevel > 0 && !hasSubItems && multiSelect && (\n <div className={nestedStyles.unexpandableIndicator} />\n )}\n <div\n aria-checked={checked} // not working with safari voiceover\n aria-selected={!!checked} // required for safari voiceover\n aria-expanded={hasSubItems ? expanded : undefined}\n aria-level={level + 1}\n aria-posinset={indexInParent + 1}\n aria-setsize={parentSetSize}\n data-testid=\"list-item\"\n onClick={(e) => {\n e.stopPropagation();\n if (toggleable) {\n toggleCategory(itemIndex, !expanded, vIndex);\n } else {\n handleListItemClick(itemIndex, vIndex);\n }\n }}\n onMouseEnter={() => handleListItemHover(vIndex, listItem)}\n ref={(node) =>\n (listItemRefs.current[listItem.index] = node)\n }\n role=\"treeitem\"\n tabIndex={active ? 0 : -1}\n className={clsx(\n nestedStyles.listItem,\n active && nestedStyles.listItemActive,\n toggleable && nestedStyles.listItemToggleable\n )}\n >\n {hasSubItems && (\n // not an actual button, only required for visual display\n <div\n data-testid=\"toggle-category-button\"\n onClick={(e) => {\n e.stopPropagation();\n toggleCategory(itemIndex, !expanded, vIndex);\n }}\n className={clsx(\n nestedStyles.expandButton,\n expanded && nestedStyles.expandButtonExpanded\n )}\n aria-hidden\n >\n <CaretRightIcon />\n </div>\n )}\n {renderSelectionIcon(listItem)}\n <DropdownLabel\n bold={hasSubItems}\n searchTerm={searchActive ? searchTerm : undefined}\n label={listItem.item.label}\n selected={!!checked}\n truncationType={itemTruncationType}\n maxLines={itemMaxLines}\n />\n </div>\n </li>\n );\n };\n\n const renderVirtualisedList = () => {\n const isTestEnv = process.env.NODE_ENV === \"test\";\n\n return (\n <Virtuoso\n style={{ height: \"100%\" }}\n customScrollParent={nodeRef.current ?? undefined}\n data={visibleItems}\n itemContent={(vIndex, item) => renderItem(item, vIndex)}\n components={{\n List: VirtuosoList,\n Item: VirtuosoItem,\n }}\n context={{\n listProps: {\n id: listboxId,\n role: \"tree\",\n \"aria-multiselectable\": multiSelect,\n },\n listItemProps: {\n role: \"none\",\n },\n }}\n // disable virtualisation in tests\n // https://github.com/petyosi/react-virtuoso/issues/26#issuecomment-1040316576\n // explicitly set the `key` prop to avoid React warning\n key={isTestEnv ? visibleItems.length : undefined}\n // omit the `initialItemCount` prop to resolve NaN error\n {...(isTestEnv\n ? {\n initialItemCount: visibleItems.length,\n }\n : {})}\n />\n );\n };\n\n const renderList = () => {\n return (\n <div data-testid=\"nested-dropdown-list\" className={styles.list}>\n {renderSearchInput()}\n {renderSelectAll()}\n {renderNoResults()}\n {renderLoading()}\n {renderTryAgain()}\n {renderVirtualisedList()}\n </div>\n );\n };\n\n return (\n <div\n data-testid=\"dropdown-container\"\n ref={mergeRefs(nodeRef, setFloatingRef)}\n {...getFloatingProps()}\n data-width-type={containerWidthType}\n className={clsx(\n styles.container,\n variant === \"small\" && styles.containerVariantSmall\n )}\n style={floatingStyles}\n >\n {renderList()}\n </div>\n );\n};\n"],"names":["listItems","multiSelect","selectedKeyPaths","itemsLoadState","itemTruncationType","itemMaxLines","variant","listboxId","matchElementWidth","width","mode","selectableCategory","_selectableCategory","onSelectItem","onSelectAll","onRetry","enableSearch","hideNoResultsDisplay","noResultsDescription","_noResultsDescription","customLabels","searchPlaceholder","_searchPlaceholder","onSearch","noResultsLabel","selectAllButtonLabel","clearAllButtonLabel","elementWidth","setFloatingRef","getFloatingProps","styles","floatingStyles","useDropdownRender","searchValue","setSearchValue","useState","searchTerm","toLowerCase","trim","searchActive","setSearchActive","nodeRef","useRef","listItemRefs","searchInputRef","mounted","useIsMounted","unfilteredListItems","setUnfilteredListItems","filteredListItems","setFilteredListItems","activeList","maxLevel","useMemo","currentMaxLevel","item","level","focusedIndex","setFocusedIndex","visibleItems","setVisibleItems","virtuosoIndex","setVirtuosoIndex","containerWidth","containerWidthType","useApplyStyle","styles.tokens","handleSearchInputChange","event","value","target","length","handleOnClear","_a","current","focus","handleTryAgain","handleOnSelectAll","size","keyPaths","items","forEach","hasSubItems","push","keyPath","flatten","useEvent","nestedList","initialExpanded","flattenList","flattenDefaultMode","expandSelectedSubtrees","expandFirstSubtree","filter","filterMatchedItems","list","matchedItems","label","indexOf","subItems","matchedSubItems","Object","assign","updateSelectedItemsInList","updateSelectedState","toggleCategory","index","nextExpanded","toggleSubtree","useEventListener","code","preventDefault","upcomingItem","findItemFromStart","visible","vIndex","findItemFromEnd","_b","document","activeElement","useEffect","expandMatchedSubtrees","setTimeout","renderSearchInput","_jsx","DropdownSearch","ref","onChange","placeholder","onClear","renderSelectAll","className","styles.selectAllContainer","children","BasicButton","onClick","type","clsx","styles.baseButton","styles.selectAllButton","renderNoResults","_jsxs","styles.resultStateContainer","ExclamationCircleFillIcon","styles.labelIcon","Markup","styles.noResultDescContainer","renderLoading","ComponentLoadingSpinner","styles.spinner","renderTryAgain","styles.tryAgainButton","renderSelectionIcon","listItem","checked","MinusSquareFillIcon","nestedStyles.checkboxMixedIndicator","SquareTickFillIcon","styles.baseCheckboxIndicatorStyle","styles.checkboxSelectedIndicator","SquareIcon","styles.checkboxUnselectedIndicator","nestedStyles.selectionIndicator","hasNestedSiblings","nestedStyles.selectionIndicatorNested","TickIcon","styles.baseIndicatorStyle","styles.selectedIndicator","renderItem","expanded","indexInParent","parentSetSize","itemIndex","active","toggleable","role","nestedStyles.listItemContainer","nestedStyles.listItemContainerHidden","nestedStyles.indent","node","style","setProperty","nestedStyles.tokens","String","nestedStyles.unexpandableIndicator","undefined","e","stopPropagation","handleListItemClick","onMouseEnter","handleListItemHover","tabIndex","nestedStyles.listItem","nestedStyles.listItemActive","nestedStyles.listItemToggleable","nestedStyles.expandButton","nestedStyles.expandButtonExpanded","CaretRightIcon","DropdownLabel","bold","selected","truncationType","maxLines","join","renderVirtualisedList","isTestEnv","process","env","NODE_ENV","Virtuoso","height","customScrollParent","data","itemContent","components","List","VirtuosoList","Item","VirtuosoItem","context","listProps","id","listItemProps","initialItemCount","mergeRefs","styles.container","styles.containerVariantSmall","styles.list"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react/jsx-runtime"),t=require("@floating-ui/react"),i=require("react"),r=require("../../external/react-resize-detector/build/index.esm.js"),n=require("../../overlay/use-floating-context.js");require("../../theme/theme-provider/index.js");var s=require("../../theme/theme-provider/hooks.js");require("../../theme/tokens/border.js");var o=require("../../theme/tokens/breakpoint.js");require("../../theme/tokens/colour.js"),require("../../theme/tokens/font.js"),require("../../theme/tokens/media-query.js");var l=require("../../theme/utils/media-query.js");require("../../util/calendar-helper.js"),require("../../external/dayjs/dayjs.min.js"),require("../../util/simple-id-generator.js"),require("../../util/string-helper.js"),require("@react-aria/live-announcer");var a=require("../../theme/utils/use-design-token.js"),u=require("./element-with-dropdown.styles.js");const d=e=>"right"===e?"bottom-end":"bottom-start",h=i.createContext({elementWidth:0,styles:{},setFloatingRef:()=>{},getFloatingProps:()=>({})});exports.DropdownRenderContext=h,exports.ElementWithDropdown=({enabled:c,isOpen:g,onOpen:m,onClose:p,onDismiss:j,renderElement:f,renderDropdown:x,customZIndex:y,clickToToggle:q=!1,offset:v=0,alignment:b="left",fitAvailableHeight:k,rootNode:w,positionRef:F})=>{var R;const P=a.useDesignToken(o.Breakpoint["sm-max"]),D=l.useSafeMaxWidthMediaQuery(P),O=i.useRef(null),{width:C=0}=r.useResizeDetector({targetRef:null!=F?F:O,handleHeight:!1}),H={name:"center",fn:({x:e,rects:t})=>({x:(0===e||e+t.floating.width===window.innerWidth)&&D?(window.innerWidth-t.floating.width)/2:e})},{refs:M,floatingStyles:S,context:W}=t.useFloating({open:g,onOpenChange:(e,t,i)=>{"escape-key"===i?null==j||j():e&&!g?null==m||m():!e&&g&&(null==p||p(i))},whileElementsMounted:t.autoUpdate,placement:d(b),middleware:[t.offset(v),t.flip(),t.shift({limiter:t.limitShift()}),t.size({apply({availableHeight:e,elements:t}){!k||e>=t.floating.scrollHeight?t.floating.style.setProperty(u.tokens.availableHeight,""):t.floating.style.setProperty(u.tokens.availableHeight,`${Math.max(0,e)}px`)}}),H]}),T=n.useFloatingChild(),{isMounted:z,styles:I}=t.useTransitionStyles(W,{initial:{opacity:0},open:{opacity:1},duration:300}),{themeProps:E,themeStyle:A}=s.useInheritedThemeScope(z),B=t.useClick(W,{enabled:c,toggle:q,keyboardHandlers:q}),N=t.useDismiss(W,{enabled:c}),{getReferenceProps:Q,getFloatingProps:U}=t.useInteractions([B,N]),Z={elementWidth:C,styles:Object.assign(Object.assign(Object.assign({},I),S),{zIndex:null!==(R=null!=y?y:T)&&void 0!==R?R:50}),setFloatingRef:M.setFloating,getFloatingProps:U};return e.jsxs(e.Fragment,{children:[e.jsx("div",Object.assign({ref:e=>{O.current=e,M.setReference(e)}},Q(),{children:f()})),z&&e.jsx(t.FloatingPortal,{root:w,children:e.jsx(t.FloatingFocusManager,{context:W,modal:!1,initialFocus:-1,returnFocus:!1,children:e.jsx(h.Provider,{value:Z,children:e.jsx("div",Object.assign({},E,{style:A,children:x(Z)}))})})})]})},exports.useDropdownRender=()=>i.useContext(h);
1
+ "use strict";var e=require("react/jsx-runtime"),t=require("@floating-ui/react"),i=require("react"),r=require("../../external/react-resize-detector/build/index.esm.js"),n=require("../../overlay/use-floating-context.js");require("../../theme/theme-provider/index.js");var s=require("../../theme/theme-provider/hooks.js");require("../../theme/tokens/border.js"),require("../../theme/tokens/colour.js"),require("../../theme/tokens/font.js"),require("../../theme/tokens/media-query.js"),require("../../util/calendar-helper.js"),require("../../external/dayjs/dayjs.min.js"),require("../../util/simple-id-generator.js"),require("../../util/string-helper.js"),require("@react-aria/live-announcer");var o=require("../../theme/utils/use-media-query.js"),l=require("./element-with-dropdown.styles.js");const a=e=>"right"===e?"bottom-end":"bottom-start",u=i.createContext({elementWidth:0,styles:{},setFloatingRef:()=>{},getFloatingProps:()=>({})});exports.DropdownRenderContext=u,exports.ElementWithDropdown=({enabled:d,isOpen:c,onOpen:h,onClose:g,onDismiss:m,renderElement:p,renderDropdown:f,customZIndex:j,clickToToggle:x=!1,offset:y=0,alignment:q="left",fitAvailableHeight:b,rootNode:v,positionRef:w})=>{var F;const k=o.useMaxWidthMediaQuery("sm"),R=i.useRef(null),{width:P=0}=r.useResizeDetector({targetRef:null!=w?w:R,handleHeight:!1}),O={name:"center",fn:({x:e,rects:t})=>({x:(0===e||e+t.floating.width===window.innerWidth)&&k?(window.innerWidth-t.floating.width)/2:e})},{refs:C,floatingStyles:D,context:H}=t.useFloating({open:c,onOpenChange:(e,t,i)=>{"escape-key"===i?null==m||m():e&&!c?null==h||h():!e&&c&&(null==g||g(i))},whileElementsMounted:t.autoUpdate,placement:a(q),middleware:[t.offset(y),t.flip(),t.shift({limiter:t.limitShift()}),t.size({apply({availableHeight:e,elements:t}){!b||e>=t.floating.scrollHeight?t.floating.style.setProperty(l.tokens.availableHeight,""):t.floating.style.setProperty(l.tokens.availableHeight,`${Math.max(0,e)}px`)}}),O]}),M=n.useFloatingChild(),{isMounted:W,styles:S}=t.useTransitionStyles(H,{initial:{opacity:0},open:{opacity:1},duration:300}),{themeProps:z,themeStyle:I}=s.useInheritedThemeScope(W),T=t.useClick(H,{enabled:d,toggle:x,keyboardHandlers:x}),E=t.useDismiss(H,{enabled:d}),{getReferenceProps:A,getFloatingProps:N}=t.useInteractions([T,E]),Q={elementWidth:P,styles:Object.assign(Object.assign(Object.assign({},S),D),{zIndex:null!==(F=null!=j?j:M)&&void 0!==F?F:50}),setFloatingRef:C.setFloating,getFloatingProps:N};return e.jsxs(e.Fragment,{children:[e.jsx("div",Object.assign({ref:e=>{R.current=e,C.setReference(e)}},A(),{children:p()})),W&&e.jsx(t.FloatingPortal,{root:v,children:e.jsx(t.FloatingFocusManager,{context:H,modal:!1,initialFocus:-1,returnFocus:!1,children:e.jsx(u.Provider,{value:Q,children:e.jsx("div",Object.assign({},z,{style:I,children:f(Q)}))})})})]})},exports.useDropdownRender=()=>i.useContext(u);
2
2
  //# sourceMappingURL=element-with-dropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"element-with-dropdown.js","sources":["../../../../src/shared/dropdown-wrapper/element-with-dropdown.tsx"],"sourcesContent":["import type {\n Middleware,\n OpenChangeReason,\n Placement,\n} from \"@floating-ui/react\";\nimport {\n autoUpdate,\n flip,\n FloatingFocusManager,\n FloatingPortal,\n limitShift,\n offset,\n shift,\n size,\n useClick,\n useDismiss,\n useFloating,\n useInteractions,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport type { CSSProperties, RefObject } from \"react\";\nimport { createContext, useContext, useRef } from \"react\";\nimport { useResizeDetector } from \"react-resize-detector\";\n\nimport { useFloatingChild } from \"../../overlay/use-floating-context\";\nimport {\n Breakpoint,\n useDesignToken,\n useSafeMaxWidthMediaQuery,\n} from \"../../theme\";\nimport { useInheritedThemeScope } from \"../../theme/theme-provider/hooks\";\nimport * as elementWithDropdownStyles from \"./element-with-dropdown.styles\";\nimport type { DropdownAlignmentType } from \"./types\";\n\nexport interface DropdownRenderProps {\n elementWidth: number;\n styles: CSSProperties;\n setFloatingRef: (node: HTMLElement | null) => void;\n getFloatingProps: (\n userProps?: React.HTMLProps<HTMLElement>\n ) => Record<string, unknown>;\n}\n\ninterface ElementWithDropdownProps {\n enabled: boolean;\n isOpen: boolean;\n onOpen?: () => void | undefined;\n onClose?: (reason: OpenChangeReason | undefined) => void | undefined;\n onDismiss?: () => void | undefined;\n renderElement: () => React.ReactNode;\n renderDropdown: (props: DropdownRenderProps) => React.ReactNode;\n customZIndex?: number | undefined;\n clickToToggle?: boolean | undefined;\n /* the distance between the reference element and the dropdown */\n offset?: number | undefined;\n /* the alignment of the dropdown to the left or right of the reference element */\n alignment?: DropdownAlignmentType | undefined;\n fitAvailableHeight?: boolean | undefined;\n /**\n * The root element that contains the popover element. Defaults to the document body.\n *\n * If the parent that contains the trigger element has a higher z-index than the popover,\n * the popover may not be visible. Specify the parent element here instead\n */\n rootNode?: RefObject<HTMLElement> | undefined;\n /** If set, the `elementWidth` refers to this instead of the reference element */\n positionRef?: RefObject<HTMLElement> | undefined;\n}\n\nconst getFloatingPlacement = (alignment: DropdownAlignmentType): Placement => {\n switch (alignment) {\n case \"right\":\n return \"bottom-end\";\n case \"left\":\n default:\n return \"bottom-start\";\n }\n};\n\nconst DEFAULT_Z_INDEX = 50;\n\nexport const DropdownRenderContext = createContext<DropdownRenderProps>({\n elementWidth: 0,\n styles: {},\n setFloatingRef: () => {\n // noop\n },\n getFloatingProps: () => ({}),\n});\n\nexport const useDropdownRender = () => {\n return useContext(DropdownRenderContext);\n};\n\n/**\n * A wrapper to handle the common pattern of a field with a card-based dropdown\n * using Floating UI\n *\n * Usage:\n * - Specify `renderElement` for the main field\n * - Specify `renderDropdown` for the dropdown\n * - Use `isOpen` to control the visibility of the dropdown\n * - Handle changes in visibility with `onOpen`, `onClose` and `onDismiss`\n * - If your dropdown can resize, set the css like so: `max-height: var(--available-height);`\n * - If your dropdown has a preferred max-height, set the css like so:\n * `max-height: min(100px, var(--available-height, infinity * 1px))`\n *\n * Pass the floating props to the dropdown:\n * ```\n * <DropdownContainer\n * ref={setFloatingRef}\n * style={styles}\n * {...getFloatingProps()}\n * >\n * </DropdownContainer>\n * ```\n *\n * If you need event listeners, pass them to `getFloatingProps()`:\n * ```\n * getFloatingProps({\n * onClick: handleOnClick\n * })\n * ```\n */\nexport const ElementWithDropdown = ({\n enabled,\n isOpen,\n onOpen,\n onClose,\n onDismiss,\n renderElement,\n renderDropdown,\n customZIndex,\n clickToToggle = false,\n offset: dropdownOffset = 0,\n alignment = \"left\",\n fitAvailableHeight,\n rootNode,\n positionRef,\n}: ElementWithDropdownProps) => {\n // =============================================================================\n // CONST, STATE, REF\n // =============================================================================\n const mobileBreakpoint = useDesignToken(Breakpoint[\"sm-max\"]);\n const isMobile = useSafeMaxWidthMediaQuery(mobileBreakpoint);\n const elementRef = useRef<HTMLDivElement | null>(null);\n const { width: referenceWidth = 0 } = useResizeDetector({\n targetRef: positionRef ?? elementRef,\n handleHeight: false,\n });\n const center: Middleware = {\n name: \"center\",\n fn: ({ x, rects }) => {\n const noGapInBetween =\n x === 0 || x + rects.floating.width === window.innerWidth;\n return {\n x:\n noGapInBetween && isMobile\n ? (window.innerWidth - rects.floating.width) / 2\n : x,\n };\n },\n };\n const { refs, floatingStyles, context } = useFloating({\n open: isOpen,\n onOpenChange: (open, _event, reason) => {\n if (reason === \"escape-key\") {\n onDismiss?.();\n } else if (open && !isOpen) {\n onOpen?.();\n } else if (!open && isOpen) {\n onClose?.(reason);\n }\n },\n whileElementsMounted: autoUpdate,\n placement: getFloatingPlacement(alignment),\n middleware: [\n offset(dropdownOffset),\n flip(),\n shift({\n limiter: limitShift(),\n }),\n size({\n // shrink to fit available vertical space\n apply({ availableHeight, elements }) {\n if (\n !fitAvailableHeight ||\n availableHeight >= elements.floating.scrollHeight\n ) {\n // reset this so that dropdown can expand as needed\n elements.floating.style.setProperty(\n elementWithDropdownStyles.tokens.availableHeight,\n \"\"\n );\n return;\n }\n\n elements.floating.style.setProperty(\n elementWithDropdownStyles.tokens.availableHeight,\n `${Math.max(0, availableHeight)}px`\n );\n },\n }),\n center,\n ],\n });\n const parentZIndex = useFloatingChild();\n\n const { isMounted, styles } = useTransitionStyles(context, {\n initial: { opacity: 0 },\n open: { opacity: 1 },\n duration: 300,\n });\n const { themeProps, themeStyle } = useInheritedThemeScope(isMounted);\n\n const click = useClick(context, {\n enabled,\n toggle: clickToToggle,\n keyboardHandlers: clickToToggle,\n });\n const dismiss = useDismiss(context, { enabled });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n click,\n dismiss,\n ]);\n\n // =============================================================================\n // RENDER FUNCTIONS\n // =============================================================================\n const dropdownRenderProps = {\n elementWidth: referenceWidth,\n styles: {\n ...styles,\n ...floatingStyles,\n zIndex: customZIndex ?? parentZIndex ?? DEFAULT_Z_INDEX,\n },\n setFloatingRef: refs.setFloating,\n getFloatingProps,\n };\n\n return (\n <>\n <div\n ref={(node) => {\n elementRef.current = node;\n refs.setReference(node);\n }}\n {...getReferenceProps()}\n >\n {renderElement()}\n </div>\n {isMounted && (\n <FloatingPortal root={rootNode}>\n <FloatingFocusManager\n context={context}\n modal={false}\n initialFocus={-1}\n returnFocus={false} // leads to focus trap. parent to handle the final focus state\n >\n <DropdownRenderContext.Provider\n value={dropdownRenderProps}\n >\n <div {...themeProps} style={themeStyle}>\n {renderDropdown(dropdownRenderProps)}\n </div>\n </DropdownRenderContext.Provider>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </>\n );\n};\n"],"names":["getFloatingPlacement","alignment","DropdownRenderContext","createContext","elementWidth","styles","setFloatingRef","getFloatingProps","enabled","isOpen","onOpen","onClose","onDismiss","renderElement","renderDropdown","customZIndex","clickToToggle","offset","dropdownOffset","fitAvailableHeight","rootNode","positionRef","mobileBreakpoint","useDesignToken","Breakpoint","isMobile","useSafeMaxWidthMediaQuery","elementRef","useRef","width","referenceWidth","useResizeDetector","targetRef","handleHeight","center","name","fn","x","rects","floating","window","innerWidth","refs","floatingStyles","context","useFloating","open","onOpenChange","_event","reason","whileElementsMounted","autoUpdate","placement","middleware","flip","shift","limiter","limitShift","size","apply","availableHeight","elements","scrollHeight","style","setProperty","elementWithDropdownStyles.tokens","Math","max","parentZIndex","useFloatingChild","isMounted","useTransitionStyles","initial","opacity","duration","themeProps","themeStyle","useInheritedThemeScope","click","useClick","toggle","keyboardHandlers","dismiss","useDismiss","getReferenceProps","useInteractions","dropdownRenderProps","zIndex","_a","setFloating","_jsxs","_jsx","Object","assign","ref","node","current","setReference","children","FloatingPortal","root","FloatingFocusManager","modal","initialFocus","returnFocus","Provider","value","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"element-with-dropdown.js","sources":["../../../../src/shared/dropdown-wrapper/element-with-dropdown.tsx"],"sourcesContent":["import type {\n Middleware,\n OpenChangeReason,\n Placement,\n} from \"@floating-ui/react\";\nimport {\n autoUpdate,\n flip,\n FloatingFocusManager,\n FloatingPortal,\n limitShift,\n offset,\n shift,\n size,\n useClick,\n useDismiss,\n useFloating,\n useInteractions,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport type { CSSProperties, RefObject } from \"react\";\nimport { createContext, useContext, useRef } from \"react\";\nimport { useResizeDetector } from \"react-resize-detector\";\n\nimport { useFloatingChild } from \"../../overlay/use-floating-context\";\nimport { useInheritedThemeScope, useMaxWidthMediaQuery } from \"../../theme\";\nimport * as elementWithDropdownStyles from \"./element-with-dropdown.styles\";\nimport type { DropdownAlignmentType } from \"./types\";\n\nexport interface DropdownRenderProps {\n elementWidth: number;\n styles: CSSProperties;\n setFloatingRef: (node: HTMLElement | null) => void;\n getFloatingProps: (\n userProps?: React.HTMLProps<HTMLElement>\n ) => Record<string, unknown>;\n}\n\ninterface ElementWithDropdownProps {\n enabled: boolean;\n isOpen: boolean;\n onOpen?: () => void | undefined;\n onClose?: (reason: OpenChangeReason | undefined) => void | undefined;\n onDismiss?: () => void | undefined;\n renderElement: () => React.ReactNode;\n renderDropdown: (props: DropdownRenderProps) => React.ReactNode;\n customZIndex?: number | undefined;\n clickToToggle?: boolean | undefined;\n /* the distance between the reference element and the dropdown */\n offset?: number | undefined;\n /* the alignment of the dropdown to the left or right of the reference element */\n alignment?: DropdownAlignmentType | undefined;\n fitAvailableHeight?: boolean | undefined;\n /**\n * The root element that contains the popover element. Defaults to the document body.\n *\n * If the parent that contains the trigger element has a higher z-index than the popover,\n * the popover may not be visible. Specify the parent element here instead\n */\n rootNode?: RefObject<HTMLElement> | undefined;\n /** If set, the `elementWidth` refers to this instead of the reference element */\n positionRef?: RefObject<HTMLElement> | undefined;\n}\n\nconst getFloatingPlacement = (alignment: DropdownAlignmentType): Placement => {\n switch (alignment) {\n case \"right\":\n return \"bottom-end\";\n case \"left\":\n default:\n return \"bottom-start\";\n }\n};\n\nconst DEFAULT_Z_INDEX = 50;\n\nexport const DropdownRenderContext = createContext<DropdownRenderProps>({\n elementWidth: 0,\n styles: {},\n setFloatingRef: () => {\n // noop\n },\n getFloatingProps: () => ({}),\n});\n\nexport const useDropdownRender = () => {\n return useContext(DropdownRenderContext);\n};\n\n/**\n * A wrapper to handle the common pattern of a field with a card-based dropdown\n * using Floating UI\n *\n * Usage:\n * - Specify `renderElement` for the main field\n * - Specify `renderDropdown` for the dropdown\n * - Use `isOpen` to control the visibility of the dropdown\n * - Handle changes in visibility with `onOpen`, `onClose` and `onDismiss`\n * - If your dropdown can resize, set the css like so: `max-height: var(--available-height);`\n * - If your dropdown has a preferred max-height, set the css like so:\n * `max-height: min(100px, var(--available-height, infinity * 1px))`\n *\n * Pass the floating props to the dropdown:\n * ```\n * <DropdownContainer\n * ref={setFloatingRef}\n * style={styles}\n * {...getFloatingProps()}\n * >\n * </DropdownContainer>\n * ```\n *\n * If you need event listeners, pass them to `getFloatingProps()`:\n * ```\n * getFloatingProps({\n * onClick: handleOnClick\n * })\n * ```\n */\nexport const ElementWithDropdown = ({\n enabled,\n isOpen,\n onOpen,\n onClose,\n onDismiss,\n renderElement,\n renderDropdown,\n customZIndex,\n clickToToggle = false,\n offset: dropdownOffset = 0,\n alignment = \"left\",\n fitAvailableHeight,\n rootNode,\n positionRef,\n}: ElementWithDropdownProps) => {\n // =============================================================================\n // CONST, STATE, REF\n // =============================================================================\n const isMobile = useMaxWidthMediaQuery(\"sm\");\n const elementRef = useRef<HTMLDivElement | null>(null);\n const { width: referenceWidth = 0 } = useResizeDetector({\n targetRef: positionRef ?? elementRef,\n handleHeight: false,\n });\n const center: Middleware = {\n name: \"center\",\n fn: ({ x, rects }) => {\n const noGapInBetween =\n x === 0 || x + rects.floating.width === window.innerWidth;\n return {\n x:\n noGapInBetween && isMobile\n ? (window.innerWidth - rects.floating.width) / 2\n : x,\n };\n },\n };\n const { refs, floatingStyles, context } = useFloating({\n open: isOpen,\n onOpenChange: (open, _event, reason) => {\n if (reason === \"escape-key\") {\n onDismiss?.();\n } else if (open && !isOpen) {\n onOpen?.();\n } else if (!open && isOpen) {\n onClose?.(reason);\n }\n },\n whileElementsMounted: autoUpdate,\n placement: getFloatingPlacement(alignment),\n middleware: [\n offset(dropdownOffset),\n flip(),\n shift({\n limiter: limitShift(),\n }),\n size({\n // shrink to fit available vertical space\n apply({ availableHeight, elements }) {\n if (\n !fitAvailableHeight ||\n availableHeight >= elements.floating.scrollHeight\n ) {\n // reset this so that dropdown can expand as needed\n elements.floating.style.setProperty(\n elementWithDropdownStyles.tokens.availableHeight,\n \"\"\n );\n return;\n }\n\n elements.floating.style.setProperty(\n elementWithDropdownStyles.tokens.availableHeight,\n `${Math.max(0, availableHeight)}px`\n );\n },\n }),\n center,\n ],\n });\n const parentZIndex = useFloatingChild();\n\n const { isMounted, styles } = useTransitionStyles(context, {\n initial: { opacity: 0 },\n open: { opacity: 1 },\n duration: 300,\n });\n const { themeProps, themeStyle } = useInheritedThemeScope(isMounted);\n\n const click = useClick(context, {\n enabled,\n toggle: clickToToggle,\n keyboardHandlers: clickToToggle,\n });\n const dismiss = useDismiss(context, { enabled });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n click,\n dismiss,\n ]);\n\n // =============================================================================\n // RENDER FUNCTIONS\n // =============================================================================\n const dropdownRenderProps = {\n elementWidth: referenceWidth,\n styles: {\n ...styles,\n ...floatingStyles,\n zIndex: customZIndex ?? parentZIndex ?? DEFAULT_Z_INDEX,\n },\n setFloatingRef: refs.setFloating,\n getFloatingProps,\n };\n\n return (\n <>\n <div\n ref={(node) => {\n elementRef.current = node;\n refs.setReference(node);\n }}\n {...getReferenceProps()}\n >\n {renderElement()}\n </div>\n {isMounted && (\n <FloatingPortal root={rootNode}>\n <FloatingFocusManager\n context={context}\n modal={false}\n initialFocus={-1}\n returnFocus={false} // leads to focus trap. parent to handle the final focus state\n >\n <DropdownRenderContext.Provider\n value={dropdownRenderProps}\n >\n <div {...themeProps} style={themeStyle}>\n {renderDropdown(dropdownRenderProps)}\n </div>\n </DropdownRenderContext.Provider>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </>\n );\n};\n"],"names":["getFloatingPlacement","alignment","DropdownRenderContext","createContext","elementWidth","styles","setFloatingRef","getFloatingProps","enabled","isOpen","onOpen","onClose","onDismiss","renderElement","renderDropdown","customZIndex","clickToToggle","offset","dropdownOffset","fitAvailableHeight","rootNode","positionRef","isMobile","useMaxWidthMediaQuery","elementRef","useRef","width","referenceWidth","useResizeDetector","targetRef","handleHeight","center","name","fn","x","rects","floating","window","innerWidth","refs","floatingStyles","context","useFloating","open","onOpenChange","_event","reason","whileElementsMounted","autoUpdate","placement","middleware","flip","shift","limiter","limitShift","size","apply","availableHeight","elements","scrollHeight","style","setProperty","elementWithDropdownStyles.tokens","Math","max","parentZIndex","useFloatingChild","isMounted","useTransitionStyles","initial","opacity","duration","themeProps","themeStyle","useInheritedThemeScope","click","useClick","toggle","keyboardHandlers","dismiss","useDismiss","getReferenceProps","useInteractions","dropdownRenderProps","zIndex","_a","setFloating","_jsxs","_jsx","Object","assign","ref","node","current","setReference","children","FloatingPortal","root","FloatingFocusManager","modal","initialFocus","returnFocus","Provider","value","useContext"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("../../_virtual/_tslib.js"),r=require("react/jsx-runtime"),t=require("@lifesg/react-icons/chevron-left"),s=require("@lifesg/react-icons/chevron-right"),a=require("clsx"),i=require("../../external/lodash/throttle.js"),o=require("react"),l=require("../../external/react-resize-detector/build/index.esm.js");require("../../theme/theme-provider/index.js"),require("../../theme/theme-provider/context.js"),require("../../theme/tokens/border.js"),require("../../theme/tokens/colour.js"),require("../../theme/tokens/font.js"),require("../../theme/tokens/media-query.js");var n=require("../../theme/utils/use-apply-styles.js"),c=require("../clickable-icon/clickable-icon.js"),d=require("./fade-wrapper.styles.js"),u=require("./helpers.js");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var h=f(a);const j=o.forwardRef(((a,f)=>{var{children:j,className:m,fadeColor:g,fadePosition:p="both",showIndicator:q=!1,onResize:v}=a,b=e.__rest(a,["children","className","fadeColor","fadePosition","showIndicator","onResize"]);const[x,k]=o.useState("left"===p||"both"===p),[R,C]=o.useState("right"===p||"both"===p),y=o.useRef(null),I=o.useRef(null),N=o.useRef(null),L=o.useRef(null),w=u.getFadeColorSet(g);n.useApplyStyle(N,{[d.tokens.backgroundColor]:u.getFadeBackgroundColorValue(w.left,q)}),n.useApplyStyle(L,{[d.tokens.backgroundColor]:u.getFadeBackgroundColorValue(w.right,q)}),l.useResizeDetector({onResize:S,targetRef:y,refreshMode:"debounce",refreshRate:50}),o.useImperativeHandle(f,(()=>({resize(){S()}})));const z=o.useCallback((()=>{const e=y.current,r=I.current;e&&r&&r.scrollWidth>e.offsetWidth?(C(Math.round(r.scrollLeft)<r.scrollWidth-r.offsetWidth),k(r.scrollLeft>=1)):(C(!1),k(!1))}),[]),F=o.useMemo((()=>i.default(z,50)),[z]);function S(){z(),v&&v({content:I.current,wrapper:y.current})}o.useEffect((()=>{const e=I.current;return z(),e&&e.addEventListener("scroll",F),()=>{e&&e.removeEventListener("scroll",F),F.cancel()}}),[z,F]);return r.jsxs("div",Object.assign({ref:y,className:h.default(d.wrapper,m)},b,{children:[r.jsx("div",{ref:I,className:d.content,children:j}),r.jsxs(r.Fragment,{children:[x&&r.jsx("div",{ref:N,className:h.default(d.fade,d.fadeLeft),"data-id":"left-fade",children:q&&r.jsx(c.ClickableIcon,{className:h.default(d.fadeIndicatorButton,d.indicatorLeft),"data-id":"left-fade-indicator-button",children:r.jsx(t.ChevronLeftIcon,{})})}),R&&r.jsx("div",{ref:L,className:h.default(d.fade,d.fadeRight),"data-id":"right-fade",children:q&&r.jsx(c.ClickableIcon,{className:h.default(d.fadeIndicatorButton,d.indicatorRight),"data-id":"right-fade-indicator-button",children:r.jsx(s.ChevronRightIcon,{})})})]})]}))}));exports.FadeWrapper=j;
1
+ "use strict";var e=require("../../_virtual/_tslib.js"),r=require("react/jsx-runtime"),t=require("@lifesg/react-icons/chevron-left"),s=require("@lifesg/react-icons/chevron-right"),a=require("clsx"),i=require("../../external/lodash/throttle.js"),o=require("react"),l=require("../../external/react-resize-detector/build/index.esm.js");require("../../theme/theme-provider/index.js"),require("../../theme/theme-provider/context.js"),require("../../theme/tokens/border.js"),require("../../theme/tokens/colour.js"),require("../../theme/tokens/font.js"),require("../../theme/tokens/media-query.js");var n=require("../../theme/utils/use-apply-styles.js");require("../../theme/utils/use-media-query.js");var c=require("../clickable-icon/clickable-icon.js"),d=require("./fade-wrapper.styles.js"),u=require("./helpers.js");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var h=f(a);const j=o.forwardRef(((a,f)=>{var{children:j,className:m,fadeColor:q,fadePosition:g="both",showIndicator:p=!1,onResize:v}=a,b=e.__rest(a,["children","className","fadeColor","fadePosition","showIndicator","onResize"]);const[x,k]=o.useState("left"===g||"both"===g),[R,C]=o.useState("right"===g||"both"===g),y=o.useRef(null),I=o.useRef(null),N=o.useRef(null),L=o.useRef(null),w=u.getFadeColorSet(q);n.useApplyStyle(N,{[d.tokens.backgroundColor]:u.getFadeBackgroundColorValue(w.left,p)}),n.useApplyStyle(L,{[d.tokens.backgroundColor]:u.getFadeBackgroundColorValue(w.right,p)}),l.useResizeDetector({onResize:S,targetRef:y,refreshMode:"debounce",refreshRate:50}),o.useImperativeHandle(f,(()=>({resize(){S()}})));const z=o.useCallback((()=>{const e=y.current,r=I.current;e&&r&&r.scrollWidth>e.offsetWidth?(C(Math.round(r.scrollLeft)<r.scrollWidth-r.offsetWidth),k(r.scrollLeft>=1)):(C(!1),k(!1))}),[]),F=o.useMemo((()=>i.default(z,50)),[z]);function S(){z(),v&&v({content:I.current,wrapper:y.current})}o.useEffect((()=>{const e=I.current;return z(),e&&e.addEventListener("scroll",F),()=>{e&&e.removeEventListener("scroll",F),F.cancel()}}),[z,F]);return r.jsxs("div",Object.assign({ref:y,className:h.default(d.wrapper,m)},b,{children:[r.jsx("div",{ref:I,className:d.content,children:j}),r.jsxs(r.Fragment,{children:[x&&r.jsx("div",{ref:N,className:h.default(d.fade,d.fadeLeft),"data-id":"left-fade",children:p&&r.jsx(c.ClickableIcon,{className:h.default(d.fadeIndicatorButton,d.indicatorLeft),"data-id":"left-fade-indicator-button",children:r.jsx(t.ChevronLeftIcon,{})})}),R&&r.jsx("div",{ref:L,className:h.default(d.fade,d.fadeRight),"data-id":"right-fade",children:p&&r.jsx(c.ClickableIcon,{className:h.default(d.fadeIndicatorButton,d.indicatorRight),"data-id":"right-fade-indicator-button",children:r.jsx(s.ChevronRightIcon,{})})})]})]}))}));exports.FadeWrapper=j;
2
2
  //# sourceMappingURL=fade-wrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fade-wrapper.js","sources":["../../../../src/shared/fade-wrapper/fade-wrapper.tsx"],"sourcesContent":["import { ChevronLeftIcon } from \"@lifesg/react-icons/chevron-left\";\nimport { ChevronRightIcon } from \"@lifesg/react-icons/chevron-right\";\nimport clsx from \"clsx\";\nimport throttle from \"lodash/throttle\";\nimport type React from \"react\";\nimport {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useResizeDetector } from \"react-resize-detector\";\n\nimport { useApplyStyle } from \"../../theme\";\nimport { ClickableIcon } from \"../clickable-icon\";\nimport * as styles from \"./fade-wrapper.styles\";\nimport { getFadeBackgroundColorValue, getFadeColorSet } from \"./helpers\";\nimport type { FadeWrapperProps, FadeWrapperRef } from \"./types\";\n\nconst Component = (\n {\n children,\n className,\n fadeColor,\n fadePosition = \"both\",\n showIndicator = false,\n onResize,\n ...otherProps\n }: FadeWrapperProps,\n ref: React.Ref<FadeWrapperRef>\n) => {\n // =========================================================================\n // CONST, STATE, REFS\n // =========================================================================\n const [showFadeLeft, setShowFadeLeft] = useState<boolean>(\n fadePosition === \"left\" || fadePosition === \"both\"\n );\n const [showFadeRight, setShowFadeRight] = useState<boolean>(\n fadePosition === \"right\" || fadePosition === \"both\"\n );\n\n const wrapperRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const fadeLeftRef = useRef<HTMLDivElement>(null);\n const fadeRightRef = useRef<HTMLDivElement>(null);\n\n const fadeColorSet = getFadeColorSet(fadeColor);\n\n useApplyStyle(fadeLeftRef, {\n [styles.tokens.backgroundColor]: getFadeBackgroundColorValue(\n fadeColorSet.left,\n showIndicator\n ),\n });\n useApplyStyle(fadeRightRef, {\n [styles.tokens.backgroundColor]: getFadeBackgroundColorValue(\n fadeColorSet.right,\n showIndicator\n ),\n });\n\n // To scroll left when wrapper resizes\n useResizeDetector({\n onResize: handleResize,\n targetRef: wrapperRef,\n refreshMode: \"debounce\",\n refreshRate: 50,\n });\n\n useImperativeHandle(ref, () => {\n return {\n resize() {\n handleResize();\n },\n };\n });\n\n // =========================================================================\n // EFFECTS\n // =========================================================================\n const handleScroll = useCallback(() => {\n const wrapper = wrapperRef.current;\n const content = contentRef.current;\n\n if (wrapper && content && content.scrollWidth > wrapper.offsetWidth) {\n /**\n * NOTE: Used Math.round because we observe a 0.5 difference\n * even when we scroll to the end. This causes the fade right\n * to not be removed\n */\n setShowFadeRight(\n Math.round(content.scrollLeft) <\n content.scrollWidth - content.offsetWidth\n );\n setShowFadeLeft(content.scrollLeft >= 1);\n } else {\n setShowFadeRight(false);\n setShowFadeLeft(false);\n }\n }, []);\n\n const throttledScrollHandler = useMemo(() => {\n return throttle(handleScroll, 50);\n }, [handleScroll]);\n\n useEffect(() => {\n const content = contentRef.current;\n\n handleScroll();\n\n if (content) {\n content.addEventListener(\"scroll\", throttledScrollHandler);\n }\n\n return () => {\n if (content) {\n content.removeEventListener(\"scroll\", throttledScrollHandler);\n }\n\n throttledScrollHandler.cancel();\n };\n }, [handleScroll, throttledScrollHandler]);\n\n // =========================================================================\n // EVENT HANDLERS\n // =========================================================================\n\n function handleResize() {\n handleScroll();\n\n if (onResize) {\n onResize({\n content: contentRef.current!,\n wrapper: wrapperRef.current!,\n });\n }\n\n // TODO: Will move this out to Breadcrumb when it uses this component\n // if (content && wrapper && window.innerWidth <= MediaWidths.tablet) {\n // content.scrollLeft = content.scrollWidth - wrapper.offsetWidth;\n // }\n }\n\n // =========================================================================\n // RENDER FUNCTIONS\n // =========================================================================\n const renderFade = () => {\n return (\n <>\n {showFadeLeft && (\n <div\n ref={fadeLeftRef}\n className={clsx(styles.fade, styles.fadeLeft)}\n data-id=\"left-fade\"\n >\n {showIndicator && (\n <ClickableIcon\n className={clsx(\n styles.fadeIndicatorButton,\n styles.indicatorLeft\n )}\n data-id=\"left-fade-indicator-button\"\n >\n <ChevronLeftIcon />\n </ClickableIcon>\n )}\n </div>\n )}\n {showFadeRight && (\n <div\n ref={fadeRightRef}\n className={clsx(styles.fade, styles.fadeRight)}\n data-id=\"right-fade\"\n >\n {showIndicator && (\n <ClickableIcon\n className={clsx(\n styles.fadeIndicatorButton,\n styles.indicatorRight\n )}\n data-id=\"right-fade-indicator-button\"\n >\n <ChevronRightIcon />\n </ClickableIcon>\n )}\n </div>\n )}\n </>\n );\n };\n\n return (\n <div\n ref={wrapperRef}\n className={clsx(styles.wrapper, className)}\n {...otherProps}\n >\n <div ref={contentRef} className={styles.content}>\n {children}\n </div>\n {renderFade()}\n </div>\n );\n};\n\nexport const FadeWrapper = forwardRef(Component);\n"],"names":["FadeWrapper","forwardRef","_a","ref","children","className","fadeColor","fadePosition","showIndicator","onResize","otherProps","__rest","showFadeLeft","setShowFadeLeft","useState","showFadeRight","setShowFadeRight","wrapperRef","useRef","contentRef","fadeLeftRef","fadeRightRef","fadeColorSet","getFadeColorSet","useApplyStyle","styles.tokens","backgroundColor","getFadeBackgroundColorValue","left","right","useResizeDetector","handleResize","targetRef","refreshMode","refreshRate","useImperativeHandle","resize","handleScroll","useCallback","wrapper","current","content","scrollWidth","offsetWidth","Math","round","scrollLeft","throttledScrollHandler","useMemo","throttle","useEffect","addEventListener","removeEventListener","cancel","_jsxs","Object","assign","clsx","styles.wrapper","_jsx","styles.content","styles.fade","styles.fadeLeft","ClickableIcon","styles.fadeIndicatorButton","styles.indicatorLeft","ChevronLeftIcon","styles.fadeRight","styles.indicatorRight","ChevronRightIcon"],"mappings":"00BAsBA,MA0LaA,EAAcC,EAAAA,YA1LT,CACdC,EASAC,SATAC,SACIA,EAAQC,UACRA,EAASC,UACTA,EAASC,aACTA,EAAe,OAAMC,cACrBA,GAAgB,EAAKC,SACrBA,GAAQP,EACLQ,EAAUC,EAAAA,OAAAT,EAPjB,gFAcA,MAAOU,EAAcC,GAAmBC,EAAAA,SACnB,SAAjBP,GAA4C,SAAjBA,IAExBQ,EAAeC,GAAoBF,EAAAA,SACrB,UAAjBP,GAA6C,SAAjBA,GAG1BU,EAAaC,EAAAA,OAAuB,MACpCC,EAAaD,EAAAA,OAAuB,MACpCE,EAAcF,EAAAA,OAAuB,MACrCG,EAAeH,EAAAA,OAAuB,MAEtCI,EAAeC,EAAAA,gBAAgBjB,GAErCkB,EAAAA,cAAcJ,EAAa,CACvB,CAACK,EAAAA,OAAcC,iBAAkBC,EAAAA,4BAC7BL,EAAaM,KACbpB,KAGRgB,EAAAA,cAAcH,EAAc,CACxB,CAACI,EAAAA,OAAcC,iBAAkBC,EAAAA,4BAC7BL,EAAaO,MACbrB,KAKRsB,oBAAkB,CACdrB,SAAUsB,EACVC,UAAWf,EACXgB,YAAa,WACbC,YAAa,KAGjBC,EAAAA,oBAAoBhC,GAAK,KACd,CACH,MAAAiC,GACIL,GACJ,MAOR,MAAMM,EAAeC,EAAAA,aAAY,KAC7B,MAAMC,EAAUtB,EAAWuB,QACrBC,EAAUtB,EAAWqB,QAEvBD,GAAWE,GAAWA,EAAQC,YAAcH,EAAQI,aAMpD3B,EACI4B,KAAKC,MAAMJ,EAAQK,YACfL,EAAQC,YAAcD,EAAQE,aAEtC9B,EAAgB4B,EAAQK,YAAc,KAEtC9B,GAAiB,GACjBH,GAAgB,GACpB,GACD,IAEGkC,EAAyBC,EAAAA,SAAQ,IAC5BC,EAAAA,QAASZ,EAAc,KAC/B,CAACA,IAwBJ,SAASN,IACLM,IAEI5B,GACAA,EAAS,CACLgC,QAAStB,EAAWqB,QACpBD,QAAStB,EAAWuB,SAQhC,CApCAU,EAAAA,WAAU,KACN,MAAMT,EAAUtB,EAAWqB,QAQ3B,OANAH,IAEII,GACAA,EAAQU,iBAAiB,SAAUJ,GAGhC,KACCN,GACAA,EAAQW,oBAAoB,SAAUL,GAG1CA,EAAuBM,QAAQ,CAClC,GACF,CAAChB,EAAcU,IAsElB,OACIO,EAAAA,KAAA,MAAAC,OAAAC,OAAA,CACIrD,IAAKc,EACLZ,UAAWoD,EAAAA,QAAKC,EAAAA,QAAgBrD,IAC5BK,EAAU,CAAAN,SAAA,CAEduD,EAAAA,IAAA,MAAA,CAAKxD,IAAKgB,EAAYd,UAAWuD,UAAcxD,SAC1CA,IAlDLkD,EAAAA,2BACK1C,GACG+C,EAAAA,IAAA,MAAA,CACIxD,IAAKiB,EACLf,UAAWoD,EAAAA,QAAKI,EAAAA,KAAaC,EAAAA,UAAgB,UACrC,YAAW1D,SAElBI,GACGmD,EAAAA,IAACI,EAAAA,cAAa,CACV1D,UAAWoD,EAAAA,QACPO,sBACAC,EAAAA,eACH,UACO,6BAA4B7D,SAEpCuD,EAAAA,IAACO,EAAAA,gBAAe,CAAA,OAK/BnD,GACG4C,EAAAA,IAAA,MAAA,CACIxD,IAAKkB,EACLhB,UAAWoD,EAAAA,QAAKI,EAAAA,KAAaM,EAAAA,qBACrB,aAAY/D,SAEnBI,GACGmD,EAAAA,IAACI,EAAAA,cAAa,CACV1D,UAAWoD,EAAAA,QACPO,EAAAA,oBACAI,EAAAA,0BAEI,8BAA6BhE,SAErCuD,EAAAA,IAACU,EAAAA,iBAAgB,CAAA,aAmBnC"}
1
+ {"version":3,"file":"fade-wrapper.js","sources":["../../../../src/shared/fade-wrapper/fade-wrapper.tsx"],"sourcesContent":["import { ChevronLeftIcon } from \"@lifesg/react-icons/chevron-left\";\nimport { ChevronRightIcon } from \"@lifesg/react-icons/chevron-right\";\nimport clsx from \"clsx\";\nimport throttle from \"lodash/throttle\";\nimport type React from \"react\";\nimport {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useResizeDetector } from \"react-resize-detector\";\n\nimport { useApplyStyle } from \"../../theme\";\nimport { ClickableIcon } from \"../clickable-icon\";\nimport * as styles from \"./fade-wrapper.styles\";\nimport { getFadeBackgroundColorValue, getFadeColorSet } from \"./helpers\";\nimport type { FadeWrapperProps, FadeWrapperRef } from \"./types\";\n\nconst Component = (\n {\n children,\n className,\n fadeColor,\n fadePosition = \"both\",\n showIndicator = false,\n onResize,\n ...otherProps\n }: FadeWrapperProps,\n ref: React.Ref<FadeWrapperRef>\n) => {\n // =========================================================================\n // CONST, STATE, REFS\n // =========================================================================\n const [showFadeLeft, setShowFadeLeft] = useState<boolean>(\n fadePosition === \"left\" || fadePosition === \"both\"\n );\n const [showFadeRight, setShowFadeRight] = useState<boolean>(\n fadePosition === \"right\" || fadePosition === \"both\"\n );\n\n const wrapperRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const fadeLeftRef = useRef<HTMLDivElement>(null);\n const fadeRightRef = useRef<HTMLDivElement>(null);\n\n const fadeColorSet = getFadeColorSet(fadeColor);\n\n useApplyStyle(fadeLeftRef, {\n [styles.tokens.backgroundColor]: getFadeBackgroundColorValue(\n fadeColorSet.left,\n showIndicator\n ),\n });\n useApplyStyle(fadeRightRef, {\n [styles.tokens.backgroundColor]: getFadeBackgroundColorValue(\n fadeColorSet.right,\n showIndicator\n ),\n });\n\n // To scroll left when wrapper resizes\n useResizeDetector({\n onResize: handleResize,\n targetRef: wrapperRef,\n refreshMode: \"debounce\",\n refreshRate: 50,\n });\n\n useImperativeHandle(ref, () => {\n return {\n resize() {\n handleResize();\n },\n };\n });\n\n // =========================================================================\n // EFFECTS\n // =========================================================================\n const handleScroll = useCallback(() => {\n const wrapper = wrapperRef.current;\n const content = contentRef.current;\n\n if (wrapper && content && content.scrollWidth > wrapper.offsetWidth) {\n /**\n * NOTE: Used Math.round because we observe a 0.5 difference\n * even when we scroll to the end. This causes the fade right\n * to not be removed\n */\n setShowFadeRight(\n Math.round(content.scrollLeft) <\n content.scrollWidth - content.offsetWidth\n );\n setShowFadeLeft(content.scrollLeft >= 1);\n } else {\n setShowFadeRight(false);\n setShowFadeLeft(false);\n }\n }, []);\n\n const throttledScrollHandler = useMemo(() => {\n return throttle(handleScroll, 50);\n }, [handleScroll]);\n\n useEffect(() => {\n const content = contentRef.current;\n\n handleScroll();\n\n if (content) {\n content.addEventListener(\"scroll\", throttledScrollHandler);\n }\n\n return () => {\n if (content) {\n content.removeEventListener(\"scroll\", throttledScrollHandler);\n }\n\n throttledScrollHandler.cancel();\n };\n }, [handleScroll, throttledScrollHandler]);\n\n // =========================================================================\n // EVENT HANDLERS\n // =========================================================================\n\n function handleResize() {\n handleScroll();\n\n if (onResize) {\n onResize({\n content: contentRef.current!,\n wrapper: wrapperRef.current!,\n });\n }\n\n // TODO: Will move this out to Breadcrumb when it uses this component\n // if (content && wrapper && window.innerWidth <= MediaWidths.tablet) {\n // content.scrollLeft = content.scrollWidth - wrapper.offsetWidth;\n // }\n }\n\n // =========================================================================\n // RENDER FUNCTIONS\n // =========================================================================\n const renderFade = () => {\n return (\n <>\n {showFadeLeft && (\n <div\n ref={fadeLeftRef}\n className={clsx(styles.fade, styles.fadeLeft)}\n data-id=\"left-fade\"\n >\n {showIndicator && (\n <ClickableIcon\n className={clsx(\n styles.fadeIndicatorButton,\n styles.indicatorLeft\n )}\n data-id=\"left-fade-indicator-button\"\n >\n <ChevronLeftIcon />\n </ClickableIcon>\n )}\n </div>\n )}\n {showFadeRight && (\n <div\n ref={fadeRightRef}\n className={clsx(styles.fade, styles.fadeRight)}\n data-id=\"right-fade\"\n >\n {showIndicator && (\n <ClickableIcon\n className={clsx(\n styles.fadeIndicatorButton,\n styles.indicatorRight\n )}\n data-id=\"right-fade-indicator-button\"\n >\n <ChevronRightIcon />\n </ClickableIcon>\n )}\n </div>\n )}\n </>\n );\n };\n\n return (\n <div\n ref={wrapperRef}\n className={clsx(styles.wrapper, className)}\n {...otherProps}\n >\n <div ref={contentRef} className={styles.content}>\n {children}\n </div>\n {renderFade()}\n </div>\n );\n};\n\nexport const FadeWrapper = forwardRef(Component);\n"],"names":["FadeWrapper","forwardRef","_a","ref","children","className","fadeColor","fadePosition","showIndicator","onResize","otherProps","__rest","showFadeLeft","setShowFadeLeft","useState","showFadeRight","setShowFadeRight","wrapperRef","useRef","contentRef","fadeLeftRef","fadeRightRef","fadeColorSet","getFadeColorSet","useApplyStyle","styles.tokens","backgroundColor","getFadeBackgroundColorValue","left","right","useResizeDetector","handleResize","targetRef","refreshMode","refreshRate","useImperativeHandle","resize","handleScroll","useCallback","wrapper","current","content","scrollWidth","offsetWidth","Math","round","scrollLeft","throttledScrollHandler","useMemo","throttle","useEffect","addEventListener","removeEventListener","cancel","_jsxs","Object","assign","clsx","styles.wrapper","_jsx","styles.content","styles.fade","styles.fadeLeft","ClickableIcon","styles.fadeIndicatorButton","styles.indicatorLeft","ChevronLeftIcon","styles.fadeRight","styles.indicatorRight","ChevronRightIcon"],"mappings":"83BAsBA,MA0LaA,EAAcC,EAAAA,YA1LT,CACdC,EASAC,SATAC,SACIA,EAAQC,UACRA,EAASC,UACTA,EAASC,aACTA,EAAe,OAAMC,cACrBA,GAAgB,EAAKC,SACrBA,GAAQP,EACLQ,EAAUC,EAAAA,OAAAT,EAPjB,gFAcA,MAAOU,EAAcC,GAAmBC,EAAAA,SACnB,SAAjBP,GAA4C,SAAjBA,IAExBQ,EAAeC,GAAoBF,EAAAA,SACrB,UAAjBP,GAA6C,SAAjBA,GAG1BU,EAAaC,EAAAA,OAAuB,MACpCC,EAAaD,EAAAA,OAAuB,MACpCE,EAAcF,EAAAA,OAAuB,MACrCG,EAAeH,EAAAA,OAAuB,MAEtCI,EAAeC,EAAAA,gBAAgBjB,GAErCkB,EAAAA,cAAcJ,EAAa,CACvB,CAACK,EAAAA,OAAcC,iBAAkBC,EAAAA,4BAC7BL,EAAaM,KACbpB,KAGRgB,EAAAA,cAAcH,EAAc,CACxB,CAACI,EAAAA,OAAcC,iBAAkBC,EAAAA,4BAC7BL,EAAaO,MACbrB,KAKRsB,oBAAkB,CACdrB,SAAUsB,EACVC,UAAWf,EACXgB,YAAa,WACbC,YAAa,KAGjBC,EAAAA,oBAAoBhC,GAAK,KACd,CACH,MAAAiC,GACIL,GACJ,MAOR,MAAMM,EAAeC,EAAAA,aAAY,KAC7B,MAAMC,EAAUtB,EAAWuB,QACrBC,EAAUtB,EAAWqB,QAEvBD,GAAWE,GAAWA,EAAQC,YAAcH,EAAQI,aAMpD3B,EACI4B,KAAKC,MAAMJ,EAAQK,YACfL,EAAQC,YAAcD,EAAQE,aAEtC9B,EAAgB4B,EAAQK,YAAc,KAEtC9B,GAAiB,GACjBH,GAAgB,GACpB,GACD,IAEGkC,EAAyBC,EAAAA,SAAQ,IAC5BC,EAAAA,QAASZ,EAAc,KAC/B,CAACA,IAwBJ,SAASN,IACLM,IAEI5B,GACAA,EAAS,CACLgC,QAAStB,EAAWqB,QACpBD,QAAStB,EAAWuB,SAQhC,CApCAU,EAAAA,WAAU,KACN,MAAMT,EAAUtB,EAAWqB,QAQ3B,OANAH,IAEII,GACAA,EAAQU,iBAAiB,SAAUJ,GAGhC,KACCN,GACAA,EAAQW,oBAAoB,SAAUL,GAG1CA,EAAuBM,QAAQ,CAClC,GACF,CAAChB,EAAcU,IAsElB,OACIO,EAAAA,KAAA,MAAAC,OAAAC,OAAA,CACIrD,IAAKc,EACLZ,UAAWoD,EAAAA,QAAKC,EAAAA,QAAgBrD,IAC5BK,EAAU,CAAAN,SAAA,CAEduD,EAAAA,IAAA,MAAA,CAAKxD,IAAKgB,EAAYd,UAAWuD,UAAcxD,SAC1CA,IAlDLkD,EAAAA,2BACK1C,GACG+C,EAAAA,IAAA,MAAA,CACIxD,IAAKiB,EACLf,UAAWoD,EAAAA,QAAKI,EAAAA,KAAaC,EAAAA,UAAgB,UACrC,YAAW1D,SAElBI,GACGmD,EAAAA,IAACI,EAAAA,cAAa,CACV1D,UAAWoD,EAAAA,QACPO,sBACAC,EAAAA,eACH,UACO,6BAA4B7D,SAEpCuD,EAAAA,IAACO,EAAAA,gBAAe,CAAA,OAK/BnD,GACG4C,EAAAA,IAAA,MAAA,CACIxD,IAAKkB,EACLhB,UAAWoD,EAAAA,QAAKI,EAAAA,KAAaM,EAAAA,qBACrB,aAAY/D,SAEnBI,GACGmD,EAAAA,IAACI,EAAAA,cAAa,CACV1D,UAAWoD,EAAAA,QACPO,EAAAA,oBACAI,EAAAA,0BAEI,8BAA6BhE,SAErCuD,EAAAA,IAACU,EAAAA,iBAAgB,CAAA,aAmBnC"}
@@ -1,2 +1,2 @@
1
- "use strict";require("../../theme/theme-provider/index.js"),require("react"),require("../../theme/theme-provider/context.js"),require("../../theme/tokens/border.js");var e=require("../../theme/tokens/colour.js");require("../../theme/tokens/font.js"),require("../../theme/tokens/media-query.js"),require("../../util/calendar-helper.js"),require("../../external/dayjs/dayjs.min.js"),require("../../util/simple-id-generator.js"),require("../../util/string-helper.js"),require("@react-aria/live-announcer"),exports.getFadeBackgroundColorValue=function(r,t){return r&&r.length>0?r.join(", "):t?`${e.Colour.bg}, ${e.Colour.bg}`:null},exports.getFadeColorSet=function(e){return Array.isArray(e)&&e.length>0?{left:e,right:e}:e||{left:void 0,right:void 0}};
1
+ "use strict";require("../../theme/theme-provider/index.js"),require("react"),require("../../theme/theme-provider/context.js"),require("../../theme/tokens/border.js");var e=require("../../theme/tokens/colour.js");require("../../theme/tokens/font.js"),require("../../theme/tokens/media-query.js"),require("../../util/calendar-helper.js"),require("../../external/dayjs/dayjs.min.js"),require("../../util/simple-id-generator.js"),require("../../util/string-helper.js"),require("@react-aria/live-announcer"),require("../../theme/utils/use-media-query.js"),exports.getFadeBackgroundColorValue=function(r,t){return r&&r.length>0?r.join(", "):t?`${e.Colour.bg}, ${e.Colour.bg}`:null},exports.getFadeColorSet=function(e){return Array.isArray(e)&&e.length>0?{left:e,right:e}:e||{left:void 0,right:void 0}};
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sources":["../../../../src/shared/fade-wrapper/helpers.tsx"],"sourcesContent":["import { Colour } from \"../../theme\";\nimport type { FadeColorSet, FadeWrapperProps } from \"./types\";\n\nexport function getFadeColorSet(\n fadeColor: FadeWrapperProps[\"fadeColor\"] | undefined\n): FadeColorSet {\n if (Array.isArray(fadeColor) && fadeColor.length > 0) {\n return {\n left: fadeColor,\n right: fadeColor,\n };\n }\n\n if (fadeColor) {\n return fadeColor as FadeColorSet;\n }\n\n return {\n left: undefined,\n right: undefined,\n };\n}\n\nexport function getFadeBackgroundColorValue(\n color: string[] | undefined,\n showIndicator: boolean\n) {\n if (color && color.length > 0) {\n return color.join(\", \");\n }\n\n if (showIndicator) {\n return `${Colour.bg}, ${Colour.bg}`;\n }\n\n return null;\n}\n"],"names":["color","showIndicator","length","join","Colour","bg","fadeColor","Array","isArray","left","right","undefined"],"mappings":"2hBAuBM,SACFA,EACAC,GAEA,OAAID,GAASA,EAAME,OAAS,EACjBF,EAAMG,KAAK,MAGlBF,EACO,GAAGG,EAAAA,OAAOC,OAAOD,EAAAA,OAAOC,KAG5B,IACX,0BAjCM,SACFC,GAEA,OAAIC,MAAMC,QAAQF,IAAcA,EAAUJ,OAAS,EACxC,CACHO,KAAMH,EACNI,MAAOJ,GAIXA,GAIG,CACHG,UAAME,EACND,WAAOC,EAEf"}
1
+ {"version":3,"file":"helpers.js","sources":["../../../../src/shared/fade-wrapper/helpers.tsx"],"sourcesContent":["import { Colour } from \"../../theme\";\nimport type { FadeColorSet, FadeWrapperProps } from \"./types\";\n\nexport function getFadeColorSet(\n fadeColor: FadeWrapperProps[\"fadeColor\"] | undefined\n): FadeColorSet {\n if (Array.isArray(fadeColor) && fadeColor.length > 0) {\n return {\n left: fadeColor,\n right: fadeColor,\n };\n }\n\n if (fadeColor) {\n return fadeColor as FadeColorSet;\n }\n\n return {\n left: undefined,\n right: undefined,\n };\n}\n\nexport function getFadeBackgroundColorValue(\n color: string[] | undefined,\n showIndicator: boolean\n) {\n if (color && color.length > 0) {\n return color.join(\", \");\n }\n\n if (showIndicator) {\n return `${Colour.bg}, ${Colour.bg}`;\n }\n\n return null;\n}\n"],"names":["color","showIndicator","length","join","Colour","bg","fadeColor","Array","isArray","left","right","undefined"],"mappings":"2kBAuBM,SACFA,EACAC,GAEA,OAAID,GAASA,EAAME,OAAS,EACjBF,EAAMG,KAAK,MAGlBF,EACO,GAAGG,EAAAA,OAAOC,OAAOD,EAAAA,OAAOC,KAG5B,IACX,0BAjCM,SACFC,GAEA,OAAIC,MAAMC,QAAQF,IAAcA,EAAUJ,OAAS,EACxC,CACHO,KAAMH,EACNI,MAAOJ,GAIXA,GAIG,CACHG,UAAME,EACND,WAAOC,EAEf"}
@@ -1,2 +1,2 @@
1
- "use strict";var r=require("../../_virtual/_tslib.js"),e=require("react/jsx-runtime"),s=require("clsx"),a=require("react"),t=require("./input-wrapper.styles.js");function n(r){return r&&"object"==typeof r&&"default"in r?r:{default:r}}var o=n(s);const i=a.forwardRef((function(s,a){const{disabled:n,error:i,readOnly:u,focused:d,noBorder:c,className:l}=s,p=r.__rest(s,["disabled","error","readOnly","focused","noBorder","className"]);return e.jsx("div",Object.assign({ref:a,"data-focused":d,className:o.default(t.inputBox,n&&t.inputBoxDisabled,i&&t.inputBoxError,u&&t.inputBoxReadOnly,c&&t.inputBoxNoBorder,l)},p))})),u=a.forwardRef((function(s,a){const{disabled:n,error:i,readOnly:u,focused:d,noBorder:c,position:l,className:p}=s,f=r.__rest(s,["disabled","error","readOnly","focused","noBorder","position","className"]);return e.jsx("div",Object.assign({ref:a,"data-focused":d,className:o.default(t.inputBox,t.inputWrapper,n&&t.inputBoxDisabled,i&&t.inputBoxError,u&&t.inputBoxReadOnly,c&&t.inputBoxNoBorder,u&&t.inputWrapperReadOnly,"right"===l&&t.inputWrapperPositionRight,p)},f))})),d=a.forwardRef((function(s,a){const{variant:n,className:i}=s,u=r.__rest(s,["variant","className"]);return e.jsx("input",Object.assign({ref:a,className:o.default(t.basicInput,"small"===n&&t.basicInputSmall,i)},u))})),c=a.forwardRef((function(s,a){var{className:n}=s,i=r.__rest(s,["className"]);return e.jsx("button",Object.assign({ref:a,className:o.default(t.basicButton,n)},i))}));exports.BasicButton=c,exports.BasicInput=d,exports.InputBox=i,exports.InputWrapper=u;
1
+ "use strict";var e=require("../../_virtual/_tslib.js"),r=require("react/jsx-runtime"),s=require("@lifesg/react-icons/cross"),a=require("clsx"),t=require("react"),n=require("./input-wrapper.styles.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=o(a);const u=t.forwardRef((function(s,a){const{disabled:t,error:o,readOnly:u,focused:c,noBorder:l,className:d}=s,p=e.__rest(s,["disabled","error","readOnly","focused","noBorder","className"]);return r.jsx("div",Object.assign({ref:a,"data-focused":c,className:i.default(n.inputBox,t&&n.inputBoxDisabled,o&&n.inputBoxError,u&&n.inputBoxReadOnly,l&&n.inputBoxNoBorder,d)},p))})),c=t.forwardRef((function(s,a){const{disabled:t,error:o,readOnly:u,focused:c,noBorder:l,position:d,className:p}=s,f=e.__rest(s,["disabled","error","readOnly","focused","noBorder","position","className"]);return r.jsx("div",Object.assign({ref:a,"data-focused":c,className:i.default(n.inputBox,n.inputWrapper,t&&n.inputBoxDisabled,o&&n.inputBoxError,u&&n.inputBoxReadOnly,l&&n.inputBoxNoBorder,u&&n.inputWrapperReadOnly,"right"===d&&n.inputWrapperPositionRight,p)},f))})),l=t.forwardRef((function(s,a){const{variant:t,className:o}=s,u=e.__rest(s,["variant","className"]);return r.jsx("input",Object.assign({ref:a,className:i.default(n.basicInput,"small"===t&&n.basicInputSmall,o)},u))})),d=t.forwardRef((function(s,a){var{className:t}=s,o=e.__rest(s,["className"]);return r.jsx("button",Object.assign({ref:a,className:i.default(n.basicButton,t)},o))})),p=t.forwardRef((function(a,t){var{className:o}=a,u=e.__rest(a,["className"]);return r.jsx("button",Object.assign({ref:t,className:i.default(n.clearButton,o)},u,{children:r.jsx(s.CrossIcon,{className:n.clearIcon,"aria-hidden":!0})}))}));exports.BasicButton=d,exports.BasicInput=l,exports.ClearButton=p,exports.InputBox=u,exports.InputWrapper=c;
2
2
  //# sourceMappingURL=input-wrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-wrapper.js","sources":["../../../../src/shared/input-wrapper/input-wrapper.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { forwardRef } from \"react\";\n\nimport * as styles from \"./input-wrapper.styles\";\nimport type {\n BasicButtonProps,\n BasicInputProps,\n InputBoxProps,\n InputWrapperProps,\n} from \"./types\";\n\n/**\n * Basic wrapper for input fields that provides the border style but does not\n * prescribe any layout for content\n */\nexport const InputBox = forwardRef<HTMLDivElement, InputBoxProps>(\n function InputBox(props, ref) {\n const {\n disabled,\n error,\n readOnly,\n focused,\n noBorder,\n className,\n ...otherProps\n } = props;\n return (\n <div\n ref={ref}\n data-focused={focused}\n className={clsx(\n styles.inputBox,\n disabled && styles.inputBoxDisabled,\n error && styles.inputBoxError,\n readOnly && styles.inputBoxReadOnly,\n noBorder && styles.inputBoxNoBorder,\n className\n )}\n {...otherProps}\n />\n );\n }\n);\n\n/**\n * Basic wrapper for input fields with spacing and flex layout for content\n */\nexport const InputWrapper = forwardRef<HTMLDivElement, InputWrapperProps>(\n function InputWrapper(props, ref) {\n const {\n disabled,\n error,\n readOnly,\n focused,\n noBorder,\n position,\n className,\n ...otherProps\n } = props;\n return (\n <div\n ref={ref}\n data-focused={focused}\n className={clsx(\n styles.inputBox,\n styles.inputWrapper,\n disabled && styles.inputBoxDisabled,\n error && styles.inputBoxError,\n readOnly && styles.inputBoxReadOnly,\n noBorder && styles.inputBoxNoBorder,\n readOnly && styles.inputWrapperReadOnly,\n position === \"right\" && styles.inputWrapperPositionRight,\n className\n )}\n {...otherProps}\n />\n );\n }\n);\n\n/**\n * Standalone native input with stripped-down styles, intended to be used in\n * combination with `InputWrapper` or other wrappers to build composite widgets\n */\nexport const BasicInput = forwardRef<HTMLInputElement, BasicInputProps>(\n function BasicInput(props, ref) {\n const { variant, className, ...otherProps } = props;\n return (\n <input\n ref={ref}\n className={clsx(\n styles.basicInput,\n variant === \"small\" && styles.basicInputSmall,\n className\n )}\n {...otherProps}\n />\n );\n }\n);\n\n/**\n * Standalone native button with stripped-down styles\n */\nexport const BasicButton = forwardRef<HTMLButtonElement, BasicButtonProps>(\n function BasicButton({ className, ...props }, ref) {\n return (\n <button\n ref={ref}\n className={clsx(styles.basicButton, className)}\n {...props}\n />\n );\n }\n);\n"],"names":["InputBox","forwardRef","props","ref","disabled","error","readOnly","focused","noBorder","className","otherProps","_jsx","clsx","styles.inputBox","styles.inputBoxDisabled","styles.inputBoxError","styles.inputBoxReadOnly","styles.inputBoxNoBorder","InputWrapper","position","Object","assign","styles.inputWrapper","styles.inputWrapperReadOnly","styles.inputWrapperPositionRight","BasicInput","variant","__rest","styles.basicInput","styles.basicInputSmall","BasicButton","_a","styles.basicButton"],"mappings":"qPAeO,MAAMA,EAAWC,EAAAA,YACpB,SAAkBC,EAAOC,GACrB,MAAMC,SACFA,EAAQC,MACRA,EAAKC,SACLA,EAAQC,QACRA,EAAOC,SACPA,EAAQC,UACRA,GAEAP,EADGQ,WACHR,EARE,CAAA,WAAA,QAAA,WAAA,UAAA,WAAA,cASN,OACIS,2BACIR,IAAKA,EAAG,eACMI,EACdE,UAAWG,EAAAA,QACPC,EAAAA,SACAT,GAAYU,mBACZT,GAASU,EAAAA,cACTT,GAAYU,EAAAA,iBACZR,GAAYS,mBACZR,IAEAC,GAGhB,IAMSQ,EAAejB,EAAAA,YACxB,SAAsBC,EAAOC,GACzB,MAAMC,SACFA,EAAQC,MACRA,EAAKC,SACLA,EAAQC,QACRA,EAAOC,SACPA,EAAQW,SACRA,EAAQV,UACRA,GAEAP,EADGQ,WACHR,EATE,CAAA,WAAA,QAAA,WAAA,UAAA,WAAA,WAAA,cAUN,OACIS,EAAAA,IAAA,MAAAS,OAAAC,OAAA,CACIlB,IAAKA,EAAG,eACMI,EACdE,UAAWG,EAAAA,QACPC,EAAAA,SACAS,EAAAA,aACAlB,GAAYU,EAAAA,iBACZT,GAASU,EAAAA,cACTT,GAAYU,EAAAA,iBACZR,GAAYS,EAAAA,iBACZX,GAAYiB,EAAAA,qBACC,UAAbJ,GAAwBK,EAAAA,0BACxBf,IAEAC,GAGhB,IAOSe,EAAaxB,EAAAA,YACtB,SAAoBC,EAAOC,GACvB,MAAMuB,QAAEA,EAAOjB,UAAEA,GAA6BP,EAAfQ,EAAUiB,EAAAA,OAAKzB,EAAxC,CAAA,UAAA,cACN,OACIS,EAAAA,IAAA,QAAAS,OAAAC,OAAA,CACIlB,IAAKA,EACLM,UAAWG,EAAAA,QACPgB,EAAAA,WACY,UAAZF,GAAuBG,EAAAA,gBACvBpB,IAEAC,GAGhB,IAMSoB,EAAc7B,EAAAA,YACvB,SAAqB8B,EAAyB5B,GAAzB,IAAAM,UAAEA,GAASsB,EAAK7B,EAAKyB,EAAAA,OAAAI,EAArB,eACjB,OACIpB,EAAAA,4BACIR,IAAKA,EACLM,UAAWG,EAAAA,QAAKoB,EAAAA,YAAoBvB,IAChCP,GAGhB"}
1
+ {"version":3,"file":"input-wrapper.js","sources":["../../../../src/shared/input-wrapper/input-wrapper.tsx"],"sourcesContent":["import { CrossIcon } from \"@lifesg/react-icons/cross\";\nimport clsx from \"clsx\";\nimport { forwardRef } from \"react\";\n\nimport * as styles from \"./input-wrapper.styles\";\nimport type {\n BasicButtonProps,\n BasicInputProps,\n InputBoxProps,\n InputWrapperProps,\n} from \"./types\";\n\n/**\n * Basic wrapper for input fields that provides the border style but does not\n * prescribe any layout for content\n */\nexport const InputBox = forwardRef<HTMLDivElement, InputBoxProps>(\n function InputBox(props, ref) {\n const {\n disabled,\n error,\n readOnly,\n focused,\n noBorder,\n className,\n ...otherProps\n } = props;\n return (\n <div\n ref={ref}\n data-focused={focused}\n className={clsx(\n styles.inputBox,\n disabled && styles.inputBoxDisabled,\n error && styles.inputBoxError,\n readOnly && styles.inputBoxReadOnly,\n noBorder && styles.inputBoxNoBorder,\n className\n )}\n {...otherProps}\n />\n );\n }\n);\n\n/**\n * Basic wrapper for input fields with spacing and flex layout for content\n */\nexport const InputWrapper = forwardRef<HTMLDivElement, InputWrapperProps>(\n function InputWrapper(props, ref) {\n const {\n disabled,\n error,\n readOnly,\n focused,\n noBorder,\n position,\n className,\n ...otherProps\n } = props;\n return (\n <div\n ref={ref}\n data-focused={focused}\n className={clsx(\n styles.inputBox,\n styles.inputWrapper,\n disabled && styles.inputBoxDisabled,\n error && styles.inputBoxError,\n readOnly && styles.inputBoxReadOnly,\n noBorder && styles.inputBoxNoBorder,\n readOnly && styles.inputWrapperReadOnly,\n position === \"right\" && styles.inputWrapperPositionRight,\n className\n )}\n {...otherProps}\n />\n );\n }\n);\n\n/**\n * Standalone native input with stripped-down styles, intended to be used in\n * combination with `InputWrapper` or other wrappers to build composite widgets\n */\nexport const BasicInput = forwardRef<HTMLInputElement, BasicInputProps>(\n function BasicInput(props, ref) {\n const { variant, className, ...otherProps } = props;\n return (\n <input\n ref={ref}\n className={clsx(\n styles.basicInput,\n variant === \"small\" && styles.basicInputSmall,\n className\n )}\n {...otherProps}\n />\n );\n }\n);\n\n/**\n * Standalone native button with stripped-down styles\n */\nexport const BasicButton = forwardRef<HTMLButtonElement, BasicButtonProps>(\n function BasicButton({ className, ...props }, ref) {\n return (\n <button\n ref={ref}\n className={clsx(styles.basicButton, className)}\n {...props}\n />\n );\n }\n);\n\n/**\n * Clear button with touch-target padding, offsetting negative margin, and\n * a fixed 2px focus outline\n */\nexport const ClearButton = forwardRef<HTMLButtonElement, BasicButtonProps>(\n function ClearButton({ className, ...props }, ref) {\n return (\n <button\n ref={ref}\n className={clsx(styles.clearButton, className)}\n {...props}\n >\n <CrossIcon className={styles.clearIcon} aria-hidden />\n </button>\n );\n }\n);\n"],"names":["InputBox","forwardRef","props","ref","disabled","error","readOnly","focused","noBorder","className","otherProps","_jsx","clsx","styles.inputBox","styles.inputBoxDisabled","styles.inputBoxError","styles.inputBoxReadOnly","styles.inputBoxNoBorder","InputWrapper","position","Object","assign","styles.inputWrapper","styles.inputWrapperReadOnly","styles.inputWrapperPositionRight","BasicInput","variant","__rest","styles.basicInput","styles.basicInputSmall","BasicButton","_a","styles.basicButton","ClearButton","styles.clearButton","children","CrossIcon","styles.clearIcon"],"mappings":"4RAgBO,MAAMA,EAAWC,EAAAA,YACpB,SAAkBC,EAAOC,GACrB,MAAMC,SACFA,EAAQC,MACRA,EAAKC,SACLA,EAAQC,QACRA,EAAOC,SACPA,EAAQC,UACRA,GAEAP,EADGQ,WACHR,EARE,CAAA,WAAA,QAAA,WAAA,UAAA,WAAA,cASN,OACIS,2BACIR,IAAKA,EAAG,eACMI,EACdE,UAAWG,EAAAA,QACPC,EAAAA,SACAT,GAAYU,mBACZT,GAASU,EAAAA,cACTT,GAAYU,EAAAA,iBACZR,GAAYS,mBACZR,IAEAC,GAGhB,IAMSQ,EAAejB,EAAAA,YACxB,SAAsBC,EAAOC,GACzB,MAAMC,SACFA,EAAQC,MACRA,EAAKC,SACLA,EAAQC,QACRA,EAAOC,SACPA,EAAQW,SACRA,EAAQV,UACRA,GAEAP,EADGQ,WACHR,EATE,CAAA,WAAA,QAAA,WAAA,UAAA,WAAA,WAAA,cAUN,OACIS,EAAAA,IAAA,MAAAS,OAAAC,OAAA,CACIlB,IAAKA,EAAG,eACMI,EACdE,UAAWG,EAAAA,QACPC,EAAAA,SACAS,EAAAA,aACAlB,GAAYU,EAAAA,iBACZT,GAASU,EAAAA,cACTT,GAAYU,EAAAA,iBACZR,GAAYS,EAAAA,iBACZX,GAAYiB,EAAAA,qBACC,UAAbJ,GAAwBK,EAAAA,0BACxBf,IAEAC,GAGhB,IAOSe,EAAaxB,EAAAA,YACtB,SAAoBC,EAAOC,GACvB,MAAMuB,QAAEA,EAAOjB,UAAEA,GAA6BP,EAAfQ,EAAUiB,EAAAA,OAAKzB,EAAxC,CAAA,UAAA,cACN,OACIS,EAAAA,IAAA,QAAAS,OAAAC,OAAA,CACIlB,IAAKA,EACLM,UAAWG,EAAAA,QACPgB,EAAAA,WACY,UAAZF,GAAuBG,EAAAA,gBACvBpB,IAEAC,GAGhB,IAMSoB,EAAc7B,EAAAA,YACvB,SAAqB8B,EAAyB5B,GAAzB,IAAAM,UAAEA,GAASsB,EAAK7B,EAAKyB,EAAAA,OAAAI,EAArB,eACjB,OACIpB,EAAAA,4BACIR,IAAKA,EACLM,UAAWG,EAAAA,QAAKoB,EAAAA,YAAoBvB,IAChCP,GAGhB,IAOS+B,EAAchC,EAAAA,YACvB,SAAqB8B,EAAyB5B,GAAzB,IAAAM,UAAEA,GAASsB,EAAK7B,EAAKyB,EAAAA,OAAAI,EAArB,eACjB,OACIpB,MAAA,SAAAS,OAAAC,OAAA,CACIlB,IAAKA,EACLM,UAAWG,UAAKsB,EAAAA,YAAoBzB,IAChCP,EAAK,CAAAiC,SAETxB,EAAAA,IAACyB,YAAS,CAAC3B,UAAW4B,EAAAA,UAAgB,eAAA,MAGlD"}
@@ -1,2 +1,2 @@
1
- "use strict";require("./input-wrapper.styles_1kc4xhb.css");exports.basicButton="b191fi5o",exports.basicInput="b168rpxy",exports.basicInputSmall="b1df0tus",exports.inputBox="i156rlh",exports.inputBoxDisabled="iwp8knk",exports.inputBoxError="i1ec8vtj",exports.inputBoxNoBorder="ijzjlan",exports.inputBoxReadOnly="irl4gvd",exports.inputWrapper="i2dsxxh",exports.inputWrapperPositionRight="iyqh66s",exports.inputWrapperReadOnly="i1mziqol";
1
+ "use strict";require("./input-wrapper.styles_19fpzb.css");exports.basicButton="b191fi5o",exports.basicInput="b168rpxy",exports.basicInputSmall="b1df0tus",exports.clearButton="c179s2uy",exports.clearButtonContainer="ccmyj2w",exports.clearIcon="c1buolhy",exports.inputBox="i156rlh",exports.inputBoxDisabled="iwp8knk",exports.inputBoxError="i1ec8vtj",exports.inputBoxNoBorder="ijzjlan",exports.inputBoxReadOnly="irl4gvd",exports.inputWrapper="i2dsxxh",exports.inputWrapperPositionRight="iyqh66s",exports.inputWrapperReadOnly="i1mziqol";
2
2
  //# sourceMappingURL=input-wrapper.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-wrapper.styles.js","sources":["../../../../src/shared/input-wrapper/input-wrapper.styles.ts"],"sourcesContent":["import { css } from \"@linaria/core\";\n\nimport { Border, Colour, Font, Radius, Spacing } from \"../../theme\";\n\nexport const inputBox = css`\n border: ${Border[\"width-010\"]} ${Border[\"solid\"]} ${Colour[\"border\"]};\n border-radius: ${Radius[\"sm\"]};\n background: ${Colour[\"bg\"]};\n\n &:focus-within,\n &[data-focused=\"true\"] {\n outline-offset: -1px;\n outline: ${Border[\"width-020\"]} ${Border[\"solid\"]}\n ${Colour[\"border-focus\"]};\n }\n`;\n\nexport const inputBoxReadOnly = css`\n border-color: transparent;\n padding: 0;\n background: transparent !important;\n\n &:focus-within,\n &[data-focused=\"true\"] {\n outline-color: ${Colour[\"border-focus\"]};\n }\n`;\n\nexport const inputBoxDisabled = css`\n background: ${Colour[\"bg-disabled\"]};\n cursor: not-allowed;\n\n &:focus-within,\n &[data-focused=\"true\"] {\n outline-color: ${Colour[\"border-disabled\"]};\n }\n`;\n\nexport const inputBoxError = css`\n border-color: ${Colour[\"border-error\"]};\n\n &:focus-within,\n &[data-focused=\"true\"] {\n outline-color: ${Colour[\"border-error-focus\"]};\n }\n`;\n\nexport const inputBoxNoBorder = css`\n border-color: transparent;\n background: transparent;\n\n &:focus-within,\n &[data-focused=\"true\"] {\n outline: none;\n }\n`;\n\nexport const inputWrapper = css`\n display: flex;\n align-items: center;\n position: relative;\n height: max-content;\n width: 100%;\n padding: 0 ${Spacing[\"spacing-16\"]} 0 ${Spacing[\"spacing-16\"]};\n`;\n\nexport const inputWrapperReadOnly = css`\n padding-left: 0;\n`;\n\nexport const inputWrapperPositionRight = css`\n flex-direction: row-reverse;\n`;\n\nexport const basicInput = css`\n ${Font[\"body-baseline-regular\"]}\n color: ${Colour[\"text\"]};\n display: block;\n background: transparent;\n border: none;\n outline: none;\n box-shadow: none;\n padding: 0;\n margin: 0;\n\n &:disabled {\n color: ${Colour[\"text-subtler\"]};\n\n &:hover {\n cursor: not-allowed;\n }\n }\n\n &::placeholder,\n &::-webkit-input-placeholder {\n color: ${Colour[\"text-subtler\"]};\n }\n\n // Chrome, Safari, Edge, Opera\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n // Safari (remove top shadow)\n --webkit-appearance: none;\n\n // Firefox\n --moz-appearance: textfield;\n`;\n\nexport const basicInputSmall = css`\n ${Font[\"body-md-regular\"]}\n`;\n\nexport const basicButton = css`\n background: transparent;\n border: none;\n outline: none;\n\n &:focus,\n &:active {\n outline: none;\n }\n\n &:focus-visible {\n outline: ${Border[\"width-010\"]} ${Border[\"solid\"]}\n ${Colour[\"border-focus\"]};\n border-radius: ${Radius[\"sm\"]};\n }\n`;\n"],"names":[],"mappings":"mHAoHwB,8BA1CD,mCAsCK,4BA5GP,mCAwBQ,gCAUH,oCASG,mCA9BA,+BAwCJ,4CAaa,uCAJL"}
1
+ {"version":3,"file":"input-wrapper.styles.js","sources":["../../../../src/shared/input-wrapper/input-wrapper.styles.ts"],"sourcesContent":["import { css } from \"@linaria/core\";\n\nimport { Border, Colour, Font, Radius, Spacing } from \"../../theme\";\n\nexport const inputBox = css`\n border: ${Border[\"width-010\"]} ${Border[\"solid\"]} ${Colour[\"border\"]};\n border-radius: ${Radius[\"sm\"]};\n background: ${Colour[\"bg\"]};\n\n &:focus-within,\n &[data-focused=\"true\"] {\n outline-offset: -1px;\n outline: ${Border[\"width-020\"]} ${Border[\"solid\"]}\n ${Colour[\"border-focus\"]};\n }\n`;\n\nexport const inputBoxReadOnly = css`\n border-color: transparent;\n padding: 0;\n background: transparent !important;\n\n &:focus-within,\n &[data-focused=\"true\"] {\n outline-color: ${Colour[\"border-focus\"]};\n }\n`;\n\nexport const inputBoxDisabled = css`\n background: ${Colour[\"bg-disabled\"]};\n cursor: not-allowed;\n\n &:focus-within,\n &[data-focused=\"true\"] {\n outline-color: ${Colour[\"border-disabled\"]};\n }\n`;\n\nexport const inputBoxError = css`\n border-color: ${Colour[\"border-error\"]};\n\n &:focus-within,\n &[data-focused=\"true\"] {\n outline-color: ${Colour[\"border-error-focus\"]};\n }\n`;\n\nexport const inputBoxNoBorder = css`\n border-color: transparent;\n background: transparent;\n\n &:focus-within,\n &[data-focused=\"true\"] {\n outline: none;\n }\n`;\n\nexport const inputWrapper = css`\n display: flex;\n align-items: center;\n position: relative;\n height: max-content;\n width: 100%;\n padding: 0 ${Spacing[\"spacing-16\"]} 0 ${Spacing[\"spacing-16\"]};\n`;\n\nexport const inputWrapperReadOnly = css`\n padding-left: 0;\n`;\n\nexport const inputWrapperPositionRight = css`\n flex-direction: row-reverse;\n`;\n\nexport const basicInput = css`\n ${Font[\"body-baseline-regular\"]}\n color: ${Colour[\"text\"]};\n display: block;\n background: transparent;\n border: none;\n outline: none;\n box-shadow: none;\n padding: 0;\n margin: 0;\n\n &:disabled {\n color: ${Colour[\"text-subtler\"]};\n\n &:hover {\n cursor: not-allowed;\n }\n }\n\n &::placeholder,\n &::-webkit-input-placeholder {\n color: ${Colour[\"text-subtler\"]};\n }\n\n // Chrome, Safari, Edge, Opera\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n // Safari (remove top shadow)\n --webkit-appearance: none;\n\n // Firefox\n --moz-appearance: textfield;\n`;\n\nexport const basicInputSmall = css`\n ${Font[\"body-md-regular\"]}\n`;\n\nexport const basicButton = css`\n background: transparent;\n border: none;\n outline: none;\n\n &:focus,\n &:active {\n outline: none;\n }\n\n &:focus-visible {\n outline: ${Border[\"width-010\"]} ${Border[\"solid\"]}\n ${Colour[\"border-focus\"]};\n border-radius: ${Radius[\"sm\"]};\n }\n`;\n\nexport const clearButton = css`\n background: transparent;\n border: none;\n outline: none;\n height: auto;\n padding: ${Spacing[\"spacing-12\"]} ${Spacing[\"spacing-16\"]};\n margin: calc(${Spacing[\"spacing-12\"]} * -1)\n calc(${Spacing[\"spacing-16\"]} * -1);\n cursor: pointer;\n color: ${Colour.icon};\n\n &:focus,\n &:active {\n outline: none;\n }\n\n &:focus-visible {\n outline: 2px solid ${Colour[\"border-focus\"]};\n border-radius: ${Radius[\"sm\"]};\n }\n`;\n\nexport const clearIcon = css`\n height: 1.25rem;\n width: 1.25rem;\n vertical-align: middle;\n`;\n\nexport const clearButtonContainer = css`\n position: absolute;\n display: flex;\n align-items: center;\n right: ${Spacing[\"spacing-16\"]};\n`;\n"],"names":[],"mappings":"kHAoHwB,8BA1CD,mCAsCK,+BAqBJ,wCA4BS,4BANX,4BAvJD,mCAwBQ,gCAUH,oCASG,mCA9BA,+BAwCJ,4CAaa,uCAJL"}
@@ -9,3 +9,6 @@
9
9
  .b168rpxy{font-family:var(--fds-font-family);font-variant:var(--fds-font-variant);font-size:var(--fds-font-body-size-baseline);font-weight:var(--fds-font-weight-regular);line-height:var(--fds-font-body-lh-baseline);letter-spacing:var(--fds-font-body-ls-baseline);color:var(--fds-colour-text);display:block;background:transparent;border:none;outline:none;box-shadow:none;padding:0;margin:0;--webkit-appearance:none;--moz-appearance:textfield;}.b168rpxy:disabled{color:var(--fds-colour-text-subtler);}.b168rpxy:disabled:hover{cursor:not-allowed;}.b168rpxy::-webkit-input-placeholder{color:var(--fds-colour-text-subtler);}.b168rpxy::-webkit-outer-spin-button,.b168rpxy::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}.b168rpxy::-webkit-input-placeholder{color:var(--fds-colour-text-subtler);}.b168rpxy::-moz-placeholder{color:var(--fds-colour-text-subtler);}.b168rpxy:-ms-input-placeholder{color:var(--fds-colour-text-subtler);}.b168rpxy::placeholder{color:var(--fds-colour-text-subtler);}
10
10
  .b1df0tus{font-family:var(--fds-font-family);font-variant:var(--fds-font-variant);font-size:var(--fds-font-body-size-md);font-weight:var(--fds-font-weight-regular);line-height:var(--fds-font-body-lh-md);letter-spacing:var(--fds-font-body-ls-md);}
11
11
  .b191fi5o{background:transparent;border:none;outline:none;}.b191fi5o:focus,.b191fi5o:active{outline:none;}.b191fi5o:focus-visible{outline:var(--fds-border-width-010) var(--fds-border-style-solid) var(--fds-colour-border-focus);border-radius:var(--fds-radius-sm);}
12
+ .c179s2uy{background:transparent;border:none;outline:none;height:auto;padding:var(--fds-spacing-12) var(--fds-spacing-16);margin:calc(var(--fds-spacing-12) * -1) calc(var(--fds-spacing-16) * -1);cursor:pointer;color:var(--fds-colour-icon);}.c179s2uy:focus,.c179s2uy:active{outline:none;}.c179s2uy:focus-visible{outline:2px solid var(--fds-colour-border-focus);border-radius:var(--fds-radius-sm);}
13
+ .c1buolhy{height:1.25rem;width:1.25rem;vertical-align:middle;}
14
+ .ccmyj2w{position:absolute;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;right:var(--fds-spacing-16);}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("react");require("../../theme/theme-provider/index.js"),require("../../theme/theme-provider/context.js"),require("../../theme/tokens/border.js"),require("../../theme/tokens/colour.js"),require("../../theme/tokens/font.js"),require("../../theme/tokens/media-query.js");var t=require("../../theme/utils/use-apply-styles.js");require("../../util/calendar-helper.js"),require("../../external/dayjs/dayjs.min.js");var s=require("../../util/merge-refs.js");require("../../util/simple-id-generator.js"),require("../../util/string-helper.js"),require("@react-aria/live-announcer");var n=require("../dropdown-wrapper/element-with-dropdown.js"),i=require("./calendar-dropdown.styles.js"),a=require("./internal-calendar.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}const l=u(r).default.forwardRef(((u,l)=>{const{elementWidth:d,setFloatingRef:o,getFloatingProps:j,styles:p}=n.useDropdownRender(),c=r.useRef(null);return t.useApplyStyle(c,Object.assign({[i.tokens.width]:`${d}px`},p)),e.jsx("div",Object.assign({className:i.calendarWrapper,"data-testid":"calendar-dropdown",ref:s.mergeRefs(o,c)},j(),{children:e.jsx(a.InternalCalendar,Object.assign({ref:l},u))}))}));exports.CalendarDropdown=l;
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("react");require("../../theme/theme-provider/index.js"),require("../../theme/theme-provider/context.js"),require("../../theme/tokens/border.js"),require("../../theme/tokens/colour.js"),require("../../theme/tokens/font.js"),require("../../theme/tokens/media-query.js");var t=require("../../theme/utils/use-apply-styles.js");require("../../theme/utils/use-media-query.js"),require("../../util/calendar-helper.js"),require("../../external/dayjs/dayjs.min.js");var s=require("../../util/merge-refs.js");require("../../util/simple-id-generator.js"),require("../../util/string-helper.js"),require("@react-aria/live-announcer");var i=require("../dropdown-wrapper/element-with-dropdown.js"),n=require("./calendar-dropdown.styles.js"),a=require("./internal-calendar.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}const l=u(r).default.forwardRef(((u,l)=>{const{elementWidth:d,setFloatingRef:o,getFloatingProps:j,styles:p}=i.useDropdownRender(),c=r.useRef(null);return t.useApplyStyle(c,Object.assign({[n.tokens.width]:`${d}px`},p)),e.jsx("div",Object.assign({className:n.calendarWrapper,"data-testid":"calendar-dropdown",ref:s.mergeRefs(o,c)},j(),{children:e.jsx(a.InternalCalendar,Object.assign({ref:l},u))}))}));exports.CalendarDropdown=l;
2
2
  //# sourceMappingURL=calendar-dropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar-dropdown.js","sources":["../../../../src/shared/internal-calendar/calendar-dropdown.tsx"],"sourcesContent":["import React, { useRef } from \"react\";\n\nimport { useApplyStyle } from \"../../theme\";\nimport { mergeRefs } from \"../../util\";\nimport { useDropdownRender } from \"../dropdown-wrapper\";\nimport * as styles from \"./calendar-dropdown.styles\";\nimport { InternalCalendar } from \"./internal-calendar\";\nimport type { CalendarDropdownProps, InternalCalendarRef } from \"./types\";\n\nconst Component = (\n props: CalendarDropdownProps,\n ref: React.ForwardedRef<InternalCalendarRef>\n) => {\n const {\n elementWidth,\n setFloatingRef,\n getFloatingProps,\n styles: positioningStyles,\n } = useDropdownRender();\n\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n useApplyStyle(wrapperRef, {\n [styles.tokens.width]: `${elementWidth}px`,\n ...positioningStyles,\n });\n\n return (\n <div\n className={styles.calendarWrapper}\n data-testid=\"calendar-dropdown\"\n ref={mergeRefs(setFloatingRef, wrapperRef)}\n {...getFloatingProps()}\n >\n <InternalCalendar ref={ref} {...props} />\n </div>\n );\n};\n\nexport const CalendarDropdown = React.forwardRef(Component);\n"],"names":["CalendarDropdown","React","forwardRef","props","ref","elementWidth","setFloatingRef","getFloatingProps","styles","positioningStyles","useDropdownRender","wrapperRef","useRef","useApplyStyle","Object","assign","styles.tokens","width","_jsx","className","styles.calendarWrapper","mergeRefs","children","InternalCalendar"],"mappings":"40BASA,MA8BaA,OAAmBC,QAAMC,YA9BpB,CACdC,EACAC,KAEA,MAAMC,aACFA,EAAYC,eACZA,EAAcC,iBACdA,EACAC,OAAQC,GACRC,sBAEEC,EAAaC,EAAAA,OAAuB,MAO1C,OALAC,EAAAA,cAAcF,EAAUG,OAAAC,OAAA,CACpB,CAACC,EAAAA,OAAcC,OAAQ,GAAGZ,OACvBI,IAIHS,EAAAA,IAAA,MAAAJ,OAAAC,OAAA,CACII,UAAWC,kBAAsB,cACrB,oBACZhB,IAAKiB,EAAAA,UAAUf,EAAgBK,IAC3BJ,IAAkB,CAAAe,SAEtBJ,EAAAA,IAACK,EAAAA,iBAAgBT,OAAAC,OAAA,CAACX,IAAKA,GAASD,MAC9B"}
1
+ {"version":3,"file":"calendar-dropdown.js","sources":["../../../../src/shared/internal-calendar/calendar-dropdown.tsx"],"sourcesContent":["import React, { useRef } from \"react\";\n\nimport { useApplyStyle } from \"../../theme\";\nimport { mergeRefs } from \"../../util\";\nimport { useDropdownRender } from \"../dropdown-wrapper\";\nimport * as styles from \"./calendar-dropdown.styles\";\nimport { InternalCalendar } from \"./internal-calendar\";\nimport type { CalendarDropdownProps, InternalCalendarRef } from \"./types\";\n\nconst Component = (\n props: CalendarDropdownProps,\n ref: React.ForwardedRef<InternalCalendarRef>\n) => {\n const {\n elementWidth,\n setFloatingRef,\n getFloatingProps,\n styles: positioningStyles,\n } = useDropdownRender();\n\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n useApplyStyle(wrapperRef, {\n [styles.tokens.width]: `${elementWidth}px`,\n ...positioningStyles,\n });\n\n return (\n <div\n className={styles.calendarWrapper}\n data-testid=\"calendar-dropdown\"\n ref={mergeRefs(setFloatingRef, wrapperRef)}\n {...getFloatingProps()}\n >\n <InternalCalendar ref={ref} {...props} />\n </div>\n );\n};\n\nexport const CalendarDropdown = React.forwardRef(Component);\n"],"names":["CalendarDropdown","React","forwardRef","props","ref","elementWidth","setFloatingRef","getFloatingProps","styles","positioningStyles","useDropdownRender","wrapperRef","useRef","useApplyStyle","Object","assign","styles.tokens","width","_jsx","className","styles.calendarWrapper","mergeRefs","children","InternalCalendar"],"mappings":"43BASA,MA8BaA,OAAmBC,QAAMC,YA9BpB,CACdC,EACAC,KAEA,MAAMC,aACFA,EAAYC,eACZA,EAAcC,iBACdA,EACAC,OAAQC,GACRC,sBAEEC,EAAaC,EAAAA,OAAuB,MAO1C,OALAC,EAAAA,cAAcF,EAAUG,OAAAC,OAAA,CACpB,CAACC,EAAAA,OAAcC,OAAQ,GAAGZ,OACvBI,IAIHS,EAAAA,IAAA,MAAAJ,OAAAC,OAAA,CACII,UAAWC,kBAAsB,cACrB,oBACZhB,IAAKiB,EAAAA,UAAUf,EAAgBK,IAC3BJ,IAAkB,CAAAe,SAEtBJ,EAAAA,IAACK,EAAAA,iBAAgBT,OAAAC,OAAA,CAACX,IAAKA,GAASD,MAC9B"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("clsx"),s=require("react");require("../../theme/theme-provider/index.js"),require("../../theme/theme-provider/context.js"),require("../../theme/tokens/border.js");var t=require("../../theme/tokens/colour.js");require("../../theme/tokens/font.js"),require("../../theme/tokens/media-query.js");var u=require("../../theme/utils/use-apply-styles.js"),o=require("./progress-bar.styles.js");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=a(r);exports.ProgressBar=({className:r,progress:a,colour:l,"data-testid":n})=>{const d=null!=l?l:t.Colour["icon-primary-subtle"],m=s.useRef(null);return u.useApplyStyle(m,{[o.tokens.barColour]:d,[o.tokens.barWidth]:100*a+"%"}),e.jsx("div",{className:i.default(o.bar,r),"data-testid":n,ref:m,children:e.jsx("progress",{value:100*a,max:100})})};
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("clsx"),s=require("react");require("../../theme/theme-provider/index.js"),require("../../theme/theme-provider/context.js"),require("../../theme/tokens/border.js");var t=require("../../theme/tokens/colour.js");require("../../theme/tokens/font.js"),require("../../theme/tokens/media-query.js");var u=require("../../theme/utils/use-apply-styles.js");require("../../theme/utils/use-media-query.js");var i=require("./progress-bar.styles.js");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=a(r);exports.ProgressBar=({className:r,progress:a,colour:l,"data-testid":n})=>{const m=null!=l?l:t.Colour["icon-primary-subtle"],d=s.useRef(null);return u.useApplyStyle(d,{[i.tokens.barColour]:m,[i.tokens.barWidth]:100*a+"%"}),e.jsx("div",{className:o.default(i.bar,r),"data-testid":n,ref:d,children:e.jsx("progress",{value:100*a,max:100})})};
2
2
  //# sourceMappingURL=progress-bar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"progress-bar.js","sources":["../../../../src/shared/progress-bar/progress-bar.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { useRef } from \"react\";\n\nimport type { ColourCSSVariableString } from \"../../theme\";\nimport { Colour, useApplyStyle } from \"../../theme\";\nimport * as styles from \"./progress-bar.styles\";\n\ninterface Props {\n className?: string | undefined;\n /** Progress from 0 to 1 */\n progress: number;\n colour?: string | ColourCSSVariableString | undefined;\n \"data-testid\"?: string | undefined;\n}\n\nexport const ProgressBar = ({\n className,\n progress,\n colour,\n \"data-testid\": testId,\n}: Props) => {\n const colourToUse = colour ?? Colour[\"icon-primary-subtle\"];\n\n const barRef = useRef<HTMLDivElement>(null);\n\n useApplyStyle(barRef, {\n [styles.tokens.barColour]: colourToUse,\n [styles.tokens.barWidth]: `${progress * 100}%`,\n });\n\n return (\n <div\n className={clsx(styles.bar, className)}\n data-testid={testId}\n ref={barRef}\n >\n <progress value={progress * 100} max={100} />\n </div>\n );\n};\n"],"names":["className","progress","colour","testId","colourToUse","Colour","barRef","useRef","useApplyStyle","styles.tokens","barColour","barWidth","_jsx","clsx","styles.bar","ref","children","value","max"],"mappings":"kiBAe2B,EACvBA,YACAC,WAAQC,OACRA,EACA,cAAeC,MAEf,MAAMC,EAAcF,QAAAA,EAAUG,EAAAA,OAAO,uBAE/BC,EAASC,EAAAA,OAAuB,MAOtC,OALAC,EAAAA,cAAcF,EAAQ,CAClB,CAACG,EAAAA,OAAcC,WAAYN,EAC3B,CAACK,EAAAA,OAAcE,UAAyB,IAAXV,EAAH,MAI1BW,EAAAA,IAAA,MAAA,CACIZ,UAAWa,EAAAA,QAAKC,EAAAA,IAAYd,GAAU,cACzBG,EACbY,IAAKT,EAAMU,SAEXJ,EAAAA,IAAA,WAAA,CAAUK,MAAkB,IAAXhB,EAAgBiB,IAAK,OACpC"}
1
+ {"version":3,"file":"progress-bar.js","sources":["../../../../src/shared/progress-bar/progress-bar.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { useRef } from \"react\";\n\nimport type { ColourCSSVariableString } from \"../../theme\";\nimport { Colour, useApplyStyle } from \"../../theme\";\nimport * as styles from \"./progress-bar.styles\";\n\ninterface Props {\n className?: string | undefined;\n /** Progress from 0 to 1 */\n progress: number;\n colour?: string | ColourCSSVariableString | undefined;\n \"data-testid\"?: string | undefined;\n}\n\nexport const ProgressBar = ({\n className,\n progress,\n colour,\n \"data-testid\": testId,\n}: Props) => {\n const colourToUse = colour ?? Colour[\"icon-primary-subtle\"];\n\n const barRef = useRef<HTMLDivElement>(null);\n\n useApplyStyle(barRef, {\n [styles.tokens.barColour]: colourToUse,\n [styles.tokens.barWidth]: `${progress * 100}%`,\n });\n\n return (\n <div\n className={clsx(styles.bar, className)}\n data-testid={testId}\n ref={barRef}\n >\n <progress value={progress * 100} max={100} />\n </div>\n );\n};\n"],"names":["className","progress","colour","testId","colourToUse","Colour","barRef","useRef","useApplyStyle","styles.tokens","barColour","barWidth","_jsx","clsx","styles.bar","ref","children","value","max"],"mappings":"slBAe2B,EACvBA,YACAC,WAAQC,OACRA,EACA,cAAeC,MAEf,MAAMC,EAAcF,QAAAA,EAAUG,EAAAA,OAAO,uBAE/BC,EAASC,EAAAA,OAAuB,MAOtC,OALAC,EAAAA,cAAcF,EAAQ,CAClB,CAACG,EAAAA,OAAcC,WAAYN,EAC3B,CAACK,EAAAA,OAAcE,UAAyB,IAAXV,EAAH,MAI1BW,EAAAA,IAAA,MAAA,CACIZ,UAAWa,EAAAA,QAAKC,EAAAA,IAAYd,GAAU,cACzBG,EACbY,IAAKT,EAAMU,SAEXJ,EAAAA,IAAA,WAAA,CAAUK,MAAkB,IAAXhB,EAAgBiB,IAAK,OACpC"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react/jsx-runtime"),t=require("clsx"),a=require("../../external/dayjs/dayjs.min.js"),n=require("../../external/dayjs/plugin/customParseFormat.js"),r=require("react");require("../../util/calendar-helper.js");var u=require("../../util/date-input-helper.js");require("../../util/simple-id-generator.js");var l=require("../../util/string-helper.js");require("@react-aria/live-announcer");var s=require("../../util/use-state-ref.js"),i=require("./standalone-date-input.styles.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=o(t),c=o(r);a.default.extend(n.default);const p=({disabled:t,readOnly:n,names:o,value:c,focused:p,hoverValue:f,placeholder:v,label:m,onChange:h,onFocus:g,onBlur:x,hideInputKeyboard:y,inputLabels:b=["Date","Month","Year"]},j)=>{const I=y?"none":"numeric",[S,Y,D]=s.useStateRef(""),[M,q,H]=s.useStateRef(""),[N,C,B]=s.useStateRef(""),[R,$]=r.useState("none"),[k,z]=r.useState(!1),w=r.useRef(null),F=r.useRef(null),V=r.useRef(null),E=r.useRef(null),[L,O,K]=Q(f);r.useEffect((()=>{var e;const[t="",a="",n=""]=Q(c);Y(t),q(a),C(n),t||a||n||!w.current||!w.current.contains(document.activeElement)||null===(e=F.current)||void 0===e||e.focus()}),[c]),r.useEffect((()=>{var e;p||$("none"),p&&(z(!0),w.current&&!w.current.contains(document.activeElement)&&(null===(e=F.current)||void 0===e||e.focus()))}),[p]),r.useImperativeHandle(j,(()=>({ref:w,resetPlaceholder(){z(!1)},resetInput(){const[e="",t="",a=""]=Q(c);Y(e),q(t),C(a)},focusYearRef(){var e;null===(e=E.current)||void 0===e||e.focus()}})),[Y,q,C,c]);const P=e=>{var t;e.preventDefault(),null===(t=F.current)||void 0===t||t.focus()},T=e=>{e.target.select();const t=e.target.name;$(t)},A=e=>{const[t,n,r]=o,u={[t]:D.current,[n]:H.current,[r]:B.current},s=e.target.name,i=u[s],d=s!==r?l.StringHelper.padValue(i,!0):i;switch(s){case t:u[t]=d,Y(d);break;case n:u[n]=d,q(d)}const c=`${u[r]}-${u[n]}-${u[t]}`,p=a.default(c,"YYYY-MM-DD",!0).isValid(),f=!u[t]&&!u[n]&&!u[r];p&&i!==d&&h(c),w.current&&!w.current.contains(e.relatedTarget)&&($("none"),null==x||x(f||p))},G=e=>{var t,n;if(f)return;const r=e.target.name,u=e.target.value.replace(/[^0-9]/g,""),l={day:S,month:M,year:N};switch(r){case o[0]:l.day=u,Y(u),2===u.length&&(null===(t=V.current)||void 0===t||t.focus());break;case o[1]:l.month=u,q(u),2===u.length&&(null===(n=E.current)||void 0===n||n.focus());break;case o[2]:l.year=u,C(u)}if(!l.day&&!l.month&&!l.year)return void h("");const s=`${l.year}-${l.month}-${l.day}`;a.default(s,"YYYY-MM-DD",!0).isValid()&&h(s)},J=e=>{var t,a;"Backspace"!==e.code&&"Backspace"!==e.key||(R===o[1]&&0===M.length&&(null===(t=F.current)||void 0===t||t.focus()),R===o[2]&&0===N.length&&(null===(a=V.current)||void 0===a||a.focus()))};function Q(e){if(e){const t=u.DateInputHelper.sanitizeInput(e);if(!t)return[void 0,void 0,void 0];const n=a.default(t,"YYYY-MM-DD",!0);return[l.StringHelper.padValue(n.date().toString()),l.StringHelper.padValue((n.month()+1).toString()),n.year().toString()]}return[void 0,void 0,void 0]}return e.jsxs("div",{role:"group","aria-label":m,className:i.inputSection,onClick:()=>{var e;t||n||(z(!0),w.current&&!w.current.contains(document.activeElement)&&(null===(e=F.current)||void 0===e||e.focus()))},onFocus:e=>{t||(z(!0),p||null==g||g(e))},children:[e.jsxs("div",{ref:w,className:i.inputContainer,children:[e.jsx("span",{className:d.default(i.inputSizerBase,i.dayInputSizer),children:e.jsx("input",{ref:F,name:o[0],maxLength:2,value:null!=L?L:S,onFocus:T,onBlur:A,onChange:G,type:"text",inputMode:I,pattern:"[0-9]{2}","data-testid":`${o[0]}-input`,"aria-label":b[0],disabled:t,readOnly:n,tabIndex:n?-1:0,autoComplete:"off",placeholder:R!==o[0]||n?"DD":"",className:d.default(i.baseInput,!!f&&i.baseInputHover)})}),e.jsx("span",{className:d.default(i.divider,0===S.length&&i.dividerInactive,!!f&&i.dividerHover),children:"/"}),e.jsx("span",{className:d.default(i.inputSizerBase,i.monthInputSizer),children:e.jsx("input",{ref:V,name:o[1],maxLength:2,value:null!=O?O:M,onFocus:T,onBlur:A,onChange:G,onKeyDown:J,type:"text",inputMode:I,pattern:"[0-9]{2}","data-testid":`${o[1]}-input`,"aria-label":b[1],disabled:t,readOnly:n,tabIndex:n?-1:0,autoComplete:"off",placeholder:R!==o[1]||n?"MM":"",className:d.default(i.baseInput,!!f&&i.baseInputHover)})}),e.jsx("span",{className:d.default(i.divider,0===M.length&&i.dividerInactive,!!f&&i.dividerHover),children:"/"}),e.jsx("span",{className:d.default(i.inputSizerBase,i.yearInputSizer),children:e.jsx("input",{ref:E,name:o[2],maxLength:4,value:null!=K?K:N,onFocus:T,onBlur:A,onChange:G,onKeyDown:J,type:"text",inputMode:I,pattern:"[0-9]{4}","data-testid":`${o[2]}-input`,"aria-label":b[2],disabled:t,readOnly:n,tabIndex:n?-1:0,autoComplete:"off",placeholder:R!==o[2]||n?"YYYY":"",className:d.default(i.baseInput,!!f&&i.baseInputHover)})})]}),(()=>{if(!c&&!n&&v)return e.jsx("div",{className:d.default(i.placeholder,t&&i.placeholderDisabled,k&&i.placeholderHide),onMouseDown:P,children:v})})()]})},f=c.default.forwardRef(p);exports.Component=p,exports.StandaloneDateInput=f;
1
+ "use strict";var e=require("react/jsx-runtime"),t=require("clsx"),a=require("../../external/dayjs/dayjs.min.js"),n=require("../../external/dayjs/plugin/customParseFormat.js"),r=require("react");require("../../util/calendar-helper.js");var u=require("../../util/date-input-helper.js");require("../../util/simple-id-generator.js");var l=require("../../util/string-helper.js");require("@react-aria/live-announcer");var s=require("../../util/use-state-ref.js"),o=require("./standalone-date-input.styles.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=i(t),c=i(r);a.default.extend(n.default);const p=({disabled:t,readOnly:n,names:i,value:c,focused:p,hoverValue:f,placeholder:v,label:m,onChange:h,onFocus:g,onBlur:x,hideInputKeyboard:y,inputLabels:b=["Date","Month","Year"]},j)=>{const S=y?"none":"numeric",[I,Y,D]=s.useStateRef(""),[M,q,H]=s.useStateRef(""),[N,C,B]=s.useStateRef(""),[R,$]=r.useState("none"),[k,z]=r.useState(!1),w=r.useRef(null),F=r.useRef(null),V=r.useRef(null),E=r.useRef(null),[L,O,K]=Q(f);r.useEffect((()=>{var e;const[t="",a="",n=""]=Q(c);Y(t),q(a),C(n),t||a||n||!w.current||!w.current.contains(document.activeElement)||null===(e=F.current)||void 0===e||e.focus()}),[c]),r.useEffect((()=>{var e;p||$("none"),p&&(z(!0),w.current&&!w.current.contains(document.activeElement)&&(null===(e=F.current)||void 0===e||e.focus()))}),[p]),r.useImperativeHandle(j,(()=>({ref:w,resetPlaceholder(){z(!1)},resetInput(){const[e="",t="",a=""]=Q(c);Y(e),q(t),C(a)},focusYearRef(){var e;null===(e=E.current)||void 0===e||e.focus()}})),[Y,q,C,c]);const P=e=>{var t;e.preventDefault(),null===(t=F.current)||void 0===t||t.focus()},T=e=>{e.target.select();const t=e.target.name;$(t)},A=e=>{const[t,n,r]=i,u={[t]:D.current,[n]:H.current,[r]:B.current},s=e.target.name,o=u[s],d=s!==r?l.StringHelper.padValue(o,!0):o;switch(s){case t:u[t]=d,Y(d);break;case n:u[n]=d,q(d)}const c=`${u[r]}-${u[n]}-${u[t]}`,p=a.default(c,"YYYY-MM-DD",!0).isValid(),f=!u[t]&&!u[n]&&!u[r];p&&o!==d&&h(c),w.current&&!w.current.contains(e.relatedTarget)&&($("none"),null==x||x(f||p))},G=e=>{var t,n;if(f)return;const r=e.target.name,u=e.target.value.replace(/[^0-9]/g,""),l={day:I,month:M,year:N};switch(r){case i[0]:l.day=u,Y(u),2===u.length&&(null===(t=V.current)||void 0===t||t.focus());break;case i[1]:l.month=u,q(u),2===u.length&&(null===(n=E.current)||void 0===n||n.focus());break;case i[2]:l.year=u,C(u)}if(!l.day&&!l.month&&!l.year)return void h("");const s=`${l.year}-${l.month}-${l.day}`;a.default(s,"YYYY-MM-DD",!0).isValid()&&h(s)},J=e=>{var t,a;"Backspace"!==e.code&&"Backspace"!==e.key||(R===i[1]&&0===M.length&&(null===(t=F.current)||void 0===t||t.focus()),R===i[2]&&0===N.length&&(null===(a=V.current)||void 0===a||a.focus()))};function Q(e){if(e){const t=u.DateInputHelper.sanitizeInput(e);if(!t)return[void 0,void 0,void 0];const n=a.default(t,"YYYY-MM-DD",!0);return[l.StringHelper.padValue(n.date().toString()),l.StringHelper.padValue((n.month()+1).toString()),n.year().toString()]}return[void 0,void 0,void 0]}return e.jsxs("div",{role:"group","aria-label":m,className:o.inputSection,onClick:()=>{var e;t||n||(z(!0),w.current&&!w.current.contains(document.activeElement)&&(null===(e=F.current)||void 0===e||e.focus()))},onFocus:e=>{t||(z(!0),p||null==g||g(e))},children:[e.jsxs("div",{ref:w,className:o.inputContainer,children:[e.jsx("span",{className:d.default(o.inputSizerBase,o.dayInputSizer),children:e.jsx("input",{ref:F,name:i[0],maxLength:2,value:null!=L?L:I,onFocus:T,onBlur:A,onChange:G,type:"text",inputMode:S,pattern:"[0-9]{2}","data-testid":`${i[0]}-input`,"aria-label":b[0],disabled:t,readOnly:n,tabIndex:n?-1:0,autoComplete:"off",placeholder:R!==i[0]||n?"DD":"",className:d.default(o.baseInput,!!f&&o.baseInputHover)})}),e.jsx("span",{className:d.default(o.divider,!!f&&o.dividerHover),children:"/"}),e.jsx("span",{className:d.default(o.inputSizerBase,o.monthInputSizer),children:e.jsx("input",{ref:V,name:i[1],maxLength:2,value:null!=O?O:M,onFocus:T,onBlur:A,onChange:G,onKeyDown:J,type:"text",inputMode:S,pattern:"[0-9]{2}","data-testid":`${i[1]}-input`,"aria-label":b[1],disabled:t,readOnly:n,tabIndex:n?-1:0,autoComplete:"off",placeholder:R!==i[1]||n?"MM":"",className:d.default(o.baseInput,!!f&&o.baseInputHover)})}),e.jsx("span",{className:d.default(o.divider,!!f&&o.dividerHover),children:"/"}),e.jsx("span",{className:d.default(o.inputSizerBase,o.yearInputSizer),children:e.jsx("input",{ref:E,name:i[2],maxLength:4,value:null!=K?K:N,onFocus:T,onBlur:A,onChange:G,onKeyDown:J,type:"text",inputMode:S,pattern:"[0-9]{4}","data-testid":`${i[2]}-input`,"aria-label":b[2],disabled:t,readOnly:n,tabIndex:n?-1:0,autoComplete:"off",placeholder:R!==i[2]||n?"YYYY":"",className:d.default(o.baseInput,!!f&&o.baseInputHover)})})]}),(()=>{if(!c&&!n&&v)return e.jsx("div",{className:d.default(o.placeholder,t&&o.placeholderDisabled,k&&o.placeholderHide),onMouseDown:P,children:v})})()]})},f=c.default.forwardRef(p);exports.Component=p,exports.StandaloneDateInput=f;
2
2
  //# sourceMappingURL=standalone-date-input.js.map