@payloadcms/ui 3.0.0-alpha.0 → 3.0.0-alpha.2

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 (419) hide show
  1. package/dist/@types/assets.d.js +3 -0
  2. package/dist/config.js +13 -0
  3. package/dist/elements/ArrayAction/index.js +120 -0
  4. package/dist/elements/ArrayAction/types.js +6 -0
  5. package/dist/elements/Autosave/index.d.ts.map +1 -1
  6. package/dist/elements/Autosave/index.js +207 -0
  7. package/dist/elements/Autosave/types.js +6 -0
  8. package/dist/elements/Banner/index.js +52 -0
  9. package/dist/elements/Banner/types.js +6 -0
  10. package/dist/elements/Button/index.js +166 -0
  11. package/dist/elements/Button/types.js +6 -0
  12. package/dist/elements/Card/index.js +46 -0
  13. package/dist/elements/Card/types.js +6 -0
  14. package/dist/elements/CodeEditor/CodeEditor.js +53 -0
  15. package/dist/elements/CodeEditor/index.js +68 -0
  16. package/dist/elements/CodeEditor/types.js +6 -0
  17. package/dist/elements/Collapsible/index.js +128 -0
  18. package/dist/elements/Collapsible/provider.js +90 -0
  19. package/dist/elements/Collapsible/types.js +6 -0
  20. package/dist/elements/ColumnSelector/index.js +109 -0
  21. package/dist/elements/ColumnSelector/types.js +6 -0
  22. package/dist/elements/CopyToClipboard/index.js +98 -0
  23. package/dist/elements/CopyToClipboard/types.js +6 -0
  24. package/dist/elements/DatePicker/DatePicker.js +147 -0
  25. package/dist/elements/DatePicker/index.js +63 -0
  26. package/dist/elements/DatePicker/types.js +6 -0
  27. package/dist/elements/DeleteDocument/index.js +178 -0
  28. package/dist/elements/DeleteDocument/types.js +6 -0
  29. package/dist/elements/DeleteMany/index.js +176 -0
  30. package/dist/elements/DeleteMany/types.js +6 -0
  31. package/dist/elements/DocumentControls/index.d.ts +2 -2
  32. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  33. package/dist/elements/DocumentControls/index.js +159 -0
  34. package/dist/elements/DocumentDrawer/DrawerContent.js +219 -0
  35. package/dist/elements/DocumentDrawer/index.js +185 -0
  36. package/dist/elements/DocumentDrawer/types.js +6 -0
  37. package/dist/elements/DocumentFields/index.js +55 -0
  38. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +23 -0
  39. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +42 -0
  40. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +105 -0
  41. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +48 -0
  42. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +24 -0
  43. package/dist/elements/DocumentHeader/Tabs/index.js +84 -0
  44. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +27 -0
  45. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +75 -0
  46. package/dist/elements/DocumentHeader/index.js +81 -0
  47. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +82 -0
  48. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +6 -0
  49. package/dist/elements/DraggableSortable/index.js +96 -0
  50. package/dist/elements/DraggableSortable/types.js +6 -0
  51. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +32 -0
  52. package/dist/elements/DraggableSortable/useDraggableSortable/types.js +6 -0
  53. package/dist/elements/Drawer/index.js +156 -0
  54. package/dist/elements/Drawer/types.js +6 -0
  55. package/dist/elements/Drawer/useDrawerSlug.js +23 -0
  56. package/dist/elements/Dropzone/index.js +117 -0
  57. package/dist/elements/DuplicateDocument/index.js +217 -0
  58. package/dist/elements/DuplicateDocument/types.js +6 -0
  59. package/dist/elements/EditMany/index.js +274 -0
  60. package/dist/elements/EditMany/types.js +6 -0
  61. package/dist/elements/EditUpload/index.js +390 -0
  62. package/dist/elements/ErrorPill/index.js +37 -0
  63. package/dist/elements/ErrorPill/types.js +6 -0
  64. package/dist/elements/FieldSelect/index.js +138 -0
  65. package/dist/elements/FileDetails/FileMeta/index.js +96 -0
  66. package/dist/elements/FileDetails/FileMeta/types.js +6 -0
  67. package/dist/elements/FileDetails/index.js +59 -0
  68. package/dist/elements/FileDetails/types.js +6 -0
  69. package/dist/elements/GenerateConfirmation/index.js +72 -0
  70. package/dist/elements/GenerateConfirmation/types.js +6 -0
  71. package/dist/elements/GetFilterOptions/index.js +57 -0
  72. package/dist/elements/Gutter/index.js +72 -0
  73. package/dist/elements/Hamburger/index.js +54 -0
  74. package/dist/elements/Header/index.d.ts.map +1 -1
  75. package/dist/elements/Header/index.js +140 -0
  76. package/dist/elements/HydrateClientUser/index.js +28 -0
  77. package/dist/elements/IDLabel/index.js +28 -0
  78. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +21 -0
  79. package/dist/elements/ListControls/index.js +149 -0
  80. package/dist/elements/ListControls/types.js +6 -0
  81. package/dist/elements/ListDrawer/DrawerContent.js +315 -0
  82. package/dist/elements/ListDrawer/index.js +198 -0
  83. package/dist/elements/ListDrawer/types.js +6 -0
  84. package/dist/elements/ListSelection/index.js +83 -0
  85. package/dist/elements/Loading/index.js +103 -0
  86. package/dist/elements/LoadingOverlay/index.js +130 -0
  87. package/dist/elements/LoadingOverlay/reducer.js +49 -0
  88. package/dist/elements/LoadingOverlay/types.js +6 -0
  89. package/dist/elements/Localizer/LocalizerLabel/index.js +43 -0
  90. package/dist/elements/Localizer/index.js +121 -0
  91. package/dist/elements/Logout/index.d.ts.map +1 -1
  92. package/dist/elements/Logout/index.js +49 -0
  93. package/dist/elements/Nav/NavHamburger/index.js +34 -0
  94. package/dist/elements/Nav/NavToggler/index.js +53 -0
  95. package/dist/elements/Nav/NavWrapper/index.js +34 -0
  96. package/dist/elements/Nav/context.js +150 -0
  97. package/dist/elements/Nav/index.d.ts.map +1 -1
  98. package/dist/elements/Nav/index.js +106 -0
  99. package/dist/elements/NavGroup/index.js +129 -0
  100. package/dist/elements/Pagination/ClickableArrow/index.js +36 -0
  101. package/dist/elements/Pagination/ClickableArrow/types.js +6 -0
  102. package/dist/elements/Pagination/Page/index.js +33 -0
  103. package/dist/elements/Pagination/Page/types.js +6 -0
  104. package/dist/elements/Pagination/Separator/index.js +22 -0
  105. package/dist/elements/Pagination/index.js +126 -0
  106. package/dist/elements/Pagination/types.js +6 -0
  107. package/dist/elements/PerPage/index.d.ts.map +1 -1
  108. package/dist/elements/PerPage/index.js +115 -0
  109. package/dist/elements/Pill/index.js +93 -0
  110. package/dist/elements/Pill/types.js +6 -0
  111. package/dist/elements/Popup/PopupButtonList/index.d.ts +2 -2
  112. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  113. package/dist/elements/Popup/PopupButtonList/index.js +118 -0
  114. package/dist/elements/Popup/PopupTrigger/index.js +51 -0
  115. package/dist/elements/Popup/PopupTrigger/types.js +6 -0
  116. package/dist/elements/Popup/index.js +193 -0
  117. package/dist/elements/Popup/types.js +6 -0
  118. package/dist/elements/PreviewButton/index.js +129 -0
  119. package/dist/elements/PreviewSizes/index.js +163 -0
  120. package/dist/elements/Publish/index.js +153 -0
  121. package/dist/elements/PublishMany/index.js +169 -0
  122. package/dist/elements/PublishMany/types.js +6 -0
  123. package/dist/elements/ReactSelect/ClearIndicator/index.js +31 -0
  124. package/dist/elements/ReactSelect/Control/index.js +49 -0
  125. package/dist/elements/ReactSelect/MultiValue/index.js +55 -0
  126. package/dist/elements/ReactSelect/MultiValueLabel/index.js +34 -0
  127. package/dist/elements/ReactSelect/MultiValueRemove/index.js +48 -0
  128. package/dist/elements/ReactSelect/SingleValue/index.js +30 -0
  129. package/dist/elements/ReactSelect/ValueContainer/index.js +29 -0
  130. package/dist/elements/ReactSelect/index.js +177 -0
  131. package/dist/elements/ReactSelect/types.js +6 -0
  132. package/dist/elements/RenderCustomComponent/index.js +28 -0
  133. package/dist/elements/RenderCustomComponent/types.js +6 -0
  134. package/dist/elements/RenderTitle/index.js +42 -0
  135. package/dist/elements/RenderTitle/types.js +6 -0
  136. package/dist/elements/Save/index.js +103 -0
  137. package/dist/elements/SaveDraft/index.js +147 -0
  138. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  139. package/dist/elements/SearchFilter/index.js +139 -0
  140. package/dist/elements/SearchFilter/types.js +6 -0
  141. package/dist/elements/SelectAll/index.js +35 -0
  142. package/dist/elements/SelectRow/index.js +31 -0
  143. package/dist/elements/ShimmerEffect/index.js +96 -0
  144. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  145. package/dist/elements/SortColumn/index.js +139 -0
  146. package/dist/elements/SortColumn/types.js +6 -0
  147. package/dist/elements/SortComplex/index.d.ts.map +1 -1
  148. package/dist/elements/SortComplex/index.js +157 -0
  149. package/dist/elements/SortComplex/types.js +6 -0
  150. package/dist/elements/Status/index.js +202 -0
  151. package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
  152. package/dist/elements/StayLoggedIn/index.js +57 -0
  153. package/dist/elements/StayLoggedIn/types.js +6 -0
  154. package/dist/elements/StepNav/SetStepNav.js +25 -0
  155. package/dist/elements/StepNav/index.d.ts.map +1 -1
  156. package/dist/elements/StepNav/index.js +127 -0
  157. package/dist/elements/StepNav/types.js +6 -0
  158. package/dist/elements/Table/TableCellProvider/index.js +47 -0
  159. package/dist/elements/Table/index.js +63 -0
  160. package/dist/elements/Table/types.js +6 -0
  161. package/dist/elements/TableColumns/buildColumns.js +77 -0
  162. package/dist/elements/TableColumns/columnReducer.js +47 -0
  163. package/dist/elements/TableColumns/index.js +199 -0
  164. package/dist/elements/Thumbnail/index.js +89 -0
  165. package/dist/elements/Thumbnail/types.js +6 -0
  166. package/dist/elements/ThumbnailCard/index.js +54 -0
  167. package/dist/elements/ThumbnailCard/types.js +6 -0
  168. package/dist/elements/Tooltip/index.js +114 -0
  169. package/dist/elements/Tooltip/types.js +6 -0
  170. package/dist/elements/Translation/index.js +81 -0
  171. package/dist/elements/UnpublishMany/index.js +169 -0
  172. package/dist/elements/UnpublishMany/types.js +6 -0
  173. package/dist/elements/Upload/index.js +250 -0
  174. package/dist/elements/Upload/types.js +6 -0
  175. package/dist/elements/ViewDescription/index.js +38 -0
  176. package/dist/elements/ViewDescription/types.js +21 -0
  177. package/dist/elements/WhereBuilder/Condition/Date/index.js +32 -0
  178. package/dist/elements/WhereBuilder/Condition/Date/types.js +6 -0
  179. package/dist/elements/WhereBuilder/Condition/Number/index.js +33 -0
  180. package/dist/elements/WhereBuilder/Condition/Number/types.js +6 -0
  181. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +337 -0
  182. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +98 -0
  183. package/dist/elements/WhereBuilder/Condition/Relationship/types.js +6 -0
  184. package/dist/elements/WhereBuilder/Condition/Select/index.js +96 -0
  185. package/dist/elements/WhereBuilder/Condition/Select/types.js +6 -0
  186. package/dist/elements/WhereBuilder/Condition/Text/index.js +33 -0
  187. package/dist/elements/WhereBuilder/Condition/Text/types.js +6 -0
  188. package/dist/elements/WhereBuilder/Condition/index.js +203 -0
  189. package/dist/elements/WhereBuilder/Condition/types.js +6 -0
  190. package/dist/elements/WhereBuilder/field-types.js +185 -0
  191. package/dist/elements/WhereBuilder/index.js +235 -0
  192. package/dist/elements/WhereBuilder/reducer.js +88 -0
  193. package/dist/elements/WhereBuilder/transformWhereQuery.js +57 -0
  194. package/dist/elements/WhereBuilder/types.js +6 -0
  195. package/dist/elements/WhereBuilder/validateWhereQuery.js +46 -0
  196. package/dist/exports/assets.js +27 -0
  197. package/dist/exports/elements.js +226 -0
  198. package/dist/exports/forms.js +158 -0
  199. package/dist/exports/graphics.js +27 -0
  200. package/dist/exports/hooks.js +55 -0
  201. package/dist/exports/icons.js +82 -0
  202. package/dist/exports/index.js +28 -0
  203. package/dist/exports/providers.js +116 -0
  204. package/dist/exports/templates.js +22 -0
  205. package/dist/exports/types.js +6 -0
  206. package/dist/exports/utilities.js +62 -0
  207. package/dist/forms/Error/index.js +43 -0
  208. package/dist/forms/FieldDescription/index.js +38 -0
  209. package/dist/forms/FieldDescription/types.js +6 -0
  210. package/dist/forms/FieldPathProvider/index.js +44 -0
  211. package/dist/forms/FieldPathProvider/types.js +6 -0
  212. package/dist/forms/Form/buildFieldSchemaMap.js +54 -0
  213. package/dist/forms/Form/buildInitialState.js +26 -0
  214. package/dist/forms/Form/context.js +84 -0
  215. package/dist/forms/Form/createNestedFieldPath.js +25 -0
  216. package/dist/forms/Form/errorMessages.js +15 -0
  217. package/dist/forms/Form/fieldReducer.js +286 -0
  218. package/dist/forms/Form/getDataByPath.js +29 -0
  219. package/dist/forms/Form/getSiblingData.js +50 -0
  220. package/dist/forms/Form/index.js +565 -0
  221. package/dist/forms/Form/initContextState.js +45 -0
  222. package/dist/forms/Form/mergeServerFormState.js +45 -0
  223. package/dist/forms/Form/reduceFieldsToValues.js +34 -0
  224. package/dist/forms/Form/rows.js +53 -0
  225. package/dist/forms/Form/types.js +6 -0
  226. package/dist/forms/Label/index.js +36 -0
  227. package/dist/forms/NullifyField/index.js +103 -0
  228. package/dist/forms/RenderFields/RenderField.js +30 -0
  229. package/dist/forms/RenderFields/index.js +66 -0
  230. package/dist/forms/RenderFields/types.js +6 -0
  231. package/dist/forms/RowLabel/index.js +50 -0
  232. package/dist/forms/RowLabel/types.js +21 -0
  233. package/dist/forms/Submit/index.js +75 -0
  234. package/dist/forms/WatchChildErrors/buildPathSegments.js +37 -0
  235. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js +35 -0
  236. package/dist/forms/WatchChildErrors/getNestedFieldState.js +28 -0
  237. package/dist/forms/WatchChildErrors/index.js +41 -0
  238. package/dist/forms/fields/Array/ArrayRow.js +87 -0
  239. package/dist/forms/fields/Array/index.js +305 -0
  240. package/dist/forms/fields/Array/types.js +6 -0
  241. package/dist/forms/fields/Blocks/BlockRow.js +101 -0
  242. package/dist/forms/fields/Blocks/BlocksDrawer/BlockSearch/index.js +37 -0
  243. package/dist/forms/fields/Blocks/BlocksDrawer/index.js +134 -0
  244. package/dist/forms/fields/Blocks/BlocksDrawer/types.js +6 -0
  245. package/dist/forms/fields/Blocks/RowActions.js +52 -0
  246. package/dist/forms/fields/Blocks/SectionTitle/index.js +54 -0
  247. package/dist/forms/fields/Blocks/SectionTitle/types.js +6 -0
  248. package/dist/forms/fields/Blocks/index.js +317 -0
  249. package/dist/forms/fields/Blocks/types.js +6 -0
  250. package/dist/forms/fields/Checkbox/Input.js +56 -0
  251. package/dist/forms/fields/Checkbox/index.js +134 -0
  252. package/dist/forms/fields/Checkbox/types.js +6 -0
  253. package/dist/forms/fields/Code/index.js +115 -0
  254. package/dist/forms/fields/Code/types.js +6 -0
  255. package/dist/forms/fields/Collapsible/index.js +169 -0
  256. package/dist/forms/fields/Collapsible/types.js +6 -0
  257. package/dist/forms/fields/ConfirmPassword/index.js +112 -0
  258. package/dist/forms/fields/ConfirmPassword/types.js +6 -0
  259. package/dist/forms/fields/DateTime/index.js +115 -0
  260. package/dist/forms/fields/DateTime/types.js +6 -0
  261. package/dist/forms/fields/Email/index.js +121 -0
  262. package/dist/forms/fields/Email/types.js +6 -0
  263. package/dist/forms/fields/Group/index.js +127 -0
  264. package/dist/forms/fields/Group/provider.js +74 -0
  265. package/dist/forms/fields/Group/types.js +6 -0
  266. package/dist/forms/fields/HiddenInput/index.js +88 -0
  267. package/dist/forms/fields/HiddenInput/types.js +6 -0
  268. package/dist/forms/fields/JSON/index.js +137 -0
  269. package/dist/forms/fields/JSON/types.js +6 -0
  270. package/dist/forms/fields/Number/index.js +212 -0
  271. package/dist/forms/fields/Number/types.js +6 -0
  272. package/dist/forms/fields/Password/index.js +116 -0
  273. package/dist/forms/fields/Password/types.js +6 -0
  274. package/dist/forms/fields/Point/index.js +147 -0
  275. package/dist/forms/fields/Point/types.js +6 -0
  276. package/dist/forms/fields/RadioGroup/Radio/index.js +45 -0
  277. package/dist/forms/fields/RadioGroup/index.js +147 -0
  278. package/dist/forms/fields/RadioGroup/types.js +6 -0
  279. package/dist/forms/fields/Relationship/AddNew/index.js +216 -0
  280. package/dist/forms/fields/Relationship/AddNew/types.js +6 -0
  281. package/dist/forms/fields/Relationship/AddNew/useRelatedCollections.js +27 -0
  282. package/dist/forms/fields/Relationship/createRelationMap.js +59 -0
  283. package/dist/forms/fields/Relationship/findOptionsByValue.js +45 -0
  284. package/dist/forms/fields/Relationship/index.js +509 -0
  285. package/dist/forms/fields/Relationship/optionsReducer.js +126 -0
  286. package/dist/forms/fields/Relationship/select-components/MultiValueLabel/index.js +109 -0
  287. package/dist/forms/fields/Relationship/select-components/SingleValue/index.js +108 -0
  288. package/dist/forms/fields/Relationship/types.js +6 -0
  289. package/dist/forms/fields/RichText/index.js +16 -0
  290. package/dist/forms/fields/RichText/types.js +6 -0
  291. package/dist/forms/fields/Row/index.js +42 -0
  292. package/dist/forms/fields/Row/provider.js +74 -0
  293. package/dist/forms/fields/Row/types.js +6 -0
  294. package/dist/forms/fields/Select/index.js +183 -0
  295. package/dist/forms/fields/Select/types.js +6 -0
  296. package/dist/forms/fields/Tabs/Tab/index.js +85 -0
  297. package/dist/forms/fields/Tabs/index.js +167 -0
  298. package/dist/forms/fields/Tabs/provider.js +74 -0
  299. package/dist/forms/fields/Tabs/types.js +6 -0
  300. package/dist/forms/fields/Text/index.js +194 -0
  301. package/dist/forms/fields/Text/types.js +6 -0
  302. package/dist/forms/fields/Textarea/index.js +133 -0
  303. package/dist/forms/fields/Textarea/types.js +6 -0
  304. package/dist/forms/fields/UI/index.js +16 -0
  305. package/dist/forms/fields/Upload/Input.js +3 -0
  306. package/dist/forms/fields/Upload/index.js +210 -0
  307. package/dist/forms/fields/Upload/types.js +6 -0
  308. package/dist/forms/fields/getFilterOptionsQuery.js +39 -0
  309. package/dist/forms/fields/index.js +67 -0
  310. package/dist/forms/fields/shared.js +29 -0
  311. package/dist/forms/useField/index.js +169 -0
  312. package/dist/forms/useField/types.js +6 -0
  313. package/dist/forms/utilities/buildStateFromSchema/addFieldStatePromise.js +335 -0
  314. package/dist/forms/utilities/buildStateFromSchema/buildStateFromSchema.spec.js +76 -0
  315. package/dist/forms/utilities/buildStateFromSchema/index.js +35 -0
  316. package/dist/forms/utilities/buildStateFromSchema/iterateFields.js +48 -0
  317. package/dist/forms/withCondition/WatchCondition.js +66 -0
  318. package/dist/forms/withCondition/index.js +33 -0
  319. package/dist/graphics/Account/Default/index.js +43 -0
  320. package/dist/graphics/Account/Gravatar/index.js +42 -0
  321. package/dist/graphics/Account/index.js +50 -0
  322. package/dist/graphics/DefaultBlockImage/index.js +84 -0
  323. package/dist/graphics/ExternalLink/index.js +34 -0
  324. package/dist/graphics/File/index.js +36 -0
  325. package/dist/graphics/Icon/index.js +64 -0
  326. package/dist/graphics/Logo/index.js +60 -0
  327. package/dist/graphics/Search/index.js +42 -0
  328. package/dist/hooks/useAdminThumbnail.js +17 -0
  329. package/dist/hooks/useDebounce.js +31 -0
  330. package/dist/hooks/useDebouncedCallback.js +29 -0
  331. package/dist/hooks/useDebouncedEffect.js +32 -0
  332. package/dist/hooks/useDelay.js +82 -0
  333. package/dist/hooks/useDelayedRender.js +97 -0
  334. package/dist/hooks/useHotkey.js +129 -0
  335. package/dist/hooks/useIntersect.js +39 -0
  336. package/dist/hooks/usePayloadAPI.js +94 -0
  337. package/dist/hooks/useResize.js +59 -0
  338. package/dist/hooks/useThrottledEffect.js +31 -0
  339. package/dist/hooks/useThumbnail.js +57 -0
  340. package/dist/hooks/useUseAsTitle.js +19 -0
  341. package/dist/icons/Calendar/index.js +48 -0
  342. package/dist/icons/Check/index.js +34 -0
  343. package/dist/icons/Chevron/index.js +36 -0
  344. package/dist/icons/CloseMenu/index.js +39 -0
  345. package/dist/icons/CodeBlock/index.js +32 -0
  346. package/dist/icons/Copy/index.js +33 -0
  347. package/dist/icons/DragHandle/index.js +57 -0
  348. package/dist/icons/Edit/index.js +37 -0
  349. package/dist/icons/Line/index.js +30 -0
  350. package/dist/icons/Link/index.js +33 -0
  351. package/dist/icons/LogOut/index.js +37 -0
  352. package/dist/icons/Menu/index.js +45 -0
  353. package/dist/icons/MinimizeMaximize/index.js +87 -0
  354. package/dist/icons/More/index.js +42 -0
  355. package/dist/icons/Plus/index.js +36 -0
  356. package/dist/icons/Search/index.js +36 -0
  357. package/dist/icons/Swap/index.js +43 -0
  358. package/dist/icons/X/index.js +41 -0
  359. package/dist/index.js +20 -0
  360. package/dist/providers/ActionsProvider/index.js +89 -0
  361. package/dist/providers/Auth/HydrateClientUser/index.js +28 -0
  362. package/dist/providers/Auth/index.js +373 -0
  363. package/dist/providers/Auth/types.js +6 -0
  364. package/dist/providers/ClientFunction/index.js +65 -0
  365. package/dist/providers/ComponentMapProvider/index.js +98 -0
  366. package/dist/providers/Config/index.js +70 -0
  367. package/dist/providers/CustomProvider/index.js +38 -0
  368. package/dist/providers/DocumentEvents/index.js +77 -0
  369. package/dist/providers/DocumentEvents/types.js +6 -0
  370. package/dist/providers/DocumentInfo/SetDocumentInfo/index.js +34 -0
  371. package/dist/providers/DocumentInfo/index.js +353 -0
  372. package/dist/providers/DocumentInfo/types.js +6 -0
  373. package/dist/providers/EditDepth/index.js +71 -0
  374. package/dist/providers/FormQueryParams/index.js +77 -0
  375. package/dist/providers/ListInfo/index.js +78 -0
  376. package/dist/providers/ListInfo/types.js +6 -0
  377. package/dist/providers/Locale/index.js +122 -0
  378. package/dist/providers/OperationProvider/index.js +71 -0
  379. package/dist/providers/Params/index.js +72 -0
  380. package/dist/providers/Portal/index.js +20 -0
  381. package/dist/providers/Preferences/index.js +184 -0
  382. package/dist/providers/Root/index.js +103 -0
  383. package/dist/providers/SearchParams/index.js +119 -0
  384. package/dist/providers/SearchParams/types.js +6 -0
  385. package/dist/providers/SelectionProvider/index.js +218 -0
  386. package/dist/providers/Theme/index.js +123 -0
  387. package/dist/providers/Theme/types.js +6 -0
  388. package/dist/providers/Theme/utilities.js +35 -0
  389. package/dist/providers/Translation/index.js +92 -0
  390. package/dist/templates/Default/NavHamburger/index.js +28 -0
  391. package/dist/templates/Default/Wrapper/index.js +32 -0
  392. package/dist/templates/Default/index.js +88 -0
  393. package/dist/templates/Default/types.js +6 -0
  394. package/dist/templates/Minimal/index.js +34 -0
  395. package/dist/templates/Minimal/types.js +6 -0
  396. package/dist/utilities/api.js +98 -0
  397. package/dist/utilities/arraysHaveSameStrings.js +28 -0
  398. package/dist/utilities/buildComponentMap/index.js +101 -0
  399. package/dist/utilities/buildComponentMap/mapFields.js +318 -0
  400. package/dist/utilities/buildComponentMap/types.js +6 -0
  401. package/dist/utilities/buildFieldSchemaMap/index.js +36 -0
  402. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +94 -0
  403. package/dist/utilities/buildFieldSchemaMap/types.js +6 -0
  404. package/dist/utilities/canUseDOM.js +13 -0
  405. package/dist/utilities/findLocaleFromCode.js +18 -0
  406. package/dist/utilities/formatDate/getSupportedDateLocale.js +21 -0
  407. package/dist/utilities/formatDate/index.js +78 -0
  408. package/dist/utilities/formatDocTitle.js +33 -0
  409. package/dist/utilities/formatFields.js +14 -0
  410. package/dist/utilities/getFormState.js +28 -0
  411. package/dist/utilities/getOffsetTop.js +26 -0
  412. package/dist/utilities/getRequestLanguage.js +17 -0
  413. package/dist/utilities/getSupportedMonacoLocale.js +26 -0
  414. package/dist/utilities/groupNavItems.js +61 -0
  415. package/dist/utilities/scrollToID.js +22 -0
  416. package/dist/utilities/setsAreEqual.js +17 -0
  417. package/dist/utilities/withMergedProps/index.js +27 -0
  418. package/dist/views/Global/RenderCustomView.js +3 -0
  419. package/package.json +5 -5
