@payloadcms/ui 3.0.0-beta.85 → 3.0.0-beta.86

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 (777) hide show
  1. package/dist/@types/assets.d.js.map +1 -1
  2. package/dist/assets/index.js +0 -1
  3. package/dist/assets/index.js.map +1 -1
  4. package/dist/elements/AppHeader/index.js +132 -95
  5. package/dist/elements/AppHeader/index.js.map +1 -1
  6. package/dist/elements/ArrayAction/index.js +93 -83
  7. package/dist/elements/ArrayAction/index.js.map +1 -1
  8. package/dist/elements/Autosave/index.js +277 -199
  9. package/dist/elements/Autosave/index.js.map +1 -1
  10. package/dist/elements/Banner/index.js +27 -31
  11. package/dist/elements/Banner/index.js.map +1 -1
  12. package/dist/elements/Button/index.js +212 -101
  13. package/dist/elements/Button/index.js.map +1 -1
  14. package/dist/elements/Button/types.js +1 -2
  15. package/dist/elements/Button/types.js.map +1 -1
  16. package/dist/elements/Card/index.js +33 -32
  17. package/dist/elements/Card/index.js.map +1 -1
  18. package/dist/elements/CodeEditor/CodeEditor.js +77 -28
  19. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  20. package/dist/elements/CodeEditor/index.js +15 -13
  21. package/dist/elements/CodeEditor/index.js.map +1 -1
  22. package/dist/elements/CodeEditor/types.js +1 -2
  23. package/dist/elements/CodeEditor/types.js.map +1 -1
  24. package/dist/elements/Collapsible/index.js +167 -84
  25. package/dist/elements/Collapsible/index.js.map +1 -1
  26. package/dist/elements/Collapsible/provider.js +31 -27
  27. package/dist/elements/Collapsible/provider.js.map +1 -1
  28. package/dist/elements/ColumnSelector/index.js +94 -41
  29. package/dist/elements/ColumnSelector/index.js.map +1 -1
  30. package/dist/elements/CopyToClipboard/index.js +78 -45
  31. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  32. package/dist/elements/DatePicker/DatePicker.js +132 -81
  33. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  34. package/dist/elements/DatePicker/getFormattedLocale.d.ts.map +1 -1
  35. package/dist/elements/DatePicker/getFormattedLocale.js +11 -10
  36. package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
  37. package/dist/elements/DatePicker/index.js +10 -10
  38. package/dist/elements/DatePicker/index.js.map +1 -1
  39. package/dist/elements/DatePicker/types.js +1 -2
  40. package/dist/elements/DatePicker/types.js.map +1 -1
  41. package/dist/elements/DeleteDocument/index.js +127 -130
  42. package/dist/elements/DeleteDocument/index.js.map +1 -1
  43. package/dist/elements/DeleteMany/index.js +119 -114
  44. package/dist/elements/DeleteMany/index.js.map +1 -1
  45. package/dist/elements/DocumentControls/index.js +179 -201
  46. package/dist/elements/DocumentControls/index.js.map +1 -1
  47. package/dist/elements/DocumentDrawer/DrawerContent.js +169 -82
  48. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  49. package/dist/elements/DocumentDrawer/index.js +251 -107
  50. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  51. package/dist/elements/DocumentDrawer/types.js +1 -2
  52. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  53. package/dist/elements/DocumentFields/index.js +53 -56
  54. package/dist/elements/DocumentFields/index.js.map +1 -1
  55. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +59 -21
  56. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  57. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +1 -2
  58. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  59. package/dist/elements/DraggableSortable/index.js +96 -40
  60. package/dist/elements/DraggableSortable/index.js.map +1 -1
  61. package/dist/elements/DraggableSortable/types.js +1 -2
  62. package/dist/elements/DraggableSortable/types.js.map +1 -1
  63. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +85 -24
  64. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  65. package/dist/elements/DraggableSortable/useDraggableSortable/types.js +1 -2
  66. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  67. package/dist/elements/Drawer/index.js +217 -103
  68. package/dist/elements/Drawer/index.js.map +1 -1
  69. package/dist/elements/Drawer/types.js +1 -2
  70. package/dist/elements/Drawer/types.js.map +1 -1
  71. package/dist/elements/Drawer/useDrawerSlug.js +19 -7
  72. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  73. package/dist/elements/Dropzone/index.js +157 -113
  74. package/dist/elements/Dropzone/index.js.map +1 -1
  75. package/dist/elements/DuplicateDocument/index.js +165 -97
  76. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  77. package/dist/elements/EditMany/index.js +399 -211
  78. package/dist/elements/EditMany/index.js.map +1 -1
  79. package/dist/elements/EditUpload/index.js +452 -401
  80. package/dist/elements/EditUpload/index.js.map +1 -1
  81. package/dist/elements/ErrorPill/index.js +21 -23
  82. package/dist/elements/ErrorPill/index.js.map +1 -1
  83. package/dist/elements/FieldSelect/index.js +164 -135
  84. package/dist/elements/FieldSelect/index.js.map +1 -1
  85. package/dist/elements/FileDetails/FileMeta/index.js +92 -61
  86. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  87. package/dist/elements/FileDetails/index.js +60 -49
  88. package/dist/elements/FileDetails/index.js.map +1 -1
  89. package/dist/elements/GenerateConfirmation/index.js +62 -59
  90. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  91. package/dist/elements/Gutter/index.d.ts.map +1 -1
  92. package/dist/elements/Gutter/index.js +18 -16
  93. package/dist/elements/Gutter/index.js.map +1 -1
  94. package/dist/elements/Hamburger/index.js +38 -25
  95. package/dist/elements/Hamburger/index.js.map +1 -1
  96. package/dist/elements/HydrateAuthProvider/index.js +27 -10
  97. package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
  98. package/dist/elements/IDLabel/index.js +10 -13
  99. package/dist/elements/IDLabel/index.js.map +1 -1
  100. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
  101. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +8 -7
  102. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  103. package/dist/elements/ListControls/index.js +248 -150
  104. package/dist/elements/ListControls/index.js.map +1 -1
  105. package/dist/elements/ListDrawer/DrawerContent.js +507 -263
  106. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  107. package/dist/elements/ListDrawer/index.js +227 -120
  108. package/dist/elements/ListDrawer/index.js.map +1 -1
  109. package/dist/elements/ListDrawer/types.js +1 -2
  110. package/dist/elements/ListDrawer/types.js.map +1 -1
  111. package/dist/elements/ListSelection/index.js +54 -36
  112. package/dist/elements/ListSelection/index.js.map +1 -1
  113. package/dist/elements/Loading/index.js +150 -73
  114. package/dist/elements/Loading/index.js.map +1 -1
  115. package/dist/elements/LoadingOverlay/index.js +120 -59
  116. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  117. package/dist/elements/LoadingOverlay/reducer.d.ts.map +1 -1
  118. package/dist/elements/LoadingOverlay/reducer.js +30 -27
  119. package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
  120. package/dist/elements/LoadingOverlay/types.js +1 -2
  121. package/dist/elements/LoadingOverlay/types.js.map +1 -1
  122. package/dist/elements/Localizer/LocalizerLabel/index.js +56 -27
  123. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  124. package/dist/elements/Localizer/index.js +85 -40
  125. package/dist/elements/Localizer/index.js.map +1 -1
  126. package/dist/elements/Logout/index.js +94 -26
  127. package/dist/elements/Logout/index.js.map +1 -1
  128. package/dist/elements/Modal/index.d.ts.map +1 -1
  129. package/dist/elements/Modal/index.js +2 -1
  130. package/dist/elements/Modal/index.js.map +1 -1
  131. package/dist/elements/Nav/NavToggler/index.js +78 -28
  132. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  133. package/dist/elements/Nav/context.js +126 -88
  134. package/dist/elements/Nav/context.js.map +1 -1
  135. package/dist/elements/NavGroup/index.js +141 -73
  136. package/dist/elements/NavGroup/index.js.map +1 -1
  137. package/dist/elements/Pagination/ClickableArrow/index.js +15 -15
  138. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  139. package/dist/elements/Pagination/Page/index.js +15 -14
  140. package/dist/elements/Pagination/Page/index.js.map +1 -1
  141. package/dist/elements/Pagination/Separator/index.js +5 -5
  142. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  143. package/dist/elements/Pagination/index.js +90 -81
  144. package/dist/elements/Pagination/index.js.map +1 -1
  145. package/dist/elements/PerPage/index.js +77 -48
  146. package/dist/elements/PerPage/index.js.map +1 -1
  147. package/dist/elements/Pill/index.js +108 -64
  148. package/dist/elements/Pill/index.js.map +1 -1
  149. package/dist/elements/Popup/PopupButtonList/index.js +51 -48
  150. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  151. package/dist/elements/Popup/PopupTrigger/index.js +34 -32
  152. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  153. package/dist/elements/Popup/PopupTrigger/types.js.map +1 -1
  154. package/dist/elements/Popup/index.js +143 -145
  155. package/dist/elements/Popup/index.js.map +1 -1
  156. package/dist/elements/PreviewButton/index.js +44 -21
  157. package/dist/elements/PreviewButton/index.js.map +1 -1
  158. package/dist/elements/PreviewButton/usePreviewURL.js +57 -48
  159. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  160. package/dist/elements/PreviewSizes/index.js +118 -129
  161. package/dist/elements/PreviewSizes/index.js.map +1 -1
  162. package/dist/elements/PublishButton/index.js +108 -44
  163. package/dist/elements/PublishButton/index.js.map +1 -1
  164. package/dist/elements/PublishMany/index.js +120 -115
  165. package/dist/elements/PublishMany/index.js.map +1 -1
  166. package/dist/elements/ReactSelect/ClearIndicator/index.js +26 -20
  167. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  168. package/dist/elements/ReactSelect/Control/index.js +40 -31
  169. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  170. package/dist/elements/ReactSelect/DropdownIndicator/index.js +20 -15
  171. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  172. package/dist/elements/ReactSelect/Input/index.js +12 -11
  173. package/dist/elements/ReactSelect/Input/index.js.map +1 -1
  174. package/dist/elements/ReactSelect/MultiValue/index.js +124 -38
  175. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  176. package/dist/elements/ReactSelect/MultiValueLabel/index.js +20 -14
  177. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  178. package/dist/elements/ReactSelect/MultiValueRemove/index.js +84 -35
  179. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  180. package/dist/elements/ReactSelect/SingleValue/index.js +13 -13
  181. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  182. package/dist/elements/ReactSelect/ValueContainer/index.js +15 -11
  183. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  184. package/dist/elements/ReactSelect/index.js +180 -165
  185. package/dist/elements/ReactSelect/index.js.map +1 -1
  186. package/dist/elements/ReactSelect/types.js +1 -2
  187. package/dist/elements/ReactSelect/types.js.map +1 -1
  188. package/dist/elements/RenderTitle/index.js +53 -23
  189. package/dist/elements/RenderTitle/index.js.map +1 -1
  190. package/dist/elements/SaveButton/index.js +98 -41
  191. package/dist/elements/SaveButton/index.js.map +1 -1
  192. package/dist/elements/SaveDraftButton/index.js +143 -73
  193. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  194. package/dist/elements/SearchFilter/index.js +85 -27
  195. package/dist/elements/SearchFilter/index.js.map +1 -1
  196. package/dist/elements/SelectAll/index.js +44 -15
  197. package/dist/elements/SelectAll/index.js.map +1 -1
  198. package/dist/elements/SelectRow/index.js +41 -11
  199. package/dist/elements/SelectRow/index.js.map +1 -1
  200. package/dist/elements/ShimmerEffect/index.js +61 -31
  201. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  202. package/dist/elements/SortColumn/index.js +107 -65
  203. package/dist/elements/SortColumn/index.js.map +1 -1
  204. package/dist/elements/SortComplex/index.js +172 -101
  205. package/dist/elements/SortComplex/index.js.map +1 -1
  206. package/dist/elements/Status/index.js +233 -176
  207. package/dist/elements/Status/index.js.map +1 -1
  208. package/dist/elements/StayLoggedIn/index.js +98 -52
  209. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  210. package/dist/elements/StepNav/SetStepNav.js +27 -10
  211. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  212. package/dist/elements/StepNav/context.d.ts.map +1 -1
  213. package/dist/elements/StepNav/context.js +35 -11
  214. package/dist/elements/StepNav/context.js.map +1 -1
  215. package/dist/elements/StepNav/index.js +89 -67
  216. package/dist/elements/StepNav/index.js.map +1 -1
  217. package/dist/elements/StepNav/types.js +1 -2
  218. package/dist/elements/StepNav/types.js.map +1 -1
  219. package/dist/elements/Table/DefaultCell/fields/Array/index.js +26 -7
  220. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  221. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +51 -24
  222. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  223. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +25 -8
  224. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  225. package/dist/elements/Table/DefaultCell/fields/Code/index.js +16 -13
  226. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  227. package/dist/elements/Table/DefaultCell/fields/Date/index.js +59 -11
  228. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  229. package/dist/elements/Table/DefaultCell/fields/File/index.js +27 -23
  230. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  231. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +11 -9
  232. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  233. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +182 -89
  234. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  235. package/dist/elements/Table/DefaultCell/fields/Select/index.js +58 -17
  236. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  237. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +8 -6
  238. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  239. package/dist/elements/Table/DefaultCell/fields/index.js +13 -13
  240. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  241. package/dist/elements/Table/DefaultCell/index.js +158 -72
  242. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  243. package/dist/elements/Table/RelationshipProvider/index.js +144 -82
  244. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  245. package/dist/elements/Table/RelationshipProvider/reducer.js +42 -42
  246. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  247. package/dist/elements/Table/TableCellProvider/index.js +41 -18
  248. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  249. package/dist/elements/Table/index.js +83 -46
  250. package/dist/elements/Table/index.js.map +1 -1
  251. package/dist/elements/TableColumns/buildColumnState.js +104 -97
  252. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  253. package/dist/elements/TableColumns/filterFields.js +17 -20
  254. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  255. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
  256. package/dist/elements/TableColumns/getInitialColumns.js +29 -42
  257. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
  258. package/dist/elements/TableColumns/index.js +248 -125
  259. package/dist/elements/TableColumns/index.js.map +1 -1
  260. package/dist/elements/Thumbnail/index.js +100 -43
  261. package/dist/elements/Thumbnail/index.js.map +1 -1
  262. package/dist/elements/ThumbnailCard/index.js +77 -35
  263. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  264. package/dist/elements/Tooltip/index.js +131 -69
  265. package/dist/elements/Tooltip/index.js.map +1 -1
  266. package/dist/elements/Translation/index.d.ts.map +1 -1
  267. package/dist/elements/Translation/index.js +40 -31
  268. package/dist/elements/Translation/index.js.map +1 -1
  269. package/dist/elements/UnpublishMany/index.js +121 -116
  270. package/dist/elements/UnpublishMany/index.js.map +1 -1
  271. package/dist/elements/Upload/index.js +455 -291
  272. package/dist/elements/Upload/index.js.map +1 -1
  273. package/dist/elements/ViewDescription/index.js +37 -14
  274. package/dist/elements/ViewDescription/index.js.map +1 -1
  275. package/dist/elements/ViewDescription/types.js.map +1 -1
  276. package/dist/elements/WhereBuilder/Condition/Date/index.js +19 -12
  277. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  278. package/dist/elements/WhereBuilder/Condition/Date/types.js +1 -2
  279. package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
  280. package/dist/elements/WhereBuilder/Condition/Number/index.js +38 -10
  281. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  282. package/dist/elements/WhereBuilder/Condition/Number/types.js +1 -2
  283. package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
  284. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +272 -300
  285. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  286. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.d.ts.map +1 -1
  287. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +68 -83
  288. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  289. package/dist/elements/WhereBuilder/Condition/Relationship/types.js +1 -2
  290. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  291. package/dist/elements/WhereBuilder/Condition/Select/index.js +159 -68
  292. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  293. package/dist/elements/WhereBuilder/Condition/Select/types.js +1 -2
  294. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  295. package/dist/elements/WhereBuilder/Condition/Text/index.js +38 -10
  296. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  297. package/dist/elements/WhereBuilder/Condition/Text/types.js +1 -2
  298. package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
  299. package/dist/elements/WhereBuilder/Condition/index.js +296 -140
  300. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  301. package/dist/elements/WhereBuilder/Condition/types.js +1 -2
  302. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  303. package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
  304. package/dist/elements/WhereBuilder/field-types.js +103 -163
  305. package/dist/elements/WhereBuilder/field-types.js.map +1 -1
  306. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  307. package/dist/elements/WhereBuilder/index.js +274 -229
  308. package/dist/elements/WhereBuilder/index.js.map +1 -1
  309. package/dist/elements/WhereBuilder/reduceClientFields.js +95 -89
  310. package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -1
  311. package/dist/elements/WhereBuilder/transformWhereQuery.d.ts.map +1 -1
  312. package/dist/elements/WhereBuilder/transformWhereQuery.js +39 -45
  313. package/dist/elements/WhereBuilder/transformWhereQuery.js.map +1 -1
  314. package/dist/elements/WhereBuilder/types.js +1 -2
  315. package/dist/elements/WhereBuilder/types.js.map +1 -1
  316. package/dist/elements/WhereBuilder/validateWhereQuery.d.ts.map +1 -1
  317. package/dist/elements/WhereBuilder/validateWhereQuery.js +30 -29
  318. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -1
  319. package/dist/elements/WindowInfo/index.d.ts.map +1 -1
  320. package/dist/elements/WindowInfo/index.js +2 -1
  321. package/dist/elements/WindowInfo/index.js.map +1 -1
  322. package/dist/elements/WithServerSideProps/index.js +20 -17
  323. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  324. package/dist/elements/withMergedProps/index.js +25 -21
  325. package/dist/elements/withMergedProps/index.js.map +1 -1
  326. package/dist/exports/client/CodeEditor-C4FLUUO7.js +24 -0
  327. package/dist/exports/client/CodeEditor-C4FLUUO7.js.map +8 -0
  328. package/dist/exports/client/{DatePicker-QKRYICNS.js → DatePicker-E6IJFDN2.js} +2 -2
  329. package/dist/exports/client/{chunk-HR5HEGNB.js → chunk-OBXEO4WP.js} +3 -3
  330. package/dist/exports/client/{chunk-HR5HEGNB.js.map → chunk-OBXEO4WP.js.map} +3 -3
  331. package/dist/exports/client/chunk-UGBVRIVY.js +14 -0
  332. package/dist/exports/client/chunk-UGBVRIVY.js.map +8 -0
  333. package/dist/exports/client/index.js +19 -19
  334. package/dist/exports/client/index.js.map +4 -4
  335. package/dist/fields/Array/ArrayRow.js +163 -67
  336. package/dist/fields/Array/ArrayRow.js.map +1 -1
  337. package/dist/fields/Array/index.js +471 -291
  338. package/dist/fields/Array/index.js.map +1 -1
  339. package/dist/fields/Blocks/BlockRow.js +155 -80
  340. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  341. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js +36 -16
  342. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -1
  343. package/dist/fields/Blocks/BlocksDrawer/index.js +121 -68
  344. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  345. package/dist/fields/Blocks/RowActions.js +98 -34
  346. package/dist/fields/Blocks/RowActions.js.map +1 -1
  347. package/dist/fields/Blocks/SectionTitle/index.js +77 -27
  348. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  349. package/dist/fields/Blocks/index.js +473 -307
  350. package/dist/fields/Blocks/index.js.map +1 -1
  351. package/dist/fields/Checkbox/Input.js +47 -51
  352. package/dist/fields/Checkbox/Input.js.map +1 -1
  353. package/dist/fields/Checkbox/index.js +212 -76
  354. package/dist/fields/Checkbox/index.js.map +1 -1
  355. package/dist/fields/Code/index.js +198 -71
  356. package/dist/fields/Code/index.js.map +1 -1
  357. package/dist/fields/Collapsible/index.js +212 -124
  358. package/dist/fields/Collapsible/index.js.map +1 -1
  359. package/dist/fields/ConfirmPassword/index.js +80 -46
  360. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  361. package/dist/fields/DateTime/index.js +191 -72
  362. package/dist/fields/DateTime/index.js.map +1 -1
  363. package/dist/fields/Email/index.js +190 -74
  364. package/dist/fields/Email/index.js.map +1 -1
  365. package/dist/fields/FieldDescription/index.js +57 -26
  366. package/dist/fields/FieldDescription/index.js.map +1 -1
  367. package/dist/fields/FieldError/index.js +73 -29
  368. package/dist/fields/FieldError/index.js.map +1 -1
  369. package/dist/fields/FieldLabel/index.js +82 -30
  370. package/dist/fields/FieldLabel/index.js.map +1 -1
  371. package/dist/fields/Group/index.js +176 -80
  372. package/dist/fields/Group/index.js.map +1 -1
  373. package/dist/fields/Group/provider.js +13 -8
  374. package/dist/fields/Group/provider.js.map +1 -1
  375. package/dist/fields/Hidden/index.js +73 -22
  376. package/dist/fields/Hidden/index.js.map +1 -1
  377. package/dist/fields/JSON/index.js +114 -114
  378. package/dist/fields/JSON/index.js.map +1 -1
  379. package/dist/fields/Number/index.js +315 -165
  380. package/dist/fields/Number/index.js.map +1 -1
  381. package/dist/fields/Password/index.js +173 -68
  382. package/dist/fields/Password/index.js.map +1 -1
  383. package/dist/fields/Password/input.js +131 -62
  384. package/dist/fields/Password/input.js.map +1 -1
  385. package/dist/fields/Password/types.js +1 -2
  386. package/dist/fields/Password/types.js.map +1 -1
  387. package/dist/fields/Point/index.js +255 -133
  388. package/dist/fields/Point/index.js.map +1 -1
  389. package/dist/fields/RadioGroup/Radio/index.js +79 -34
  390. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  391. package/dist/fields/RadioGroup/index.js +241 -94
  392. package/dist/fields/RadioGroup/index.js.map +1 -1
  393. package/dist/fields/Relationship/AddNew/index.js +246 -158
  394. package/dist/fields/Relationship/AddNew/index.js.map +1 -1
  395. package/dist/fields/Relationship/AddNew/types.js +1 -2
  396. package/dist/fields/Relationship/AddNew/types.js.map +1 -1
  397. package/dist/fields/Relationship/AddNew/useRelatedCollections.d.ts.map +1 -1
  398. package/dist/fields/Relationship/AddNew/useRelatedCollections.js +25 -13
  399. package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +1 -1
  400. package/dist/fields/Relationship/createRelationMap.d.ts.map +1 -1
  401. package/dist/fields/Relationship/createRelationMap.js +48 -45
  402. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  403. package/dist/fields/Relationship/findOptionsByValue.d.ts.map +1 -1
  404. package/dist/fields/Relationship/findOptionsByValue.js +33 -29
  405. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  406. package/dist/fields/Relationship/index.js +642 -471
  407. package/dist/fields/Relationship/index.js.map +1 -1
  408. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  409. package/dist/fields/Relationship/optionsReducer.js +110 -113
  410. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  411. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +168 -66
  412. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  413. package/dist/fields/Relationship/select-components/SingleValue/index.js +173 -67
  414. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  415. package/dist/fields/Relationship/types.js +1 -2
  416. package/dist/fields/Relationship/types.js.map +1 -1
  417. package/dist/fields/RichText/index.d.ts.map +1 -1
  418. package/dist/fields/RichText/index.js +4 -3
  419. package/dist/fields/RichText/index.js.map +1 -1
  420. package/dist/fields/Row/index.js +69 -22
  421. package/dist/fields/Row/index.js.map +1 -1
  422. package/dist/fields/Row/provider.js +13 -8
  423. package/dist/fields/Row/provider.js.map +1 -1
  424. package/dist/fields/Select/Input.js +193 -70
  425. package/dist/fields/Select/Input.js.map +1 -1
  426. package/dist/fields/Select/index.js +99 -79
  427. package/dist/fields/Select/index.js.map +1 -1
  428. package/dist/fields/Tabs/Tab/index.js +65 -30
  429. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  430. package/dist/fields/Tabs/index.js +234 -118
  431. package/dist/fields/Tabs/index.js.map +1 -1
  432. package/dist/fields/Tabs/provider.js +13 -8
  433. package/dist/fields/Tabs/provider.js.map +1 -1
  434. package/dist/fields/Text/Input.js +171 -82
  435. package/dist/fields/Text/Input.js.map +1 -1
  436. package/dist/fields/Text/index.js +194 -95
  437. package/dist/fields/Text/index.js.map +1 -1
  438. package/dist/fields/Text/types.js +1 -2
  439. package/dist/fields/Text/types.js.map +1 -1
  440. package/dist/fields/Textarea/Input.js +144 -69
  441. package/dist/fields/Textarea/Input.js.map +1 -1
  442. package/dist/fields/Textarea/index.js +132 -53
  443. package/dist/fields/Textarea/index.js.map +1 -1
  444. package/dist/fields/Textarea/types.js +1 -2
  445. package/dist/fields/Textarea/types.js.map +1 -1
  446. package/dist/fields/UI/index.d.ts.map +1 -1
  447. package/dist/fields/UI/index.js +4 -3
  448. package/dist/fields/UI/index.js.map +1 -1
  449. package/dist/fields/Upload/Input.js +296 -143
  450. package/dist/fields/Upload/Input.js.map +1 -1
  451. package/dist/fields/Upload/index.js +142 -63
  452. package/dist/fields/Upload/index.js.map +1 -1
  453. package/dist/fields/index.d.ts.map +1 -1
  454. package/dist/fields/index.js +26 -25
  455. package/dist/fields/index.js.map +1 -1
  456. package/dist/fields/shared/index.d.ts.map +1 -1
  457. package/dist/fields/shared/index.js +17 -8
  458. package/dist/fields/shared/index.js.map +1 -1
  459. package/dist/forms/FieldPropsProvider/index.js +37 -27
  460. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  461. package/dist/forms/Form/context.js +30 -14
  462. package/dist/forms/Form/context.js.map +1 -1
  463. package/dist/forms/Form/createNestedClientFieldPath.d.ts.map +1 -1
  464. package/dist/forms/Form/createNestedClientFieldPath.js +11 -10
  465. package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -1
  466. package/dist/forms/Form/errorMessages.d.ts.map +1 -1
  467. package/dist/forms/Form/errorMessages.js +3 -2
  468. package/dist/forms/Form/errorMessages.js.map +1 -1
  469. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  470. package/dist/forms/Form/fieldReducer.js +319 -288
  471. package/dist/forms/Form/fieldReducer.js.map +1 -1
  472. package/dist/forms/Form/index.js +510 -528
  473. package/dist/forms/Form/index.js.map +1 -1
  474. package/dist/forms/Form/initContextState.d.ts.map +1 -1
  475. package/dist/forms/Form/initContextState.js +34 -33
  476. package/dist/forms/Form/initContextState.js.map +1 -1
  477. package/dist/forms/Form/mergeErrorPaths.d.ts.map +1 -1
  478. package/dist/forms/Form/mergeErrorPaths.js +25 -24
  479. package/dist/forms/Form/mergeErrorPaths.js.map +1 -1
  480. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  481. package/dist/forms/Form/mergeServerFormState.js +52 -51
  482. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  483. package/dist/forms/Form/rowHelpers.d.ts.map +1 -1
  484. package/dist/forms/Form/rowHelpers.js +29 -21
  485. package/dist/forms/Form/rowHelpers.js.map +1 -1
  486. package/dist/forms/Form/rows.d.ts.map +1 -1
  487. package/dist/forms/Form/rows.js +33 -32
  488. package/dist/forms/Form/rows.js.map +1 -1
  489. package/dist/forms/Form/types.js +1 -2
  490. package/dist/forms/Form/types.js.map +1 -1
  491. package/dist/forms/NullifyField/index.js +57 -27
  492. package/dist/forms/NullifyField/index.js.map +1 -1
  493. package/dist/forms/RenderFields/RenderField.js +65 -61
  494. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  495. package/dist/forms/RenderFields/index.js +112 -51
  496. package/dist/forms/RenderFields/index.js.map +1 -1
  497. package/dist/forms/RenderFields/types.js +1 -2
  498. package/dist/forms/RenderFields/types.js.map +1 -1
  499. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  500. package/dist/forms/RowLabel/Context/index.js +29 -20
  501. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  502. package/dist/forms/RowLabel/index.d.ts.map +1 -1
  503. package/dist/forms/RowLabel/index.js +29 -24
  504. package/dist/forms/RowLabel/index.js.map +1 -1
  505. package/dist/forms/RowLabel/types.js +1 -2
  506. package/dist/forms/RowLabel/types.js.map +1 -1
  507. package/dist/forms/Submit/index.js +40 -17
  508. package/dist/forms/Submit/index.js.map +1 -1
  509. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  510. package/dist/forms/WatchChildErrors/buildPathSegments.js +33 -32
  511. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  512. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.d.ts.map +1 -1
  513. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js +26 -22
  514. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js.map +1 -1
  515. package/dist/forms/WatchChildErrors/getNestedFieldState.d.ts.map +1 -1
  516. package/dist/forms/WatchChildErrors/getNestedFieldState.js +19 -14
  517. package/dist/forms/WatchChildErrors/getNestedFieldState.js.map +1 -1
  518. package/dist/forms/WatchChildErrors/index.d.ts +1 -1
  519. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  520. package/dist/forms/WatchChildErrors/index.js +54 -19
  521. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  522. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +395 -368
  523. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  524. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js +54 -61
  525. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js.map +1 -1
  526. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js +16 -11
  527. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -1
  528. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js +20 -14
  529. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -1
  530. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +127 -121
  531. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
  532. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js +26 -27
  533. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js.map +1 -1
  534. package/dist/forms/buildStateFromSchema/index.js +37 -30
  535. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  536. package/dist/forms/buildStateFromSchema/iterateFields.js +56 -36
  537. package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
  538. package/dist/forms/useField/index.js +162 -173
  539. package/dist/forms/useField/index.js.map +1 -1
  540. package/dist/forms/useField/types.js +1 -2
  541. package/dist/forms/useField/types.js.map +1 -1
  542. package/dist/forms/withCondition/WatchCondition.js +56 -18
  543. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  544. package/dist/forms/withCondition/index.js +37 -17
  545. package/dist/forms/withCondition/index.js.map +1 -1
  546. package/dist/graphics/Account/Default/index.js +21 -29
  547. package/dist/graphics/Account/Default/index.js.map +1 -1
  548. package/dist/graphics/Account/Gravatar/index.js +32 -19
  549. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  550. package/dist/graphics/Account/index.js +71 -19
  551. package/dist/graphics/Account/index.js.map +1 -1
  552. package/dist/graphics/DefaultBlockImage/index.js +31 -38
  553. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  554. package/dist/graphics/ExternalLink/index.js +18 -17
  555. package/dist/graphics/ExternalLink/index.js.map +1 -1
  556. package/dist/graphics/File/index.js +18 -23
  557. package/dist/graphics/File/index.js.map +1 -1
  558. package/dist/graphics/Icon/index.js +18 -20
  559. package/dist/graphics/Icon/index.js.map +1 -1
  560. package/dist/graphics/Logo/index.js +29 -41
  561. package/dist/graphics/Logo/index.js.map +1 -1
  562. package/dist/hooks/useDebounce.js +26 -15
  563. package/dist/hooks/useDebounce.js.map +1 -1
  564. package/dist/hooks/useDebouncedCallback.d.ts.map +1 -1
  565. package/dist/hooks/useDebouncedCallback.js +24 -15
  566. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  567. package/dist/hooks/useDebouncedEffect.d.ts.map +1 -1
  568. package/dist/hooks/useDebouncedEffect.js +54 -18
  569. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  570. package/dist/hooks/useDelay.d.ts.map +1 -1
  571. package/dist/hooks/useDelay.js +53 -27
  572. package/dist/hooks/useDelay.js.map +1 -1
  573. package/dist/hooks/useDelayedRender.d.ts.map +1 -1
  574. package/dist/hooks/useDelayedRender.js +77 -40
  575. package/dist/hooks/useDelayedRender.js.map +1 -1
  576. package/dist/hooks/useHotkey.js +105 -91
  577. package/dist/hooks/useHotkey.js.map +1 -1
  578. package/dist/hooks/useIntersect.d.ts +1 -0
  579. package/dist/hooks/useIntersect.d.ts.map +1 -1
  580. package/dist/hooks/useIntersect.js +83 -26
  581. package/dist/hooks/useIntersect.js.map +1 -1
  582. package/dist/hooks/usePayloadAPI.d.ts +1 -0
  583. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  584. package/dist/hooks/usePayloadAPI.js +180 -79
  585. package/dist/hooks/usePayloadAPI.js.map +1 -1
  586. package/dist/hooks/useResize.d.ts.map +1 -1
  587. package/dist/hooks/useResize.js +70 -41
  588. package/dist/hooks/useResize.js.map +1 -1
  589. package/dist/hooks/useThrottledEffect.d.ts +1 -0
  590. package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
  591. package/dist/hooks/useThrottledEffect.js +51 -17
  592. package/dist/hooks/useThrottledEffect.js.map +1 -1
  593. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  594. package/dist/hooks/useUseAsTitle.js +10 -5
  595. package/dist/hooks/useUseAsTitle.js.map +1 -1
  596. package/dist/icons/Calendar/index.js +10 -11
  597. package/dist/icons/Calendar/index.js.map +1 -1
  598. package/dist/icons/Check/index.js +10 -11
  599. package/dist/icons/Check/index.js.map +1 -1
  600. package/dist/icons/Chevron/index.js +19 -20
  601. package/dist/icons/Chevron/index.js.map +1 -1
  602. package/dist/icons/CloseMenu/index.js +10 -11
  603. package/dist/icons/CloseMenu/index.js.map +1 -1
  604. package/dist/icons/CodeBlock/index.js +12 -13
  605. package/dist/icons/CodeBlock/index.js.map +1 -1
  606. package/dist/icons/Copy/index.js +16 -15
  607. package/dist/icons/Copy/index.js.map +1 -1
  608. package/dist/icons/DragHandle/index.js +32 -41
  609. package/dist/icons/DragHandle/index.js.map +1 -1
  610. package/dist/icons/Edit/index.js +12 -14
  611. package/dist/icons/Edit/index.js.map +1 -1
  612. package/dist/icons/Line/index.js +13 -14
  613. package/dist/icons/Line/index.js.map +1 -1
  614. package/dist/icons/Link/index.js +15 -16
  615. package/dist/icons/Link/index.js.map +1 -1
  616. package/dist/icons/LogOut/index.js +13 -14
  617. package/dist/icons/LogOut/index.js.map +1 -1
  618. package/dist/icons/Menu/index.js +13 -14
  619. package/dist/icons/Menu/index.js.map +1 -1
  620. package/dist/icons/MinimizeMaximize/index.js +18 -20
  621. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  622. package/dist/icons/More/index.js +20 -26
  623. package/dist/icons/More/index.js.map +1 -1
  624. package/dist/icons/Plus/index.js +12 -13
  625. package/dist/icons/Plus/index.js.map +1 -1
  626. package/dist/icons/Search/index.js +11 -12
  627. package/dist/icons/Search/index.js.map +1 -1
  628. package/dist/icons/Swap/index.js +10 -11
  629. package/dist/icons/Swap/index.js.map +1 -1
  630. package/dist/icons/X/index.js +14 -16
  631. package/dist/icons/X/index.js.map +1 -1
  632. package/dist/providers/Actions/SetViewActions/index.d.ts +1 -1
  633. package/dist/providers/Actions/SetViewActions/index.d.ts.map +1 -1
  634. package/dist/providers/Actions/SetViewActions/index.js +31 -14
  635. package/dist/providers/Actions/SetViewActions/index.js.map +1 -1
  636. package/dist/providers/Actions/index.js +89 -24
  637. package/dist/providers/Actions/index.js.map +1 -1
  638. package/dist/providers/Auth/index.js +226 -256
  639. package/dist/providers/Auth/index.js.map +1 -1
  640. package/dist/providers/ClientFunction/index.js +103 -54
  641. package/dist/providers/ClientFunction/index.js.map +1 -1
  642. package/dist/providers/Config/RenderComponent.js +66 -61
  643. package/dist/providers/Config/RenderComponent.js.map +1 -1
  644. package/dist/providers/Config/createClientConfig/collections.js +165 -156
  645. package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
  646. package/dist/providers/Config/createClientConfig/fields.js +285 -279
  647. package/dist/providers/Config/createClientConfig/fields.js.map +1 -1
  648. package/dist/providers/Config/createClientConfig/getComponent.js +31 -23
  649. package/dist/providers/Config/createClientConfig/getComponent.js.map +1 -1
  650. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js +86 -84
  651. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js.map +1 -1
  652. package/dist/providers/Config/createClientConfig/globals.js +97 -90
  653. package/dist/providers/Config/createClientConfig/globals.js.map +1 -1
  654. package/dist/providers/Config/createClientConfig/index.js +92 -82
  655. package/dist/providers/Config/createClientConfig/index.js.map +1 -1
  656. package/dist/providers/Config/index.js +50 -21
  657. package/dist/providers/Config/index.js.map +1 -1
  658. package/dist/providers/DocumentEvents/index.js +29 -13
  659. package/dist/providers/DocumentEvents/index.js.map +1 -1
  660. package/dist/providers/DocumentInfo/index.js +403 -448
  661. package/dist/providers/DocumentInfo/index.js.map +1 -1
  662. package/dist/providers/DocumentInfo/types.js +1 -2
  663. package/dist/providers/DocumentInfo/types.js.map +1 -1
  664. package/dist/providers/EditDepth/index.js +12 -7
  665. package/dist/providers/EditDepth/index.js.map +1 -1
  666. package/dist/providers/EntityVisibility/index.js +49 -20
  667. package/dist/providers/EntityVisibility/index.js.map +1 -1
  668. package/dist/providers/FieldComponents/index.js +13 -8
  669. package/dist/providers/FieldComponents/index.js.map +1 -1
  670. package/dist/providers/ListInfo/index.js +13 -8
  671. package/dist/providers/ListInfo/index.js.map +1 -1
  672. package/dist/providers/ListQuery/index.js +122 -131
  673. package/dist/providers/ListQuery/index.js.map +1 -1
  674. package/dist/providers/Locale/index.js +124 -56
  675. package/dist/providers/Locale/index.js.map +1 -1
  676. package/dist/providers/Operation/index.js +12 -7
  677. package/dist/providers/Operation/index.js.map +1 -1
  678. package/dist/providers/Params/index.js +24 -8
  679. package/dist/providers/Params/index.js.map +1 -1
  680. package/dist/providers/Preferences/index.js +111 -109
  681. package/dist/providers/Preferences/index.js.map +1 -1
  682. package/dist/providers/Root/index.js +72 -66
  683. package/dist/providers/Root/index.js.map +1 -1
  684. package/dist/providers/RouteCache/index.js +58 -22
  685. package/dist/providers/RouteCache/index.js.map +1 -1
  686. package/dist/providers/ScrollInfo/index.d.ts.map +1 -1
  687. package/dist/providers/ScrollInfo/index.js +10 -5
  688. package/dist/providers/ScrollInfo/index.js.map +1 -1
  689. package/dist/providers/SearchParams/index.js +84 -35
  690. package/dist/providers/SearchParams/index.js.map +1 -1
  691. package/dist/providers/Selection/index.js +212 -128
  692. package/dist/providers/Selection/index.js.map +1 -1
  693. package/dist/providers/Theme/index.js +97 -57
  694. package/dist/providers/Theme/index.js.map +1 -1
  695. package/dist/providers/ToastContainer/icons/Error.d.ts.map +1 -1
  696. package/dist/providers/ToastContainer/icons/Error.js +19 -21
  697. package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
  698. package/dist/providers/ToastContainer/icons/Info.d.ts.map +1 -1
  699. package/dist/providers/ToastContainer/icons/Info.js +19 -21
  700. package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
  701. package/dist/providers/ToastContainer/icons/Success.d.ts.map +1 -1
  702. package/dist/providers/ToastContainer/icons/Success.js +19 -21
  703. package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
  704. package/dist/providers/ToastContainer/icons/Warning.d.ts.map +1 -1
  705. package/dist/providers/ToastContainer/icons/Warning.js +19 -21
  706. package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
  707. package/dist/providers/ToastContainer/index.js +31 -31
  708. package/dist/providers/ToastContainer/index.js.map +1 -1
  709. package/dist/providers/Translation/index.js +114 -58
  710. package/dist/providers/Translation/index.js.map +1 -1
  711. package/dist/providers/UploadEdits/index.d.ts.map +1 -1
  712. package/dist/providers/UploadEdits/index.js +53 -22
  713. package/dist/providers/UploadEdits/index.js.map +1 -1
  714. package/dist/providers/WindowInfo/index.d.ts.map +1 -1
  715. package/dist/providers/WindowInfo/index.js +10 -5
  716. package/dist/providers/WindowInfo/index.js.map +1 -1
  717. package/dist/styles.css +1 -1
  718. package/dist/utilities/api.js +77 -78
  719. package/dist/utilities/api.js.map +1 -1
  720. package/dist/utilities/arraysHaveSameStrings.js +13 -14
  721. package/dist/utilities/arraysHaveSameStrings.js.map +1 -1
  722. package/dist/utilities/buildFieldSchemaMap/index.js +40 -44
  723. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  724. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +76 -71
  725. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  726. package/dist/utilities/buildFieldSchemaMap/types.js +1 -2
  727. package/dist/utilities/buildFieldSchemaMap/types.js.map +1 -1
  728. package/dist/utilities/buildFormState.js +158 -154
  729. package/dist/utilities/buildFormState.js.map +1 -1
  730. package/dist/utilities/canUseDOM.js +0 -1
  731. package/dist/utilities/canUseDOM.js.map +1 -1
  732. package/dist/utilities/dateLocales.js +26 -27
  733. package/dist/utilities/dateLocales.js.map +1 -1
  734. package/dist/utilities/findLocaleFromCode.js +5 -6
  735. package/dist/utilities/findLocaleFromCode.js.map +1 -1
  736. package/dist/utilities/flattenFieldMap.js +16 -25
  737. package/dist/utilities/flattenFieldMap.js.map +1 -1
  738. package/dist/utilities/formatAdminURL.js +16 -12
  739. package/dist/utilities/formatAdminURL.js.map +1 -1
  740. package/dist/utilities/formatDate.js +17 -11
  741. package/dist/utilities/formatDate.js.map +1 -1
  742. package/dist/utilities/formatDocTitle.js +32 -26
  743. package/dist/utilities/formatDocTitle.js.map +1 -1
  744. package/dist/utilities/formatFields.js +1 -2
  745. package/dist/utilities/formatFields.js.map +1 -1
  746. package/dist/utilities/generateFieldID.js +2 -3
  747. package/dist/utilities/generateFieldID.js.map +1 -1
  748. package/dist/utilities/getFormState.js +29 -23
  749. package/dist/utilities/getFormState.js.map +1 -1
  750. package/dist/utilities/getOffsetTop.js +13 -14
  751. package/dist/utilities/getOffsetTop.js.map +1 -1
  752. package/dist/utilities/getRequestLanguage.js +8 -5
  753. package/dist/utilities/getRequestLanguage.js.map +1 -1
  754. package/dist/utilities/getSupportedMonacoLocale.js +13 -14
  755. package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
  756. package/dist/utilities/groupNavItems.js +31 -35
  757. package/dist/utilities/groupNavItems.js.map +1 -1
  758. package/dist/utilities/hasSavePermission.js +14 -10
  759. package/dist/utilities/hasSavePermission.js.map +1 -1
  760. package/dist/utilities/isEditing.js +5 -2
  761. package/dist/utilities/isEditing.js.map +1 -1
  762. package/dist/utilities/reduceFieldsToValuesWithValidation.js +16 -16
  763. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  764. package/dist/utilities/scrollToID.js +9 -10
  765. package/dist/utilities/scrollToID.js.map +1 -1
  766. package/dist/utilities/setsAreEqual.js +2 -3
  767. package/dist/utilities/setsAreEqual.js.map +1 -1
  768. package/package.json +14 -12
  769. package/dist/exports/client/CodeEditor-MODTAQNB.js +0 -24
  770. package/dist/exports/client/CodeEditor-MODTAQNB.js.map +0 -8
  771. package/dist/exports/client/chunk-QJ5EJH4V.js +0 -14
  772. package/dist/exports/client/chunk-QJ5EJH4V.js.map +0 -8
  773. package/dist/fields/Number/Input.d.ts +0 -2
  774. package/dist/fields/Number/Input.d.ts.map +0 -1
  775. package/dist/fields/Number/Input.js +0 -2
  776. package/dist/fields/Number/Input.js.map +0 -1
  777. /package/dist/exports/client/{DatePicker-QKRYICNS.js.map → DatePicker-E6IJFDN2.js.map} +0 -0
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+
2
3
  import { jsx as _jsx } from "react/jsx-runtime";
