@payloadcms/ui 3.2.2 → 3.2.3-canary.3e78927

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 (340) hide show
  1. package/dist/elements/AddNewRelation/index.js +40 -40
  2. package/dist/elements/AddNewRelation/index.js.map +1 -1
  3. package/dist/elements/AddNewRelation/useRelatedCollections.js +3 -3
  4. package/dist/elements/AddNewRelation/useRelatedCollections.js.map +1 -1
  5. package/dist/elements/AnimateHeight/index.d.ts.map +1 -1
  6. package/dist/elements/AnimateHeight/index.js +4 -1
  7. package/dist/elements/AnimateHeight/index.js.map +1 -1
  8. package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts +2 -1
  9. package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts.map +1 -1
  10. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +67 -79
  11. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
  12. package/dist/elements/ArrayAction/index.js +10 -10
  13. package/dist/elements/ArrayAction/index.js.map +1 -1
  14. package/dist/elements/BulkUpload/ActionsBar/index.js +13 -13
  15. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  16. package/dist/elements/BulkUpload/AddingFilesView/index.js +14 -14
  17. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  18. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +4 -4
  19. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  20. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +3 -3
  21. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
  22. package/dist/elements/BulkUpload/FileSidebar/index.js +29 -26
  23. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  24. package/dist/elements/BulkUpload/FormsManager/index.js +2 -0
  25. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  26. package/dist/elements/BulkUpload/index.js +8 -8
  27. package/dist/elements/BulkUpload/index.js.map +1 -1
  28. package/dist/elements/CodeEditor/CodeEditor.js +28 -32
  29. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  30. package/dist/elements/Collapsible/index.js +13 -13
  31. package/dist/elements/Collapsible/index.js.map +1 -1
  32. package/dist/elements/ColumnSelector/index.js +10 -10
  33. package/dist/elements/ColumnSelector/index.js.map +1 -1
  34. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  35. package/dist/elements/DatePicker/DatePicker.js +4 -4
  36. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  37. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  38. package/dist/elements/DeleteMany/index.js +10 -14
  39. package/dist/elements/DeleteMany/index.js.map +1 -1
  40. package/dist/elements/DocumentControls/index.js +9 -9
  41. package/dist/elements/DocumentControls/index.js.map +1 -1
  42. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +4 -4
  43. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  44. package/dist/elements/DocumentDrawer/index.js +47 -47
  45. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  46. package/dist/elements/DocumentLocked/index.js +21 -21
  47. package/dist/elements/DocumentLocked/index.js.map +1 -1
  48. package/dist/elements/DocumentTakeOver/index.js +10 -10
  49. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  50. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +9 -9
  51. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  52. package/dist/elements/DraggableSortable/index.js +11 -11
  53. package/dist/elements/DraggableSortable/index.js.map +1 -1
  54. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +8 -8
  55. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  56. package/dist/elements/Drawer/index.js +38 -38
  57. package/dist/elements/Drawer/index.js.map +1 -1
  58. package/dist/elements/Drawer/useDrawerSlug.js +3 -3
  59. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  60. package/dist/elements/EditMany/index.d.ts.map +1 -1
  61. package/dist/elements/EditMany/index.js +32 -33
  62. package/dist/elements/EditMany/index.js.map +1 -1
  63. package/dist/elements/FieldSelect/index.js +17 -16
  64. package/dist/elements/FieldSelect/index.js.map +1 -1
  65. package/dist/elements/FileDetails/DraggableFileDetails/index.js +15 -15
  66. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  67. package/dist/elements/FileDetails/FileMeta/index.js +15 -15
  68. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  69. package/dist/elements/FullscreenModal/index.js +4 -4
  70. package/dist/elements/FullscreenModal/index.js.map +1 -1
  71. package/dist/elements/Hamburger/index.js +4 -4
  72. package/dist/elements/Hamburger/index.js.map +1 -1
  73. package/dist/elements/HydrateAuthProvider/index.js +3 -3
  74. package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
  75. package/dist/elements/LeaveWithoutSaving/index.js +11 -11
  76. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  77. package/dist/elements/ListDrawer/index.js +19 -18
  78. package/dist/elements/ListDrawer/index.js.map +1 -1
  79. package/dist/elements/ListSelection/index.js +3 -3
  80. package/dist/elements/ListSelection/index.js.map +1 -1
  81. package/dist/elements/Loading/index.js +15 -15
  82. package/dist/elements/Loading/index.js.map +1 -1
  83. package/dist/elements/LoadingOverlay/index.js +18 -16
  84. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  85. package/dist/elements/Localizer/LocalizerLabel/index.js +5 -5
  86. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  87. package/dist/elements/Localizer/index.d.ts.map +1 -1
  88. package/dist/elements/Localizer/index.js +20 -19
  89. package/dist/elements/Localizer/index.js.map +1 -1
  90. package/dist/elements/Locked/index.js +3 -3
  91. package/dist/elements/Locked/index.js.map +1 -1
  92. package/dist/elements/Logout/index.js +7 -7
  93. package/dist/elements/Logout/index.js.map +1 -1
  94. package/dist/elements/Nav/NavToggler/index.js +13 -13
  95. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  96. package/dist/elements/NavGroup/index.js +12 -12
  97. package/dist/elements/NavGroup/index.js.map +1 -1
  98. package/dist/elements/PerPage/index.js +7 -7
  99. package/dist/elements/PerPage/index.js.map +1 -1
  100. package/dist/elements/Pill/index.js +8 -8
  101. package/dist/elements/Pill/index.js.map +1 -1
  102. package/dist/elements/Popup/index.js +1 -0
  103. package/dist/elements/Popup/index.js.map +1 -1
  104. package/dist/elements/PreviewButton/index.js +3 -3
  105. package/dist/elements/PreviewButton/index.js.map +1 -1
  106. package/dist/elements/PublishButton/index.js +28 -28
  107. package/dist/elements/PublishButton/index.js.map +1 -1
  108. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  109. package/dist/elements/PublishMany/index.js +10 -10
  110. package/dist/elements/PublishMany/index.js.map +1 -1
  111. package/dist/elements/ReactSelect/Input/index.d.ts +2 -2
  112. package/dist/elements/ReactSelect/Input/index.d.ts.map +1 -1
  113. package/dist/elements/ReactSelect/Input/index.js.map +1 -1
  114. package/dist/elements/ReactSelect/MultiValue/index.js +10 -10
  115. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  116. package/dist/elements/ReactSelect/MultiValueRemove/index.js +5 -5
  117. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  118. package/dist/elements/ReactSelect/index.js.map +1 -1
  119. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +4 -4
  120. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  121. package/dist/elements/RelationshipTable/index.js +278 -142
  122. package/dist/elements/RelationshipTable/index.js.map +1 -1
  123. package/dist/elements/RenderIfInViewport/index.js +3 -3
  124. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  125. package/dist/elements/RenderTitle/index.js +6 -6
  126. package/dist/elements/RenderTitle/index.js.map +1 -1
  127. package/dist/elements/SelectAll/index.js +3 -3
  128. package/dist/elements/SelectAll/index.js.map +1 -1
  129. package/dist/elements/SelectRow/index.js +6 -6
  130. package/dist/elements/SelectRow/index.js.map +1 -1
  131. package/dist/elements/ShimmerEffect/index.js +7 -7
  132. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  133. package/dist/elements/SortColumn/index.js +16 -16
  134. package/dist/elements/SortColumn/index.js.map +1 -1
  135. package/dist/elements/SortComplex/index.d.ts.map +1 -1
  136. package/dist/elements/SortComplex/index.js +38 -51
  137. package/dist/elements/SortComplex/index.js.map +1 -1
  138. package/dist/elements/Status/index.js +38 -35
  139. package/dist/elements/Status/index.js.map +1 -1
  140. package/dist/elements/StayLoggedIn/index.js +12 -12
  141. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  142. package/dist/elements/StepNav/SetStepNav.js +3 -3
  143. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  144. package/dist/elements/StepNav/context.js +3 -3
  145. package/dist/elements/StepNav/context.js.map +1 -1
  146. package/dist/elements/StepNav/index.js +9 -9
  147. package/dist/elements/StepNav/index.js.map +1 -1
  148. package/dist/elements/Table/DefaultCell/fields/Date/index.js +3 -3
  149. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  150. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +31 -31
  151. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  152. package/dist/elements/Table/DefaultCell/fields/Select/index.js +3 -3
  153. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  154. package/dist/elements/Table/DefaultCell/index.js +15 -15
  155. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  156. package/dist/elements/Table/RelationshipProvider/index.js +12 -9
  157. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  158. package/dist/elements/TableColumns/RenderDefaultCell/index.js +6 -6
  159. package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -1
  160. package/dist/elements/Thumbnail/index.js +27 -27
  161. package/dist/elements/Thumbnail/index.js.map +1 -1
  162. package/dist/elements/ThumbnailCard/index.js +10 -10
  163. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  164. package/dist/elements/Tooltip/index.js +29 -24
  165. package/dist/elements/Tooltip/index.js.map +1 -1
  166. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  167. package/dist/elements/UnpublishMany/index.js +11 -11
  168. package/dist/elements/UnpublishMany/index.js.map +1 -1
  169. package/dist/elements/Upload/index.js +5 -5
  170. package/dist/elements/Upload/index.js.map +1 -1
  171. package/dist/elements/WhereBuilder/Condition/Number/index.js +3 -3
  172. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  173. package/dist/elements/WhereBuilder/Condition/Select/index.js +13 -10
  174. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  175. package/dist/elements/WhereBuilder/Condition/Text/index.js +5 -5
  176. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  177. package/dist/elements/WhereBuilder/Condition/index.js +45 -45
  178. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  179. package/dist/elements/WhereBuilder/index.js +11 -11
  180. package/dist/elements/WhereBuilder/index.js.map +1 -1
  181. package/dist/exports/client/{DatePicker-QST7QHAX.js → CodeEditor-RZ32B2QF.js} +2 -2
  182. package/dist/exports/client/DatePicker-QW5V4BQV.js +14 -0
  183. package/dist/exports/client/DatePicker-QW5V4BQV.js.map +8 -0
  184. package/dist/exports/client/chunk-CKHKQPOO.js +26 -0
  185. package/dist/exports/client/{CodeEditor-5MCGR4GL.js.map → chunk-CKHKQPOO.js.map} +4 -4
  186. package/dist/exports/client/chunk-KZPVHMBR.js +29 -0
  187. package/dist/exports/client/chunk-KZPVHMBR.js.map +8 -0
  188. package/dist/exports/client/index.d.ts +8 -1
  189. package/dist/exports/client/index.d.ts.map +1 -1
  190. package/dist/exports/client/index.js +16 -16
  191. package/dist/exports/client/index.js.map +4 -4
  192. package/dist/fields/Array/ArrayRow.js +38 -38
  193. package/dist/fields/Array/ArrayRow.js.map +1 -1
  194. package/dist/fields/Array/index.d.ts.map +1 -1
  195. package/dist/fields/Array/index.js +27 -25
  196. package/dist/fields/Array/index.js.map +1 -1
  197. package/dist/fields/Blocks/BlockRow.js +51 -49
  198. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  199. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js +3 -3
  200. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -1
  201. package/dist/fields/Blocks/BlocksDrawer/index.js +13 -13
  202. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  203. package/dist/fields/Blocks/RowActions.js +25 -25
  204. package/dist/fields/Blocks/RowActions.js.map +1 -1
  205. package/dist/fields/Blocks/SectionTitle/index.js +8 -8
  206. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  207. package/dist/fields/Blocks/index.d.ts.map +1 -1
  208. package/dist/fields/Blocks/index.js +26 -24
  209. package/dist/fields/Blocks/index.js.map +1 -1
  210. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  211. package/dist/fields/Collapsible/index.js +4 -2
  212. package/dist/fields/Collapsible/index.js.map +1 -1
  213. package/dist/fields/ConfirmPassword/index.js +6 -6
  214. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  215. package/dist/fields/FieldLabel/index.js +18 -18
  216. package/dist/fields/FieldLabel/index.js.map +1 -1
  217. package/dist/fields/Group/index.d.ts.map +1 -1
  218. package/dist/fields/Group/index.js +6 -4
  219. package/dist/fields/Group/index.js.map +1 -1
  220. package/dist/fields/Hidden/index.js +7 -7
  221. package/dist/fields/Hidden/index.js.map +1 -1
  222. package/dist/fields/Number/index.js +5 -5
  223. package/dist/fields/Number/index.js.map +1 -1
  224. package/dist/fields/Password/input.js +24 -24
  225. package/dist/fields/Password/input.js.map +1 -1
  226. package/dist/fields/RadioGroup/Radio/index.js +9 -9
  227. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  228. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  229. package/dist/fields/RadioGroup/index.js +4 -2
  230. package/dist/fields/RadioGroup/index.js.map +1 -1
  231. package/dist/fields/Relationship/index.d.ts.map +1 -1
  232. package/dist/fields/Relationship/index.js +4 -2
  233. package/dist/fields/Relationship/index.js.map +1 -1
  234. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +18 -18
  235. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  236. package/dist/fields/Relationship/select-components/SingleValue/index.js +18 -18
  237. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  238. package/dist/fields/Select/Input.js +28 -28
  239. package/dist/fields/Select/Input.js.map +1 -1
  240. package/dist/fields/Tabs/Tab/index.js +10 -10
  241. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  242. package/dist/fields/Tabs/index.d.ts +15 -0
  243. package/dist/fields/Tabs/index.d.ts.map +1 -1
  244. package/dist/fields/Tabs/index.js +71 -71
  245. package/dist/fields/Tabs/index.js.map +1 -1
  246. package/dist/fields/Text/Input.js +24 -24
  247. package/dist/fields/Text/Input.js.map +1 -1
  248. package/dist/fields/Textarea/Input.js +19 -19
  249. package/dist/fields/Textarea/Input.js.map +1 -1
  250. package/dist/fields/Upload/HasMany/index.js +11 -11
  251. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  252. package/dist/fields/Upload/Input.js +109 -104
  253. package/dist/fields/Upload/Input.js.map +1 -1
  254. package/dist/fields/Upload/RelationshipContent/index.js +20 -20
  255. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  256. package/dist/forms/NullifyField/index.js +3 -3
  257. package/dist/forms/NullifyField/index.js.map +1 -1
  258. package/dist/forms/RenderFields/RenderField.js +9 -9
  259. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  260. package/dist/forms/RenderFields/index.js +16 -16
  261. package/dist/forms/RenderFields/index.js.map +1 -1
  262. package/dist/forms/WatchChildErrors/index.js +10 -10
  263. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  264. package/dist/forms/useField/index.js +44 -44
  265. package/dist/forms/useField/index.js.map +1 -1
  266. package/dist/hooks/useDebounce.js +3 -3
  267. package/dist/hooks/useDebounce.js.map +1 -1
  268. package/dist/hooks/useDebouncedEffect.js +6 -6
  269. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  270. package/dist/hooks/useDelay.js +3 -3
  271. package/dist/hooks/useDelay.js.map +1 -1
  272. package/dist/hooks/useHotkey.js +18 -14
  273. package/dist/hooks/useHotkey.js.map +1 -1
  274. package/dist/hooks/usePayloadAPI.js +13 -13
  275. package/dist/hooks/usePayloadAPI.js.map +1 -1
  276. package/dist/hooks/useThrottledEffect.js +3 -3
  277. package/dist/hooks/useThrottledEffect.js.map +1 -1
  278. package/dist/providers/Actions/index.js +4 -4
  279. package/dist/providers/Actions/index.js.map +1 -1
  280. package/dist/providers/ClientFunction/index.js +3 -3
  281. package/dist/providers/ClientFunction/index.js.map +1 -1
  282. package/dist/providers/Config/index.js +9 -10
  283. package/dist/providers/Config/index.js.map +1 -1
  284. package/dist/providers/DocumentEvents/index.js +3 -3
  285. package/dist/providers/DocumentEvents/index.js.map +1 -1
  286. package/dist/providers/EditDepth/index.js +3 -3
  287. package/dist/providers/EditDepth/index.js.map +1 -1
  288. package/dist/providers/EntityVisibility/index.js +9 -10
  289. package/dist/providers/EntityVisibility/index.js.map +1 -1
  290. package/dist/providers/ListQuery/index.js +2 -2
  291. package/dist/providers/ListQuery/index.js.map +1 -1
  292. package/dist/providers/Locale/index.d.ts.map +1 -1
  293. package/dist/providers/Locale/index.js +65 -59
  294. package/dist/providers/Locale/index.js.map +1 -1
  295. package/dist/providers/Params/index.d.ts +16 -0
  296. package/dist/providers/Params/index.d.ts.map +1 -1
  297. package/dist/providers/Params/index.js +19 -4
  298. package/dist/providers/Params/index.js.map +1 -1
  299. package/dist/providers/RouteCache/index.js +6 -6
  300. package/dist/providers/RouteCache/index.js.map +1 -1
  301. package/dist/providers/SearchParams/index.d.ts +22 -4
  302. package/dist/providers/SearchParams/index.d.ts.map +1 -1
  303. package/dist/providers/SearchParams/index.js +28 -14
  304. package/dist/providers/SearchParams/index.js.map +1 -1
  305. package/dist/providers/Selection/index.d.ts.map +1 -1
  306. package/dist/providers/Selection/index.js +7 -8
  307. package/dist/providers/Selection/index.js.map +1 -1
  308. package/dist/providers/Theme/index.js +7 -7
  309. package/dist/providers/Theme/index.js.map +1 -1
  310. package/dist/providers/Translation/index.js +12 -12
  311. package/dist/providers/Translation/index.js.map +1 -1
  312. package/dist/providers/UploadEdits/index.js +3 -3
  313. package/dist/providers/UploadEdits/index.js.map +1 -1
  314. package/dist/styles.css +1 -1
  315. package/dist/utilities/buildClientFieldSchemaMap/index.js +2 -0
  316. package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
  317. package/dist/utilities/buildFieldSchemaMap/index.js +2 -0
  318. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  319. package/dist/utilities/groupNavItems.js +3 -3
  320. package/dist/utilities/groupNavItems.js.map +1 -1
  321. package/dist/utilities/parseSearchParams.d.ts +4 -0
  322. package/dist/utilities/parseSearchParams.d.ts.map +1 -0
  323. package/dist/utilities/parseSearchParams.js +9 -0
  324. package/dist/utilities/parseSearchParams.js.map +1 -0
  325. package/dist/views/Edit/Auth/index.js +47 -47
  326. package/dist/views/Edit/Auth/index.js.map +1 -1
  327. package/dist/views/Edit/SetDocumentStepNav/index.d.ts.map +1 -1
  328. package/dist/views/Edit/SetDocumentStepNav/index.js +16 -14
  329. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  330. package/dist/views/Edit/SetDocumentTitle/index.js +5 -5
  331. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  332. package/dist/views/List/index.js +20 -24
  333. package/dist/views/List/index.js.map +1 -1
  334. package/package.json +16 -17
  335. package/dist/exports/client/CodeEditor-5MCGR4GL.js +0 -26
  336. package/dist/exports/client/chunk-4SO5UCQD.js +0 -14
  337. package/dist/exports/client/chunk-4SO5UCQD.js.map +0 -8
  338. package/dist/exports/client/chunk-5LUHGAPX.js +0 -30
  339. package/dist/exports/client/chunk-5LUHGAPX.js.map +0 -8
  340. /package/dist/exports/client/{DatePicker-QST7QHAX.js.map → CodeEditor-RZ32B2QF.js.map} +0 -0
