@jobber/components 4.92.0 → 5.0.1

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.js → index.cjs} +1 -3
  2. package/dist/AnimatedPresence/index.mjs +4 -0
  3. package/dist/AnimatedPresence-C5We_sJS.js +98 -0
  4. package/dist/{AnimatedPresence-20a02aaa.js → AnimatedPresence-DlGX4YeU.js} +3 -7
  5. package/dist/AnimatedSwitcher/index.cjs +11 -0
  6. package/dist/AnimatedSwitcher/index.mjs +5 -0
  7. package/dist/{AnimatedSwitcher-3d45ec5d.js → AnimatedSwitcher-C5f61KU3.js} +4 -8
  8. package/dist/AnimatedSwitcher-CblJS560.js +90 -0
  9. package/dist/AtlantisContext/{index.js → index.cjs} +1 -3
  10. package/dist/AtlantisContext/index.mjs +2 -0
  11. package/dist/AtlantisContext-Dn6_XQmD.js +18 -0
  12. package/dist/Autocomplete/index.cjs +33 -0
  13. package/dist/Autocomplete/index.mjs +27 -0
  14. package/dist/Autocomplete-ByQH-FFs.js +190 -0
  15. package/dist/Autocomplete-Y7lm2-sL.js +192 -0
  16. package/dist/Avatar/index.cjs +12 -0
  17. package/dist/Avatar/index.mjs +6 -0
  18. package/dist/Avatar-BodBt4pN.js +69 -0
  19. package/dist/Avatar-SP_BUJLU.js +67 -0
  20. package/dist/Banner/components/BannerIcon/index.cjs +13 -0
  21. package/dist/Banner/components/BannerIcon/index.mjs +7 -0
  22. package/dist/Banner/index.cjs +23 -0
  23. package/dist/Banner/index.mjs +17 -0
  24. package/dist/Banner-CZv2-je-.js +81 -0
  25. package/dist/Banner-CuAIgZeC.js +79 -0
  26. package/dist/BannerIcon-ConQTE2v.js +19 -0
  27. package/dist/BannerIcon-D1nansKP.js +22 -0
  28. package/dist/Body-CWin6-n3.js +54 -0
  29. package/dist/Body-CZKOa_9x.js +45 -0
  30. package/dist/Button/index.cjs +13 -0
  31. package/dist/Button/index.mjs +7 -0
  32. package/dist/Button-DK1Px9LS.js +47 -0
  33. package/dist/Button-noDSqvxX.js +49 -0
  34. package/dist/ButtonDismiss/index.cjs +14 -0
  35. package/dist/ButtonDismiss/index.mjs +8 -0
  36. package/dist/ButtonDismiss-BNe3USW4.js +8 -0
  37. package/dist/ButtonDismiss-CnCeo4wT.js +10 -0
  38. package/dist/Card/index.cjs +21 -0
  39. package/dist/Card/index.mjs +15 -0
  40. package/dist/Card-QFMBJI3D.js +83 -0
  41. package/dist/Card-q2yw0ZPa.js +81 -0
  42. package/dist/Checkbox/index.cjs +15 -0
  43. package/dist/Checkbox/index.mjs +9 -0
  44. package/dist/Checkbox-BcFHMjuY.js +53 -0
  45. package/dist/Checkbox-BshHYo-R.js +55 -0
  46. package/dist/Chip/hooks/index.cjs +8 -0
  47. package/dist/Chip/hooks/index.mjs +2 -0
  48. package/dist/Chip/index.cjs +26 -0
  49. package/dist/Chip/index.mjs +18 -0
  50. package/dist/Chip-DkIyAIrp.js +70 -0
  51. package/dist/Chip-lakFvkPp.js +67 -0
  52. package/dist/ChipDismissible-DcdB7k4V.js +22 -0
  53. package/dist/ChipDismissible-W7LaZqau.js +19 -0
  54. package/dist/Chips/InternalChipDismissible/hooks/index.cjs +23 -0
  55. package/dist/Chips/InternalChipDismissible/hooks/index.mjs +13 -0
  56. package/dist/Chips/InternalChipDismissible/index.cjs +35 -0
  57. package/dist/Chips/InternalChipDismissible/index.mjs +29 -0
  58. package/dist/Chips/index.cjs +48 -0
  59. package/dist/Chips/index.mjs +44 -0
  60. package/dist/Chips-BWloFj-G.js +91 -0
  61. package/dist/Chips-CmZ2cDpW.js +93 -0
  62. package/dist/Combobox/components/ComboboxAction/index.cjs +12 -0
  63. package/dist/Combobox/components/ComboboxAction/index.mjs +6 -0
  64. package/dist/Combobox/components/ComboboxActivator/index.cjs +27 -0
  65. package/dist/Combobox/components/ComboboxActivator/index.mjs +21 -0
  66. package/dist/Combobox/components/ComboboxContent/ComboboxContentHeader/index.cjs +14 -0
  67. package/dist/Combobox/components/ComboboxContent/ComboboxContentHeader/index.mjs +8 -0
  68. package/dist/Combobox/components/ComboboxContent/ComboboxContentList/index.cjs +24 -0
  69. package/dist/Combobox/components/ComboboxContent/ComboboxContentList/index.mjs +18 -0
  70. package/dist/Combobox/components/ComboboxContent/ComboboxContentSearch/index.cjs +10 -0
  71. package/dist/Combobox/components/ComboboxContent/ComboboxContentSearch/index.mjs +4 -0
  72. package/dist/Combobox/components/ComboboxContent/ComboboxLoadMore/index.cjs +9 -0
  73. package/dist/Combobox/components/ComboboxContent/ComboboxLoadMore/index.mjs +3 -0
  74. package/dist/Combobox/components/ComboboxContent/index.cjs +34 -0
  75. package/dist/Combobox/components/ComboboxContent/index.mjs +28 -0
  76. package/dist/Combobox/components/ComboboxOption/index.cjs +14 -0
  77. package/dist/Combobox/components/ComboboxOption/index.mjs +8 -0
  78. package/dist/Combobox/components/ComboboxTrigger/index.cjs +25 -0
  79. package/dist/Combobox/components/ComboboxTrigger/index.mjs +19 -0
  80. package/dist/Combobox/index.cjs +53 -0
  81. package/dist/Combobox/index.mjs +46 -0
  82. package/dist/Combobox-DYuCZJK1.js +117 -0
  83. package/dist/Combobox-DZHF_g4U.js +119 -0
  84. package/dist/ComboboxAction-BTv1z8lN.js +24 -0
  85. package/dist/ComboboxAction-CyGny2jL.js +22 -0
  86. package/dist/ComboboxActivator-CqxbvPUx.js +26 -0
  87. package/dist/ComboboxActivator-DOkCbaXq.js +28 -0
  88. package/dist/ComboboxContent-CE_sVLBm.js +143 -0
  89. package/dist/ComboboxContent-Dfy8wC2s.js +145 -0
  90. package/dist/ComboboxContentHeader-CwjRcAK7.js +29 -0
  91. package/dist/ComboboxContentHeader-DCORmU4Q.js +27 -0
  92. package/dist/ComboboxContentList-BIhd1rVk.js +77 -0
  93. package/dist/ComboboxContentList-CuPmGVX3.js +75 -0
  94. package/dist/ComboboxContentSearch-C7-EAy_E.js +34 -0
  95. package/dist/ComboboxContentSearch-DKfP1oP5.js +32 -0
  96. package/dist/ComboboxLoadMore-AwHTapyI.js +16 -0
  97. package/dist/ComboboxLoadMore-CZApONuU.js +14 -0
  98. package/dist/ComboboxOption-Bh-oQgEr.js +20 -0
  99. package/dist/ComboboxOption-DSBi-uyc.js +22 -0
  100. package/dist/ComboboxProvider-CQ3ZXsZa.js +13 -0
  101. package/dist/ComboboxProvider-cguiY4og.js +10 -0
  102. package/dist/ComboboxTrigger-DhsYtnvQ.js +24 -0
  103. package/dist/ComboboxTrigger-mSe96JA7.js +22 -0
  104. package/dist/ConfirmationModal/index.cjs +31 -0
  105. package/dist/ConfirmationModal/index.mjs +25 -0
  106. package/dist/{ConfirmationModal-c0b5e893.js → ConfirmationModal-Du1pTmhg.js} +8 -12
  107. package/dist/ConfirmationModal-UNolD6Md.js +94 -0
  108. package/dist/Content/index.cjs +9 -0
  109. package/dist/Content/index.mjs +3 -0
  110. package/dist/Content-Cr-SNhIb.js +15 -0
  111. package/dist/Content-q0mmpOCB.js +13 -0
  112. package/dist/Countdown/index.cjs +11 -0
  113. package/dist/Countdown/index.mjs +5 -0
  114. package/dist/Countdown-Bk4VdUU2.js +657 -0
  115. package/dist/Countdown-FyBxWGlM.js +659 -0
  116. package/dist/DataDump/index.cjs +24 -0
  117. package/dist/DataDump/index.mjs +18 -0
  118. package/dist/DataDump-DLNUBwSq.js +17 -0
  119. package/dist/DataDump-DYF_Sjgo.js +15 -0
  120. package/dist/DataList/components/DataListAction/index.cjs +13 -0
  121. package/dist/DataList/components/DataListAction/index.mjs +7 -0
  122. package/dist/DataList/components/DataListActions/index.cjs +43 -0
  123. package/dist/DataList/components/DataListActions/index.mjs +37 -0
  124. package/dist/DataList/components/DataListActionsMenu/index.cjs +17 -0
  125. package/dist/DataList/components/DataListActionsMenu/index.mjs +11 -0
  126. package/dist/DataList/components/DataListBulkActions/index.cjs +46 -0
  127. package/dist/DataList/components/DataListBulkActions/index.mjs +39 -0
  128. package/dist/DataList/components/DataListEmptyState/index.cjs +20 -0
  129. package/dist/DataList/components/DataListEmptyState/index.mjs +13 -0
  130. package/dist/DataList/components/DataListFilters/components/DataListSort/index.cjs +54 -0
  131. package/dist/DataList/components/DataListFilters/components/DataListSort/index.mjs +48 -0
  132. package/dist/DataList/components/DataListFilters/index.cjs +68 -0
  133. package/dist/DataList/components/DataListFilters/index.mjs +61 -0
  134. package/dist/DataList/components/DataListHeader/index.cjs +53 -0
  135. package/dist/DataList/components/DataListHeader/index.mjs +47 -0
  136. package/dist/DataList/components/DataListHeaderTile/components/index.cjs +12 -0
  137. package/dist/DataList/components/DataListHeaderTile/components/index.mjs +6 -0
  138. package/dist/DataList/components/DataListHeaderTile/index.cjs +20 -0
  139. package/dist/DataList/components/DataListHeaderTile/index.mjs +14 -0
  140. package/dist/DataList/components/DataListItem/components/DataListItemClickable/index.cjs +14 -0
  141. package/dist/DataList/components/DataListItem/components/DataListItemClickable/index.mjs +8 -0
  142. package/dist/DataList/components/DataListItem/index.cjs +52 -0
  143. package/dist/DataList/components/DataListItem/index.mjs +46 -0
  144. package/dist/DataList/components/DataListItemActions/index.cjs +45 -0
  145. package/dist/DataList/components/DataListItemActions/index.mjs +38 -0
  146. package/dist/DataList/components/DataListItemActionsOverflow/index.cjs +25 -0
  147. package/dist/DataList/components/DataListItemActionsOverflow/index.mjs +19 -0
  148. package/dist/DataList/components/DataListItems/index.cjs +53 -0
  149. package/dist/DataList/components/DataListItems/index.mjs +47 -0
  150. package/dist/DataList/components/DataListLayout/index.cjs +56 -0
  151. package/dist/DataList/components/DataListLayout/index.mjs +50 -0
  152. package/dist/DataList/components/DataListLayoutActions/DataListLayoutContext/index.cjs +9 -0
  153. package/dist/DataList/components/DataListLayoutActions/DataListLayoutContext/index.mjs +2 -0
  154. package/dist/DataList/components/DataListLayoutActions/index.cjs +33 -0
  155. package/dist/DataList/components/DataListLayoutActions/index.mjs +27 -0
  156. package/dist/DataList/components/DataListLoadMore/index.cjs +21 -0
  157. package/dist/DataList/components/DataListLoadMore/index.mjs +14 -0
  158. package/dist/DataList/components/DataListLoadingState/index.cjs +21 -0
  159. package/dist/DataList/components/DataListLoadingState/index.mjs +13 -0
  160. package/dist/DataList/components/DataListOverflowFade/index.cjs +11 -0
  161. package/dist/DataList/components/DataListOverflowFade/index.mjs +4 -0
  162. package/dist/DataList/components/DataListSearch/index.cjs +33 -0
  163. package/dist/DataList/components/DataListSearch/index.mjs +25 -0
  164. package/dist/DataList/components/DataListStatusBar/index.cjs +32 -0
  165. package/dist/DataList/components/DataListStatusBar/index.mjs +25 -0
  166. package/dist/DataList/components/DataListStickyHeader/index.cjs +11 -0
  167. package/dist/DataList/components/DataListStickyHeader/index.mjs +5 -0
  168. package/dist/DataList/components/DataListTags/index.cjs +12 -0
  169. package/dist/DataList/components/DataListTags/index.mjs +6 -0
  170. package/dist/DataList/components/DataListTotalCount/index.cjs +15 -0
  171. package/dist/DataList/components/DataListTotalCount/index.mjs +8 -0
  172. package/dist/DataList/context/DataListContext/index.cjs +12 -0
  173. package/dist/DataList/context/DataListContext/index.mjs +4 -0
  174. package/dist/DataList/context/DataListLayoutContext/index.cjs +12 -0
  175. package/dist/DataList/context/DataListLayoutContext/index.mjs +4 -0
  176. package/dist/DataList/index.cjs +98 -0
  177. package/dist/DataList/index.mjs +92 -0
  178. package/dist/DataList-Bmcmjt1A.js +5 -0
  179. package/dist/DataList-Cc_fUM76.js +3 -0
  180. package/dist/DataList-Crm9MwPN.js +141 -0
  181. package/dist/DataList-r1qIS1QT.js +139 -0
  182. package/dist/DataList.const-CxX7Gjfz.js +38 -0
  183. package/dist/DataList.const-DZaKGZRx.js +25 -0
  184. package/dist/DataList.utils-9ehaD0Qv.js +161 -0
  185. package/dist/DataList.utils-CMa3suIh.js +168 -0
  186. package/dist/DataListAction-CRAdSlkF.js +37 -0
  187. package/dist/DataListAction-dDBGML5C.js +39 -0
  188. package/dist/DataListActions-C6kLL6bk.js +43 -0
  189. package/dist/DataListActions-CIGEBlZS.js +45 -0
  190. package/dist/DataListActionsMenu-CcPO6xu6.js +57 -0
  191. package/dist/DataListActionsMenu-DUzcRsjU.js +55 -0
  192. package/dist/DataListBulkActions-BSzm2WNu.js +26 -0
  193. package/dist/DataListBulkActions-CD9jB0pD.js +29 -0
  194. package/dist/DataListContext-CjeCQOQO.js +29 -0
  195. package/dist/DataListContext-tYtmL4Rx.js +25 -0
  196. package/dist/DataListEmptyState-65ibxPBY.js +50 -0
  197. package/dist/DataListEmptyState-DK-7wiyT.js +53 -0
  198. package/dist/DataListFilters-CZ5qHZbs.js +43 -0
  199. package/dist/DataListFilters-DFqOeGe-.js +46 -0
  200. package/dist/DataListHeader-CAy8j3WL.js +93 -0
  201. package/dist/DataListHeader-D-wLVtiQ.js +95 -0
  202. package/dist/DataListHeaderTile-BsycPdAH.js +79 -0
  203. package/dist/DataListHeaderTile-DFn6xA5F.js +81 -0
  204. package/dist/DataListItem-BO1Wlpy7.js +112 -0
  205. package/dist/DataListItem-TBu2bxGW.js +114 -0
  206. package/dist/DataListItemActions-Buc_xbbO.js +29 -0
  207. package/dist/DataListItemActions-DsRsqiO9.js +32 -0
  208. package/dist/DataListItemActionsOverflow-By43h0ZT.js +33 -0
  209. package/dist/DataListItemActionsOverflow-Ca2DLUFZ.js +35 -0
  210. package/dist/DataListItemClickable-B95HdOlE.js +47 -0
  211. package/dist/DataListItemClickable-CbpEzDTq.js +45 -0
  212. package/dist/DataListItems-CIXSAWsL.js +19 -0
  213. package/dist/DataListItems-TG0MTglA.js +21 -0
  214. package/dist/DataListLayout-BxxFdI1-.js +19 -0
  215. package/dist/DataListLayout-DxXrlv-e.js +21 -0
  216. package/dist/DataListLayoutActions-DhOF6v-Q.js +38 -0
  217. package/dist/DataListLayoutActions-kAE1lLJ4.js +36 -0
  218. package/dist/DataListLayoutContext-BSOwbjMF.js +8 -0
  219. package/dist/DataListLayoutContext-Bduu7kVW.js +18 -0
  220. package/dist/DataListLayoutContext-CRwE525R.js +11 -0
  221. package/dist/DataListLayoutContext-DDloSo3U.js +14 -0
  222. package/dist/DataListLoadMore-B16qzdrh.js +34 -0
  223. package/dist/DataListLoadMore-DYdFexgL.js +31 -0
  224. package/dist/DataListLoadingState-BqYDCOzq.js +26 -0
  225. package/dist/DataListLoadingState-CmFAHLs7.js +22 -0
  226. package/dist/DataListOverflowFade-DMC17Az8.js +25 -0
  227. package/dist/DataListOverflowFade-n0EBeGj9.js +22 -0
  228. package/dist/DataListSearch-B-toEA5Q.js +63 -0
  229. package/dist/DataListSearch-C5rRCyba.js +59 -0
  230. package/dist/DataListSort-D-WfgWZm.js +92 -0
  231. package/dist/DataListSort-DPworNPJ.js +94 -0
  232. package/dist/DataListSortingOptions-4H3EJUmw.js +37 -0
  233. package/dist/DataListSortingOptions-CozrvIh9.js +35 -0
  234. package/dist/DataListStatusBar-Bp7Ea5Hf.js +22 -0
  235. package/dist/DataListStatusBar-DldWmzsp.js +25 -0
  236. package/dist/DataListStickyHeader-CqUyQpRA.js +25 -0
  237. package/dist/DataListStickyHeader-g6MyqaNi.js +23 -0
  238. package/dist/DataListTags-CIYmBPAs.js +64 -0
  239. package/dist/DataListTags-CyvhOmuF.js +62 -0
  240. package/dist/DataListTotalCount-CL7h6wRA.js +24 -0
  241. package/dist/DataListTotalCount-Dfl8vCeh.js +27 -0
  242. package/dist/DataTable/index.cjs +36 -0
  243. package/dist/DataTable/index.mjs +25 -0
  244. package/dist/DataTable/test-utilities/index.cjs +246 -0
  245. package/dist/DataTable/test-utilities/index.mjs +238 -0
  246. package/dist/DataTable-BYVsSEdr.js +238 -0
  247. package/dist/DataTable-BqEYgTts.js +236 -0
  248. package/dist/DatePicker/index.cjs +26 -0
  249. package/dist/DatePicker/index.mjs +20 -0
  250. package/dist/DatePicker-CVwO_Www.js +8551 -0
  251. package/dist/DatePicker-DxjYIrKO.js +8554 -0
  252. package/dist/DayOfMonthSelect-CLQjBaGB.js +137 -0
  253. package/dist/DayOfMonthSelect-DL4PKvDu.js +130 -0
  254. package/dist/DescriptionList/index.cjs +10 -0
  255. package/dist/DescriptionList/index.mjs +4 -0
  256. package/dist/DescriptionList-BpLGTlUb.js +12 -0
  257. package/dist/DescriptionList-pM-3_7H4.js +14 -0
  258. package/dist/Disclosure/index.cjs +17 -0
  259. package/dist/Disclosure/index.mjs +11 -0
  260. package/dist/Disclosure-CV9NdfNK.js +35 -0
  261. package/dist/Disclosure-uZFEdLqn.js +33 -0
  262. package/dist/Divider/index.cjs +9 -0
  263. package/dist/Divider/index.mjs +3 -0
  264. package/dist/Divider-B9NtZEy_.js +17 -0
  265. package/dist/Divider-BIw9_09d.js +19 -0
  266. package/dist/Drawer/index.cjs +19 -0
  267. package/dist/Drawer/index.mjs +12 -0
  268. package/dist/DrawerGrid-BbpNJeGU.js +31 -0
  269. package/dist/DrawerGrid-Bm-Wshn3.js +28 -0
  270. package/dist/Emphasis/index.cjs +10 -0
  271. package/dist/Emphasis/index.mjs +4 -0
  272. package/dist/Emphasis-BSYW8CIV.js +13 -0
  273. package/dist/Emphasis-BeDR-wzW.js +15 -0
  274. package/dist/FeatureSwitch/index.cjs +26 -0
  275. package/dist/FeatureSwitch/index.mjs +20 -0
  276. package/dist/FeatureSwitch-DNgoHFQE.js +54 -0
  277. package/dist/FeatureSwitch-hqLVNdlG.js +52 -0
  278. package/dist/Flex/index.cjs +9 -0
  279. package/dist/Flex/index.mjs +3 -0
  280. package/dist/Flex-CHwqd3gT.js +28 -0
  281. package/dist/Flex-w0DbahOc.js +30 -0
  282. package/dist/Form/index.cjs +10 -0
  283. package/dist/Form/index.mjs +4 -0
  284. package/dist/{Form/index.js → Form-CEolMqRa.js} +3 -9
  285. package/dist/Form-DSH7BVDr.js +48 -0
  286. package/dist/FormField/index.cjs +20 -0
  287. package/dist/FormField/index.mjs +14 -0
  288. package/dist/FormField-DIzS7UJ8.js +263 -0
  289. package/dist/FormField-DX3mqc2W.js +261 -0
  290. package/dist/FormatDate/{index.js → index.cjs} +1 -3
  291. package/dist/FormatDate/index.mjs +2 -0
  292. package/dist/FormatDate-4rgQmMHs.js +27 -0
  293. package/dist/{FormatDate-70ea5b43.js → FormatDate-QBFUXXRW.js} +1 -5
  294. package/dist/FormatEmail/index.cjs +9 -0
  295. package/dist/FormatEmail/index.mjs +3 -0
  296. package/dist/FormatEmail-CvjTY96k.js +13 -0
  297. package/dist/FormatEmail-VCrir2W4.js +11 -0
  298. package/dist/FormatFile/index.cjs +36 -0
  299. package/dist/FormatFile/index.mjs +30 -0
  300. package/dist/FormatFile-BGuB0e5J.js +147 -0
  301. package/dist/FormatFile-afrjxCfH.js +149 -0
  302. package/dist/FormatRelativeDateTime/index.cjs +8 -0
  303. package/dist/FormatRelativeDateTime/index.mjs +2 -0
  304. package/dist/FormatRelativeDateTime-D1RKmSMc.js +64 -0
  305. package/dist/{FormatRelativeDateTime/index.js → FormatRelativeDateTime-JzSmzkW3.js} +5 -11
  306. package/dist/FormatTime/index.cjs +8 -0
  307. package/dist/FormatTime/index.mjs +2 -0
  308. package/dist/FormatTime-5VitExr-.js +29 -0
  309. package/dist/{FormatTime/index.js → FormatTime-D1e65Ift.js} +1 -7
  310. package/dist/Gallery/index.cjs +42 -0
  311. package/dist/Gallery/index.mjs +36 -0
  312. package/dist/Gallery-DpUj4vBa.js +63 -0
  313. package/dist/Gallery-unlPd4cP.js +65 -0
  314. package/dist/Glimmer/index.cjs +12 -0
  315. package/dist/Glimmer/index.mjs +5 -0
  316. package/dist/Glimmer-BatRr0re.js +60 -0
  317. package/dist/Glimmer-CrUBdCft.js +63 -0
  318. package/dist/Grid/InternalGridCell/index.cjs +9 -0
  319. package/dist/Grid/InternalGridCell/index.mjs +2 -0
  320. package/dist/Grid/index.cjs +14 -0
  321. package/dist/Grid/index.mjs +7 -0
  322. package/dist/Grid-CljTbDPC.js +32 -0
  323. package/dist/Grid-ucn4dEzC.js +29 -0
  324. package/dist/Heading/index.cjs +12 -0
  325. package/dist/Heading/index.mjs +6 -0
  326. package/dist/Heading-CHhgHTqK.js +49 -0
  327. package/dist/{Heading-ffc87a2a.js → Heading-DHr7c1qk.js} +3 -7
  328. package/dist/Icon/index.cjs +9 -0
  329. package/dist/Icon/index.mjs +3 -0
  330. package/dist/Icon-D5fducRW.js +34 -0
  331. package/dist/Icon-DdoTAkld.js +36 -0
  332. package/dist/InlineLabel/index.cjs +10 -0
  333. package/dist/InlineLabel/index.mjs +4 -0
  334. package/dist/InlineLabel-DDGo2FBU.js +18 -0
  335. package/dist/InlineLabel-HcSK4D2u.js +20 -0
  336. package/dist/InputAvatar/index.cjs +26 -0
  337. package/dist/InputAvatar/index.mjs +20 -0
  338. package/dist/InputAvatar-BZJTWTav.js +49 -0
  339. package/dist/InputAvatar-DZhlA5C8.js +47 -0
  340. package/dist/InputDate/index.cjs +34 -0
  341. package/dist/InputDate/index.mjs +28 -0
  342. package/dist/InputDate-CXSx4Tec.js +48 -0
  343. package/dist/{InputDate/index.js → InputDate-DK9Bodgf.js} +6 -31
  344. package/dist/InputEmail/index.cjs +22 -0
  345. package/dist/InputEmail/index.mjs +15 -0
  346. package/dist/InputEmail-BDVbozLm.js +20 -0
  347. package/dist/InputEmail-DnQPqYoO.js +23 -0
  348. package/dist/InputFile/index.cjs +23 -0
  349. package/dist/InputFile/index.mjs +16 -0
  350. package/dist/InputFile-D0jfvvEn.js +1611 -0
  351. package/dist/InputFile-DTm2DXuV.js +1608 -0
  352. package/dist/InputGroup/index.cjs +9 -0
  353. package/dist/InputGroup/index.mjs +3 -0
  354. package/dist/InputGroup-BHN6kYWo.js +23 -0
  355. package/dist/InputGroup-DF2OD4BE.js +25 -0
  356. package/dist/InputNumber/index.cjs +21 -0
  357. package/dist/InputNumber/index.mjs +15 -0
  358. package/dist/InputNumber-BuiI0NjS.js +56 -0
  359. package/dist/{InputNumber-f1990039.js → InputNumber-CEAhGzoa.js} +2 -6
  360. package/dist/InputPassword/index.cjs +21 -0
  361. package/dist/InputPassword/index.mjs +15 -0
  362. package/dist/InputPassword-C9zbU7TW.js +21 -0
  363. package/dist/InputPassword-dIafufTk.js +19 -0
  364. package/dist/InputPhoneNumber/index.cjs +21 -0
  365. package/dist/InputPhoneNumber/index.mjs +15 -0
  366. package/dist/{InputPhoneNumber/index.js → InputPhoneNumber-3yqGEkio.js} +7 -27
  367. package/dist/InputPhoneNumber-B3IdVoQg.js +94 -0
  368. package/dist/InputText/index.cjs +22 -0
  369. package/dist/InputText/index.mjs +16 -0
  370. package/dist/{InputText-375a415c.js → InputText-BY6rCJ8J.js} +4 -8
  371. package/dist/InputText-Deake8bP.js +96 -0
  372. package/dist/InputTime/index.cjs +26 -0
  373. package/dist/InputTime/index.mjs +20 -0
  374. package/dist/InputTime-CF1r7VJw.js +190 -0
  375. package/dist/{InputTime/index.js → InputTime-CfhvxPHN.js} +5 -25
  376. package/dist/InputValidation/index.cjs +14 -0
  377. package/dist/InputValidation/index.mjs +8 -0
  378. package/dist/InputValidation-B2tbREku.js +20 -0
  379. package/dist/InputValidation-DkQrftLf.js +22 -0
  380. package/dist/InternalChipDismissible-CtJBHNow.js +152 -0
  381. package/dist/InternalChipDismissible-LI9YWysI.js +157 -0
  382. package/dist/InternalGridCell-CqMMVQIF.js +37 -0
  383. package/dist/InternalGridCell-nfn6StO-.js +34 -0
  384. package/dist/LightBox/index.cjs +26 -0
  385. package/dist/LightBox/index.mjs +20 -0
  386. package/dist/LightBox-Ct7jyQHc.js +110 -0
  387. package/dist/LightBox-D9UAVmOP.js +112 -0
  388. package/dist/Link/index.cjs +8 -0
  389. package/dist/Link/index.mjs +2 -0
  390. package/dist/Link-BUSnU1D-.js +7 -0
  391. package/dist/Link-iSQySKDo.js +9 -0
  392. package/dist/List/index.cjs +29 -0
  393. package/dist/List/index.mjs +22 -0
  394. package/dist/List-CFDGz1w9.js +186 -0
  395. package/dist/List-C_6N-iI6.js +189 -0
  396. package/dist/Markdown/index.cjs +19 -0
  397. package/dist/Markdown/index.mjs +13 -0
  398. package/dist/Markdown-BiEMJ-Na.js +19011 -0
  399. package/dist/Markdown-C-_FwXXZ.js +19013 -0
  400. package/dist/Menu/index.cjs +18 -0
  401. package/dist/Menu/index.mjs +12 -0
  402. package/dist/Menu-WFTc4vmf.js +131 -0
  403. package/dist/Menu-mU7mDbWw.js +129 -0
  404. package/dist/Modal/index.cjs +23 -0
  405. package/dist/Modal/index.mjs +17 -0
  406. package/dist/Modal-BjDtJC7X.js +61 -0
  407. package/dist/Modal-P-qjBWDw.js +63 -0
  408. package/dist/MultiSelect/index.cjs +16 -0
  409. package/dist/MultiSelect/index.mjs +10 -0
  410. package/dist/MultiSelect-AHcP0OGk.js +166 -0
  411. package/dist/MultiSelect-EqsIh1nF.js +164 -0
  412. package/dist/Option-BPHbm2fZ.js +12 -0
  413. package/dist/Option-Dve2T456.js +15 -0
  414. package/dist/Page/index.cjs +32 -0
  415. package/dist/Page/index.mjs +26 -0
  416. package/dist/Page-Clsl9cNc.js +58 -0
  417. package/dist/Page-h5lQD6Ys.js +56 -0
  418. package/dist/Popover/index.cjs +17 -0
  419. package/dist/Popover/index.mjs +11 -0
  420. package/dist/Popover-DZUsK48w.js +50 -0
  421. package/dist/Popover-bdvs9eBy.js +48 -0
  422. package/dist/ProgressBar/index.cjs +9 -0
  423. package/dist/ProgressBar/index.mjs +3 -0
  424. package/dist/ProgressBar--3qd3zai.js +33 -0
  425. package/dist/ProgressBar-BwHqrYga.js +31 -0
  426. package/dist/RadioGroup/index.cjs +12 -0
  427. package/dist/RadioGroup/index.mjs +5 -0
  428. package/dist/RadioGroup-CFsetlJ4.js +36 -0
  429. package/dist/RadioGroup-CK3D5__U.js +39 -0
  430. package/dist/RecurringSelect/components/index.cjs +15 -0
  431. package/dist/RecurringSelect/components/index.mjs +6 -0
  432. package/dist/RecurringSelect/index.cjs +35 -0
  433. package/dist/RecurringSelect/index.mjs +21 -0
  434. package/dist/RecurringSelect-2YCQX2Q6.js +71 -0
  435. package/dist/RecurringSelect-BU1-6dub.js +69 -0
  436. package/dist/Select/index.cjs +22 -0
  437. package/dist/Select/index.mjs +15 -0
  438. package/dist/Spinner/index.cjs +9 -0
  439. package/dist/Spinner/index.mjs +3 -0
  440. package/dist/Spinner-B0UBMlC5.js +14 -0
  441. package/dist/Spinner-DAhdvWZh.js +16 -0
  442. package/dist/StatusIndicator/index.cjs +8 -0
  443. package/dist/StatusIndicator/index.mjs +2 -0
  444. package/dist/StatusIndicator-BOlX887r.js +11 -0
  445. package/dist/StatusIndicator-Btzgb5tZ.js +9 -0
  446. package/dist/StatusLabel/index.cjs +11 -0
  447. package/dist/StatusLabel/index.mjs +5 -0
  448. package/dist/StatusLabel-B8SIygUI.js +16 -0
  449. package/dist/StatusLabel-DRZck9sD.js +18 -0
  450. package/dist/Switch/index.cjs +10 -0
  451. package/dist/Switch/index.mjs +4 -0
  452. package/dist/Switch-CMJP3yJv.js +48 -0
  453. package/dist/Switch-CahAntVM.js +46 -0
  454. package/dist/Table/index.cjs +17 -0
  455. package/dist/Table/index.mjs +4 -0
  456. package/dist/Tabs/index.cjs +11 -0
  457. package/dist/Tabs/index.mjs +4 -0
  458. package/dist/Tabs-Bqo51NBU.js +67 -0
  459. package/dist/Tabs-CoZXSL00.js +70 -0
  460. package/dist/Text/index.cjs +10 -0
  461. package/dist/Text/index.mjs +4 -0
  462. package/dist/Text-B1bIoWYr.js +25 -0
  463. package/dist/{Text-94b5c2e5.js → Text-B2v3VC_B.js} +2 -6
  464. package/dist/Toast/index.cjs +16 -0
  465. package/dist/Toast/index.mjs +10 -0
  466. package/dist/Tooltip/index.cjs +14 -0
  467. package/dist/Tooltip/index.mjs +8 -0
  468. package/dist/Tooltip-BWy3hm6U.js +103 -0
  469. package/dist/Tooltip-CJL2w6Tj.js +105 -0
  470. package/dist/Typography/index.cjs +9 -0
  471. package/dist/Typography/index.mjs +3 -0
  472. package/dist/Typography-4zopC4KE.js +36 -0
  473. package/dist/Typography-C2OJA0Ai.js +38 -0
  474. package/dist/_baseAssignValue-9277BEnY.js +29 -0
  475. package/dist/_baseAssignValue-CZ7dH3jZ.js +31 -0
  476. package/dist/_baseEach-DUa3wUU0.js +1073 -0
  477. package/dist/_baseEach-DutHXgSt.js +1069 -0
  478. package/dist/_commonjsHelpers-BpF068F9.js +32 -0
  479. package/dist/_commonjsHelpers-BrnLhuRG.js +36 -0
  480. package/dist/_defineProperty-BWlKbGrw.js +1326 -0
  481. package/dist/_defineProperty-D2CYOW2W.js +1306 -0
  482. package/dist/_getTag-CFReVgbF.js +733 -0
  483. package/dist/_getTag-CiceuEl8.js +718 -0
  484. package/dist/_polyfill-node.process-BcnAACbW.js +255 -0
  485. package/dist/_polyfill-node.process-GNmX79Os.js +258 -0
  486. package/dist/_setToString-Bi71caQF.js +234 -0
  487. package/dist/_setToString-DFyFFQFu.js +230 -0
  488. package/dist/debounce-Co8fMq8q.js +332 -0
  489. package/dist/debounce-DINXpsd8.js +329 -0
  490. package/dist/helpers-DKpEJGRK.js +15 -0
  491. package/dist/helpers-qGD9HtqD.js +17 -0
  492. package/dist/index-DqBqE4mE.js +1189 -0
  493. package/dist/index-XXo5QsX8.js +1186 -0
  494. package/dist/index.cjs +275 -0
  495. package/dist/index.d.mts +74 -0
  496. package/dist/index.d.ts +74 -0
  497. package/dist/index.mjs +162 -0
  498. package/dist/isObjectLike-BxLPOwZB.js +197 -0
  499. package/dist/isObjectLike-denQiXs1.js +190 -0
  500. package/dist/isSymbol-CbzsFbpq.js +35 -0
  501. package/dist/isSymbol-JSYWlEAg.js +33 -0
  502. package/dist/noop-C_195KLH.js +26 -0
  503. package/dist/noop-DGEx0ZLF.js +24 -0
  504. package/dist/showToast-CPzBq6jE.js +97 -0
  505. package/dist/showToast-CtAJAgUk.js +99 -0
  506. package/dist/styles.css +8743 -0
  507. package/dist/tslib.es6-BJhbHdCW.js +102 -0
  508. package/dist/tslib.es6-Bd3_MYNG.js +97 -0
  509. package/dist/useActiveLayout-B08loXfY.js +14 -0
  510. package/dist/useActiveLayout-B7Dms4v-.js +16 -0
  511. package/dist/useAssert-CooJfLZx.js +27 -0
  512. package/dist/useAssert-D7305J5v.js +27 -0
  513. package/dist/useAtlantisConfig-BqRn-LuQ.js +14 -0
  514. package/dist/{useAtlantisConfig-ed0bee66.js → useAtlantisConfig-CnUV8oop.js} +2 -2
  515. package/dist/useBatchSelect-C5xEMqrD.js +36 -0
  516. package/dist/useBatchSelect-HwBA03k3.js +38 -0
  517. package/dist/useChildComponent-BjpW2wV9.js +17 -0
  518. package/dist/useChildComponent-Bp09uQdG.js +15 -0
  519. package/dist/useFocusTrap-DIF2JjIO.js +74 -0
  520. package/dist/useFocusTrap-pmlWfXLc.js +74 -0
  521. package/dist/useInView-4v8j8FbT.js +25 -0
  522. package/dist/useInView-Cbnh3R5Z.js +25 -0
  523. package/dist/useIsMounted-BFh5dqlo.js +47 -0
  524. package/dist/useIsMounted-Ci9Knigd.js +47 -0
  525. package/dist/useOnKeyDown-C61caZ1f.js +40 -0
  526. package/dist/useOnKeyDown-DmmUp3io.js +40 -0
  527. package/dist/useRefocusOnActivator-0eNF7eV7.js +32 -0
  528. package/dist/useRefocusOnActivator-DK92YmNB.js +32 -0
  529. package/dist/useResizeObserver-CMUjE-Ai.js +1189 -0
  530. package/dist/useResizeObserver-vl1y7Akv.js +1192 -0
  531. package/dist/useResponsiveSizing-5owE3VI9.js +51 -0
  532. package/dist/useResponsiveSizing-CyY5WpAE.js +49 -0
  533. package/dist/useSafeLayoutEffect-CWhTKEyh.js +12 -0
  534. package/dist/useSafeLayoutEffect-LBYfQVIR.js +14 -0
  535. package/dist/useScrollToActive-Bfxeu0A0.js +591 -0
  536. package/dist/useScrollToActive-DDLYVBNH.js +597 -0
  537. package/package.json +409 -9
  538. package/{rollup.config.js → rollup.config.mjs} +49 -17
  539. package/dist/AnimatedSwitcher/index.js +0 -13
  540. package/dist/Autocomplete/index.js +0 -214
  541. package/dist/Avatar/index.js +0 -15
  542. package/dist/Avatar-76a799fa.js +0 -78
  543. package/dist/Banner/index.js +0 -111
  544. package/dist/Button/index.js +0 -16
  545. package/dist/Button-0c831b03.js +0 -57
  546. package/dist/ButtonDismiss/index.js +0 -17
  547. package/dist/ButtonDismiss-101366b5.js +0 -14
  548. package/dist/Card/index.js +0 -24
  549. package/dist/Card-2e03b887.js +0 -93
  550. package/dist/Checkbox/index.js +0 -18
  551. package/dist/Checkbox-67a8c60f.js +0 -63
  552. package/dist/Chip/index.js +0 -42
  553. package/dist/Chip-6395df79.js +0 -89
  554. package/dist/Chips/index.js +0 -525
  555. package/dist/Combobox/index.js +0 -41
  556. package/dist/Combobox-2f357a96.js +0 -481
  557. package/dist/ConfirmationModal/index.js +0 -32
  558. package/dist/Content/index.js +0 -12
  559. package/dist/Content-e3f7b6fc.js +0 -24
  560. package/dist/Countdown/index.js +0 -72
  561. package/dist/DataDump/index.js +0 -37
  562. package/dist/DataList/index.js +0 -1346
  563. package/dist/DataTable/index.js +0 -301
  564. package/dist/DatePicker/index.js +0 -21
  565. package/dist/DatePicker-3b086bf8.js +0 -144
  566. package/dist/DescriptionList/index.js +0 -24
  567. package/dist/Disclosure/index.js +0 -46
  568. package/dist/Divider/index.js +0 -29
  569. package/dist/Drawer/index.js +0 -50
  570. package/dist/Emphasis/index.js +0 -13
  571. package/dist/Emphasis-f298e0bd.js +0 -19
  572. package/dist/FeatureSwitch/index.js +0 -71
  573. package/dist/Flex/index.js +0 -12
  574. package/dist/Flex-d490c4db.js +0 -38
  575. package/dist/FormField/index.js +0 -24
  576. package/dist/FormField-cea3a4f7.js +0 -253
  577. package/dist/FormatEmail/index.js +0 -23
  578. package/dist/FormatFile/index.js +0 -37
  579. package/dist/FormatFile-9cc4c85a.js +0 -162
  580. package/dist/Gallery/index.js +0 -101
  581. package/dist/Glimmer/index.js +0 -15
  582. package/dist/Glimmer-84dee1ed.js +0 -77
  583. package/dist/Grid/index.js +0 -76
  584. package/dist/Heading/index.js +0 -15
  585. package/dist/Icon/index.js +0 -11
  586. package/dist/Icon-405a216c.js +0 -40
  587. package/dist/InlineLabel/index.js +0 -13
  588. package/dist/InlineLabel-79098f71.js +0 -28
  589. package/dist/InputAvatar/index.js +0 -70
  590. package/dist/InputEmail/index.js +0 -43
  591. package/dist/InputFile/index.js +0 -25
  592. package/dist/InputFile-07c0c738.js +0 -190
  593. package/dist/InputGroup/index.js +0 -12
  594. package/dist/InputGroup-8d4fd4eb.js +0 -33
  595. package/dist/InputNumber/index.js +0 -25
  596. package/dist/InputPassword/index.js +0 -41
  597. package/dist/InputText/index.js +0 -26
  598. package/dist/InputValidation/index.js +0 -17
  599. package/dist/InputValidation-ba5f81cb.js +0 -29
  600. package/dist/LightBox/index.js +0 -25
  601. package/dist/LightBox-ec2c0094.js +0 -121
  602. package/dist/Link/index.js +0 -15
  603. package/dist/List/index.js +0 -94
  604. package/dist/Markdown/index.js +0 -20
  605. package/dist/Markdown-bee813fc.js +0 -62
  606. package/dist/Menu/index.js +0 -21
  607. package/dist/Menu-9477e5e3.js +0 -139
  608. package/dist/Modal/index.js +0 -26
  609. package/dist/Modal-03731670.js +0 -74
  610. package/dist/MultiSelect/index.js +0 -182
  611. package/dist/Option-085a96d7.js +0 -19
  612. package/dist/Page/index.js +0 -78
  613. package/dist/Popover/index.js +0 -65
  614. package/dist/ProgressBar/index.js +0 -12
  615. package/dist/ProgressBar-b68edc8f.js +0 -43
  616. package/dist/RadioGroup/index.js +0 -15
  617. package/dist/RadioGroup-2a8824e9.js +0 -46
  618. package/dist/RecurringSelect/index.js +0 -227
  619. package/dist/Select/index.js +0 -26
  620. package/dist/Spinner/index.js +0 -12
  621. package/dist/Spinner-9d8fc7ff.js +0 -24
  622. package/dist/StatusIndicator/index.js +0 -11
  623. package/dist/StatusIndicator-7b5258ea.js +0 -18
  624. package/dist/StatusLabel/index.js +0 -28
  625. package/dist/Switch/index.js +0 -13
  626. package/dist/Switch-e9503dbd.js +0 -56
  627. package/dist/Table/index.js +0 -66
  628. package/dist/Tabs/index.js +0 -80
  629. package/dist/Text/index.js +0 -13
  630. package/dist/Toast/index.js +0 -111
  631. package/dist/Tooltip/index.js +0 -17
  632. package/dist/Tooltip-b9de6e57.js +0 -114
  633. package/dist/Typography/index.js +0 -12
  634. package/dist/Typography-8c397b84.js +0 -62
  635. package/dist/style-inject.es-9d2f5f4e.js +0 -30
  636. package/dist/tslib.es6-754e2961.js +0 -46
  637. /package/{.eslintrc.js → .eslintrc.cjs} +0 -0
  638. /package/dist/{AtlantisContext-64608897.js → AtlantisContext-DmLw77nN.js} +0 -0
