@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.
- package/dist/@types/assets.d.js +3 -0
- package/dist/config.js +13 -0
- package/dist/elements/ArrayAction/index.js +120 -0
- package/dist/elements/ArrayAction/types.js +6 -0
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +207 -0
- package/dist/elements/Autosave/types.js +6 -0
- package/dist/elements/Banner/index.js +52 -0
- package/dist/elements/Banner/types.js +6 -0
- package/dist/elements/Button/index.js +166 -0
- package/dist/elements/Button/types.js +6 -0
- package/dist/elements/Card/index.js +46 -0
- package/dist/elements/Card/types.js +6 -0
- package/dist/elements/CodeEditor/CodeEditor.js +53 -0
- package/dist/elements/CodeEditor/index.js +68 -0
- package/dist/elements/CodeEditor/types.js +6 -0
- package/dist/elements/Collapsible/index.js +128 -0
- package/dist/elements/Collapsible/provider.js +90 -0
- package/dist/elements/Collapsible/types.js +6 -0
- package/dist/elements/ColumnSelector/index.js +109 -0
- package/dist/elements/ColumnSelector/types.js +6 -0
- package/dist/elements/CopyToClipboard/index.js +98 -0
- package/dist/elements/CopyToClipboard/types.js +6 -0
- package/dist/elements/DatePicker/DatePicker.js +147 -0
- package/dist/elements/DatePicker/index.js +63 -0
- package/dist/elements/DatePicker/types.js +6 -0
- package/dist/elements/DeleteDocument/index.js +178 -0
- package/dist/elements/DeleteDocument/types.js +6 -0
- package/dist/elements/DeleteMany/index.js +176 -0
- package/dist/elements/DeleteMany/types.js +6 -0
- package/dist/elements/DocumentControls/index.d.ts +2 -2
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +159 -0
- package/dist/elements/DocumentDrawer/DrawerContent.js +219 -0
- package/dist/elements/DocumentDrawer/index.js +185 -0
- package/dist/elements/DocumentDrawer/types.js +6 -0
- package/dist/elements/DocumentFields/index.js +55 -0
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +23 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +42 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +105 -0
- package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +48 -0
- package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +24 -0
- package/dist/elements/DocumentHeader/Tabs/index.js +84 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +27 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js +75 -0
- package/dist/elements/DocumentHeader/index.js +81 -0
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +82 -0
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +6 -0
- package/dist/elements/DraggableSortable/index.js +96 -0
- package/dist/elements/DraggableSortable/types.js +6 -0
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js +32 -0
- package/dist/elements/DraggableSortable/useDraggableSortable/types.js +6 -0
- package/dist/elements/Drawer/index.js +156 -0
- package/dist/elements/Drawer/types.js +6 -0
- package/dist/elements/Drawer/useDrawerSlug.js +23 -0
- package/dist/elements/Dropzone/index.js +117 -0
- package/dist/elements/DuplicateDocument/index.js +217 -0
- package/dist/elements/DuplicateDocument/types.js +6 -0
- package/dist/elements/EditMany/index.js +274 -0
- package/dist/elements/EditMany/types.js +6 -0
- package/dist/elements/EditUpload/index.js +390 -0
- package/dist/elements/ErrorPill/index.js +37 -0
- package/dist/elements/ErrorPill/types.js +6 -0
- package/dist/elements/FieldSelect/index.js +138 -0
- package/dist/elements/FileDetails/FileMeta/index.js +96 -0
- package/dist/elements/FileDetails/FileMeta/types.js +6 -0
- package/dist/elements/FileDetails/index.js +59 -0
- package/dist/elements/FileDetails/types.js +6 -0
- package/dist/elements/GenerateConfirmation/index.js +72 -0
- package/dist/elements/GenerateConfirmation/types.js +6 -0
- package/dist/elements/GetFilterOptions/index.js +57 -0
- package/dist/elements/Gutter/index.js +72 -0
- package/dist/elements/Hamburger/index.js +54 -0
- package/dist/elements/Header/index.d.ts.map +1 -1
- package/dist/elements/Header/index.js +140 -0
- package/dist/elements/HydrateClientUser/index.js +28 -0
- package/dist/elements/IDLabel/index.js +28 -0
- package/dist/elements/ListControls/getTextFieldsToBeSearched.js +21 -0
- package/dist/elements/ListControls/index.js +149 -0
- package/dist/elements/ListControls/types.js +6 -0
- package/dist/elements/ListDrawer/DrawerContent.js +315 -0
- package/dist/elements/ListDrawer/index.js +198 -0
- package/dist/elements/ListDrawer/types.js +6 -0
- package/dist/elements/ListSelection/index.js +83 -0
- package/dist/elements/Loading/index.js +103 -0
- package/dist/elements/LoadingOverlay/index.js +130 -0
- package/dist/elements/LoadingOverlay/reducer.js +49 -0
- package/dist/elements/LoadingOverlay/types.js +6 -0
- package/dist/elements/Localizer/LocalizerLabel/index.js +43 -0
- package/dist/elements/Localizer/index.js +121 -0
- package/dist/elements/Logout/index.d.ts.map +1 -1
- package/dist/elements/Logout/index.js +49 -0
- package/dist/elements/Nav/NavHamburger/index.js +34 -0
- package/dist/elements/Nav/NavToggler/index.js +53 -0
- package/dist/elements/Nav/NavWrapper/index.js +34 -0
- package/dist/elements/Nav/context.js +150 -0
- package/dist/elements/Nav/index.d.ts.map +1 -1
- package/dist/elements/Nav/index.js +106 -0
- package/dist/elements/NavGroup/index.js +129 -0
- package/dist/elements/Pagination/ClickableArrow/index.js +36 -0
- package/dist/elements/Pagination/ClickableArrow/types.js +6 -0
- package/dist/elements/Pagination/Page/index.js +33 -0
- package/dist/elements/Pagination/Page/types.js +6 -0
- package/dist/elements/Pagination/Separator/index.js +22 -0
- package/dist/elements/Pagination/index.js +126 -0
- package/dist/elements/Pagination/types.js +6 -0
- package/dist/elements/PerPage/index.d.ts.map +1 -1
- package/dist/elements/PerPage/index.js +115 -0
- package/dist/elements/Pill/index.js +93 -0
- package/dist/elements/Pill/types.js +6 -0
- package/dist/elements/Popup/PopupButtonList/index.d.ts +2 -2
- package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +118 -0
- package/dist/elements/Popup/PopupTrigger/index.js +51 -0
- package/dist/elements/Popup/PopupTrigger/types.js +6 -0
- package/dist/elements/Popup/index.js +193 -0
- package/dist/elements/Popup/types.js +6 -0
- package/dist/elements/PreviewButton/index.js +129 -0
- package/dist/elements/PreviewSizes/index.js +163 -0
- package/dist/elements/Publish/index.js +153 -0
- package/dist/elements/PublishMany/index.js +169 -0
- package/dist/elements/PublishMany/types.js +6 -0
- package/dist/elements/ReactSelect/ClearIndicator/index.js +31 -0
- package/dist/elements/ReactSelect/Control/index.js +49 -0
- package/dist/elements/ReactSelect/MultiValue/index.js +55 -0
- package/dist/elements/ReactSelect/MultiValueLabel/index.js +34 -0
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +48 -0
- package/dist/elements/ReactSelect/SingleValue/index.js +30 -0
- package/dist/elements/ReactSelect/ValueContainer/index.js +29 -0
- package/dist/elements/ReactSelect/index.js +177 -0
- package/dist/elements/ReactSelect/types.js +6 -0
- package/dist/elements/RenderCustomComponent/index.js +28 -0
- package/dist/elements/RenderCustomComponent/types.js +6 -0
- package/dist/elements/RenderTitle/index.js +42 -0
- package/dist/elements/RenderTitle/types.js +6 -0
- package/dist/elements/Save/index.js +103 -0
- package/dist/elements/SaveDraft/index.js +147 -0
- package/dist/elements/SearchFilter/index.d.ts.map +1 -1
- package/dist/elements/SearchFilter/index.js +139 -0
- package/dist/elements/SearchFilter/types.js +6 -0
- package/dist/elements/SelectAll/index.js +35 -0
- package/dist/elements/SelectRow/index.js +31 -0
- package/dist/elements/ShimmerEffect/index.js +96 -0
- package/dist/elements/SortColumn/index.d.ts.map +1 -1
- package/dist/elements/SortColumn/index.js +139 -0
- package/dist/elements/SortColumn/types.js +6 -0
- package/dist/elements/SortComplex/index.d.ts.map +1 -1
- package/dist/elements/SortComplex/index.js +157 -0
- package/dist/elements/SortComplex/types.js +6 -0
- package/dist/elements/Status/index.js +202 -0
- package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +57 -0
- package/dist/elements/StayLoggedIn/types.js +6 -0
- package/dist/elements/StepNav/SetStepNav.js +25 -0
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +127 -0
- package/dist/elements/StepNav/types.js +6 -0
- package/dist/elements/Table/TableCellProvider/index.js +47 -0
- package/dist/elements/Table/index.js +63 -0
- package/dist/elements/Table/types.js +6 -0
- package/dist/elements/TableColumns/buildColumns.js +77 -0
- package/dist/elements/TableColumns/columnReducer.js +47 -0
- package/dist/elements/TableColumns/index.js +199 -0
- package/dist/elements/Thumbnail/index.js +89 -0
- package/dist/elements/Thumbnail/types.js +6 -0
- package/dist/elements/ThumbnailCard/index.js +54 -0
- package/dist/elements/ThumbnailCard/types.js +6 -0
- package/dist/elements/Tooltip/index.js +114 -0
- package/dist/elements/Tooltip/types.js +6 -0
- package/dist/elements/Translation/index.js +81 -0
- package/dist/elements/UnpublishMany/index.js +169 -0
- package/dist/elements/UnpublishMany/types.js +6 -0
- package/dist/elements/Upload/index.js +250 -0
- package/dist/elements/Upload/types.js +6 -0
- package/dist/elements/ViewDescription/index.js +38 -0
- package/dist/elements/ViewDescription/types.js +21 -0
- package/dist/elements/WhereBuilder/Condition/Date/index.js +32 -0
- package/dist/elements/WhereBuilder/Condition/Date/types.js +6 -0
- package/dist/elements/WhereBuilder/Condition/Number/index.js +33 -0
- package/dist/elements/WhereBuilder/Condition/Number/types.js +6 -0
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +337 -0
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +98 -0
- package/dist/elements/WhereBuilder/Condition/Relationship/types.js +6 -0
- package/dist/elements/WhereBuilder/Condition/Select/index.js +96 -0
- package/dist/elements/WhereBuilder/Condition/Select/types.js +6 -0
- package/dist/elements/WhereBuilder/Condition/Text/index.js +33 -0
- package/dist/elements/WhereBuilder/Condition/Text/types.js +6 -0
- package/dist/elements/WhereBuilder/Condition/index.js +203 -0
- package/dist/elements/WhereBuilder/Condition/types.js +6 -0
- package/dist/elements/WhereBuilder/field-types.js +185 -0
- package/dist/elements/WhereBuilder/index.js +235 -0
- package/dist/elements/WhereBuilder/reducer.js +88 -0
- package/dist/elements/WhereBuilder/transformWhereQuery.js +57 -0
- package/dist/elements/WhereBuilder/types.js +6 -0
- package/dist/elements/WhereBuilder/validateWhereQuery.js +46 -0
- package/dist/exports/assets.js +27 -0
- package/dist/exports/elements.js +226 -0
- package/dist/exports/forms.js +158 -0
- package/dist/exports/graphics.js +27 -0
- package/dist/exports/hooks.js +55 -0
- package/dist/exports/icons.js +82 -0
- package/dist/exports/index.js +28 -0
- package/dist/exports/providers.js +116 -0
- package/dist/exports/templates.js +22 -0
- package/dist/exports/types.js +6 -0
- package/dist/exports/utilities.js +62 -0
- package/dist/forms/Error/index.js +43 -0
- package/dist/forms/FieldDescription/index.js +38 -0
- package/dist/forms/FieldDescription/types.js +6 -0
- package/dist/forms/FieldPathProvider/index.js +44 -0
- package/dist/forms/FieldPathProvider/types.js +6 -0
- package/dist/forms/Form/buildFieldSchemaMap.js +54 -0
- package/dist/forms/Form/buildInitialState.js +26 -0
- package/dist/forms/Form/context.js +84 -0
- package/dist/forms/Form/createNestedFieldPath.js +25 -0
- package/dist/forms/Form/errorMessages.js +15 -0
- package/dist/forms/Form/fieldReducer.js +286 -0
- package/dist/forms/Form/getDataByPath.js +29 -0
- package/dist/forms/Form/getSiblingData.js +50 -0
- package/dist/forms/Form/index.js +565 -0
- package/dist/forms/Form/initContextState.js +45 -0
- package/dist/forms/Form/mergeServerFormState.js +45 -0
- package/dist/forms/Form/reduceFieldsToValues.js +34 -0
- package/dist/forms/Form/rows.js +53 -0
- package/dist/forms/Form/types.js +6 -0
- package/dist/forms/Label/index.js +36 -0
- package/dist/forms/NullifyField/index.js +103 -0
- package/dist/forms/RenderFields/RenderField.js +30 -0
- package/dist/forms/RenderFields/index.js +66 -0
- package/dist/forms/RenderFields/types.js +6 -0
- package/dist/forms/RowLabel/index.js +50 -0
- package/dist/forms/RowLabel/types.js +21 -0
- package/dist/forms/Submit/index.js +75 -0
- package/dist/forms/WatchChildErrors/buildPathSegments.js +37 -0
- package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js +35 -0
- package/dist/forms/WatchChildErrors/getNestedFieldState.js +28 -0
- package/dist/forms/WatchChildErrors/index.js +41 -0
- package/dist/forms/fields/Array/ArrayRow.js +87 -0
- package/dist/forms/fields/Array/index.js +305 -0
- package/dist/forms/fields/Array/types.js +6 -0
- package/dist/forms/fields/Blocks/BlockRow.js +101 -0
- package/dist/forms/fields/Blocks/BlocksDrawer/BlockSearch/index.js +37 -0
- package/dist/forms/fields/Blocks/BlocksDrawer/index.js +134 -0
- package/dist/forms/fields/Blocks/BlocksDrawer/types.js +6 -0
- package/dist/forms/fields/Blocks/RowActions.js +52 -0
- package/dist/forms/fields/Blocks/SectionTitle/index.js +54 -0
- package/dist/forms/fields/Blocks/SectionTitle/types.js +6 -0
- package/dist/forms/fields/Blocks/index.js +317 -0
- package/dist/forms/fields/Blocks/types.js +6 -0
- package/dist/forms/fields/Checkbox/Input.js +56 -0
- package/dist/forms/fields/Checkbox/index.js +134 -0
- package/dist/forms/fields/Checkbox/types.js +6 -0
- package/dist/forms/fields/Code/index.js +115 -0
- package/dist/forms/fields/Code/types.js +6 -0
- package/dist/forms/fields/Collapsible/index.js +169 -0
- package/dist/forms/fields/Collapsible/types.js +6 -0
- package/dist/forms/fields/ConfirmPassword/index.js +112 -0
- package/dist/forms/fields/ConfirmPassword/types.js +6 -0
- package/dist/forms/fields/DateTime/index.js +115 -0
- package/dist/forms/fields/DateTime/types.js +6 -0
- package/dist/forms/fields/Email/index.js +121 -0
- package/dist/forms/fields/Email/types.js +6 -0
- package/dist/forms/fields/Group/index.js +127 -0
- package/dist/forms/fields/Group/provider.js +74 -0
- package/dist/forms/fields/Group/types.js +6 -0
- package/dist/forms/fields/HiddenInput/index.js +88 -0
- package/dist/forms/fields/HiddenInput/types.js +6 -0
- package/dist/forms/fields/JSON/index.js +137 -0
- package/dist/forms/fields/JSON/types.js +6 -0
- package/dist/forms/fields/Number/index.js +212 -0
- package/dist/forms/fields/Number/types.js +6 -0
- package/dist/forms/fields/Password/index.js +116 -0
- package/dist/forms/fields/Password/types.js +6 -0
- package/dist/forms/fields/Point/index.js +147 -0
- package/dist/forms/fields/Point/types.js +6 -0
- package/dist/forms/fields/RadioGroup/Radio/index.js +45 -0
- package/dist/forms/fields/RadioGroup/index.js +147 -0
- package/dist/forms/fields/RadioGroup/types.js +6 -0
- package/dist/forms/fields/Relationship/AddNew/index.js +216 -0
- package/dist/forms/fields/Relationship/AddNew/types.js +6 -0
- package/dist/forms/fields/Relationship/AddNew/useRelatedCollections.js +27 -0
- package/dist/forms/fields/Relationship/createRelationMap.js +59 -0
- package/dist/forms/fields/Relationship/findOptionsByValue.js +45 -0
- package/dist/forms/fields/Relationship/index.js +509 -0
- package/dist/forms/fields/Relationship/optionsReducer.js +126 -0
- package/dist/forms/fields/Relationship/select-components/MultiValueLabel/index.js +109 -0
- package/dist/forms/fields/Relationship/select-components/SingleValue/index.js +108 -0
- package/dist/forms/fields/Relationship/types.js +6 -0
- package/dist/forms/fields/RichText/index.js +16 -0
- package/dist/forms/fields/RichText/types.js +6 -0
- package/dist/forms/fields/Row/index.js +42 -0
- package/dist/forms/fields/Row/provider.js +74 -0
- package/dist/forms/fields/Row/types.js +6 -0
- package/dist/forms/fields/Select/index.js +183 -0
- package/dist/forms/fields/Select/types.js +6 -0
- package/dist/forms/fields/Tabs/Tab/index.js +85 -0
- package/dist/forms/fields/Tabs/index.js +167 -0
- package/dist/forms/fields/Tabs/provider.js +74 -0
- package/dist/forms/fields/Tabs/types.js +6 -0
- package/dist/forms/fields/Text/index.js +194 -0
- package/dist/forms/fields/Text/types.js +6 -0
- package/dist/forms/fields/Textarea/index.js +133 -0
- package/dist/forms/fields/Textarea/types.js +6 -0
- package/dist/forms/fields/UI/index.js +16 -0
- package/dist/forms/fields/Upload/Input.js +3 -0
- package/dist/forms/fields/Upload/index.js +210 -0
- package/dist/forms/fields/Upload/types.js +6 -0
- package/dist/forms/fields/getFilterOptionsQuery.js +39 -0
- package/dist/forms/fields/index.js +67 -0
- package/dist/forms/fields/shared.js +29 -0
- package/dist/forms/useField/index.js +169 -0
- package/dist/forms/useField/types.js +6 -0
- package/dist/forms/utilities/buildStateFromSchema/addFieldStatePromise.js +335 -0
- package/dist/forms/utilities/buildStateFromSchema/buildStateFromSchema.spec.js +76 -0
- package/dist/forms/utilities/buildStateFromSchema/index.js +35 -0
- package/dist/forms/utilities/buildStateFromSchema/iterateFields.js +48 -0
- package/dist/forms/withCondition/WatchCondition.js +66 -0
- package/dist/forms/withCondition/index.js +33 -0
- package/dist/graphics/Account/Default/index.js +43 -0
- package/dist/graphics/Account/Gravatar/index.js +42 -0
- package/dist/graphics/Account/index.js +50 -0
- package/dist/graphics/DefaultBlockImage/index.js +84 -0
- package/dist/graphics/ExternalLink/index.js +34 -0
- package/dist/graphics/File/index.js +36 -0
- package/dist/graphics/Icon/index.js +64 -0
- package/dist/graphics/Logo/index.js +60 -0
- package/dist/graphics/Search/index.js +42 -0
- package/dist/hooks/useAdminThumbnail.js +17 -0
- package/dist/hooks/useDebounce.js +31 -0
- package/dist/hooks/useDebouncedCallback.js +29 -0
- package/dist/hooks/useDebouncedEffect.js +32 -0
- package/dist/hooks/useDelay.js +82 -0
- package/dist/hooks/useDelayedRender.js +97 -0
- package/dist/hooks/useHotkey.js +129 -0
- package/dist/hooks/useIntersect.js +39 -0
- package/dist/hooks/usePayloadAPI.js +94 -0
- package/dist/hooks/useResize.js +59 -0
- package/dist/hooks/useThrottledEffect.js +31 -0
- package/dist/hooks/useThumbnail.js +57 -0
- package/dist/hooks/useUseAsTitle.js +19 -0
- package/dist/icons/Calendar/index.js +48 -0
- package/dist/icons/Check/index.js +34 -0
- package/dist/icons/Chevron/index.js +36 -0
- package/dist/icons/CloseMenu/index.js +39 -0
- package/dist/icons/CodeBlock/index.js +32 -0
- package/dist/icons/Copy/index.js +33 -0
- package/dist/icons/DragHandle/index.js +57 -0
- package/dist/icons/Edit/index.js +37 -0
- package/dist/icons/Line/index.js +30 -0
- package/dist/icons/Link/index.js +33 -0
- package/dist/icons/LogOut/index.js +37 -0
- package/dist/icons/Menu/index.js +45 -0
- package/dist/icons/MinimizeMaximize/index.js +87 -0
- package/dist/icons/More/index.js +42 -0
- package/dist/icons/Plus/index.js +36 -0
- package/dist/icons/Search/index.js +36 -0
- package/dist/icons/Swap/index.js +43 -0
- package/dist/icons/X/index.js +41 -0
- package/dist/index.js +20 -0
- package/dist/providers/ActionsProvider/index.js +89 -0
- package/dist/providers/Auth/HydrateClientUser/index.js +28 -0
- package/dist/providers/Auth/index.js +373 -0
- package/dist/providers/Auth/types.js +6 -0
- package/dist/providers/ClientFunction/index.js +65 -0
- package/dist/providers/ComponentMapProvider/index.js +98 -0
- package/dist/providers/Config/index.js +70 -0
- package/dist/providers/CustomProvider/index.js +38 -0
- package/dist/providers/DocumentEvents/index.js +77 -0
- package/dist/providers/DocumentEvents/types.js +6 -0
- package/dist/providers/DocumentInfo/SetDocumentInfo/index.js +34 -0
- package/dist/providers/DocumentInfo/index.js +353 -0
- package/dist/providers/DocumentInfo/types.js +6 -0
- package/dist/providers/EditDepth/index.js +71 -0
- package/dist/providers/FormQueryParams/index.js +77 -0
- package/dist/providers/ListInfo/index.js +78 -0
- package/dist/providers/ListInfo/types.js +6 -0
- package/dist/providers/Locale/index.js +122 -0
- package/dist/providers/OperationProvider/index.js +71 -0
- package/dist/providers/Params/index.js +72 -0
- package/dist/providers/Portal/index.js +20 -0
- package/dist/providers/Preferences/index.js +184 -0
- package/dist/providers/Root/index.js +103 -0
- package/dist/providers/SearchParams/index.js +119 -0
- package/dist/providers/SearchParams/types.js +6 -0
- package/dist/providers/SelectionProvider/index.js +218 -0
- package/dist/providers/Theme/index.js +123 -0
- package/dist/providers/Theme/types.js +6 -0
- package/dist/providers/Theme/utilities.js +35 -0
- package/dist/providers/Translation/index.js +92 -0
- package/dist/templates/Default/NavHamburger/index.js +28 -0
- package/dist/templates/Default/Wrapper/index.js +32 -0
- package/dist/templates/Default/index.js +88 -0
- package/dist/templates/Default/types.js +6 -0
- package/dist/templates/Minimal/index.js +34 -0
- package/dist/templates/Minimal/types.js +6 -0
- package/dist/utilities/api.js +98 -0
- package/dist/utilities/arraysHaveSameStrings.js +28 -0
- package/dist/utilities/buildComponentMap/index.js +101 -0
- package/dist/utilities/buildComponentMap/mapFields.js +318 -0
- package/dist/utilities/buildComponentMap/types.js +6 -0
- package/dist/utilities/buildFieldSchemaMap/index.js +36 -0
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js +94 -0
- package/dist/utilities/buildFieldSchemaMap/types.js +6 -0
- package/dist/utilities/canUseDOM.js +13 -0
- package/dist/utilities/findLocaleFromCode.js +18 -0
- package/dist/utilities/formatDate/getSupportedDateLocale.js +21 -0
- package/dist/utilities/formatDate/index.js +78 -0
- package/dist/utilities/formatDocTitle.js +33 -0
- package/dist/utilities/formatFields.js +14 -0
- package/dist/utilities/getFormState.js +28 -0
- package/dist/utilities/getOffsetTop.js +26 -0
- package/dist/utilities/getRequestLanguage.js +17 -0
- package/dist/utilities/getSupportedMonacoLocale.js +26 -0
- package/dist/utilities/groupNavItems.js +61 -0
- package/dist/utilities/scrollToID.js +22 -0
- package/dist/utilities/setsAreEqual.js +17 -0
- package/dist/utilities/withMergedProps/index.js +27 -0
- package/dist/views/Global/RenderCustomView.js +3 -0
- 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
|