3
4
  import { useModal } from '@faceless-ui/modal';
4
5
  import { usePathname, useRouter } from 'next/navigation.js';
@@ -11,273 +12,242 @@ import { useTranslation } from '../../providers/Translation/index.js';
11
12
  import { requests } from '../../utilities/api.js';
12
13
  import { formatAdminURL } from '../../utilities/formatAdminURL.js';
13
14
  import { useConfig } from '../Config/index.js';
14
- const Context = /*#__PURE__*/ createContext({});
15
+ const Context = /*#__PURE__*/createContext({});
15
16
  const maxTimeoutTime = 2147483647;
16
- export function AuthProvider({ children, permissions: initialPermissions, user: initialUser }) {
17
- const [user, setUser] = useState(initialUser);
18
- const [tokenInMemory, setTokenInMemory] = useState();
19
- const [tokenExpiration, setTokenExpiration] = useState();
20
- const pathname = usePathname();
21
- const router = useRouter();
22
- const { config } = useConfig();
23
- const { admin: { routes: { inactivity: logoutInactivityRoute }, user: userSlug }, routes: { admin: adminRoute, api: apiRoute }, serverURL } = config;
24
- const [permissions, setPermissions] = useState(initialPermissions);
25
- const { i18n } = useTranslation();
26
- const { closeAllModals, openModal } = useModal();
27
- const [lastLocationChange, setLastLocationChange] = useState(0);
28
- const debouncedLocationChange = useDebounce(lastLocationChange, 10000);
29
- const id = user?.id;
30
- const redirectToInactivityRoute = useCallback(()=>{
31
- if (window.location.pathname.startsWith(adminRoute)) {
32
- const redirectParam = `?redirect=${encodeURIComponent(window.location.pathname)}`;
33
- router.replace(formatAdminURL({
34
- adminRoute,
35
- path: `${logoutInactivityRoute}${redirectParam}`
36
- }));
37
- } else {
38
- router.replace(formatAdminURL({
39
- adminRoute,
40
- path: logoutInactivityRoute
41
- }));
42
- }
43
- closeAllModals();
44
- }, [
45
- router,
17
+ export function AuthProvider({
18
+ children,
19
+ permissions: initialPermissions,
20
+ user: initialUser
21
+ }) {
22
+ const [user, setUser] = useState(initialUser);
23
+ const [tokenInMemory, setTokenInMemory] = useState();
24
+ const [tokenExpiration, setTokenExpiration] = useState();
25
+ const pathname = usePathname();
26
+ const router = useRouter();
27
+ const {
28
+ config
29
+ } = useConfig();
30
+ const {
31
+ admin: {
32
+ routes: {
33
+ inactivity: logoutInactivityRoute
34
+ },
35
+ user: userSlug
36
+ },
37
+ routes: {
38
+ admin: adminRoute,
39
+ api: apiRoute
40
+ },
41
+ serverURL
42
+ } = config;
43
+ const [permissions, setPermissions] = useState(initialPermissions);
44
+ const {
45
+ i18n
46
+ } = useTranslation();
47
+ const {
48
+ closeAllModals,
49
+ openModal
50
+ } = useModal();
51
+ const [lastLocationChange, setLastLocationChange] = useState(0);
52
+ const debouncedLocationChange = useDebounce(lastLocationChange, 10000);
53
+ const id = user?.id;
54
+ const redirectToInactivityRoute = useCallback(() => {
55
+ if (window.location.pathname.startsWith(adminRoute)) {
56
+ const redirectParam = `?redirect=${encodeURIComponent(window.location.pathname)}`;
57
+ router.replace(formatAdminURL({
46
58
  adminRoute,
47
- logoutInactivityRoute,
48
- closeAllModals
49
- ]);
50
- const revokeTokenAndExpire = useCallback(()=>{
51
- setTokenInMemory(undefined);
52
- setTokenExpiration(undefined);
53
- }, []);
54
- const setTokenAndExpiration = useCallback((json)=>{
55
- const token = json?.token || json?.refreshedToken;
56
- if (token && json?.exp) {
57
- setTokenInMemory(token);
58
- setTokenExpiration(json.exp);
59
- } else {
60
- revokeTokenAndExpire();
61
- }
62
- }, [
63
- revokeTokenAndExpire
64
- ]);
65
- const refreshCookie = useCallback((forceRefresh)=>{
66
- const now = Math.round(new Date().getTime() / 1000);
67
- const remainingTime = (typeof tokenExpiration === 'number' ? tokenExpiration : 0) - now;
68
- if (forceRefresh || tokenExpiration && remainingTime < 120) {
69
- setTimeout(()=>{
70
- async function refresh() {
71
- try {
72
- const request = await requests.post(`${serverURL}${apiRoute}/${userSlug}/refresh-token`, {
73
- headers: {
74
- 'Accept-Language': i18n.language
75
- }
76
- });
77
- if (request.status === 200) {
78
- const json = await request.json();
79
- setUser(json.user);
80
- setTokenAndExpiration(json);
81
- } else {
82
- setUser(null);
83
- redirectToInactivityRoute();
84
- }
85
- } catch (e) {
86
- toast.error(e.message);
87
- }
88
- }
89
- void refresh();
90
- }, 1000);
91
- }
92
- }, [
93
- tokenExpiration,
94
- serverURL,
95
- apiRoute,
96
- userSlug,
97
- i18n,
98
- redirectToInactivityRoute,
99
- setTokenAndExpiration
100
- ]);
101
- const refreshCookieAsync = useCallback(async (skipSetUser)=>{
102
- try {
59
+ path: `${logoutInactivityRoute}${redirectParam}`
60
+ }));
61
+ } else {
62
+ router.replace(formatAdminURL({
63
+ adminRoute,
64
+ path: logoutInactivityRoute
65
+ }));
66
+ }
67
+ closeAllModals();
68
+ }, [router, adminRoute, logoutInactivityRoute, closeAllModals]);
69
+ const revokeTokenAndExpire = useCallback(() => {
70
+ setTokenInMemory(undefined);
71
+ setTokenExpiration(undefined);
72
+ }, []);
73
+ const setTokenAndExpiration = useCallback(json => {
74
+ const token = json?.token || json?.refreshedToken;
75
+ if (token && json?.exp) {
76
+ setTokenInMemory(token);
77
+ setTokenExpiration(json.exp);
78
+ } else {
79
+ revokeTokenAndExpire();
80
+ }
81
+ }, [revokeTokenAndExpire]);
82
+ const refreshCookie = useCallback(forceRefresh => {
83
+ const now = Math.round(new Date().getTime() / 1000);
84
+ const remainingTime = (typeof tokenExpiration === 'number' ? tokenExpiration : 0) - now;
85
+ if (forceRefresh || tokenExpiration && remainingTime < 120) {
86
+ setTimeout(() => {
87
+ async function refresh() {
88
+ try {
103
89
  const request = await requests.post(`${serverURL}${apiRoute}/${userSlug}/refresh-token`, {
104
- headers: {
105
- 'Accept-Language': i18n.language
106
- }
107
- });
108
- if (request.status === 200) {
109
- const json = await request.json();
110
- if (!skipSetUser) {
111
- setUser(json.user);
112
- setTokenAndExpiration(json);
113
- }
114
- return json.user;
115
- }
116
- setUser(null);
117
- redirectToInactivityRoute();
118
- return null;
119
- } catch (e) {
120
- toast.error(`Refreshing token failed: ${e.message}`);
121
- return null;
122
- }
123
- }, [
124
- serverURL,
125
- apiRoute,
126
- userSlug,
127
- i18n,
128
- redirectToInactivityRoute,
129
- setTokenAndExpiration
130
- ]);
131
- const logOut = useCallback(async ()=>{
132
- setUser(null);
133
- revokeTokenAndExpire();
134
- try {
135
- await requests.post(`${serverURL}${apiRoute}/${userSlug}/logout`);
136
- } catch (e) {
137
- toast.error(`Logging out failed: ${e.message}`);
138
- }
139
- }, [
140
- serverURL,
141
- apiRoute,
142
- userSlug,
143
- revokeTokenAndExpire
144
- ]);
145
- const refreshPermissions = useCallback(async ({ locale } = {})=>{
146
- const params = qs.stringify({
147
- locale
148
- }, {
149
- addQueryPrefix: true
150
- });
151
- try {
152
- const request = await requests.get(`${serverURL}${apiRoute}/access${params}`, {
153
- headers: {
154
- 'Accept-Language': i18n.language
155
- }
90
+ headers: {
91
+ 'Accept-Language': i18n.language
92
+ }
156
93
  });
157
94
  if (request.status === 200) {
158
- const json = await request.json();
159
- setPermissions(json);
95
+ const json_0 = await request.json();
96
+ setUser(json_0.user);
97
+ setTokenAndExpiration(json_0);
160
98
  } else {
161
- throw new Error(`Fetching permissions failed with status code ${request.status}`);
99
+ setUser(null);
100
+ redirectToInactivityRoute();
162
101
  }
163
- } catch (e) {
164
- toast.error(`Refreshing permissions failed: ${e.message}`);
102
+ } catch (e) {
103
+ toast.error(e.message);
104
+ }
165
105
  }
166
- }, [
167
- serverURL,
168
- apiRoute,
169
- i18n
170
- ]);
171
- const fetchFullUser = React.useCallback(async ()=>{
172
- try {
173
- const request = await requests.get(`${serverURL}${apiRoute}/${userSlug}/me`, {
174
- headers: {
175
- 'Accept-Language': i18n.language
176
- }
177
- });
178
- if (request.status === 200) {
179
- const json = await request.json();
180
- if (json?.user) {
181
- setUser(json.user);
182
- if (json?.token) {
183
- setTokenAndExpiration(json);
184
- }
185
- } else {
186
- setUser(null);
187
- revokeTokenAndExpire();
188
- }
189
- }
190
- } catch (e) {
191
- toast.error(`Fetching user failed: ${e.message}`);
106
+ void refresh();
107
+ }, 1000);
108
+ }
109
+ }, [tokenExpiration, serverURL, apiRoute, userSlug, i18n, redirectToInactivityRoute, setTokenAndExpiration]);
110
+ const refreshCookieAsync = useCallback(async skipSetUser => {
111
+ try {
112
+ const request_0 = await requests.post(`${serverURL}${apiRoute}/${userSlug}/refresh-token`, {
113
+ headers: {
114
+ 'Accept-Language': i18n.language
115
+ }
116
+ });
117
+ if (request_0.status === 200) {
118
+ const json_1 = await request_0.json();
119
+ if (!skipSetUser) {
120
+ setUser(json_1.user);
121
+ setTokenAndExpiration(json_1);
192
122
  }
193
- }, [
194
- serverURL,
195
- apiRoute,
196
- userSlug,
197
- i18n.language,
198
- setTokenAndExpiration,
199
- revokeTokenAndExpire
200
- ]);
201
- // On mount, get user and set
202
- useEffect(()=>{
203
- void fetchFullUser();
204
- }, [
205
- fetchFullUser
206
- ]);
207
- // When location changes, refresh cookie
208
- useEffect(()=>{
209
- if (id) {
210
- refreshCookie();
123
+ return json_1.user;
124
+ }
125
+ setUser(null);
126
+ redirectToInactivityRoute();
127
+ return null;
128
+ } catch (e_0) {
129
+ toast.error(`Refreshing token failed: ${e_0.message}`);
130
+ return null;
131
+ }
132
+ }, [serverURL, apiRoute, userSlug, i18n, redirectToInactivityRoute, setTokenAndExpiration]);
133
+ const logOut = useCallback(async () => {
134
+ setUser(null);
135
+ revokeTokenAndExpire();
136
+ try {
137
+ await requests.post(`${serverURL}${apiRoute}/${userSlug}/logout`);
138
+ } catch (e_1) {
139
+ toast.error(`Logging out failed: ${e_1.message}`);
140
+ }
141
+ }, [serverURL, apiRoute, userSlug, revokeTokenAndExpire]);
142
+ const refreshPermissions = useCallback(async ({
143
+ locale
144
+ } = {}) => {
145
+ const params = qs.stringify({
146
+ locale
147
+ }, {
148
+ addQueryPrefix: true
149
+ });
150
+ try {
151
+ const request_1 = await requests.get(`${serverURL}${apiRoute}/access${params}`, {
152
+ headers: {
153
+ 'Accept-Language': i18n.language
211
154
  }
212
- }, [
213
- debouncedLocationChange,
214
- refreshCookie,
215
- id
216
- ]);
217
- // When initialUser changes, reset in state
218
- useEffect(()=>{
219
- setUser(initialUser);
220
- }, [
221
- initialUser
222
- ]);
223
- useEffect(()=>{
224
- setLastLocationChange(Date.now());
225
- }, [
226
- pathname
227
- ]);
228
- useEffect(()=>{
229
- let reminder;
230
- const now = Math.round(new Date().getTime() / 1000);
231
- const remainingTime = typeof tokenExpiration === 'number' ? tokenExpiration - now : 0;
232
- if (remainingTime > 0) {
233
- reminder = setTimeout(()=>{
234
- openModal(stayLoggedInModalSlug);
235
- }, Math.max(Math.min((remainingTime - 60) * 1000, maxTimeoutTime)));
155
+ });
156
+ if (request_1.status === 200) {
157
+ const json_2 = await request_1.json();
158
+ setPermissions(json_2);
159
+ } else {
160
+ throw new Error(`Fetching permissions failed with status code ${request_1.status}`);
161
+ }
162
+ } catch (e_2) {
163
+ toast.error(`Refreshing permissions failed: ${e_2.message}`);
164
+ }
165
+ }, [serverURL, apiRoute, i18n]);
166
+ const fetchFullUser = React.useCallback(async () => {
167
+ try {
168
+ const request_2 = await requests.get(`${serverURL}${apiRoute}/${userSlug}/me`, {
169
+ headers: {
170
+ 'Accept-Language': i18n.language
236
171
  }
237
- return ()=>{
238
- if (reminder) clearTimeout(reminder);
239
- };
240
- }, [
241
- tokenExpiration,
242
- openModal
243
- ]);
244
- useEffect(()=>{
245
- let forceLogOut;
246
- const now = Math.round(new Date().getTime() / 1000);
247
- const remainingTime = typeof tokenExpiration === 'number' ? tokenExpiration - now : 0;
248
- if (remainingTime > 0) {
249
- forceLogOut = setTimeout(()=>{
250
- setUser(null);
251
- revokeTokenAndExpire();
252
- redirectToInactivityRoute();
253
- }, Math.max(Math.min(remainingTime * 1000, maxTimeoutTime), 0));
172
+ });
173
+ if (request_2.status === 200) {
174
+ const json_3 = await request_2.json();
175
+ if (json_3?.user) {
176
+ setUser(json_3.user);
177
+ if (json_3?.token) {
178
+ setTokenAndExpiration(json_3);
179
+ }
180
+ } else {
181
+ setUser(null);
182
+ revokeTokenAndExpire();
254
183
  }
255
- return ()=>{
256
- if (forceLogOut) clearTimeout(forceLogOut);
257
- };
258
- }, [
259
- tokenExpiration,
260
- closeAllModals,
261
- i18n,
262
- redirectToInactivityRoute,
263
- revokeTokenAndExpire
264
- ]);
265
- return /*#__PURE__*/ _jsx(Context.Provider, {
266
- value: {
267
- fetchFullUser,
268
- logOut,
269
- permissions,
270
- refreshCookie,
271
- refreshCookieAsync,
272
- refreshPermissions,
273
- setPermissions,
274
- setUser,
275
- token: tokenInMemory,
276
- user
277
- },
278
- children: children
279
- });
184
+ }
185
+ } catch (e_3) {
186
+ toast.error(`Fetching user failed: ${e_3.message}`);
187
+ }
188
+ }, [serverURL, apiRoute, userSlug, i18n.language, setTokenAndExpiration, revokeTokenAndExpire]);
189
+ // On mount, get user and set
190
+ useEffect(() => {
191
+ void fetchFullUser();
192
+ }, [fetchFullUser]);
193
+ // When location changes, refresh cookie
194
+ useEffect(() => {
195
+ if (id) {
196
+ refreshCookie();
197
+ }
198
+ }, [debouncedLocationChange, refreshCookie, id]);
199
+ // When initialUser changes, reset in state
200
+ useEffect(() => {
201
+ setUser(initialUser);
202
+ }, [initialUser]);
203
+ useEffect(() => {
204
+ setLastLocationChange(Date.now());
205
+ }, [pathname]);
206
+ useEffect(() => {
207
+ let reminder;
208
+ const now_0 = Math.round(new Date().getTime() / 1000);
209
+ const remainingTime_0 = typeof tokenExpiration === 'number' ? tokenExpiration - now_0 : 0;
210
+ if (remainingTime_0 > 0) {
211
+ reminder = setTimeout(() => {
212
+ openModal(stayLoggedInModalSlug);
213
+ }, Math.max(Math.min((remainingTime_0 - 60) * 1000, maxTimeoutTime)));
214
+ }
215
+ return () => {
216
+ if (reminder) clearTimeout(reminder);
217
+ };
218
+ }, [tokenExpiration, openModal]);
219
+ useEffect(() => {
220
+ let forceLogOut;
221
+ const now_1 = Math.round(new Date().getTime() / 1000);
222
+ const remainingTime_1 = typeof tokenExpiration === 'number' ? tokenExpiration - now_1 : 0;
223
+ if (remainingTime_1 > 0) {
224
+ forceLogOut = setTimeout(() => {
225
+ setUser(null);
226
+ revokeTokenAndExpire();
227
+ redirectToInactivityRoute();
228
+ }, Math.max(Math.min(remainingTime_1 * 1000, maxTimeoutTime), 0));
229
+ }
230
+ return () => {
231
+ if (forceLogOut) clearTimeout(forceLogOut);
232
+ };
233
+ }, [tokenExpiration, closeAllModals, i18n, redirectToInactivityRoute, revokeTokenAndExpire]);
234
+ return /*#__PURE__*/_jsx(Context.Provider, {
235
+ value: {
236
+ fetchFullUser,
237
+ logOut,
238
+ permissions,
239
+ refreshCookie,
240
+ refreshCookieAsync,
241
+ refreshPermissions,
242
+ setPermissions,
243
+ setUser,
244
+ token: tokenInMemory,
245
+ user
246
+ },
247
+ children: children
248
+ });
280
249
  }
281
- export const useAuth = ()=>useContext(Context);
282
-
250
+ export const useAuth = () => {
251
+ return useContext(Context);
252
+ };
283
253
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/providers/Auth/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser, MeOperationResult, Permissions } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { usePathname, useRouter } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { stayLoggedInModalSlug } from '../../elements/StayLoggedIn/index.js'\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { useConfig } from '../Config/index.js'\n\nexport type AuthContext<T = ClientUser> = {\n fetchFullUser: () => Promise<void>\n logOut: () => Promise<void>\n permissions?: Permissions\n refreshCookie: (forceRefresh?: boolean) => void\n refreshCookieAsync: () => Promise<ClientUser>\n refreshPermissions: () => Promise<void>\n setPermissions: (permissions: Permissions) => void\n setUser: (user: T) => void\n strategy?: string\n token?: string\n tokenExpiration?: number\n user?: T | null\n}\n\nconst Context = createContext({} as AuthContext)\n\nconst maxTimeoutTime = 2147483647\n\ntype Props = {\n children: React.ReactNode\n permissions?: Permissions\n user?: ClientUser | null\n}\nexport function AuthProvider({\n children,\n permissions: initialPermissions,\n user: initialUser,\n}: Props) {\n const [user, setUser] = useState<ClientUser | null>(initialUser)\n const [tokenInMemory, setTokenInMemory] = useState<string>()\n const [tokenExpiration, setTokenExpiration] = useState<number>()\n const pathname = usePathname()\n const router = useRouter()\n\n const { config } = useConfig()\n\n const {\n admin: {\n routes: { inactivity: logoutInactivityRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n } = config\n\n const [permissions, setPermissions] = useState<Permissions>(initialPermissions)\n\n const { i18n } = useTranslation()\n const { closeAllModals, openModal } = useModal()\n const [lastLocationChange, setLastLocationChange] = useState(0)\n const debouncedLocationChange = useDebounce(lastLocationChange, 10000)\n\n const id = user?.id\n\n const redirectToInactivityRoute = useCallback(() => {\n if (window.location.pathname.startsWith(adminRoute)) {\n const redirectParam = `?redirect=${encodeURIComponent(window.location.pathname)}`\n router.replace(\n formatAdminURL({\n adminRoute,\n path: `${logoutInactivityRoute}${redirectParam}`,\n }),\n )\n } else {\n router.replace(\n formatAdminURL({\n adminRoute,\n path: logoutInactivityRoute,\n }),\n )\n }\n closeAllModals()\n }, [router, adminRoute, logoutInactivityRoute, closeAllModals])\n\n const revokeTokenAndExpire = useCallback(() => {\n setTokenInMemory(undefined)\n setTokenExpiration(undefined)\n }, [])\n\n const setTokenAndExpiration = useCallback(\n (json) => {\n const token = json?.token || json?.refreshedToken\n if (token && json?.exp) {\n setTokenInMemory(token)\n setTokenExpiration(json.exp)\n } else {\n revokeTokenAndExpire()\n }\n },\n [revokeTokenAndExpire],\n )\n\n const refreshCookie = useCallback(\n (forceRefresh?: boolean) => {\n const now = Math.round(new Date().getTime() / 1000)\n const remainingTime = (typeof tokenExpiration === 'number' ? tokenExpiration : 0) - now\n\n if (forceRefresh || (tokenExpiration && remainingTime < 120)) {\n setTimeout(() => {\n async function refresh() {\n try {\n const request = await requests.post(\n `${serverURL}${apiRoute}/${userSlug}/refresh-token`,\n {\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (request.status === 200) {\n const json = await request.json()\n setUser(json.user)\n\n setTokenAndExpiration(json)\n } else {\n setUser(null)\n redirectToInactivityRoute()\n }\n } catch (e) {\n toast.error(e.message)\n }\n }\n\n void refresh()\n }, 1000)\n }\n },\n [\n tokenExpiration,\n serverURL,\n apiRoute,\n userSlug,\n i18n,\n redirectToInactivityRoute,\n setTokenAndExpiration,\n ],\n )\n\n const refreshCookieAsync = useCallback(\n async (skipSetUser?: boolean): Promise<ClientUser> => {\n try {\n const request = await requests.post(`${serverURL}${apiRoute}/${userSlug}/refresh-token`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json = await request.json()\n if (!skipSetUser) {\n setUser(json.user)\n setTokenAndExpiration(json)\n }\n return json.user\n }\n\n setUser(null)\n redirectToInactivityRoute()\n return null\n } catch (e) {\n toast.error(`Refreshing token failed: ${e.message}`)\n return null\n }\n },\n [serverURL, apiRoute, userSlug, i18n, redirectToInactivityRoute, setTokenAndExpiration],\n )\n\n const logOut = useCallback(async () => {\n setUser(null)\n revokeTokenAndExpire()\n try {\n await requests.post(`${serverURL}${apiRoute}/${userSlug}/logout`)\n } catch (e) {\n toast.error(`Logging out failed: ${e.message}`)\n }\n }, [serverURL, apiRoute, userSlug, revokeTokenAndExpire])\n\n const refreshPermissions = useCallback(\n async ({ locale }: { locale?: string } = {}) => {\n const params = qs.stringify(\n {\n locale,\n },\n {\n addQueryPrefix: true,\n },\n )\n\n try {\n const request = await requests.get(`${serverURL}${apiRoute}/access${params}`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json: Permissions = await request.json()\n setPermissions(json)\n } else {\n throw new Error(`Fetching permissions failed with status code ${request.status}`)\n }\n } catch (e) {\n toast.error(`Refreshing permissions failed: ${e.message}`)\n }\n },\n [serverURL, apiRoute, i18n],\n )\n\n const fetchFullUser = React.useCallback(async () => {\n try {\n const request = await requests.get(`${serverURL}${apiRoute}/${userSlug}/me`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json: MeOperationResult = await request.json()\n\n if (json?.user) {\n setUser(json.user)\n\n if (json?.token) {\n setTokenAndExpiration(json)\n }\n } else {\n setUser(null)\n revokeTokenAndExpire()\n }\n }\n } catch (e) {\n toast.error(`Fetching user failed: ${e.message}`)\n }\n }, [serverURL, apiRoute, userSlug, i18n.language, setTokenAndExpiration, revokeTokenAndExpire])\n\n // On mount, get user and set\n useEffect(() => {\n void fetchFullUser()\n }, [fetchFullUser])\n\n // When location changes, refresh cookie\n useEffect(() => {\n if (id) {\n refreshCookie()\n }\n }, [debouncedLocationChange, refreshCookie, id])\n\n // When initialUser changes, reset in state\n useEffect(() => {\n setUser(initialUser)\n }, [initialUser])\n\n useEffect(() => {\n setLastLocationChange(Date.now())\n }, [pathname])\n\n useEffect(() => {\n let reminder: ReturnType<typeof setTimeout>\n const now = Math.round(new Date().getTime() / 1000)\n const remainingTime = typeof tokenExpiration === 'number' ? tokenExpiration - now : 0\n\n if (remainingTime > 0) {\n reminder = setTimeout(\n () => {\n openModal(stayLoggedInModalSlug)\n },\n Math.max(Math.min((remainingTime - 60) * 1000, maxTimeoutTime)),\n )\n }\n\n return () => {\n if (reminder) clearTimeout(reminder)\n }\n }, [tokenExpiration, openModal])\n\n useEffect(() => {\n let forceLogOut: ReturnType<typeof setTimeout>\n const now = Math.round(new Date().getTime() / 1000)\n const remainingTime = typeof tokenExpiration === 'number' ? tokenExpiration - now : 0\n\n if (remainingTime > 0) {\n forceLogOut = setTimeout(\n () => {\n setUser(null)\n revokeTokenAndExpire()\n redirectToInactivityRoute()\n },\n Math.max(Math.min(remainingTime * 1000, maxTimeoutTime), 0),\n )\n }\n\n return () => {\n if (forceLogOut) clearTimeout(forceLogOut)\n }\n }, [tokenExpiration, closeAllModals, i18n, redirectToInactivityRoute, revokeTokenAndExpire])\n\n return (\n <Context.Provider\n value={{\n fetchFullUser,\n logOut,\n permissions,\n refreshCookie,\n refreshCookieAsync,\n refreshPermissions,\n setPermissions,\n setUser,\n token: tokenInMemory,\n user,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n\nexport const useAuth = <T = ClientUser,>(): AuthContext<T> => useContext(Context) as AuthContext<T>\n"],"names":["useModal","usePathname","useRouter","qs","React","createContext","useCallback","useContext","useEffect","useState","toast","stayLoggedInModalSlug","useDebounce","useTranslation","requests","formatAdminURL","useConfig","Context","maxTimeoutTime","AuthProvider","children","permissions","initialPermissions","user","initialUser","setUser","tokenInMemory","setTokenInMemory","tokenExpiration","setTokenExpiration","pathname","router","config","admin","routes","inactivity","logoutInactivityRoute","userSlug","adminRoute","api","apiRoute","serverURL","setPermissions","i18n","closeAllModals","openModal","lastLocationChange","setLastLocationChange","debouncedLocationChange","id","redirectToInactivityRoute","window","location","startsWith","redirectParam","encodeURIComponent","replace","path","revokeTokenAndExpire","undefined","setTokenAndExpiration","json","token","refreshedToken","exp","refreshCookie","forceRefresh","now","Math","round","Date","getTime","remainingTime","setTimeout","refresh","request","post","headers","language","status","e","error","message","refreshCookieAsync","skipSetUser","logOut","refreshPermissions","locale","params","stringify","addQueryPrefix","get","Error","fetchFullUser","reminder","max","min","clearTimeout","forceLogOut","Provider","value","useAuth"],"mappings":"AAAA;;AAGA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,SAASC,WAAW,EAAEC,SAAS,QAAQ,qBAAoB;AAC3D,YAAYC,QAAQ,SAAQ;AAC5B,OAAOC,SAASC,aAAa,EAAEC,WAAW,EAAEC,UAAU,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAC1F,SAASC,KAAK,QAAQ,SAAQ;AAE9B,SAASC,qBAAqB,QAAQ,uCAAsC;AAC5E,SAASC,WAAW,QAAQ,6BAA4B;AACxD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,QAAQ,QAAQ,yBAAwB;AACjD,SAASC,cAAc,QAAQ,oCAAmC;AAClE,SAASC,SAAS,QAAQ,qBAAoB;AAiB9C,MAAMC,wBAAUZ,cAAc,CAAC;AAE/B,MAAMa,iBAAiB;AAOvB,OAAO,SAASC,aAAa,EAC3BC,QAAQ,EACRC,aAAaC,kBAAkB,EAC/BC,MAAMC,WAAW,EACX;IACN,MAAM,CAACD,MAAME,QAAQ,GAAGhB,SAA4Be;IACpD,MAAM,CAACE,eAAeC,iBAAiB,GAAGlB;IAC1C,MAAM,CAACmB,iBAAiBC,mBAAmB,GAAGpB;IAC9C,MAAMqB,WAAW7B;IACjB,MAAM8B,SAAS7B;IAEf,MAAM,EAAE8B,MAAM,EAAE,GAAGhB;IAEnB,MAAM,EACJiB,OAAO,EACLC,QAAQ,EAAEC,YAAYC,qBAAqB,EAAE,EAC7Cb,MAAMc,QAAQ,EACf,EACDH,QAAQ,EAAED,OAAOK,UAAU,EAAEC,KAAKC,QAAQ,EAAE,EAC5CC,SAAS,EACV,GAAGT;IAEJ,MAAM,CAACX,aAAaqB,eAAe,GAAGjC,SAAsBa;IAE5D,MAAM,EAAEqB,IAAI,EAAE,GAAG9B;IACjB,MAAM,EAAE+B,cAAc,EAAEC,SAAS,EAAE,GAAG7C;IACtC,MAAM,CAAC8C,oBAAoBC,sBAAsB,GAAGtC,SAAS;IAC7D,MAAMuC,0BAA0BpC,YAAYkC,oBAAoB;IAEhE,MAAMG,KAAK1B,MAAM0B;IAEjB,MAAMC,4BAA4B5C,YAAY;QAC5C,IAAI6C,OAAOC,QAAQ,CAACtB,QAAQ,CAACuB,UAAU,CAACf,aAAa;YACnD,MAAMgB,gBAAgB,CAAC,UAAU,EAAEC,mBAAmBJ,OAAOC,QAAQ,CAACtB,QAAQ,EAAE,CAAC;YACjFC,OAAOyB,OAAO,CACZzC,eAAe;gBACbuB;gBACAmB,MAAM,CAAC,EAAErB,sBAAsB,EAAEkB,cAAc,CAAC;YAClD;QAEJ,OAAO;YACLvB,OAAOyB,OAAO,CACZzC,eAAe;gBACbuB;gBACAmB,MAAMrB;YACR;QAEJ;QACAQ;IACF,GAAG;QAACb;QAAQO;QAAYF;QAAuBQ;KAAe;IAE9D,MAAMc,uBAAuBpD,YAAY;QACvCqB,iBAAiBgC;QACjB9B,mBAAmB8B;IACrB,GAAG,EAAE;IAEL,MAAMC,wBAAwBtD,YAC5B,CAACuD;QACC,MAAMC,QAAQD,MAAMC,SAASD,MAAME;QACnC,IAAID,SAASD,MAAMG,KAAK;YACtBrC,iBAAiBmC;YACjBjC,mBAAmBgC,KAAKG,GAAG;QAC7B,OAAO;YACLN;QACF;IACF,GACA;QAACA;KAAqB;IAGxB,MAAMO,gBAAgB3D,YACpB,CAAC4D;QACC,MAAMC,MAAMC,KAAKC,KAAK,CAAC,IAAIC,OAAOC,OAAO,KAAK;QAC9C,MAAMC,gBAAgB,AAAC,CAAA,OAAO5C,oBAAoB,WAAWA,kBAAkB,CAAA,IAAKuC;QAEpF,IAAID,gBAAiBtC,mBAAmB4C,gBAAgB,KAAM;YAC5DC,WAAW;gBACT,eAAeC;oBACb,IAAI;wBACF,MAAMC,UAAU,MAAM7D,SAAS8D,IAAI,CACjC,CAAC,EAAEnC,UAAU,EAAED,SAAS,CAAC,EAAEH,SAAS,cAAc,CAAC,EACnD;4BACEwC,SAAS;gCACP,mBAAmBlC,KAAKmC,QAAQ;4BAClC;wBACF;wBAGF,IAAIH,QAAQI,MAAM,KAAK,KAAK;4BAC1B,MAAMlB,OAAO,MAAMc,QAAQd,IAAI;4BAC/BpC,QAAQoC,KAAKtC,IAAI;4BAEjBqC,sBAAsBC;wBACxB,OAAO;4BACLpC,QAAQ;4BACRyB;wBACF;oBACF,EAAE,OAAO8B,GAAG;wBACVtE,MAAMuE,KAAK,CAACD,EAAEE,OAAO;oBACvB;gBACF;gBAEA,KAAKR;YACP,GAAG;QACL;IACF,GACA;QACE9C;QACAa;QACAD;QACAH;QACAM;QACAO;QACAU;KACD;IAGH,MAAMuB,qBAAqB7E,YACzB,OAAO8E;QACL,IAAI;YACF,MAAMT,UAAU,MAAM7D,SAAS8D,IAAI,CAAC,CAAC,EAAEnC,UAAU,EAAED,SAAS,CAAC,EAAEH,SAAS,cAAc,CAAC,EAAE;gBACvFwC,SAAS;oBACP,mBAAmBlC,KAAKmC,QAAQ;gBAClC;YACF;YAEA,IAAIH,QAAQI,MAAM,KAAK,KAAK;gBAC1B,MAAMlB,OAAO,MAAMc,QAAQd,IAAI;gBAC/B,IAAI,CAACuB,aAAa;oBAChB3D,QAAQoC,KAAKtC,IAAI;oBACjBqC,sBAAsBC;gBACxB;gBACA,OAAOA,KAAKtC,IAAI;YAClB;YAEAE,QAAQ;YACRyB;YACA,OAAO;QACT,EAAE,OAAO8B,GAAG;YACVtE,MAAMuE,KAAK,CAAC,CAAC,yBAAyB,EAAED,EAAEE,OAAO,CAAC,CAAC;YACnD,OAAO;QACT;IACF,GACA;QAACzC;QAAWD;QAAUH;QAAUM;QAAMO;QAA2BU;KAAsB;IAGzF,MAAMyB,SAAS/E,YAAY;QACzBmB,QAAQ;QACRiC;QACA,IAAI;YACF,MAAM5C,SAAS8D,IAAI,CAAC,CAAC,EAAEnC,UAAU,EAAED,SAAS,CAAC,EAAEH,SAAS,OAAO,CAAC;QAClE,EAAE,OAAO2C,GAAG;YACVtE,MAAMuE,KAAK,CAAC,CAAC,oBAAoB,EAAED,EAAEE,OAAO,CAAC,CAAC;QAChD;IACF,GAAG;QAACzC;QAAWD;QAAUH;QAAUqB;KAAqB;IAExD,MAAM4B,qBAAqBhF,YACzB,OAAO,EAAEiF,MAAM,EAAuB,GAAG,CAAC,CAAC;QACzC,MAAMC,SAASrF,GAAGsF,SAAS,CACzB;YACEF;QACF,GACA;YACEG,gBAAgB;QAClB;QAGF,IAAI;YACF,MAAMf,UAAU,MAAM7D,SAAS6E,GAAG,CAAC,CAAC,EAAElD,UAAU,EAAED,SAAS,OAAO,EAAEgD,OAAO,CAAC,EAAE;gBAC5EX,SAAS;oBACP,mBAAmBlC,KAAKmC,QAAQ;gBAClC;YACF;YAEA,IAAIH,QAAQI,MAAM,KAAK,KAAK;gBAC1B,MAAMlB,OAAoB,MAAMc,QAAQd,IAAI;gBAC5CnB,eAAemB;YACjB,OAAO;gBACL,MAAM,IAAI+B,MAAM,CAAC,6CAA6C,EAAEjB,QAAQI,MAAM,CAAC,CAAC;YAClF;QACF,EAAE,OAAOC,GAAG;YACVtE,MAAMuE,KAAK,CAAC,CAAC,+BAA+B,EAAED,EAAEE,OAAO,CAAC,CAAC;QAC3D;IACF,GACA;QAACzC;QAAWD;QAAUG;KAAK;IAG7B,MAAMkD,gBAAgBzF,MAAME,WAAW,CAAC;QACtC,IAAI;YACF,MAAMqE,UAAU,MAAM7D,SAAS6E,GAAG,CAAC,CAAC,EAAElD,UAAU,EAAED,SAAS,CAAC,EAAEH,SAAS,GAAG,CAAC,EAAE;gBAC3EwC,SAAS;oBACP,mBAAmBlC,KAAKmC,QAAQ;gBAClC;YACF;YAEA,IAAIH,QAAQI,MAAM,KAAK,KAAK;gBAC1B,MAAMlB,OAA0B,MAAMc,QAAQd,IAAI;gBAElD,IAAIA,MAAMtC,MAAM;oBACdE,QAAQoC,KAAKtC,IAAI;oBAEjB,IAAIsC,MAAMC,OAAO;wBACfF,sBAAsBC;oBACxB;gBACF,OAAO;oBACLpC,QAAQ;oBACRiC;gBACF;YACF;QACF,EAAE,OAAOsB,GAAG;YACVtE,MAAMuE,KAAK,CAAC,CAAC,sBAAsB,EAAED,EAAEE,OAAO,CAAC,CAAC;QAClD;IACF,GAAG;QAACzC;QAAWD;QAAUH;QAAUM,KAAKmC,QAAQ;QAAElB;QAAuBF;KAAqB;IAE9F,6BAA6B;IAC7BlD,UAAU;QACR,KAAKqF;IACP,GAAG;QAACA;KAAc;IAElB,wCAAwC;IACxCrF,UAAU;QACR,IAAIyC,IAAI;YACNgB;QACF;IACF,GAAG;QAACjB;QAAyBiB;QAAehB;KAAG;IAE/C,2CAA2C;IAC3CzC,UAAU;QACRiB,QAAQD;IACV,GAAG;QAACA;KAAY;IAEhBhB,UAAU;QACRuC,sBAAsBuB,KAAKH,GAAG;IAChC,GAAG;QAACrC;KAAS;IAEbtB,UAAU;QACR,IAAIsF;QACJ,MAAM3B,MAAMC,KAAKC,KAAK,CAAC,IAAIC,OAAOC,OAAO,KAAK;QAC9C,MAAMC,gBAAgB,OAAO5C,oBAAoB,WAAWA,kBAAkBuC,MAAM;QAEpF,IAAIK,gBAAgB,GAAG;YACrBsB,WAAWrB,WACT;gBACE5B,UAAUlC;YACZ,GACAyD,KAAK2B,GAAG,CAAC3B,KAAK4B,GAAG,CAAC,AAACxB,CAAAA,gBAAgB,EAAC,IAAK,MAAMtD;QAEnD;QAEA,OAAO;YACL,IAAI4E,UAAUG,aAAaH;QAC7B;IACF,GAAG;QAAClE;QAAiBiB;KAAU;IAE/BrC,UAAU;QACR,IAAI0F;QACJ,MAAM/B,MAAMC,KAAKC,KAAK,CAAC,IAAIC,OAAOC,OAAO,KAAK;QAC9C,MAAMC,gBAAgB,OAAO5C,oBAAoB,WAAWA,kBAAkBuC,MAAM;QAEpF,IAAIK,gBAAgB,GAAG;YACrB0B,cAAczB,WACZ;gBACEhD,QAAQ;gBACRiC;gBACAR;YACF,GACAkB,KAAK2B,GAAG,CAAC3B,KAAK4B,GAAG,CAACxB,gBAAgB,MAAMtD,iBAAiB;QAE7D;QAEA,OAAO;YACL,IAAIgF,aAAaD,aAAaC;QAChC;IACF,GAAG;QAACtE;QAAiBgB;QAAgBD;QAAMO;QAA2BQ;KAAqB;IAE3F,qBACE,KAACzC,QAAQkF,QAAQ;QACfC,OAAO;YACLP;YACAR;YACAhE;YACA4C;YACAkB;YACAG;YACA5C;YACAjB;YACAqC,OAAOpC;YACPH;QACF;kBAECH;;AAGP;AAEA,OAAO,MAAMiF,UAAU,IAAuC9F,WAAWU,SAA0B"}
1
+ {"version":3,"file":"index.js","names":["useModal","usePathname","useRouter","qs","React","createContext","useCallback","useContext","useEffect","useState","toast","stayLoggedInModalSlug","useDebounce","useTranslation","requests","formatAdminURL","useConfig","Context","maxTimeoutTime","AuthProvider","children","permissions","initialPermissions","user","initialUser","setUser","tokenInMemory","setTokenInMemory","tokenExpiration","setTokenExpiration","pathname","router","config","admin","routes","inactivity","logoutInactivityRoute","userSlug","adminRoute","api","apiRoute","serverURL","setPermissions","i18n","closeAllModals","openModal","lastLocationChange","setLastLocationChange","debouncedLocationChange","id","redirectToInactivityRoute","window","location","startsWith","redirectParam","encodeURIComponent","replace","path","revokeTokenAndExpire","undefined","setTokenAndExpiration","json","token","refreshedToken","exp","refreshCookie","forceRefresh","now","Math","round","Date","getTime","remainingTime","setTimeout","refresh","request","post","headers","language","status","e","error","message","refreshCookieAsync","skipSetUser","logOut","refreshPermissions","locale","params","stringify","addQueryPrefix","get","Error","fetchFullUser","reminder","max","min","clearTimeout","forceLogOut","_jsx","Provider","value","useAuth"],"sources":["../../../src/providers/Auth/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser, MeOperationResult, Permissions } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { usePathname, useRouter } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { stayLoggedInModalSlug } from '../../elements/StayLoggedIn/index.js'\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { useConfig } from '../Config/index.js'\n\nexport type AuthContext<T = ClientUser> = {\n fetchFullUser: () => Promise<void>\n logOut: () => Promise<void>\n permissions?: Permissions\n refreshCookie: (forceRefresh?: boolean) => void\n refreshCookieAsync: () => Promise<ClientUser>\n refreshPermissions: () => Promise<void>\n setPermissions: (permissions: Permissions) => void\n setUser: (user: T) => void\n strategy?: string\n token?: string\n tokenExpiration?: number\n user?: T | null\n}\n\nconst Context = createContext({} as AuthContext)\n\nconst maxTimeoutTime = 2147483647\n\ntype Props = {\n children: React.ReactNode\n permissions?: Permissions\n user?: ClientUser | null\n}\nexport function AuthProvider({\n children,\n permissions: initialPermissions,\n user: initialUser,\n}: Props) {\n const [user, setUser] = useState<ClientUser | null>(initialUser)\n const [tokenInMemory, setTokenInMemory] = useState<string>()\n const [tokenExpiration, setTokenExpiration] = useState<number>()\n const pathname = usePathname()\n const router = useRouter()\n\n const { config } = useConfig()\n\n const {\n admin: {\n routes: { inactivity: logoutInactivityRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n } = config\n\n const [permissions, setPermissions] = useState<Permissions>(initialPermissions)\n\n const { i18n } = useTranslation()\n const { closeAllModals, openModal } = useModal()\n const [lastLocationChange, setLastLocationChange] = useState(0)\n const debouncedLocationChange = useDebounce(lastLocationChange, 10000)\n\n const id = user?.id\n\n const redirectToInactivityRoute = useCallback(() => {\n if (window.location.pathname.startsWith(adminRoute)) {\n const redirectParam = `?redirect=${encodeURIComponent(window.location.pathname)}`\n router.replace(\n formatAdminURL({\n adminRoute,\n path: `${logoutInactivityRoute}${redirectParam}`,\n }),\n )\n } else {\n router.replace(\n formatAdminURL({\n adminRoute,\n path: logoutInactivityRoute,\n }),\n )\n }\n closeAllModals()\n }, [router, adminRoute, logoutInactivityRoute, closeAllModals])\n\n const revokeTokenAndExpire = useCallback(() => {\n setTokenInMemory(undefined)\n setTokenExpiration(undefined)\n }, [])\n\n const setTokenAndExpiration = useCallback(\n (json) => {\n const token = json?.token || json?.refreshedToken\n if (token && json?.exp) {\n setTokenInMemory(token)\n setTokenExpiration(json.exp)\n } else {\n revokeTokenAndExpire()\n }\n },\n [revokeTokenAndExpire],\n )\n\n const refreshCookie = useCallback(\n (forceRefresh?: boolean) => {\n const now = Math.round(new Date().getTime() / 1000)\n const remainingTime = (typeof tokenExpiration === 'number' ? tokenExpiration : 0) - now\n\n if (forceRefresh || (tokenExpiration && remainingTime < 120)) {\n setTimeout(() => {\n async function refresh() {\n try {\n const request = await requests.post(\n `${serverURL}${apiRoute}/${userSlug}/refresh-token`,\n {\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (request.status === 200) {\n const json = await request.json()\n setUser(json.user)\n\n setTokenAndExpiration(json)\n } else {\n setUser(null)\n redirectToInactivityRoute()\n }\n } catch (e) {\n toast.error(e.message)\n }\n }\n\n void refresh()\n }, 1000)\n }\n },\n [\n tokenExpiration,\n serverURL,\n apiRoute,\n userSlug,\n i18n,\n redirectToInactivityRoute,\n setTokenAndExpiration,\n ],\n )\n\n const refreshCookieAsync = useCallback(\n async (skipSetUser?: boolean): Promise<ClientUser> => {\n try {\n const request = await requests.post(`${serverURL}${apiRoute}/${userSlug}/refresh-token`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json = await request.json()\n if (!skipSetUser) {\n setUser(json.user)\n setTokenAndExpiration(json)\n }\n return json.user\n }\n\n setUser(null)\n redirectToInactivityRoute()\n return null\n } catch (e) {\n toast.error(`Refreshing token failed: ${e.message}`)\n return null\n }\n },\n [serverURL, apiRoute, userSlug, i18n, redirectToInactivityRoute, setTokenAndExpiration],\n )\n\n const logOut = useCallback(async () => {\n setUser(null)\n revokeTokenAndExpire()\n try {\n await requests.post(`${serverURL}${apiRoute}/${userSlug}/logout`)\n } catch (e) {\n toast.error(`Logging out failed: ${e.message}`)\n }\n }, [serverURL, apiRoute, userSlug, revokeTokenAndExpire])\n\n const refreshPermissions = useCallback(\n async ({ locale }: { locale?: string } = {}) => {\n const params = qs.stringify(\n {\n locale,\n },\n {\n addQueryPrefix: true,\n },\n )\n\n try {\n const request = await requests.get(`${serverURL}${apiRoute}/access${params}`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json: Permissions = await request.json()\n setPermissions(json)\n } else {\n throw new Error(`Fetching permissions failed with status code ${request.status}`)\n }\n } catch (e) {\n toast.error(`Refreshing permissions failed: ${e.message}`)\n }\n },\n [serverURL, apiRoute, i18n],\n )\n\n const fetchFullUser = React.useCallback(async () => {\n try {\n const request = await requests.get(`${serverURL}${apiRoute}/${userSlug}/me`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json: MeOperationResult = await request.json()\n\n if (json?.user) {\n setUser(json.user)\n\n if (json?.token) {\n setTokenAndExpiration(json)\n }\n } else {\n setUser(null)\n revokeTokenAndExpire()\n }\n }\n } catch (e) {\n toast.error(`Fetching user failed: ${e.message}`)\n }\n }, [serverURL, apiRoute, userSlug, i18n.language, setTokenAndExpiration, revokeTokenAndExpire])\n\n // On mount, get user and set\n useEffect(() => {\n void fetchFullUser()\n }, [fetchFullUser])\n\n // When location changes, refresh cookie\n useEffect(() => {\n if (id) {\n refreshCookie()\n }\n }, [debouncedLocationChange, refreshCookie, id])\n\n // When initialUser changes, reset in state\n useEffect(() => {\n setUser(initialUser)\n }, [initialUser])\n\n useEffect(() => {\n setLastLocationChange(Date.now())\n }, [pathname])\n\n useEffect(() => {\n let reminder: ReturnType<typeof setTimeout>\n const now = Math.round(new Date().getTime() / 1000)\n const remainingTime = typeof tokenExpiration === 'number' ? tokenExpiration - now : 0\n\n if (remainingTime > 0) {\n reminder = setTimeout(\n () => {\n openModal(stayLoggedInModalSlug)\n },\n Math.max(Math.min((remainingTime - 60) * 1000, maxTimeoutTime)),\n )\n }\n\n return () => {\n if (reminder) clearTimeout(reminder)\n }\n }, [tokenExpiration, openModal])\n\n useEffect(() => {\n let forceLogOut: ReturnType<typeof setTimeout>\n const now = Math.round(new Date().getTime() / 1000)\n const remainingTime = typeof tokenExpiration === 'number' ? tokenExpiration - now : 0\n\n if (remainingTime > 0) {\n forceLogOut = setTimeout(\n () => {\n setUser(null)\n revokeTokenAndExpire()\n redirectToInactivityRoute()\n },\n Math.max(Math.min(remainingTime * 1000, maxTimeoutTime), 0),\n )\n }\n\n return () => {\n if (forceLogOut) clearTimeout(forceLogOut)\n }\n }, [tokenExpiration, closeAllModals, i18n, redirectToInactivityRoute, revokeTokenAndExpire])\n\n return (\n <Context.Provider\n value={{\n fetchFullUser,\n logOut,\n permissions,\n refreshCookie,\n refreshCookieAsync,\n refreshPermissions,\n setPermissions,\n setUser,\n token: tokenInMemory,\n user,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n\nexport const useAuth = <T = ClientUser,>(): AuthContext<T> => useContext(Context) as AuthContext<T>\n"],"mappings":"AAAA;;;AAGA,SAASA,QAAQ,QAAQ;AACzB,SAASC,WAAW,EAAEC,SAAS,QAAQ;AACvC,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,IAASC,aAAa,EAAEC,WAAW,EAAEC,UAAU,EAAEC,SAAS,EAAEC,QAAQ,QAAQ;AACnF,SAASC,KAAK,QAAQ;AAEtB,SAASC,qBAAqB,QAAQ;AACtC,SAASC,WAAW,QAAQ;AAC5B,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,QAAQ;AAiB1B,MAAMC,OAAA,gBAAUZ,aAAA,CAAc,CAAC;AAE/B,MAAMa,cAAA,GAAiB;AAOvB,OAAO,SAASC,aAAa;EAC3BC,QAAQ;EACRC,WAAA,EAAaC,kBAAkB;EAC/BC,IAAA,EAAMC;AAAW,CACX;EACN,MAAM,CAACD,IAAA,EAAME,OAAA,CAAQ,GAAGhB,QAAA,CAA4Be,WAAA;EACpD,MAAM,CAACE,aAAA,EAAeC,gBAAA,CAAiB,GAAGlB,QAAA;EAC1C,MAAM,CAACmB,eAAA,EAAiBC,kBAAA,CAAmB,GAAGpB,QAAA;EAC9C,MAAMqB,QAAA,GAAW7B,WAAA;EACjB,MAAM8B,MAAA,GAAS7B,SAAA;EAEf,MAAM;IAAE8B;EAAM,CAAE,GAAGhB,SAAA;EAEnB,MAAM;IACJiB,KAAA,EAAO;MACLC,MAAA,EAAQ;QAAEC,UAAA,EAAYC;MAAqB,CAAE;MAC7Cb,IAAA,EAAMc;IAAQ,CACf;IACDH,MAAA,EAAQ;MAAED,KAAA,EAAOK,UAAU;MAAEC,GAAA,EAAKC;IAAQ,CAAE;IAC5CC;EAAS,CACV,GAAGT,MAAA;EAEJ,MAAM,CAACX,WAAA,EAAaqB,cAAA,CAAe,GAAGjC,QAAA,CAAsBa,kBAAA;EAE5D,MAAM;IAAEqB;EAAI,CAAE,GAAG9B,cAAA;EACjB,MAAM;IAAE+B,cAAc;IAAEC;EAAS,CAAE,GAAG7C,QAAA;EACtC,MAAM,CAAC8C,kBAAA,EAAoBC,qBAAA,CAAsB,GAAGtC,QAAA,CAAS;EAC7D,MAAMuC,uBAAA,GAA0BpC,WAAA,CAAYkC,kBAAA,EAAoB;EAEhE,MAAMG,EAAA,GAAK1B,IAAA,EAAM0B,EAAA;EAEjB,MAAMC,yBAAA,GAA4B5C,WAAA,CAAY;IAC5C,IAAI6C,MAAA,CAAOC,QAAQ,CAACtB,QAAQ,CAACuB,UAAU,CAACf,UAAA,GAAa;MACnD,MAAMgB,aAAA,GAAgB,aAAaC,kBAAA,CAAmBJ,MAAA,CAAOC,QAAQ,CAACtB,QAAQ,GAAG;MACjFC,MAAA,CAAOyB,OAAO,CACZzC,cAAA,CAAe;QACbuB,UAAA;QACAmB,IAAA,EAAM,GAAGrB,qBAAA,GAAwBkB,aAAA;MACnC;IAEJ,OAAO;MACLvB,MAAA,CAAOyB,OAAO,CACZzC,cAAA,CAAe;QACbuB,UAAA;QACAmB,IAAA,EAAMrB;MACR;IAEJ;IACAQ,cAAA;EACF,GAAG,CAACb,MAAA,EAAQO,UAAA,EAAYF,qBAAA,EAAuBQ,cAAA,CAAe;EAE9D,MAAMc,oBAAA,GAAuBpD,WAAA,CAAY;IACvCqB,gBAAA,CAAiBgC,SAAA;IACjB9B,kBAAA,CAAmB8B,SAAA;EACrB,GAAG,EAAE;EAEL,MAAMC,qBAAA,GAAwBtD,WAAA,CAC3BuD,IAAA;IACC,MAAMC,KAAA,GAAQD,IAAA,EAAMC,KAAA,IAASD,IAAA,EAAME,cAAA;IACnC,IAAID,KAAA,IAASD,IAAA,EAAMG,GAAA,EAAK;MACtBrC,gBAAA,CAAiBmC,KAAA;MACjBjC,kBAAA,CAAmBgC,IAAA,CAAKG,GAAG;IAC7B,OAAO;MACLN,oBAAA;IACF;EACF,GACA,CAACA,oBAAA,CAAqB;EAGxB,MAAMO,aAAA,GAAgB3D,WAAA,CACnB4D,YAAA;IACC,MAAMC,GAAA,GAAMC,IAAA,CAAKC,KAAK,CAAC,IAAIC,IAAA,GAAOC,OAAO,KAAK;IAC9C,MAAMC,aAAA,GAAgB,CAAC,OAAO5C,eAAA,KAAoB,WAAWA,eAAA,GAAkB,KAAKuC,GAAA;IAEpF,IAAID,YAAA,IAAiBtC,eAAA,IAAmB4C,aAAA,GAAgB,KAAM;MAC5DC,UAAA,CAAW;QACT,eAAeC,QAAA;UACb,IAAI;YACF,MAAMC,OAAA,GAAU,MAAM7D,QAAA,CAAS8D,IAAI,CACjC,GAAGnC,SAAA,GAAYD,QAAA,IAAYH,QAAA,gBAAwB,EACnD;cACEwC,OAAA,EAAS;gBACP,mBAAmBlC,IAAA,CAAKmC;cAC1B;YACF;YAGF,IAAIH,OAAA,CAAQI,MAAM,KAAK,KAAK;cAC1B,MAAMlB,MAAA,GAAO,MAAMc,OAAA,CAAQd,IAAI;cAC/BpC,OAAA,CAAQoC,MAAA,CAAKtC,IAAI;cAEjBqC,qBAAA,CAAsBC,MAAA;YACxB,OAAO;cACLpC,OAAA,CAAQ;cACRyB,yBAAA;YACF;UACF,EAAE,OAAO8B,CAAA,EAAG;YACVtE,KAAA,CAAMuE,KAAK,CAACD,CAAA,CAAEE,OAAO;UACvB;QACF;QAEA,KAAKR,OAAA;MACP,GAAG;IACL;EACF,GACA,CACE9C,eAAA,EACAa,SAAA,EACAD,QAAA,EACAH,QAAA,EACAM,IAAA,EACAO,yBAAA,EACAU,qBAAA,CACD;EAGH,MAAMuB,kBAAA,GAAqB7E,WAAA,CACzB,MAAO8E,WAAA;IACL,IAAI;MACF,MAAMT,SAAA,GAAU,MAAM7D,QAAA,CAAS8D,IAAI,CAAC,GAAGnC,SAAA,GAAYD,QAAA,IAAYH,QAAA,gBAAwB,EAAE;QACvFwC,OAAA,EAAS;UACP,mBAAmBlC,IAAA,CAAKmC;QAC1B;MACF;MAEA,IAAIH,SAAA,CAAQI,MAAM,KAAK,KAAK;QAC1B,MAAMlB,MAAA,GAAO,MAAMc,SAAA,CAAQd,IAAI;QAC/B,IAAI,CAACuB,WAAA,EAAa;UAChB3D,OAAA,CAAQoC,MAAA,CAAKtC,IAAI;UACjBqC,qBAAA,CAAsBC,MAAA;QACxB;QACA,OAAOA,MAAA,CAAKtC,IAAI;MAClB;MAEAE,OAAA,CAAQ;MACRyB,yBAAA;MACA,OAAO;IACT,EAAE,OAAO8B,GAAA,EAAG;MACVtE,KAAA,CAAMuE,KAAK,CAAC,4BAA4BD,GAAA,CAAEE,OAAO,EAAE;MACnD,OAAO;IACT;EACF,GACA,CAACzC,SAAA,EAAWD,QAAA,EAAUH,QAAA,EAAUM,IAAA,EAAMO,yBAAA,EAA2BU,qBAAA,CAAsB;EAGzF,MAAMyB,MAAA,GAAS/E,WAAA,CAAY;IACzBmB,OAAA,CAAQ;IACRiC,oBAAA;IACA,IAAI;MACF,MAAM5C,QAAA,CAAS8D,IAAI,CAAC,GAAGnC,SAAA,GAAYD,QAAA,IAAYH,QAAA,SAAiB;IAClE,EAAE,OAAO2C,GAAA,EAAG;MACVtE,KAAA,CAAMuE,KAAK,CAAC,uBAAuBD,GAAA,CAAEE,OAAO,EAAE;IAChD;EACF,GAAG,CAACzC,SAAA,EAAWD,QAAA,EAAUH,QAAA,EAAUqB,oBAAA,CAAqB;EAExD,MAAM4B,kBAAA,GAAqBhF,WAAA,CACzB,OAAO;IAAEiF;EAAM,CAAuB,GAAG,CAAC,CAAC;IACzC,MAAMC,MAAA,GAASrF,EAAA,CAAGsF,SAAS,CACzB;MACEF;IACF,GACA;MACEG,cAAA,EAAgB;IAClB;IAGF,IAAI;MACF,MAAMf,SAAA,GAAU,MAAM7D,QAAA,CAAS6E,GAAG,CAAC,GAAGlD,SAAA,GAAYD,QAAA,UAAkBgD,MAAA,EAAQ,EAAE;QAC5EX,OAAA,EAAS;UACP,mBAAmBlC,IAAA,CAAKmC;QAC1B;MACF;MAEA,IAAIH,SAAA,CAAQI,MAAM,KAAK,KAAK;QAC1B,MAAMlB,MAAA,GAAoB,MAAMc,SAAA,CAAQd,IAAI;QAC5CnB,cAAA,CAAemB,MAAA;MACjB,OAAO;QACL,MAAM,IAAI+B,KAAA,CAAM,gDAAgDjB,SAAA,CAAQI,MAAM,EAAE;MAClF;IACF,EAAE,OAAOC,GAAA,EAAG;MACVtE,KAAA,CAAMuE,KAAK,CAAC,kCAAkCD,GAAA,CAAEE,OAAO,EAAE;IAC3D;EACF,GACA,CAACzC,SAAA,EAAWD,QAAA,EAAUG,IAAA,CAAK;EAG7B,MAAMkD,aAAA,GAAgBzF,KAAA,CAAME,WAAW,CAAC;IACtC,IAAI;MACF,MAAMqE,SAAA,GAAU,MAAM7D,QAAA,CAAS6E,GAAG,CAAC,GAAGlD,SAAA,GAAYD,QAAA,IAAYH,QAAA,KAAa,EAAE;QAC3EwC,OAAA,EAAS;UACP,mBAAmBlC,IAAA,CAAKmC;QAC1B;MACF;MAEA,IAAIH,SAAA,CAAQI,MAAM,KAAK,KAAK;QAC1B,MAAMlB,MAAA,GAA0B,MAAMc,SAAA,CAAQd,IAAI;QAElD,IAAIA,MAAA,EAAMtC,IAAA,EAAM;UACdE,OAAA,CAAQoC,MAAA,CAAKtC,IAAI;UAEjB,IAAIsC,MAAA,EAAMC,KAAA,EAAO;YACfF,qBAAA,CAAsBC,MAAA;UACxB;QACF,OAAO;UACLpC,OAAA,CAAQ;UACRiC,oBAAA;QACF;MACF;IACF,EAAE,OAAOsB,GAAA,EAAG;MACVtE,KAAA,CAAMuE,KAAK,CAAC,yBAAyBD,GAAA,CAAEE,OAAO,EAAE;IAClD;EACF,GAAG,CAACzC,SAAA,EAAWD,QAAA,EAAUH,QAAA,EAAUM,IAAA,CAAKmC,QAAQ,EAAElB,qBAAA,EAAuBF,oBAAA,CAAqB;EAE9F;EACAlD,SAAA,CAAU;IACR,KAAKqF,aAAA;EACP,GAAG,CAACA,aAAA,CAAc;EAElB;EACArF,SAAA,CAAU;IACR,IAAIyC,EAAA,EAAI;MACNgB,aAAA;IACF;EACF,GAAG,CAACjB,uBAAA,EAAyBiB,aAAA,EAAehB,EAAA,CAAG;EAE/C;EACAzC,SAAA,CAAU;IACRiB,OAAA,CAAQD,WAAA;EACV,GAAG,CAACA,WAAA,CAAY;EAEhBhB,SAAA,CAAU;IACRuC,qBAAA,CAAsBuB,IAAA,CAAKH,GAAG;EAChC,GAAG,CAACrC,QAAA,CAAS;EAEbtB,SAAA,CAAU;IACR,IAAIsF,QAAA;IACJ,MAAM3B,KAAA,GAAMC,IAAA,CAAKC,KAAK,CAAC,IAAIC,IAAA,GAAOC,OAAO,KAAK;IAC9C,MAAMC,eAAA,GAAgB,OAAO5C,eAAA,KAAoB,WAAWA,eAAA,GAAkBuC,KAAA,GAAM;IAEpF,IAAIK,eAAA,GAAgB,GAAG;MACrBsB,QAAA,GAAWrB,UAAA,CACT;QACE5B,SAAA,CAAUlC,qBAAA;MACZ,GACAyD,IAAA,CAAK2B,GAAG,CAAC3B,IAAA,CAAK4B,GAAG,CAAC,CAACxB,eAAA,GAAgB,EAAC,IAAK,MAAMtD,cAAA;IAEnD;IAEA,OAAO;MACL,IAAI4E,QAAA,EAAUG,YAAA,CAAaH,QAAA;IAC7B;EACF,GAAG,CAAClE,eAAA,EAAiBiB,SAAA,CAAU;EAE/BrC,SAAA,CAAU;IACR,IAAI0F,WAAA;IACJ,MAAM/B,KAAA,GAAMC,IAAA,CAAKC,KAAK,CAAC,IAAIC,IAAA,GAAOC,OAAO,KAAK;IAC9C,MAAMC,eAAA,GAAgB,OAAO5C,eAAA,KAAoB,WAAWA,eAAA,GAAkBuC,KAAA,GAAM;IAEpF,IAAIK,eAAA,GAAgB,GAAG;MACrB0B,WAAA,GAAczB,UAAA,CACZ;QACEhD,OAAA,CAAQ;QACRiC,oBAAA;QACAR,yBAAA;MACF,GACAkB,IAAA,CAAK2B,GAAG,CAAC3B,IAAA,CAAK4B,GAAG,CAACxB,eAAA,GAAgB,MAAMtD,cAAA,GAAiB;IAE7D;IAEA,OAAO;MACL,IAAIgF,WAAA,EAAaD,YAAA,CAAaC,WAAA;IAChC;EACF,GAAG,CAACtE,eAAA,EAAiBgB,cAAA,EAAgBD,IAAA,EAAMO,yBAAA,EAA2BQ,oBAAA,CAAqB;EAE3F,oBACEyC,IAAA,CAAClF,OAAA,CAAQmF,QAAQ;IACfC,KAAA,EAAO;MACLR,aAAA;MACAR,MAAA;MACAhE,WAAA;MACA4C,aAAA;MACAkB,kBAAA;MACAG,kBAAA;MACA5C,cAAA;MACAjB,OAAA;MACAqC,KAAA,EAAOpC,aAAA;MACPH;IACF;cAECH;;AAGP;AAEA,OAAO,MAAMkF,OAAA,GAAUA,CAAA;EAAA,OAAuC/F,UAAA,CAAAU,OAAW;AAAA","ignoreList":[]}