@@ -0,0 +1,45 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var Tooltip = require('./Tooltip-CJL2w6Tj.js');
5
+ var Button = require('./Button-noDSqvxX.js');
6
+ var DataListOverflowFade = require('./DataListOverflowFade-DMC17Az8.js');
7
+ var DataList_utils = require('./DataList.utils-CMa3suIh.js');
8
+ var DataListLayoutContext = require('./DataListLayoutContext-CRwE525R.js');
9
+ var DataListItemActionsOverflow = require('./DataListItemActionsOverflow-Ca2DLUFZ.js');
10
+
11
+ function DataListActions({ children, itemsToExpose = 2, }) {
12
+ const { activeItem } = DataListLayoutContext.useDataListLayoutActionsContext();
13
+ const childrenArray = React.Children.toArray(children).filter(React.isValidElement);
14
+ const exposedActions = DataList_utils.getExposedActions(childrenArray, itemsToExpose);
15
+ childrenArray.splice(0, exposedActions.length);
16
+ return (React.createElement(DataListOverflowFade.DataListOverflowFade, null,
17
+ exposedActions.map(({ props }) => {
18
+ if (props.visible && !props.visible(activeItem))
19
+ return null;
20
+ if (!props.icon)
21
+ return null;
22
+ function getActionLabel() {
23
+ if (typeof props.label === "string") {
24
+ return props.label;
25
+ }
26
+ if (activeItem) {
27
+ return props.label(activeItem);
28
+ }
29
+ }
30
+ const actionLabel = getActionLabel();
31
+ return (React.createElement(Tooltip.Tooltip, { key: actionLabel, message: actionLabel },
32
+ React.createElement(Button.Button, { icon: props.icon, ariaLabel: actionLabel, onClick: () => {
33
+ var _a, _b;
34
+ if (activeItem) {
35
+ (_a = props.onClick) === null || _a === void 0 ? void 0 : _a.call(props, activeItem);
36
+ }
37
+ else {
38
+ (_b = props.onClick) === null || _b === void 0 ? void 0 : _b.call(props);
39
+ }
40
+ }, type: "secondary", variation: "subtle" })));
41
+ }),
42
+ React.createElement(DataListItemActionsOverflow.DataListItemActionsOverflow, { actions: childrenArray })));
43
+ }
44
+
45
+ exports.DataListActions = DataListActions;
@@ -0,0 +1,57 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var framerMotion = require('framer-motion');
5
+ var useFocusTrap = require('./useFocusTrap-pmlWfXLc.js');
6
+ var useRefocusOnActivator = require('./useRefocusOnActivator-DK92YmNB.js');
7
+ var useOnKeyDown = require('./useOnKeyDown-C61caZ1f.js');
8
+ var ReactDOM = require('react-dom');
9
+ var design = require('@jobber/design');
10
+ var useIsMounted = require('./useIsMounted-Ci9Knigd.js');
11
+ var DataList_const = require('./DataList.const-CxX7Gjfz.js');
12
+
13
+ var styles = {"menu":"aokwZU8jbWU-","overlay":"XtVRP97TVSE-"};
14
+
15
+ const variants = {
16
+ hidden: { opacity: 0, y: -10 },
17
+ visible: { opacity: 1, y: 0 },
18
+ };
19
+ function DataListActionsMenu({ visible = false, position, onRequestClose, children, }) {
20
+ const [ref, setRef] = React.useState();
21
+ const mounted = useIsMounted.useIsMounted_2();
22
+ useRefocusOnActivator.useRefocusOnActivator_2(visible);
23
+ const focusTrapRef = useFocusTrap.useFocusTrap_2(visible);
24
+ useOnKeyDown.useOnKeyDown_2(onRequestClose, "Escape");
25
+ const actionsMenu = (React.createElement(framerMotion.AnimatePresence, null, visible && (React.createElement("div", { ref: focusTrapRef, onClick: handleClick },
26
+ React.createElement(framerMotion.motion.div, { role: "menu", ref: setRef, variants: variants, initial: "hidden", animate: "visible", exit: "hidden", transition: { duration: DataList_const.TRANSITION_DELAY_IN_SECONDS }, className: styles.menu, style: getPositionCssVars(), onClick: onRequestClose }, children),
27
+ React.createElement("button", { type: "button", className: styles.overlay, onClick: onRequestClose, "aria-label": "Close menu" })))));
28
+ return mounted.current
29
+ ? ReactDOM.createPortal(actionsMenu, document.body)
30
+ : actionsMenu;
31
+ function handleClick(event) {
32
+ // Prevent menu from firing the parent's onClick event when it is nested
33
+ // within a clickable list item
34
+ event.stopPropagation();
35
+ }
36
+ function getPositionCssVars() {
37
+ const { posX, posY } = getPosition();
38
+ return {
39
+ "--actions-menu-x": `${posX}px`,
40
+ "--actions-menu-y": `${posY}px`,
41
+ };
42
+ }
43
+ function getPosition() {
44
+ const rect = ref === null || ref === void 0 ? void 0 : ref.getBoundingClientRect();
45
+ const { width = 0, height = 0 } = rect || {};
46
+ const { x, y } = position;
47
+ const xIsOffScreen = x + width > window.innerWidth;
48
+ const yIsOffScreen = y + height > window.innerHeight;
49
+ const xOffSet = x + width - window.innerWidth + design.tokens["space-base"];
50
+ const yOffSet = y + height - window.innerHeight;
51
+ const newPosX = Math.floor(xIsOffScreen ? x - xOffSet : x);
52
+ const newPosY = Math.floor(yIsOffScreen ? y - yOffSet : y);
53
+ return { posX: newPosX, posY: newPosY };
54
+ }
55
+ }
56
+
57
+ exports.DataListActionsMenu = DataListActionsMenu;
@@ -0,0 +1,55 @@
1
+ import React, { useState } from 'react';
2
+ import { AnimatePresence, motion } from 'framer-motion';
3
+ import { u as useFocusTrap_2 } from './useFocusTrap-DIF2JjIO.js';
4
+ import { u as useRefocusOnActivator_2 } from './useRefocusOnActivator-0eNF7eV7.js';
5
+ import { u as useOnKeyDown_2 } from './useOnKeyDown-DmmUp3io.js';
6
+ import { createPortal } from 'react-dom';
7
+ import { tokens } from '@jobber/design';
8
+ import { u as useIsMounted_2 } from './useIsMounted-BFh5dqlo.js';
9
+ import { d as TRANSITION_DELAY_IN_SECONDS } from './DataList.const-DZaKGZRx.js';
10
+
11
+ var styles = {"menu":"aokwZU8jbWU-","overlay":"XtVRP97TVSE-"};
12
+
13
+ const variants = {
14
+ hidden: { opacity: 0, y: -10 },
15
+ visible: { opacity: 1, y: 0 },
16
+ };
17
+ function DataListActionsMenu({ visible = false, position, onRequestClose, children, }) {
18
+ const [ref, setRef] = useState();
19
+ const mounted = useIsMounted_2();
20
+ useRefocusOnActivator_2(visible);
21
+ const focusTrapRef = useFocusTrap_2(visible);
22
+ useOnKeyDown_2(onRequestClose, "Escape");
23
+ const actionsMenu = (React.createElement(AnimatePresence, null, visible && (React.createElement("div", { ref: focusTrapRef, onClick: handleClick },
24
+ React.createElement(motion.div, { role: "menu", ref: setRef, variants: variants, initial: "hidden", animate: "visible", exit: "hidden", transition: { duration: TRANSITION_DELAY_IN_SECONDS }, className: styles.menu, style: getPositionCssVars(), onClick: onRequestClose }, children),
25
+ React.createElement("button", { type: "button", className: styles.overlay, onClick: onRequestClose, "aria-label": "Close menu" })))));
26
+ return mounted.current
27
+ ? createPortal(actionsMenu, document.body)
28
+ : actionsMenu;
29
+ function handleClick(event) {
30
+ // Prevent menu from firing the parent's onClick event when it is nested
31
+ // within a clickable list item
32
+ event.stopPropagation();
33
+ }
34
+ function getPositionCssVars() {
35
+ const { posX, posY } = getPosition();
36
+ return {
37
+ "--actions-menu-x": `${posX}px`,
38
+ "--actions-menu-y": `${posY}px`,
39
+ };
40
+ }
41
+ function getPosition() {
42
+ const rect = ref === null || ref === void 0 ? void 0 : ref.getBoundingClientRect();
43
+ const { width = 0, height = 0 } = rect || {};
44
+ const { x, y } = position;
45
+ const xIsOffScreen = x + width > window.innerWidth;
46
+ const yIsOffScreen = y + height > window.innerHeight;
47
+ const xOffSet = x + width - window.innerWidth + tokens["space-base"];
48
+ const yOffSet = y + height - window.innerHeight;
49
+ const newPosX = Math.floor(xIsOffScreen ? x - xOffSet : x);
50
+ const newPosY = Math.floor(yIsOffScreen ? y - yOffSet : y);
51
+ return { posX: newPosX, posY: newPosY };
52
+ }
53
+ }
54
+
55
+ export { DataListActionsMenu as D };
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import { u as useDataListContext } from './DataListContext-tYtmL4Rx.js';
3
+ import { D as DataListActions } from './DataListActions-C6kLL6bk.js';
4
+ import { u as useResponsiveSizing } from './useResponsiveSizing-CyY5WpAE.js';
5
+
6
+ var styles = {"bulkActions":"v-GrdlFpBLk-"};
7
+
8
+ // This component is meant to capture the props of the DataList.BulkActions
9
+ function DataListBulkActions(
10
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
11
+ _) {
12
+ return null;
13
+ }
14
+ function InternalDataListBulkActions() {
15
+ const { bulkActionsComponent } = useDataListContext();
16
+ if (!bulkActionsComponent)
17
+ return null;
18
+ const { children } = bulkActionsComponent.props;
19
+ const { sm } = useResponsiveSizing();
20
+ // Collapse all actions under "More actions" when breakpoint is smaller than sm
21
+ const itemsToExpose = sm ? 3 : 0;
22
+ return (React.createElement("div", { className: styles.bulkActions },
23
+ React.createElement(DataListActions, { itemsToExpose: itemsToExpose }, children)));
24
+ }
25
+
26
+ export { DataListBulkActions as D, InternalDataListBulkActions as I };
@@ -0,0 +1,29 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var DataListContext = require('./DataListContext-CjeCQOQO.js');
5
+ var DataListActions = require('./DataListActions-CIGEBlZS.js');
6
+ var useResponsiveSizing = require('./useResponsiveSizing-5owE3VI9.js');
7
+
8
+ var styles = {"bulkActions":"v-GrdlFpBLk-"};
9
+
10
+ // This component is meant to capture the props of the DataList.BulkActions
11
+ function DataListBulkActions(
12
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
13
+ _) {
14
+ return null;
15
+ }
16
+ function InternalDataListBulkActions() {
17
+ const { bulkActionsComponent } = DataListContext.useDataListContext();
18
+ if (!bulkActionsComponent)
19
+ return null;
20
+ const { children } = bulkActionsComponent.props;
21
+ const { sm } = useResponsiveSizing.useResponsiveSizing();
22
+ // Collapse all actions under "More actions" when breakpoint is smaller than sm
23
+ const itemsToExpose = sm ? 3 : 0;
24
+ return (React.createElement("div", { className: styles.bulkActions },
25
+ React.createElement(DataListActions.DataListActions, { itemsToExpose: itemsToExpose }, children)));
26
+ }
27
+
28
+ exports.DataListBulkActions = DataListBulkActions;
29
+ exports.InternalDataListBulkActions = InternalDataListBulkActions;
@@ -0,0 +1,29 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var noop = require('./noop-C_195KLH.js');
5
+
6
+ const defaultValues = {
7
+ title: "",
8
+ data: [],
9
+ headers: {},
10
+ children: [],
11
+ selected: [],
12
+ layoutBreakpoints: [],
13
+ layouts: {
14
+ xs: children => React.createElement(React.Fragment, null, children),
15
+ sm: children => React.createElement(React.Fragment, null, children),
16
+ md: children => React.createElement(React.Fragment, null, children),
17
+ lg: children => React.createElement(React.Fragment, null, children),
18
+ xl: children => React.createElement(React.Fragment, null, children),
19
+ },
20
+ registerLayout: noop.noop,
21
+ };
22
+ const DataListContext = React.createContext(defaultValues);
23
+ function useDataListContext() {
24
+ return React.useContext(DataListContext);
25
+ }
26
+
27
+ exports.DataListContext = DataListContext;
28
+ exports.defaultValues = defaultValues;
29
+ exports.useDataListContext = useDataListContext;
@@ -0,0 +1,25 @@
1
+ import React, { createContext, useContext } from 'react';
2
+ import { n as noop } from './noop-DGEx0ZLF.js';
3
+
4
+ const defaultValues = {
5
+ title: "",
6
+ data: [],
7
+ headers: {},
8
+ children: [],
9
+ selected: [],
10
+ layoutBreakpoints: [],
11
+ layouts: {
12
+ xs: children => React.createElement(React.Fragment, null, children),
13
+ sm: children => React.createElement(React.Fragment, null, children),
14
+ md: children => React.createElement(React.Fragment, null, children),
15
+ lg: children => React.createElement(React.Fragment, null, children),
16
+ xl: children => React.createElement(React.Fragment, null, children),
17
+ },
18
+ registerLayout: noop,
19
+ };
20
+ const DataListContext = createContext(defaultValues);
21
+ function useDataListContext() {
22
+ return useContext(DataListContext);
23
+ }
24
+
25
+ export { DataListContext as D, defaultValues as d, useDataListContext as u };
@@ -0,0 +1,50 @@
1
+ import React, { useContext, cloneElement } from 'react';
2
+ import { D as DataListContext } from './DataListContext-tYtmL4Rx.js';
3
+ import { T as Text } from './Text-B1bIoWYr.js';
4
+ import { B as Button } from './Button-DK1Px9LS.js';
5
+ import { E as EMPTY_FILTER_RESULTS_MESSAGE, b as EMPTY_RESULTS_MESSAGE, c as EMPTY_STATE_ACTION_BUTTON_ONLY_ERROR } from './DataList.const-DZaKGZRx.js';
6
+
7
+ var styles = {"emptyStateWrapper":"zg3w9nQga-M-"};
8
+
9
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
10
+ function DataListEmptyState(_) {
11
+ return null;
12
+ }
13
+ function InternalDataListEmptyState() {
14
+ const { emptyStateComponents: components, filtered } = useContext(DataListContext);
15
+ const { message, action } = getMessages();
16
+ return (React.createElement("div", { className: styles.emptyStateWrapper },
17
+ React.createElement(Text, { align: "center" }, message),
18
+ renderButton(action)));
19
+ function getMessages() {
20
+ const { defaultEmptyState, filteredEmptyState } = getEmptyStates(components);
21
+ if (filtered) {
22
+ return {
23
+ message: (filteredEmptyState === null || filteredEmptyState === void 0 ? void 0 : filteredEmptyState.props.message) || EMPTY_FILTER_RESULTS_MESSAGE,
24
+ action: filteredEmptyState === null || filteredEmptyState === void 0 ? void 0 : filteredEmptyState.props.action,
25
+ };
26
+ }
27
+ return {
28
+ message: (defaultEmptyState === null || defaultEmptyState === void 0 ? void 0 : defaultEmptyState.props.message) || EMPTY_RESULTS_MESSAGE,
29
+ action: defaultEmptyState === null || defaultEmptyState === void 0 ? void 0 : defaultEmptyState.props.action,
30
+ };
31
+ }
32
+ }
33
+ function renderButton(action) {
34
+ if (action) {
35
+ if (action.type === Button) {
36
+ return cloneElement(action, {
37
+ variation: action.props.variation || "subtle",
38
+ });
39
+ }
40
+ throw new Error(EMPTY_STATE_ACTION_BUTTON_ONLY_ERROR);
41
+ }
42
+ return;
43
+ }
44
+ function getEmptyStates(components) {
45
+ const defaultEmptyState = components === null || components === void 0 ? void 0 : components.find(es => es.props.type === "empty" || es.props.type === undefined);
46
+ const filteredEmptyState = components === null || components === void 0 ? void 0 : components.find(es => es.props.type === "filtered");
47
+ return { defaultEmptyState, filteredEmptyState };
48
+ }
49
+
50
+ export { DataListEmptyState as D, InternalDataListEmptyState as I };
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var DataListContext = require('./DataListContext-CjeCQOQO.js');
5
+ var Text = require('./Text-B2v3VC_B.js');
6
+ var Button = require('./Button-noDSqvxX.js');
7
+ var DataList_const = require('./DataList.const-CxX7Gjfz.js');
8
+
9
+ var styles = {"emptyStateWrapper":"zg3w9nQga-M-"};
10
+
11
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
12
+ function DataListEmptyState(_) {
13
+ return null;
14
+ }
15
+ function InternalDataListEmptyState() {
16
+ const { emptyStateComponents: components, filtered } = React.useContext(DataListContext.DataListContext);
17
+ const { message, action } = getMessages();
18
+ return (React.createElement("div", { className: styles.emptyStateWrapper },
19
+ React.createElement(Text.Text, { align: "center" }, message),
20
+ renderButton(action)));
21
+ function getMessages() {
22
+ const { defaultEmptyState, filteredEmptyState } = getEmptyStates(components);
23
+ if (filtered) {
24
+ return {
25
+ message: (filteredEmptyState === null || filteredEmptyState === void 0 ? void 0 : filteredEmptyState.props.message) || DataList_const.EMPTY_FILTER_RESULTS_MESSAGE,
26
+ action: filteredEmptyState === null || filteredEmptyState === void 0 ? void 0 : filteredEmptyState.props.action,
27
+ };
28
+ }
29
+ return {
30
+ message: (defaultEmptyState === null || defaultEmptyState === void 0 ? void 0 : defaultEmptyState.props.message) || DataList_const.EMPTY_RESULTS_MESSAGE,
31
+ action: defaultEmptyState === null || defaultEmptyState === void 0 ? void 0 : defaultEmptyState.props.action,
32
+ };
33
+ }
34
+ }
35
+ function renderButton(action) {
36
+ if (action) {
37
+ if (action.type === Button.Button) {
38
+ return React.cloneElement(action, {
39
+ variation: action.props.variation || "subtle",
40
+ });
41
+ }
42
+ throw new Error(DataList_const.EMPTY_STATE_ACTION_BUTTON_ONLY_ERROR);
43
+ }
44
+ return;
45
+ }
46
+ function getEmptyStates(components) {
47
+ const defaultEmptyState = components === null || components === void 0 ? void 0 : components.find(es => es.props.type === "empty" || es.props.type === undefined);
48
+ const filteredEmptyState = components === null || components === void 0 ? void 0 : components.find(es => es.props.type === "filtered");
49
+ return { defaultEmptyState, filteredEmptyState };
50
+ }
51
+
52
+ exports.DataListEmptyState = DataListEmptyState;
53
+ exports.InternalDataListEmptyState = InternalDataListEmptyState;
@@ -0,0 +1,43 @@
1
+ import React from 'react';
2
+ import { D as DataListSort } from './DataListSort-D-WfgWZm.js';
3
+ import { D as DataListOverflowFade } from './DataListOverflowFade-n0EBeGj9.js';
4
+ import { u as useDataListContext } from './DataListContext-tYtmL4Rx.js';
5
+ import { g as getCompoundComponent } from './DataList.utils-9ehaD0Qv.js';
6
+ import { u as useResponsiveSizing } from './useResponsiveSizing-CyY5WpAE.js';
7
+
8
+ function useShowHeader() {
9
+ const { headerVisibility } = useDataListContext();
10
+ if (headerVisibility === undefined)
11
+ return true;
12
+ const sizes = useResponsiveSizing();
13
+ const sizeKeys = Object.keys(sizes);
14
+ const showHeader = sizeKeys.reduce((previous, breakpoint) => {
15
+ const isHeaderVisible = headerVisibility[breakpoint] || false;
16
+ const isBreakpointTriggered = sizes[breakpoint];
17
+ return previous || (isBreakpointTriggered && isHeaderVisible);
18
+ }, false);
19
+ return showHeader;
20
+ }
21
+
22
+ // This component is meant to capture the props of the DataList.Filters
23
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
24
+ function DataListFilters(_) {
25
+ return null;
26
+ }
27
+ /**
28
+ * Renders the DataList.Filters component
29
+ */
30
+ function InternalDataListFilters() {
31
+ const { children: parentChildren } = useDataListContext();
32
+ const showHeader = useShowHeader();
33
+ const showSortButton = !showHeader;
34
+ const component = getCompoundComponent(parentChildren, DataListFilters);
35
+ if (!showSortButton && !component)
36
+ return null;
37
+ const children = component === null || component === void 0 ? void 0 : component.props.children;
38
+ return (React.createElement(DataListOverflowFade, null,
39
+ children && children,
40
+ showSortButton && React.createElement(DataListSort, null)));
41
+ }
42
+
43
+ export { DataListFilters as D, InternalDataListFilters as I };
@@ -0,0 +1,46 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var DataListSort = require('./DataListSort-DPworNPJ.js');
5
+ var DataListOverflowFade = require('./DataListOverflowFade-DMC17Az8.js');
6
+ var DataListContext = require('./DataListContext-CjeCQOQO.js');
7
+ var DataList_utils = require('./DataList.utils-CMa3suIh.js');
8
+ var useResponsiveSizing = require('./useResponsiveSizing-5owE3VI9.js');
9
+
10
+ function useShowHeader() {
11
+ const { headerVisibility } = DataListContext.useDataListContext();
12
+ if (headerVisibility === undefined)
13
+ return true;
14
+ const sizes = useResponsiveSizing.useResponsiveSizing();
15
+ const sizeKeys = Object.keys(sizes);
16
+ const showHeader = sizeKeys.reduce((previous, breakpoint) => {
17
+ const isHeaderVisible = headerVisibility[breakpoint] || false;
18
+ const isBreakpointTriggered = sizes[breakpoint];
19
+ return previous || (isBreakpointTriggered && isHeaderVisible);
20
+ }, false);
21
+ return showHeader;
22
+ }
23
+
24
+ // This component is meant to capture the props of the DataList.Filters
25
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
26
+ function DataListFilters(_) {
27
+ return null;
28
+ }
29
+ /**
30
+ * Renders the DataList.Filters component
31
+ */
32
+ function InternalDataListFilters() {
33
+ const { children: parentChildren } = DataListContext.useDataListContext();
34
+ const showHeader = useShowHeader();
35
+ const showSortButton = !showHeader;
36
+ const component = DataList_utils.getCompoundComponent(parentChildren, DataListFilters);
37
+ if (!showSortButton && !component)
38
+ return null;
39
+ const children = component === null || component === void 0 ? void 0 : component.props.children;
40
+ return (React.createElement(DataListOverflowFade.DataListOverflowFade, null,
41
+ children && children,
42
+ showSortButton && React.createElement(DataListSort.DataListSort, null)));
43
+ }
44
+
45
+ exports.DataListFilters = DataListFilters;
46
+ exports.InternalDataListFilters = InternalDataListFilters;
@@ -0,0 +1,93 @@
1
+ import React from 'react';
2
+ import { u as useDataListContext } from './DataListContext-tYtmL4Rx.js';
3
+ import { c as generateHeaderElements, s as sortBreakpoints } from './DataList.utils-9ehaD0Qv.js';
4
+ import { u as useResponsiveSizing } from './useResponsiveSizing-CyY5WpAE.js';
5
+ import classnames from 'classnames';
6
+ import { A as AnimatedSwitcher } from './AnimatedSwitcher-CblJS560.js';
7
+ import { T as Text } from './Text-B1bIoWYr.js';
8
+ import { B as Button } from './Button-DK1Px9LS.js';
9
+ import { C as Checkbox } from './Checkbox-BcFHMjuY.js';
10
+ import { s as styles } from './DataList-Cc_fUM76.js';
11
+ import { I as InternalDataListBulkActions } from './DataListBulkActions-BSzm2WNu.js';
12
+ import { u as useBatchSelect } from './useBatchSelect-C5xEMqrD.js';
13
+ import { u as useActiveLayout } from './useActiveLayout-B08loXfY.js';
14
+
15
+ function DataListHeaderCheckbox({ children }) {
16
+ const { sm } = useResponsiveSizing();
17
+ const { data, totalCount } = useDataListContext();
18
+ const { canSelectAll, hasAtLeastOneSelected, isSelectAll, selectedCount, selectedIDs, selected, onSelectAll, onSelect, } = useBatchSelect();
19
+ // If there's no onSelectAll or onSelect, we don't need to render the checkbox.
20
+ if (!canSelectAll)
21
+ return children;
22
+ const deselectText = sm ? "Deselect All" : "Deselect";
23
+ const selectedLabel = selectedCount ? `${selectedCount} selected` : "";
24
+ return (React.createElement("div", { className: styles.selectable },
25
+ React.createElement("div", { className: classnames(styles.selectAllCheckbox, {
26
+ [styles.visible]: canSelectAll,
27
+ }) },
28
+ React.createElement(Checkbox, { checked: isAllSelected(), indeterminate: isIndeterminate(), onChange: handleSelectAll },
29
+ React.createElement("div", { className: styles.srOnly }, selectedLabel))),
30
+ React.createElement(AnimatedSwitcher, { switched: hasAtLeastOneSelected, initialChild: children, switchTo: React.createElement("div", { className: styles.batchSelectContainer },
31
+ React.createElement("div", { className: styles.headerBatchSelect },
32
+ Boolean(selectedCount) && React.createElement(Text, null,
33
+ selectedCount,
34
+ " selected"),
35
+ React.createElement(Button, { label: deselectText, onClick: () => onSelect === null || onSelect === void 0 ? void 0 : onSelect([]), type: "tertiary" })),
36
+ React.createElement(InternalDataListBulkActions, null)) })));
37
+ function isIndeterminate() {
38
+ if (isSelectAll)
39
+ return selectedIDs.length > 0;
40
+ return selectedCount > 0 && !isAllSelected();
41
+ }
42
+ function isAllSelected() {
43
+ if (isSelectAll)
44
+ return true;
45
+ // If there's a totalCount, we can use that to accurately determine if the
46
+ // user have "selected all".
47
+ if (totalCount) {
48
+ return totalCount === selectedCount;
49
+ }
50
+ // Otherwise, we'll use the total count of data. This is not as reliable, as
51
+ // it's possible that the would select all loaded data while we're
52
+ // loading more. It's still hard to get to that state as the load more
53
+ // triggers before you see the last item.
54
+ return data.length > 0 && selectedCount >= data.length;
55
+ }
56
+ function handleSelectAll() {
57
+ if (isAllSelected()) {
58
+ return onSelectAll === null || onSelectAll === void 0 ? void 0 : onSelectAll([]);
59
+ }
60
+ onSelectAll === null || onSelectAll === void 0 ? void 0 : onSelectAll({ totalCount: getTotalCount(), unselected: [] });
61
+ }
62
+ function getTotalCount() {
63
+ if (selected && "totalCount" in selected)
64
+ return selected.totalCount;
65
+ if (totalCount)
66
+ return totalCount;
67
+ return 0;
68
+ }
69
+ }
70
+
71
+ function DataListHeader() {
72
+ const breakpoints = useResponsiveSizing();
73
+ const { headerVisibility = { xs: true, sm: true, md: true, lg: true, xl: true }, headers, layoutBreakpoints, } = useDataListContext();
74
+ const { hasAtLeastOneSelected } = useBatchSelect();
75
+ const size = getVisibleSize();
76
+ const { layout } = useActiveLayout();
77
+ const visible = headerVisibility[size];
78
+ if ((!visible && !hasAtLeastOneSelected) || !layout)
79
+ return null;
80
+ const headerData = generateHeaderElements(headers);
81
+ if (!headerData)
82
+ return null;
83
+ return (React.createElement("div", { className: styles.headerTitles },
84
+ React.createElement(DataListHeaderCheckbox, null, layout(headerData))));
85
+ function getVisibleSize() {
86
+ const visibilityKeys = Object.keys(headerVisibility);
87
+ const headerBreakpoints = sortBreakpoints(visibilityKeys).reverse();
88
+ const visibleHeaderSize = headerBreakpoints.find(key => breakpoints[key]);
89
+ return visibleHeaderSize || layoutBreakpoints[0];
90
+ }
91
+ }
92
+
93
+ export { DataListHeader as D };
@@ -0,0 +1,95 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var DataListContext = require('./DataListContext-CjeCQOQO.js');
5
+ var DataList_utils = require('./DataList.utils-CMa3suIh.js');
6
+ var useResponsiveSizing = require('./useResponsiveSizing-5owE3VI9.js');
7
+ var classnames = require('classnames');
8
+ var AnimatedSwitcher = require('./AnimatedSwitcher-C5f61KU3.js');
9
+ var Text = require('./Text-B2v3VC_B.js');
10
+ var Button = require('./Button-noDSqvxX.js');
11
+ var Checkbox = require('./Checkbox-BshHYo-R.js');
12
+ var DataList = require('./DataList-Bmcmjt1A.js');
13
+ var DataListBulkActions = require('./DataListBulkActions-CD9jB0pD.js');
14
+ var useBatchSelect = require('./useBatchSelect-HwBA03k3.js');
15
+ var useActiveLayout = require('./useActiveLayout-B7Dms4v-.js');
16
+
17
+ function DataListHeaderCheckbox({ children }) {
18
+ const { sm } = useResponsiveSizing.useResponsiveSizing();
19
+ const { data, totalCount } = DataListContext.useDataListContext();
20
+ const { canSelectAll, hasAtLeastOneSelected, isSelectAll, selectedCount, selectedIDs, selected, onSelectAll, onSelect, } = useBatchSelect.useBatchSelect();
21
+ // If there's no onSelectAll or onSelect, we don't need to render the checkbox.
22
+ if (!canSelectAll)
23
+ return children;
24
+ const deselectText = sm ? "Deselect All" : "Deselect";
25
+ const selectedLabel = selectedCount ? `${selectedCount} selected` : "";
26
+ return (React.createElement("div", { className: DataList.styles.selectable },
27
+ React.createElement("div", { className: classnames(DataList.styles.selectAllCheckbox, {
28
+ [DataList.styles.visible]: canSelectAll,
29
+ }) },
30
+ React.createElement(Checkbox.Checkbox, { checked: isAllSelected(), indeterminate: isIndeterminate(), onChange: handleSelectAll },
31
+ React.createElement("div", { className: DataList.styles.srOnly }, selectedLabel))),
32
+ React.createElement(AnimatedSwitcher.AnimatedSwitcher, { switched: hasAtLeastOneSelected, initialChild: children, switchTo: React.createElement("div", { className: DataList.styles.batchSelectContainer },
33
+ React.createElement("div", { className: DataList.styles.headerBatchSelect },
34
+ Boolean(selectedCount) && React.createElement(Text.Text, null,
35
+ selectedCount,
36
+ " selected"),
37
+ React.createElement(Button.Button, { label: deselectText, onClick: () => onSelect === null || onSelect === void 0 ? void 0 : onSelect([]), type: "tertiary" })),
38
+ React.createElement(DataListBulkActions.InternalDataListBulkActions, null)) })));
39
+ function isIndeterminate() {
40
+ if (isSelectAll)
41
+ return selectedIDs.length > 0;
42
+ return selectedCount > 0 && !isAllSelected();
43
+ }
44
+ function isAllSelected() {
45
+ if (isSelectAll)
46
+ return true;
47
+ // If there's a totalCount, we can use that to accurately determine if the
48
+ // user have "selected all".
49
+ if (totalCount) {
50
+ return totalCount === selectedCount;
51
+ }
52
+ // Otherwise, we'll use the total count of data. This is not as reliable, as
53
+ // it's possible that the would select all loaded data while we're
54
+ // loading more. It's still hard to get to that state as the load more
55
+ // triggers before you see the last item.
56
+ return data.length > 0 && selectedCount >= data.length;
57
+ }
58
+ function handleSelectAll() {
59
+ if (isAllSelected()) {
60
+ return onSelectAll === null || onSelectAll === void 0 ? void 0 : onSelectAll([]);
61
+ }
62
+ onSelectAll === null || onSelectAll === void 0 ? void 0 : onSelectAll({ totalCount: getTotalCount(), unselected: [] });
63
+ }
64
+ function getTotalCount() {
65
+ if (selected && "totalCount" in selected)
66
+ return selected.totalCount;
67
+ if (totalCount)
68
+ return totalCount;
69
+ return 0;
70
+ }
71
+ }
72
+
73
+ function DataListHeader() {
74
+ const breakpoints = useResponsiveSizing.useResponsiveSizing();
75
+ const { headerVisibility = { xs: true, sm: true, md: true, lg: true, xl: true }, headers, layoutBreakpoints, } = DataListContext.useDataListContext();
76
+ const { hasAtLeastOneSelected } = useBatchSelect.useBatchSelect();
77
+ const size = getVisibleSize();
78
+ const { layout } = useActiveLayout.useActiveLayout();
79
+ const visible = headerVisibility[size];
80
+ if ((!visible && !hasAtLeastOneSelected) || !layout)
81
+ return null;
82
+ const headerData = DataList_utils.generateHeaderElements(headers);
83
+ if (!headerData)
84
+ return null;
85
+ return (React.createElement("div", { className: DataList.styles.headerTitles },
86
+ React.createElement(DataListHeaderCheckbox, null, layout(headerData))));
87
+ function getVisibleSize() {
88
+ const visibilityKeys = Object.keys(headerVisibility);
89
+ const headerBreakpoints = DataList_utils.sortBreakpoints(visibilityKeys).reverse();
90
+ const visibleHeaderSize = headerBreakpoints.find(key => breakpoints[key]);
91
+ return visibleHeaderSize || layoutBreakpoints[0];
92
+ }
93
+ }
94
+
95
+ exports.DataListHeader = DataListHeader;