@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,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "getFilterOptionsQuery", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return getFilterOptionsQuery;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const getFilterOptionsQuery = async (filterOptions, options)=>{
|
|
12
|
+
const { relationTo } = options;
|
|
13
|
+
const relations = Array.isArray(relationTo) ? relationTo : [
|
|
14
|
+
relationTo
|
|
15
|
+
];
|
|
16
|
+
const query = {};
|
|
17
|
+
if (typeof filterOptions !== 'undefined') {
|
|
18
|
+
await Promise.all(relations.map(async (relation)=>{
|
|
19
|
+
query[relation] = typeof filterOptions === 'function' ? await filterOptions({
|
|
20
|
+
...options,
|
|
21
|
+
relationTo: relation
|
|
22
|
+
}) : filterOptions;
|
|
23
|
+
if (query[relation] === true) {
|
|
24
|
+
query[relation] = {};
|
|
25
|
+
}
|
|
26
|
+
// this is an ugly way to prevent results from being returned
|
|
27
|
+
if (query[relation] === false) {
|
|
28
|
+
query[relation] = {
|
|
29
|
+
id: {
|
|
30
|
+
exists: false
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
return query;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mb3Jtcy9maWVsZHMvZ2V0RmlsdGVyT3B0aW9uc1F1ZXJ5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmlsdGVyT3B0aW9ucywgRmlsdGVyT3B0aW9uc1Byb3BzLCBXaGVyZSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmV4cG9ydCBjb25zdCBnZXRGaWx0ZXJPcHRpb25zUXVlcnkgPSBhc3luYyAoXG4gIGZpbHRlck9wdGlvbnM6IEZpbHRlck9wdGlvbnMsXG4gIG9wdGlvbnM6IE9taXQ8RmlsdGVyT3B0aW9uc1Byb3BzLCAncmVsYXRpb25Ubyc+ICYgeyByZWxhdGlvblRvOiBzdHJpbmcgfCBzdHJpbmdbXSB9LFxuKTogUHJvbWlzZTx7IFtjb2xsZWN0aW9uOiBzdHJpbmddOiBXaGVyZSB9PiA9PiB7XG4gIGNvbnN0IHsgcmVsYXRpb25UbyB9ID0gb3B0aW9uc1xuICBjb25zdCByZWxhdGlvbnMgPSBBcnJheS5pc0FycmF5KHJlbGF0aW9uVG8pID8gcmVsYXRpb25UbyA6IFtyZWxhdGlvblRvXVxuICBjb25zdCBxdWVyeSA9IHt9XG4gIGlmICh0eXBlb2YgZmlsdGVyT3B0aW9ucyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIHJlbGF0aW9ucy5tYXAoYXN5bmMgKHJlbGF0aW9uKSA9PiB7XG4gICAgICAgIHF1ZXJ5W3JlbGF0aW9uXSA9XG4gICAgICAgICAgdHlwZW9mIGZpbHRlck9wdGlvbnMgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgID8gYXdhaXQgZmlsdGVyT3B0aW9ucyh7IC4uLm9wdGlvbnMsIHJlbGF0aW9uVG86IHJlbGF0aW9uIH0pXG4gICAgICAgICAgICA6IGZpbHRlck9wdGlvbnNcbiAgICAgICAgaWYgKHF1ZXJ5W3JlbGF0aW9uXSA9PT0gdHJ1ZSkge1xuICAgICAgICAgIHF1ZXJ5W3JlbGF0aW9uXSA9IHt9XG4gICAgICAgIH1cbiAgICAgICAgLy8gdGhpcyBpcyBhbiB1Z2x5IHdheSB0byBwcmV2ZW50IHJlc3VsdHMgZnJvbSBiZWluZyByZXR1cm5lZFxuICAgICAgICBpZiAocXVlcnlbcmVsYXRpb25dID09PSBmYWxzZSkge1xuICAgICAgICAgIHF1ZXJ5W3JlbGF0aW9uXSA9IHsgaWQ6IHsgZXhpc3RzOiBmYWxzZSB9IH1cbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgKVxuICB9XG4gIHJldHVybiBxdWVyeVxufVxuIl0sIm5hbWVzIjpbImdldEZpbHRlck9wdGlvbnNRdWVyeSIsImZpbHRlck9wdGlvbnMiLCJvcHRpb25zIiwicmVsYXRpb25UbyIsInJlbGF0aW9ucyIsIkFycmF5IiwiaXNBcnJheSIsInF1ZXJ5IiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsInJlbGF0aW9uIiwiaWQiLCJleGlzdHMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBRWFBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLHdCQUF3QixPQUNuQ0MsZUFDQUM7SUFFQSxNQUFNLEVBQUVDLFVBQVUsRUFBRSxHQUFHRDtJQUN2QixNQUFNRSxZQUFZQyxNQUFNQyxPQUFPLENBQUNILGNBQWNBLGFBQWE7UUFBQ0E7S0FBVztJQUN2RSxNQUFNSSxRQUFRLENBQUM7SUFDZixJQUFJLE9BQU9OLGtCQUFrQixhQUFhO1FBQ3hDLE1BQU1PLFFBQVFDLEdBQUcsQ0FDZkwsVUFBVU0sR0FBRyxDQUFDLE9BQU9DO1lBQ25CSixLQUFLLENBQUNJLFNBQVMsR0FDYixPQUFPVixrQkFBa0IsYUFDckIsTUFBTUEsY0FBYztnQkFBRSxHQUFHQyxPQUFPO2dCQUFFQyxZQUFZUTtZQUFTLEtBQ3ZEVjtZQUNOLElBQUlNLEtBQUssQ0FBQ0ksU0FBUyxLQUFLLE1BQU07Z0JBQzVCSixLQUFLLENBQUNJLFNBQVMsR0FBRyxDQUFDO1lBQ3JCO1lBQ0EsNkRBQTZEO1lBQzdELElBQUlKLEtBQUssQ0FBQ0ksU0FBUyxLQUFLLE9BQU87Z0JBQzdCSixLQUFLLENBQUNJLFNBQVMsR0FBRztvQkFBRUMsSUFBSTt3QkFBRUMsUUFBUTtvQkFBTTtnQkFBRTtZQUM1QztRQUNGO0lBRUo7SUFDQSxPQUFPTjtBQUNUIn0=
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "fieldTypes", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return fieldTypes;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _Array = /*#__PURE__*/ _interop_require_default(require("./Array"));
|
|
12
|
+
const _Blocks = /*#__PURE__*/ _interop_require_default(require("./Blocks"));
|
|
13
|
+
const _Checkbox = /*#__PURE__*/ _interop_require_default(require("./Checkbox"));
|
|
14
|
+
const _Code = /*#__PURE__*/ _interop_require_default(require("./Code"));
|
|
15
|
+
const _Collapsible = /*#__PURE__*/ _interop_require_default(require("./Collapsible"));
|
|
16
|
+
const _ConfirmPassword = /*#__PURE__*/ _interop_require_default(require("./ConfirmPassword"));
|
|
17
|
+
const _DateTime = /*#__PURE__*/ _interop_require_default(require("./DateTime"));
|
|
18
|
+
const _Email = /*#__PURE__*/ _interop_require_default(require("./Email"));
|
|
19
|
+
const _Group = /*#__PURE__*/ _interop_require_default(require("./Group"));
|
|
20
|
+
const _HiddenInput = /*#__PURE__*/ _interop_require_default(require("./HiddenInput"));
|
|
21
|
+
const _JSON = /*#__PURE__*/ _interop_require_default(require("./JSON"));
|
|
22
|
+
const _Number = /*#__PURE__*/ _interop_require_default(require("./Number"));
|
|
23
|
+
const _Password = /*#__PURE__*/ _interop_require_default(require("./Password"));
|
|
24
|
+
const _Point = /*#__PURE__*/ _interop_require_default(require("./Point"));
|
|
25
|
+
const _RadioGroup = /*#__PURE__*/ _interop_require_default(require("./RadioGroup"));
|
|
26
|
+
const _Relationship = /*#__PURE__*/ _interop_require_default(require("./Relationship"));
|
|
27
|
+
const _RichText = /*#__PURE__*/ _interop_require_default(require("./RichText"));
|
|
28
|
+
const _Row = /*#__PURE__*/ _interop_require_default(require("./Row"));
|
|
29
|
+
const _Select = /*#__PURE__*/ _interop_require_default(require("./Select"));
|
|
30
|
+
const _Tabs = /*#__PURE__*/ _interop_require_default(require("./Tabs"));
|
|
31
|
+
const _Text = /*#__PURE__*/ _interop_require_default(require("./Text"));
|
|
32
|
+
const _Textarea = /*#__PURE__*/ _interop_require_default(require("./Textarea"));
|
|
33
|
+
const _UI = /*#__PURE__*/ _interop_require_default(require("./UI"));
|
|
34
|
+
const _Upload = /*#__PURE__*/ _interop_require_default(require("./Upload"));
|
|
35
|
+
function _interop_require_default(obj) {
|
|
36
|
+
return obj && obj.__esModule ? obj : {
|
|
37
|
+
default: obj
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
const fieldTypes = {
|
|
41
|
+
array: _Array.default,
|
|
42
|
+
blocks: _Blocks.default,
|
|
43
|
+
checkbox: _Checkbox.default,
|
|
44
|
+
code: _Code.default,
|
|
45
|
+
collapsible: _Collapsible.default,
|
|
46
|
+
confirmPassword: _ConfirmPassword.default,
|
|
47
|
+
date: _DateTime.default,
|
|
48
|
+
email: _Email.default,
|
|
49
|
+
group: _Group.default,
|
|
50
|
+
hidden: _HiddenInput.default,
|
|
51
|
+
json: _JSON.default,
|
|
52
|
+
number: _Number.default,
|
|
53
|
+
password: _Password.default,
|
|
54
|
+
point: _Point.default,
|
|
55
|
+
radio: _RadioGroup.default,
|
|
56
|
+
relationship: _Relationship.default,
|
|
57
|
+
richText: _RichText.default,
|
|
58
|
+
row: _Row.default,
|
|
59
|
+
select: _Select.default,
|
|
60
|
+
tabs: _Tabs.default,
|
|
61
|
+
text: _Text.default,
|
|
62
|
+
textarea: _Textarea.default,
|
|
63
|
+
ui: _UI.default,
|
|
64
|
+
upload: _Upload.default
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mb3Jtcy9maWVsZHMvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmllbGRUeXBlcyB9IGZyb20gJ3BheWxvYWQvY29uZmlnJ1xuXG5pbXBvcnQgYXJyYXkgZnJvbSAnLi9BcnJheSdcbmltcG9ydCBibG9ja3MgZnJvbSAnLi9CbG9ja3MnXG5pbXBvcnQgY2hlY2tib3ggZnJvbSAnLi9DaGVja2JveCdcbmltcG9ydCBjb2RlIGZyb20gJy4vQ29kZSdcbmltcG9ydCBjb2xsYXBzaWJsZSBmcm9tICcuL0NvbGxhcHNpYmxlJ1xuaW1wb3J0IGNvbmZpcm1QYXNzd29yZCBmcm9tICcuL0NvbmZpcm1QYXNzd29yZCdcbmltcG9ydCBkYXRlIGZyb20gJy4vRGF0ZVRpbWUnXG5pbXBvcnQgZW1haWwgZnJvbSAnLi9FbWFpbCdcbmltcG9ydCBncm91cCBmcm9tICcuL0dyb3VwJ1xuaW1wb3J0IGhpZGRlbiBmcm9tICcuL0hpZGRlbklucHV0J1xuaW1wb3J0IGpzb24gZnJvbSAnLi9KU09OJ1xuaW1wb3J0IG51bWJlciBmcm9tICcuL051bWJlcidcbmltcG9ydCBwYXNzd29yZCBmcm9tICcuL1Bhc3N3b3JkJ1xuaW1wb3J0IHBvaW50IGZyb20gJy4vUG9pbnQnXG5pbXBvcnQgcmFkaW8gZnJvbSAnLi9SYWRpb0dyb3VwJ1xuaW1wb3J0IHJlbGF0aW9uc2hpcCBmcm9tICcuL1JlbGF0aW9uc2hpcCdcbmltcG9ydCByaWNoVGV4dCBmcm9tICcuL1JpY2hUZXh0J1xuaW1wb3J0IHJvdyBmcm9tICcuL1JvdydcbmltcG9ydCBzZWxlY3QgZnJvbSAnLi9TZWxlY3QnXG5pbXBvcnQgdGFicyBmcm9tICcuL1RhYnMnXG5pbXBvcnQgdGV4dCBmcm9tICcuL1RleHQnXG5pbXBvcnQgdGV4dGFyZWEgZnJvbSAnLi9UZXh0YXJlYSdcbmltcG9ydCB1aSBmcm9tICcuL1VJJ1xuaW1wb3J0IHVwbG9hZCBmcm9tICcuL1VwbG9hZCdcblxuZXhwb3J0IGNvbnN0IGZpZWxkVHlwZXM6IEZpZWxkVHlwZXMgPSB7XG4gIGFycmF5LFxuICBibG9ja3MsXG4gIGNoZWNrYm94LFxuICBjb2RlLFxuICBjb2xsYXBzaWJsZSxcbiAgY29uZmlybVBhc3N3b3JkLFxuICBkYXRlLFxuICBlbWFpbCxcbiAgZ3JvdXAsXG4gIGhpZGRlbixcbiAganNvbixcbiAgbnVtYmVyLFxuICBwYXNzd29yZCxcbiAgcG9pbnQsXG4gIHJhZGlvLFxuICByZWxhdGlvbnNoaXAsXG4gIHJpY2hUZXh0LFxuICByb3csXG4gIHNlbGVjdCxcbiAgdGFicyxcbiAgdGV4dCxcbiAgdGV4dGFyZWEsXG4gIHVpLFxuICB1cGxvYWQsXG59XG4iXSwibmFtZXMiOlsiZmllbGRUeXBlcyIsImFycmF5IiwiYmxvY2tzIiwiY2hlY2tib3giLCJjb2RlIiwiY29sbGFwc2libGUiLCJjb25maXJtUGFzc3dvcmQiLCJkYXRlIiwiZW1haWwiLCJncm91cCIsImhpZGRlbiIsImpzb24iLCJudW1iZXIiLCJwYXNzd29yZCIsInBvaW50IiwicmFkaW8iLCJyZWxhdGlvbnNoaXAiLCJyaWNoVGV4dCIsInJvdyIsInNlbGVjdCIsInRhYnMiLCJ0ZXh0IiwidGV4dGFyZWEiLCJ1aSIsInVwbG9hZCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkEyQmFBOzs7ZUFBQUE7Ozs4REF6Qks7K0RBQ0M7aUVBQ0U7NkRBQ0o7b0VBQ087d0VBQ0k7aUVBQ1g7OERBQ0M7OERBQ0E7b0VBQ0M7NkRBQ0Y7K0RBQ0U7aUVBQ0U7OERBQ0g7bUVBQ0E7cUVBQ087aUVBQ0o7NERBQ0w7K0RBQ0c7NkRBQ0Y7NkRBQ0E7aUVBQ0k7MkRBQ047K0RBQ0k7Ozs7OztBQUVaLE1BQU1BLGFBQXlCO0lBQ3BDQyxPQUFBQSxjQUFLO0lBQ0xDLFFBQUFBLGVBQU07SUFDTkMsVUFBQUEsaUJBQVE7SUFDUkMsTUFBQUEsYUFBSTtJQUNKQyxhQUFBQSxvQkFBVztJQUNYQyxpQkFBQUEsd0JBQWU7SUFDZkMsTUFBQUEsaUJBQUk7SUFDSkMsT0FBQUEsY0FBSztJQUNMQyxPQUFBQSxjQUFLO0lBQ0xDLFFBQUFBLG9CQUFNO0lBQ05DLE1BQUFBLGFBQUk7SUFDSkMsUUFBQUEsZUFBTTtJQUNOQyxVQUFBQSxpQkFBUTtJQUNSQyxPQUFBQSxjQUFLO0lBQ0xDLE9BQUFBLG1CQUFLO0lBQ0xDLGNBQUFBLHFCQUFZO0lBQ1pDLFVBQUFBLGlCQUFRO0lBQ1JDLEtBQUFBLFlBQUc7SUFDSEMsUUFBQUEsZUFBTTtJQUNOQyxNQUFBQSxhQUFJO0lBQ0pDLE1BQUFBLGFBQUk7SUFDSkMsVUFBQUEsaUJBQVE7SUFDUkMsSUFBQUEsV0FBRTtJQUNGQyxRQUFBQSxlQUFNO0FBQ1IifQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
fieldBaseClass: function() {
|
|
13
|
+
return fieldBaseClass;
|
|
14
|
+
},
|
|
15
|
+
isFieldRTL: function() {
|
|
16
|
+
return isFieldRTL;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const fieldBaseClass = 'field-type';
|
|
20
|
+
function isFieldRTL({ fieldLocalized, fieldRTL, locale, localizationConfig }) {
|
|
21
|
+
const hasMultipleLocales = locale && localizationConfig && localizationConfig.locales && localizationConfig.locales.length > 1;
|
|
22
|
+
const isCurrentLocaleDefaultLocale = locale?.code === localizationConfig?.defaultLocale;
|
|
23
|
+
return fieldRTL !== false && locale?.rtl === true && (fieldLocalized || !fieldLocalized && !hasMultipleLocales || // If there is only one locale which is also rtl, that field is rtl too
|
|
24
|
+
!fieldLocalized && isCurrentLocaleDefaultLocale) || // If the current locale is the default locale, but the field is not localized, that field is rtl too
|
|
25
|
+
fieldRTL === true // If fieldRTL is true. This should be useful for when no localization is set at all in the payload config, but you still want fields to be rtl.
|
|
26
|
+
;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mb3Jtcy9maWVsZHMvc2hhcmVkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVXNlciB9IGZyb20gJ3BheWxvYWQvYXV0aCdcbmltcG9ydCB0eXBlIHsgTG9jYWxlLCBTYW5pdGl6ZWRMb2NhbGl6YXRpb25Db25maWcgfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbmltcG9ydCB0eXBlIHtcbiAgQXJyYXlGaWVsZCxcbiAgQmxvY2tGaWVsZCxcbiAgQ29kZUZpZWxkLFxuICBEYXRlRmllbGQsXG4gIERvY3VtZW50UHJlZmVyZW5jZXMsXG4gIEpTT05GaWVsZCxcbiAgUmVsYXRpb25zaGlwRmllbGQsXG4gIFJvd0xhYmVsLFxuICBVcGxvYWRGaWVsZCxcbiAgVmFsaWRhdGUsXG59IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbiB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgRm9ybVN0YXRlIH0gZnJvbSAnLi4vLi4nXG5pbXBvcnQgdHlwZSB7XG4gIEZpZWxkTWFwLFxuICBNYXBwZWRGaWVsZCxcbiAgTWFwcGVkVGFiLFxuICBSZWR1Y2VkQmxvY2ssXG59IGZyb20gJy4uLy4uL3V0aWxpdGllcy9idWlsZENvbXBvbmVudE1hcC90eXBlcydcblxuZXhwb3J0IGNvbnN0IGZpZWxkQmFzZUNsYXNzID0gJ2ZpZWxkLXR5cGUnXG5cbmV4cG9ydCB0eXBlIEZvcm1GaWVsZEJhc2UgPSB7XG4gIEFmdGVySW5wdXQ/OiBSZWFjdC5SZWFjdE5vZGVcbiAgQmVmb3JlSW5wdXQ/OiBSZWFjdC5SZWFjdE5vZGVcbiAgRGVzY3JpcHRpb24/OiBSZWFjdC5SZWFjdE5vZGVcbiAgRXJyb3I/OiBSZWFjdC5SZWFjdE5vZGVcbiAgTGFiZWw/OiBSZWFjdC5SZWFjdE5vZGVcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIGRvY1ByZWZlcmVuY2VzPzogRG9jdW1lbnRQcmVmZXJlbmNlc1xuICBmaWVsZE1hcD86IEZpZWxkTWFwXG4gIGluaXRpYWxTdWJmaWVsZFN0YXRlPzogRm9ybVN0YXRlXG4gIGxhYmVsPzogc3RyaW5nXG4gIGxvY2FsZT86IExvY2FsZVxuICBsb2NhbGl6ZWQ/OiBib29sZWFuXG4gIG1heExlbmd0aD86IG51bWJlclxuICBtaW5MZW5ndGg/OiBudW1iZXJcbiAgcGF0aD86IHN0cmluZ1xuICBwbGFjZWhvbGRlcj86IHN0cmluZ1xuICByZWFkT25seT86IGJvb2xlYW5cbiAgcmVxdWlyZWQ/OiBib29sZWFuXG4gIHJ0bD86IGJvb2xlYW5cbiAgc3R5bGU/OiBSZWFjdC5DU1NQcm9wZXJ0aWVzXG4gIHVzZXI/OiBVc2VyXG4gIHZhbGlkYXRlPzogVmFsaWRhdGVcbiAgd2lkdGg/OiBzdHJpbmdcbn0gJiAoXG4gIHwge1xuICAgICAgLy8gRm9yIGBjb2RlYCBmaWVsZHNcbiAgICAgIGVkaXRvck9wdGlvbnM/OiBDb2RlRmllbGRbJ2FkbWluJ11bJ2VkaXRvck9wdGlvbnMnXVxuICAgICAgbGFuZ3VhZ2U/OiBDb2RlRmllbGRbJ2FkbWluJ11bJ2xhbmd1YWdlJ11cbiAgICB9XG4gIHwge1xuICAgICAgLy8gRm9yIGBjb2xsYXBzaWJsZWAgZmllbGRzXG4gICAgICBpbml0Q29sbGFwc2VkPzogYm9vbGVhblxuICAgIH1cbiAgfCB7XG4gICAgICAvLyBGb3IgYGRhdGVgIGZpZWxkc1xuICAgICAgZGF0ZT86IERhdGVGaWVsZFsnYWRtaW4nXVsnZGF0ZSddXG4gICAgfVxuICB8IHtcbiAgICAgIC8vIEZvciBganNvbmAgZmllbGRzXG4gICAgICBlZGl0b3JPcHRpb25zPzogSlNPTkZpZWxkWydhZG1pbiddWydlZGl0b3JPcHRpb25zJ11cbiAgICB9XG4gIHwge1xuICAgICAgLy8gRm9yIGByYWRpb2AgZmllbGRzXG4gICAgICBsYXlvdXQ/OiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnXG4gICAgICBvcHRpb25zPzogT3B0aW9uW11cbiAgICB9XG4gIHwge1xuICAgICAgLy8gRm9yIGByaWNoVGV4dGAgZmllbGRzXG4gICAgICByaWNoVGV4dENvbXBvbmVudE1hcD86IE1hcDxzdHJpbmcsIE1hcHBlZEZpZWxkW10gfCBSZWFjdC5SZWFjdE5vZGU+XG4gICAgfVxuICB8IHtcbiAgICAgIC8vIEZvciBgc2VsZWN0YCBmaWVsZHNcbiAgICAgIGlzQ2xlYXJhYmxlPzogYm9vbGVhblxuICAgICAgaXNTb3J0YWJsZT86IGJvb2xlYW5cbiAgICB9XG4gIHwge1xuICAgICAgLy8gRm9yIGB0ZXh0YXJlYWAgZmllbGRzXG4gICAgICByb3dzPzogbnVtYmVyXG4gICAgfVxuICB8IHtcbiAgICAgIC8vIEZvciBgdXBsb2FkYCBmaWVsZHNcbiAgICAgIHJlbGF0aW9uVG8/OiBVcGxvYWRGaWVsZFsncmVsYXRpb25UbyddXG4gICAgfVxuICB8IHtcbiAgICAgIGFsbG93Q3JlYXRlPzogUmVsYXRpb25zaGlwRmllbGRbJ2FkbWluJ11bJ2FsbG93Q3JlYXRlJ11cbiAgICAgIGZpbHRlck9wdGlvbnM/OiBSZWxhdGlvbnNoaXBGaWVsZFsnZmlsdGVyT3B0aW9ucyddXG4gICAgICAvLyBGb3IgYHJlbGF0aW9uc2hpcGAgZmllbGRzXG4gICAgICByZWxhdGlvblRvPzogUmVsYXRpb25zaGlwRmllbGRbJ3JlbGF0aW9uVG8nXVxuICAgICAgc29ydE9wdGlvbnM/OiBSZWxhdGlvbnNoaXBGaWVsZFsnYWRtaW4nXVsnc29ydE9wdGlvbnMnXVxuICAgIH1cbiAgfCB7XG4gICAgICBibG9ja3M/OiBSZWR1Y2VkQmxvY2tbXVxuICAgICAgbGFiZWxzPzogQmxvY2tGaWVsZFsnbGFiZWxzJ11cbiAgICAgIG1heFJvd3M/OiBCbG9ja0ZpZWxkWydtYXhSb3dzJ11cbiAgICAgIG1pblJvd3M/OiBCbG9ja0ZpZWxkWydtaW5Sb3dzJ11cbiAgICAgIC8vIEZvciBgYmxvY2tzYCBmaWVsZHNcbiAgICAgIHNsdWc/OiBzdHJpbmdcbiAgICB9XG4gIHwge1xuICAgICAgaGFzTWFueT86IGJvb2xlYW5cbiAgICAgIG1heD86IG51bWJlclxuICAgICAgbWF4Um93cz86IG51bWJlclxuICAgICAgbWluPzogbnVtYmVyXG4gICAgICAvLyBGb3IgYG51bWJlcmAgZmllbGRzXG4gICAgICBzdGVwPzogbnVtYmVyXG4gICAgfVxuICB8IHtcbiAgICAgIGxhYmVsPzogUm93TGFiZWxcbiAgICAgIGxhYmVscz86IEFycmF5RmllbGRbJ2xhYmVscyddXG4gICAgICBtYXhSb3dzPzogQXJyYXlGaWVsZFsnbWF4Um93cyddXG4gICAgICAvLyBGb3IgYGFycmF5YCBmaWVsZHNcbiAgICAgIG1pblJvd3M/OiBBcnJheUZpZWxkWydtaW5Sb3dzJ11cbiAgICB9XG4gIHwge1xuICAgICAgdGFicz86IE1hcHBlZFRhYltdXG4gICAgfVxuKVxuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBhIGZpZWxkIHNob3VsZCBiZSBkaXNwbGF5ZWQgYXMgcmlnaHQtdG8tbGVmdCAoUlRMKSBiYXNlZCBvbiBpdHMgY29uZmlndXJhdGlvbiwgcGF5bG9hZCdzIGxvY2FsaXphdGlvbiBjb25maWd1cmF0aW9uIGFuZCB0aGUgYWRtaW5nIHVzZXIncyBjdXJyZW50bHkgZW5hYmxlZCBsb2NhbGUuXG5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGZpZWxkIHNob3VsZCBiZSBkaXNwbGF5ZWQgYXMgUlRMLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGaWVsZFJUTCh7XG4gIGZpZWxkTG9jYWxpemVkLFxuICBmaWVsZFJUTCxcbiAgbG9jYWxlLFxuICBsb2NhbGl6YXRpb25Db25maWcsXG59OiB7XG4gIGZpZWxkTG9jYWxpemVkOiBib29sZWFuXG4gIGZpZWxkUlRMOiBib29sZWFuXG4gIGxvY2FsZTogTG9jYWxlXG4gIGxvY2FsaXphdGlvbkNvbmZpZz86IFNhbml0aXplZExvY2FsaXphdGlvbkNvbmZpZ1xufSkge1xuICBjb25zdCBoYXNNdWx0aXBsZUxvY2FsZXMgPVxuICAgIGxvY2FsZSAmJlxuICAgIGxvY2FsaXphdGlvbkNvbmZpZyAmJlxuICAgIGxvY2FsaXphdGlvbkNvbmZpZy5sb2NhbGVzICYmXG4gICAgbG9jYWxpemF0aW9uQ29uZmlnLmxvY2FsZXMubGVuZ3RoID4gMVxuXG4gIGNvbnN0IGlzQ3VycmVudExvY2FsZURlZmF1bHRMb2NhbGUgPSBsb2NhbGU/LmNvZGUgPT09IGxvY2FsaXphdGlvbkNvbmZpZz8uZGVmYXVsdExvY2FsZVxuXG4gIHJldHVybiAoXG4gICAgKGZpZWxkUlRMICE9PSBmYWxzZSAmJlxuICAgICAgbG9jYWxlPy5ydGwgPT09IHRydWUgJiZcbiAgICAgIChmaWVsZExvY2FsaXplZCB8fFxuICAgICAgICAoIWZpZWxkTG9jYWxpemVkICYmICFoYXNNdWx0aXBsZUxvY2FsZXMpIHx8IC8vIElmIHRoZXJlIGlzIG9ubHkgb25lIGxvY2FsZSB3aGljaCBpcyBhbHNvIHJ0bCwgdGhhdCBmaWVsZCBpcyBydGwgdG9vXG4gICAgICAgICghZmllbGRMb2NhbGl6ZWQgJiYgaXNDdXJyZW50TG9jYWxlRGVmYXVsdExvY2FsZSkpKSB8fCAvLyBJZiB0aGUgY3VycmVudCBsb2NhbGUgaXMgdGhlIGRlZmF1bHQgbG9jYWxlLCBidXQgdGhlIGZpZWxkIGlzIG5vdCBsb2NhbGl6ZWQsIHRoYXQgZmllbGQgaXMgcnRsIHRvb1xuICAgIGZpZWxkUlRMID09PSB0cnVlXG4gICkgLy8gSWYgZmllbGRSVEwgaXMgdHJ1ZS4gVGhpcyBzaG91bGQgYmUgdXNlZnVsIGZvciB3aGVuIG5vIGxvY2FsaXphdGlvbiBpcyBzZXQgYXQgYWxsIGluIHRoZSBwYXlsb2FkIGNvbmZpZywgYnV0IHlvdSBzdGlsbCB3YW50IGZpZWxkcyB0byBiZSBydGwuXG59XG4iXSwibmFtZXMiOlsiZmllbGRCYXNlQ2xhc3MiLCJpc0ZpZWxkUlRMIiwiZmllbGRMb2NhbGl6ZWQiLCJmaWVsZFJUTCIsImxvY2FsZSIsImxvY2FsaXphdGlvbkNvbmZpZyIsImhhc011bHRpcGxlTG9jYWxlcyIsImxvY2FsZXMiLCJsZW5ndGgiLCJpc0N1cnJlbnRMb2NhbGVEZWZhdWx0TG9jYWxlIiwiY29kZSIsImRlZmF1bHRMb2NhbGUiLCJydGwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBd0JhQSxjQUFjO2VBQWRBOztJQTBHR0MsVUFBVTtlQUFWQTs7O0FBMUdULE1BQU1ELGlCQUFpQjtBQTBHdkIsU0FBU0MsV0FBVyxFQUN6QkMsY0FBYyxFQUNkQyxRQUFRLEVBQ1JDLE1BQU0sRUFDTkMsa0JBQWtCLEVBTW5CO0lBQ0MsTUFBTUMscUJBQ0pGLFVBQ0FDLHNCQUNBQSxtQkFBbUJFLE9BQU8sSUFDMUJGLG1CQUFtQkUsT0FBTyxDQUFDQyxNQUFNLEdBQUc7SUFFdEMsTUFBTUMsK0JBQStCTCxRQUFRTSxTQUFTTCxvQkFBb0JNO0lBRTFFLE9BQ0UsQUFBQ1IsYUFBYSxTQUNaQyxRQUFRUSxRQUFRLFFBQ2ZWLENBQUFBLGtCQUNFLENBQUNBLGtCQUFrQixDQUFDSSxzQkFBdUIsdUVBQXVFO0lBQ2xILENBQUNKLGtCQUFrQk8sNEJBQTRCLEtBQU8scUdBQXFHO0lBQ2hLTixhQUFhLEtBQ2IsZ0pBQWdKOztBQUNwSiJ9
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "default", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function() {
|
|
9
|
+
return _default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
const _react = require("react");
|
|
13
|
+
const _useThrottledEffect = /*#__PURE__*/ _interop_require_default(require("../../hooks/useThrottledEffect"));
|
|
14
|
+
const _Auth = require("../../providers/Auth");
|
|
15
|
+
const _Config = require("../../providers/Config");
|
|
16
|
+
const _DocumentInfo = require("../../providers/DocumentInfo");
|
|
17
|
+
const _OperationProvider = require("../../providers/OperationProvider");
|
|
18
|
+
const _Translation = require("../../providers/Translation");
|
|
19
|
+
const _FieldPathProvider = require("../FieldPathProvider");
|
|
20
|
+
const _context = require("../Form/context");
|
|
21
|
+
function _interop_require_default(obj) {
|
|
22
|
+
return obj && obj.__esModule ? obj : {
|
|
23
|
+
default: obj
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Get and set the value of a form field.
|
|
28
|
+
*
|
|
29
|
+
* @see https://payloadcms.com/docs/admin/hooks#usefield
|
|
30
|
+
*/ const useField = (options)=>{
|
|
31
|
+
const { disableFormData = false, hasRows, validate } = options;
|
|
32
|
+
const { path: pathFromContext, schemaPath } = (0, _FieldPathProvider.useFieldPath)();
|
|
33
|
+
const path = options.path || pathFromContext;
|
|
34
|
+
const submitted = (0, _context.useFormSubmitted)();
|
|
35
|
+
const processing = (0, _context.useFormProcessing)();
|
|
36
|
+
const { user } = (0, _Auth.useAuth)();
|
|
37
|
+
const { id } = (0, _DocumentInfo.useDocumentInfo)();
|
|
38
|
+
const operation = (0, _OperationProvider.useOperation)();
|
|
39
|
+
const { dispatchField, field } = (0, _context.useFormFields)(([fields, dispatch])=>({
|
|
40
|
+
dispatchField: dispatch,
|
|
41
|
+
field: fields && fields?.[path] || null
|
|
42
|
+
}));
|
|
43
|
+
const { t } = (0, _Translation.useTranslation)();
|
|
44
|
+
const config = (0, _Config.useConfig)();
|
|
45
|
+
const { getData, getDataByPath, getSiblingData, setModified } = (0, _context.useForm)();
|
|
46
|
+
const value = field?.value;
|
|
47
|
+
const initialValue = field?.initialValue;
|
|
48
|
+
const valid = typeof field?.valid === 'boolean' ? field.valid : true;
|
|
49
|
+
const showError = valid === false && submitted;
|
|
50
|
+
const prevValid = (0, _react.useRef)(valid);
|
|
51
|
+
// Method to return from `useField`, used to
|
|
52
|
+
// update field values from field component(s)
|
|
53
|
+
const setValue = (0, _react.useCallback)((e, disableModifyingForm = false)=>{
|
|
54
|
+
const val = e && e.target ? e.target.value : e;
|
|
55
|
+
if (!disableModifyingForm) {
|
|
56
|
+
if (typeof setModified === 'function') {
|
|
57
|
+
// Update modified state after field value comes back
|
|
58
|
+
// to avoid cursor jump caused by state value / DOM mismatch
|
|
59
|
+
setTimeout(()=>{
|
|
60
|
+
setModified(true);
|
|
61
|
+
}, 10);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
dispatchField({
|
|
65
|
+
type: 'UPDATE',
|
|
66
|
+
disableFormData: disableFormData || hasRows && val > 0,
|
|
67
|
+
path,
|
|
68
|
+
value: val
|
|
69
|
+
});
|
|
70
|
+
}, [
|
|
71
|
+
setModified,
|
|
72
|
+
path,
|
|
73
|
+
dispatchField,
|
|
74
|
+
disableFormData,
|
|
75
|
+
hasRows
|
|
76
|
+
]);
|
|
77
|
+
// Store result from hook as ref
|
|
78
|
+
// to prevent unnecessary rerenders
|
|
79
|
+
const result = (0, _react.useMemo)(()=>({
|
|
80
|
+
errorMessage: field?.errorMessage,
|
|
81
|
+
formProcessing: processing,
|
|
82
|
+
formSubmitted: submitted,
|
|
83
|
+
initialValue,
|
|
84
|
+
path,
|
|
85
|
+
rows: field?.rows,
|
|
86
|
+
schemaPath,
|
|
87
|
+
setValue,
|
|
88
|
+
showError,
|
|
89
|
+
valid: field?.valid,
|
|
90
|
+
value
|
|
91
|
+
}), [
|
|
92
|
+
field?.errorMessage,
|
|
93
|
+
field?.rows,
|
|
94
|
+
field?.valid,
|
|
95
|
+
processing,
|
|
96
|
+
setValue,
|
|
97
|
+
showError,
|
|
98
|
+
submitted,
|
|
99
|
+
value,
|
|
100
|
+
initialValue,
|
|
101
|
+
path,
|
|
102
|
+
schemaPath
|
|
103
|
+
]);
|
|
104
|
+
// Throttle the validate function
|
|
105
|
+
(0, _useThrottledEffect.default)(()=>{
|
|
106
|
+
const validateField = async ()=>{
|
|
107
|
+
let valueToValidate = value;
|
|
108
|
+
if (field?.rows && Array.isArray(field.rows)) {
|
|
109
|
+
valueToValidate = getDataByPath(path);
|
|
110
|
+
}
|
|
111
|
+
let errorMessage;
|
|
112
|
+
let valid = prevValid.current;
|
|
113
|
+
const isValid = typeof validate === 'function' ? await validate(valueToValidate, {
|
|
114
|
+
id,
|
|
115
|
+
config,
|
|
116
|
+
data: getData(),
|
|
117
|
+
operation,
|
|
118
|
+
siblingData: getSiblingData(path),
|
|
119
|
+
t,
|
|
120
|
+
user
|
|
121
|
+
}) : true;
|
|
122
|
+
if (typeof isValid === 'string') {
|
|
123
|
+
valid = false;
|
|
124
|
+
errorMessage = isValid;
|
|
125
|
+
} else if (typeof isValid === 'boolean') {
|
|
126
|
+
valid = isValid;
|
|
127
|
+
errorMessage = undefined;
|
|
128
|
+
}
|
|
129
|
+
// Only dispatch if the validation result has changed
|
|
130
|
+
// This will prevent unnecessary rerenders
|
|
131
|
+
if (valid !== prevValid.current) {
|
|
132
|
+
prevValid.current = valid;
|
|
133
|
+
const update = {
|
|
134
|
+
type: 'UPDATE',
|
|
135
|
+
errorMessage,
|
|
136
|
+
path,
|
|
137
|
+
rows: field?.rows,
|
|
138
|
+
valid,
|
|
139
|
+
// validate,
|
|
140
|
+
value
|
|
141
|
+
};
|
|
142
|
+
if (disableFormData || (hasRows ? typeof value === 'number' && value > 0 : false)) {
|
|
143
|
+
update.disableFormData = true;
|
|
144
|
+
}
|
|
145
|
+
if (typeof dispatchField === 'function') {
|
|
146
|
+
dispatchField(update);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
void validateField();
|
|
151
|
+
}, 150, [
|
|
152
|
+
value,
|
|
153
|
+
disableFormData,
|
|
154
|
+
dispatchField,
|
|
155
|
+
getData,
|
|
156
|
+
getSiblingData,
|
|
157
|
+
getDataByPath,
|
|
158
|
+
id,
|
|
159
|
+
operation,
|
|
160
|
+
path,
|
|
161
|
+
user,
|
|
162
|
+
validate,
|
|
163
|
+
field?.rows
|
|
164
|
+
]);
|
|
165
|
+
return result;
|
|
166
|
+
};
|
|
167
|
+
const _default = useField;
|
|
168
|
+
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mb3Jtcy91c2VGaWVsZC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgVVBEQVRFIH0gZnJvbSAnLi4vRm9ybS90eXBlcydcbmltcG9ydCB0eXBlIHsgRmllbGRUeXBlLCBPcHRpb25zIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHVzZVRocm90dGxlZEVmZmVjdCBmcm9tICcuLi8uLi9ob29rcy91c2VUaHJvdHRsZWRFZmZlY3QnXG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL0F1dGgnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvQ29uZmlnJ1xuaW1wb3J0IHsgdXNlRG9jdW1lbnRJbmZvIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL0RvY3VtZW50SW5mbydcbmltcG9ydCB7IHVzZU9wZXJhdGlvbiB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9PcGVyYXRpb25Qcm92aWRlcidcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL1RyYW5zbGF0aW9uJ1xuaW1wb3J0IHsgdXNlRmllbGRQYXRoIH0gZnJvbSAnLi4vRmllbGRQYXRoUHJvdmlkZXInXG5pbXBvcnQgeyB1c2VGb3JtLCB1c2VGb3JtRmllbGRzLCB1c2VGb3JtUHJvY2Vzc2luZywgdXNlRm9ybVN1Ym1pdHRlZCB9IGZyb20gJy4uL0Zvcm0vY29udGV4dCdcblxuLyoqXG4gKiBHZXQgYW5kIHNldCB0aGUgdmFsdWUgb2YgYSBmb3JtIGZpZWxkLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2FkbWluL2hvb2tzI3VzZWZpZWxkXG4gKi9cbmNvbnN0IHVzZUZpZWxkID0gPFQsPihvcHRpb25zOiBPcHRpb25zKTogRmllbGRUeXBlPFQ+ID0+IHtcbiAgY29uc3QgeyBkaXNhYmxlRm9ybURhdGEgPSBmYWxzZSwgaGFzUm93cywgdmFsaWRhdGUgfSA9IG9wdGlvbnNcblxuICBjb25zdCB7IHBhdGg6IHBhdGhGcm9tQ29udGV4dCwgc2NoZW1hUGF0aCB9ID0gdXNlRmllbGRQYXRoKClcblxuICBjb25zdCBwYXRoID0gb3B0aW9ucy5wYXRoIHx8IHBhdGhGcm9tQ29udGV4dFxuXG4gIGNvbnN0IHN1Ym1pdHRlZCA9IHVzZUZvcm1TdWJtaXR0ZWQoKVxuICBjb25zdCBwcm9jZXNzaW5nID0gdXNlRm9ybVByb2Nlc3NpbmcoKVxuICBjb25zdCB7IHVzZXIgfSA9IHVzZUF1dGgoKVxuICBjb25zdCB7IGlkIH0gPSB1c2VEb2N1bWVudEluZm8oKVxuICBjb25zdCBvcGVyYXRpb24gPSB1c2VPcGVyYXRpb24oKVxuXG4gIGNvbnN0IHsgZGlzcGF0Y2hGaWVsZCwgZmllbGQgfSA9IHVzZUZvcm1GaWVsZHMoKFtmaWVsZHMsIGRpc3BhdGNoXSkgPT4gKHtcbiAgICBkaXNwYXRjaEZpZWxkOiBkaXNwYXRjaCxcbiAgICBmaWVsZDogKGZpZWxkcyAmJiBmaWVsZHM/LltwYXRoXSkgfHwgbnVsbCxcbiAgfSkpXG5cbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpXG4gIGNvbnN0IGNvbmZpZyA9IHVzZUNvbmZpZygpXG5cbiAgY29uc3QgeyBnZXREYXRhLCBnZXREYXRhQnlQYXRoLCBnZXRTaWJsaW5nRGF0YSwgc2V0TW9kaWZpZWQgfSA9IHVzZUZvcm0oKVxuXG4gIGNvbnN0IHZhbHVlID0gZmllbGQ/LnZhbHVlIGFzIFRcbiAgY29uc3QgaW5pdGlhbFZhbHVlID0gZmllbGQ/LmluaXRpYWxWYWx1ZSBhcyBUXG4gIGNvbnN0IHZhbGlkID0gdHlwZW9mIGZpZWxkPy52YWxpZCA9PT0gJ2Jvb2xlYW4nID8gZmllbGQudmFsaWQgOiB0cnVlXG4gIGNvbnN0IHNob3dFcnJvciA9IHZhbGlkID09PSBmYWxzZSAmJiBzdWJtaXR0ZWRcblxuICBjb25zdCBwcmV2VmFsaWQgPSB1c2VSZWYodmFsaWQpXG5cbiAgLy8gTWV0aG9kIHRvIHJldHVybiBmcm9tIGB1c2VGaWVsZGAsIHVzZWQgdG9cbiAgLy8gdXBkYXRlIGZpZWxkIHZhbHVlcyBmcm9tIGZpZWxkIGNvbXBvbmVudChzKVxuICBjb25zdCBzZXRWYWx1ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChlLCBkaXNhYmxlTW9kaWZ5aW5nRm9ybSA9IGZhbHNlKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBlICYmIGUudGFyZ2V0ID8gZS50YXJnZXQudmFsdWUgOiBlXG5cbiAgICAgIGlmICghZGlzYWJsZU1vZGlmeWluZ0Zvcm0pIHtcbiAgICAgICAgaWYgKHR5cGVvZiBzZXRNb2RpZmllZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIC8vIFVwZGF0ZSBtb2RpZmllZCBzdGF0ZSBhZnRlciBmaWVsZCB2YWx1ZSBjb21lcyBiYWNrXG4gICAgICAgICAgLy8gdG8gYXZvaWQgY3Vyc29yIGp1bXAgY2F1c2VkIGJ5IHN0YXRlIHZhbHVlIC8gRE9NIG1pc21hdGNoXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBzZXRNb2RpZmllZCh0cnVlKVxuICAgICAgICAgIH0sIDEwKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRpc3BhdGNoRmllbGQoe1xuICAgICAgICB0eXBlOiAnVVBEQVRFJyxcbiAgICAgICAgZGlzYWJsZUZvcm1EYXRhOiBkaXNhYmxlRm9ybURhdGEgfHwgKGhhc1Jvd3MgJiYgdmFsID4gMCksXG4gICAgICAgIHBhdGgsXG4gICAgICAgIHZhbHVlOiB2YWwsXG4gICAgICB9KVxuICAgIH0sXG4gICAgW3NldE1vZGlmaWVkLCBwYXRoLCBkaXNwYXRjaEZpZWxkLCBkaXNhYmxlRm9ybURhdGEsIGhhc1Jvd3NdLFxuICApXG5cbiAgLy8gU3RvcmUgcmVzdWx0IGZyb20gaG9vayBhcyByZWZcbiAgLy8gdG8gcHJldmVudCB1bm5lY2Vzc2FyeSByZXJlbmRlcnNcbiAgY29uc3QgcmVzdWx0OiBGaWVsZFR5cGU8VD4gPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBlcnJvck1lc3NhZ2U6IGZpZWxkPy5lcnJvck1lc3NhZ2UsXG4gICAgICBmb3JtUHJvY2Vzc2luZzogcHJvY2Vzc2luZyxcbiAgICAgIGZvcm1TdWJtaXR0ZWQ6IHN1Ym1pdHRlZCxcbiAgICAgIGluaXRpYWxWYWx1ZSxcbiAgICAgIHBhdGgsXG4gICAgICByb3dzOiBmaWVsZD8ucm93cyxcbiAgICAgIHNjaGVtYVBhdGgsXG4gICAgICBzZXRWYWx1ZSxcbiAgICAgIHNob3dFcnJvcixcbiAgICAgIHZhbGlkOiBmaWVsZD8udmFsaWQsXG4gICAgICB2YWx1ZSxcbiAgICB9KSxcbiAgICBbXG4gICAgICBmaWVsZD8uZXJyb3JNZXNzYWdlLFxuICAgICAgZmllbGQ/LnJvd3MsXG4gICAgICBmaWVsZD8udmFsaWQsXG4gICAgICBwcm9jZXNzaW5nLFxuICAgICAgc2V0VmFsdWUsXG4gICAgICBzaG93RXJyb3IsXG4gICAgICBzdWJtaXR0ZWQsXG4gICAgICB2YWx1ZSxcbiAgICAgIGluaXRpYWxWYWx1ZSxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWFQYXRoLFxuICAgIF0sXG4gIClcblxuICAvLyBUaHJvdHRsZSB0aGUgdmFsaWRhdGUgZnVuY3Rpb25cbiAgdXNlVGhyb3R0bGVkRWZmZWN0KFxuICAgICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbGlkYXRlRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgIGxldCB2YWx1ZVRvVmFsaWRhdGUgPSB2YWx1ZVxuXG4gICAgICAgIGlmIChmaWVsZD8ucm93cyAmJiBBcnJheS5pc0FycmF5KGZpZWxkLnJvd3MpKSB7XG4gICAgICAgICAgdmFsdWVUb1ZhbGlkYXRlID0gZ2V0RGF0YUJ5UGF0aChwYXRoKVxuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGVycm9yTWVzc2FnZTogc3RyaW5nIHwgdW5kZWZpbmVkXG4gICAgICAgIGxldCB2YWxpZDogYm9vbGVhbiB8IHN0cmluZyA9IHByZXZWYWxpZC5jdXJyZW50XG5cbiAgICAgICAgY29uc3QgaXNWYWxpZCA9XG4gICAgICAgICAgdHlwZW9mIHZhbGlkYXRlID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICA/IGF3YWl0IHZhbGlkYXRlKHZhbHVlVG9WYWxpZGF0ZSwge1xuICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICAgICBkYXRhOiBnZXREYXRhKCksXG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICAgIHNpYmxpbmdEYXRhOiBnZXRTaWJsaW5nRGF0YShwYXRoKSxcbiAgICAgICAgICAgICAgICB0LFxuICAgICAgICAgICAgICAgIHVzZXIsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICA6IHRydWVcblxuICAgICAgICBpZiAodHlwZW9mIGlzVmFsaWQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgdmFsaWQgPSBmYWxzZVxuICAgICAgICAgIGVycm9yTWVzc2FnZSA9IGlzVmFsaWRcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgaXNWYWxpZCA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgdmFsaWQgPSBpc1ZhbGlkXG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gdW5kZWZpbmVkXG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IGRpc3BhdGNoIGlmIHRoZSB2YWxpZGF0aW9uIHJlc3VsdCBoYXMgY2hhbmdlZFxuICAgICAgICAvLyBUaGlzIHdpbGwgcHJldmVudCB1bm5lY2Vzc2FyeSByZXJlbmRlcnNcbiAgICAgICAgaWYgKHZhbGlkICE9PSBwcmV2VmFsaWQuY3VycmVudCkge1xuICAgICAgICAgIHByZXZWYWxpZC5jdXJyZW50ID0gdmFsaWRcblxuICAgICAgICAgIGNvbnN0IHVwZGF0ZTogVVBEQVRFID0ge1xuICAgICAgICAgICAgdHlwZTogJ1VQREFURScsXG4gICAgICAgICAgICBlcnJvck1lc3NhZ2UsXG4gICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgcm93czogZmllbGQ/LnJvd3MsXG4gICAgICAgICAgICB2YWxpZCxcbiAgICAgICAgICAgIC8vIHZhbGlkYXRlLFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGRpc2FibGVGb3JtRGF0YSB8fCAoaGFzUm93cyA/IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgJiYgdmFsdWUgPiAwIDogZmFsc2UpKSB7XG4gICAgICAgICAgICB1cGRhdGUuZGlzYWJsZUZvcm1EYXRhID0gdHJ1ZVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0eXBlb2YgZGlzcGF0Y2hGaWVsZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgZGlzcGF0Y2hGaWVsZCh1cGRhdGUpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHZvaWQgdmFsaWRhdGVGaWVsZCgpXG4gICAgfSxcbiAgICAxNTAsXG4gICAgW1xuICAgICAgdmFsdWUsXG4gICAgICBkaXNhYmxlRm9ybURhdGEsXG4gICAgICBkaXNwYXRjaEZpZWxkLFxuICAgICAgZ2V0RGF0YSxcbiAgICAgIGdldFNpYmxpbmdEYXRhLFxuICAgICAgZ2V0RGF0YUJ5UGF0aCxcbiAgICAgIGlkLFxuICAgICAgb3BlcmF0aW9uLFxuICAgICAgcGF0aCxcbiAgICAgIHVzZXIsXG4gICAgICB2YWxpZGF0ZSxcbiAgICAgIGZpZWxkPy5yb3dzLFxuICAgIF0sXG4gIClcblxuICByZXR1cm4gcmVzdWx0XG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZUZpZWxkXG4iXSwibmFtZXMiOlsidXNlRmllbGQiLCJvcHRpb25zIiwiZGlzYWJsZUZvcm1EYXRhIiwiaGFzUm93cyIsInZhbGlkYXRlIiwicGF0aCIsInBhdGhGcm9tQ29udGV4dCIsInNjaGVtYVBhdGgiLCJ1c2VGaWVsZFBhdGgiLCJzdWJtaXR0ZWQiLCJ1c2VGb3JtU3VibWl0dGVkIiwicHJvY2Vzc2luZyIsInVzZUZvcm1Qcm9jZXNzaW5nIiwidXNlciIsInVzZUF1dGgiLCJpZCIsInVzZURvY3VtZW50SW5mbyIsIm9wZXJhdGlvbiIsInVzZU9wZXJhdGlvbiIsImRpc3BhdGNoRmllbGQiLCJmaWVsZCIsInVzZUZvcm1GaWVsZHMiLCJmaWVsZHMiLCJkaXNwYXRjaCIsInQiLCJ1c2VUcmFuc2xhdGlvbiIsImNvbmZpZyIsInVzZUNvbmZpZyIsImdldERhdGEiLCJnZXREYXRhQnlQYXRoIiwiZ2V0U2libGluZ0RhdGEiLCJzZXRNb2RpZmllZCIsInVzZUZvcm0iLCJ2YWx1ZSIsImluaXRpYWxWYWx1ZSIsInZhbGlkIiwic2hvd0Vycm9yIiwicHJldlZhbGlkIiwidXNlUmVmIiwic2V0VmFsdWUiLCJ1c2VDYWxsYmFjayIsImUiLCJkaXNhYmxlTW9kaWZ5aW5nRm9ybSIsInZhbCIsInRhcmdldCIsInNldFRpbWVvdXQiLCJ0eXBlIiwicmVzdWx0IiwidXNlTWVtbyIsImVycm9yTWVzc2FnZSIsImZvcm1Qcm9jZXNzaW5nIiwiZm9ybVN1Ym1pdHRlZCIsInJvd3MiLCJ1c2VUaHJvdHRsZWRFZmZlY3QiLCJ2YWxpZGF0ZUZpZWxkIiwidmFsdWVUb1ZhbGlkYXRlIiwiQXJyYXkiLCJpc0FycmF5IiwiY3VycmVudCIsImlzVmFsaWQiLCJkYXRhIiwic2libGluZ0RhdGEiLCJ1bmRlZmluZWQiLCJ1cGRhdGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OzsrQkE0TEE7OztlQUFBOzs7dUJBM0w2QzsyRUFLZDtzQkFDUDt3QkFDRTs4QkFDTTttQ0FDSDs2QkFDRTttQ0FDRjt5QkFDK0M7Ozs7OztBQUU1RTs7OztDQUlDLEdBQ0QsTUFBTUEsV0FBVyxDQUFLQztJQUNwQixNQUFNLEVBQUVDLGtCQUFrQixLQUFLLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxFQUFFLEdBQUdIO0lBRXZELE1BQU0sRUFBRUksTUFBTUMsZUFBZSxF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
|