@@ -34,10 +34,10 @@ export const AddNewRelation = t0 => {
34
34
  const [selectedCollection, setSelectedCollection] = useState();
35
35
  const relatedToMany = relatedCollections.length > 1;
36
36
  let t1;
37
- if ($[0] !== relatedToMany || $[1] !== relatedCollections) {
37
+ if ($[0] !== relatedCollections || $[1] !== relatedToMany) {
38
38
  t1 = () => !relatedToMany ? relatedCollections[0] : undefined;
39
- $[0] = relatedToMany;
40
- $[1] = relatedCollections;
39
+ $[0] = relatedCollections;
40
+ $[1] = relatedToMany;
41
41
  $[2] = t1;
42
42
  } else {
43
43
  t1 = $[2];
@@ -66,7 +66,7 @@ export const AddNewRelation = t0 => {
66
66
  toggleDrawer
67
67
  } = t4;
68
68
  let t5;
69
- if ($[5] !== relationTo || $[6] !== collectionConfig || $[7] !== value || $[8] !== hasMany || $[9] !== setValue) {
69
+ if ($[5] !== collectionConfig?.slug || $[6] !== hasMany || $[7] !== relationTo || $[8] !== setValue || $[9] !== value) {
70
70
  t5 = t6 => {
71
71
  const {
72
72
  doc,
@@ -88,11 +88,11 @@ export const AddNewRelation = t0 => {
88
88
  setSelectedCollection(undefined);
89
89
  }
90
90
  };
91
- $[5] = relationTo;
92
- $[6] = collectionConfig;
93
- $[7] = value;
94
- $[8] = hasMany;
95
- $[9] = setValue;
91
+ $[5] = collectionConfig?.slug;
92
+ $[6] = hasMany;
93
+ $[7] = relationTo;
94
+ $[8] = setValue;
95
+ $[9] = value;
96
96
  $[10] = t5;
97
97
  } else {
98
98
  t5 = $[10];
@@ -130,28 +130,28 @@ export const AddNewRelation = t0 => {
130
130
  t8 = $[15];
131
131
  }
132
132
  useEffect(t7, t8);
133
- let t9;
134
133
  let t10;
135
- if ($[16] !== relatedToMany || $[17] !== selectedCollection || $[18] !== relatedCollections) {
134
+ let t9;
135
+ if ($[16] !== relatedCollections || $[17] !== relatedToMany || $[18] !== selectedCollection) {
136
136
  t9 = () => {
137
137
  if (relatedToMany && selectedCollection) {
138
138
  setCollectionConfig(relatedCollections.find(collection_0 => collection_0?.slug === selectedCollection));
139
139
  }
140
140
  };
141
141
  t10 = [selectedCollection, relatedToMany, relatedCollections];
142
- $[16] = relatedToMany;
143
- $[17] = selectedCollection;
144
- $[18] = relatedCollections;
145
- $[19] = t9;
146
- $[20] = t10;
142
+ $[16] = relatedCollections;
143
+ $[17] = relatedToMany;
144
+ $[18] = selectedCollection;
145
+ $[19] = t10;
146
+ $[20] = t9;
147
147
  } else {
148
- t9 = $[19];
149
- t10 = $[20];
148
+ t10 = $[19];
149
+ t9 = $[20];
150
150
  }
151
151
  useEffect(t9, t10);
152
152
  let t11;
153
153
  let t12;
154
- if ($[21] !== relatedToMany || $[22] !== collectionConfig || $[23] !== toggleDrawer) {
154
+ if ($[21] !== collectionConfig || $[22] !== relatedToMany || $[23] !== toggleDrawer) {
155
155
  t11 = () => {
156
156
  if (relatedToMany && collectionConfig) {
157
157
  toggleDrawer();
@@ -159,8 +159,8 @@ export const AddNewRelation = t0 => {
159
159
  }
160
160
  };
161
161
  t12 = [toggleDrawer, relatedToMany, collectionConfig];
162
- $[21] = relatedToMany;
163
- $[22] = collectionConfig;
162
+ $[21] = collectionConfig;
163
+ $[22] = relatedToMany;
164
164
  $[23] = toggleDrawer;
165
165
  $[24] = t11;
166
166
  $[25] = t12;
@@ -171,15 +171,15 @@ export const AddNewRelation = t0 => {
171
171
  useEffect(t11, t12);
172
172
  let t13;
173
173
  let t14;
174
- if ($[26] !== relatedToMany || $[27] !== isDrawerOpen) {
174
+ if ($[26] !== isDrawerOpen || $[27] !== relatedToMany) {
175
175
  t13 = () => {
176
176
  if (relatedToMany && !isDrawerOpen) {
177
177
  setCollectionConfig(undefined);
178
178
  }
179
179
  };
180
180
  t14 = [isDrawerOpen, relatedToMany];
181
- $[26] = relatedToMany;
182
- $[27] = isDrawerOpen;
181
+ $[26] = isDrawerOpen;
182
+ $[27] = relatedToMany;
183
183
  $[28] = t13;
184
184
  $[29] = t14;
185
185
  } else {
@@ -190,7 +190,7 @@ export const AddNewRelation = t0 => {
190
190
  const t15 = relatedCollections[0];
191
191
  const t16 = t15.labels.singular;
192
192
  let t17;
193
- if ($[30] !== t15.labels.singular || $[31] !== i18n || $[32] !== t || $[33] !== show || $[34] !== path || $[35] !== relatedCollections || $[36] !== unstyled || $[37] !== ButtonFromProps || $[38] !== showTooltip || $[39] !== DocumentDrawerToggler || $[40] !== onSave || $[41] !== DocumentDrawer || $[42] !== popupOpen || $[43] !== permissions || $[44] !== collectionConfig) {
193
+ if ($[30] !== ButtonFromProps || $[31] !== DocumentDrawer || $[32] !== DocumentDrawerToggler || $[33] !== collectionConfig || $[34] !== i18n || $[35] !== onSave || $[36] !== path || $[37] !== permissions || $[38] !== popupOpen || $[39] !== relatedCollections || $[40] !== show || $[41] !== showTooltip || $[42] !== t || $[43] !== t15.labels.singular || $[44] !== unstyled) {
194
194
  t17 = Symbol.for("react.early_return_sentinel");
195
195
  bb0: {
196
196
  const label = t("fields:addNewLabel", {
@@ -256,21 +256,21 @@ export const AddNewRelation = t0 => {
256
256
  break bb0;
257
257
  }
258
258
  }
259
- $[30] = t15.labels.singular;
260
- $[31] = i18n;
261
- $[32] = t;
262
- $[33] = show;
263
- $[34] = path;
264
- $[35] = relatedCollections;
265
- $[36] = unstyled;
266
- $[37] = ButtonFromProps;
267
- $[38] = showTooltip;
268
- $[39] = DocumentDrawerToggler;
269
- $[40] = onSave;
270
- $[41] = DocumentDrawer;
271
- $[42] = popupOpen;
272
- $[43] = permissions;
273
- $[44] = collectionConfig;
259
+ $[30] = ButtonFromProps;
260
+ $[31] = DocumentDrawer;
261
+ $[32] = DocumentDrawerToggler;
262
+ $[33] = collectionConfig;
263
+ $[34] = i18n;
264
+ $[35] = onSave;
265
+ $[36] = path;
266
+ $[37] = permissions;
267
+ $[38] = popupOpen;
268
+ $[39] = relatedCollections;
269
+ $[40] = show;
270
+ $[41] = showTooltip;
271
+ $[42] = t;
272
+ $[43] = t15.labels.singular;
273
+ $[44] = unstyled;
274
274
  $[45] = t17;
275
275
  } else {
276
276
  t17 = $[45];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","Fragment","useCallback","useEffect","useState","PlusIcon","useAuth","useTranslation","Button","useDocumentDrawer","Popup","PopupList","Tooltip","useRelatedCollections","baseClass","AddNewRelation","t0","$","ButtonFromProps","hasMany","path","relationTo","setValue","unstyled","value","relatedCollections","permissions","show","setShow","selectedCollection","setSelectedCollection","relatedToMany","length","t1","undefined","collectionConfig","setCollectionConfig","popupOpen","setPopupOpen","i18n","t","showTooltip","setShowTooltip","t2","slug","t3","collectionSlug","DocumentDrawer","DocumentDrawerToggler","t4","isDrawerOpen","toggleDrawer","t5","t6","doc","operation","newValue","Array","isArray","id","isNewValue","some","v","onSave","Symbol","for","state","onPopupToggle","t7","t8","collections","create","collection","t9","t10","find","collection_0","t11","t12","t13","t14","t15","t16","labels","singular","t17","label","_jsxs","className","children","_jsx","filter","Boolean","join","onClick","onMouseEnter","onMouseLeave","button","buttonStyle","tooltip","horizontalAlign","onToggleOpen","render","t18","close","closePopup","ButtonGroup","map","relatedCollection"],"sources":["../../../src/elements/AddNewRelation/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useEffect, useState } from 'react'\n\nimport type { Value } from '../../fields/Relationship/types.js'\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\nimport type { Props } from './types.js'\n\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { Popup } from '../Popup/index.js'\nimport * as PopupList from '../Popup/PopupButtonList/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\nimport './index.scss'\nimport { useRelatedCollections } from './useRelatedCollections.js'\n\nconst baseClass = 'relationship-add-new'\n\nexport const AddNewRelation: React.FC<Props> = ({\n Button: ButtonFromProps,\n hasMany,\n path,\n relationTo,\n setValue,\n unstyled,\n value,\n}) => {\n const relatedCollections = useRelatedCollections(relationTo)\n const { permissions } = useAuth()\n const [show, setShow] = useState(false)\n const [selectedCollection, setSelectedCollection] = useState<string>()\n\n const relatedToMany = relatedCollections.length > 1\n\n const [collectionConfig, setCollectionConfig] = useState<ClientCollectionConfig>(() =>\n !relatedToMany ? relatedCollections[0] : undefined,\n )\n\n const [popupOpen, setPopupOpen] = useState(false)\n const { i18n, t } = useTranslation()\n const [showTooltip, setShowTooltip] = useState(false)\n\n const [DocumentDrawer, DocumentDrawerToggler, { isDrawerOpen, toggleDrawer }] = useDocumentDrawer(\n {\n collectionSlug: collectionConfig?.slug,\n },\n )\n\n const onSave: DocumentDrawerContextType['onSave'] = useCallback(\n ({ doc, operation }) => {\n if (operation === 'create') {\n const newValue: Value = Array.isArray(relationTo)\n ? {\n relationTo: collectionConfig?.slug,\n value: doc.id,\n }\n : doc.id\n\n // ensure the value is not already in the array\n const isNewValue =\n Array.isArray(relationTo) && Array.isArray(value)\n ? !value.some((v) => v && typeof v === 'object' && v.value === doc.id)\n : value !== doc.id\n\n if (isNewValue) {\n // dispatchOptions({\n // collection: collectionConfig,\n // // TODO: fix this\n // // @ts-expect-error-next-line\n // type: 'ADD',\n // config,\n // docs: [doc],\n // i18n,\n // sort: true,\n // })\n\n if (hasMany) {\n setValue([...(Array.isArray(value) ? value : []), newValue])\n } else {\n setValue(newValue)\n }\n }\n\n setSelectedCollection(undefined)\n }\n },\n [relationTo, collectionConfig, hasMany, setValue, value],\n )\n\n const onPopupToggle = useCallback((state) => {\n setPopupOpen(state)\n }, [])\n\n useEffect(() => {\n if (permissions) {\n if (relatedCollections.length === 1) {\n setShow(permissions.collections[relatedCollections[0]?.slug]?.create)\n } else {\n setShow(\n relatedCollections.some(\n (collection) => permissions.collections[collection?.slug]?.create,\n ),\n )\n }\n }\n }, [permissions, relatedCollections])\n\n useEffect(() => {\n if (relatedToMany && selectedCollection) {\n setCollectionConfig(\n relatedCollections.find((collection) => collection?.slug === selectedCollection),\n )\n }\n }, [selectedCollection, relatedToMany, relatedCollections])\n\n useEffect(() => {\n if (relatedToMany && collectionConfig) {\n // the drawer must be rendered on the page before before opening it\n // this is why 'selectedCollection' is different from 'collectionConfig'\n toggleDrawer()\n setSelectedCollection(undefined)\n }\n }, [toggleDrawer, relatedToMany, collectionConfig])\n\n useEffect(() => {\n if (relatedToMany && !isDrawerOpen) {\n setCollectionConfig(undefined)\n }\n }, [isDrawerOpen, relatedToMany])\n\n const label = t('fields:addNewLabel', {\n label: getTranslation(relatedCollections[0].labels.singular, i18n),\n })\n\n if (show) {\n return (\n <div className={baseClass} id={`${path}-add-new`}>\n {relatedCollections.length === 1 && (\n <Fragment>\n <DocumentDrawerToggler\n className={[\n `${baseClass}__add-button`,\n unstyled && `${baseClass}__add-button--unstyled`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={() => setShowTooltip(false)}\n onMouseEnter={() => setShowTooltip(true)}\n onMouseLeave={() => setShowTooltip(false)}\n >\n {ButtonFromProps ? (\n ButtonFromProps\n ) : (\n <Fragment>\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {label}\n </Tooltip>\n <PlusIcon />\n </Fragment>\n )}\n </DocumentDrawerToggler>\n <DocumentDrawer onSave={onSave} />\n </Fragment>\n )}\n {relatedCollections.length > 1 && (\n <Fragment>\n <Popup\n button={\n ButtonFromProps ? (\n ButtonFromProps\n ) : (\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__add-button`}\n tooltip={popupOpen ? undefined : t('fields:addNew')}\n >\n <PlusIcon />\n </Button>\n )\n }\n buttonType=\"custom\"\n horizontalAlign=\"center\"\n onToggleOpen={onPopupToggle}\n render={({ close: closePopup }) => (\n <PopupList.ButtonGroup>\n {relatedCollections.map((relatedCollection) => {\n if (permissions.collections[relatedCollection?.slug].create) {\n return (\n <PopupList.Button\n className={`${baseClass}__relation-button--${relatedCollection?.slug}`}\n key={relatedCollection?.slug}\n onClick={() => {\n closePopup()\n setSelectedCollection(relatedCollection?.slug)\n }}\n >\n {getTranslation(relatedCollection?.labels?.singular, i18n)}\n </PopupList.Button>\n )\n }\n\n return null\n })}\n </PopupList.ButtonGroup>\n )}\n size=\"medium\"\n />\n {collectionConfig && permissions.collections[collectionConfig?.slug]?.create && (\n <DocumentDrawer onSave={onSave} />\n )}\n </Fragment>\n )}\n </div>\n )\n }\n return null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","Fragment","useCallback","useEffect","useState","PlusIcon","useAuth","useTranslation","Button","useDocumentDrawer","Popup","PopupList","Tooltip","useRelatedCollections","baseClass","AddNewRelation","t0","$","ButtonFromProps","hasMany","path","relationTo","setValue","unstyled","value","relatedCollections","permissions","show","setShow","selectedCollection","setSelectedCollection","relatedToMany","length","t1","undefined","collectionConfig","setCollectionConfig","popupOpen","setPopupOpen","i18n","t","showTooltip","setShowTooltip","t2","slug","t3","collectionSlug","DocumentDrawer","DocumentDrawerToggler","t4","isDrawerOpen","toggleDrawer","t5","t6","doc","operation","newValue","Array","isArray","id","isNewValue","some","v","onSave","Symbol","for","state","onPopupToggle","t7","t8","collections","create","collection","t10","t9","find","collection_0","t11","t12","t13","t14","t15","t16","labels","singular","t17","label","_jsxs","className","children","_jsx","filter","Boolean","join","onClick","onMouseEnter","onMouseLeave","button","buttonStyle","tooltip","horizontalAlign","onToggleOpen","render","t18","close","closePopup","ButtonGroup","map","relatedCollection"],"sources":["../../../src/elements/AddNewRelation/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useEffect, useState } from 'react'\n\nimport type { Value } from '../../fields/Relationship/types.js'\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\nimport type { Props } from './types.js'\n\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { Popup } from '../Popup/index.js'\nimport * as PopupList from '../Popup/PopupButtonList/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\nimport './index.scss'\nimport { useRelatedCollections } from './useRelatedCollections.js'\n\nconst baseClass = 'relationship-add-new'\n\nexport const AddNewRelation: React.FC<Props> = ({\n Button: ButtonFromProps,\n hasMany,\n path,\n relationTo,\n setValue,\n unstyled,\n value,\n}) => {\n const relatedCollections = useRelatedCollections(relationTo)\n const { permissions } = useAuth()\n const [show, setShow] = useState(false)\n const [selectedCollection, setSelectedCollection] = useState<string>()\n\n const relatedToMany = relatedCollections.length > 1\n\n const [collectionConfig, setCollectionConfig] = useState<ClientCollectionConfig>(() =>\n !relatedToMany ? relatedCollections[0] : undefined,\n )\n\n const [popupOpen, setPopupOpen] = useState(false)\n const { i18n, t } = useTranslation()\n const [showTooltip, setShowTooltip] = useState(false)\n\n const [DocumentDrawer, DocumentDrawerToggler, { isDrawerOpen, toggleDrawer }] = useDocumentDrawer(\n {\n collectionSlug: collectionConfig?.slug,\n },\n )\n\n const onSave: DocumentDrawerContextType['onSave'] = useCallback(\n ({ doc, operation }) => {\n if (operation === 'create') {\n const newValue: Value = Array.isArray(relationTo)\n ? {\n relationTo: collectionConfig?.slug,\n value: doc.id,\n }\n : doc.id\n\n // ensure the value is not already in the array\n const isNewValue =\n Array.isArray(relationTo) && Array.isArray(value)\n ? !value.some((v) => v && typeof v === 'object' && v.value === doc.id)\n : value !== doc.id\n\n if (isNewValue) {\n // dispatchOptions({\n // collection: collectionConfig,\n // // TODO: fix this\n // // @ts-expect-error-next-line\n // type: 'ADD',\n // config,\n // docs: [doc],\n // i18n,\n // sort: true,\n // })\n\n if (hasMany) {\n setValue([...(Array.isArray(value) ? value : []), newValue])\n } else {\n setValue(newValue)\n }\n }\n\n setSelectedCollection(undefined)\n }\n },\n [relationTo, collectionConfig, hasMany, setValue, value],\n )\n\n const onPopupToggle = useCallback((state) => {\n setPopupOpen(state)\n }, [])\n\n useEffect(() => {\n if (permissions) {\n if (relatedCollections.length === 1) {\n setShow(permissions.collections[relatedCollections[0]?.slug]?.create)\n } else {\n setShow(\n relatedCollections.some(\n (collection) => permissions.collections[collection?.slug]?.create,\n ),\n )\n }\n }\n }, [permissions, relatedCollections])\n\n useEffect(() => {\n if (relatedToMany && selectedCollection) {\n setCollectionConfig(\n relatedCollections.find((collection) => collection?.slug === selectedCollection),\n )\n }\n }, [selectedCollection, relatedToMany, relatedCollections])\n\n useEffect(() => {\n if (relatedToMany && collectionConfig) {\n // the drawer must be rendered on the page before before opening it\n // this is why 'selectedCollection' is different from 'collectionConfig'\n toggleDrawer()\n setSelectedCollection(undefined)\n }\n }, [toggleDrawer, relatedToMany, collectionConfig])\n\n useEffect(() => {\n if (relatedToMany && !isDrawerOpen) {\n setCollectionConfig(undefined)\n }\n }, [isDrawerOpen, relatedToMany])\n\n const label = t('fields:addNewLabel', {\n label: getTranslation(relatedCollections[0].labels.singular, i18n),\n })\n\n if (show) {\n return (\n <div className={baseClass} id={`${path}-add-new`}>\n {relatedCollections.length === 1 && (\n <Fragment>\n <DocumentDrawerToggler\n className={[\n `${baseClass}__add-button`,\n unstyled && `${baseClass}__add-button--unstyled`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={() => setShowTooltip(false)}\n onMouseEnter={() => setShowTooltip(true)}\n onMouseLeave={() => setShowTooltip(false)}\n >\n {ButtonFromProps ? (\n ButtonFromProps\n ) : (\n <Fragment>\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {label}\n </Tooltip>\n <PlusIcon />\n </Fragment>\n )}\n </DocumentDrawerToggler>\n <DocumentDrawer onSave={onSave} />\n </Fragment>\n )}\n {relatedCollections.length > 1 && (\n <Fragment>\n <Popup\n button={\n ButtonFromProps ? (\n ButtonFromProps\n ) : (\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__add-button`}\n tooltip={popupOpen ? undefined : t('fields:addNew')}\n >\n <PlusIcon />\n </Button>\n )\n }\n buttonType=\"custom\"\n horizontalAlign=\"center\"\n onToggleOpen={onPopupToggle}\n render={({ close: closePopup }) => (\n <PopupList.ButtonGroup>\n {relatedCollections.map((relatedCollection) => {\n if (permissions.collections[relatedCollection?.slug].create) {\n return (\n <PopupList.Button\n className={`${baseClass}__relation-button--${relatedCollection?.slug}`}\n key={relatedCollection?.slug}\n onClick={() => {\n closePopup()\n setSelectedCollection(relatedCollection?.slug)\n }}\n >\n {getTranslation(relatedCollection?.labels?.singular, i18n)}\n </PopupList.Button>\n )\n }\n\n return null\n })}\n </PopupList.ButtonGroup>\n )}\n size=\"medium\"\n />\n {collectionConfig && permissions.collections[collectionConfig?.slug]?.create && (\n <DocumentDrawer onSave={onSave} />\n )}\n </Fragment>\n )}\n </div>\n )\n }\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -9,7 +9,7 @@ export const useRelatedCollections = relationTo => {
9
9
  config
10
10
  } = useConfig();
11
11
  let t0;
12
- if ($[0] !== relationTo || $[1] !== config.collections) {
12
+ if ($[0] !== config || $[1] !== relationTo) {
13
13
  t0 = () => {
14
14
  if (relationTo) {
15
15
  const relations = typeof relationTo === "string" ? [relationTo] : relationTo;
@@ -17,8 +17,8 @@ export const useRelatedCollections = relationTo => {
17
17
  }
18
18
  return [];
19
19
  };
20
- $[0] = relationTo;
21
- $[1] = config.collections;
20
+ $[0] = config;
21
+ $[1] = relationTo;
22
22
  $[2] = t0;
23
23
  } else {
24
24
  t0 = $[2];
@@ -1 +1 @@
1
- {"version":3,"file":"useRelatedCollections.js","names":["c","_c","useState","useConfig","useRelatedCollections","relationTo","$","config","t0","collections","relations","map","relation","find","collection","slug","relatedCollections"],"sources":["../../../src/elements/AddNewRelation/useRelatedCollections.ts"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { useState } from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\n\nexport const useRelatedCollections = (relationTo: string | string[]): ClientCollectionConfig[] => {\n const { config } = useConfig()\n\n const [relatedCollections] = useState(() => {\n if (relationTo) {\n const relations = typeof relationTo === 'string' ? [relationTo] : relationTo\n return relations.map((relation) =>\n config.collections.find((collection) => collection.slug === relation),\n )\n }\n return []\n })\n\n return relatedCollections\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAGA,SAASC,QAAQ,QAAQ;AAEzB,SAASC,SAAS,QAAQ;AAE1B,OAAO,MAAMC,qBAAA,GAAwBC,UAAA;EAAA,MAAAC,CAAA,GAAAL,EAAA;EACnC;IAAAM;EAAA,IAAmBJ,SAAA;EAAA,IAAAK,EAAA;EAAA,IAAAF,CAAA,QAAAD,UAAA,IAAAC,CAAA,QAAAC,MAAA,CAAAE,WAAA;IAEmBD,EAAA,GAAAA,CAAA;MAAA,IAChCH,UAAA;QACF,MAAAK,SAAA,GAAkB,OAAOL,UAAA,KAAe,YAAYA,UAAA,IAAcA,UAAA;QAAA,OAC3DK,SAAA,CAAAC,GAAA,CAAAC,QAAA,IACLL,MAAA,CAAAE,WAAA,CAAAI,IAAA,CAAAC,UAAA,IAAwCA,UAAA,CAAAC,IAAA,KAAoBH,QAAA;MAAA;MAAA;IAAA;IAIlEN,CAAA,MAAAD,UAAA;IAAAC,CAAA,MAAAC,MAAA,CAAAE,WAAA;IAAAH,CAAA,MAAAE,EAAA;EAAA;IAAAA,EAAA,GAAAF,CAAA;EAAA;EARA,OAAAU,kBAAA,IAA6Bd,QAAA,CAASM,EAQtC;EAAA,OAEOQ,kBAAA;AAAA,CACT","ignoreList":[]}
1
+ {"version":3,"file":"useRelatedCollections.js","names":["c","_c","useState","useConfig","useRelatedCollections","relationTo","$","config","t0","relations","map","relation","collections","find","collection","slug","relatedCollections"],"sources":["../../../src/elements/AddNewRelation/useRelatedCollections.ts"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { useState } from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\n\nexport const useRelatedCollections = (relationTo: string | string[]): ClientCollectionConfig[] => {\n const { config } = useConfig()\n\n const [relatedCollections] = useState(() => {\n if (relationTo) {\n const relations = typeof relationTo === 'string' ? [relationTo] : relationTo\n return relations.map((relation) =>\n config.collections.find((collection) => collection.slug === relation),\n )\n }\n return []\n })\n\n return relatedCollections\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAGA,SAASC,QAAQ,QAAQ;AAEzB,SAASC,SAAS,QAAQ;AAE1B,OAAO,MAAMC,qBAAA,GAAwBC,UAAA;EAAA,MAAAC,CAAA,GAAAL,EAAA;EACnC;IAAAM;EAAA,IAAmBJ,SAAA;EAAA,IAAAK,EAAA;EAAA,IAAAF,CAAA,QAAAC,MAAA,IAAAD,CAAA,QAAAD,UAAA;IAEmBG,EAAA,GAAAA,CAAA;MAAA,IAChCH,UAAA;QACF,MAAAI,SAAA,GAAkB,OAAOJ,UAAA,KAAe,YAAYA,UAAA,IAAcA,UAAA;QAAA,OAC3DI,SAAA,CAAAC,GAAA,CAAAC,QAAA,IACLJ,MAAA,CAAAK,WAAA,CAAAC,IAAA,CAAAC,UAAA,IAAwCA,UAAA,CAAAC,IAAA,KAAoBJ,QAAA;MAAA;MAAA;IAAA;IAIlEL,CAAA,MAAAC,MAAA;IAAAD,CAAA,MAAAD,UAAA;IAAAC,CAAA,MAAAE,EAAA;EAAA;IAAAA,EAAA,GAAAF,CAAA;EAAA;EARA,OAAAU,kBAAA,IAA6Bd,QAAA,CAASM,EAQtC;EAAA,OAEOQ,kBAAA;AAAA,CACT","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/AnimateHeight/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAGhD,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ,CAqFA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/AnimateHeight/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAGhD,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ,CA0FA,CAAA"}
@@ -16,6 +16,8 @@ export const AnimateHeight = ({
16
16
  const [childrenDisplay, setChildrenDisplay] = React.useState(() => open ? '' : 'none');
17
17
  const [parentOverflow, setParentOverflow] = React.useState(() => open ? '' : 'hidden');
18
18
  const [isAnimating, setIsAnimating] = React.useState(false);
19
+ const containerRef = useRef(null);
20
+ const contentRef = useRef(null);
19
21
  useEffect(() => {
20
22
  let displayTimer;
21
23
  let overflowTimer;
@@ -49,9 +51,9 @@ export const AnimateHeight = ({
49
51
  }
50
52
  };
51
53
  }, [height, duration]);
52
- const containerRef = useRef(null);
53
54
  usePatchAnimateHeight({
54
55
  containerRef,
56
+ contentRef,
55
57
  duration,
56
58
  open
57
59
  });
@@ -65,6 +67,7 @@ export const AnimateHeight = ({
65
67
  transition: `height ${duration}ms ease`
66
68
  },
67
69
  children: /*#__PURE__*/_jsx("div", {
70
+ ref: contentRef,
68
71
  ...(childrenDisplay ? {
69
72
  style: {
70
73
  display: childrenDisplay
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useEffect","useRef","usePatchAnimateHeight","AnimateHeight","id","children","className","duration","height","open","setOpen","useState","Boolean","prevIsOpen","childrenDisplay","setChildrenDisplay","parentOverflow","setParentOverflow","isAnimating","setIsAnimating","displayTimer","overflowTimer","newIsOpen","hasChanged","current","window","setTimeout","clearTimeout","containerRef","_jsx","filter","join","ref","style","overflow","transition","display"],"sources":["../../../src/elements/AnimateHeight/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect, useRef } from 'react'\n\nimport { usePatchAnimateHeight } from './usePatchAnimateHeight.js'\nimport './index.scss'\n\nexport const AnimateHeight: React.FC<{\n children: React.ReactNode\n className?: string\n duration?: number\n height?: 'auto' | number\n id?: string\n}> = ({ id, children, className, duration = 300, height }) => {\n const [open, setOpen] = React.useState(() => Boolean(height))\n const prevIsOpen = useRef(open)\n\n const [childrenDisplay, setChildrenDisplay] = React.useState<CSSStyleDeclaration['display']>(\n () => (open ? '' : 'none'),\n )\n\n const [parentOverflow, setParentOverflow] = React.useState<CSSStyleDeclaration['overflow']>(() =>\n open ? '' : 'hidden',\n )\n\n const [isAnimating, setIsAnimating] = React.useState(false)\n\n useEffect(() => {\n let displayTimer: number\n let overflowTimer: number\n\n const newIsOpen = Boolean(height)\n const hasChanged = prevIsOpen.current !== newIsOpen\n prevIsOpen.current = newIsOpen\n\n if (hasChanged) {\n setIsAnimating(true)\n setParentOverflow('hidden')\n\n if (newIsOpen) {\n setChildrenDisplay('')\n } else {\n // `display: none` once closed\n displayTimer = window.setTimeout(() => {\n setChildrenDisplay('none')\n }, duration)\n }\n\n setOpen(newIsOpen)\n\n // reset overflow once open\n overflowTimer = window.setTimeout(() => {\n setParentOverflow('')\n setIsAnimating(false)\n }, duration)\n }\n\n return () => {\n if (displayTimer) {\n clearTimeout(displayTimer)\n }\n\n if (overflowTimer) {\n clearTimeout(overflowTimer)\n }\n }\n }, [height, duration])\n\n const containerRef = useRef<HTMLDivElement>(null)\n\n usePatchAnimateHeight({\n containerRef,\n duration,\n open,\n })\n\n return (\n <div\n aria-hidden={!open}\n className={[\n className,\n 'rah-static',\n open && height === 'auto' && 'rah-static--height-auto',\n isAnimating && `rah-animating--${open ? 'down' : 'up'}`,\n isAnimating && height === 'auto' && `rah-animating--to-height-auto`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={id}\n ref={containerRef}\n style={{\n overflow: parentOverflow,\n transition: `height ${duration}ms ease`,\n }}\n >\n <div {...(childrenDisplay ? { style: { display: childrenDisplay } } : {})}>{children}</div>\n </div>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,IAASC,SAAS,EAAEC,MAAM,QAAQ;AAEzC,SAASC,qBAAqB,QAAQ;AACtC,OAAO;AAEP,OAAO,MAAMC,aAAA,GAMRA,CAAC;EAAEC,EAAE;EAAEC,QAAQ;EAAEC,SAAS;EAAEC,QAAA,GAAW,GAAG;EAAEC;AAAM,CAAE;EACvD,MAAM,CAACC,IAAA,EAAMC,OAAA,CAAQ,GAAGX,KAAA,CAAMY,QAAQ,CAAC,MAAMC,OAAA,CAAQJ,MAAA;EACrD,MAAMK,UAAA,GAAaZ,MAAA,CAAOQ,IAAA;EAE1B,MAAM,CAACK,eAAA,EAAiBC,kBAAA,CAAmB,GAAGhB,KAAA,CAAMY,QAAQ,CAC1D,MAAOF,IAAA,GAAO,KAAK;EAGrB,MAAM,CAACO,cAAA,EAAgBC,iBAAA,CAAkB,GAAGlB,KAAA,CAAMY,QAAQ,CAAkC,MAC1FF,IAAA,GAAO,KAAK;EAGd,MAAM,CAACS,WAAA,EAAaC,cAAA,CAAe,GAAGpB,KAAA,CAAMY,QAAQ,CAAC;EAErDX,SAAA,CAAU;IACR,IAAIoB,YAAA;IACJ,IAAIC,aAAA;IAEJ,MAAMC,SAAA,GAAYV,OAAA,CAAQJ,MAAA;IAC1B,MAAMe,UAAA,GAAaV,UAAA,CAAWW,OAAO,KAAKF,SAAA;IAC1CT,UAAA,CAAWW,OAAO,GAAGF,SAAA;IAErB,IAAIC,UAAA,EAAY;MACdJ,cAAA,CAAe;MACfF,iBAAA,CAAkB;MAElB,IAAIK,SAAA,EAAW;QACbP,kBAAA,CAAmB;MACrB,OAAO;QACL;QACAK,YAAA,GAAeK,MAAA,CAAOC,UAAU,CAAC;UAC/BX,kBAAA,CAAmB;QACrB,GAAGR,QAAA;MACL;MAEAG,OAAA,CAAQY,SAAA;MAER;MACAD,aAAA,GAAgBI,MAAA,CAAOC,UAAU,CAAC;QAChCT,iBAAA,CAAkB;QAClBE,cAAA,CAAe;MACjB,GAAGZ,QAAA;IACL;IAEA,OAAO;MACL,IAAIa,YAAA,EAAc;QAChBO,YAAA,CAAaP,YAAA;MACf;MAEA,IAAIC,aAAA,EAAe;QACjBM,YAAA,CAAaN,aAAA;MACf;IACF;EACF,GAAG,CAACb,MAAA,EAAQD,QAAA,CAAS;EAErB,MAAMqB,YAAA,GAAe3B,MAAA,CAAuB;EAE5CC,qBAAA,CAAsB;IACpB0B,YAAA;IACArB,QAAA;IACAE;EACF;EAEA,oBACEoB,IAAA,CAAC;IACC,eAAa,CAACpB,IAAA;IACdH,SAAA,EAAW,CACTA,SAAA,EACA,cACAG,IAAA,IAAQD,MAAA,KAAW,UAAU,2BAC7BU,WAAA,IAAe,kBAAkBT,IAAA,GAAO,SAAS,MAAM,EACvDS,WAAA,IAAeV,MAAA,KAAW,UAAU,+BAA+B,CACpE,CACEsB,MAAM,CAAClB,OAAA,EACPmB,IAAI,CAAC;IACR3B,EAAA,EAAIA,EAAA;IACJ4B,GAAA,EAAKJ,YAAA;IACLK,KAAA,EAAO;MACLC,QAAA,EAAUlB,cAAA;MACVmB,UAAA,EAAY,UAAU5B,QAAA;IACxB;cAEA,aAAAsB,IAAA,CAAC;MAAK,IAAIf,eAAA,GAAkB;QAAEmB,KAAA,EAAO;UAAEG,OAAA,EAAStB;QAAgB;MAAE,IAAI,CAAC,CAAC;gBAAIT;;;AAGlF","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useEffect","useRef","usePatchAnimateHeight","AnimateHeight","id","children","className","duration","height","open","setOpen","useState","Boolean","prevIsOpen","childrenDisplay","setChildrenDisplay","parentOverflow","setParentOverflow","isAnimating","setIsAnimating","containerRef","contentRef","displayTimer","overflowTimer","newIsOpen","hasChanged","current","window","setTimeout","clearTimeout","_jsx","filter","join","ref","style","overflow","transition","display"],"sources":["../../../src/elements/AnimateHeight/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect, useRef } from 'react'\n\nimport { usePatchAnimateHeight } from './usePatchAnimateHeight.js'\nimport './index.scss'\n\nexport const AnimateHeight: React.FC<{\n children: React.ReactNode\n className?: string\n duration?: number\n height?: 'auto' | number\n id?: string\n}> = ({ id, children, className, duration = 300, height }) => {\n const [open, setOpen] = React.useState(() => Boolean(height))\n\n const prevIsOpen = useRef(open)\n\n const [childrenDisplay, setChildrenDisplay] = React.useState<CSSStyleDeclaration['display']>(\n () => (open ? '' : 'none'),\n )\n\n const [parentOverflow, setParentOverflow] = React.useState<CSSStyleDeclaration['overflow']>(() =>\n open ? '' : 'hidden',\n )\n\n const [isAnimating, setIsAnimating] = React.useState(false)\n\n const containerRef = useRef<HTMLDivElement>(null)\n const contentRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n let displayTimer: number\n let overflowTimer: number\n\n const newIsOpen = Boolean(height)\n const hasChanged = prevIsOpen.current !== newIsOpen\n prevIsOpen.current = newIsOpen\n\n if (hasChanged) {\n setIsAnimating(true)\n setParentOverflow('hidden')\n\n if (newIsOpen) {\n setChildrenDisplay('')\n } else {\n // `display: none` once closed\n displayTimer = window.setTimeout(() => {\n setChildrenDisplay('none')\n }, duration)\n }\n\n setOpen(newIsOpen)\n\n // reset overflow once open\n overflowTimer = window.setTimeout(() => {\n setParentOverflow('')\n setIsAnimating(false)\n }, duration)\n }\n\n return () => {\n if (displayTimer) {\n clearTimeout(displayTimer)\n }\n\n if (overflowTimer) {\n clearTimeout(overflowTimer)\n }\n }\n }, [height, duration])\n\n usePatchAnimateHeight({\n containerRef,\n contentRef,\n duration,\n open,\n })\n\n return (\n <div\n aria-hidden={!open}\n className={[\n className,\n 'rah-static',\n open && height === 'auto' && 'rah-static--height-auto',\n isAnimating && `rah-animating--${open ? 'down' : 'up'}`,\n isAnimating && height === 'auto' && `rah-animating--to-height-auto`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={id}\n ref={containerRef}\n style={{\n overflow: parentOverflow,\n transition: `height ${duration}ms ease`,\n }}\n >\n <div ref={contentRef} {...(childrenDisplay ? { style: { display: childrenDisplay } } : {})}>\n {children}\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,IAASC,SAAS,EAAEC,MAAM,QAAQ;AAEzC,SAASC,qBAAqB,QAAQ;AACtC,OAAO;AAEP,OAAO,MAAMC,aAAA,GAMRA,CAAC;EAAEC,EAAE;EAAEC,QAAQ;EAAEC,SAAS;EAAEC,QAAA,GAAW,GAAG;EAAEC;AAAM,CAAE;EACvD,MAAM,CAACC,IAAA,EAAMC,OAAA,CAAQ,GAAGX,KAAA,CAAMY,QAAQ,CAAC,MAAMC,OAAA,CAAQJ,MAAA;EAErD,MAAMK,UAAA,GAAaZ,MAAA,CAAOQ,IAAA;EAE1B,MAAM,CAACK,eAAA,EAAiBC,kBAAA,CAAmB,GAAGhB,KAAA,CAAMY,QAAQ,CAC1D,MAAOF,IAAA,GAAO,KAAK;EAGrB,MAAM,CAACO,cAAA,EAAgBC,iBAAA,CAAkB,GAAGlB,KAAA,CAAMY,QAAQ,CAAkC,MAC1FF,IAAA,GAAO,KAAK;EAGd,MAAM,CAACS,WAAA,EAAaC,cAAA,CAAe,GAAGpB,KAAA,CAAMY,QAAQ,CAAC;EAErD,MAAMS,YAAA,GAAenB,MAAA,CAAuB;EAC5C,MAAMoB,UAAA,GAAapB,MAAA,CAAuB;EAE1CD,SAAA,CAAU;IACR,IAAIsB,YAAA;IACJ,IAAIC,aAAA;IAEJ,MAAMC,SAAA,GAAYZ,OAAA,CAAQJ,MAAA;IAC1B,MAAMiB,UAAA,GAAaZ,UAAA,CAAWa,OAAO,KAAKF,SAAA;IAC1CX,UAAA,CAAWa,OAAO,GAAGF,SAAA;IAErB,IAAIC,UAAA,EAAY;MACdN,cAAA,CAAe;MACfF,iBAAA,CAAkB;MAElB,IAAIO,SAAA,EAAW;QACbT,kBAAA,CAAmB;MACrB,OAAO;QACL;QACAO,YAAA,GAAeK,MAAA,CAAOC,UAAU,CAAC;UAC/Bb,kBAAA,CAAmB;QACrB,GAAGR,QAAA;MACL;MAEAG,OAAA,CAAQc,SAAA;MAER;MACAD,aAAA,GAAgBI,MAAA,CAAOC,UAAU,CAAC;QAChCX,iBAAA,CAAkB;QAClBE,cAAA,CAAe;MACjB,GAAGZ,QAAA;IACL;IAEA,OAAO;MACL,IAAIe,YAAA,EAAc;QAChBO,YAAA,CAAaP,YAAA;MACf;MAEA,IAAIC,aAAA,EAAe;QACjBM,YAAA,CAAaN,aAAA;MACf;IACF;EACF,GAAG,CAACf,MAAA,EAAQD,QAAA,CAAS;EAErBL,qBAAA,CAAsB;IACpBkB,YAAA;IACAC,UAAA;IACAd,QAAA;IACAE;EACF;EAEA,oBACEqB,IAAA,CAAC;IACC,eAAa,CAACrB,IAAA;IACdH,SAAA,EAAW,CACTA,SAAA,EACA,cACAG,IAAA,IAAQD,MAAA,KAAW,UAAU,2BAC7BU,WAAA,IAAe,kBAAkBT,IAAA,GAAO,SAAS,MAAM,EACvDS,WAAA,IAAeV,MAAA,KAAW,UAAU,+BAA+B,CACpE,CACEuB,MAAM,CAACnB,OAAA,EACPoB,IAAI,CAAC;IACR5B,EAAA,EAAIA,EAAA;IACJ6B,GAAA,EAAKb,YAAA;IACLc,KAAA,EAAO;MACLC,QAAA,EAAUnB,cAAA;MACVoB,UAAA,EAAY,UAAU7B,QAAA;IACxB;cAEA,aAAAuB,IAAA,CAAC;MAAIG,GAAA,EAAKZ,UAAA;MAAa,IAAIP,eAAA,GAAkB;QAAEoB,KAAA,EAAO;UAAEG,OAAA,EAASvB;QAAgB;MAAE,IAAI,CAAC,CAAC;gBACtFT;;;AAIT","ignoreList":[]}
@@ -1,5 +1,6 @@
1
- export declare const usePatchAnimateHeight: ({ containerRef, duration, open, }: {
1
+ export declare const usePatchAnimateHeight: ({ containerRef, contentRef, duration, open, }: {
2
2
  containerRef: React.RefObject<HTMLDivElement>;
3
+ contentRef: React.RefObject<HTMLDivElement>;
3
4
  duration: number;
4
5
  open: boolean;
5
6
  }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"usePatchAnimateHeight.d.ts","sourceRoot":"","sources":["../../../src/elements/AnimateHeight/usePatchAnimateHeight.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,qBAAqB,sCAI/B;IACD,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;IAC7C,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,OAAO,CAAA;CACd,KAAG;IAAE,+BAA+B,EAAE,OAAO,CAAA;CA0D7C,CAAA"}
1
+ {"version":3,"file":"usePatchAnimateHeight.d.ts","sourceRoot":"","sources":["../../../src/elements/AnimateHeight/usePatchAnimateHeight.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,kDAK/B;IACD,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;IAC7C,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,OAAO,CAAA;CACd,KAAG;IAAE,+BAA+B,EAAE,OAAO,CAAA;CAoF7C,CAAA"}
@@ -1,85 +1,73 @@
1
- 'use client';
2
-
3
- import { c as _c } from "react/compiler-runtime";
4
- import { useEffect, useMemo, useRef } from 'react';
5
- export const usePatchAnimateHeight = t0 => {
6
- const $ = _c(10);
7
- const {
8
- containerRef,
9
- duration,
10
- open
11
- } = t0;
12
- let t1;
13
- let t2;
14
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
15
- t2 = typeof CSS !== "undefined" && CSS && CSS.supports ? Boolean(CSS.supports("interpolate-size", "allow-keywords")) : false;
16
- $[0] = t2;
17
- } else {
18
- t2 = $[0];
19
- }
20
- t1 = t2;
21
- const browserSupportsKeywordAnimation = t1;
1
+ import { useEffect, useMemo, useRef, useState } from 'react';
2
+ export const usePatchAnimateHeight = ({
3
+ containerRef,
4
+ contentRef,
5
+ duration,
6
+ open
7
+ }) => {
8
+ const browserSupportsKeywordAnimation = useMemo(() => typeof CSS !== 'undefined' && CSS && CSS.supports ? CSS.supports('interpolate-size', 'allow-keywords') : false, []);
9
+ const hasInitialized = useRef(false);
22
10
  const previousOpenState = useRef(open);
23
- let t3;
24
- if ($[1] !== containerRef.current || $[2] !== open || $[3] !== duration) {
25
- t3 = () => {
26
- if (containerRef.current && !browserSupportsKeywordAnimation) {
27
- const container = containerRef.current;
28
- const getTotalHeight = el => {
29
- const styles = window.getComputedStyle(el);
30
- const marginTop = parseFloat(styles.marginTop);
31
- const marginBottom = parseFloat(styles.marginBottom);
32
- return el.scrollHeight + marginTop + marginBottom;
33
- };
34
- const animate = () => {
35
- const maxContentHeight = getTotalHeight(container);
36
- if (previousOpenState.current !== open) {
37
- container.style.height = open ? "0px" : `${maxContentHeight}px`;
38
- }
39
- container.style.transition = `height ${duration}ms ease`;
40
- container.style.height = open ? `${maxContentHeight}px` : "0px";
41
- const transitionEndHandler = () => {
42
- container.style.transition = "";
43
- container.style.height = !open ? "0px" : "auto";
44
- container.removeEventListener("transitionend", transitionEndHandler);
45
- };
46
- container.addEventListener("transitionend", transitionEndHandler);
47
- };
48
- animate();
49
- previousOpenState.current = open;
50
- return () => {
51
- container.style.transition = "";
52
- container.style.height = "";
53
- };
11
+ const [isAnimating, setIsAnimating] = useState(false);
12
+ const resizeObserverRef = useRef(null);
13
+ useEffect(() => {
14
+ const container = containerRef.current;
15
+ const content = contentRef.current;
16
+ if (!container || !content || browserSupportsKeywordAnimation) {
17
+ return;
18
+ }
19
+ const setContainerHeight = height => {
20
+ container.style.height = height;
21
+ };
22
+ const handleTransitionEnd = () => {
23
+ if (container) {
24
+ container.style.transition = '';
25
+ container.style.height = open ? 'auto' : '0px';
26
+ setIsAnimating(false);
27
+ }
28
+ };
29
+ const animate = () => {
30
+ if (!hasInitialized.current && open) {
31
+ // Skip animation on first render
32
+ setContainerHeight('auto');
33
+ setIsAnimating(false);
34
+ return;
54
35
  }
36
+ hasInitialized.current = true;
37
+ if (previousOpenState.current !== open) {
38
+ setContainerHeight(open ? '0px' : `${content.scrollHeight}px`);
39
+ }
40
+ // Trigger reflow
41
+ container.offsetHeight // eslint-disable-line @typescript-eslint/no-unused-expressions
42
+ ;
43
+ setIsAnimating(true);
44
+ container.style.transition = `height ${duration}ms ease`;
45
+ setContainerHeight(open ? `${content.scrollHeight}px` : '0px');
46
+ const onTransitionEnd = () => {
47
+ handleTransitionEnd();
48
+ container.removeEventListener('transitionend', onTransitionEnd);
49
+ };
50
+ container.addEventListener('transitionend', onTransitionEnd);
55
51
  };
56
- $[1] = containerRef.current;
57
- $[2] = open;
58
- $[3] = duration;
59
- $[4] = t3;
60
- } else {
61
- t3 = $[4];
62
- }
63
- let t4;
64
- if ($[5] !== open || $[6] !== duration || $[7] !== containerRef) {
65
- t4 = [open, duration, containerRef, browserSupportsKeywordAnimation];
66
- $[5] = open;
67
- $[6] = duration;
68
- $[7] = containerRef;
69
- $[8] = t4;
70
- } else {
71
- t4 = $[8];
72
- }
73
- useEffect(t3, t4);
74
- let t5;
75
- if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
76
- t5 = {
77
- browserSupportsKeywordAnimation
52
+ animate();
53
+ previousOpenState.current = open;
54
+ // Setup ResizeObserver
55
+ resizeObserverRef.current = new ResizeObserver(() => {
56
+ if (isAnimating) {
57
+ container.style.height = open ? `${content.scrollHeight}px` : '0px';
58
+ }
59
+ });
60
+ resizeObserverRef.current.observe(content);
61
+ return () => {
62
+ if (container) {
63
+ container.style.transition = '';
64
+ container.style.height = '';
65
+ }
66
+ resizeObserverRef.current?.disconnect();
78
67
  };
79
- $[9] = t5;
80
- } else {
81
- t5 = $[9];
82
- }
83
- return t5;
68
+ }, [open, duration, containerRef, contentRef, browserSupportsKeywordAnimation]);
69
+ return {
70
+ browserSupportsKeywordAnimation
71
+ };
84
72
  };
85
73
  //# sourceMappingURL=usePatchAnimateHeight.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePatchAnimateHeight.js","names":["c","_c","useEffect","useMemo","useRef","usePatchAnimateHeight","t0","$","containerRef","duration","open","t1","t2","Symbol","for","CSS","supports","Boolean","browserSupportsKeywordAnimation","previousOpenState","t3","current","container","getTotalHeight","el","styles","window","getComputedStyle","marginTop","parseFloat","marginBottom","scrollHeight","animate","maxContentHeight","style","height","transition","transitionEndHandler","removeEventListener","addEventListener","t4","t5"],"sources":["../../../src/elements/AnimateHeight/usePatchAnimateHeight.ts"],"sourcesContent":["'use client'\nimport { useEffect, useMemo, useRef } from 'react'\n\nexport const usePatchAnimateHeight = ({\n containerRef,\n duration,\n open,\n}: {\n containerRef: React.RefObject<HTMLDivElement>\n duration: number\n open: boolean\n}): { browserSupportsKeywordAnimation: boolean } => {\n const browserSupportsKeywordAnimation = useMemo(\n () =>\n typeof CSS !== 'undefined' && CSS && CSS.supports\n ? Boolean(CSS.supports('interpolate-size', 'allow-keywords'))\n : false,\n [],\n )\n\n const previousOpenState = useRef(open)\n\n useEffect(() => {\n if (containerRef.current && !browserSupportsKeywordAnimation) {\n const container = containerRef.current\n\n const getTotalHeight = (el: HTMLDivElement) => {\n const styles = window.getComputedStyle(el)\n const marginTop = parseFloat(styles.marginTop)\n const marginBottom = parseFloat(styles.marginBottom)\n return el.scrollHeight + marginTop + marginBottom\n }\n\n const animate = () => {\n const maxContentHeight = getTotalHeight(container)\n\n // Set initial state\n if (previousOpenState.current !== open) {\n container.style.height = open ? '0px' : `${maxContentHeight}px`\n }\n\n // Trigger reflow\n container.offsetHeight // eslint-disable-line @typescript-eslint/no-unused-expressions\n\n // Start animation\n container.style.transition = `height ${duration}ms ease`\n container.style.height = open ? `${maxContentHeight}px` : '0px'\n\n const transitionEndHandler = () => {\n container.style.transition = ''\n container.style.height = !open ? '0px' : 'auto'\n container.removeEventListener('transitionend', transitionEndHandler)\n }\n\n container.addEventListener('transitionend', transitionEndHandler)\n }\n\n animate()\n\n previousOpenState.current = open\n\n return () => {\n container.style.transition = ''\n container.style.height = ''\n }\n }\n }, [open, duration, containerRef, browserSupportsKeywordAnimation])\n\n return { browserSupportsKeywordAnimation }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"usePatchAnimateHeight.js","names":["useEffect","useMemo","useRef","useState","usePatchAnimateHeight","containerRef","contentRef","duration","open","browserSupportsKeywordAnimation","CSS","supports","hasInitialized","previousOpenState","isAnimating","setIsAnimating","resizeObserverRef","container","current","content","setContainerHeight","height","style","handleTransitionEnd","transition","animate","scrollHeight","offsetHeight","onTransitionEnd","removeEventListener","addEventListener","ResizeObserver","observe","disconnect"],"sources":["../../../src/elements/AnimateHeight/usePatchAnimateHeight.ts"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react'\n\nexport const usePatchAnimateHeight = ({\n containerRef,\n contentRef,\n duration,\n open,\n}: {\n containerRef: React.RefObject<HTMLDivElement>\n contentRef: React.RefObject<HTMLDivElement>\n duration: number\n open: boolean\n}): { browserSupportsKeywordAnimation: boolean } => {\n const browserSupportsKeywordAnimation = useMemo(\n () =>\n typeof CSS !== 'undefined' && CSS && CSS.supports\n ? CSS.supports('interpolate-size', 'allow-keywords')\n : false,\n [],\n )\n\n const hasInitialized = useRef(false)\n const previousOpenState = useRef(open)\n const [isAnimating, setIsAnimating] = useState(false)\n const resizeObserverRef = useRef<null | ResizeObserver>(null)\n\n useEffect(() => {\n const container = containerRef.current\n const content = contentRef.current\n\n if (!container || !content || browserSupportsKeywordAnimation) {\n return\n }\n\n const setContainerHeight = (height: string) => {\n container.style.height = height\n }\n\n const handleTransitionEnd = () => {\n if (container) {\n container.style.transition = ''\n container.style.height = open ? 'auto' : '0px'\n setIsAnimating(false)\n }\n }\n\n const animate = () => {\n if (!hasInitialized.current && open) {\n // Skip animation on first render\n setContainerHeight('auto')\n setIsAnimating(false)\n return\n }\n\n hasInitialized.current = true\n\n if (previousOpenState.current !== open) {\n setContainerHeight(open ? '0px' : `${content.scrollHeight}px`)\n }\n\n // Trigger reflow\n container.offsetHeight // eslint-disable-line @typescript-eslint/no-unused-expressions\n\n setIsAnimating(true)\n container.style.transition = `height ${duration}ms ease`\n setContainerHeight(open ? `${content.scrollHeight}px` : '0px')\n\n const onTransitionEnd = () => {\n handleTransitionEnd()\n container.removeEventListener('transitionend', onTransitionEnd)\n }\n\n container.addEventListener('transitionend', onTransitionEnd)\n }\n\n animate()\n previousOpenState.current = open\n\n // Setup ResizeObserver\n resizeObserverRef.current = new ResizeObserver(() => {\n if (isAnimating) {\n container.style.height = open ? `${content.scrollHeight}px` : '0px'\n }\n })\n resizeObserverRef.current.observe(content)\n\n return () => {\n if (container) {\n container.style.transition = ''\n container.style.height = ''\n }\n resizeObserverRef.current?.disconnect()\n }\n }, [open, duration, containerRef, contentRef, browserSupportsKeywordAnimation])\n\n return { browserSupportsKeywordAnimation }\n}\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAErD,OAAO,MAAMC,qBAAA,GAAwBA,CAAC;EACpCC,YAAY;EACZC,UAAU;EACVC,QAAQ;EACRC;AAAI,CAML;EACC,MAAMC,+BAAA,GAAkCR,OAAA,CACtC,MACE,OAAOS,GAAA,KAAQ,eAAeA,GAAA,IAAOA,GAAA,CAAIC,QAAQ,GAC7CD,GAAA,CAAIC,QAAQ,CAAC,oBAAoB,oBACjC,OACN,EAAE;EAGJ,MAAMC,cAAA,GAAiBV,MAAA,CAAO;EAC9B,MAAMW,iBAAA,GAAoBX,MAAA,CAAOM,IAAA;EACjC,MAAM,CAACM,WAAA,EAAaC,cAAA,CAAe,GAAGZ,QAAA,CAAS;EAC/C,MAAMa,iBAAA,GAAoBd,MAAA,CAA8B;EAExDF,SAAA,CAAU;IACR,MAAMiB,SAAA,GAAYZ,YAAA,CAAaa,OAAO;IACtC,MAAMC,OAAA,GAAUb,UAAA,CAAWY,OAAO;IAElC,IAAI,CAACD,SAAA,IAAa,CAACE,OAAA,IAAWV,+BAAA,EAAiC;MAC7D;IACF;IAEA,MAAMW,kBAAA,GAAsBC,MAAA;MAC1BJ,SAAA,CAAUK,KAAK,CAACD,MAAM,GAAGA,MAAA;IAC3B;IAEA,MAAME,mBAAA,GAAsBA,CAAA;MAC1B,IAAIN,SAAA,EAAW;QACbA,SAAA,CAAUK,KAAK,CAACE,UAAU,GAAG;QAC7BP,SAAA,CAAUK,KAAK,CAACD,MAAM,GAAGb,IAAA,GAAO,SAAS;QACzCO,cAAA,CAAe;MACjB;IACF;IAEA,MAAMU,OAAA,GAAUA,CAAA;MACd,IAAI,CAACb,cAAA,CAAeM,OAAO,IAAIV,IAAA,EAAM;QACnC;QACAY,kBAAA,CAAmB;QACnBL,cAAA,CAAe;QACf;MACF;MAEAH,cAAA,CAAeM,OAAO,GAAG;MAEzB,IAAIL,iBAAA,CAAkBK,OAAO,KAAKV,IAAA,EAAM;QACtCY,kBAAA,CAAmBZ,IAAA,GAAO,QAAQ,GAAGW,OAAA,CAAQO,YAAY,IAAI;MAC/D;MAEA;MACAT,SAAA,CAAUU,YAAY,CAAC;MAAA;MAEvBZ,cAAA,CAAe;MACfE,SAAA,CAAUK,KAAK,CAACE,UAAU,GAAG,UAAUjB,QAAA,SAAiB;MACxDa,kBAAA,CAAmBZ,IAAA,GAAO,GAAGW,OAAA,CAAQO,YAAY,IAAI,GAAG;MAExD,MAAME,eAAA,GAAkBA,CAAA;QACtBL,mBAAA;QACAN,SAAA,CAAUY,mBAAmB,CAAC,iBAAiBD,eAAA;MACjD;MAEAX,SAAA,CAAUa,gBAAgB,CAAC,iBAAiBF,eAAA;IAC9C;IAEAH,OAAA;IACAZ,iBAAA,CAAkBK,OAAO,GAAGV,IAAA;IAE5B;IACAQ,iBAAA,CAAkBE,OAAO,GAAG,IAAIa,cAAA,CAAe;MAC7C,IAAIjB,WAAA,EAAa;QACfG,SAAA,CAAUK,KAAK,CAACD,MAAM,GAAGb,IAAA,GAAO,GAAGW,OAAA,CAAQO,YAAY,IAAI,GAAG;MAChE;IACF;IACAV,iBAAA,CAAkBE,OAAO,CAACc,OAAO,CAACb,OAAA;IAElC,OAAO;MACL,IAAIF,SAAA,EAAW;QACbA,SAAA,CAAUK,KAAK,CAACE,UAAU,GAAG;QAC7BP,SAAA,CAAUK,KAAK,CAACD,MAAM,GAAG;MAC3B;MACAL,iBAAA,CAAkBE,OAAO,EAAEe,UAAA;IAC7B;EACF,GAAG,CAACzB,IAAA,EAAMD,QAAA,EAAUF,YAAA,EAAcC,UAAA,EAAYG,+BAAA,CAAgC;EAE9E,OAAO;IAAEA;EAAgC;AAC3C","ignoreList":[]}
@@ -28,7 +28,7 @@ export const ArrayAction = t0 => {
28
28
  t
29
29
  } = useTranslation();
30
30
  let t1;
31
- if ($[0] !== isSortable || $[1] !== index || $[2] !== moveRow || $[3] !== t || $[4] !== rowCount || $[5] !== hasMaxRows || $[6] !== addRow || $[7] !== duplicateRow || $[8] !== removeRow) {
31
+ if ($[0] !== addRow || $[1] !== duplicateRow || $[2] !== hasMaxRows || $[3] !== index || $[4] !== isSortable || $[5] !== moveRow || $[6] !== removeRow || $[7] !== rowCount || $[8] !== t) {
32
32
  t1 = _jsx(Popup, {
33
33
  button: _jsx(MoreIcon, {}),
34
34
  buttonClassName: `${baseClass}__button`,
@@ -90,15 +90,15 @@ export const ArrayAction = t0 => {
90
90
  },
91
91
  size: "medium"
92
92
  });
93
- $[0] = isSortable;
94
- $[1] = index;
95
- $[2] = moveRow;
96
- $[3] = t;
97
- $[4] = rowCount;
98
- $[5] = hasMaxRows;
99
- $[6] = addRow;
100
- $[7] = duplicateRow;
101
- $[8] = removeRow;
93
+ $[0] = addRow;
94
+ $[1] = duplicateRow;
95
+ $[2] = hasMaxRows;
96
+ $[3] = index;
97
+ $[4] = isSortable;
98
+ $[5] = moveRow;
99
+ $[6] = removeRow;
100
+ $[7] = rowCount;
101
+ $[8] = t;
102
102
  $[9] = t1;
103
103
  } else {
104
104
  t1 = $[9];