@jobber/components 4.90.5 → 4.91.0

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 (638) hide show
  1. package/dist/AnimatedPresence/{index.cjs → index.js} +3 -1
  2. package/dist/{AnimatedPresence-BWePg1sL.js → AnimatedPresence-20a02aaa.js} +7 -3
  3. package/dist/AnimatedSwitcher/index.js +13 -0
  4. package/dist/{AnimatedSwitcher-D_Qj_hx5.js → AnimatedSwitcher-3d45ec5d.js} +8 -4
  5. package/dist/AtlantisContext/{index.cjs → index.js} +3 -1
  6. package/dist/Autocomplete/index.js +214 -0
  7. package/dist/Avatar/index.js +15 -0
  8. package/dist/Avatar-76a799fa.js +78 -0
  9. package/dist/Banner/index.js +111 -0
  10. package/dist/Button/index.js +16 -0
  11. package/dist/Button-6b922fc1.js +57 -0
  12. package/dist/ButtonDismiss/index.js +17 -0
  13. package/dist/ButtonDismiss-a3ba1de2.js +14 -0
  14. package/dist/Card/index.js +24 -0
  15. package/dist/Card-01d6ba19.js +93 -0
  16. package/dist/Checkbox/index.js +18 -0
  17. package/dist/Checkbox-e481a4b1.js +63 -0
  18. package/dist/Chip/index.js +42 -0
  19. package/dist/Chip-76f18555.js +89 -0
  20. package/dist/Chips/index.js +525 -0
  21. package/dist/Combobox/index.js +41 -0
  22. package/dist/Combobox-6d864202.js +481 -0
  23. package/dist/ConfirmationModal/index.js +32 -0
  24. package/dist/{ConfirmationModal-AtuPSZb4.js → ConfirmationModal-b7da32ac.js} +12 -8
  25. package/dist/Content/index.js +12 -0
  26. package/dist/Content-e3f7b6fc.js +24 -0
  27. package/dist/Countdown/index.js +72 -0
  28. package/dist/DataDump/index.js +37 -0
  29. package/dist/DataList/index.js +1346 -0
  30. package/dist/DataTable/index.js +301 -0
  31. package/dist/DatePicker/index.js +21 -0
  32. package/dist/DatePicker-305a5b82.js +144 -0
  33. package/dist/DescriptionList/index.js +24 -0
  34. package/dist/Disclosure/index.js +46 -0
  35. package/dist/Divider/index.js +29 -0
  36. package/dist/Drawer/index.js +50 -0
  37. package/dist/Emphasis/index.js +13 -0
  38. package/dist/Emphasis-a77d8ee9.js +19 -0
  39. package/dist/FeatureSwitch/index.js +71 -0
  40. package/dist/Flex/index.js +12 -0
  41. package/dist/Flex-d490c4db.js +38 -0
  42. package/dist/{Form-5myjIaNx.js → Form/index.js} +9 -3
  43. package/dist/FormField/index.js +24 -0
  44. package/dist/FormField-f6fadff2.js +253 -0
  45. package/dist/FormatDate/{index.cjs → index.js} +3 -1
  46. package/dist/{FormatDate-CcycFjAL.js → FormatDate-70ea5b43.js} +5 -1
  47. package/dist/FormatEmail/index.js +23 -0
  48. package/dist/FormatFile/index.js +37 -0
  49. package/dist/FormatFile-b771c7fd.js +162 -0
  50. package/dist/{FormatRelativeDateTime-hdrEQWhy.js → FormatRelativeDateTime/index.js} +11 -5
  51. package/dist/{FormatTime-DrHluWW3.js → FormatTime/index.js} +7 -1
  52. package/dist/Gallery/index.js +101 -0
  53. package/dist/Glimmer/index.js +15 -0
  54. package/dist/Glimmer-84dee1ed.js +77 -0
  55. package/dist/Grid/index.js +76 -0
  56. package/dist/Heading/index.js +15 -0
  57. package/dist/{Heading-Y2BrFvzY.js → Heading-23d382a1.js} +7 -3
  58. package/dist/Icon/index.js +11 -0
  59. package/dist/Icon-405a216c.js +40 -0
  60. package/dist/InlineLabel/index.js +13 -0
  61. package/dist/InlineLabel-c8fc28f0.js +28 -0
  62. package/dist/InputAvatar/index.js +70 -0
  63. package/dist/{InputDate-kNxwMqkc.js → InputDate/index.js} +31 -6
  64. package/dist/InputEmail/index.js +43 -0
  65. package/dist/InputFile/index.js +25 -0
  66. package/dist/InputFile-20b9074a.js +190 -0
  67. package/dist/InputGroup/index.js +12 -0
  68. package/dist/InputGroup-8d4fd4eb.js +33 -0
  69. package/dist/InputNumber/index.js +25 -0
  70. package/dist/{InputNumber-CW4ttUb0.js → InputNumber-e15cc1a3.js} +6 -2
  71. package/dist/InputPassword/index.js +41 -0
  72. package/dist/{InputPhoneNumber-DHO2lp-T.js → InputPhoneNumber/index.js} +27 -7
  73. package/dist/InputText/index.js +26 -0
  74. package/dist/{InputText-C_iZe7xf.js → InputText-130b0440.js} +8 -4
  75. package/dist/{InputTime-DemVybcJ.js → InputTime/index.js} +25 -5
  76. package/dist/InputValidation/index.js +17 -0
  77. package/dist/InputValidation-a92bb519.js +29 -0
  78. package/dist/LightBox/index.js +25 -0
  79. package/dist/LightBox-7efe8932.js +121 -0
  80. package/dist/Link/index.js +15 -0
  81. package/dist/List/index.js +94 -0
  82. package/dist/Markdown/index.js +20 -0
  83. package/dist/Markdown-0f24de70.js +62 -0
  84. package/dist/Menu/index.js +21 -0
  85. package/dist/Menu-d6dd673e.js +139 -0
  86. package/dist/Modal/index.js +26 -0
  87. package/dist/Modal-4ce1ec79.js +74 -0
  88. package/dist/MultiSelect/index.js +182 -0
  89. package/dist/Option-a1dbc08a.js +19 -0
  90. package/dist/Page/index.js +78 -0
  91. package/dist/Popover/index.js +65 -0
  92. package/dist/ProgressBar/index.js +12 -0
  93. package/dist/ProgressBar-b68edc8f.js +43 -0
  94. package/dist/RadioGroup/index.js +15 -0
  95. package/dist/RadioGroup-678f4932.js +46 -0
  96. package/dist/RecurringSelect/index.js +227 -0
  97. package/dist/Select/index.js +26 -0
  98. package/dist/Spinner/index.js +12 -0
  99. package/dist/Spinner-9d8fc7ff.js +24 -0
  100. package/dist/StatusIndicator/index.js +11 -0
  101. package/dist/StatusIndicator-7b5258ea.js +18 -0
  102. package/dist/StatusLabel/index.js +28 -0
  103. package/dist/Switch/index.js +13 -0
  104. package/dist/Switch-eac89586.js +56 -0
  105. package/dist/Table/index.js +66 -0
  106. package/dist/Tabs/index.js +80 -0
  107. package/dist/Text/index.js +13 -0
  108. package/dist/{Text-BKFV1Z0j.js → Text-fbeaaca6.js} +6 -2
  109. package/dist/Toast/index.js +111 -0
  110. package/dist/Tooltip/index.js +17 -0
  111. package/dist/Tooltip-b9de6e57.js +114 -0
  112. package/dist/Typography/index.js +12 -0
  113. package/dist/Typography-e2a23b7e.js +62 -0
  114. package/dist/style-inject.es-9d2f5f4e.js +30 -0
  115. package/dist/tslib.es6-754e2961.js +46 -0
  116. package/dist/{useAtlantisConfig-Ckfr55qY.js → useAtlantisConfig-ed0bee66.js} +2 -2
  117. package/package.json +8 -394
  118. package/{rollup.config.mjs → rollup.config.js} +17 -50
  119. package/dist/AnimatedPresence/index.mjs +0 -4
  120. package/dist/AnimatedPresence-CzXm0q2a.js +0 -98
  121. package/dist/AnimatedSwitcher/index.cjs +0 -11
  122. package/dist/AnimatedSwitcher/index.mjs +0 -5
  123. package/dist/AnimatedSwitcher--j45gdP1.js +0 -90
  124. package/dist/AtlantisContext/index.mjs +0 -2
  125. package/dist/AtlantisContext-B0Zo5l8l.js +0 -18
  126. package/dist/Autocomplete/index.cjs +0 -33
  127. package/dist/Autocomplete/index.mjs +0 -27
  128. package/dist/Autocomplete-DQ9t1vLy.js +0 -190
  129. package/dist/Autocomplete-W9xb3p2A.js +0 -192
  130. package/dist/Avatar/index.cjs +0 -12
  131. package/dist/Avatar/index.mjs +0 -6
  132. package/dist/Avatar-BPd8t6BU.js +0 -67
  133. package/dist/Avatar-DTFS2kFm.js +0 -69
  134. package/dist/Banner/components/BannerIcon/index.cjs +0 -13
  135. package/dist/Banner/components/BannerIcon/index.mjs +0 -7
  136. package/dist/Banner/index.cjs +0 -23
  137. package/dist/Banner/index.mjs +0 -17
  138. package/dist/Banner-Dpwk3NK9.js +0 -79
  139. package/dist/Banner-DzeDUJLs.js +0 -81
  140. package/dist/BannerIcon-Co45J70u.js +0 -19
  141. package/dist/BannerIcon-CzBZbMVi.js +0 -22
  142. package/dist/Body-4eoS-dUC.js +0 -45
  143. package/dist/Body-CwY_QyVF.js +0 -54
  144. package/dist/Button/index.cjs +0 -13
  145. package/dist/Button/index.mjs +0 -7
  146. package/dist/Button-BH4Hhr2S.js +0 -47
  147. package/dist/Button-BPYGeGx2.js +0 -49
  148. package/dist/ButtonDismiss/index.cjs +0 -14
  149. package/dist/ButtonDismiss/index.mjs +0 -8
  150. package/dist/ButtonDismiss-BajTLHia.js +0 -10
  151. package/dist/ButtonDismiss-Dwe1QljB.js +0 -8
  152. package/dist/Card/index.cjs +0 -21
  153. package/dist/Card/index.mjs +0 -15
  154. package/dist/Card-DG7RIZdT.js +0 -83
  155. package/dist/Card-DWjfc534.js +0 -81
  156. package/dist/Checkbox/index.cjs +0 -15
  157. package/dist/Checkbox/index.mjs +0 -9
  158. package/dist/Checkbox-BDVwj5E8.js +0 -53
  159. package/dist/Checkbox-DDDvFfUJ.js +0 -55
  160. package/dist/Chip/hooks/index.cjs +0 -8
  161. package/dist/Chip/hooks/index.mjs +0 -2
  162. package/dist/Chip/index.cjs +0 -26
  163. package/dist/Chip/index.mjs +0 -18
  164. package/dist/Chip-Br7-JkgN.js +0 -70
  165. package/dist/Chip-CGMUQ-V-.js +0 -67
  166. package/dist/ChipDismissible-DETPCXth.js +0 -19
  167. package/dist/ChipDismissible-DyMHTSQ9.js +0 -22
  168. package/dist/Chips/InternalChipDismissible/hooks/index.cjs +0 -23
  169. package/dist/Chips/InternalChipDismissible/hooks/index.mjs +0 -13
  170. package/dist/Chips/InternalChipDismissible/index.cjs +0 -35
  171. package/dist/Chips/InternalChipDismissible/index.mjs +0 -29
  172. package/dist/Chips/index.cjs +0 -48
  173. package/dist/Chips/index.mjs +0 -44
  174. package/dist/Chips-B1RCrN1F.js +0 -93
  175. package/dist/Chips-DXbRgMUE.js +0 -91
  176. package/dist/Combobox/components/ComboboxAction/index.cjs +0 -12
  177. package/dist/Combobox/components/ComboboxAction/index.mjs +0 -6
  178. package/dist/Combobox/components/ComboboxActivator/index.cjs +0 -27
  179. package/dist/Combobox/components/ComboboxActivator/index.mjs +0 -21
  180. package/dist/Combobox/components/ComboboxContent/ComboboxContentHeader/index.cjs +0 -14
  181. package/dist/Combobox/components/ComboboxContent/ComboboxContentHeader/index.mjs +0 -8
  182. package/dist/Combobox/components/ComboboxContent/ComboboxContentList/index.cjs +0 -24
  183. package/dist/Combobox/components/ComboboxContent/ComboboxContentList/index.mjs +0 -18
  184. package/dist/Combobox/components/ComboboxContent/ComboboxContentSearch/index.cjs +0 -10
  185. package/dist/Combobox/components/ComboboxContent/ComboboxContentSearch/index.mjs +0 -4
  186. package/dist/Combobox/components/ComboboxContent/ComboboxLoadMore/index.cjs +0 -9
  187. package/dist/Combobox/components/ComboboxContent/ComboboxLoadMore/index.mjs +0 -3
  188. package/dist/Combobox/components/ComboboxContent/index.cjs +0 -34
  189. package/dist/Combobox/components/ComboboxContent/index.mjs +0 -28
  190. package/dist/Combobox/components/ComboboxOption/index.cjs +0 -14
  191. package/dist/Combobox/components/ComboboxOption/index.mjs +0 -8
  192. package/dist/Combobox/components/ComboboxTrigger/index.cjs +0 -25
  193. package/dist/Combobox/components/ComboboxTrigger/index.mjs +0 -19
  194. package/dist/Combobox/index.cjs +0 -53
  195. package/dist/Combobox/index.mjs +0 -46
  196. package/dist/Combobox-D0Qo3yYu.js +0 -117
  197. package/dist/Combobox-DxPzrwcK.js +0 -119
  198. package/dist/ComboboxAction-Ct0ao84E.js +0 -24
  199. package/dist/ComboboxAction-I7TT2mVE.js +0 -22
  200. package/dist/ComboboxActivator-BOGk012k.js +0 -26
  201. package/dist/ComboboxActivator-uU5VaZqF.js +0 -28
  202. package/dist/ComboboxContent-miRfjhNV.js +0 -145
  203. package/dist/ComboboxContent-u1C3PXKH.js +0 -143
  204. package/dist/ComboboxContentHeader-BF43vAXl.js +0 -27
  205. package/dist/ComboboxContentHeader-Cirx9k9L.js +0 -29
  206. package/dist/ComboboxContentList-DFv7m0NQ.js +0 -77
  207. package/dist/ComboboxContentList-nxCsc_XU.js +0 -75
  208. package/dist/ComboboxContentSearch-C2RHQNXR.js +0 -34
  209. package/dist/ComboboxContentSearch-DX-BiYTa.js +0 -32
  210. package/dist/ComboboxLoadMore-CUK0n3WY.js +0 -16
  211. package/dist/ComboboxLoadMore-t_s_eVDp.js +0 -14
  212. package/dist/ComboboxOption-BMg1O_Br.js +0 -20
  213. package/dist/ComboboxOption-DSzlMoup.js +0 -22
  214. package/dist/ComboboxProvider-GdvooWYJ.js +0 -10
  215. package/dist/ComboboxProvider-ku2HdEkO.js +0 -13
  216. package/dist/ComboboxTrigger-1KuifQvl.js +0 -24
  217. package/dist/ComboboxTrigger-CvcB6ptJ.js +0 -22
  218. package/dist/ConfirmationModal/index.cjs +0 -31
  219. package/dist/ConfirmationModal/index.mjs +0 -25
  220. package/dist/ConfirmationModal-DrQ-Nm1m.js +0 -94
  221. package/dist/Content/index.cjs +0 -9
  222. package/dist/Content/index.mjs +0 -3
  223. package/dist/Content-CobtdYug.js +0 -13
  224. package/dist/Content-D5eJgx6J.js +0 -15
  225. package/dist/Countdown/index.cjs +0 -11
  226. package/dist/Countdown/index.mjs +0 -5
  227. package/dist/Countdown-CXuL7Gh7.js +0 -659
  228. package/dist/Countdown-CnIjUABD.js +0 -657
  229. package/dist/DataDump/index.cjs +0 -24
  230. package/dist/DataDump/index.mjs +0 -18
  231. package/dist/DataDump-CXh_x55J.js +0 -15
  232. package/dist/DataDump-R0kwoLVp.js +0 -17
  233. package/dist/DataList/components/DataListAction/index.cjs +0 -13
  234. package/dist/DataList/components/DataListAction/index.mjs +0 -7
  235. package/dist/DataList/components/DataListActions/index.cjs +0 -43
  236. package/dist/DataList/components/DataListActions/index.mjs +0 -37
  237. package/dist/DataList/components/DataListActionsMenu/index.cjs +0 -17
  238. package/dist/DataList/components/DataListActionsMenu/index.mjs +0 -11
  239. package/dist/DataList/components/DataListBulkActions/index.cjs +0 -46
  240. package/dist/DataList/components/DataListBulkActions/index.mjs +0 -39
  241. package/dist/DataList/components/DataListEmptyState/index.cjs +0 -20
  242. package/dist/DataList/components/DataListEmptyState/index.mjs +0 -13
  243. package/dist/DataList/components/DataListFilters/components/DataListSort/index.cjs +0 -54
  244. package/dist/DataList/components/DataListFilters/components/DataListSort/index.mjs +0 -48
  245. package/dist/DataList/components/DataListFilters/index.cjs +0 -68
  246. package/dist/DataList/components/DataListFilters/index.mjs +0 -61
  247. package/dist/DataList/components/DataListHeader/index.cjs +0 -53
  248. package/dist/DataList/components/DataListHeader/index.mjs +0 -47
  249. package/dist/DataList/components/DataListHeaderTile/components/index.cjs +0 -12
  250. package/dist/DataList/components/DataListHeaderTile/components/index.mjs +0 -6
  251. package/dist/DataList/components/DataListHeaderTile/index.cjs +0 -20
  252. package/dist/DataList/components/DataListHeaderTile/index.mjs +0 -14
  253. package/dist/DataList/components/DataListItem/components/DataListItemClickable/index.cjs +0 -14
  254. package/dist/DataList/components/DataListItem/components/DataListItemClickable/index.mjs +0 -8
  255. package/dist/DataList/components/DataListItem/index.cjs +0 -52
  256. package/dist/DataList/components/DataListItem/index.mjs +0 -46
  257. package/dist/DataList/components/DataListItemActions/index.cjs +0 -45
  258. package/dist/DataList/components/DataListItemActions/index.mjs +0 -38
  259. package/dist/DataList/components/DataListItemActionsOverflow/index.cjs +0 -25
  260. package/dist/DataList/components/DataListItemActionsOverflow/index.mjs +0 -19
  261. package/dist/DataList/components/DataListItems/index.cjs +0 -53
  262. package/dist/DataList/components/DataListItems/index.mjs +0 -47
  263. package/dist/DataList/components/DataListLayout/index.cjs +0 -56
  264. package/dist/DataList/components/DataListLayout/index.mjs +0 -50
  265. package/dist/DataList/components/DataListLayoutActions/DataListLayoutContext/index.cjs +0 -9
  266. package/dist/DataList/components/DataListLayoutActions/DataListLayoutContext/index.mjs +0 -2
  267. package/dist/DataList/components/DataListLayoutActions/index.cjs +0 -33
  268. package/dist/DataList/components/DataListLayoutActions/index.mjs +0 -27
  269. package/dist/DataList/components/DataListLoadMore/index.cjs +0 -21
  270. package/dist/DataList/components/DataListLoadMore/index.mjs +0 -14
  271. package/dist/DataList/components/DataListLoadingState/index.cjs +0 -21
  272. package/dist/DataList/components/DataListLoadingState/index.mjs +0 -13
  273. package/dist/DataList/components/DataListOverflowFade/index.cjs +0 -11
  274. package/dist/DataList/components/DataListOverflowFade/index.mjs +0 -4
  275. package/dist/DataList/components/DataListSearch/index.cjs +0 -33
  276. package/dist/DataList/components/DataListSearch/index.mjs +0 -25
  277. package/dist/DataList/components/DataListStatusBar/index.cjs +0 -32
  278. package/dist/DataList/components/DataListStatusBar/index.mjs +0 -25
  279. package/dist/DataList/components/DataListStickyHeader/index.cjs +0 -11
  280. package/dist/DataList/components/DataListStickyHeader/index.mjs +0 -5
  281. package/dist/DataList/components/DataListTags/index.cjs +0 -12
  282. package/dist/DataList/components/DataListTags/index.mjs +0 -6
  283. package/dist/DataList/components/DataListTotalCount/index.cjs +0 -15
  284. package/dist/DataList/components/DataListTotalCount/index.mjs +0 -8
  285. package/dist/DataList/context/DataListContext/index.cjs +0 -12
  286. package/dist/DataList/context/DataListContext/index.mjs +0 -4
  287. package/dist/DataList/context/DataListLayoutContext/index.cjs +0 -12
  288. package/dist/DataList/context/DataListLayoutContext/index.mjs +0 -4
  289. package/dist/DataList/index.cjs +0 -98
  290. package/dist/DataList/index.mjs +0 -92
  291. package/dist/DataList-BRPBlIVp.js +0 -3
  292. package/dist/DataList-C_diEjjb.js +0 -5
  293. package/dist/DataList-DyUX97mL.js +0 -141
  294. package/dist/DataList-DzXNiSs1.js +0 -139
  295. package/dist/DataList.const-Bqcfo3vs.js +0 -38
  296. package/dist/DataList.const-z084v3KH.js +0 -25
  297. package/dist/DataList.utils-BjG-otvz.js +0 -168
  298. package/dist/DataList.utils-RcG6TvB4.js +0 -161
  299. package/dist/DataListAction-3U8gJcpE.js +0 -37
  300. package/dist/DataListAction-BN0qp_ae.js +0 -39
  301. package/dist/DataListActions-D1r_3WQD.js +0 -43
  302. package/dist/DataListActions-DV-03b5h.js +0 -45
  303. package/dist/DataListActionsMenu-Cg-ZZ0LI.js +0 -55
  304. package/dist/DataListActionsMenu-D9iOGk3i.js +0 -57
  305. package/dist/DataListBulkActions-BEFyOkWd.js +0 -29
  306. package/dist/DataListBulkActions-C2E5e2oE.js +0 -26
  307. package/dist/DataListContext-DTtBXteA.js +0 -25
  308. package/dist/DataListContext-qFN5DiHI.js +0 -29
  309. package/dist/DataListEmptyState-DTsqkHng.js +0 -50
  310. package/dist/DataListEmptyState-DfaWzs71.js +0 -53
  311. package/dist/DataListFilters-35MxtHUo.js +0 -43
  312. package/dist/DataListFilters-BjC9kPSD.js +0 -46
  313. package/dist/DataListHeader-CI-p6m7K.js +0 -93
  314. package/dist/DataListHeader-D5iNjhk1.js +0 -95
  315. package/dist/DataListHeaderTile-DwHOJPOJ.js +0 -81
  316. package/dist/DataListHeaderTile-K_UG9NgG.js +0 -79
  317. package/dist/DataListItem-BpD1kRWd.js +0 -112
  318. package/dist/DataListItem-CK9nQ-II.js +0 -114
  319. package/dist/DataListItemActions-B7Pbbv7U.js +0 -29
  320. package/dist/DataListItemActions-DDdszYpl.js +0 -32
  321. package/dist/DataListItemActionsOverflow-CmBtR4CV.js +0 -33
  322. package/dist/DataListItemActionsOverflow-D83sgU_z.js +0 -35
  323. package/dist/DataListItemClickable-BBVDmF_w.js +0 -45
  324. package/dist/DataListItemClickable-DluGOyKl.js +0 -47
  325. package/dist/DataListItems-DHSJSPeG.js +0 -21
  326. package/dist/DataListItems-hAiXRicl.js +0 -19
  327. package/dist/DataListLayout-CVVR8T7f.js +0 -21
  328. package/dist/DataListLayout-CiKR3P98.js +0 -19
  329. package/dist/DataListLayoutActions-BiR49Hjb.js +0 -36
  330. package/dist/DataListLayoutActions-CUWi8Fxy.js +0 -38
  331. package/dist/DataListLayoutContext-B3szPGTf.js +0 -8
  332. package/dist/DataListLayoutContext-CjAT05BI.js +0 -11
  333. package/dist/DataListLayoutContext-lF5Zk-jV.js +0 -18
  334. package/dist/DataListLayoutContext-p48sRC9i.js +0 -14
  335. package/dist/DataListLoadMore-CixukWAA.js +0 -31
  336. package/dist/DataListLoadMore-Cu32AbMo.js +0 -34
  337. package/dist/DataListLoadingState-CBsAzSFk.js +0 -22
  338. package/dist/DataListLoadingState-DFRSjdMI.js +0 -26
  339. package/dist/DataListOverflowFade-BGAt4dqm.js +0 -25
  340. package/dist/DataListOverflowFade-DU0y9j-T.js +0 -22
  341. package/dist/DataListSearch-C1PpW3kQ.js +0 -59
  342. package/dist/DataListSearch-uEaN0YJ7.js +0 -63
  343. package/dist/DataListSort-BrRFvXG5.js +0 -92
  344. package/dist/DataListSort-Dx6POURf.js +0 -94
  345. package/dist/DataListSortingOptions-BndDkYtw.js +0 -37
  346. package/dist/DataListSortingOptions-wYjmZSp4.js +0 -35
  347. package/dist/DataListStatusBar-B_NpGiAA.js +0 -22
  348. package/dist/DataListStatusBar-VdGpFaWQ.js +0 -25
  349. package/dist/DataListStickyHeader-CScdFohW.js +0 -25
  350. package/dist/DataListStickyHeader-YssmrZlM.js +0 -23
  351. package/dist/DataListTags-B4e8t5VV.js +0 -62
  352. package/dist/DataListTags-xHDVW7r1.js +0 -64
  353. package/dist/DataListTotalCount-FvMJCJV4.js +0 -27
  354. package/dist/DataListTotalCount-TVna906A.js +0 -24
  355. package/dist/DataTable/index.cjs +0 -36
  356. package/dist/DataTable/index.mjs +0 -25
  357. package/dist/DataTable/test-utilities/index.cjs +0 -246
  358. package/dist/DataTable/test-utilities/index.mjs +0 -238
  359. package/dist/DataTable-BhmuLCau.js +0 -236
  360. package/dist/DataTable-DRXABYeP.js +0 -238
  361. package/dist/DatePicker/index.cjs +0 -26
  362. package/dist/DatePicker/index.mjs +0 -20
  363. package/dist/DatePicker-BzXdyAsQ.js +0 -8554
  364. package/dist/DatePicker-CZnbHBrf.js +0 -8551
  365. package/dist/DayOfMonthSelect-GTME6B8V.js +0 -130
  366. package/dist/DayOfMonthSelect-Rxeaskdx.js +0 -137
  367. package/dist/DescriptionList/index.cjs +0 -10
  368. package/dist/DescriptionList/index.mjs +0 -4
  369. package/dist/DescriptionList-CMHhotQz.js +0 -12
  370. package/dist/DescriptionList-D4V2AGoH.js +0 -14
  371. package/dist/Disclosure/index.cjs +0 -17
  372. package/dist/Disclosure/index.mjs +0 -11
  373. package/dist/Disclosure-B_Ndy93n.js +0 -33
  374. package/dist/Disclosure-iwknokMb.js +0 -35
  375. package/dist/Divider/index.cjs +0 -9
  376. package/dist/Divider/index.mjs +0 -3
  377. package/dist/Divider-CQwVNie1.js +0 -17
  378. package/dist/Divider-aDM-8IiX.js +0 -19
  379. package/dist/Drawer/index.cjs +0 -19
  380. package/dist/Drawer/index.mjs +0 -12
  381. package/dist/DrawerGrid-Cy6jFIEj.js +0 -28
  382. package/dist/DrawerGrid-D-xjQAGo.js +0 -31
  383. package/dist/Emphasis/index.cjs +0 -10
  384. package/dist/Emphasis/index.mjs +0 -4
  385. package/dist/Emphasis-DIJAlzt-.js +0 -13
  386. package/dist/Emphasis-ZgoNe2R5.js +0 -15
  387. package/dist/FeatureSwitch/index.cjs +0 -26
  388. package/dist/FeatureSwitch/index.mjs +0 -20
  389. package/dist/FeatureSwitch-BKO31OVK.js +0 -52
  390. package/dist/FeatureSwitch-C4S0awPY.js +0 -54
  391. package/dist/Flex/index.cjs +0 -9
  392. package/dist/Flex/index.mjs +0 -3
  393. package/dist/Flex-Bfl-vL64.js +0 -28
  394. package/dist/Flex-Dh0WNozY.js +0 -30
  395. package/dist/Form/index.cjs +0 -10
  396. package/dist/Form/index.mjs +0 -4
  397. package/dist/Form-fdEPa2Di.js +0 -48
  398. package/dist/FormField/index.cjs +0 -20
  399. package/dist/FormField/index.mjs +0 -14
  400. package/dist/FormField-DY5JDjdc.js +0 -261
  401. package/dist/FormField-RMjW742D.js +0 -263
  402. package/dist/FormatDate/index.mjs +0 -2
  403. package/dist/FormatDate-YUbeta27.js +0 -27
  404. package/dist/FormatEmail/index.cjs +0 -9
  405. package/dist/FormatEmail/index.mjs +0 -3
  406. package/dist/FormatEmail-B7cAlIQY.js +0 -11
  407. package/dist/FormatEmail-DJLlhpQr.js +0 -13
  408. package/dist/FormatFile/index.cjs +0 -36
  409. package/dist/FormatFile/index.mjs +0 -30
  410. package/dist/FormatFile-BAZqq1p8.js +0 -149
  411. package/dist/FormatFile-CRPcqK86.js +0 -147
  412. package/dist/FormatRelativeDateTime/index.cjs +0 -8
  413. package/dist/FormatRelativeDateTime/index.mjs +0 -2
  414. package/dist/FormatRelativeDateTime-Ca1DyZ7Z.js +0 -64
  415. package/dist/FormatTime/index.cjs +0 -8
  416. package/dist/FormatTime/index.mjs +0 -2
  417. package/dist/FormatTime-DcIV5E6n.js +0 -29
  418. package/dist/Gallery/index.cjs +0 -42
  419. package/dist/Gallery/index.mjs +0 -36
  420. package/dist/Gallery-D9AVJQTM.js +0 -65
  421. package/dist/Gallery-Duiow0xg.js +0 -63
  422. package/dist/Glimmer/index.cjs +0 -12
  423. package/dist/Glimmer/index.mjs +0 -5
  424. package/dist/Glimmer-CG9tFCHs.js +0 -63
  425. package/dist/Glimmer-IWgpoHGI.js +0 -60
  426. package/dist/Grid/InternalGridCell/index.cjs +0 -9
  427. package/dist/Grid/InternalGridCell/index.mjs +0 -2
  428. package/dist/Grid/index.cjs +0 -14
  429. package/dist/Grid/index.mjs +0 -7
  430. package/dist/Grid-DzRYkCwi.js +0 -29
  431. package/dist/Grid-VQ3fN1ko.js +0 -32
  432. package/dist/Heading/index.cjs +0 -12
  433. package/dist/Heading/index.mjs +0 -6
  434. package/dist/Heading-D_ylbFzI.js +0 -49
  435. package/dist/Icon/index.cjs +0 -9
  436. package/dist/Icon/index.mjs +0 -3
  437. package/dist/Icon-C05AQvkv.js +0 -36
  438. package/dist/Icon-Dic5myD3.js +0 -34
  439. package/dist/InlineLabel/index.cjs +0 -10
  440. package/dist/InlineLabel/index.mjs +0 -4
  441. package/dist/InlineLabel-A3tenwf6.js +0 -20
  442. package/dist/InlineLabel-BLt0Q3bb.js +0 -18
  443. package/dist/InputAvatar/index.cjs +0 -26
  444. package/dist/InputAvatar/index.mjs +0 -20
  445. package/dist/InputAvatar-BdLo0JDy.js +0 -49
  446. package/dist/InputAvatar-Dqd68eBU.js +0 -47
  447. package/dist/InputDate/index.cjs +0 -34
  448. package/dist/InputDate/index.mjs +0 -28
  449. package/dist/InputDate-CEk7YABR.js +0 -48
  450. package/dist/InputEmail/index.cjs +0 -22
  451. package/dist/InputEmail/index.mjs +0 -15
  452. package/dist/InputEmail-C-EyDCxm.js +0 -20
  453. package/dist/InputEmail-wUgCu5JW.js +0 -23
  454. package/dist/InputFile/index.cjs +0 -23
  455. package/dist/InputFile/index.mjs +0 -16
  456. package/dist/InputFile-B4DD55KU.js +0 -1608
  457. package/dist/InputFile-D5DGGfOB.js +0 -1611
  458. package/dist/InputGroup/index.cjs +0 -9
  459. package/dist/InputGroup/index.mjs +0 -3
  460. package/dist/InputGroup-DeQx7ud8.js +0 -25
  461. package/dist/InputGroup-hh3QBfdL.js +0 -23
  462. package/dist/InputNumber/index.cjs +0 -21
  463. package/dist/InputNumber/index.mjs +0 -15
  464. package/dist/InputNumber-BveQrPyO.js +0 -56
  465. package/dist/InputPassword/index.cjs +0 -21
  466. package/dist/InputPassword/index.mjs +0 -15
  467. package/dist/InputPassword-C8V7VR78.js +0 -21
  468. package/dist/InputPassword-Dw7Go90j.js +0 -19
  469. package/dist/InputPhoneNumber/index.cjs +0 -21
  470. package/dist/InputPhoneNumber/index.mjs +0 -15
  471. package/dist/InputPhoneNumber-DVscxVqU.js +0 -94
  472. package/dist/InputText/index.cjs +0 -22
  473. package/dist/InputText/index.mjs +0 -16
  474. package/dist/InputText-COr1oIHK.js +0 -96
  475. package/dist/InputTime/index.cjs +0 -26
  476. package/dist/InputTime/index.mjs +0 -20
  477. package/dist/InputTime-_Oc4Hp9L.js +0 -190
  478. package/dist/InputValidation/index.cjs +0 -14
  479. package/dist/InputValidation/index.mjs +0 -8
  480. package/dist/InputValidation-BiJTp0aC.js +0 -22
  481. package/dist/InputValidation-CCkTBcxQ.js +0 -20
  482. package/dist/InternalChipDismissible-D8UrPjJC.js +0 -152
  483. package/dist/InternalChipDismissible-DUluzwH6.js +0 -157
  484. package/dist/InternalGridCell-Bi4IFFO8.js +0 -37
  485. package/dist/InternalGridCell-CE9IQZwO.js +0 -34
  486. package/dist/LightBox/index.cjs +0 -26
  487. package/dist/LightBox/index.mjs +0 -20
  488. package/dist/LightBox-CIWrYTaA.js +0 -110
  489. package/dist/LightBox-D-gmMO7L.js +0 -112
  490. package/dist/Link/index.cjs +0 -8
  491. package/dist/Link/index.mjs +0 -2
  492. package/dist/Link-_423xhjb.js +0 -7
  493. package/dist/Link-j486eamd.js +0 -9
  494. package/dist/List/index.cjs +0 -29
  495. package/dist/List/index.mjs +0 -22
  496. package/dist/List-BcQDY2Rj.js +0 -186
  497. package/dist/List-Dgwp7JmK.js +0 -189
  498. package/dist/Markdown/index.cjs +0 -19
  499. package/dist/Markdown/index.mjs +0 -13
  500. package/dist/Markdown-BfxzpIEM.js +0 -19011
  501. package/dist/Markdown-BhG7kPFl.js +0 -19013
  502. package/dist/Menu/index.cjs +0 -18
  503. package/dist/Menu/index.mjs +0 -12
  504. package/dist/Menu-CuPp5MtV.js +0 -129
  505. package/dist/Menu-DNImsnBT.js +0 -131
  506. package/dist/Modal/index.cjs +0 -23
  507. package/dist/Modal/index.mjs +0 -17
  508. package/dist/Modal-Cgz6UlsK.js +0 -62
  509. package/dist/Modal-DQHFlXp5.js +0 -60
  510. package/dist/MultiSelect/index.cjs +0 -16
  511. package/dist/MultiSelect/index.mjs +0 -10
  512. package/dist/MultiSelect-BxtKPK3-.js +0 -166
  513. package/dist/MultiSelect-DFR0vsTw.js +0 -164
  514. package/dist/Option-C87IriRr.js +0 -12
  515. package/dist/Option-X8lh2w6I.js +0 -15
  516. package/dist/Page/index.cjs +0 -32
  517. package/dist/Page/index.mjs +0 -26
  518. package/dist/Page-BgG3_7DX.js +0 -56
  519. package/dist/Page-BowBp8rI.js +0 -58
  520. package/dist/Popover/index.cjs +0 -17
  521. package/dist/Popover/index.mjs +0 -11
  522. package/dist/Popover-BwG9WBGX.js +0 -50
  523. package/dist/Popover-o9pOjTMP.js +0 -48
  524. package/dist/ProgressBar/index.cjs +0 -9
  525. package/dist/ProgressBar/index.mjs +0 -3
  526. package/dist/ProgressBar-CUTebo_k.js +0 -33
  527. package/dist/ProgressBar-OBLHnKRF.js +0 -31
  528. package/dist/RadioGroup/index.cjs +0 -12
  529. package/dist/RadioGroup/index.mjs +0 -5
  530. package/dist/RadioGroup-CxguJ9E7.js +0 -39
  531. package/dist/RadioGroup-Dt9_WguN.js +0 -36
  532. package/dist/RecurringSelect/components/index.cjs +0 -15
  533. package/dist/RecurringSelect/components/index.mjs +0 -6
  534. package/dist/RecurringSelect/index.cjs +0 -35
  535. package/dist/RecurringSelect/index.mjs +0 -21
  536. package/dist/RecurringSelect-BB2D2awE.js +0 -69
  537. package/dist/RecurringSelect-Dqle4F6a.js +0 -71
  538. package/dist/Select/index.cjs +0 -22
  539. package/dist/Select/index.mjs +0 -15
  540. package/dist/Spinner/index.cjs +0 -9
  541. package/dist/Spinner/index.mjs +0 -3
  542. package/dist/Spinner-CjTb3xIl.js +0 -16
  543. package/dist/Spinner-DGO8_Jsa.js +0 -14
  544. package/dist/StatusIndicator/index.cjs +0 -8
  545. package/dist/StatusIndicator/index.mjs +0 -2
  546. package/dist/StatusIndicator-CNH13isn.js +0 -11
  547. package/dist/StatusIndicator-DaWtSIUm.js +0 -9
  548. package/dist/StatusLabel/index.cjs +0 -11
  549. package/dist/StatusLabel/index.mjs +0 -5
  550. package/dist/StatusLabel-DuJzG65D.js +0 -18
  551. package/dist/StatusLabel-YebFZkcB.js +0 -16
  552. package/dist/Switch/index.cjs +0 -10
  553. package/dist/Switch/index.mjs +0 -4
  554. package/dist/Switch-CUBASre6.js +0 -46
  555. package/dist/Switch-KKEqlvTp.js +0 -48
  556. package/dist/Table/index.cjs +0 -17
  557. package/dist/Table/index.mjs +0 -4
  558. package/dist/Tabs/index.cjs +0 -11
  559. package/dist/Tabs/index.mjs +0 -4
  560. package/dist/Tabs-AoDyVJHh.js +0 -70
  561. package/dist/Tabs-CmCuGGLm.js +0 -67
  562. package/dist/Text/index.cjs +0 -10
  563. package/dist/Text/index.mjs +0 -4
  564. package/dist/Text-CfxmOdM-.js +0 -25
  565. package/dist/Toast/index.cjs +0 -16
  566. package/dist/Toast/index.mjs +0 -10
  567. package/dist/Tooltip/index.cjs +0 -14
  568. package/dist/Tooltip/index.mjs +0 -8
  569. package/dist/Tooltip-BrnUcSMD.js +0 -103
  570. package/dist/Tooltip-PbQMMMXT.js +0 -105
  571. package/dist/Typography/index.cjs +0 -9
  572. package/dist/Typography/index.mjs +0 -3
  573. package/dist/Typography-BiJhpsiL.js +0 -38
  574. package/dist/Typography-DscVWtp8.js +0 -36
  575. package/dist/_baseAssignValue-Byqm0l-g.js +0 -29
  576. package/dist/_baseAssignValue-ph7A7Tyf.js +0 -31
  577. package/dist/_baseEach-2sgXrDWN.js +0 -1073
  578. package/dist/_baseEach-DbUzYrtE.js +0 -1069
  579. package/dist/_commonjsHelpers-BHq9dk6I.js +0 -36
  580. package/dist/_commonjsHelpers-Dw5gAsMR.js +0 -32
  581. package/dist/_defineProperty-PEG-eSOB.js +0 -1326
  582. package/dist/_defineProperty-fDNRMxz-.js +0 -1306
  583. package/dist/_getTag-BBi2mXSK.js +0 -718
  584. package/dist/_getTag-CtczKdF2.js +0 -733
  585. package/dist/_polyfill-node.process-7AsFqJce.js +0 -258
  586. package/dist/_polyfill-node.process-B3Zw2Wh0.js +0 -255
  587. package/dist/_setToString-BEt-Msu3.js +0 -230
  588. package/dist/_setToString-BXD3rooF.js +0 -234
  589. package/dist/debounce-DHeCta_M.js +0 -329
  590. package/dist/debounce-DtVkjvKH.js +0 -332
  591. package/dist/helpers-BX_7EKw7.js +0 -15
  592. package/dist/helpers-BpmnB4Qy.js +0 -17
  593. package/dist/index-BE4KkyL_.js +0 -1186
  594. package/dist/index-dKBcvdAq.js +0 -1189
  595. package/dist/index.cjs +0 -275
  596. package/dist/index.d.mts +0 -74
  597. package/dist/index.d.ts +0 -74
  598. package/dist/index.mjs +0 -162
  599. package/dist/isObjectLike-53d8VfgU.js +0 -190
  600. package/dist/isObjectLike-zrq0mtNG.js +0 -197
  601. package/dist/isSymbol-B7o505jx.js +0 -35
  602. package/dist/isSymbol-Co3-vUC1.js +0 -33
  603. package/dist/noop-B8ZS2J9q.js +0 -24
  604. package/dist/noop-mF8IIYWw.js +0 -26
  605. package/dist/showToast-C4Fxtv_O.js +0 -97
  606. package/dist/showToast-Ckq11MSy.js +0 -99
  607. package/dist/styles.css +0 -8762
  608. package/dist/tslib.es6-5nrZ19JS.js +0 -97
  609. package/dist/tslib.es6-BBH1pS30.js +0 -102
  610. package/dist/useActiveLayout-BSipZn9t.js +0 -16
  611. package/dist/useActiveLayout-BqE7ZQY7.js +0 -14
  612. package/dist/useAssert-BTe43jaI.js +0 -27
  613. package/dist/useAssert-CSmf3rDf.js +0 -27
  614. package/dist/useAtlantisConfig-DC3Ppo_R.js +0 -14
  615. package/dist/useBatchSelect-KPnTra4u.js +0 -36
  616. package/dist/useBatchSelect-rQ55uZ7U.js +0 -38
  617. package/dist/useChildComponent-CwlKwCml.js +0 -15
  618. package/dist/useChildComponent-D7PbyArU.js +0 -17
  619. package/dist/useFocusTrap-B-xOQ79p.js +0 -74
  620. package/dist/useFocusTrap-D0gOZaSx.js +0 -74
  621. package/dist/useInView-CjeNEvX0.js +0 -25
  622. package/dist/useInView-DGjydyXL.js +0 -25
  623. package/dist/useIsMounted-BxDu0lnY.js +0 -47
  624. package/dist/useIsMounted-DfJrPzyU.js +0 -47
  625. package/dist/useOnKeyDown-07RktdgP.js +0 -40
  626. package/dist/useOnKeyDown-W2x-4HSi.js +0 -40
  627. package/dist/useRefocusOnActivator-BAub7L-i.js +0 -32
  628. package/dist/useRefocusOnActivator-BnM3unqN.js +0 -32
  629. package/dist/useResizeObserver-B4Vfml7U.js +0 -1192
  630. package/dist/useResizeObserver-DzMx2b66.js +0 -1189
  631. package/dist/useResponsiveSizing-DB6K2Viw.js +0 -51
  632. package/dist/useResponsiveSizing-DVb-nBuX.js +0 -49
  633. package/dist/useSafeLayoutEffect-BW_VIS6-.js +0 -12
  634. package/dist/useSafeLayoutEffect-juh5vdFE.js +0 -14
  635. package/dist/useScrollToActive-CQdgd_Dw.js +0 -591
  636. package/dist/useScrollToActive-DP9nvfrv.js +0 -597
  637. /package/{.eslintrc.cjs → .eslintrc.js} +0 -0
  638. /package/dist/{AtlantisContext-AiJSmYGH.js → AtlantisContext-64608897.js} +0 -0
