@payloadcms/ui 3.29.0-internal.d2c9ba5 → 3.29.0-internal.e4e913b

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 (356) hide show
  1. package/dist/elements/Autosave/index.js +1 -1
  2. package/dist/elements/Autosave/index.js.map +1 -1
  3. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  4. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +143 -127
  5. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  6. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  7. package/dist/elements/BulkUpload/EditMany/index.js +1 -1
  8. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  9. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  10. package/dist/elements/BulkUpload/FileSidebar/index.js +5 -5
  11. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  12. package/dist/elements/BulkUpload/FormsManager/index.js +3 -3
  13. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  14. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  15. package/dist/elements/BulkUpload/index.js +2 -4
  16. package/dist/elements/BulkUpload/index.js.map +1 -1
  17. package/dist/elements/Collapsible/provider.d.ts.map +1 -1
  18. package/dist/elements/Collapsible/provider.js +3 -5
  19. package/dist/elements/Collapsible/provider.js.map +1 -1
  20. package/dist/elements/DocumentControls/index.js +1 -1
  21. package/dist/elements/DocumentControls/index.js.map +1 -1
  22. package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -1
  23. package/dist/elements/DocumentDrawer/Provider.js +3 -3
  24. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  25. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  26. package/dist/elements/DocumentFields/index.js +1 -5
  27. package/dist/elements/DocumentFields/index.js.map +1 -1
  28. package/dist/elements/Drawer/index.d.ts.map +1 -1
  29. package/dist/elements/Drawer/index.js +3 -5
  30. package/dist/elements/Drawer/index.js.map +1 -1
  31. package/dist/elements/EditMany/DrawerContent.d.ts +3 -1
  32. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  33. package/dist/elements/EditMany/DrawerContent.js +122 -124
  34. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  35. package/dist/elements/EditMany/index.js +7 -7
  36. package/dist/elements/EditMany/index.js.map +1 -1
  37. package/dist/elements/EditMany/index.scss +14 -3
  38. package/dist/elements/FieldSelect/index.d.ts +12 -7
  39. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  40. package/dist/elements/FieldSelect/index.js +34 -131
  41. package/dist/elements/FieldSelect/index.js.map +1 -1
  42. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts +19 -0
  43. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -0
  44. package/dist/elements/FieldSelect/reduceFieldOptions.js +57 -0
  45. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -0
  46. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  47. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +2 -1
  48. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  49. package/dist/elements/ListDrawer/Provider.js +3 -3
  50. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  51. package/dist/elements/LoadingOverlay/index.js +3 -3
  52. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  53. package/dist/elements/Nav/context.d.ts.map +1 -1
  54. package/dist/elements/Nav/context.js +2 -4
  55. package/dist/elements/Nav/context.js.map +1 -1
  56. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts +2 -1
  57. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
  58. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +5 -2
  59. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  60. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  61. package/dist/elements/PublishButton/ScheduleDrawer/index.js +3 -3
  62. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  63. package/dist/elements/StepNav/context.d.ts.map +1 -1
  64. package/dist/elements/StepNav/context.js +3 -5
  65. package/dist/elements/StepNav/context.js.map +1 -1
  66. package/dist/elements/Table/DefaultCell/fields/Date/index.js +1 -1
  67. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  68. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  69. package/dist/elements/Table/DefaultCell/fields/File/index.js +24 -1
  70. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  71. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +1 -1
  72. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  73. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  74. package/dist/elements/Table/DefaultCell/index.js +32 -25
  75. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  76. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  77. package/dist/elements/Table/RelationshipProvider/index.js +3 -5
  78. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  79. package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts.map +1 -1
  80. package/dist/elements/TableColumns/RenderDefaultCell/index.js +2 -4
  81. package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -1
  82. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  83. package/dist/elements/TableColumns/buildColumnState.js +8 -1
  84. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  85. package/dist/elements/TableColumns/context.d.ts.map +1 -1
  86. package/dist/elements/TableColumns/context.js +2 -2
  87. package/dist/elements/TableColumns/context.js.map +1 -1
  88. package/dist/elements/TableColumns/index.js +1 -1
  89. package/dist/elements/TableColumns/index.js.map +1 -1
  90. package/dist/elements/Thumbnail/index.js +25 -23
  91. package/dist/elements/Thumbnail/index.js.map +1 -1
  92. package/dist/elements/ThumbnailCard/index.js +1 -1
  93. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  94. package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
  95. package/dist/elements/Toasts/fieldErrors.js +2 -2
  96. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  97. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  98. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +3 -0
  99. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  100. package/dist/elements/WhereBuilder/reduceFields.js +2 -2
  101. package/dist/elements/WhereBuilder/reduceFields.js.map +1 -1
  102. package/dist/exports/client/{CodeEditor-TQ5ADFPC.js → CodeEditor-J4IKAVAK.js} +2 -2
  103. package/dist/exports/client/{DatePicker-HHQ6TPOW.js → DatePicker-DMHV2M2L.js} +2 -2
  104. package/dist/exports/client/{chunk-IMEQ6NKQ.js → chunk-3AA2TJQ5.js} +2 -2
  105. package/dist/exports/client/{chunk-IMEQ6NKQ.js.map → chunk-3AA2TJQ5.js.map} +3 -3
  106. package/dist/exports/client/{chunk-LMYT7O7U.js → chunk-PKQOCWZD.js} +2 -2
  107. package/dist/exports/client/{chunk-LMYT7O7U.js.map → chunk-PKQOCWZD.js.map} +3 -3
  108. package/dist/exports/client/index.js +11 -11
  109. package/dist/exports/client/index.js.map +4 -4
  110. package/dist/exports/shared/index.d.ts +2 -2
  111. package/dist/exports/shared/index.d.ts.map +1 -1
  112. package/dist/exports/shared/index.js +2 -2
  113. package/dist/exports/shared/index.js.map +4 -4
  114. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  115. package/dist/fields/Array/ArrayRow.js +1 -1
  116. package/dist/fields/Array/ArrayRow.js.map +1 -1
  117. package/dist/fields/Array/index.d.ts.map +1 -1
  118. package/dist/fields/Array/index.js +4 -3
  119. package/dist/fields/Array/index.js.map +1 -1
  120. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  121. package/dist/fields/Blocks/BlockRow.js +26 -20
  122. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  123. package/dist/fields/Blocks/index.d.ts.map +1 -1
  124. package/dist/fields/Blocks/index.js +5 -4
  125. package/dist/fields/Blocks/index.js.map +1 -1
  126. package/dist/fields/Checkbox/index.d.ts +1 -1
  127. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  128. package/dist/fields/Checkbox/index.js +4 -3
  129. package/dist/fields/Checkbox/index.js.map +1 -1
  130. package/dist/fields/Code/index.d.ts.map +1 -1
  131. package/dist/fields/Code/index.js +4 -3
  132. package/dist/fields/Code/index.js.map +1 -1
  133. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  134. package/dist/fields/Collapsible/index.js +3 -2
  135. package/dist/fields/Collapsible/index.js.map +1 -1
  136. package/dist/fields/ConfirmPassword/index.js +13 -11
  137. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  138. package/dist/fields/DateTime/index.d.ts.map +1 -1
  139. package/dist/fields/DateTime/index.js +5 -4
  140. package/dist/fields/DateTime/index.js.map +1 -1
  141. package/dist/fields/Email/index.d.ts.map +1 -1
  142. package/dist/fields/Email/index.js +3 -2
  143. package/dist/fields/Email/index.js.map +1 -1
  144. package/dist/fields/Group/index.d.ts.map +1 -1
  145. package/dist/fields/Group/index.js.map +1 -1
  146. package/dist/fields/Group/index.scss +12 -6
  147. package/dist/fields/Group/provider.d.ts.map +1 -1
  148. package/dist/fields/Group/provider.js +3 -5
  149. package/dist/fields/Group/provider.js.map +1 -1
  150. package/dist/fields/JSON/index.d.ts.map +1 -1
  151. package/dist/fields/JSON/index.js +5 -4
  152. package/dist/fields/JSON/index.js.map +1 -1
  153. package/dist/fields/Number/index.d.ts.map +1 -1
  154. package/dist/fields/Number/index.js +6 -5
  155. package/dist/fields/Number/index.js.map +1 -1
  156. package/dist/fields/Password/index.d.ts.map +1 -1
  157. package/dist/fields/Password/index.js +2 -4
  158. package/dist/fields/Password/index.js.map +1 -1
  159. package/dist/fields/Point/index.d.ts.map +1 -1
  160. package/dist/fields/Point/index.js +4 -3
  161. package/dist/fields/Point/index.js.map +1 -1
  162. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  163. package/dist/fields/RadioGroup/index.js +4 -3
  164. package/dist/fields/RadioGroup/index.js.map +1 -1
  165. package/dist/fields/Relationship/index.d.ts.map +1 -1
  166. package/dist/fields/Relationship/index.js +5 -4
  167. package/dist/fields/Relationship/index.js.map +1 -1
  168. package/dist/fields/Relationship/optionsReducer.js +1 -1
  169. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  170. package/dist/fields/Row/provider.d.ts.map +1 -1
  171. package/dist/fields/Row/provider.js +3 -5
  172. package/dist/fields/Row/provider.js.map +1 -1
  173. package/dist/fields/Select/index.d.ts.map +1 -1
  174. package/dist/fields/Select/index.js +4 -3
  175. package/dist/fields/Select/index.js.map +1 -1
  176. package/dist/fields/Tabs/Tab/index.d.ts +1 -0
  177. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  178. package/dist/fields/Tabs/Tab/index.js +29 -25
  179. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  180. package/dist/fields/Tabs/Tab/index.scss +4 -0
  181. package/dist/fields/Tabs/index.d.ts +1 -1
  182. package/dist/fields/Tabs/index.d.ts.map +1 -1
  183. package/dist/fields/Tabs/index.js +285 -194
  184. package/dist/fields/Tabs/index.js.map +1 -1
  185. package/dist/fields/Tabs/index.scss +8 -0
  186. package/dist/fields/Tabs/provider.d.ts.map +1 -1
  187. package/dist/fields/Tabs/provider.js +3 -5
  188. package/dist/fields/Tabs/provider.js.map +1 -1
  189. package/dist/fields/Text/index.d.ts.map +1 -1
  190. package/dist/fields/Text/index.js +4 -3
  191. package/dist/fields/Text/index.js.map +1 -1
  192. package/dist/fields/Textarea/index.d.ts.map +1 -1
  193. package/dist/fields/Textarea/index.js +2 -1
  194. package/dist/fields/Textarea/index.js.map +1 -1
  195. package/dist/fields/Upload/index.d.ts.map +1 -1
  196. package/dist/fields/Upload/index.js +2 -1
  197. package/dist/fields/Upload/index.js.map +1 -1
  198. package/dist/forms/Form/context.d.ts.map +1 -1
  199. package/dist/forms/Form/context.js +9 -25
  200. package/dist/forms/Form/context.js.map +1 -1
  201. package/dist/forms/Form/fieldReducer.js +1 -1
  202. package/dist/forms/Form/fieldReducer.js.map +1 -1
  203. package/dist/forms/Form/index.d.ts.map +1 -1
  204. package/dist/forms/Form/index.js +8 -8
  205. package/dist/forms/Form/index.js.map +1 -1
  206. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  207. package/dist/forms/RenderFields/index.js +1 -1
  208. package/dist/forms/RenderFields/index.js.map +1 -1
  209. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  210. package/dist/forms/RowLabel/Context/index.js +2 -2
  211. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  212. package/dist/forms/RowLabel/index.d.ts.map +1 -1
  213. package/dist/forms/RowLabel/index.js +2 -2
  214. package/dist/forms/RowLabel/index.js.map +1 -1
  215. package/dist/forms/RowLabel/types.d.ts +1 -1
  216. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  217. package/dist/forms/RowLabel/types.js.map +1 -1
  218. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +3 -1
  219. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  220. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +45 -1
  221. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  222. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts +4 -2
  223. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  224. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js +4 -0
  225. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  226. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts +4 -2
  227. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  228. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js +4 -0
  229. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  230. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts +4 -2
  231. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  232. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +41 -2
  233. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  234. package/dist/forms/fieldSchemasToFormState/index.d.ts +4 -2
  235. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  236. package/dist/forms/fieldSchemasToFormState/index.js +6 -0
  237. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  238. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +4 -2
  239. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  240. package/dist/forms/fieldSchemasToFormState/iterateFields.js +16 -0
  241. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  242. package/dist/forms/useField/index.d.ts.map +1 -1
  243. package/dist/forms/useField/index.js +70 -67
  244. package/dist/forms/useField/index.js.map +1 -1
  245. package/dist/forms/useField/types.d.ts +1 -0
  246. package/dist/forms/useField/types.d.ts.map +1 -1
  247. package/dist/forms/useField/types.js.map +1 -1
  248. package/dist/hooks/useQueues.js +3 -3
  249. package/dist/hooks/useQueues.js.map +1 -1
  250. package/dist/providers/Actions/index.d.ts.map +1 -1
  251. package/dist/providers/Actions/index.js +3 -5
  252. package/dist/providers/Actions/index.js.map +1 -1
  253. package/dist/providers/Auth/index.d.ts.map +1 -1
  254. package/dist/providers/Auth/index.js +3 -5
  255. package/dist/providers/Auth/index.js.map +1 -1
  256. package/dist/providers/ClientFunction/index.d.ts.map +1 -1
  257. package/dist/providers/ClientFunction/index.js +4 -4
  258. package/dist/providers/ClientFunction/index.js.map +1 -1
  259. package/dist/providers/Config/index.d.ts.map +1 -1
  260. package/dist/providers/Config/index.js +3 -5
  261. package/dist/providers/Config/index.js.map +1 -1
  262. package/dist/providers/DocumentEvents/index.d.ts.map +1 -1
  263. package/dist/providers/DocumentEvents/index.js +3 -5
  264. package/dist/providers/DocumentEvents/index.js.map +1 -1
  265. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  266. package/dist/providers/DocumentInfo/index.js +4 -6
  267. package/dist/providers/DocumentInfo/index.js.map +1 -1
  268. package/dist/providers/EditDepth/index.d.ts.map +1 -1
  269. package/dist/providers/EditDepth/index.js +3 -5
  270. package/dist/providers/EditDepth/index.js.map +1 -1
  271. package/dist/providers/EntityVisibility/index.d.ts.map +1 -1
  272. package/dist/providers/EntityVisibility/index.js +3 -5
  273. package/dist/providers/EntityVisibility/index.js.map +1 -1
  274. package/dist/providers/ListQuery/context.d.ts.map +1 -1
  275. package/dist/providers/ListQuery/context.js +2 -2
  276. package/dist/providers/ListQuery/context.js.map +1 -1
  277. package/dist/providers/ListQuery/index.js +1 -1
  278. package/dist/providers/ListQuery/index.js.map +1 -1
  279. package/dist/providers/Locale/index.d.ts.map +1 -1
  280. package/dist/providers/Locale/index.js +5 -9
  281. package/dist/providers/Locale/index.js.map +1 -1
  282. package/dist/providers/Operation/index.d.ts.map +1 -1
  283. package/dist/providers/Operation/index.js +3 -5
  284. package/dist/providers/Operation/index.js.map +1 -1
  285. package/dist/providers/Params/index.d.ts.map +1 -1
  286. package/dist/providers/Params/index.js +3 -5
  287. package/dist/providers/Params/index.js.map +1 -1
  288. package/dist/providers/Preferences/index.d.ts.map +1 -1
  289. package/dist/providers/Preferences/index.js +3 -5
  290. package/dist/providers/Preferences/index.js.map +1 -1
  291. package/dist/providers/RouteCache/index.d.ts.map +1 -1
  292. package/dist/providers/RouteCache/index.js +3 -5
  293. package/dist/providers/RouteCache/index.js.map +1 -1
  294. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  295. package/dist/providers/RouteTransition/index.js +2 -4
  296. package/dist/providers/RouteTransition/index.js.map +1 -1
  297. package/dist/providers/SearchParams/index.d.ts.map +1 -1
  298. package/dist/providers/SearchParams/index.js +3 -5
  299. package/dist/providers/SearchParams/index.js.map +1 -1
  300. package/dist/providers/Selection/index.d.ts.map +1 -1
  301. package/dist/providers/Selection/index.js +3 -5
  302. package/dist/providers/Selection/index.js.map +1 -1
  303. package/dist/providers/ServerFunctions/index.js +2 -2
  304. package/dist/providers/ServerFunctions/index.js.map +1 -1
  305. package/dist/providers/Theme/index.d.ts.map +1 -1
  306. package/dist/providers/Theme/index.js +3 -5
  307. package/dist/providers/Theme/index.js.map +1 -1
  308. package/dist/providers/Translation/index.d.ts.map +1 -1
  309. package/dist/providers/Translation/index.js +3 -5
  310. package/dist/providers/Translation/index.js.map +1 -1
  311. package/dist/providers/UploadEdits/index.d.ts.map +1 -1
  312. package/dist/providers/UploadEdits/index.js +2 -4
  313. package/dist/providers/UploadEdits/index.js.map +1 -1
  314. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  315. package/dist/providers/UploadHandlers/index.js +3 -3
  316. package/dist/providers/UploadHandlers/index.js.map +1 -1
  317. package/dist/styles.css +1 -1
  318. package/dist/utilities/buildFormState.d.ts.map +1 -1
  319. package/dist/utilities/buildFormState.js +5 -1
  320. package/dist/utilities/buildFormState.js.map +1 -1
  321. package/dist/utilities/combineFieldLabel.d.ts +7 -0
  322. package/dist/utilities/combineFieldLabel.d.ts.map +1 -0
  323. package/dist/utilities/combineFieldLabel.js +31 -0
  324. package/dist/utilities/combineFieldLabel.js.map +1 -0
  325. package/dist/utilities/{formatDate.d.ts → formatDocTitle/formatDateTitle.d.ts} +1 -1
  326. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -0
  327. package/dist/utilities/{formatDate.js → formatDocTitle/formatDateTitle.js} +1 -1
  328. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -0
  329. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.d.ts +19 -0
  330. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.d.ts.map +1 -0
  331. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js +19 -0
  332. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -0
  333. package/dist/utilities/{formatDocTitle.d.ts → formatDocTitle/index.d.ts} +2 -2
  334. package/dist/utilities/formatDocTitle/index.d.ts.map +1 -0
  335. package/dist/utilities/{formatDocTitle.js → formatDocTitle/index.js} +11 -3
  336. package/dist/utilities/formatDocTitle/index.js.map +1 -0
  337. package/dist/utilities/getDisplayedFieldValue.d.ts +13 -0
  338. package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -0
  339. package/dist/utilities/getDisplayedFieldValue.js +28 -0
  340. package/dist/utilities/getDisplayedFieldValue.js.map +1 -0
  341. package/dist/utilities/hasOptionLabelJSXElement.d.ts +3 -0
  342. package/dist/utilities/hasOptionLabelJSXElement.d.ts.map +1 -0
  343. package/dist/utilities/hasOptionLabelJSXElement.js +15 -0
  344. package/dist/utilities/hasOptionLabelJSXElement.js.map +1 -0
  345. package/dist/views/Edit/SetDocumentTitle/index.js +1 -1
  346. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  347. package/dist/views/Edit/index.d.ts.map +1 -1
  348. package/dist/views/Edit/index.js +1 -1
  349. package/dist/views/Edit/index.js.map +1 -1
  350. package/package.json +4 -4
  351. package/dist/utilities/formatDate.d.ts.map +0 -1
  352. package/dist/utilities/formatDate.js.map +0 -1
  353. package/dist/utilities/formatDocTitle.d.ts.map +0 -1
  354. package/dist/utilities/formatDocTitle.js.map +0 -1
  355. /package/dist/exports/client/{CodeEditor-TQ5ADFPC.js.map → CodeEditor-J4IKAVAK.js.map} +0 -0
  356. /package/dist/exports/client/{DatePicker-HHQ6TPOW.js.map → DatePicker-DMHV2M2L.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useRouter","useSearchParams","formatAdminURL","React","Fragment","useCallback","useEffect","useMemo","useRef","useState","DocumentControls","DocumentDrawerHeader","useDocumentDrawerContext","DocumentFields","DocumentLocked","DocumentTakeOver","LeaveWithoutSaving","Upload","Form","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","OperationProvider","useRouteTransition","useServerFunctions","useUploadEdits","abortAndIgnore","handleAbortRef","handleBackToDashboard","handleGoBack","handleTakeOver","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","Description","PreviewButton","PublishButton","SaveButton","SaveDraftButton","CustomUpload","id","action","AfterDocument","AfterFields","apiURL","BeforeFields","collectionSlug","currentEditor","disableActions","disableCreate","disableLeaveWithoutSaving","docPermissions","documentIsLocked","getDocPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","incrementVersionCount","initialState","isEditing","isInitializing","lastUpdateTime","redirectAfterDelete","redirectAfterDuplicate","savedDocumentData","setCurrentEditor","setDocumentIsLocked","unlockDocument","updateDocumentEditor","updateSavedDocumentData","clearDoc","drawerSlug","onDelete","onDuplicate","onSave","onSaveFromContext","isInDrawer","Boolean","refreshCookieAsync","user","config","admin","userSlug","routes","adminRoute","getEntityConfig","collectionConfig","globalConfig","depth","router","params","reportUpdate","resetUploadEdits","getFormState","startRouteTransition","abortOnChangeRef","abortOnSaveRef","locale","get","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","autosaveEnabled","versions","drafts","autosave","preventLeaveWithoutSaving","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","editSessionStartTime","setEditSessionStartTime","Date","now","lockExpiryTime","isLockExpired","documentLockStateRef","hasShownLockedModal","isLocked","classes","push","schemaPathSegments","validateBeforeSubmit","setValidateBeforeSubmit","disableLocalStrategy","handleDocumentLocking","lockedState","previousOwnerID","current","lockedUserID","json","controller","document","doc","result","updatedAt","toISOString","redirectRoute","path","docPreferences","state","data","renderAllFields","returnLockStatus","schemaPath","join","signal","skipValidation","onChange","formState","prevFormState","submitted","currentTime","timeSinceLastUpdate","updateLastEdited","shouldUnlockDocument","some","window","location","pathname","includes","abortOnChange","abortOnSave","shouldShowDocumentLockedModal","_jsx","className","filter","_jsxs","disabled","disableValidationOnSubmit","isDocumentForm","method","onSuccess","isActive","onReadOnly","onTakeOver","pluralLabel","labels","plural","useAsTitle","fallback","toString","customComponents","onDrawerCreateNew","permissions","readOnlyForIncomingUser","email","loginWithUsername","readOnly","requirePassword","useAPIKey","username","verify","uploadConfig","fields"],"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientUser, DocumentViewClientProps, FormState } from 'payload'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { LockedState } from '../../utilities/buildFormState.js'\n\nimport { DocumentControls } from '../../elements/DocumentControls/index.js'\nimport { DocumentDrawerHeader } from '../../elements/DocumentDrawer/DrawerHeader/index.js'\nimport { useDocumentDrawerContext } from '../../elements/DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../elements/DocumentFields/index.js'\nimport { DocumentLocked } from '../../elements/DocumentLocked/index.js'\nimport { DocumentTakeOver } from '../../elements/DocumentTakeOver/index.js'\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { Upload } from '../../elements/Upload/index.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { OperationProvider } from '../../providers/Operation/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { handleBackToDashboard } from '../../utilities/handleBackToDashboard.js'\nimport { handleGoBack } from '../../utilities/handleGoBack.js'\nimport { handleTakeOver } from '../../utilities/handleTakeOver.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport function DefaultEditView({\n Description,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Upload: CustomUpload,\n}: DocumentViewClientProps) {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeFields,\n collectionSlug,\n currentEditor,\n disableActions,\n disableCreate,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n getDocPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialState,\n isEditing,\n isInitializing,\n lastUpdateTime,\n redirectAfterDelete,\n redirectAfterDuplicate,\n savedDocumentData,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n updateDocumentEditor,\n updateSavedDocumentData,\n } = useDocumentInfo()\n\n const {\n clearDoc,\n drawerSlug,\n onDelete,\n onDuplicate,\n onSave: onSaveFromContext,\n } = useDocumentDrawerContext()\n\n const isInDrawer = Boolean(drawerSlug)\n\n const { refreshCookieAsync, user } = useAuth()\n\n const {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const depth = useEditDepth()\n\n const router = useRouter()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n const { getFormState } = useServerFunctions()\n const { startRouteTransition } = useRouteTransition()\n\n const abortOnChangeRef = useRef<AbortController>(null)\n const abortOnSaveRef = useRef<AbortController>(null)\n\n const locale = params.get('locale')\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const docConfig = collectionConfig || globalConfig\n\n const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true\n const isLockingEnabled = lockDocumentsProp !== false\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const autosaveEnabled = Boolean(\n (collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave),\n )\n\n const preventLeaveWithoutSaving =\n typeof disableLeaveWithoutSaving !== 'undefined' ? !disableLeaveWithoutSaving : !autosaveEnabled\n\n const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false)\n const [showTakeOverModal, setShowTakeOverModal] = useState(false)\n\n const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now())\n\n const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds\n\n const isLockExpired = Date.now() > lockExpiryTime\n\n const documentLockStateRef = useRef<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: ClientUser | number | string\n } | null>({\n hasShownLockedModal: false,\n isLocked: false,\n user: null,\n })\n\n const classes = [baseClass, (id || globalSlug) && `${baseClass}--is-editing`]\n\n if (globalSlug) {\n classes.push(`global-edit--${globalSlug}`)\n }\n\n if (collectionSlug) {\n classes.push(`collection-edit--${collectionSlug}`)\n }\n\n const schemaPathSegments = useMemo(() => [entitySlug], [entitySlug])\n\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return true\n }\n\n return false\n })\n\n const handleDocumentLocking = useCallback(\n (lockedState: LockedState) => {\n setDocumentIsLocked(true)\n const previousOwnerID =\n typeof documentLockStateRef.current?.user === 'object'\n ? documentLockStateRef.current?.user?.id\n : documentLockStateRef.current?.user\n\n if (lockedState) {\n const lockedUserID =\n typeof lockedState.user === 'string' || typeof lockedState.user === 'number'\n ? lockedState.user\n : lockedState.user.id\n\n if (!documentLockStateRef.current || lockedUserID !== previousOwnerID) {\n if (previousOwnerID === user.id && lockedUserID !== user.id) {\n setShowTakeOverModal(true)\n documentLockStateRef.current.hasShownLockedModal = true\n }\n\n documentLockStateRef.current = {\n hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal || false,\n isLocked: true,\n user: lockedState.user as ClientUser,\n }\n setCurrentEditor(lockedState.user as ClientUser)\n }\n }\n },\n [setCurrentEditor, setDocumentIsLocked, user?.id],\n )\n\n const onSave = useCallback(\n async (json): Promise<FormState> => {\n const controller = handleAbortRef(abortOnSaveRef)\n\n const document = json?.doc || json?.result\n\n reportUpdate({\n id,\n entitySlug,\n updatedAt: document?.updatedAt || new Date().toISOString(),\n })\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n incrementVersionCount()\n\n if (typeof updateSavedDocumentData === 'function') {\n void updateSavedDocumentData(document || {})\n }\n\n if (typeof onSaveFromContext === 'function') {\n const operation = id ? 'update' : 'create'\n\n void onSaveFromContext({\n ...json,\n operation,\n updatedAt:\n operation === 'update'\n ? new Date().toISOString()\n : document?.updatedAt || new Date().toISOString(),\n })\n }\n\n if (!isEditing && depth < 2) {\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${document?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n\n startRouteTransition(() => router.push(redirectRoute))\n } else {\n resetUploadEdits()\n }\n\n await getDocPermissions(json)\n\n if ((id || globalSlug) && !autosaveEnabled) {\n const docPreferences = await getDocPreferences()\n\n const { state } = await getFormState({\n id,\n collectionSlug,\n data: document,\n docPermissions,\n docPreferences,\n globalSlug,\n operation,\n renderAllFields: true,\n returnLockStatus: false,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: true,\n })\n\n // Unlock the document after save\n if (isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n abortOnSaveRef.current = null\n\n return state\n }\n },\n [\n reportUpdate,\n id,\n entitySlug,\n user,\n collectionSlug,\n userSlug,\n incrementVersionCount,\n updateSavedDocumentData,\n onSaveFromContext,\n isEditing,\n depth,\n getDocPermissions,\n globalSlug,\n autosaveEnabled,\n refreshCookieAsync,\n adminRoute,\n locale,\n router,\n resetUploadEdits,\n getDocPreferences,\n getFormState,\n docPermissions,\n operation,\n schemaPathSegments,\n isLockingEnabled,\n setDocumentIsLocked,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const currentTime = Date.now()\n const timeSinceLastUpdate = currentTime - editSessionStartTime\n\n const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds\n\n if (updateLastEdited) {\n setEditSessionStartTime(currentTime)\n }\n\n const docPreferences = await getDocPreferences()\n\n const { lockedState, state } = await getFormState({\n id,\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n skipValidation: !submitted,\n // Performance optimization: Setting it to false ensure that only fields that have explicit requireRender set in the form state will be rendered (e.g. new array rows).\n // We only want to render ALL fields on initial render, not in onChange.\n renderAllFields: false,\n returnLockStatus: isLockingEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n updateLastEdited,\n })\n\n if (isLockingEnabled) {\n handleDocumentLocking(lockedState)\n }\n\n abortOnChangeRef.current = null\n\n return state\n },\n [\n id,\n collectionSlug,\n getDocPreferences,\n getFormState,\n globalSlug,\n handleDocumentLocking,\n isLockingEnabled,\n operation,\n schemaPathSegments,\n docPermissions,\n editSessionStartTime,\n ],\n )\n\n // Clean up when the component unmounts or when the document is unlocked\n useEffect(() => {\n return () => {\n if (isLockingEnabled && documentIsLocked && (id || globalSlug)) {\n // Only retain the lock if the user is still viewing the document\n const shouldUnlockDocument = !['preview', 'api', 'versions'].some((path) =>\n window.location.pathname.includes(path),\n )\n if (shouldUnlockDocument) {\n // Check if this user is still the current editor\n if (\n typeof documentLockStateRef.current?.user === 'object'\n ? documentLockStateRef.current?.user?.id === user?.id\n : documentLockStateRef.current?.user === user?.id\n ) {\n void unlockDocument(id, collectionSlug ?? globalSlug)\n setDocumentIsLocked(false)\n setCurrentEditor(null)\n }\n }\n }\n\n setShowTakeOverModal(false)\n }\n }, [\n collectionSlug,\n globalSlug,\n id,\n unlockDocument,\n user,\n setCurrentEditor,\n isLockingEnabled,\n documentIsLocked,\n setDocumentIsLocked,\n ])\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n const abortOnSave = abortOnSaveRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n abortAndIgnore(abortOnSave)\n }\n }, [])\n\n const shouldShowDocumentLockedModal =\n documentIsLocked &&\n currentEditor &&\n (typeof currentEditor === 'object'\n ? currentEditor.id !== user?.id\n : currentEditor !== user?.id) &&\n !isReadOnlyForIncomingUser &&\n !showTakeOverModal &&\n !documentLockStateRef.current?.hasShownLockedModal &&\n !isLockExpired\n\n return (\n <main className={classes.filter(Boolean).join(' ')}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || isInitializing || !hasSavePermission}\n disableValidationOnSubmit={!validateBeforeSubmit}\n initialState={!isInitializing && initialState}\n isDocumentForm={true}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {isInDrawer && <DocumentDrawerHeader drawerSlug={drawerSlug} />}\n {isLockingEnabled && shouldShowDocumentLockedModal && !isReadOnlyForIncomingUser && (\n <DocumentLocked\n handleGoBack={() => handleGoBack({ adminRoute, collectionSlug, router })}\n isActive={shouldShowDocumentLockedModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n onTakeOver={() =>\n handleTakeOver(\n id,\n collectionSlug,\n globalSlug,\n user,\n false,\n updateDocumentEditor,\n setCurrentEditor,\n documentLockStateRef,\n isLockingEnabled,\n )\n }\n updatedAt={lastUpdateTime}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && showTakeOverModal && (\n <DocumentTakeOver\n handleBackToDashboard={() => handleBackToDashboard({ adminRoute, router })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {!isReadOnlyForIncomingUser && preventLeaveWithoutSaving && <LeaveWithoutSaving />}\n {!isInDrawer && (\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n customComponents={{\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n }}\n data={savedDocumentData}\n disableActions={disableActions}\n disableCreate={disableCreate}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n onDelete={onDelete}\n onDrawerCreateNew={clearDoc}\n onDuplicate={onDuplicate}\n onSave={onSave}\n onTakeOver={() =>\n handleTakeOver(\n id,\n collectionSlug,\n globalSlug,\n user,\n true,\n updateDocumentEditor,\n setCurrentEditor,\n documentLockStateRef,\n isLockingEnabled,\n setIsReadOnlyForIncomingUser,\n )\n }\n permissions={docPermissions}\n readOnlyForIncomingUser={isReadOnlyForIncomingUser}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n slug={collectionConfig?.slug || globalConfig?.slug}\n user={currentEditor}\n />\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <Fragment>\n {auth && (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={savedDocumentData?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n useAPIKey={auth.useAPIKey}\n username={savedDocumentData?.username}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n {CustomUpload || (\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n />\n )}\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n Description={Description}\n docPermissions={docPermissions}\n fields={docConfig.fields}\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission}\n schemaPathSegments={schemaPathSegments}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useRouter","useSearchParams","formatAdminURL","React","Fragment","useCallback","useEffect","useMemo","useRef","useState","DocumentControls","DocumentDrawerHeader","useDocumentDrawerContext","DocumentFields","DocumentLocked","DocumentTakeOver","LeaveWithoutSaving","Upload","Form","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","OperationProvider","useRouteTransition","useServerFunctions","useUploadEdits","abortAndIgnore","handleAbortRef","handleBackToDashboard","handleGoBack","handleTakeOver","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","Description","PreviewButton","PublishButton","SaveButton","SaveDraftButton","CustomUpload","id","action","AfterDocument","AfterFields","apiURL","BeforeFields","collectionSlug","currentEditor","disableActions","disableCreate","disableLeaveWithoutSaving","docPermissions","documentIsLocked","getDocPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","incrementVersionCount","initialState","isEditing","isInitializing","lastUpdateTime","redirectAfterDelete","redirectAfterDuplicate","savedDocumentData","setCurrentEditor","setDocumentIsLocked","unlockDocument","updateDocumentEditor","updateSavedDocumentData","clearDoc","drawerSlug","onDelete","onDuplicate","onSave","onSaveFromContext","isInDrawer","Boolean","refreshCookieAsync","user","config","admin","userSlug","routes","adminRoute","getEntityConfig","collectionConfig","globalConfig","depth","router","params","reportUpdate","resetUploadEdits","getFormState","startRouteTransition","abortOnChangeRef","abortOnSaveRef","locale","get","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","autosaveEnabled","versions","drafts","autosave","preventLeaveWithoutSaving","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","editSessionStartTime","setEditSessionStartTime","Date","now","lockExpiryTime","isLockExpired","documentLockStateRef","hasShownLockedModal","isLocked","classes","push","schemaPathSegments","validateBeforeSubmit","setValidateBeforeSubmit","disableLocalStrategy","handleDocumentLocking","lockedState","previousOwnerID","current","lockedUserID","json","controller","document","doc","result","updatedAt","toISOString","redirectRoute","path","docPreferences","state","data","renderAllFields","returnLockStatus","schemaPath","join","signal","skipValidation","onChange","formState","prevFormState","submitted","currentTime","timeSinceLastUpdate","updateLastEdited","shouldUnlockDocument","some","window","location","pathname","includes","abortOnChange","abortOnSave","shouldShowDocumentLockedModal","_jsx","className","filter","_jsxs","disabled","disableValidationOnSubmit","isDocumentForm","method","onSuccess","isActive","onReadOnly","onTakeOver","pluralLabel","labels","plural","useAsTitle","fallback","toString","customComponents","onDrawerCreateNew","permissions","readOnlyForIncomingUser","email","loginWithUsername","readOnly","requirePassword","useAPIKey","username","verify","uploadConfig","fields"],"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientUser, DocumentViewClientProps, FormState } from 'payload'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { LockedState } from '../../utilities/buildFormState.js'\n\nimport { DocumentControls } from '../../elements/DocumentControls/index.js'\nimport { DocumentDrawerHeader } from '../../elements/DocumentDrawer/DrawerHeader/index.js'\nimport { useDocumentDrawerContext } from '../../elements/DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../elements/DocumentFields/index.js'\nimport { DocumentLocked } from '../../elements/DocumentLocked/index.js'\nimport { DocumentTakeOver } from '../../elements/DocumentTakeOver/index.js'\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { Upload } from '../../elements/Upload/index.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { OperationProvider } from '../../providers/Operation/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { handleBackToDashboard } from '../../utilities/handleBackToDashboard.js'\nimport { handleGoBack } from '../../utilities/handleGoBack.js'\nimport { handleTakeOver } from '../../utilities/handleTakeOver.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport function DefaultEditView({\n Description,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Upload: CustomUpload,\n}: DocumentViewClientProps) {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeFields,\n collectionSlug,\n currentEditor,\n disableActions,\n disableCreate,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n getDocPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialState,\n isEditing,\n isInitializing,\n lastUpdateTime,\n redirectAfterDelete,\n redirectAfterDuplicate,\n savedDocumentData,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n updateDocumentEditor,\n updateSavedDocumentData,\n } = useDocumentInfo()\n\n const {\n clearDoc,\n drawerSlug,\n onDelete,\n onDuplicate,\n onSave: onSaveFromContext,\n } = useDocumentDrawerContext()\n\n const isInDrawer = Boolean(drawerSlug)\n\n const { refreshCookieAsync, user } = useAuth()\n\n const {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const depth = useEditDepth()\n\n const router = useRouter()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n const { getFormState } = useServerFunctions()\n const { startRouteTransition } = useRouteTransition()\n\n const abortOnChangeRef = useRef<AbortController>(null)\n const abortOnSaveRef = useRef<AbortController>(null)\n\n const locale = params.get('locale')\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const docConfig = collectionConfig || globalConfig\n\n const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true\n const isLockingEnabled = lockDocumentsProp !== false\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const autosaveEnabled = Boolean(\n (collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave),\n )\n\n const preventLeaveWithoutSaving =\n typeof disableLeaveWithoutSaving !== 'undefined' ? !disableLeaveWithoutSaving : !autosaveEnabled\n\n const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false)\n const [showTakeOverModal, setShowTakeOverModal] = useState(false)\n\n const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now())\n\n const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds\n\n const isLockExpired = Date.now() > lockExpiryTime\n\n const documentLockStateRef = useRef<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: ClientUser | number | string\n } | null>({\n hasShownLockedModal: false,\n isLocked: false,\n user: null,\n })\n\n const classes = [baseClass, (id || globalSlug) && `${baseClass}--is-editing`]\n\n if (globalSlug) {\n classes.push(`global-edit--${globalSlug}`)\n }\n\n if (collectionSlug) {\n classes.push(`collection-edit--${collectionSlug}`)\n }\n\n const schemaPathSegments = useMemo(() => [entitySlug], [entitySlug])\n\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return true\n }\n\n return false\n })\n\n const handleDocumentLocking = useCallback(\n (lockedState: LockedState) => {\n setDocumentIsLocked(true)\n const previousOwnerID =\n typeof documentLockStateRef.current?.user === 'object'\n ? documentLockStateRef.current?.user?.id\n : documentLockStateRef.current?.user\n\n if (lockedState) {\n const lockedUserID =\n typeof lockedState.user === 'string' || typeof lockedState.user === 'number'\n ? lockedState.user\n : lockedState.user.id\n\n if (!documentLockStateRef.current || lockedUserID !== previousOwnerID) {\n if (previousOwnerID === user.id && lockedUserID !== user.id) {\n setShowTakeOverModal(true)\n documentLockStateRef.current.hasShownLockedModal = true\n }\n\n documentLockStateRef.current = {\n hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal || false,\n isLocked: true,\n user: lockedState.user as ClientUser,\n }\n setCurrentEditor(lockedState.user as ClientUser)\n }\n }\n },\n [setCurrentEditor, setDocumentIsLocked, user?.id],\n )\n\n const onSave = useCallback(\n async (json): Promise<FormState> => {\n const controller = handleAbortRef(abortOnSaveRef)\n\n const document = json?.doc || json?.result\n\n reportUpdate({\n id,\n entitySlug,\n updatedAt: document?.updatedAt || new Date().toISOString(),\n })\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n incrementVersionCount()\n\n if (typeof updateSavedDocumentData === 'function') {\n void updateSavedDocumentData(document || {})\n }\n\n if (typeof onSaveFromContext === 'function') {\n const operation = id ? 'update' : 'create'\n\n void onSaveFromContext({\n ...json,\n operation,\n updatedAt:\n operation === 'update'\n ? new Date().toISOString()\n : document?.updatedAt || new Date().toISOString(),\n })\n }\n\n if (!isEditing && depth < 2) {\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${document?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n\n startRouteTransition(() => router.push(redirectRoute))\n } else {\n resetUploadEdits()\n }\n\n await getDocPermissions(json)\n\n if ((id || globalSlug) && !autosaveEnabled) {\n const docPreferences = await getDocPreferences()\n\n const { state } = await getFormState({\n id,\n collectionSlug,\n data: document,\n docPermissions,\n docPreferences,\n globalSlug,\n operation,\n renderAllFields: true,\n returnLockStatus: false,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: true,\n })\n\n // Unlock the document after save\n if (isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n abortOnSaveRef.current = null\n\n return state\n }\n },\n [\n reportUpdate,\n id,\n entitySlug,\n user,\n collectionSlug,\n userSlug,\n incrementVersionCount,\n updateSavedDocumentData,\n onSaveFromContext,\n isEditing,\n depth,\n getDocPermissions,\n globalSlug,\n autosaveEnabled,\n refreshCookieAsync,\n adminRoute,\n locale,\n router,\n resetUploadEdits,\n getDocPreferences,\n getFormState,\n docPermissions,\n operation,\n schemaPathSegments,\n isLockingEnabled,\n setDocumentIsLocked,\n startRouteTransition,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const currentTime = Date.now()\n const timeSinceLastUpdate = currentTime - editSessionStartTime\n\n const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds\n\n if (updateLastEdited) {\n setEditSessionStartTime(currentTime)\n }\n\n const docPreferences = await getDocPreferences()\n\n const { lockedState, state } = await getFormState({\n id,\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n skipValidation: !submitted,\n // Performance optimization: Setting it to false ensure that only fields that have explicit requireRender set in the form state will be rendered (e.g. new array rows).\n // We only want to render ALL fields on initial render, not in onChange.\n renderAllFields: false,\n returnLockStatus: isLockingEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n updateLastEdited,\n })\n\n if (isLockingEnabled) {\n handleDocumentLocking(lockedState)\n }\n\n abortOnChangeRef.current = null\n\n return state\n },\n [\n id,\n collectionSlug,\n getDocPreferences,\n getFormState,\n globalSlug,\n handleDocumentLocking,\n isLockingEnabled,\n operation,\n schemaPathSegments,\n docPermissions,\n editSessionStartTime,\n ],\n )\n\n // Clean up when the component unmounts or when the document is unlocked\n useEffect(() => {\n return () => {\n if (isLockingEnabled && documentIsLocked && (id || globalSlug)) {\n // Only retain the lock if the user is still viewing the document\n const shouldUnlockDocument = !['preview', 'api', 'versions'].some((path) =>\n window.location.pathname.includes(path),\n )\n if (shouldUnlockDocument) {\n // Check if this user is still the current editor\n if (\n typeof documentLockStateRef.current?.user === 'object'\n ? documentLockStateRef.current?.user?.id === user?.id\n : documentLockStateRef.current?.user === user?.id\n ) {\n void unlockDocument(id, collectionSlug ?? globalSlug)\n setDocumentIsLocked(false)\n setCurrentEditor(null)\n }\n }\n }\n\n setShowTakeOverModal(false)\n }\n }, [\n collectionSlug,\n globalSlug,\n id,\n unlockDocument,\n user,\n setCurrentEditor,\n isLockingEnabled,\n documentIsLocked,\n setDocumentIsLocked,\n ])\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n const abortOnSave = abortOnSaveRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n abortAndIgnore(abortOnSave)\n }\n }, [])\n\n const shouldShowDocumentLockedModal =\n documentIsLocked &&\n currentEditor &&\n (typeof currentEditor === 'object'\n ? currentEditor.id !== user?.id\n : currentEditor !== user?.id) &&\n !isReadOnlyForIncomingUser &&\n !showTakeOverModal &&\n !documentLockStateRef.current?.hasShownLockedModal &&\n !isLockExpired\n\n return (\n <main className={classes.filter(Boolean).join(' ')}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || isInitializing || !hasSavePermission}\n disableValidationOnSubmit={!validateBeforeSubmit}\n initialState={!isInitializing && initialState}\n isDocumentForm={true}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {isInDrawer && <DocumentDrawerHeader drawerSlug={drawerSlug} />}\n {isLockingEnabled && shouldShowDocumentLockedModal && !isReadOnlyForIncomingUser && (\n <DocumentLocked\n handleGoBack={() => handleGoBack({ adminRoute, collectionSlug, router })}\n isActive={shouldShowDocumentLockedModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n onTakeOver={() =>\n handleTakeOver(\n id,\n collectionSlug,\n globalSlug,\n user,\n false,\n updateDocumentEditor,\n setCurrentEditor,\n documentLockStateRef,\n isLockingEnabled,\n )\n }\n updatedAt={lastUpdateTime}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && showTakeOverModal && (\n <DocumentTakeOver\n handleBackToDashboard={() => handleBackToDashboard({ adminRoute, router })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {!isReadOnlyForIncomingUser && preventLeaveWithoutSaving && <LeaveWithoutSaving />}\n {!isInDrawer && (\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n customComponents={{\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n }}\n data={savedDocumentData}\n disableActions={disableActions}\n disableCreate={disableCreate}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n onDelete={onDelete}\n onDrawerCreateNew={clearDoc}\n onDuplicate={onDuplicate}\n onSave={onSave}\n onTakeOver={() =>\n handleTakeOver(\n id,\n collectionSlug,\n globalSlug,\n user,\n true,\n updateDocumentEditor,\n setCurrentEditor,\n documentLockStateRef,\n isLockingEnabled,\n setIsReadOnlyForIncomingUser,\n )\n }\n permissions={docPermissions}\n readOnlyForIncomingUser={isReadOnlyForIncomingUser}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n slug={collectionConfig?.slug || globalConfig?.slug}\n user={currentEditor}\n />\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <Fragment>\n {auth && (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={savedDocumentData?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n useAPIKey={auth.useAPIKey}\n username={savedDocumentData?.username}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n {CustomUpload || (\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n />\n )}\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n Description={Description}\n docPermissions={docPermissions}\n fields={docConfig.fields}\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission}\n schemaPathSegments={schemaPathSegments}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,SAAS,EAAEC,eAAe,QAAQ;AAC3C,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,QAAQ,EAAEC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAKnF,SAASC,gBAAgB,QAAQ;AACjC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,wBAAwB,QAAQ;AACzC,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,SAASC,gBAAgB,QAAQ;AACjC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,MAAM,QAAQ;AACvB,SAASC,IAAI,QAAQ;AACrB,SAASC,OAAO,QAAQ;AACxB,SAASC,SAAS,QAAQ;AAC1B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,eAAe,QAAQ;AAChC,SAASC,YAAY,QAAQ;AAC7B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,EAAEC,cAAc,QAAQ;AAC/C,SAASC,qBAAqB,QAAQ;AACtC,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,QAAQ;AAC/B,SAASC,IAAI,QAAQ;AACrB,SAASC,kBAAkB,QAAQ;AACnC,SAASC,gBAAgB,QAAQ;AACjC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB;AACA;AACA;AACA,OAAO,SAASC,gBAAgB;EAC9BC,WAAW;EACXC,aAAa;EACbC,aAAa;EACbC,UAAU;EACVC,eAAe;EACfzB,MAAA,EAAQ0B;AAAY,CACI;EACxB,MAAM;IACJC,EAAE;IACFC,MAAM;IACNC,aAAa;IACbC,WAAW;IACXC,MAAM;IACNC,YAAY;IACZC,cAAc;IACdC,aAAa;IACbC,cAAc;IACdC,aAAa;IACbC,yBAAyB;IACzBC,cAAc;IACdC,gBAAgB;IAChBC,iBAAiB;IACjBC,iBAAiB;IACjBC,UAAU;IACVC,oBAAoB;IACpBC,iBAAiB;IACjBC,qBAAqB;IACrBC,YAAY;IACZC,SAAS;IACTC,cAAc;IACdC,cAAc;IACdC,mBAAmB;IACnBC,sBAAsB;IACtBC,iBAAiB;IACjBC,gBAAgB;IAChBC,mBAAmB;IACnBC,cAAc;IACdC,oBAAoB;IACpBC;EAAuB,CACxB,GAAGpD,eAAA;EAEJ,MAAM;IACJqD,QAAQ;IACRC,UAAU;IACVC,QAAQ;IACRC,WAAW;IACXC,MAAA,EAAQC;EAAiB,CAC1B,GAAGpE,wBAAA;EAEJ,MAAMqE,UAAA,GAAaC,OAAA,CAAQN,UAAA;EAE3B,MAAM;IAAEO,kBAAkB;IAAEC;EAAI,CAAE,GAAGjE,OAAA;EAErC,MAAM;IACJkE,MAAM;IACNA,MAAA,EAAQ;MACNC,KAAA,EAAO;QAAEF,IAAA,EAAMG;MAAQ,CAAE;MACzBC,MAAA,EAAQ;QAAEF,KAAA,EAAOG;MAAU;IAAE,CAC9B;IACDC;EAAe,CAChB,GAAGtE,SAAA;EAEJ,MAAMuE,gBAAA,GAAmBD,eAAA,CAAgB;IAAExC;EAAe;EAC1D,MAAM0C,YAAA,GAAeF,eAAA,CAAgB;IAAE/B;EAAW;EAElD,MAAMkC,KAAA,GAAQtE,YAAA;EAEd,MAAMuE,MAAA,GAAS9F,SAAA;EACf,MAAM+F,MAAA,GAAS9F,eAAA;EACf,MAAM;IAAE+F;EAAY,CAAE,GAAG3E,iBAAA;EACzB,MAAM;IAAE4E;EAAgB,CAAE,GAAGtE,cAAA;EAC7B,MAAM;IAAEuE;EAAY,CAAE,GAAGxE,kBAAA;EACzB,MAAM;IAAEyE;EAAoB,CAAE,GAAG1E,kBAAA;EAEjC,MAAM2E,gBAAA,GAAmB5F,MAAA,CAAwB;EACjD,MAAM6F,cAAA,GAAiB7F,MAAA,CAAwB;EAE/C,MAAM8F,MAAA,GAASP,MAAA,CAAOQ,GAAG,CAAC;EAE1B,MAAMC,UAAA,GAAab,gBAAA,EAAkBc,IAAA,IAAQb,YAAA,EAAca,IAAA;EAE3D,MAAMC,SAAA,GAAYxD,cAAA,IAAkB,CAACN,EAAA,GAAK,WAAW;EAErD,MAAM+D,IAAA,GAAOhB,gBAAA,GAAmBA,gBAAA,CAAiBgB,IAAI,GAAGC,SAAA;EACxD,MAAMC,MAAA,GAASlB,gBAAA,GAAmBA,gBAAA,CAAiBkB,MAAM,GAAGD,SAAA;EAE5D,MAAME,SAAA,GAAYnB,gBAAA,IAAoBC,YAAA;EAEtC,MAAMmB,iBAAA,GAAoBD,SAAA,EAAWE,aAAA,KAAkBJ,SAAA,GAAYE,SAAA,EAAWE,aAAA,GAAgB;EAC9F,MAAMC,gBAAA,GAAmBF,iBAAA,KAAsB;EAE/C,MAAMG,mBAAA,GAAsB,IAAI;EAAA;EAChC,MAAMC,YAAA,GACJ,OAAOJ,iBAAA,KAAsB,WAAWA,iBAAA,CAAkBK,QAAQ,GAAGF,mBAAA;EACvE,MAAMG,0BAAA,GAA6BF,YAAA,GAAe;EAElD,MAAMG,eAAA,GAAkBpC,OAAA,CACtBS,gBAAC,EAAkB4B,QAAA,EAAUC,MAAA,IAAU7B,gBAAA,EAAkB4B,QAAA,EAAUC,MAAA,EAAQC,QAAA,IACxE7B,YAAA,EAAc2B,QAAA,EAAUC,MAAA,IAAU5B,YAAA,EAAc2B,QAAA,EAAUC,MAAA,EAAQC,QAAA;EAGvE,MAAMC,yBAAA,GACJ,OAAOpE,yBAAA,KAA8B,cAAc,CAACA,yBAAA,GAA4B,CAACgE,eAAA;EAEnF,MAAM,CAACK,yBAAA,EAA2BC,4BAAA,CAA6B,GAAGnH,QAAA,CAAS;EAC3E,MAAM,CAACoH,iBAAA,EAAmBC,oBAAA,CAAqB,GAAGrH,QAAA,CAAS;EAE3D,MAAM,CAACsH,oBAAA,EAAsBC,uBAAA,CAAwB,GAAGvH,QAAA,CAASwH,IAAA,CAAKC,GAAG;EAEzE,MAAMC,cAAA,GAAiBjE,cAAA,GAAiBmD,0BAAA;EAExC,MAAMe,aAAA,GAAgBH,IAAA,CAAKC,GAAG,KAAKC,cAAA;EAEnC,MAAME,oBAAA,GAAuB7H,MAAA,CAInB;IACR8H,mBAAA,EAAqB;IACrBC,QAAA,EAAU;IACVnD,IAAA,EAAM;EACR;EAEA,MAAMoD,OAAA,GAAU,CAACpG,SAAA,EAAY,CAAAQ,EAAA,IAAMe,UAAS,KAAM,GAAGvB,SAAA,cAAuB,CAAC;EAE7E,IAAIuB,UAAA,EAAY;IACd6E,OAAA,CAAQC,IAAI,CAAC,gBAAgB9E,UAAA,EAAY;EAC3C;EAEA,IAAIT,cAAA,EAAgB;IAClBsF,OAAA,CAAQC,IAAI,CAAC,oBAAoBvF,cAAA,EAAgB;EACnD;EAEA,MAAMwF,kBAAA,GAAqBnI,OAAA,CAAQ,MAAM,CAACiG,UAAA,CAAW,EAAE,CAACA,UAAA,CAAW;EAEnE,MAAM,CAACmC,oBAAA,EAAsBC,uBAAA,CAAwB,GAAGnI,QAAA,CAAS;IAC/D,IAAIiG,SAAA,KAAc,YAAYC,IAAA,IAAQ,CAACA,IAAA,CAAKkC,oBAAoB,EAAE;MAChE,OAAO;IACT;IAEA,OAAO;EACT;EAEA,MAAMC,qBAAA,GAAwBzI,WAAA,CAC3B0I,WAAA;IACCxE,mBAAA,CAAoB;IACpB,MAAMyE,eAAA,GACJ,OAAOX,oBAAA,CAAqBY,OAAO,EAAE7D,IAAA,KAAS,WAC1CiD,oBAAA,CAAqBY,OAAO,EAAE7D,IAAA,EAAMxC,EAAA,GACpCyF,oBAAA,CAAqBY,OAAO,EAAE7D,IAAA;IAEpC,IAAI2D,WAAA,EAAa;MACf,MAAMG,YAAA,GACJ,OAAOH,WAAA,CAAY3D,IAAI,KAAK,YAAY,OAAO2D,WAAA,CAAY3D,IAAI,KAAK,WAChE2D,WAAA,CAAY3D,IAAI,GAChB2D,WAAA,CAAY3D,IAAI,CAACxC,EAAE;MAEzB,IAAI,CAACyF,oBAAA,CAAqBY,OAAO,IAAIC,YAAA,KAAiBF,eAAA,EAAiB;QACrE,IAAIA,eAAA,KAAoB5D,IAAA,CAAKxC,EAAE,IAAIsG,YAAA,KAAiB9D,IAAA,CAAKxC,EAAE,EAAE;UAC3DkF,oBAAA,CAAqB;UACrBO,oBAAA,CAAqBY,OAAO,CAACX,mBAAmB,GAAG;QACrD;QAEAD,oBAAA,CAAqBY,OAAO,GAAG;UAC7BX,mBAAA,EAAqBD,oBAAA,CAAqBY,OAAO,EAAEX,mBAAA,IAAuB;UAC1EC,QAAA,EAAU;UACVnD,IAAA,EAAM2D,WAAA,CAAY3D;QACpB;QACAd,gBAAA,CAAiByE,WAAA,CAAY3D,IAAI;MACnC;IACF;EACF,GACA,CAACd,gBAAA,EAAkBC,mBAAA,EAAqBa,IAAA,EAAMxC,EAAA,CAAG;EAGnD,MAAMmC,MAAA,GAAS1E,WAAA,CACb,MAAO8I,IAAA;IACL,MAAMC,UAAA,GAAavH,cAAA,CAAewE,cAAA;IAElC,MAAMgD,QAAA,GAAWF,IAAA,EAAMG,GAAA,IAAOH,IAAA,EAAMI,MAAA;IAEpCvD,YAAA,CAAa;MACXpD,EAAA;MACA4D,UAAA;MACAgD,SAAA,EAAWH,QAAA,EAAUG,SAAA,IAAa,IAAIvB,IAAA,GAAOwB,WAAW;IAC1D;IAEA;IACA;IACA,IAAIrE,IAAA,IAAQlC,cAAA,KAAmBqC,QAAA,IAAY3C,EAAA,KAAOwC,IAAA,CAAKxC,EAAE,EAAE;MACzD,KAAKuC,kBAAA;IACP;IAEArB,qBAAA;IAEA,IAAI,OAAOY,uBAAA,KAA4B,YAAY;MACjD,KAAKA,uBAAA,CAAwB2E,QAAA,IAAY,CAAC;IAC5C;IAEA,IAAI,OAAOrE,iBAAA,KAAsB,YAAY;MAC3C,MAAM0B,WAAA,GAAY9D,EAAA,GAAK,WAAW;MAElC,KAAKoC,iBAAA,CAAkB;QACrB,GAAGmE,IAAI;QACPzC,SAAA,EAAAA,WAAA;QACA8C,SAAA,EACE9C,WAAA,KAAc,WACV,IAAIuB,IAAA,GAAOwB,WAAW,KACtBJ,QAAA,EAAUG,SAAA,IAAa,IAAIvB,IAAA,GAAOwB,WAAW;MACrD;IACF;IAEA,IAAI,CAACzF,SAAA,IAAa6B,KAAA,GAAQ,GAAG;MAC3B;MACA,MAAM6D,aAAA,GAAgBxJ,cAAA,CAAe;QACnCuF,UAAA;QACAkE,IAAA,EAAM,gBAAgBzG,cAAA,IAAkBmG,QAAA,EAAUzG,EAAA,GAAK0D,MAAA,GAAS,WAAWA,MAAA,EAAQ,GAAG;MACxF;MAEAH,oBAAA,CAAqB,MAAML,MAAA,CAAO2C,IAAI,CAACiB,aAAA;IACzC,OAAO;MACLzD,gBAAA;IACF;IAEA,MAAMxC,iBAAA,CAAkB0F,IAAA;IAExB,IAAI,CAACvG,EAAA,IAAMe,UAAS,KAAM,CAAC2D,eAAA,EAAiB;MAC1C,MAAMsC,cAAA,GAAiB,MAAMlG,iBAAA;MAE7B,MAAM;QAAEmG;MAAK,CAAE,GAAG,MAAM3D,YAAA,CAAa;QACnCtD,EAAA;QACAM,cAAA;QACA4G,IAAA,EAAMT,QAAA;QACN9F,cAAA;QACAqG,cAAA;QACAjG,UAAA;QACA+C,SAAA;QACAqD,eAAA,EAAiB;QACjBC,gBAAA,EAAkB;QAClBC,UAAA,EAAYvB,kBAAA,CAAmBwB,IAAI,CAAC;QACpCC,MAAA,EAAQf,UAAA,CAAWe,MAAM;QACzBC,cAAA,EAAgB;MAClB;MAEA;MACA,IAAInD,gBAAA,EAAkB;QACpB1C,mBAAA,CAAoB;MACtB;MAEA8B,cAAA,CAAe4C,OAAO,GAAG;MAEzB,OAAOY,KAAA;IACT;EACF,GACA,CACE7D,YAAA,EACApD,EAAA,EACA4D,UAAA,EACApB,IAAA,EACAlC,cAAA,EACAqC,QAAA,EACAzB,qBAAA,EACAY,uBAAA,EACAM,iBAAA,EACAhB,SAAA,EACA6B,KAAA,EACApC,iBAAA,EACAE,UAAA,EACA2D,eAAA,EACAnC,kBAAA,EACAM,UAAA,EACAa,MAAA,EACAR,MAAA,EACAG,gBAAA,EACAvC,iBAAA,EACAwC,YAAA,EACA3C,cAAA,EACAmD,SAAA,EACAgC,kBAAA,EACAzB,gBAAA,EACA1C,mBAAA,EACA4B,oBAAA,CACD;EAGH,MAAMkE,QAAA,GAAqChK,WAAA,CACzC,OAAO;IAAEiK,SAAA,EAAWC,aAAa;IAAEC;EAAS,CAAE;IAC5C,MAAMpB,YAAA,GAAavH,cAAA,CAAeuE,gBAAA;IAElC,MAAMqE,WAAA,GAAcxC,IAAA,CAAKC,GAAG;IAC5B,MAAMwC,mBAAA,GAAsBD,WAAA,GAAc1C,oBAAA;IAE1C,MAAM4C,gBAAA,GAAmB1D,gBAAA,IAAoByD,mBAAA,IAAuB,MAAM;IAAA;IAE1E,IAAIC,gBAAA,EAAkB;MACpB3C,uBAAA,CAAwByC,WAAA;IAC1B;IAEA,MAAMb,gBAAA,GAAiB,MAAMlG,iBAAA;IAE7B,MAAM;MAAEqF,WAAW,EAAXA,aAAW;MAAEc,KAAK,EAALA;IAAK,CAAE,GAAG,MAAM3D,YAAA,CAAa;MAChDtD,EAAA;MACAM,cAAA;MACAK,cAAA;MACAqG,cAAA,EAAAA,gBAAA;MACAU,SAAA,EAAWC,aAAA;MACX5G,UAAA;MACA+C,SAAA;MACA0D,cAAA,EAAgB,CAACI,SAAA;MACjB;MACA;MACAT,eAAA,EAAiB;MACjBC,gBAAA,EAAkB/C,gBAAA;MAClBgD,UAAA,EAAYvB,kBAAA,CAAmBwB,IAAI,CAAC;MACpCC,MAAA,EAAQf,YAAA,CAAWe,MAAM;MACzBQ;IACF;IAEA,IAAI1D,gBAAA,EAAkB;MACpB6B,qBAAA,CAAsBC,aAAA;IACxB;IAEA3C,gBAAA,CAAiB6C,OAAO,GAAG;IAE3B,OAAOY,OAAA;EACT,GACA,CACEjH,EAAA,EACAM,cAAA,EACAQ,iBAAA,EACAwC,YAAA,EACAvC,UAAA,EACAmF,qBAAA,EACA7B,gBAAA,EACAP,SAAA,EACAgC,kBAAA,EACAnF,cAAA,EACAwE,oBAAA,CACD;EAGH;EACAzH,SAAA,CAAU;IACR,OAAO;MACL,IAAI2G,gBAAA,IAAoBzD,gBAAA,KAAqBZ,EAAA,IAAMe,UAAS,GAAI;QAC9D;QACA,MAAMiH,oBAAA,GAAuB,CAAC,CAAC,WAAW,OAAO,WAAW,CAACC,IAAI,CAAElB,IAAA,IACjEmB,MAAA,CAAOC,QAAQ,CAACC,QAAQ,CAACC,QAAQ,CAACtB,IAAA;QAEpC,IAAIiB,oBAAA,EAAsB;UACxB;UACA,IACE,OAAOvC,oBAAA,CAAqBY,OAAO,EAAE7D,IAAA,KAAS,WAC1CiD,oBAAA,CAAqBY,OAAO,EAAE7D,IAAA,EAAMxC,EAAA,KAAOwC,IAAA,EAAMxC,EAAA,GACjDyF,oBAAA,CAAqBY,OAAO,EAAE7D,IAAA,KAASA,IAAA,EAAMxC,EAAA,EACjD;YACA,KAAK4B,cAAA,CAAe5B,EAAA,EAAIM,cAAA,IAAkBS,UAAA;YAC1CY,mBAAA,CAAoB;YACpBD,gBAAA,CAAiB;UACnB;QACF;MACF;MAEAwD,oBAAA,CAAqB;IACvB;EACF,GAAG,CACD5E,cAAA,EACAS,UAAA,EACAf,EAAA,EACA4B,cAAA,EACAY,IAAA,EACAd,gBAAA,EACA2C,gBAAA,EACAzD,gBAAA,EACAe,mBAAA,CACD;EAEDjE,SAAA,CAAU;IACR,MAAM4K,aAAA,GAAgB9E,gBAAA,CAAiB6C,OAAO;IAC9C,MAAMkC,WAAA,GAAc9E,cAAA,CAAe4C,OAAO;IAE1C,OAAO;MACLrH,cAAA,CAAesJ,aAAA;MACftJ,cAAA,CAAeuJ,WAAA;IACjB;EACF,GAAG,EAAE;EAEL,MAAMC,6BAAA,GACJ5H,gBAAA,IACAL,aAAA,KACC,OAAOA,aAAA,KAAkB,WACtBA,aAAA,CAAcP,EAAE,KAAKwC,IAAA,EAAMxC,EAAA,GAC3BO,aAAA,KAAkBiC,IAAA,EAAMxC,EAAC,KAC7B,CAAC+E,yBAAA,IACD,CAACE,iBAAA,IACD,CAACQ,oBAAA,CAAqBY,OAAO,EAAEX,mBAAA,IAC/B,CAACF,aAAA;EAEH,oBACEiD,IAAA,CAAC;IAAKC,SAAA,EAAW9C,OAAA,CAAQ+C,MAAM,CAACrG,OAAA,EAASgF,IAAI,CAAC;cAC5C,aAAAmB,IAAA,CAAC7J,iBAAA;MAAkBkF,SAAA,EAAWA,SAAA;gBAC5B,aAAA8E,KAAA,CAACtK,IAAA;QACC2B,MAAA,EAAQA,MAAA;QACRyI,SAAA,EAAW,GAAGlJ,SAAA,QAAiB;QAC/BqJ,QAAA,EAAU9D,yBAAA,IAA6B1D,cAAA,IAAkB,CAACJ,iBAAA;QAC1D6H,yBAAA,EAA2B,CAAC/C,oBAAA;QAC5B5E,YAAA,EAAc,CAACE,cAAA,IAAkBF,YAAA;QACjC4H,cAAA,EAAgB;QAChB1H,cAAA,EAAgBA,cAAA;QAChB2H,MAAA,EAAQhJ,EAAA,GAAK,UAAU;QACvByH,QAAA,EAAU,CAACA,QAAA,CAAS;QACpBwB,SAAA,EAAW9G,MAAA;mBAEVE,UAAA,iBAAcoG,IAAA,CAAC1K,oBAAA;UAAqBiE,UAAA,EAAYA;YAChDqC,gBAAA,IAAoBmE,6BAAA,IAAiC,CAACzD,yBAAA,iBACrD0D,IAAA,CAACvK,cAAA;UACCiB,YAAA,EAAcA,CAAA,KAAMA,YAAA,CAAa;YAAE0D,UAAA;YAAYvC,cAAA;YAAgB4C;UAAO;UACtEgG,QAAA,EAAUV,6BAAA;UACVW,UAAA,EAAYA,CAAA;YACVnE,4BAAA,CAA6B;YAC7BE,oBAAA,CAAqB;UACvB;UACAkE,UAAA,EAAYA,CAAA,KACVhK,cAAA,CACEY,EAAA,EACAM,cAAA,EACAS,UAAA,EACAyB,IAAA,EACA,OACAX,oBAAA,EACAH,gBAAA,EACA+D,oBAAA,EACApB,gBAAA;UAGJuC,SAAA,EAAWtF,cAAA;UACXkB,IAAA,EAAMjC;YAGT8D,gBAAA,IAAoBY,iBAAA,iBACnBwD,IAAA,CAACtK,gBAAA;UACCe,qBAAA,EAAuBA,CAAA,KAAMA,qBAAA,CAAsB;YAAE2D,UAAA;YAAYK;UAAO;UACxEgG,QAAA,EAAUjE,iBAAA;UACVkE,UAAA,EAAYA,CAAA;YACVnE,4BAAA,CAA6B;YAC7BE,oBAAA,CAAqB;UACvB;YAGH,CAACH,yBAAA,IAA6BD,yBAAA,iBAA6B2D,IAAA,CAACrK,kBAAA,OAC5D,CAACiE,UAAA,iBACAoG,IAAA,CAACnJ,kBAAA;UACCgB,cAAA,EAAgByC,gBAAA,EAAkBc,IAAA;UAClC9C,UAAA,EAAYiC,YAAA,EAAca,IAAA;UAC1B7D,EAAA,EAAIA,EAAA;UACJqJ,WAAA,EAAatG,gBAAA,EAAkBuG,MAAA,EAAQC,MAAA;UACvCC,UAAA,EAAYzG,gBAAA,EAAkBL,KAAA,EAAO8G;yBAGzCf,IAAA,CAAClJ,gBAAA;UACCwD,gBAAA,EAAkBA,gBAAA;UAClBN,MAAA,EAAQA,MAAA;UACRgH,QAAA,EAAUxG,KAAA,IAAS,IAAIjD,EAAA,EAAI0J,QAAA,KAAa1F,SAAA;UACxChB,YAAA,EAAcA;yBAEhByF,IAAA,CAAC3K,gBAAA;UACCsC,MAAA,EAAQA,MAAA;UACRuJ,gBAAA,EAAkB;YAChBhK,aAAA;YACAC,aAAA;YACAC,UAAA;YACAC;UACF;UACAoH,IAAA,EAAMzF,iBAAA;UACNjB,cAAA,EAAgBA,cAAA;UAChBC,aAAA,EAAeA,aAAA;UACfO,oBAAA,EAAsBA,oBAAA;UACtBC,iBAAA,EAAmBA,iBAAA;UACnBjB,EAAA,EAAIA,EAAA;UACJoB,SAAA,EAAWA,SAAA;UACXa,QAAA,EAAUA,QAAA;UACV2H,iBAAA,EAAmB7H,QAAA;UACnBG,WAAA,EAAaA,WAAA;UACbC,MAAA,EAAQA,MAAA;UACRiH,UAAA,EAAYA,CAAA,KACVhK,cAAA,CACEY,EAAA,EACAM,cAAA,EACAS,UAAA,EACAyB,IAAA,EACA,MACAX,oBAAA,EACAH,gBAAA,EACA+D,oBAAA,EACApB,gBAAA,EACAW,4BAAA;UAGJ6E,WAAA,EAAalJ,cAAA;UACbmJ,uBAAA,EAAyB/E,yBAAA;UACzBxD,mBAAA,EAAqBA,mBAAA;UACrBC,sBAAA,EAAwBA,sBAAA;UACxBqC,IAAA,EAAMd,gBAAA,EAAkBc,IAAA,IAAQb,YAAA,EAAca,IAAA;UAC9CrB,IAAA,EAAMjC;yBAERkI,IAAA,CAACxK,cAAA;UACCkC,WAAA,EAAaA,WAAA;UACbE,YAAA,EACEA,YAAA,iBACEuI,KAAA,CAACpL,QAAA;uBACEuG,IAAA,iBACC0E,IAAA,CAACpJ,IAAA;cACCqJ,SAAA,EAAW,GAAGlJ,SAAA,QAAiB;cAC/Bc,cAAA,EAAgByC,gBAAA,CAAiBc,IAAI;cACrCoC,oBAAA,EAAsBlD,gBAAA,CAAiBgB,IAAI,EAAEkC,oBAAA;cAC7C8D,KAAA,EAAOtI,iBAAA,EAAmBsI,KAAA;cAC1BC,iBAAA,EAAmBjG,IAAA,EAAMiG,iBAAA;cACzBlG,SAAA,EAAWA,SAAA;cACXmG,QAAA,EAAU,CAAChJ,iBAAA;cACXiJ,eAAA,EAAiB,CAAClK,EAAA;cAClBgG,uBAAA,EAAyBA,uBAAA;cACzBmE,SAAA,EAAWpG,IAAA,CAAKoG,SAAS;cACzBC,QAAA,EAAU3I,iBAAA,EAAmB2I,QAAA;cAC7BC,MAAA,EAAQtG,IAAA,CAAKsG;gBAGhBpG,MAAA,iBACCwE,IAAA,CAAClL,KAAA,CAAMC,QAAQ;wBACZuC,YAAA,iBACC0I,IAAA,CAACpK,MAAA;gBACCiC,cAAA,EAAgByC,gBAAA,CAAiBc,IAAI;gBACrC1C,YAAA,EAAcA,YAAA;gBACdmJ,YAAA,EAAcrG;;;;UAQ5BvE,WAAA,EAAaA,WAAA;UACbiB,cAAA,EAAgBA,cAAA;UAChB4J,MAAA,EAAQrG,SAAA,CAAUqG,MAAM;UACxBN,QAAA,EAAUlF,yBAAA,IAA6B,CAAC9D,iBAAA;UACxC6E,kBAAA,EAAoBA;YAErB5F,aAAA;;;;AAKX","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/ui",
3
- "version": "3.29.0-internal.d2c9ba5",
3
+ "version": "3.29.0-internal.e4e913b",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -132,7 +132,7 @@
132
132
  "ts-essentials": "10.0.3",
133
133
  "use-context-selector": "2.0.0",
134
134
  "uuid": "10.0.0",
135
- "@payloadcms/translations": "3.29.0-internal.d2c9ba5"
135
+ "@payloadcms/translations": "3.29.0-internal.e4e913b"
136
136
  },
137
137
  "devDependencies": {
138
138
  "@babel/cli": "7.26.4",
@@ -148,14 +148,14 @@
148
148
  "esbuild": "0.24.2",
149
149
  "esbuild-sass-plugin": "3.3.1",
150
150
  "eslint-plugin-react-compiler": "19.0.0-beta-714736e-20250131",
151
- "payload": "3.29.0-internal.d2c9ba5",
151
+ "payload": "3.29.0-internal.e4e913b",
152
152
  "@payloadcms/eslint-config": "3.28.0"
153
153
  },
154
154
  "peerDependencies": {
155
155
  "next": "^15.0.0",
156
156
  "react": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
157
157
  "react-dom": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
158
- "payload": "3.29.0-internal.d2c9ba5"
158
+ "payload": "3.29.0-internal.e4e913b"
159
159
  },
160
160
  "engines": {
161
161
  "node": "^18.20.2 || >=20.9.0"
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatDate.d.ts","sourceRoot":"","sources":["../../src/utilities/formatDate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAKpD,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACxC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,UAAU,sCAAuC,cAAc,KAAG,MAoB9E,CAAA;AAED,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACxC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,eAAe,mBAAoB,mBAAmB,KAAG,MAKrE,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatDate.js","names":["TZDateMini","TZDate","format","formatDistanceToNow","transpose","formatDate","date","i18n","pattern","timezone","theDate","Date","DateWithOriginalTz","tz","modifiedDate","withTimeZone","dateWithTimezone","dateFNS","locale","t","formatTimeToNow"],"sources":["../../src/utilities/formatDate.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\n\nimport { TZDateMini as TZDate } from '@date-fns/tz/date/mini'\nimport { format, formatDistanceToNow, transpose } from 'date-fns'\n\ntype FormatDateArgs = {\n date: Date | number | string | undefined\n i18n: I18n<any, any>\n pattern: string\n timezone?: string\n}\n\nexport const formatDate = ({ date, i18n, pattern, timezone }: FormatDateArgs): string => {\n const theDate = new TZDate(new Date(date))\n\n if (timezone) {\n const DateWithOriginalTz = TZDate.tz(timezone)\n\n const modifiedDate = theDate.withTimeZone(timezone)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(modifiedDate, DateWithOriginalTz)\n\n // Transpose the date to the user's timezone - this is necessary because the react-datepicker component insists on displaying the date in the user's timezone\n return i18n.dateFNS\n ? format(dateWithTimezone, pattern, { locale: i18n.dateFNS })\n : `${i18n.t('general:loading')}...`\n }\n\n return i18n.dateFNS\n ? format(theDate, pattern, { locale: i18n.dateFNS })\n : `${i18n.t('general:loading')}...`\n}\n\ntype FormatTimeToNowArgs = {\n date: Date | number | string | undefined\n i18n: I18n<any, any>\n}\n\nexport const formatTimeToNow = ({ date, i18n }: FormatTimeToNowArgs): string => {\n const theDate = new Date(date)\n return i18n?.dateFNS\n ? formatDistanceToNow(theDate, { locale: i18n.dateFNS })\n : `${i18n.t('general:loading')}...`\n}\n"],"mappings":"AAEA,SAASA,UAAA,IAAcC,MAAM,QAAQ;AACrC,SAASC,MAAM,EAAEC,mBAAmB,EAAEC,SAAS,QAAQ;AASvD,OAAO,MAAMC,UAAA,GAAaA,CAAC;EAAEC,IAAI;EAAEC,IAAI;EAAEC,OAAO;EAAEC;AAAQ,CAAkB;EAC1E,MAAMC,OAAA,GAAU,IAAIT,MAAA,CAAO,IAAIU,IAAA,CAAKL,IAAA;EAEpC,IAAIG,QAAA,EAAU;IACZ,MAAMG,kBAAA,GAAqBX,MAAA,CAAOY,EAAE,CAACJ,QAAA;IAErC,MAAMK,YAAA,GAAeJ,OAAA,CAAQK,YAAY,CAACN,QAAA;IAE1C;IACA,MAAMO,gBAAA,GAAmBZ,SAAA,CAAUU,YAAA,EAAcF,kBAAA;IAEjD;IACA,OAAOL,IAAA,CAAKU,OAAO,GACff,MAAA,CAAOc,gBAAA,EAAkBR,OAAA,EAAS;MAAEU,MAAA,EAAQX,IAAA,CAAKU;IAAQ,KACzD,GAAGV,IAAA,CAAKY,CAAC,CAAC,uBAAuB;EACvC;EAEA,OAAOZ,IAAA,CAAKU,OAAO,GACff,MAAA,CAAOQ,OAAA,EAASF,OAAA,EAAS;IAAEU,MAAA,EAAQX,IAAA,CAAKU;EAAQ,KAChD,GAAGV,IAAA,CAAKY,CAAC,CAAC,uBAAuB;AACvC;AAOA,OAAO,MAAMC,eAAA,GAAkBA,CAAC;EAAEd,IAAI;EAAEC;AAAI,CAAuB;EACjE,MAAMG,OAAA,GAAU,IAAIC,IAAA,CAAKL,IAAA;EACzB,OAAOC,IAAA,EAAMU,OAAA,GACTd,mBAAA,CAAoBO,OAAA,EAAS;IAAEQ,MAAA,EAAQX,IAAA,CAAKU;EAAQ,KACpD,GAAGV,IAAA,CAAKY,CAAC,CAAC,uBAAuB;AACvC","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatDocTitle.d.ts","sourceRoot":"","sources":["../../src/utilities/formatDocTitle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,UAAU,EACX,MAAM,SAAS,CAAA;AAMhB,eAAO,MAAM,cAAc,gGAOxB;IACD,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IACzC,IAAI,EAAE,UAAU,CAAA;IAChB,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CACrB,KAAG,MAmCH,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatDocTitle.js","names":["getTranslation","formatDate","formatDocTitle","collectionConfig","data","dateFormat","dateFormatFromConfig","fallback","globalConfig","i18n","title","useAsTitle","admin","fieldConfig","fields","find","f","name","isDate","type","date","displayFormat","pattern","label","slug","t"],"sources":["../../src/utilities/formatDocTitle.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n SanitizedConfig,\n TypeWithID,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport { formatDate } from '../utilities/formatDate.js'\n\nexport const formatDocTitle = ({\n collectionConfig,\n data,\n dateFormat: dateFormatFromConfig,\n fallback,\n globalConfig,\n i18n,\n}: {\n collectionConfig?: ClientCollectionConfig\n data: TypeWithID\n dateFormat: SanitizedConfig['admin']['dateFormat']\n fallback?: string\n globalConfig?: ClientGlobalConfig\n i18n: I18n<any, any>\n}): string => {\n let title: string\n\n if (collectionConfig) {\n const useAsTitle = collectionConfig?.admin?.useAsTitle\n\n if (useAsTitle) {\n title = data?.[useAsTitle] || title\n\n if (title) {\n const fieldConfig = collectionConfig.fields.find(\n (f) => 'name' in f && f.name === useAsTitle,\n )\n\n const isDate = fieldConfig?.type === 'date'\n\n if (isDate) {\n const dateFormat =\n ('date' in fieldConfig.admin && fieldConfig?.admin?.date?.displayFormat) ||\n dateFormatFromConfig\n title = formatDate({ date: title, i18n, pattern: dateFormat }) || title\n }\n }\n }\n }\n\n if (globalConfig) {\n title = getTranslation(globalConfig?.label, i18n) || globalConfig?.slug\n }\n\n if (!title) {\n title = fallback || `[${i18n.t('general:untitled')}]`\n }\n\n return title\n}\n"],"mappings":"AAQA,SAASA,cAAc,QAAQ;AAE/B,SAASC,UAAU,QAAQ;AAE3B,OAAO,MAAMC,cAAA,GAAiBA,CAAC;EAC7BC,gBAAgB;EAChBC,IAAI;EACJC,UAAA,EAAYC,oBAAoB;EAChCC,QAAQ;EACRC,YAAY;EACZC;AAAI,CAQL;EACC,IAAIC,KAAA;EAEJ,IAAIP,gBAAA,EAAkB;IACpB,MAAMQ,UAAA,GAAaR,gBAAA,EAAkBS,KAAA,EAAOD,UAAA;IAE5C,IAAIA,UAAA,EAAY;MACdD,KAAA,GAAQN,IAAA,GAAOO,UAAA,CAAW,IAAID,KAAA;MAE9B,IAAIA,KAAA,EAAO;QACT,MAAMG,WAAA,GAAcV,gBAAA,CAAiBW,MAAM,CAACC,IAAI,CAC7CC,CAAA,IAAM,UAAUA,CAAA,IAAKA,CAAA,CAAEC,IAAI,KAAKN,UAAA;QAGnC,MAAMO,MAAA,GAASL,WAAA,EAAaM,IAAA,KAAS;QAErC,IAAID,MAAA,EAAQ;UACV,MAAMb,UAAA,GACJ,MAAC,IAAUQ,WAAA,CAAYD,KAAK,IAAIC,WAAA,EAAaD,KAAA,EAAOQ,IAAA,EAAMC,aAAA,IAC1Df,oBAAA;UACFI,KAAA,GAAQT,UAAA,CAAW;YAAEmB,IAAA,EAAMV,KAAA;YAAOD,IAAA;YAAMa,OAAA,EAASjB;UAAW,MAAMK,KAAA;QACpE;MACF;IACF;EACF;EAEA,IAAIF,YAAA,EAAc;IAChBE,KAAA,GAAQV,cAAA,CAAeQ,YAAA,EAAce,KAAA,EAAOd,IAAA,KAASD,YAAA,EAAcgB,IAAA;EACrE;EAEA,IAAI,CAACd,KAAA,EAAO;IACVA,KAAA,GAAQH,QAAA,IAAY,IAAIE,IAAA,CAAKgB,CAAC,CAAC,sBAAsB;EACvD;EAEA,OAAOf,KAAA;AACT","ignoreList":[]}