@@ -0,0 +1,335 @@
1
+ /* eslint-disable no-param-reassign */ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "addFieldStatePromise", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return addFieldStatePromise;
9
+ }
10
+ });
11
+ const _bsonobjectid = /*#__PURE__*/ _interop_require_default(require("bson-objectid"));
12
+ const _types = require("payload/types");
13
+ const _utilities = require("payload/utilities");
14
+ const _iterateFields = require("./iterateFields");
15
+ function _interop_require_default(obj) {
16
+ return obj && obj.__esModule ? obj : {
17
+ default: obj
18
+ };
19
+ }
20
+ const addFieldStatePromise = async (args)=>{
21
+ const { id, anyParentLocalized = false, data, errorPaths: parentErrorPaths, field, filter, forceFullValue = false, fullData, includeSchema = false, omitParents = false, operation, passesCondition, path, preferences, req, skipConditionChecks = false, skipValidation = false, state } = args;
22
+ if ((0, _types.fieldAffectsData)(field)) {
23
+ const validate = operation === 'update' ? field.validate : undefined;
24
+ const fieldState = {
25
+ errorPaths: new Set(),
26
+ fieldSchema: includeSchema ? field : undefined,
27
+ initialValue: undefined,
28
+ passesCondition,
29
+ valid: true,
30
+ value: undefined
31
+ };
32
+ const valueWithDefault = await (0, _utilities.getDefaultValue)({
33
+ defaultValue: field.defaultValue,
34
+ locale: req.locale,
35
+ user: req.user,
36
+ value: data?.[field.name]
37
+ });
38
+ if (data?.[field.name]) {
39
+ data[field.name] = valueWithDefault;
40
+ }
41
+ let validationResult = true;
42
+ if (typeof validate === 'function' && !skipValidation) {
43
+ validationResult = await validate(data?.[field.name], {
44
+ ...field,
45
+ id,
46
+ data: fullData,
47
+ operation,
48
+ req,
49
+ siblingData: data
50
+ });
51
+ }
52
+ if (typeof validationResult === 'string') {
53
+ fieldState.errorMessage = validationResult;
54
+ fieldState.valid = false;
55
+ // TODO: this is unpredictable, need to figure out why
56
+ // It will sometimes lead to inconsistencies across re-renders
57
+ parentErrorPaths.add(`${path}${field.name}`);
58
+ } else {
59
+ fieldState.valid = true;
60
+ }
61
+ switch(field.type){
62
+ case 'array':
63
+ {
64
+ const arrayValue = Array.isArray(valueWithDefault) ? valueWithDefault : [];
65
+ const { promises, rowMetadata } = arrayValue.reduce((acc, row, i)=>{
66
+ const rowPath = `${path}${field.name}.${i}.`;
67
+ row.id = row?.id || new _bsonobjectid.default().toHexString();
68
+ if (!omitParents && (!filter || filter(args))) {
69
+ state[`${rowPath}id`] = {
70
+ fieldSchema: includeSchema ? field.fields.find((field)=>'name' in field && field.name === 'id') : undefined,
71
+ initialValue: row.id,
72
+ valid: true,
73
+ value: row.id
74
+ };
75
+ }
76
+ acc.promises.push((0, _iterateFields.iterateFields)({
77
+ id,
78
+ anyParentLocalized: field.localized || anyParentLocalized,
79
+ data: row,
80
+ errorPaths: fieldState.errorPaths,
81
+ fields: field.fields,
82
+ filter,
83
+ forceFullValue,
84
+ fullData,
85
+ includeSchema,
86
+ omitParents,
87
+ operation,
88
+ parentPassesCondition: passesCondition,
89
+ path: rowPath,
90
+ preferences,
91
+ req,
92
+ skipConditionChecks,
93
+ skipValidation,
94
+ state
95
+ }));
96
+ const collapsedRowIDs = preferences?.fields?.[`${path}${field.name}`]?.collapsed;
97
+ acc.rowMetadata.push({
98
+ id: row.id,
99
+ collapsed: collapsedRowIDs === undefined ? field.admin.initCollapsed : collapsedRowIDs.includes(row.id),
100
+ errorPaths: fieldState.errorPaths
101
+ });
102
+ return acc;
103
+ }, {
104
+ promises: [],
105
+ rowMetadata: []
106
+ });
107
+ await Promise.all(promises);
108
+ // Add values to field state
109
+ if (valueWithDefault === null) {
110
+ fieldState.value = null;
111
+ fieldState.initialValue = null;
112
+ } else {
113
+ fieldState.value = forceFullValue ? arrayValue : arrayValue.length;
114
+ fieldState.initialValue = forceFullValue ? arrayValue : arrayValue.length;
115
+ if (arrayValue.length > 0) {
116
+ fieldState.disableFormData = true;
117
+ }
118
+ }
119
+ fieldState.rows = rowMetadata;
120
+ // Add field to state
121
+ if (!omitParents && (!filter || filter(args))) {
122
+ state[`${path}${field.name}`] = fieldState;
123
+ }
124
+ break;
125
+ }
126
+ case 'blocks':
127
+ {
128
+ const blocksValue = Array.isArray(valueWithDefault) ? valueWithDefault : [];
129
+ const { promises, rowMetadata } = blocksValue.reduce((acc, row, i)=>{
130
+ const block = field.blocks.find((blockType)=>blockType.slug === row.blockType);
131
+ const rowPath = `${path}${field.name}.${i}.`;
132
+ if (block) {
133
+ row.id = row?.id || new _bsonobjectid.default().toHexString();
134
+ if (!omitParents && (!filter || filter(args))) {
135
+ state[`${rowPath}id`] = {
136
+ fieldSchema: includeSchema ? block.fields.find((blockField)=>'name' in blockField && blockField.name === 'id') : undefined,
137
+ initialValue: row.id,
138
+ valid: true,
139
+ value: row.id
140
+ };
141
+ state[`${rowPath}blockType`] = {
142
+ fieldSchema: includeSchema ? block.fields.find((blockField)=>'name' in blockField && blockField.name === 'blockType') : undefined,
143
+ initialValue: row.blockType,
144
+ valid: true,
145
+ value: row.blockType
146
+ };
147
+ state[`${rowPath}blockName`] = {
148
+ fieldSchema: includeSchema ? block.fields.find((blockField)=>'name' in blockField && blockField.name === 'blockName') : undefined,
149
+ initialValue: row.blockName,
150
+ valid: true,
151
+ value: row.blockName
152
+ };
153
+ }
154
+ acc.promises.push((0, _iterateFields.iterateFields)({
155
+ id,
156
+ anyParentLocalized: field.localized || anyParentLocalized,
157
+ data: row,
158
+ errorPaths: fieldState.errorPaths,
159
+ fields: block.fields,
160
+ filter,
161
+ forceFullValue,
162
+ fullData,
163
+ includeSchema,
164
+ omitParents,
165
+ operation,
166
+ parentPassesCondition: passesCondition,
167
+ path: rowPath,
168
+ preferences,
169
+ req,
170
+ skipConditionChecks,
171
+ skipValidation,
172
+ state
173
+ }));
174
+ const collapsedRowIDs = preferences?.fields?.[`${path}${field.name}`]?.collapsed;
175
+ acc.rowMetadata.push({
176
+ id: row.id,
177
+ blockType: row.blockType,
178
+ collapsed: collapsedRowIDs === undefined ? field.admin.initCollapsed : collapsedRowIDs.includes(row.id),
179
+ errorPaths: fieldState.errorPaths
180
+ });
181
+ }
182
+ return acc;
183
+ }, {
184
+ promises: [],
185
+ rowMetadata: []
186
+ });
187
+ await Promise.all(promises);
188
+ // Add values to field state
189
+ if (valueWithDefault === null) {
190
+ fieldState.value = null;
191
+ fieldState.initialValue = null;
192
+ } else {
193
+ fieldState.value = forceFullValue ? blocksValue : blocksValue.length;
194
+ fieldState.initialValue = forceFullValue ? blocksValue : blocksValue.length;
195
+ if (blocksValue.length > 0) {
196
+ fieldState.disableFormData = true;
197
+ }
198
+ }
199
+ fieldState.rows = rowMetadata;
200
+ // Add field to state
201
+ if (!omitParents && (!filter || filter(args))) {
202
+ state[`${path}${field.name}`] = fieldState;
203
+ }
204
+ break;
205
+ }
206
+ case 'group':
207
+ {
208
+ await (0, _iterateFields.iterateFields)({
209
+ id,
210
+ anyParentLocalized: field.localized || anyParentLocalized,
211
+ data: data?.[field.name] || {},
212
+ errorPaths: parentErrorPaths,
213
+ fields: field.fields,
214
+ filter,
215
+ forceFullValue,
216
+ fullData,
217
+ includeSchema,
218
+ omitParents,
219
+ operation,
220
+ parentPassesCondition: passesCondition,
221
+ path: `${path}${field.name}.`,
222
+ preferences,
223
+ req,
224
+ skipConditionChecks,
225
+ skipValidation,
226
+ state
227
+ });
228
+ break;
229
+ }
230
+ case 'relationship':
231
+ {
232
+ if (field.hasMany) {
233
+ const relationshipValue = Array.isArray(valueWithDefault) ? valueWithDefault.map((relationship)=>{
234
+ if (Array.isArray(field.relationTo)) {
235
+ return {
236
+ relationTo: relationship.relationTo,
237
+ value: relationship.value && typeof relationship.value === 'object' ? relationship.value?.id : relationship.value
238
+ };
239
+ }
240
+ if (typeof relationship === 'object' && relationship !== null) {
241
+ return relationship.id;
242
+ }
243
+ return relationship;
244
+ }) : undefined;
245
+ fieldState.value = relationshipValue;
246
+ fieldState.initialValue = relationshipValue;
247
+ } else if (Array.isArray(field.relationTo)) {
248
+ if (valueWithDefault && typeof valueWithDefault === 'object' && 'relationTo' in valueWithDefault && 'value' in valueWithDefault) {
249
+ const value = typeof valueWithDefault?.value === 'object' && valueWithDefault?.value && 'id' in valueWithDefault.value ? valueWithDefault.value.id : valueWithDefault.value;
250
+ const relationshipValue = {
251
+ relationTo: valueWithDefault?.relationTo,
252
+ value
253
+ };
254
+ fieldState.value = relationshipValue;
255
+ fieldState.initialValue = relationshipValue;
256
+ }
257
+ } else {
258
+ const relationshipValue = valueWithDefault && typeof valueWithDefault === 'object' && 'id' in valueWithDefault ? valueWithDefault.id : valueWithDefault;
259
+ fieldState.value = relationshipValue;
260
+ fieldState.initialValue = relationshipValue;
261
+ }
262
+ if (!filter || filter(args)) {
263
+ state[`${path}${field.name}`] = fieldState;
264
+ }
265
+ break;
266
+ }
267
+ case 'upload':
268
+ {
269
+ const relationshipValue = valueWithDefault && typeof valueWithDefault === 'object' && 'id' in valueWithDefault ? valueWithDefault.id : valueWithDefault;
270
+ fieldState.value = relationshipValue;
271
+ fieldState.initialValue = relationshipValue;
272
+ if (!filter || filter(args)) {
273
+ state[`${path}${field.name}`] = fieldState;
274
+ }
275
+ break;
276
+ }
277
+ default:
278
+ {
279
+ fieldState.value = valueWithDefault;
280
+ fieldState.initialValue = valueWithDefault;
281
+ // Add field to state
282
+ if (!filter || filter(args)) {
283
+ state[`${path}${field.name}`] = fieldState;
284
+ }
285
+ break;
286
+ }
287
+ }
288
+ } else if ((0, _types.fieldHasSubFields)(field)) {
289
+ // Handle field types that do not use names (row, etc)
290
+ await (0, _iterateFields.iterateFields)({
291
+ id,
292
+ anyParentLocalized: field.localized || anyParentLocalized,
293
+ data,
294
+ errorPaths: parentErrorPaths,
295
+ fields: field.fields,
296
+ filter,
297
+ forceFullValue,
298
+ fullData,
299
+ includeSchema,
300
+ omitParents,
301
+ operation,
302
+ parentPassesCondition: passesCondition,
303
+ path,
304
+ preferences,
305
+ req,
306
+ skipConditionChecks,
307
+ skipValidation,
308
+ state
309
+ });
310
+ } else if (field.type === 'tabs') {
311
+ const promises = field.tabs.map((tab)=>(0, _iterateFields.iterateFields)({
312
+ id,
313
+ anyParentLocalized: tab.localized || anyParentLocalized,
314
+ data: (0, _types.tabHasName)(tab) ? data?.[tab.name] : data,
315
+ errorPaths: parentErrorPaths,
316
+ fields: tab.fields,
317
+ filter,
318
+ forceFullValue,
319
+ fullData,
320
+ includeSchema,
321
+ omitParents,
322
+ operation,
323
+ parentPassesCondition: passesCondition,
324
+ path: (0, _types.tabHasName)(tab) ? `${path}${tab.name}.` : path,
325
+ preferences,
326
+ req,
327
+ skipConditionChecks,
328
+ skipValidation,
329
+ state
330
+ }));
331
+ await Promise.all(promises);
332
+ }
333
+ };
334
+
335
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mb3Jtcy91dGlsaXRpZXMvYnVpbGRTdGF0ZUZyb21TY2hlbWEvYWRkRmllbGRTdGF0ZVByb21pc2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgRGF0YSwgTm9uUHJlc2VudGF0aW9uYWxGaWVsZCwgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgT2JqZWN0SWQgZnJvbSAnYnNvbi1vYmplY3RpZCdcbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEsIGZpZWxkSGFzU3ViRmllbGRzLCB0YWJIYXNOYW1lIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB7IGdldERlZmF1bHRWYWx1ZSB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuXG5pbXBvcnQgdHlwZSB7IEZvcm1GaWVsZCwgRm9ybVN0YXRlIH0gZnJvbSAnLi4vLi4vRm9ybS90eXBlcydcblxuaW1wb3J0IHsgaXRlcmF0ZUZpZWxkcyB9IGZyb20gJy4vaXRlcmF0ZUZpZWxkcydcblxuZXhwb3J0IHR5cGUgQWRkRmllbGRTdGF0ZVByb21pc2VBcmdzID0ge1xuICAvKipcbiAgICogaWYgYWxsIHBhcmVudHMgYXJlIGxvY2FsaXplZCwgdGhlbiB0aGUgZmllbGQgaXMgbG9jYWxpemVkXG4gICAqL1xuICBhbnlQYXJlbnRMb2NhbGl6ZWQ/OiBib29sZWFuXG4gIGRhdGE6IERhdGFcbiAgZXJyb3JQYXRoczogU2V0PHN0cmluZz5cbiAgZmllbGQ6IE5vblByZXNlbnRhdGlvbmFsRmllbGRcbiAgLyoqXG4gICAqIFlvdSBjYW4gdXNlIHRoaXMgdG8gZmlsdGVyIGRvd24gdG8gb25seSBgbG9jYWxpemVkYCBmaWVsZHMgdGhhdCByZXF1aXJlIHRyYW5zbGF0aW9uICh0eXBlOiB0ZXh0LCB0ZXh0YXJlYSwgZXRjLikuIEFub3RoZXIgcGx1Z2luIG1pZ2h0IHdhbnQgdG8gbG9vayBmb3Igb25seSBgcG9pbnRgIHR5cGUgZmllbGRzIHRvIGRvIHNvbWUgR0lTIGZ1bmN0aW9uLiBXaXRoIHRoZSBmaWx0ZXIgZnVuY3Rpb24geW91IGNhbiBnbyBpbiBsaWtlIGEgc3VyZ2Vvbi5cbiAgICovXG4gIGZpbHRlcj86IChhcmdzOiBBZGRGaWVsZFN0YXRlUHJvbWlzZUFyZ3MpID0+IGJvb2xlYW5cbiAgLyoqXG4gICAqIEZvcmNlIHRoZSB2YWx1ZSBvZiBmaWVsZHMgbGlrZSBhcnJheXMgb3IgYmxvY2tzIHRvIGJlIHRoZSBmdWxsIHZhbHVlIGluc3RlYWQgb2YgdGhlIGxlbmd0aCBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgZm9yY2VGdWxsVmFsdWU/OiBib29sZWFuXG4gIGZ1bGxEYXRhOiBEYXRhXG4gIGlkOiBudW1iZXIgfCBzdHJpbmdcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGZpZWxkIHNjaGVtYSBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHN0YXRlXG4gICAqL1xuICBpbmNsdWRlU2NoZW1hPzogYm9vbGVhblxuICAvKipcbiAgICogV2hldGhlciB0byBvbWl0IHBhcmVudCBmaWVsZHMgaW4gdGhlIHN0YXRlLiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgb21pdFBhcmVudHM/OiBib29sZWFuXG4gIG9wZXJhdGlvbjogJ2NyZWF0ZScgfCAndXBkYXRlJ1xuICBwYXNzZXNDb25kaXRpb246IGJvb2xlYW5cbiAgcGF0aDogc3RyaW5nXG4gIHByZWZlcmVuY2VzOiB7XG4gICAgW2tleTogc3RyaW5nXTogdW5rbm93blxuICB9XG4gIC8qKlxuICAgKiBSZXEgaXMgdXNlZCBmb3IgdmFsaWRhdGlvbiBhbmQgZGVmYXVsdFZhbHVlIGNhbGN1bGF0aW9uLiBJZiB5b3UgZG9uJ3QgbmVlZCB2YWxpZGF0aW9uLFxuICAgKiBqdXN0IGNyZWF0ZSB5b3VyIG93biByZXEgYW5kIHBhc3MgaW4gdGhlIGxvY2FsZSBhbmQgdGhlIHVzZXJcbiAgICovXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gc2tpcCBjaGVja2luZyB0aGUgZmllbGQncyBjb25kaXRpb24uIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBza2lwQ29uZGl0aW9uQ2hlY2tzPzogYm9vbGVhblxuICAvKipcbiAgICogV2hldGhlciB0byBza2lwIHZhbGlkYXRpbmcgdGhlIGZpZWxkLiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc2tpcFZhbGlkYXRpb24/OiBib29sZWFuXG4gIHN0YXRlOiBGb3JtU3RhdGVcbn1cblxuLyoqXG4gKiBGbGF0dGVucyB0aGUgZmllbGRzIHNjaGVtYSBhbmQgZmllbGRzIGRhdGEuXG4gKiBUaGUgb3V0cHV0IGlzIHRoZSBmaWVsZCBwYXRoIChlLmcuIGFycmF5LjAubmFtZSkgbWFwcGVkIHRvIGEgRm9ybUZpZWxkIG9iamVjdC5cbiAqL1xuZXhwb3J0IGNvbnN0IGFkZEZpZWxkU3RhdGVQcm9taXNlID0gYXN5bmMgKGFyZ3M6IEFkZEZpZWxkU3RhdGVQcm9taXNlQXJncyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCB7XG4gICAgaWQsXG4gICAgYW55UGFyZW50TG9jYWxpemVkID0gZmFsc2UsXG4gICAgZGF0YSxcbiAgICBlcnJvclBhdGhzOiBwYXJlbnRFcnJvclBhdGhzLFxuICAgIGZpZWxkLFxuICAgIGZpbHRlcixcbiAgICBmb3JjZUZ1bGxWYWx1ZSA9IGZhbHNlLFxuICAgIGZ1bGxEYXRhLFxuICAgIGluY2x1ZGVTY2hlbWEgPSBmYWxzZSxcbiAgICBvbWl0UGFyZW50cyA9IGZhbHNlLFxuICAgIG9wZXJhdGlvbixcbiAgICBwYXNzZXNDb25kaXRpb24sXG4gICAgcGF0aCxcbiAgICBwcmVmZXJlbmNlcyxcbiAgICByZXEsXG4gICAgc2tpcENvbmRpdGlvbkNoZWNrcyA9IGZhbHNlLFxuICAgIHNraXBWYWxpZGF0aW9uID0gZmFsc2UsXG4gICAgc3RhdGUsXG4gIH0gPSBhcmdzXG5cbiAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgY29uc3QgdmFsaWRhdGUgPSBvcGVyYXRpb24gPT09ICd1cGRhdGUnID8gZmllbGQudmFsaWRhdGUgOiB1bmRlZmluZWRcbiAgICBjb25zdCBmaWVsZFN0YXRlOiBGb3JtRmllbGQgPSB7XG4gICAgICBlcnJvclBhdGhzOiBuZXcgU2V0KCksXG4gICAgICBmaWVsZFNjaGVtYTogaW5jbHVkZVNjaGVtYSA/IGZpZWxkIDogdW5kZWZpbmVkLFxuICAgICAgaW5pdGlhbFZhbHVlOiB1bmRlZmluZWQsXG4gICAgICBwYXNzZXNDb25kaXRpb24sXG4gICAgICB2YWxpZDogdHJ1ZSxcbiAgICAgIHZhbHVlOiB1bmRlZmluZWQsXG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWVXaXRoRGVmYXVsdCA9IGF3YWl0IGdldERlZmF1bHRWYWx1ZSh7XG4gICAgICBkZWZhdWx0VmFsdWU6IGZpZWxkLmRlZmF1bHRWYWx1ZSxcbiAgICAgIGxvY2FsZTogcmVxLmxvY2FsZSxcbiAgICAgIHVzZXI6IHJlcS51c2VyLFxuICAgICAgdmFsdWU6IGRhdGE/LltmaWVsZC5uYW1lXSxcbiAgICB9KVxuXG4gICAgaWYgKGRhdGE/LltmaWVsZC5uYW1lXSkge1xuICAgICAgZGF0YVtmaWVsZC5uYW1lXSA9IHZhbHVlV2l0aERlZmF1bHRcbiAgICB9XG5cbiAgICBsZXQgdmFsaWRhdGlvblJlc3VsdDogc3RyaW5nIHwgdHJ1ZSA9IHRydWVcblxuICAgIGlmICh0eXBlb2YgdmFsaWRhdGUgPT09ICdmdW5jdGlvbicgJiYgIXNraXBWYWxpZGF0aW9uKSB7XG4gICAgICB2YWxpZGF0aW9uUmVzdWx0ID0gYXdhaXQgdmFsaWRhdGUoZGF0YT8uW2ZpZWxkLm5hbWVdLCB7XG4gICAgICAgIC4uLmZpZWxkLFxuICAgICAgICBpZCxcbiAgICAgICAgZGF0YTogZnVsbERhdGEsXG4gICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgcmVxLFxuICAgICAgICBzaWJsaW5nRGF0YTogZGF0YSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWxpZGF0aW9uUmVzdWx0ID09PSAnc3RyaW5nJykge1xuICAgICAgZmllbGRTdGF0ZS5lcnJvck1lc3NhZ2UgPSB2YWxpZGF0aW9uUmVzdWx0XG4gICAgICBmaWVsZFN0YXRlLnZhbGlkID0gZmFsc2VcbiAgICAgIC8vIFRPRE86IHRoaXMgaXMgdW5wcmVkaWN0YWJsZSwgbmVlZCB0byBmaWd1cmUgb3V0IHdoeVxuICAgICAgLy8gSXQgd2lsbCBzb21ldGltZXMgbGVhZCB0byBpbmNvbnNpc3RlbmNpZXMgYWNyb3NzIHJlLXJlbmRlcnNcbiAgICAgIHBhcmVudEVycm9yUGF0aHMuYWRkKGAke3BhdGh9JHtmaWVsZC5uYW1lfWApXG4gICAgfSBlbHNlIHtcbiAgICAgIGZpZWxkU3RhdGUudmFsaWQgPSB0cnVlXG4gICAgfVxuXG4gICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICBjYXNlICdhcnJheSc6IHtcbiAgICAgICAgY29uc3QgYXJyYXlWYWx1ZSA9IEFycmF5LmlzQXJyYXkodmFsdWVXaXRoRGVmYXVsdCkgPyB2YWx1ZVdpdGhEZWZhdWx0IDogW11cblxuICAgICAgICBjb25zdCB7IHByb21pc2VzLCByb3dNZXRhZGF0YSB9ID0gYXJyYXlWYWx1ZS5yZWR1Y2UoXG4gICAgICAgICAgKGFjYywgcm93LCBpKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByb3dQYXRoID0gYCR7cGF0aH0ke2ZpZWxkLm5hbWV9LiR7aX0uYFxuICAgICAgICAgICAgcm93LmlkID0gcm93Py5pZCB8fCBuZXcgT2JqZWN0SWQoKS50b0hleFN0cmluZygpXG5cbiAgICAgICAgICAgIGlmICghb21pdFBhcmVudHMgJiYgKCFmaWx0ZXIgfHwgZmlsdGVyKGFyZ3MpKSkge1xuICAgICAgICAgICAgICBzdGF0ZVtgJHtyb3dQYXRofWlkYF0gPSB7XG4gICAgICAgICAgICAgICAgZmllbGRTY2hlbWE6IGluY2x1ZGVTY2hlbWFcbiAgICAgICAgICAgICAgICAgID8gZmllbGQuZmllbGRzLmZpbmQoKGZpZWxkKSA9PiAnbmFtZScgaW4gZmllbGQgJiYgZmllbGQubmFtZSA9PT0gJ2lkJylcbiAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIGluaXRpYWxWYWx1ZTogcm93LmlkLFxuICAgICAgICAgICAgICAgIHZhbGlkOiB0cnVlLFxuICAgICAgICAgICAgICAgIHZhbHVlOiByb3cuaWQsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYWNjLnByb21pc2VzLnB1c2goXG4gICAgICAgICAgICAgIGl0ZXJhdGVGaWVsZHMoe1xuICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgIGFueVBhcmVudExvY2FsaXplZDogZmllbGQubG9jYWxpemVkIHx8IGFueVBhcmVudExvY2FsaXplZCxcbiAgICAgICAgICAgICAgICBkYXRhOiByb3csXG4gICAgICAgICAgICAgICAgZXJyb3JQYXRoczogZmllbGRTdGF0ZS5lcnJvclBhdGhzLFxuICAgICAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICAgIGZpbHRlcixcbiAgICAgICAgICAgICAgICBmb3JjZUZ1bGxWYWx1ZSxcbiAgICAgICAgICAgICAgICBmdWxsRGF0YSxcbiAgICAgICAgICAgICAgICBpbmNsdWRlU2NoZW1hLFxuICAgICAgICAgICAgICAgIG9taXRQYXJlbnRzLFxuICAgICAgICAgICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgICAgICAgICBwYXJlbnRQYXNzZXNDb25kaXRpb246IHBhc3Nlc0NvbmRpdGlvbixcbiAgICAgICAgICAgICAgICBwYXRoOiByb3dQYXRoLFxuICAgICAgICAgICAgICAgIHByZWZlcmVuY2VzLFxuICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgICBza2lwQ29uZGl0aW9uQ2hlY2tzLFxuICAgICAgICAgICAgICAgIHNraXBWYWxpZGF0aW9uLFxuICAgICAgICAgICAgICAgIHN0YXRlLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIClcblxuICAgICAgICAgICAgY29uc3QgY29sbGFwc2VkUm93SURzID0gcHJlZmVyZW5jZXM/LmZpZWxkcz8uW2Ake3BhdGh9JHtmaWVsZC5uYW1lfWBdPy5jb2xsYXBzZWRcblxuICAgICAgICAgICAgYWNjLnJvd01ldGFkYXRhLnB1c2goe1xuICAgICAgICAgICAgICBpZDogcm93LmlkLFxuICAgICAgICAgICAgICBjb2xsYXBzZWQ6XG4gICAgICAgICAgICAgICAgY29sbGFwc2VkUm93SURzID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgID8gZmllbGQuYWRtaW4uaW5pdENvbGxhcHNlZFxuICAgICAgICAgICAgICAgICAgOiBjb2xsYXBzZWRSb3dJRHMuaW5jbHVkZXMocm93LmlkKSxcbiAgICAgICAgICAgICAgZXJyb3JQYXRoczogZmllbGRTdGF0ZS5lcnJvclBhdGhzLFxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgcmV0dXJuIGFjY1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgcHJvbWlzZXM6IFtdLFxuICAgICAgICAgICAgcm93TWV0YWRhdGE6IFtdLFxuICAgICAgICAgIH0sXG4gICAgICAgIClcblxuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcylcblxuICAgICAgICAvLyBBZGQgdmFsdWVzIHRvIGZpZWxkIHN0YXRlXG4gICAgICAgIGlmICh2YWx1ZVdpdGhEZWZhdWx0ID09PSBudWxsKSB7XG4gICAgICAgICAgZmllbGRTdGF0ZS52YWx1ZSA9IG51bGxcbiAgICAgICAgICBmaWVsZFN0YXRlLmluaXRpYWxWYWx1ZSA9IG51bGxcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBmaWVsZFN0YXRlLnZhbHVlID0gZm9yY2VGdWxsVmFsdWUgPyBhcnJheVZhbHVlIDogYXJyYXlWYWx1ZS5sZW5ndGhcbiAgICAgICAgICBmaWVsZFN0YXRlLmluaXRpYWxWYWx1ZSA9IGZvcmNlRnVsbFZhbHVlID8gYXJyYXlWYWx1ZSA6IGFycmF5VmFsdWUubGVuZ3RoXG5cbiAgICAgICAgICBpZiAoYXJyYXlWYWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBmaWVsZFN0YXRlLmRpc2FibGVGb3JtRGF0YSA9IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBmaWVsZFN0YXRlLnJvd3MgPSByb3dNZXRhZGF0YVxuXG4gICAgICAgIC8vIEFkZCBmaWVsZCB0byBzdGF0ZVxuICAgICAgICBpZiAoIW9taXRQYXJlbnRzICYmICghZmlsdGVyIHx8IGZpbHRlcihhcmdzKSkpIHtcbiAgICAgICAgICBzdGF0ZVtgJHtwYXRofSR7ZmllbGQubmFtZX1gXSA9IGZpZWxkU3RhdGVcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ2Jsb2Nrcyc6IHtcbiAgICAgICAgY29uc3QgYmxvY2tzVmFsdWUgPSBBcnJheS5pc0FycmF5KHZhbHVlV2l0aERlZmF1bHQpID8gdmFsdWVXaXRoRGVmYXVsdCA6IFtdXG5cbiAgICAgICAgY29uc3QgeyBwcm9taXNlcywgcm93TWV0YWRhdGEgfSA9IGJsb2Nrc1ZhbHVlLnJlZHVjZShcbiAgICAgICAgICAoYWNjLCByb3csIGkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGJsb2NrID0gZmllbGQuYmxvY2tzLmZpbmQoKGJsb2NrVHlwZSkgPT4gYmxvY2tUeXBlLnNsdWcgPT09IHJvdy5ibG9ja1R5cGUpXG4gICAgICAgICAgICBjb25zdCByb3dQYXRoID0gYCR7cGF0aH0ke2ZpZWxkLm5hbWV9LiR7aX0uYFxuXG4gICAgICAgICAgICBpZiAoYmxvY2spIHtcbiAgICAgICAgICAgICAgcm93LmlkID0gcm93Py5pZCB8fCBuZXcgT2JqZWN0SWQoKS50b0hleFN0cmluZygpXG5cbiAgICAgICAgICAgICAgaWYgKCFvbWl0UGFyZW50cyAmJiAoIWZpbHRlciB8fCBmaWx0ZXIoYXJncykpKSB7XG4gICAgICAgICAgICAgICAgc3RhdGVbYCR7cm93UGF0aH1pZGBdID0ge1xuICAgICAgICAgICAgICAgICAgZmllbGRTY2hlbWE6IGluY2x1ZGVTY2hlbWFcbiAgICAgICAgICAgICAgICAgICAgPyBibG9jay5maWVsZHMuZmluZChcbiAgICAgICAgICAgICAgICAgICAgICAgIChibG9ja0ZpZWxkKSA9PiAnbmFtZScgaW4gYmxvY2tGaWVsZCAmJiBibG9ja0ZpZWxkLm5hbWUgPT09ICdpZCcsXG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIGluaXRpYWxWYWx1ZTogcm93LmlkLFxuICAgICAgICAgICAgICAgICAgdmFsaWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogcm93LmlkLFxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHN0YXRlW2Ake3Jvd1BhdGh9YmxvY2tUeXBlYF0gPSB7XG4gICAgICAgICAgICAgICAgICBmaWVsZFNjaGVtYTogaW5jbHVkZVNjaGVtYVxuICAgICAgICAgICAgICAgICAgICA/IGJsb2NrLmZpZWxkcy5maW5kKFxuICAgICAgICAgICAgICAgICAgICAgICAgKGJsb2NrRmllbGQpID0+ICduYW1lJyBpbiBibG9ja0ZpZWxkICYmIGJsb2NrRmllbGQubmFtZSA9PT0gJ2Jsb2NrVHlwZScsXG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIGluaXRpYWxWYWx1ZTogcm93LmJsb2NrVHlwZSxcbiAgICAgICAgICAgICAgICAgIHZhbGlkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgdmFsdWU6IHJvdy5ibG9ja1R5cGUsXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3RhdGVbYCR7cm93UGF0aH1ibG9ja05hbWVgXSA9IHtcbiAgICAgICAgICAgICAgICAgIGZpZWxkU2NoZW1hOiBpbmNsdWRlU2NoZW1hXG4gICAgICAgICAgICAgICAgICAgID8gYmxvY2suZmllbGRzLmZpbmQoXG4gICAgICAgICAgICAgICAgICAgICAgICAoYmxvY2tGaWVsZCkgPT4gJ25hbWUnIGluIGJsb2NrRmllbGQgJiYgYmxvY2tGaWVsZC5uYW1lID09PSAnYmxvY2tOYW1lJyxcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgaW5pdGlhbFZhbHVlOiByb3cuYmxvY2tOYW1lLFxuICAgICAgICAgICAgICAgICAgdmFsaWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogcm93LmJsb2NrTmFtZSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBhY2MucHJvbWlzZXMucHVzaChcbiAgICAgICAgICAgICAgICBpdGVyYXRlRmllbGRzKHtcbiAgICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgICAgYW55UGFyZW50TG9jYWxpemVkOiBmaWVsZC5sb2NhbGl6ZWQgfHwgYW55UGFyZW50TG9jYWxpemVkLFxuICAgICAgICAgICAgICAgICAgZGF0YTogcm93LFxuICAgICAgICAgICAgICAgICAgZXJyb3JQYXRoczogZmllbGRTdGF0ZS5lcnJvclBhdGhzLFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiBibG9jay5maWVsZHMsXG4gICAgICAgICAgICAgICAgICBmaWx0ZXIsXG4gICAgICAgICAgICAgICAgICBmb3JjZUZ1bGxWYWx1ZSxcbiAgICAgICAgICAgICAgICAgIGZ1bGxEYXRhLFxuICAgICAgICAgICAgICAgICAgaW5jbHVkZVNjaGVtYSxcbiAgICAgICAgICAgICAgICAgIG9taXRQYXJlbnRzLFxuICAgICAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICAgICAgcGFyZW50UGFzc2VzQ29uZGl0aW9uOiBwYXNzZXNDb25kaXRpb24sXG4gICAgICAgICAgICAgICAgICBwYXRoOiByb3dQYXRoLFxuICAgICAgICAgICAgICAgICAgcHJlZmVyZW5jZXMsXG4gICAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgICAgICBza2lwQ29uZGl0aW9uQ2hlY2tzLFxuICAgICAgICAgICAgICAgICAgc2tpcFZhbGlkYXRpb24sXG4gICAgICAgICAgICAgICAgICBzdGF0ZSxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgIGNvbnN0IGNvbGxhcHNlZFJvd0lEcyA9IHByZWZlcmVuY2VzPy5maWVsZHM/LltgJHtwYXRofSR7ZmllbGQubmFtZX1gXT8uY29sbGFwc2VkXG5cbiAgICAgICAgICAgICAgYWNjLnJvd01ldGFkYXRhLnB1c2goe1xuICAgICAgICAgICAgICAgIGlkOiByb3cuaWQsXG4gICAgICAgICAgICAgICAgYmxvY2tUeXBlOiByb3cuYmxvY2tUeXBlLFxuICAgICAgICAgICAgICAgIGNvbGxhcHNlZDpcbiAgICAgICAgICAgICAgICAgIGNvbGxhcHNlZFJvd0lEcyA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgID8gZmllbGQuYWRtaW4uaW5pdENvbGxhcHNlZFxuICAgICAgICAgICAgICAgICAgICA6IGNvbGxhcHNlZFJvd0lEcy5pbmNsdWRlcyhyb3cuaWQpLFxuICAgICAgICAgICAgICAgIGVycm9yUGF0aHM6IGZpZWxkU3RhdGUuZXJyb3JQYXRocyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGFjY1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgcHJvbWlzZXM6IFtdLFxuICAgICAgICAgICAgcm93TWV0YWRhdGE6IFtdLFxuICAgICAgICAgIH0sXG4gICAgICAgIClcblxuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcylcblxuICAgICAgICAvLyBBZGQgdmFsdWVzIHRvIGZpZWxkIHN0YXRlXG4gICAgICAgIGlmICh2YWx1ZVdpdGhEZWZhdWx0ID09PSBudWxsKSB7XG4gICAgICAgICAgZmllbGRTdGF0ZS52YWx1ZSA9IG51bGxcbiAgICAgICAgICBmaWVsZFN0YXRlLmluaXRpYWxWYWx1ZSA9IG51bGxcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBmaWVsZFN0YXRlLnZhbHVlID0gZm9yY2VGdWxsVmFsdWUgPyBibG9ja3NWYWx1ZSA6IGJsb2Nrc1ZhbHVlLmxlbmd0aFxuICAgICAgICAgIGZpZWxkU3RhdGUuaW5pdGlhbFZhbHVlID0gZm9yY2VGdWxsVmFsdWUgPyBibG9ja3NWYWx1ZSA6IGJsb2Nrc1ZhbHVlLmxlbmd0aFxuXG4gICAgICAgICAgaWYgKGJsb2Nrc1ZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGZpZWxkU3RhdGUuZGlzYWJsZUZvcm1EYXRhID0gdHJ1ZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZpZWxkU3RhdGUucm93cyA9IHJvd01ldGFkYXRhXG5cbiAgICAgICAgLy8gQWRkIGZpZWxkIHRvIHN0YXRlXG4gICAgICAgIGlmICghb21pdFBhcmVudHMgJiYgKCFmaWx0ZXIgfHwgZmlsdGVyKGFyZ3MpKSkge1xuICAgICAgICAgIHN0YXRlW2Ake3BhdGh9JHtmaWVsZC5uYW1lfWBdID0gZmllbGRTdGF0ZVxuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAnZ3JvdXAnOiB7XG4gICAgICAgIGF3YWl0IGl0ZXJhdGVGaWVsZHMoe1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIGFueVBhcmVudExvY2FsaXplZDogZmllbGQubG9jYWxpemVkIHx8IGFueVBhcmVudExvY2FsaXplZCxcbiAgICAgICAgICBkYXRhOiBkYXRhPy5bZmllbGQubmFtZV0gfHwge30sXG4gICAgICAgICAgZXJyb3JQYXRoczogcGFyZW50RXJyb3JQYXRocyxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBmaWx0ZXIsXG4gICAgICAgICAgZm9yY2VGdWxsVmFsdWUsXG4gICAgICAgICAgZnVsbERhdGEsXG4gICAgICAgICAgaW5jbHVkZVNjaGVtYSxcbiAgICAgICAgICBvbWl0UGFyZW50cyxcbiAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgcGFyZW50UGFzc2VzQ29uZGl0aW9uOiBwYXNzZXNDb25kaXRpb24sXG4gICAgICAgICAgcGF0aDogYCR7cGF0aH0ke2ZpZWxkLm5hbWV9LmAsXG4gICAgICAgICAgcHJlZmVyZW5jZXMsXG4gICAgICAgICAgcmVxLFxuICAgICAgICAgIHNraXBDb25kaXRpb25DaGVja3MsXG4gICAgICAgICAgc2tpcFZhbGlkYXRpb24sXG4gICAgICAgICAgc3RhdGUsXG4gICAgICAgIH0pXG5cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAncmVsYXRpb25zaGlwJzoge1xuICAgICAgICBpZiAoZmllbGQuaGFzTWFueSkge1xuICAgICAgICAgIGNvbnN0IHJlbGF0aW9uc2hpcFZhbHVlID0gQXJyYXkuaXNBcnJheSh2YWx1ZVdpdGhEZWZhdWx0KVxuICAgICAgICAgICAgPyB2YWx1ZVdpdGhEZWZhdWx0Lm1hcCgocmVsYXRpb25zaGlwKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGQucmVsYXRpb25UbykpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uVG86IHJlbGF0aW9uc2hpcC5yZWxhdGlvblRvLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTpcbiAgICAgICAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXAudmFsdWUgJiYgdHlwZW9mIHJlbGF0aW9uc2hpcC52YWx1ZSA9PT0gJ29iamVjdCdcbiAgICAgICAgICAgICAgICAgICAgICAgID8gcmVsYXRpb25zaGlwLnZhbHVlPy5pZFxuICAgICAgICAgICAgICAgICAgICAgICAgOiByZWxhdGlvbnNoaXAudmFsdWUsXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcmVsYXRpb25zaGlwID09PSAnb2JqZWN0JyAmJiByZWxhdGlvbnNoaXAgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiByZWxhdGlvbnNoaXAuaWRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlbGF0aW9uc2hpcFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgOiB1bmRlZmluZWRcblxuICAgICAgICAgIGZpZWxkU3RhdGUudmFsdWUgPSByZWxhdGlvbnNoaXBWYWx1ZVxuICAgICAgICAgIGZpZWxkU3RhdGUuaW5pdGlhbFZhbHVlID0gcmVsYXRpb25zaGlwVmFsdWVcbiAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGZpZWxkLnJlbGF0aW9uVG8pKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdmFsdWVXaXRoRGVmYXVsdCAmJlxuICAgICAgICAgICAgdHlwZW9mIHZhbHVlV2l0aERlZmF1bHQgPT09ICdvYmplY3QnICYmXG4gICAgICAgICAgICAncmVsYXRpb25UbycgaW4gdmFsdWVXaXRoRGVmYXVsdCAmJlxuICAgICAgICAgICAgJ3ZhbHVlJyBpbiB2YWx1ZVdpdGhEZWZhdWx0XG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9XG4gICAgICAgICAgICAgIHR5cGVvZiB2YWx1ZVdpdGhEZWZhdWx0Py52YWx1ZSA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAgICAgdmFsdWVXaXRoRGVmYXVsdD8udmFsdWUgJiZcbiAgICAgICAgICAgICAgJ2lkJyBpbiB2YWx1ZVdpdGhEZWZhdWx0LnZhbHVlXG4gICAgICAgICAgICAgICAgPyB2YWx1ZVdpdGhEZWZhdWx0LnZhbHVlLmlkXG4gICAgICAgICAgICAgICAgOiB2YWx1ZVdpdGhEZWZhdWx0LnZhbHVlXG4gICAgICAgICAgICBjb25zdCByZWxhdGlvbnNoaXBWYWx1ZSA9IHtcbiAgICAgICAgICAgICAgcmVsYXRpb25UbzogdmFsdWVXaXRoRGVmYXVsdD8ucmVsYXRpb25UbyxcbiAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWVsZFN0YXRlLnZhbHVlID0gcmVsYXRpb25zaGlwVmFsdWVcbiAgICAgICAgICAgIGZpZWxkU3RhdGUuaW5pdGlhbFZhbHVlID0gcmVsYXRpb25zaGlwVmFsdWVcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgcmVsYXRpb25zaGlwVmFsdWUgPVxuICAgICAgICAgICAgdmFsdWVXaXRoRGVmYXVsdCAmJiB0eXBlb2YgdmFsdWVXaXRoRGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgJ2lkJyBpbiB2YWx1ZVdpdGhEZWZhdWx0XG4gICAgICAgICAgICAgID8gdmFsdWVXaXRoRGVmYXVsdC5pZFxuICAgICAgICAgICAgICA6IHZhbHVlV2l0aERlZmF1bHRcbiAgICAgICAgICBmaWVsZFN0YXRlLnZhbHVlID0gcmVsYXRpb25zaGlwVmFsdWVcbiAgICAgICAgICBmaWVsZFN0YXRlLmluaXRpYWxWYWx1ZSA9IHJlbGF0aW9uc2hpcFZhbHVlXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWZpbHRlciB8fCBmaWx0ZXIoYXJncykpIHtcbiAgICAgICAgICBzdGF0ZVtgJHtwYXRofSR7ZmllbGQubmFtZX1gXSA9IGZpZWxkU3RhdGVcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3VwbG9hZCc6IHtcbiAgICAgICAgY29uc3QgcmVsYXRpb25zaGlwVmFsdWUgPVxuICAgICAgICAgIHZhbHVlV2l0aERlZmF1bHQgJiYgdHlwZW9mIHZhbHVlV2l0aERlZmF1bHQgPT09ICdvYmplY3QnICYmICdpZCcgaW4gdmFsdWVXaXRoRGVmYXVsdFxuICAgICAgICAgICAgPyB2YWx1ZVdpdGhEZWZhdWx0LmlkXG4gICAgICAgICAgICA6IHZhbHVlV2l0aERlZmF1bHRcbiAgICAgICAgZmllbGRTdGF0ZS52YWx1ZSA9IHJlbGF0aW9uc2hpcFZhbHVlXG4gICAgICAgIGZpZWxkU3RhdGUuaW5pdGlhbFZhbHVlID0gcmVsYXRpb25zaGlwVmFsdWVcblxuICAgICAgICBpZiAoIWZpbHRlciB8fCBmaWx0ZXIoYXJncykpIHtcbiAgICAgICAgICBzdGF0ZVtgJHtwYXRofSR7ZmllbGQubmFtZX1gXSA9IGZpZWxkU3RhdGVcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgZmllbGRTdGF0ZS52YWx1ZSA9IHZhbHVlV2l0aERlZmF1bHRcbiAgICAgICAgZmllbGRTdGF0ZS5pbml0aWFsVmFsdWUgPSB2YWx1ZVdpdGhEZWZhdWx0XG5cbiAgICAgICAgLy8gQWRkIGZpZWxkIHRvIHN0YXRlXG4gICAgICAgIGlmICghZmlsdGVyIHx8IGZpbHRlcihhcmdzKSkge1xuICAgICAgICAgIHN0YXRlW2Ake3BhdGh9JHtmaWVsZC5uYW1lfWBdID0gZmllbGRTdGF0ZVxuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSBpZiAoZmllbGRIYXNTdWJGaWVsZHMoZmllbGQpKSB7XG4gICAgLy8gSGFuZGxlIGZpZWxkIHR5cGVzIHRoYXQgZG8gbm90IHVzZSBuYW1lcyAocm93LCBldGMpXG4gICAgYXdhaXQgaXRlcmF0ZUZpZWxkcyh7XG4gICAgICBpZCxcbiAgICAgIGFueVBhcmVudExvY2FsaXplZDogZmllbGQubG9jYWxpemVkIHx8IGFueVBhcmVudExvY2FsaXplZCxcbiAgICAgIGRhdGEsXG4gICAgICBlcnJvclBhdGhzOiBwYXJlbnRFcnJvclBhdGhzLFxuICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICBmaWx0ZXIsXG4gICAgICBmb3JjZUZ1bGxWYWx1ZSxcbiAgICAgIGZ1bGxEYXRhLFxuICAgICAgaW5jbHVkZVNjaGVtYSxcbiAgICAgIG9taXRQYXJlbnRzLFxuICAgICAgb3BlcmF0aW9uLFxuICAgICAgcGFyZW50UGFzc2VzQ29uZGl0aW9uOiBwYXNzZXNDb25kaXRpb24sXG4gICAgICBwYXRoLFxuICAgICAgcHJlZmVyZW5jZXMsXG4gICAgICByZXEsXG4gICAgICBza2lwQ29uZGl0aW9uQ2hlY2tzLFxuICAgICAgc2tpcFZhbGlkYXRpb24sXG4gICAgICBzdGF0ZSxcbiAgICB9KVxuICB9IGVsc2UgaWYgKGZpZWxkLnR5cGUgPT09ICd0YWJzJykge1xuICAgIGNvbnN0IHByb21pc2VzID0gZmllbGQudGFicy5tYXAoKHRhYikgPT5cbiAgICAgIGl0ZXJhdGVGaWVsZHMoe1xuICAgICAgICBpZCxcbiAgICAgICAgYW55UGFyZW50TG9jYWxpemVkOiB0YWIubG9jYWxpemVkIHx8IGFueVBhcmVudExvY2FsaXplZCxcbiAgICAgICAgZGF0YTogdGFiSGFzTmFtZSh0YWIpID8gZGF0YT8uW3RhYi5uYW1lXSA6IGRhdGEsXG4gICAgICAgIGVycm9yUGF0aHM6IHBhcmVudEVycm9yUGF0aHMsXG4gICAgICAgIGZpZWxkczogdGFiLmZpZWxkcyxcbiAgICAgICAgZmlsdGVyLFxuICAgICAgICBmb3JjZUZ1bGxWYWx1ZSxcbiAgICAgICAgZnVsbERhdGEsXG4gICAgICAgIGluY2x1ZGVTY2hlbWEsXG4gICAgICAgIG9taXRQYXJlbnRzLFxuICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgIHBhcmVudFBhc3Nlc0NvbmRpdGlvbjogcGFzc2VzQ29uZGl0aW9uLFxuICAgICAgICBwYXRoOiB0YWJIYXNOYW1lKHRhYikgPyBgJHtwYXRofSR7dGFiLm5hbWV9LmAgOiBwYXRoLFxuICAgICAgICBwcmVmZXJlbmNlcyxcbiAgICAgICAgcmVxLFxuICAgICAgICBza2lwQ29uZGl0aW9uQ2hlY2tzLFxuICAgICAgICBza2lwVmFsaWRhdGlvbixcbiAgICAgICAgc3RhdGUsXG4gICAgICB9KSxcbiAgICApXG5cbiAgICBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcylcbiAgfVxufVxuIl0sIm5hbWVzIjpbImFkZEZpZWxkU3RhdGVQcm9taXNlIiwiYXJncyIsImlkIiwiYW55UGFyZW50TG9jYWxpemVkIiwiZGF0YSIsImVycm9yUGF0aHMiLCJwYXJlbnRFcnJvclBhdGhzIiwiZmllbGQiLCJmaWx0ZXIiLCJmb3JjZUZ1bGxWYWx1ZSIsImZ1bGxEYXRhIiwiaW5jbHVkZVNjaGVtYSIsIm9taXRQYXJlbnRzIiwib3BlcmF0aW9uIiwicGFzc2VzQ29uZGl0aW9uIiwicGF0aCIsInByZWZlcmVuY2VzIiwicmVxIiwic2tpcENvbmRpdGlvbkNoZWNrcyIsInNraXBWYWxpZGF0aW9uIiwic3RhdGUiLCJmaWVsZEFmZmVjdHNEYXRhIiwidmFsaWRhdGUiLCJ1bmRlZmluZWQiLCJmaWVsZFN0YXRlIiwiU2V0IiwiZmllbGRTY2hlbWEiLCJpbml0aWFsVmFsdWUiLCJ2YWxpZCIsInZhbHVlIiwidmFsdWVXaXRoRGVmYXVsdCIsImdldERlZmF1bHRWYWx1ZSIsImRlZmF1bHRWYWx1ZSIsImxvY2FsZSIsInVzZXIiLCJuYW1lIiwidmFsaWRhdGlvblJlc3VsdCIsInNpYmxpbmdEYXRhIiwiZXJyb3JNZXNzYWdlIiwiYWRkIiwidHlwZSIsImFycmF5VmFsdWUiLCJBcnJheSIsImlzQXJyYXkiLCJwcm9taXNlcyIsInJvd01ldGFkYXRhIiwicmVkdWNlIiwiYWNjIiwicm93IiwiaSIsInJvd1BhdGgiLCJPYmplY3RJZCIsInRvSGV4U3RyaW5nIiwiZmllbGRzIiwiZmluZCIsInB1c2giLCJpdGVyYXRlRmllbGRzIiwibG9jYWxpemVkIiwicGFyZW50UGFzc2VzQ29uZGl0aW9uIiwiY29sbGFwc2VkUm93SURzIiwiY29sbGFwc2VkIiwiYWRtaW4iLCJpbml0Q29sbGFwc2VkIiwiaW5jbHVkZXMiLCJQcm9taXNlIiwiYWxsIiwibGVuZ3RoIiwiZGlzYWJsZUZvcm1EYXRhIiwicm93cyIsImJsb2Nrc1ZhbHVlIiwiYmxvY2siLCJibG9ja3MiLCJibG9ja1R5cGUiLCJzbHVnIiwiYmxvY2tGaWVsZCIsImJsb2NrTmFtZSIsImhhc01hbnkiLCJyZWxhdGlvbnNoaXBWYWx1ZSIsIm1hcCIsInJlbGF0aW9uc2hpcCIsInJlbGF0aW9uVG8iLCJmaWVsZEhhc1N1YkZpZWxkcyIsInRhYnMiLCJ0YWIiLCJ0YWJIYXNOYW1lIl0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBK0R2QkE7OztlQUFBQTs7O3FFQTVEUTt1QkFDMkM7MkJBQ2hDOytCQUlGOzs7Ozs7QUFzRHZCLE1BQU1BLHVCQUF1QixPQUFPQztJQUN6QyxNQUFNLEVBQ0pDLEVBQUUsRUFDRkMscUJBQXFCLEtBQUssRUFDMUJDLElBQUksRUFDSkMsWUFBWUMsZ0JBQWdCLEVBQzVCQyxLQUFLLEVBQ0xDLE1BQU0sRUFDTkMsaUJBQWlCLEtBQUssRUFDdEJDLFFBQVEsRUFDUkMsZ0JBQWdCLEtBQUssRUFDckJDLGNBQWMsS0FBSyxFQUNuQkMsU0FBUyxFQUNUQyxlQUFlLEVBQ2ZDLElBQUksRUFDSkMsV0FBVyxFQUNYQyxHQUFHLEVBQ0hDLHNCQUFzQixLQUFLLEVBQzNCQyxpQkFBaUIsS0FBSyxFQUN0QkMsS0FBSyxFQUNOLEdBQUduQjtJQUVKLElBQUlvQixJQUFBQSx1QkFBZ0IsRUFBQ2QsUUFBUTtRQUMzQixNQUFNZSxXQUFXVCxjQUFjLFdBQVdOLE1BQU1lLFFBQVEsR0FBR0M7UUFDM0QsTUFBTUMsYUFBd0I7WUFDNUJuQixZQUFZLElBQUlvQjtZQUNoQkMsYUFBYWYsZ0JBQWdCSixRQUFRZ0I7WUFDckNJLGNBQWNKO1lBQ2RUO1lBQ0FjLE9BQU87WUFDUEMsT0FBT047UUFDVDtRQUVBLE1BQU1PLG1CQUFtQixNQUFNQyxJQUFBQSwwQkFBZSxFQUFD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
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ const _index = /*#__PURE__*/ _interop_require_default(require("./index"));
6
+ function _interop_require_default(obj) {
7
+ return obj && obj.__esModule ? obj : {
8
+ default: obj
9
+ };
10
+ }
11
+ describe('Form - buildStateFromSchema', ()=>{
12
+ const defaultValue = 'Default';
13
+ it('populates default value - normal fields', async ()=>{
14
+ const fieldSchema = [
15
+ {
16
+ name: 'text',
17
+ defaultValue,
18
+ label: 'Text',
19
+ type: 'text'
20
+ }
21
+ ];
22
+ const state = await (0, _index.default)({
23
+ fieldSchema
24
+ });
25
+ expect(state.text.value).toBe(defaultValue);
26
+ });
27
+ it('field value overrides defaultValue - normal fields', async ()=>{
28
+ const value = 'value';
29
+ const data = {
30
+ text: value
31
+ };
32
+ const fieldSchema = [
33
+ {
34
+ name: 'text',
35
+ defaultValue,
36
+ label: 'Text',
37
+ type: 'text'
38
+ }
39
+ ];
40
+ const state = await (0, _index.default)({
41
+ data,
42
+ fieldSchema
43
+ });
44
+ expect(state.text.value).toBe(value);
45
+ });
46
+ it('populates default value from a function - normal fields', async ()=>{
47
+ const user = {
48
+ email: 'user@example.com'
49
+ };
50
+ const locale = 'en';
51
+ const fieldSchema = [
52
+ {
53
+ name: 'text',
54
+ defaultValue: (args)=>{
55
+ if (!args.locale) {
56
+ return 'missing locale';
57
+ }
58
+ if (!args.user) {
59
+ return 'missing user';
60
+ }
61
+ return 'Default';
62
+ },
63
+ label: 'Text',
64
+ type: 'text'
65
+ }
66
+ ];
67
+ const state = await (0, _index.default)({
68
+ fieldSchema,
69
+ locale,
70
+ user
71
+ });
72
+ expect(state.text.value).toBe(defaultValue);
73
+ });
74
+ });
75
+
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mb3Jtcy91dGlsaXRpZXMvYnVpbGRTdGF0ZUZyb21TY2hlbWEvYnVpbGRTdGF0ZUZyb21TY2hlbWEuc3BlYy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYnVpbGRTdGF0ZUZyb21TY2hlbWEgZnJvbSAnLi9pbmRleCdcblxuZGVzY3JpYmUoJ0Zvcm0gLSBidWlsZFN0YXRlRnJvbVNjaGVtYScsICgpID0+IHtcbiAgY29uc3QgZGVmYXVsdFZhbHVlID0gJ0RlZmF1bHQnXG4gIGl0KCdwb3B1bGF0ZXMgZGVmYXVsdCB2YWx1ZSAtIG5vcm1hbCBmaWVsZHMnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZmllbGRTY2hlbWEgPSBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd0ZXh0JyxcbiAgICAgICAgZGVmYXVsdFZhbHVlLFxuICAgICAgICBsYWJlbDogJ1RleHQnLFxuICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICB9LFxuICAgIF1cbiAgICBjb25zdCBzdGF0ZSA9IGF3YWl0IGJ1aWxkU3RhdGVGcm9tU2NoZW1hKHsgZmllbGRTY2hlbWEgfSlcbiAgICBleHBlY3Qoc3RhdGUudGV4dC52YWx1ZSkudG9CZShkZWZhdWx0VmFsdWUpXG4gIH0pXG4gIGl0KCdmaWVsZCB2YWx1ZSBvdmVycmlkZXMgZGVmYXVsdFZhbHVlIC0gbm9ybWFsIGZpZWxkcycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9ICd2YWx1ZSdcbiAgICBjb25zdCBkYXRhID0geyB0ZXh0OiB2YWx1ZSB9XG4gICAgY29uc3QgZmllbGRTY2hlbWEgPSBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd0ZXh0JyxcbiAgICAgICAgZGVmYXVsdFZhbHVlLFxuICAgICAgICBsYWJlbDogJ1RleHQnLFxuICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICB9LFxuICAgIF1cbiAgICBjb25zdCBzdGF0ZSA9IGF3YWl0IGJ1aWxkU3RhdGVGcm9tU2NoZW1hKHsgZGF0YSwgZmllbGRTY2hlbWEgfSlcbiAgICBleHBlY3Qoc3RhdGUudGV4dC52YWx1ZSkudG9CZSh2YWx1ZSlcbiAgfSlcbiAgaXQoJ3BvcHVsYXRlcyBkZWZhdWx0IHZhbHVlIGZyb20gYSBmdW5jdGlvbiAtIG5vcm1hbCBmaWVsZHMnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgdXNlciA9IHsgZW1haWw6ICd1c2VyQGV4YW1wbGUuY29tJyB9XG4gICAgY29uc3QgbG9jYWxlID0gJ2VuJ1xuICAgIGNvbnN0IGZpZWxkU2NoZW1hID0gW1xuICAgICAge1xuICAgICAgICBuYW1lOiAndGV4dCcsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogKGFyZ3MpID0+IHtcbiAgICAgICAgICBpZiAoIWFyZ3MubG9jYWxlKSB7XG4gICAgICAgICAgICByZXR1cm4gJ21pc3NpbmcgbG9jYWxlJ1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIWFyZ3MudXNlcikge1xuICAgICAgICAgICAgcmV0dXJuICdtaXNzaW5nIHVzZXInXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiAnRGVmYXVsdCdcbiAgICAgICAgfSxcbiAgICAgICAgbGFiZWw6ICdUZXh0JyxcbiAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgfSxcbiAgICBdXG4gICAgY29uc3Qgc3RhdGUgPSBhd2FpdCBidWlsZFN0YXRlRnJvbVNjaGVtYSh7IGZpZWxkU2NoZW1hLCBsb2NhbGUsIHVzZXIgfSlcbiAgICBleHBlY3Qoc3RhdGUudGV4dC52YWx1ZSkudG9CZShkZWZhdWx0VmFsdWUpXG4gIH0pXG59KVxuIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwiZGVmYXVsdFZhbHVlIiwiaXQiLCJmaWVsZFNjaGVtYSIsIm5hbWUiLCJsYWJlbCIsInR5cGUiLCJzdGF0ZSIsImJ1aWxkU3RhdGVGcm9tU2NoZW1hIiwiZXhwZWN0IiwidGV4dCIsInZhbHVlIiwidG9CZSIsImRhdGEiLCJ1c2VyIiwiZW1haWwiLCJsb2NhbGUiLCJhcmdzIl0sIm1hcHBpbmdzIjoiOzs7OzhEQUFpQzs7Ozs7O0FBRWpDQSxTQUFTLCtCQUErQjtJQUN0QyxNQUFNQyxlQUFlO0lBQ3JCQyxHQUFHLDJDQUEyQztRQUM1QyxNQUFNQyxjQUFjO1lBQ2xCO2dCQUNFQyxNQUFNO2dCQUNOSDtnQkFDQUksT0FBTztnQkFDUEMsTUFBTTtZQUNSO1NBQ0Q7UUFDRCxNQUFNQyxRQUFRLE1BQU1DLElBQUFBLGNBQW9CLEVBQUM7WUFBRUw7UUFBWTtRQUN2RE0sT0FBT0YsTUFBTUcsSUFBSSxDQUFDQyxLQUFLLEVBQUVDLElBQUksQ0FBQ1g7SUFDaEM7SUFDQUMsR0FBRyxzREFBc0Q7UUFDdkQsTUFBTVMsUUFBUTtRQUNkLE1BQU1FLE9BQU87WUFBRUgsTUFBTUM7UUFBTTtRQUMzQixNQUFNUixjQUFjO1lBQ2xCO2dCQUNFQyxNQUFNO2dCQUNOSDtnQkFDQUksT0FBTztnQkFDUEMsTUFBTTtZQUNSO1NBQ0Q7UUFDRCxNQUFNQyxRQUFRLE1BQU1DLElBQUFBLGNBQW9CLEVBQUM7WUFBRUs7WUFBTVY7UUFBWTtRQUM3RE0sT0FBT0YsTUFBTUcsSUFBSSxDQUFDQyxLQUFLLEVBQUVDLElBQUksQ0FBQ0Q7SUFDaEM7SUFDQVQsR0FBRywyREFBMkQ7UUFDNUQsTUFBTVksT0FBTztZQUFFQyxPQUFPO1FBQW1CO1FBQ3pDLE1BQU1DLFNBQVM7UUFDZixNQUFNYixjQUFjO1lBQ2xCO2dCQUNFQyxNQUFNO2dCQUNOSCxjQUFjLENBQUNnQjtvQkFDYixJQUFJLENBQUNBLEtBQUtELE1BQU0sRUFBRTt3QkFDaEIsT0FBTztvQkFDVDtvQkFDQSxJQUFJLENBQUNDLEtBQUtILElBQUksRUFBRTt3QkFDZCxPQUFPO29CQUNUO29CQUNBLE9BQU87Z0JBQ1Q7Z0JBQ0FULE9BQU87Z0JBQ1BDLE1BQU07WUFDUjtTQUNEO1FBQ0QsTUFBTUMsUUFBUSxNQUFNQyxJQUFBQSxjQUFvQixFQUFDO1lBQUVMO1lBQWFhO1lBQVFGO1FBQUs7UUFDckVMLE9BQU9GLE1BQU1HLElBQUksQ0FBQ0MsS0FBSyxFQUFFQyxJQUFJLENBQUNYO0lBQ2hDO0FBQ0YifQ==
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ const _iterateFields = require("./iterateFields");
12
+ const buildStateFromSchema = async (args)=>{
13
+ const { id, data: fullData = {}, fieldSchema, operation, preferences, req } = args;
14
+ if (fieldSchema) {
15
+ const state = {};
16
+ await (0, _iterateFields.iterateFields)({
17
+ id,
18
+ data: fullData,
19
+ errorPaths: new Set(),
20
+ fields: fieldSchema,
21
+ fullData,
22
+ operation,
23
+ parentPassesCondition: true,
24
+ path: '',
25
+ preferences,
26
+ req,
27
+ state
28
+ });
29
+ return state;
30
+ }
31
+ return {};
32
+ };
33
+ const _default = buildStateFromSchema;
34
+
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mb3Jtcy91dGlsaXRpZXMvYnVpbGRTdGF0ZUZyb21TY2hlbWEvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEYXRhLCBGaWVsZCBhcyBGaWVsZFNjaGVtYSwgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdHlwZSB7IEZvcm1TdGF0ZSB9IGZyb20gJy4uLy4uL0Zvcm0vdHlwZXMnXG5cbmltcG9ydCB7IGl0ZXJhdGVGaWVsZHMgfSBmcm9tICcuL2l0ZXJhdGVGaWVsZHMnXG5cbnR5cGUgQXJncyA9IHtcbiAgZGF0YT86IERhdGFcbiAgZmllbGRTY2hlbWE6IEZpZWxkU2NoZW1hW10gfCB1bmRlZmluZWRcbiAgaWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgb3BlcmF0aW9uPzogJ2NyZWF0ZScgfCAndXBkYXRlJ1xuICBwcmVmZXJlbmNlczoge1xuICAgIFtrZXk6IHN0cmluZ106IHVua25vd25cbiAgfVxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHNpYmxpbmdEYXRhPzogRGF0YVxufVxuXG5leHBvcnQgdHlwZSBCdWlsZEZvcm1TdGF0ZUFyZ3MgPSB7XG4gIGNvbGxlY3Rpb25TbHVnPzogc3RyaW5nXG4gIGRhdGE/OiBEYXRhXG4gIGZvcm1TdGF0ZT86IEZvcm1TdGF0ZVxuICBnbG9iYWxTbHVnPzogc3RyaW5nXG4gIGlkPzogbnVtYmVyIHwgc3RyaW5nXG4gIG9wZXJhdGlvbj86ICdjcmVhdGUnIHwgJ3VwZGF0ZSdcbiAgc2NoZW1hUGF0aDogc3RyaW5nXG59XG5cbmNvbnN0IGJ1aWxkU3RhdGVGcm9tU2NoZW1hID0gYXN5bmMgKGFyZ3M6IEFyZ3MpOiBQcm9taXNlPEZvcm1TdGF0ZT4gPT4ge1xuICBjb25zdCB7IGlkLCBkYXRhOiBmdWxsRGF0YSA9IHt9LCBmaWVsZFNjaGVtYSwgb3BlcmF0aW9uLCBwcmVmZXJlbmNlcywgcmVxIH0gPSBhcmdzXG5cbiAgaWYgKGZpZWxkU2NoZW1hKSB7XG4gICAgY29uc3Qgc3RhdGU6IEZvcm1TdGF0ZSA9IHt9XG5cbiAgICBhd2FpdCBpdGVyYXRlRmllbGRzKHtcbiAgICAgIGlkLFxuICAgICAgZGF0YTogZnVsbERhdGEsXG4gICAgICBlcnJvclBhdGhzOiBuZXcgU2V0KCksXG4gICAgICBmaWVsZHM6IGZpZWxkU2NoZW1hLFxuICAgICAgZnVsbERhdGEsXG4gICAgICBvcGVyYXRpb24sXG4gICAgICBwYXJlbnRQYXNzZXNDb25kaXRpb246IHRydWUsXG4gICAgICBwYXRoOiAnJyxcbiAgICAgIHByZWZlcmVuY2VzLFxuICAgICAgcmVxLFxuICAgICAgc3RhdGUsXG4gICAgfSlcblxuICAgIHJldHVybiBzdGF0ZVxuICB9XG5cbiAgcmV0dXJuIHt9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGJ1aWxkU3RhdGVGcm9tU2NoZW1hXG4iXSwibmFtZXMiOlsiYnVpbGRTdGF0ZUZyb21TY2hlbWEiLCJhcmdzIiwiaWQiLCJkYXRhIiwiZnVsbERhdGEiLCJmaWVsZFNjaGVtYSIsIm9wZXJhdGlvbiIsInByZWZlcmVuY2VzIiwicmVxIiwic3RhdGUiLCJpdGVyYXRlRmllbGRzIiwiZXJyb3JQYXRocyIsIlNldCIsImZpZWxkcyIsInBhcmVudFBhc3Nlc0NvbmRpdGlvbiIsInBhdGgiXSwibWFwcGluZ3MiOiI7Ozs7K0JBc0RBOzs7ZUFBQTs7OytCQWxEOEI7QUF3QjlCLE1BQU1BLHVCQUF1QixPQUFPQztJQUNsQyxNQUFNLEVBQUVDLEVBQUUsRUFBRUMsTUFBTUMsV0FBVyxDQUFDLENBQUMsRUFBRUMsV0FBVyxFQUFFQyxTQUFTLEVBQUVDLFdBQVcsRUFBRUMsR0FBRyxFQUFFLEdBQUdQO0lBRTlFLElBQUlJLGFBQWE7UUFDZixNQUFNSSxRQUFtQixDQUFDO1FBRTFCLE1BQU1DLElBQUFBLDRCQUFhLEVBQUM7WUFDbEJSO1lBQ0FDLE1BQU1DO1lBQ05PLFlBQVksSUFBSUM7WUFDaEJDLFFBQVFSO1lBQ1JEO1lBQ0FFO1lBQ0FRLHVCQUF1QjtZQUN2QkMsTUFBTTtZQUNOUjtZQUNBQztZQUNBQztRQUNGO1FBRUEsT0FBT0E7SUFDVDtJQUVBLE9BQU8sQ0FBQztBQUNWO01BRUEsV0FBZVQifQ==
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "iterateFields", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return iterateFields;
9
+ }
10
+ });
11
+ const _types = require("payload/types");
12
+ const _addFieldStatePromise = require("./addFieldStatePromise");
13
+ const iterateFields = async ({ id, anyParentLocalized = false, data, errorPaths, fields, filter, forceFullValue = false, fullData, includeSchema = false, omitParents = false, operation, parentPassesCondition = true, path = '', preferences, req, skipConditionChecks = false, skipValidation = false, state = {} })=>{
14
+ const promises = [];
15
+ fields.forEach((field)=>{
16
+ if (!(0, _types.fieldIsPresentationalOnly)(field) && !field?.admin?.disabled) {
17
+ let passesCondition = true;
18
+ if (!skipConditionChecks) {
19
+ passesCondition = Boolean((field?.admin?.condition ? Boolean(field.admin.condition(fullData || {}, data || {}, {
20
+ user: req.user
21
+ })) : true) && parentPassesCondition);
22
+ }
23
+ promises.push((0, _addFieldStatePromise.addFieldStatePromise)({
24
+ id,
25
+ anyParentLocalized,
26
+ data,
27
+ errorPaths,
28
+ field,
29
+ filter,
30
+ forceFullValue,
31
+ fullData,
32
+ includeSchema,
33
+ omitParents,
34
+ operation,
35
+ passesCondition,
36
+ path,
37
+ preferences,
38
+ req,
39
+ skipConditionChecks,
40
+ skipValidation,
41
+ state
42
+ }));
43
+ }
44
+ });
45
+ await Promise.all(promises);
46
+ };
47
+
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mb3Jtcy91dGlsaXRpZXMvYnVpbGRTdGF0ZUZyb21TY2hlbWEvaXRlcmF0ZUZpZWxkcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERhdGEsIEZpZWxkIGFzIEZpZWxkU2NoZW1hLCBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IGZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdHlwZSB7IEZvcm1TdGF0ZSB9IGZyb20gJy4uLy4uL0Zvcm0vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEFkZEZpZWxkU3RhdGVQcm9taXNlQXJncyB9IGZyb20gJy4vYWRkRmllbGRTdGF0ZVByb21pc2UnXG5cbmltcG9ydCB7IGFkZEZpZWxkU3RhdGVQcm9taXNlIH0gZnJvbSAnLi9hZGRGaWVsZFN0YXRlUHJvbWlzZSdcblxudHlwZSBBcmdzID0ge1xuICAvKipcbiAgICogaWYgYW55IHBhcmVudHMgaXMgbG9jYWxpemVkLCB0aGVuIHRoZSBmaWVsZCBpcyBsb2NhbGl6ZWQuIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBhbnlQYXJlbnRMb2NhbGl6ZWQ/OiBib29sZWFuXG4gIGRhdGE6IERhdGFcbiAgZXJyb3JQYXRoczogU2V0PHN0cmluZz5cbiAgZmllbGRzOiBGaWVsZFNjaGVtYVtdXG4gIGZpbHRlcj86IChhcmdzOiBBZGRGaWVsZFN0YXRlUHJvbWlzZUFyZ3MpID0+IGJvb2xlYW5cbiAgLyoqXG4gICAqIEZvcmNlIHRoZSB2YWx1ZSBvZiBmaWVsZHMgbGlrZSBhcnJheXMgb3IgYmxvY2tzIHRvIGJlIHRoZSBmdWxsIHZhbHVlIGluc3RlYWQgb2YgdGhlIGxlbmd0aCBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgZm9yY2VGdWxsVmFsdWU/OiBib29sZWFuXG4gIGZ1bGxEYXRhOiBEYXRhXG4gIGlkPzogbnVtYmVyIHwgc3RyaW5nXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmaWVsZCBzY2hlbWEgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSBzdGF0ZS4gQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGluY2x1ZGVTY2hlbWE/OiBib29sZWFuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIG9taXQgcGFyZW50IGZpZWxkcyBpbiB0aGUgc3RhdGUuIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBvbWl0UGFyZW50cz86IGJvb2xlYW5cbiAgLyoqXG4gICAqIG9wZXJhdGlvbiBpcyBvbmx5IG5lZWRlZCBmb3IgdmFsaWRhdGlvblxuICAgKi9cbiAgb3BlcmF0aW9uOiAnY3JlYXRlJyB8ICd1cGRhdGUnXG4gIHBhcmVudFBhc3Nlc0NvbmRpdGlvbj86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFRoZSBpbml0aWFsIHBhdGggb2YgdGhlIGZpZWxkLiBAZGVmYXVsdCAnJ1xuICAgKi9cbiAgcGF0aD86IHN0cmluZ1xuICBwcmVmZXJlbmNlcz86IHtcbiAgICBba2V5OiBzdHJpbmddOiB1bmtub3duXG4gIH1cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICAvKipcbiAgICogV2hldGhlciB0byBza2lwIGNoZWNraW5nIHRoZSBmaWVsZCdzIGNvbmRpdGlvbi4gQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNraXBDb25kaXRpb25DaGVja3M/OiBib29sZWFuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNraXAgdmFsaWRhdGluZyB0aGUgZmllbGQuIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBza2lwVmFsaWRhdGlvbj86IGJvb2xlYW5cbiAgc3RhdGU/OiBGb3JtU3RhdGVcbn1cblxuLyoqXG4gKiBGbGF0dGVucyB0aGUgZmllbGRzIHNjaGVtYSBhbmQgZmllbGRzIGRhdGFcbiAqL1xuZXhwb3J0IGNvbnN0IGl0ZXJhdGVGaWVsZHMgPSBhc3luYyAoe1xuICBpZCxcbiAgYW55UGFyZW50TG9jYWxpemVkID0gZmFsc2UsXG4gIGRhdGEsXG4gIGVycm9yUGF0aHMsXG4gIGZpZWxkcyxcbiAgZmlsdGVyLFxuICBmb3JjZUZ1bGxWYWx1ZSA9IGZhbHNlLFxuICBmdWxsRGF0YSxcbiAgaW5jbHVkZVNjaGVtYSA9IGZhbHNlLFxuICBvbWl0UGFyZW50cyA9IGZhbHNlLFxuICBvcGVyYXRpb24sXG4gIHBhcmVudFBhc3Nlc0NvbmRpdGlvbiA9IHRydWUsXG4gIHBhdGggPSAnJyxcbiAgcHJlZmVyZW5jZXMsXG4gIHJlcSxcbiAgc2tpcENvbmRpdGlvbkNoZWNrcyA9IGZhbHNlLFxuICBza2lwVmFsaWRhdGlvbiA9IGZhbHNlLFxuICBzdGF0ZSA9IHt9LFxufTogQXJncyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCBwcm9taXNlcyA9IFtdXG5cbiAgZmllbGRzLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgaWYgKCFmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5KGZpZWxkKSAmJiAhZmllbGQ/LmFkbWluPy5kaXNhYmxlZCkge1xuICAgICAgbGV0IHBhc3Nlc0NvbmRpdGlvbiA9IHRydWVcbiAgICAgIGlmICghc2tpcENvbmRpdGlvbkNoZWNrcykge1xuICAgICAgICBwYXNzZXNDb25kaXRpb24gPSBCb29sZWFuKFxuICAgICAgICAgIChmaWVsZD8uYWRtaW4/LmNvbmRpdGlvblxuICAgICAgICAgICAgPyBCb29sZWFuKGZpZWxkLmFkbWluLmNvbmRpdGlvbihmdWxsRGF0YSB8fCB7fSwgZGF0YSB8fCB7fSwgeyB1c2VyOiByZXEudXNlciB9KSlcbiAgICAgICAgICAgIDogdHJ1ZSkgJiYgcGFyZW50UGFzc2VzQ29uZGl0aW9uLFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIHByb21pc2VzLnB1c2goXG4gICAgICAgIGFkZEZpZWxkU3RhdGVQcm9taXNlKHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBhbnlQYXJlbnRMb2NhbGl6ZWQsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBlcnJvclBhdGhzLFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIGZpbHRlcixcbiAgICAgICAgICBmb3JjZUZ1bGxWYWx1ZSxcbiAgICAgICAgICBmdWxsRGF0YSxcbiAgICAgICAgICBpbmNsdWRlU2NoZW1hLFxuICAgICAgICAgIG9taXRQYXJlbnRzLFxuICAgICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgICBwYXNzZXNDb25kaXRpb24sXG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICBwcmVmZXJlbmNlcyxcbiAgICAgICAgICByZXEsXG4gICAgICAgICAgc2tpcENvbmRpdGlvbkNoZWNrcyxcbiAgICAgICAgICBza2lwVmFsaWRhdGlvbixcbiAgICAgICAgICBzdGF0ZSxcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgfVxuICB9KVxuXG4gIGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKVxufVxuIl0sIm5hbWVzIjpbIml0ZXJhdGVGaWVsZHMiLCJpZCIsImFueVBhcmVudExvY2FsaXplZCIsImRhdGEiLCJlcnJvclBhdGhzIiwiZmllbGRzIiwiZmlsdGVyIiwiZm9yY2VGdWxsVmFsdWUiLCJmdWxsRGF0YSIsImluY2x1ZGVTY2hlbWEiLCJvbWl0UGFyZW50cyIsIm9wZXJhdGlvbiIsInBhcmVudFBhc3Nlc0NvbmRpdGlvbiIsInBhdGgiLCJwcmVmZXJlbmNlcyIsInJlcSIsInNraXBDb25kaXRpb25DaGVja3MiLCJza2lwVmFsaWRhdGlvbiIsInN0YXRlIiwicHJvbWlzZXMiLCJmb3JFYWNoIiwiZmllbGQiLCJmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5IiwiYWRtaW4iLCJkaXNhYmxlZCIsInBhc3Nlc0NvbmRpdGlvbiIsIkJvb2xlYW4iLCJjb25kaXRpb24iLCJ1c2VyIiwicHVzaCIsImFkZEZpZWxkU3RhdGVQcm9taXNlIiwiUHJvbWlzZSIsImFsbCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkEyRGFBOzs7ZUFBQUE7Ozt1QkF6RDZCO3NDQUtMO0FBb0Q5QixNQUFNQSxnQkFBZ0IsT0FBTyxFQUNsQ0MsRUFBRSxFQUNGQyxxQkFBcUIsS0FBSyxFQUMxQkMsSUFBSSxFQUNKQyxVQUFVLEVBQ1ZDLE1BQU0sRUFDTkMsTUFBTSxFQUNOQyxpQkFBaUIsS0FBSyxFQUN0QkMsUUFBUSxFQUNSQyxnQkFBZ0IsS0FBSyxFQUNyQkMsY0FBYyxLQUFLLEVBQ25CQyxTQUFTLEVBQ1RDLHdCQUF3QixJQUFJLEVBQzVCQyxPQUFPLEVBQUUsRUFDVEMsV0FBVyxFQUNYQyxHQUFHLEVBQ0hDLHNCQUFzQixLQUFLLEVBQzNCQyxpQkFBaUIsS0FBSyxFQUN0QkMsUUFBUSxDQUFDLENBQUMsRUFDTDtJQUNMLE1BQU1DLFdBQVcsRUFBRTtJQUVuQmQsT0FBT2UsT0FBTyxDQUFDLENBQUNDO1FBQ2QsSUFBSSxDQUFDQyxJQUFBQSxnQ0FBeUIsRUFBQ0QsVUFBVSxDQUFDQSxPQUFPRSxPQUFPQyxVQUFVO1lBQ2hFLElBQUlDLGtCQUFrQjtZQUN0QixJQUFJLENBQUNULHFCQUFxQjtnQkFDeEJTLGtCQUFrQkMsUUFDaEIsQUFBQ0wsQ0FBQUEsT0FBT0UsT0FBT0ksWUFDWEQsUUFBUUwsTUFBTUUsS0FBSyxDQUFDSSxTQUFTLENBQUNuQixZQUFZLENBQUMsR0FBR0wsUUFBUSxDQUFDLEdBQUc7b0JBQUV5QixNQUFNYixJQUFJYSxJQUFJO2dCQUFDLE1BQzNFLElBQUcsS0FBTWhCO1lBRWpCO1lBRUFPLFNBQVNVLElBQUksQ0FDWEMsSUFBQUEsMENBQW9CLEVBQUM7Z0JBQ25CN0I7Z0JBQ0FDO2dCQUNBQztnQkFDQUM7Z0JBQ0FpQjtnQkFDQWY7Z0JBQ0FDO2dCQUNBQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQWM7Z0JBQ0FaO2dCQUNBQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQUM7WUFDRjtRQUVKO0lBQ0Y7SUFFQSxNQUFNYSxRQUFRQyxHQUFHLENBQUNiO0FBQ3BCIn0=
@@ -0,0 +1,66 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "WatchCondition", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return WatchCondition;
10
+ }
11
+ });
12
+ const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
13
+ const _context = require("../Form/context");
14
+ function _getRequireWildcardCache(nodeInterop) {
15
+ if (typeof WeakMap !== "function") return null;
16
+ var cacheBabelInterop = new WeakMap();
17
+ var cacheNodeInterop = new WeakMap();
18
+ return (_getRequireWildcardCache = function(nodeInterop) {
19
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
20
+ })(nodeInterop);
21
+ }
22
+ function _interop_require_wildcard(obj, nodeInterop) {
23
+ if (!nodeInterop && obj && obj.__esModule) {
24
+ return obj;
25
+ }
26
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
27
+ return {
28
+ default: obj
29
+ };
30
+ }
31
+ var cache = _getRequireWildcardCache(nodeInterop);
32
+ if (cache && cache.has(obj)) {
33
+ return cache.get(obj);
34
+ }
35
+ var newObj = {
36
+ __proto__: null
37
+ };
38
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
39
+ for(var key in obj){
40
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
41
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
42
+ if (desc && (desc.get || desc.set)) {
43
+ Object.defineProperty(newObj, key, desc);
44
+ } else {
45
+ newObj[key] = obj[key];
46
+ }
47
+ }
48
+ }
49
+ newObj.default = obj;
50
+ if (cache) {
51
+ cache.set(obj, newObj);
52
+ }
53
+ return newObj;
54
+ }
55
+ const WatchCondition = (props)=>{
56
+ const { name, children, path: pathFromProps } = props;
57
+ const path = typeof pathFromProps === 'string' ? pathFromProps : name;
58
+ const field = (0, _context.useFormFields)(([fields])=>fields && fields?.[path] || null);
59
+ const { passesCondition } = field || {};
60
+ if (passesCondition === false) {
61
+ return null;
62
+ }
63
+ return /*#__PURE__*/ _react.default.createElement(_react.Fragment, null, children);
64
+ };
65
+
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mb3Jtcy93aXRoQ29uZGl0aW9uL1dhdGNoQ29uZGl0aW9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEZyYWdtZW50IH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB7IHVzZUZvcm1GaWVsZHMgfSBmcm9tICcuLi9Gb3JtL2NvbnRleHQnXG5cbmV4cG9ydCBjb25zdCBXYXRjaENvbmRpdGlvbjogUmVhY3QuRkM8e1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG4gIG5hbWU/OiBzdHJpbmdcbiAgcGF0aD86IHN0cmluZ1xufT4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBuYW1lLCBjaGlsZHJlbiwgcGF0aDogcGF0aEZyb21Qcm9wcyB9ID0gcHJvcHNcblxuICBjb25zdCBwYXRoID0gdHlwZW9mIHBhdGhGcm9tUHJvcHMgPT09ICdzdHJpbmcnID8gcGF0aEZyb21Qcm9wcyA6IG5hbWVcblxuICBjb25zdCBmaWVsZCA9IHVzZUZvcm1GaWVsZHMoKFtmaWVsZHNdKSA9PiAoZmllbGRzICYmIGZpZWxkcz8uW3BhdGhdKSB8fCBudWxsKVxuXG4gIGNvbnN0IHsgcGFzc2VzQ29uZGl0aW9uIH0gPSBmaWVsZCB8fCB7fVxuXG4gIGlmIChwYXNzZXNDb25kaXRpb24gPT09IGZhbHNlKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJldHVybiA8RnJhZ21lbnQ+e2NoaWxkcmVufTwvRnJhZ21lbnQ+XG59XG4iXSwibmFtZXMiOlsiV2F0Y2hDb25kaXRpb24iLCJwcm9wcyIsIm5hbWUiLCJjaGlsZHJlbiIsInBhdGgiLCJwYXRoRnJvbVByb3BzIiwiZmllbGQiLCJ1c2VGb3JtRmllbGRzIiwiZmllbGRzIiwicGFzc2VzQ29uZGl0aW9uIiwiRnJhZ21lbnQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OzsrQkFNYUE7OztlQUFBQTs7OytEQUxLO3lCQUdZOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdkIsTUFBTUEsaUJBSVIsQ0FBQ0M7SUFDSixNQUFNLEVBQUVDLElBQUksRUFBRUMsUUFBUSxFQUFFQyxNQUFNQyxhQUFhLEVBQUUsR0FBR0o7SUFFaEQsTUFBTUcsT0FBTyxPQUFPQyxrQkFBa0IsV0FBV0EsZ0JBQWdCSDtJQUVqRSxNQUFNSSxRQUFRQyxJQUFBQSxzQkFBYSxFQUFDLENBQUMsQ0FBQ0MsT0FBTyxHQUFLLEFBQUNBLFVBQVVBLFFBQVEsQ0FBQ0osS0FBSyxJQUFLO0lBRXhFLE1BQU0sRUFBRUssZUFBZSxFQUFFLEdBQUdILFNBQVMsQ0FBQztJQUV0QyxJQUFJRyxvQkFBb0IsT0FBTztRQUM3QixPQUFPO0lBQ1Q7SUFFQSxxQkFBTyw2QkFBQ0MsZUFBUSxRQUFFUDtBQUNwQiJ9