@@ -0,0 +1,525 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var classnames = require('classnames');
7
+ var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
8
+ var useAssert = require('@jobber/hooks/useAssert');
9
+ var Icon = require('../Icon-405a216c.js');
10
+ var Avatar = require('../Avatar-76a799fa.js');
11
+ var Typography = require('../Typography-e2a23b7e.js');
12
+ var Tooltip = require('../Tooltip-b9de6e57.js');
13
+ var sortBy = require('lodash/sortBy');
14
+ var useLiveAnnounce = require('@jobber/hooks/useLiveAnnounce');
15
+ var debounce = require('lodash/debounce');
16
+ require('@jobber/design');
17
+ var reactPopper = require('react-popper');
18
+ var Text = require('../Text-fbeaaca6.js');
19
+ var Button = require('../Button-6b922fc1.js');
20
+ var Spinner = require('../Spinner-9d8fc7ff.js');
21
+ require('color');
22
+ require('react-dom');
23
+ require('framer-motion');
24
+ require('@jobber/hooks/useSafeLayoutEffect');
25
+ require('@jobber/hooks/useIsMounted');
26
+ require('react-router-dom');
27
+
28
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
29
+
30
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
31
+ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
32
+ var sortBy__default = /*#__PURE__*/_interopDefaultLegacy(sortBy);
33
+ var debounce__default = /*#__PURE__*/_interopDefaultLegacy(debounce);
34
+
35
+ var css_248z$1 = "/**\n * Used in the wrapping chips component:\n * - InternalChipSingleSelect\n * - InternalChipMultiSelect\n */\n\n.zn6onyiQVmA- {\n display: -ms-flexbox;\n display: flex;\n gap: calc(16px / 2);\n gap: var(--space-small);\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.PEnZzMEgbhU- {\n display: inline-grid;\n position: relative;\n max-width: 100%;\n box-sizing: border-box;\n padding: calc(16px / 2);\n padding: var(--space-small);\n border: calc(16px / 16) solid rgb(217, 223, 225);\n border: var(--border-base) solid var(--color-border);\n border-radius: calc(16px / 2);\n border-radius: var(--radius-larger);\n color: rgb(77, 105, 116);\n color: var(--color-text--secondary);\n text-align: left;\n vertical-align: middle;\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n transition: 200ms ease-in-out;\n transition: var(--timing-base) ease-in-out;\n transition-property: background-color, box-shadow, color;\n grid-template-columns: -webkit-max-content;\n grid-template-columns: max-content;\n -ms-flex-align: center;\n align-items: center;\n gap: calc(16px / 2);\n gap: var(--space-small);\n}\n\n.dtysUhwYdG4-,\n.xGaMCAYsdwA- {\n padding: calc((16px / 4) + (16px / 8)) calc(16px / 2);\n padding: calc(calc(16px / 4) + calc(16px / 8)) calc(16px / 2);\n padding: calc(var(--space-smaller) + var(--space-smallest)) var(--space-small);\n}\n\n.dtysUhwYdG4- {\n grid-template-columns: -webkit-min-content 1fr;\n grid-template-columns: min-content 1fr;\n}\n\n.xGaMCAYsdwA- {\n grid-template-columns: 1fr -webkit-min-content;\n grid-template-columns: 1fr min-content;\n}\n\n.dtysUhwYdG4-.xGaMCAYsdwA- {\n grid-template-columns: -webkit-min-content 1fr -webkit-min-content;\n grid-template-columns: min-content 1fr min-content;\n}\n\n.SNT7gGV-h-o-,\n.W4D98cvEth4- ~ .PEnZzMEgbhU- {\n box-shadow: 0px calc(16px / 16) calc(16px / 4) 0px\n rgba(0, 0, 0, 0.1),\n 0px calc(16px / 4) 12px 0px rgba(0, 0, 0, 0.05);\n box-shadow: var(--shadow-base);\n cursor: pointer;\n -webkit-appearance: none;\n appearance: none;\n}\n\n/**\n * Interaction\n */\n\n.PEnZzMEgbhU-:focus,\n.W4D98cvEth4-:focus ~ .PEnZzMEgbhU- {\n box-shadow: 0px 0px 0px calc(16px / 8) rgba(255, 255, 255, 1),\n 0px 0px 0px calc(16px / 4) rgb(147, 161, 169);\n box-shadow: var(--shadow-focus);\n outline: none;\n}\n\n.SNT7gGV-h-o-:hover,\n.W4D98cvEth4- ~ .PEnZzMEgbhU-:not(._0hEzaTXK9M0-):hover,\n.W4D98cvEth4-:focus ~ .PEnZzMEgbhU-:not(._0hEzaTXK9M0-) {\n background-color: rgb(244, 246, 250);\n background-color: var(--color-surface--hover);\n}\n\n/**\n * States\n */\n\n.PEnZzMEgbhU-._0hEzaTXK9M0- {\n border-color: rgb(1, 41, 57);\n border-color: var(--color-surface--reverse);\n color: rgba(255, 255, 255, 1);\n color: var(--color-text--reverse);\n background-color: rgb(1, 41, 57);\n background-color: var(--color-surface--reverse);\n}\n\n.PEnZzMEgbhU-.JApS2787BU8- {\n border-color: rgb(128, 25, 0);\n border-color: var(--color-critical--onSurface);\n color: rgb(128, 25, 0);\n color: var(--color-critical--onSurface);\n background-color: rgb(255, 226, 219);\n background-color: var(--color-critical--surface);\n}\n\n.PEnZzMEgbhU-.Kg0c8WVgMpg- {\n border-color: rgb(225, 225, 225);\n border-color: var(--color-disabled--secondary);\n color: rgb(181, 181, 181);\n color: var(--color-disabled);\n background-color: rgb(225, 225, 225);\n background-color: var(--color-disabled--secondary);\n}\n\n._0hEzaTXK9M0-.Kg0c8WVgMpg- {\n border-color: rgb(181, 181, 181);\n border-color: var(--color-disabled);\n color: rgba(255, 255, 255, 1);\n color: var(--color-white);\n background-color: rgb(181, 181, 181);\n background-color: var(--color-disabled);\n}\n\n.JApS2787BU8-.Kg0c8WVgMpg- {\n border-color: rgb(201, 66, 33);\n border-color: var(--color-critical);\n}\n\n/**\n * Input checkbox/radio\n *\n * Hide checkbox on UI but not screen readers and still allow focus state\n */\n\n.W4D98cvEth4- {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(100%);\n clip-path: inset(100%);\n white-space: nowrap;\n}\n\n/**\n * Button\n */\n\n._0-ZWexS4Gfg- {\n display: -ms-flexbox;\n display: flex;\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n cursor: pointer;\n transition: background-color 200ms ease;\n}\n\n._0-ZWexS4Gfg-:hover,\n._0-ZWexS4Gfg-:focus {\n background-color: rgb(244, 246, 250);\n background-color: var(--color-surface--hover);\n}\n\n._0-ZWexS4Gfg-:focus,\n.SNT7gGV-h-o- ._0-ZWexS4Gfg-:hover {\n box-shadow: 0px 0px 0px calc(16px / 8) rgba(255, 255, 255, 1),\n 0px 0px 0px calc(16px / 4) rgb(147, 161, 169);\n box-shadow: var(--shadow-focus);\n outline: none;\n}\n\n/**\n * Override icon default colors.\n *\n * NOTE: This is a workaround since some icons have default colors that we don't\n * want to override until the component color prop overrides it.\n * DO NOT COPY!\n */\n\n.DQPnZP4UZpw- > svg {\n fill: rgba(101, 120, 132, 1);\n fill: var(--color-interactive--subtle);\n}\n\n.DQPnZP4UZpw- {\n display: -ms-flexbox;\n display: flex;\n}\n";
36
+ var styles$1 = {"wrapper":"zn6onyiQVmA-","chip":"PEnZzMEgbhU-","hasPrefix":"dtysUhwYdG4-","hasSuffix":"xGaMCAYsdwA-","clickable":"SNT7gGV-h-o-","input":"W4D98cvEth4-","active":"_0hEzaTXK9M0-","invalid":"JApS2787BU8-","disabled":"Kg0c8WVgMpg-","button":"_0-ZWexS4Gfg-","icon":"DQPnZP4UZpw-"};
37
+ styleInject_es.styleInject(css_248z$1);
38
+
39
+ function InternalChipButton({ icon, invalid, disabled, label, onClick, }) {
40
+ const buttonRef = React.useRef();
41
+ return (React__default["default"].createElement("div", { ref: buttonRef, className: styles$1.button, tabIndex: 0, onKeyUp: handleKeyUp, onKeyDown: handleKeyDown, onClick: handleClick, role: "button", "aria-label": `Remove ${label}`, "aria-hidden": true, "aria-disabled": disabled, "data-testid": "remove-chip-button" },
42
+ React__default["default"].createElement(Icon.Icon, { name: icon, color: getColor() })));
43
+ function handleKeyUp(event) {
44
+ if (document.activeElement === buttonRef.current &&
45
+ (event.key === " " || event.key === "Enter")) {
46
+ event.stopPropagation();
47
+ buttonRef.current.click();
48
+ }
49
+ }
50
+ function handleKeyDown(event) {
51
+ if (document.activeElement === buttonRef.current && event.key === " ") {
52
+ // Don't scroll down
53
+ event.preventDefault();
54
+ }
55
+ }
56
+ function getColor() {
57
+ if (disabled)
58
+ return "disabled";
59
+ if (invalid)
60
+ return "critical";
61
+ return "greyBlue";
62
+ }
63
+ function handleClick(event) {
64
+ event.stopPropagation();
65
+ onClick === null || onClick === void 0 ? void 0 : onClick(event);
66
+ }
67
+ }
68
+
69
+ function InternalChipAffix({ affix, active, invalid, disabled, }) {
70
+ assertProps();
71
+ if ((affix === null || affix === void 0 ? void 0 : affix.type) === Avatar.Avatar) {
72
+ return React__default["default"].createElement(Avatar.Avatar, Object.assign({}, affix.props, { size: "small" }));
73
+ }
74
+ if ((affix === null || affix === void 0 ? void 0 : affix.type) === Icon.Icon) {
75
+ return renderChipIcon(affix);
76
+ }
77
+ if ((affix === null || affix === void 0 ? void 0 : affix.type) === InternalChipButton) {
78
+ return React__default["default"].createElement(InternalChipButton, Object.assign({}, affix.props));
79
+ }
80
+ return React__default["default"].createElement(React__default["default"].Fragment, null);
81
+ function renderChipIcon(icon) {
82
+ const color = getIconColor();
83
+ return (React__default["default"].createElement("div", { className: styles$1.icon }, React__default["default"].cloneElement(icon, Object.assign({ size: "base" }, (color && { color: color })))));
84
+ }
85
+ function getIconColor() {
86
+ if (disabled && !active)
87
+ return "disabled";
88
+ if (invalid && !disabled)
89
+ return "critical";
90
+ if (active)
91
+ return "white";
92
+ return;
93
+ }
94
+ function assertProps() {
95
+ const isAvatar = (affix === null || affix === void 0 ? void 0 : affix.type) === Avatar.Avatar || false;
96
+ const isIcon = (affix === null || affix === void 0 ? void 0 : affix.type) === Icon.Icon || false;
97
+ const isChipButton = (affix === null || affix === void 0 ? void 0 : affix.type) === InternalChipButton || false;
98
+ useAssert.useAssert(!!affix && !(isAvatar || isIcon || isChipButton), `Prefix prop only accepts "<Avatar />" or "<Icon />" component. You have "${affix === null || affix === void 0 ? void 0 : affix.type}".`);
99
+ }
100
+ }
101
+
102
+ function InternalChip({ label, active = false, disabled = false, invalid = false, prefix, suffix, tabIndex, ariaLabel, onClick, onKeyDown, }) {
103
+ const [truncateRef, setTruncateRef] = React.useState();
104
+ const isClickable = onClick && !disabled;
105
+ const classNames = classnames__default["default"](styles$1.chip, {
106
+ [styles$1.clickable]: isClickable,
107
+ [styles$1.active]: active,
108
+ [styles$1.disabled]: disabled,
109
+ [styles$1.invalid]: invalid,
110
+ [styles$1.hasPrefix]: prefix,
111
+ [styles$1.hasSuffix]: suffix,
112
+ });
113
+ const affixProps = { active, invalid, disabled };
114
+ const Tag = onClick ? "button" : "div";
115
+ const chip = (React__default["default"].createElement(Tag, Object.assign({ className: classNames }, (isClickable && { onClick, disabled }), { onKeyDown: onKeyDown, "data-testid": "chip-wrapper", "aria-label": ariaLabel, tabIndex: tabIndex, role: tabIndex !== undefined ? "option" : undefined }),
116
+ React__default["default"].createElement(InternalChipAffix, Object.assign({ affix: prefix }, affixProps)),
117
+ React__default["default"].createElement(Typography.Typography, { element: "span", numberOfLines: 1, size: "base" },
118
+ React__default["default"].createElement("span", { ref: setTruncateRef }, label)),
119
+ React__default["default"].createElement(InternalChipAffix, Object.assign({ affix: suffix }, affixProps))));
120
+ return isTruncated() ? React__default["default"].createElement(Tooltip.Tooltip, { message: label }, chip) : chip;
121
+ function isTruncated() {
122
+ var _a;
123
+ const truncateParentHeight = ((_a = truncateRef === null || truncateRef === void 0 ? void 0 : truncateRef.parentElement) === null || _a === void 0 ? void 0 : _a.offsetHeight) || 0;
124
+ const truncateChildHeight = (truncateRef === null || truncateRef === void 0 ? void 0 : truncateRef.offsetHeight) || 0;
125
+ return truncateChildHeight >= truncateParentHeight * 2;
126
+ }
127
+ }
128
+
129
+ function ChipDismissible({ label, disabled, invalid, prefix, onClick, onRequestRemove, }) {
130
+ return (React__default["default"].createElement(InternalChip, { label: label, disabled: disabled, invalid: invalid, prefix: prefix, onClick: onClick, suffix: React__default["default"].createElement(InternalChipButton, { icon: "remove", label: label, invalid: invalid, disabled: disabled, onClick: onRequestRemove }) }));
131
+ }
132
+
133
+ function InternalChipSingleSelect({ children, selected, name = React.useId(), onChange, onClick, }) {
134
+ return (React__default["default"].createElement("div", { className: styles$1.wrapper, "data-testid": "singleselect-chips" }, React__default["default"].Children.map(children, child => {
135
+ const isSelected = child.props.value === selected;
136
+ return (React__default["default"].createElement("label", null,
137
+ React__default["default"].createElement("input", { type: "radio", checked: isSelected, className: styles$1.input, name: name, onClick: handleClick(child.props.value), onKeyUp: handleKeyUp(isSelected, child.props.value), onChange: () => {
138
+ /* No op. onClick handles the change to allow deselecting. */
139
+ }, disabled: child.props.disabled }),
140
+ React__default["default"].createElement(InternalChip, Object.assign({}, child.props, { active: isSelected }))));
141
+ })));
142
+ function handleKeyUp(active, value) {
143
+ if (!active)
144
+ return;
145
+ return (event) => {
146
+ if (event.key === " ") {
147
+ // Wait for DOM changes before applying the new change.
148
+ setTimeout(() => handleChange(value), 0);
149
+ }
150
+ };
151
+ }
152
+ function handleClick(value) {
153
+ return (event) => {
154
+ onClick === null || onClick === void 0 ? void 0 : onClick(event, value);
155
+ handleChange(value);
156
+ };
157
+ }
158
+ function handleChange(value) {
159
+ const newValue = value !== selected ? value : undefined;
160
+ onChange(newValue);
161
+ }
162
+ }
163
+
164
+ function InternalChipMultiSelect({ children, selected, onChange, onClick, }) {
165
+ return (React__default["default"].createElement("div", { className: styles$1.wrapper, "data-testid": "multiselect-chips" }, React__default["default"].Children.map(children, chip => {
166
+ const isChipActive = isChipSelected(chip.props.value);
167
+ return (React__default["default"].createElement("label", null,
168
+ React__default["default"].createElement("input", { type: "checkbox", checked: isChipActive, className: styles$1.input, onClick: handleClick(chip.props.value), onChange: handleChange(chip.props.value), disabled: chip.props.disabled }),
169
+ React__default["default"].createElement(InternalChip, Object.assign({}, chip.props, { active: isChipActive, suffix: checkmarkIcon(isChipActive) }))));
170
+ })));
171
+ function isChipSelected(value) {
172
+ return selected.includes(value);
173
+ }
174
+ function handleClick(value) {
175
+ return (event) => onClick === null || onClick === void 0 ? void 0 : onClick(event, value);
176
+ }
177
+ function handleChange(value) {
178
+ return () => {
179
+ if (isChipSelected(value)) {
180
+ handleDeselect(value);
181
+ }
182
+ else {
183
+ handleSelect(value);
184
+ }
185
+ };
186
+ }
187
+ function handleSelect(value) {
188
+ const newVal = [...selected, value];
189
+ onChange(newVal);
190
+ }
191
+ function handleDeselect(value) {
192
+ const values = selected;
193
+ const newVal = values.filter(val => val !== value);
194
+ onChange(newVal);
195
+ }
196
+ function checkmarkIcon(show) {
197
+ // Ideally, we should be returning a fragment `<></>` when a function
198
+ // returns a component / element. However, this one needs to return nothing
199
+ // to prevent it from randomly rendering a suffix.
200
+ //
201
+ // DO NOT COPY!
202
+ if (!show)
203
+ return;
204
+ return React__default["default"].createElement(Icon.Icon, { name: "checkmark" });
205
+ }
206
+ }
207
+
208
+ var css_248z = ".sCNIjluCskc- {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n box-sizing: border-box;\n border: calc(16px / 16) solid transparent;\n border: var(--border-base) solid transparent;\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n transition: all 200ms;\n transition: all var(--timing-base);\n gap: calc(16px / 2);\n gap: var(--space-small);\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.MFUlz1WQLdk- {\n -ms-flex: 1;\n flex: 1;\n min-width: 120px;\n padding: calc(16px / 2) 0;\n padding: var(--space-small) 0;\n border: none;\n border-radius: 0;\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n font-size: calc(calc(16px * 1) * 0.875);\n font-size: var(--typography--fontSize-base);\n line-height: 1.25;\n line-height: var(--typography--lineHeight-base);\n background: transparent;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.MFUlz1WQLdk-:focus {\n outline: none;\n}\n\n.V9eYJdjPAeY- {\n position: relative;\n z-index: 6;\n z-index: var(--elevation-menu);\n width: 100%;\n}\n\n.LdytkOeCU9c- {\n max-height: 320px;\n box-shadow: 0px calc(16px / 16) calc(16px / 4) 0px\n rgba(0, 0, 0, 0.1),\n 0px calc(16px / 4) 12px 0px rgba(0, 0, 0, 0.05);\n box-shadow: var(--shadow-base);\n padding: calc(16px / 2) 0;\n padding: var(--space-small) 0;\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n overflow-y: scroll;\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n}\n\n.y7Cz2u8BuNE-,\n._-7bmao8Q9As- {\n display: -ms-flexbox;\n display: flex;\n width: 100%;\n padding: calc(16px / 2);\n padding: var(--space-small);\n border: none;\n background-color: transparent;\n cursor: pointer;\n -webkit-appearance: none;\n appearance: none;\n -ms-flex-align: center;\n align-items: center;\n gap: calc(16px / 2);\n gap: var(--space-small);\n}\n\n.y7Cz2u8BuNE-:focus {\n box-shadow: 0px 0px 0px calc(16px / 8) rgba(255, 255, 255, 1),\n 0px 0px 0px calc(16px / 4) rgb(147, 161, 169);\n box-shadow: var(--shadow-focus);\n}\n\n.y7Cz2u8BuNE-:focus,\n.iCwWdcmtInc- {\n outline: none;\n background-color: rgb(244, 246, 250);\n background-color: var(--color-surface--hover);\n}\n\n._-7bmao8Q9As- {\n -ms-flex-pack: center;\n justify-content: center;\n}\n";
209
+ var styles = {"wrapper":"sCNIjluCskc-","input":"MFUlz1WQLdk-","menu":"V9eYJdjPAeY-","menuList":"LdytkOeCU9c-","menuListOption":"y7Cz2u8BuNE-","loadingIndicator":"_-7bmao8Q9As-","activeOption":"iCwWdcmtInc-"};
210
+ styleInject_es.styleInject(css_248z);
211
+
212
+ function useInternalChipDismissible({ children, selected, onChange, onClick, onCustomAdd, }) {
213
+ const ref = React.useRef(null);
214
+ const chipOptions = children.map(chip => chip.props);
215
+ const visibleChipOptions = chipOptions.filter(chip => selected.includes(chip.value));
216
+ const sortedVisibleChipOptions = sortBy__default["default"](visibleChipOptions, chip => selected.indexOf(chip.value));
217
+ const availableChipOptions = chipOptions.filter(chip => !selected.includes(chip.value));
218
+ const { liveAnnounce } = useLiveAnnounce.useLiveAnnounce();
219
+ const actions = {
220
+ handleChipRemove: (value) => {
221
+ return () => {
222
+ liveAnnounce(`${value} Removed`);
223
+ onChange(selected.filter(val => val !== value));
224
+ };
225
+ },
226
+ handleChipAdd: (value) => onChange([...selected, value]),
227
+ handleCustomAdd: onCustomAdd,
228
+ handleChipClick: (value) => {
229
+ if (onClick === undefined)
230
+ return;
231
+ return (event) => onClick(event, value);
232
+ },
233
+ handleWrapperKeyDown: (event) => {
234
+ const target = event.target;
235
+ const isInputAndHasValue = target instanceof HTMLInputElement && target.value;
236
+ if (isInputAndHasValue)
237
+ return;
238
+ const nextElementToFocus = target.nextElementSibling;
239
+ const prevElementToFocus = target.previousElementSibling;
240
+ if (event.key === "ArrowLeft" &&
241
+ prevElementToFocus instanceof HTMLElement) {
242
+ prevElementToFocus.focus();
243
+ }
244
+ if (event.key === "ArrowRight" &&
245
+ nextElementToFocus instanceof HTMLElement) {
246
+ nextElementToFocus.focus();
247
+ }
248
+ },
249
+ handleChipKeyDown: (value) => {
250
+ return (event) => {
251
+ if (event.key === "Backspace" || event.key === "Delete") {
252
+ const target = event.target;
253
+ if (target instanceof HTMLElement) {
254
+ const prevElement = target.previousElementSibling;
255
+ const nextElement = target.nextElementSibling;
256
+ if (prevElement instanceof HTMLElement) {
257
+ prevElement.focus();
258
+ }
259
+ else if (nextElement instanceof HTMLElement) {
260
+ nextElement.focus();
261
+ }
262
+ }
263
+ actions.handleChipRemove(value)();
264
+ }
265
+ };
266
+ },
267
+ };
268
+ return Object.assign(Object.assign({}, actions), { ref,
269
+ sortedVisibleChipOptions,
270
+ availableChipOptions });
271
+ }
272
+
273
+ // eslint-disable-next-line max-statements
274
+ function useInternalChipDismissibleInput({ options, isLoadingMore = false, onCustomOptionSelect, onOptionSelect, onSearch, }) {
275
+ const menuId = React.useId();
276
+ const [allOptions, setAllOptions] = React.useState([]);
277
+ const [searchValue, setSearchValue] = React.useState("");
278
+ const [menuOpen, setMenuOpen] = React.useState(false);
279
+ const [activeIndex, setActiveIndex] = React.useState(0);
280
+ const [shouldCancelBlur, setShouldCancelBlur] = React.useState(false);
281
+ const [shouldCancelEnter, setShouldCancelEnter] = React.useState(false);
282
+ const canAddCustomOption = onCustomOptionSelect !== undefined && !isLoadingMore;
283
+ const maxOptionIndex = allOptions.length - 1;
284
+ const { liveAnnounce } = useLiveAnnounce.useLiveAnnounce();
285
+ React.useEffect(() => {
286
+ setAllOptions(generateOptions(options, searchValue, canAddCustomOption));
287
+ }, [options]);
288
+ const computed = {
289
+ menuId,
290
+ inputRef: React.useRef(null),
291
+ activeOption: allOptions[activeIndex],
292
+ hasAvailableOptions: allOptions.length > 0,
293
+ nextOptionIndex: activeIndex < maxOptionIndex ? activeIndex + 1 : 0,
294
+ previousOptionIndex: activeIndex > 0 ? activeIndex - 1 : maxOptionIndex,
295
+ };
296
+ const actions = {
297
+ generateDescendantId: (index) => `${computed.menuId}-${index}`,
298
+ handleReset: () => {
299
+ setActiveIndex(activeIndex === 0 ? activeIndex : activeIndex - 1);
300
+ setSearchValue("");
301
+ },
302
+ handleOpenMenu: () => setMenuOpen(true),
303
+ handleCloseMenu: () => {
304
+ setMenuOpen(false);
305
+ setActiveIndex(0);
306
+ },
307
+ handleCancelBlur: () => setShouldCancelBlur(true),
308
+ handleEnableBlur: () => setShouldCancelBlur(false),
309
+ handleBlur: () => {
310
+ if (shouldCancelBlur)
311
+ return;
312
+ actions.handleReset();
313
+ actions.handleCloseMenu();
314
+ },
315
+ handleSearchChange: (event) => {
316
+ setActiveIndex(0);
317
+ setSearchValue(event.currentTarget.value);
318
+ setShouldCancelEnter(true);
319
+ },
320
+ handleSetActiveOnMouseOver: (index) => {
321
+ return () => setActiveIndex(index);
322
+ },
323
+ handleSelectOption: (selected) => {
324
+ var _a;
325
+ if (allOptions.length === 0)
326
+ return;
327
+ const setValue = selected.custom ? onCustomOptionSelect : onOptionSelect;
328
+ if (setValue) {
329
+ setValue(selected.value);
330
+ liveAnnounce(`${selected.label} Added`);
331
+ actions.handleReset();
332
+ (_a = computed.inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
333
+ }
334
+ },
335
+ handleKeyDown: (event) => {
336
+ const callbacks = {
337
+ Enter: () => {
338
+ if (shouldCancelEnter)
339
+ return;
340
+ actions.handleSelectOption(computed.activeOption);
341
+ },
342
+ Tab: () => actions.handleSelectOption(computed.activeOption),
343
+ ",": () => {
344
+ if (searchValue.length === 0)
345
+ return;
346
+ actions.handleSelectOption(generateCustomOptionObject(searchValue));
347
+ },
348
+ ArrowDown: () => {
349
+ if (isLoadingMore && activeIndex === maxOptionIndex)
350
+ return;
351
+ setActiveIndex(computed.nextOptionIndex);
352
+ },
353
+ ArrowUp: () => setActiveIndex(computed.previousOptionIndex),
354
+ };
355
+ if (searchValue.length === 0) {
356
+ callbacks.Backspace = () => {
357
+ var _a;
358
+ // If there's no text left to delete,
359
+ // and delete is pressed again, focus on a chip instead.
360
+ const target = (_a = computed.inputRef.current) === null || _a === void 0 ? void 0 : _a.previousElementSibling;
361
+ if (target instanceof HTMLElement) {
362
+ target.focus();
363
+ }
364
+ };
365
+ }
366
+ handleKeydownEvents(callbacks, event);
367
+ },
368
+ handleDebouncedSearch: debounce__default["default"](() => {
369
+ onSearch && onSearch(searchValue);
370
+ setAllOptions(generateOptions(options, searchValue, canAddCustomOption));
371
+ setShouldCancelEnter(false);
372
+ }, 300),
373
+ };
374
+ return Object.assign(Object.assign(Object.assign(Object.assign({}, actions), { activeIndex,
375
+ allOptions }), computed), { menuOpen,
376
+ searchValue,
377
+ shouldCancelBlur });
378
+ }
379
+ function generateOptions(options, searchValue, canAddCustomOption) {
380
+ const allOptions = options
381
+ .filter(option => option.label.toLowerCase().match(searchValue.trim().toLowerCase()))
382
+ .map(opt => (Object.assign(Object.assign({}, opt), { custom: false })));
383
+ const { shouldAddCustomOption, customOption } = generateCustomOption(allOptions, searchValue, canAddCustomOption);
384
+ shouldAddCustomOption && allOptions.push(customOption);
385
+ return allOptions;
386
+ }
387
+ function generateCustomOption(options, searchValue, canAddCustomOption) {
388
+ function shouldAddCustomOption() {
389
+ const isMatchingOption = options.some(option => option.label.toLowerCase() === searchValue.trim().toLowerCase());
390
+ return !!searchValue && !isMatchingOption;
391
+ }
392
+ return {
393
+ shouldAddCustomOption: canAddCustomOption && shouldAddCustomOption(),
394
+ customOption: generateCustomOptionObject(searchValue),
395
+ };
396
+ }
397
+ function generateCustomOptionObject(searchValue) {
398
+ return {
399
+ value: searchValue,
400
+ label: searchValue,
401
+ prefix: React__default["default"].createElement(Icon.Icon, { name: "add" }),
402
+ custom: true,
403
+ };
404
+ }
405
+ function handleKeydownEvents(callbacks, event) {
406
+ if (event.shiftKey)
407
+ return;
408
+ Object.entries(callbacks).forEach(([key, callback]) => {
409
+ if (event.key === key) {
410
+ event.preventDefault();
411
+ callback(event);
412
+ }
413
+ });
414
+ }
415
+
416
+ function useInView() {
417
+ const ref = React.useRef(null);
418
+ const [isInView, setIsInView] = React.useState(false);
419
+ if (window.IntersectionObserver) {
420
+ const observer = new IntersectionObserver(entries => {
421
+ setIsInView(entries[0].isIntersecting);
422
+ });
423
+ React.useEffect(() => {
424
+ ref.current && observer.observe(ref.current);
425
+ return () => {
426
+ if (!ref.current)
427
+ return;
428
+ observer.unobserve(ref.current);
429
+ };
430
+ });
431
+ }
432
+ return { ref, isInView };
433
+ }
434
+
435
+ function useRepositionMenu(attachTo) {
436
+ var _a;
437
+ const [positionElement, setPositionedElementRef] = React.useState();
438
+ const popper = reactPopper.usePopper(attachTo.current, positionElement, {
439
+ modifiers: [
440
+ { name: "offset", options: { offset: [0, 8] } },
441
+ { name: "flip", options: { fallbackPlacements: ["top"] } },
442
+ ],
443
+ });
444
+ const targetWidth = (_a = attachTo.current) === null || _a === void 0 ? void 0 : _a.clientWidth;
445
+ return Object.assign(Object.assign({}, popper), { setPositionedElementRef, targetWidth });
446
+ }
447
+
448
+ function useScrollToActive(index) {
449
+ const ref = React.useRef(null);
450
+ React.useEffect(() => {
451
+ var _a, _b;
452
+ if (!window.HTMLElement.prototype.scrollIntoView)
453
+ return;
454
+ (_b = (_a = ref.current) === null || _a === void 0 ? void 0 : _a.children[index]) === null || _b === void 0 ? void 0 : _b.scrollIntoView({
455
+ behavior: "smooth",
456
+ block: "nearest",
457
+ inline: "start",
458
+ });
459
+ }, [index]);
460
+ return ref;
461
+ }
462
+
463
+ function InternalChipDismissibleInput(props) {
464
+ const { activator = React__default["default"].createElement(Button.Button, { icon: "add", type: "secondary", ariaLabel: "Add" }), attachTo, isLoadingMore = false, onLoadMore, } = props;
465
+ const { activeIndex, allOptions, hasAvailableOptions, inputRef, menuId, menuOpen, searchValue, generateDescendantId, handleBlur, handleOpenMenu, handleSearchChange, handleCancelBlur, handleEnableBlur, handleSetActiveOnMouseOver, handleKeyDown, handleSelectOption, handleDebouncedSearch, } = useInternalChipDismissibleInput(props);
466
+ const menuRef = useScrollToActive(activeIndex);
467
+ const { ref: visibleChildRef, isInView } = useInView();
468
+ const { styles: popperStyles, attributes, update, setPositionedElementRef, } = useRepositionMenu(attachTo);
469
+ React.useEffect(() => {
470
+ if (menuOpen && update)
471
+ update();
472
+ }, [allOptions]);
473
+ React.useEffect(() => {
474
+ handleDebouncedSearch();
475
+ return handleDebouncedSearch.cancel;
476
+ }, [searchValue]);
477
+ React.useEffect(() => {
478
+ isInView && onLoadMore && onLoadMore(searchValue);
479
+ }, [isInView]);
480
+ if (!menuOpen) {
481
+ return React__default["default"].cloneElement(activator, { onClick: handleOpenMenu });
482
+ }
483
+ return (React__default["default"].createElement(React__default["default"].Fragment, null,
484
+ React__default["default"].createElement("input", { ref: inputRef, className: styles.input, type: "text", role: "combobox", "aria-label": "Press up and down arrow to cycle through the options or type to narrow down the results", "aria-autocomplete": "list", "aria-owns": menuId, "aria-expanded": hasAvailableOptions, "aria-activedescendant": generateDescendantId(activeIndex), value: searchValue, onChange: handleSearchChange, onKeyDown: handleKeyDown, onBlur: debounce__default["default"](handleBlur, 200), onFocus: handleOpenMenu, autoFocus: true }),
485
+ (hasAvailableOptions || isLoadingMore) && (React__default["default"].createElement("div", Object.assign({ ref: setPositionedElementRef, className: styles.menu, style: popperStyles.popper }, attributes.popper),
486
+ React__default["default"].createElement("div", { ref: menuRef, role: "listbox", id: menuId, className: styles.menuList, "data-testid": "chip-menu" },
487
+ allOptions.map((option, i) => (React__default["default"].createElement("button", { key: option.value, role: "option", type: "button", id: generateDescendantId(i), className: classnames__default["default"](styles.menuListOption, {
488
+ [styles.activeOption]: activeIndex === i,
489
+ }), onClick: () => handleSelectOption(option), onMouseEnter: handleSetActiveOnMouseOver(i), onMouseDown: handleCancelBlur, onMouseUp: handleEnableBlur },
490
+ React__default["default"].createElement("span", { "aria-hidden": true }, option.prefix),
491
+ React__default["default"].createElement(Text.Text, null, option.label)))),
492
+ React__default["default"].createElement("div", { ref: visibleChildRef }),
493
+ isLoadingMore && (React__default["default"].createElement("div", { className: styles.loadingIndicator },
494
+ React__default["default"].createElement(Spinner.Spinner, { size: "small", inline: true }))))))));
495
+ }
496
+
497
+ function InternalChipDismissible(props) {
498
+ const { availableChipOptions, ref: wrapperRef, sortedVisibleChipOptions, handleChipAdd, handleChipClick, handleChipKeyDown, handleChipRemove, handleCustomAdd, handleWrapperKeyDown, } = useInternalChipDismissible(props);
499
+ return (React__default["default"].createElement("div", { ref: wrapperRef, className: styles.wrapper, "data-testid": "dismissible-chips", onKeyDown: handleWrapperKeyDown, role: "listbox" },
500
+ sortedVisibleChipOptions.map(chip => (React__default["default"].createElement(InternalChip, Object.assign({ key: chip.value }, chip, { onKeyDown: handleChipKeyDown(chip.value), onClick: handleChipClick(chip.value), ariaLabel: `${chip.label}. Press delete or backspace to remove ${chip.label}`, tabIndex: 0, suffix: React__default["default"].createElement(InternalChipButton, { icon: "remove", invalid: chip.invalid, disabled: chip.disabled, label: chip.label, onClick: handleChipRemove(chip.value) }) })))),
501
+ React__default["default"].createElement(InternalChipDismissibleInput, { activator: props.activator, attachTo: wrapperRef, isLoadingMore: props.isLoadingMore, options: availableChipOptions, onOptionSelect: handleChipAdd, onCustomOptionSelect: handleCustomAdd, onSearch: props.onSearch, onLoadMore: props.onLoadMore })));
502
+ }
503
+
504
+ function Chips(props) {
505
+ switch (props.type) {
506
+ case "dismissible":
507
+ return React__default["default"].createElement(InternalChipDismissible, Object.assign({}, props));
508
+ case "multiselect":
509
+ return React__default["default"].createElement(InternalChipMultiSelect, Object.assign({}, props));
510
+ default:
511
+ return React__default["default"].createElement(InternalChipSingleSelect, Object.assign({}, props));
512
+ }
513
+ }
514
+
515
+ // Only need the component to pass in the data as a react children
516
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
517
+ function Chip(props) {
518
+ // Throw error when <Chip /> gets used outside of the <Chips />
519
+ useAssert.useAssert(true, "`<Chip>` component can only be used inside `<Chips>`");
520
+ return React__default["default"].createElement(React__default["default"].Fragment, null);
521
+ }
522
+
523
+ exports.Chip = Chip;
524
+ exports.ChipDismissible = ChipDismissible;
525
+ exports.Chips = Chips;
@@ -0,0 +1,41 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var Combobox = require('../Combobox-6d864202.js');
6
+ require('react');
7
+ require('classnames');
8
+ require('react-dom');
9
+ require('../style-inject.es-9d2f5f4e.js');
10
+ require('../Icon-405a216c.js');
11
+ require('@jobber/design');
12
+ require('../Text-fbeaaca6.js');
13
+ require('../Typography-e2a23b7e.js');
14
+ require('../Glimmer-84dee1ed.js');
15
+ require('../tslib.es6-754e2961.js');
16
+ require('../Content-e3f7b6fc.js');
17
+ require('../Spinner-9d8fc7ff.js');
18
+ require('../AnimatedPresence-20a02aaa.js');
19
+ require('framer-motion');
20
+ require('../Flex-d490c4db.js');
21
+ require('@jobber/hooks/useInView');
22
+ require('../Button-6b922fc1.js');
23
+ require('react-router-dom');
24
+ require('@jobber/hooks/useRefocusOnActivator');
25
+ require('@jobber/hooks/useFocusTrap');
26
+ require('react-popper');
27
+ require('@jobber/hooks/useOnKeyDown');
28
+ require('../Chip-76f18555.js');
29
+ require('../Avatar-76a799fa.js');
30
+ require('color');
31
+ require('../Tooltip-b9de6e57.js');
32
+ require('@jobber/hooks/useSafeLayoutEffect');
33
+ require('@jobber/hooks/useIsMounted');
34
+ require('lodash/debounce');
35
+ require('lodash/noop');
36
+ require('@jobber/hooks/useAssert');
37
+
38
+
39
+
40
+ exports.Combobox = Combobox.Combobox;
41
+ exports.ComboboxContextProvider = Combobox.ComboboxContextProvider;