@payloadcms/ui 3.0.0-alpha.0 → 3.0.0-alpha.1
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.js +210 -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.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.js +141 -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.js +50 -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.js +107 -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.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.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.js +138 -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.js +138 -0
- package/dist/elements/SortColumn/types.js +6 -0
- package/dist/elements/SortComplex/index.js +156 -0
- package/dist/elements/SortComplex/types.js +6 -0
- package/dist/elements/Status/index.js +202 -0
- 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.js +129 -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 +3 -3
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "Dropzone", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return Dropzone;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _react = /*#__PURE__*/ _interop_require_default(require("react"));
|
|
12
|
+
const _Translation = require("../../providers/Translation");
|
|
13
|
+
const _Button = require("../Button");
|
|
14
|
+
require("./index.scss");
|
|
15
|
+
function _interop_require_default(obj) {
|
|
16
|
+
return obj && obj.__esModule ? obj : {
|
|
17
|
+
default: obj
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
const handleDragOver = (e)=>{
|
|
21
|
+
e.preventDefault();
|
|
22
|
+
e.stopPropagation();
|
|
23
|
+
};
|
|
24
|
+
const baseClass = 'dropzone';
|
|
25
|
+
const Dropzone = ({ className, mimeTypes, onChange })=>{
|
|
26
|
+
const dropRef = _react.default.useRef(null);
|
|
27
|
+
const [dragging, setDragging] = _react.default.useState(false);
|
|
28
|
+
const inputRef = _react.default.useRef(null);
|
|
29
|
+
const { t } = (0, _Translation.useTranslation)();
|
|
30
|
+
const handlePaste = _react.default.useCallback((e)=>{
|
|
31
|
+
e.preventDefault();
|
|
32
|
+
e.stopPropagation();
|
|
33
|
+
if (e.clipboardData.files && e.clipboardData.files.length > 0) {
|
|
34
|
+
onChange(e.clipboardData.files);
|
|
35
|
+
}
|
|
36
|
+
}, [
|
|
37
|
+
onChange
|
|
38
|
+
]);
|
|
39
|
+
const handleDragEnter = _react.default.useCallback((e)=>{
|
|
40
|
+
e.preventDefault();
|
|
41
|
+
e.stopPropagation();
|
|
42
|
+
setDragging(true);
|
|
43
|
+
}, []);
|
|
44
|
+
const handleDragLeave = _react.default.useCallback((e)=>{
|
|
45
|
+
e.preventDefault();
|
|
46
|
+
e.stopPropagation();
|
|
47
|
+
setDragging(false);
|
|
48
|
+
}, []);
|
|
49
|
+
const handleDrop = _react.default.useCallback((e)=>{
|
|
50
|
+
e.preventDefault();
|
|
51
|
+
e.stopPropagation();
|
|
52
|
+
setDragging(false);
|
|
53
|
+
if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {
|
|
54
|
+
onChange(e.dataTransfer.files);
|
|
55
|
+
setDragging(false);
|
|
56
|
+
e.dataTransfer.clearData();
|
|
57
|
+
}
|
|
58
|
+
}, [
|
|
59
|
+
onChange
|
|
60
|
+
]);
|
|
61
|
+
const handleFileSelection = _react.default.useCallback((e)=>{
|
|
62
|
+
if (e.target.files && e.target.files.length > 0) {
|
|
63
|
+
onChange(e.target.files);
|
|
64
|
+
}
|
|
65
|
+
}, [
|
|
66
|
+
onChange
|
|
67
|
+
]);
|
|
68
|
+
_react.default.useEffect(()=>{
|
|
69
|
+
const div = dropRef.current;
|
|
70
|
+
if (div) {
|
|
71
|
+
div.addEventListener('dragenter', handleDragEnter);
|
|
72
|
+
div.addEventListener('dragleave', handleDragLeave);
|
|
73
|
+
div.addEventListener('dragover', handleDragOver);
|
|
74
|
+
div.addEventListener('drop', handleDrop);
|
|
75
|
+
div.addEventListener('paste', handlePaste);
|
|
76
|
+
return ()=>{
|
|
77
|
+
div.removeEventListener('dragenter', handleDragEnter);
|
|
78
|
+
div.removeEventListener('dragleave', handleDragLeave);
|
|
79
|
+
div.removeEventListener('dragover', handleDragOver);
|
|
80
|
+
div.removeEventListener('drop', handleDrop);
|
|
81
|
+
div.removeEventListener('paste', handlePaste);
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
return ()=>null;
|
|
85
|
+
}, [
|
|
86
|
+
handleDragEnter,
|
|
87
|
+
handleDragLeave,
|
|
88
|
+
handleDrop,
|
|
89
|
+
handlePaste
|
|
90
|
+
]);
|
|
91
|
+
const classes = [
|
|
92
|
+
baseClass,
|
|
93
|
+
className,
|
|
94
|
+
dragging ? 'dragging' : ''
|
|
95
|
+
].filter(Boolean).join(' ');
|
|
96
|
+
return /*#__PURE__*/ _react.default.createElement("div", {
|
|
97
|
+
className: classes,
|
|
98
|
+
ref: dropRef
|
|
99
|
+
}, /*#__PURE__*/ _react.default.createElement(_Button.Button, {
|
|
100
|
+
buttonStyle: "secondary",
|
|
101
|
+
className: `${baseClass}__file-button`,
|
|
102
|
+
onClick: ()=>{
|
|
103
|
+
inputRef.current.click();
|
|
104
|
+
},
|
|
105
|
+
size: "small"
|
|
106
|
+
}, t('upload:selectFile')), /*#__PURE__*/ _react.default.createElement("input", {
|
|
107
|
+
accept: mimeTypes?.join(','),
|
|
108
|
+
className: `${baseClass}__hidden-input`,
|
|
109
|
+
onChange: handleFileSelection,
|
|
110
|
+
ref: inputRef,
|
|
111
|
+
type: "file"
|
|
112
|
+
}), /*#__PURE__*/ _react.default.createElement("p", {
|
|
113
|
+
className: `${baseClass}__label`
|
|
114
|
+
}, t('general:or'), " ", t('upload:dragAndDrop')));
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9Ecm9wem9uZS9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9UcmFuc2xhdGlvbidcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL0J1dHRvbidcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCBoYW5kbGVEcmFnT3ZlciA9IChlOiBEcmFnRXZlbnQpID0+IHtcbiAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gIGUuc3RvcFByb3BhZ2F0aW9uKClcbn1cblxuY29uc3QgYmFzZUNsYXNzID0gJ2Ryb3B6b25lJ1xuXG50eXBlIFByb3BzID0ge1xuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgbWltZVR5cGVzPzogc3RyaW5nW11cbiAgb25DaGFuZ2U6IChlOiBGaWxlTGlzdCkgPT4gdm9pZFxufVxuXG5leHBvcnQgY29uc3QgRHJvcHpvbmU6IFJlYWN0LkZDPFByb3BzPiA9ICh7IGNsYXNzTmFtZSwgbWltZVR5cGVzLCBvbkNoYW5nZSB9KSA9PiB7XG4gIGNvbnN0IGRyb3BSZWYgPSBSZWFjdC51c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IFtkcmFnZ2luZywgc2V0RHJhZ2dpbmddID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKG51bGwpXG5cbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpXG5cbiAgY29uc3QgaGFuZGxlUGFzdGUgPSBSZWFjdC51c2VDYWxsYmFjayhcbiAgICAoZTogQ2xpcGJvYXJkRXZlbnQpID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuXG4gICAgICBpZiAoZS5jbGlwYm9hcmREYXRhLmZpbGVzICYmIGUuY2xpcGJvYXJkRGF0YS5maWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIG9uQ2hhbmdlKGUuY2xpcGJvYXJkRGF0YS5maWxlcylcbiAgICAgIH1cbiAgICB9LFxuICAgIFtvbkNoYW5nZV0sXG4gIClcblxuICBjb25zdCBoYW5kbGVEcmFnRW50ZXIgPSBSZWFjdC51c2VDYWxsYmFjaygoZTogRHJhZ0V2ZW50KSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgIHNldERyYWdnaW5nKHRydWUpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGhhbmRsZURyYWdMZWF2ZSA9IFJlYWN0LnVzZUNhbGxiYWNrKChlOiBEcmFnRXZlbnQpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgc2V0RHJhZ2dpbmcoZmFsc2UpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGhhbmRsZURyb3AgPSBSZWFjdC51c2VDYWxsYmFjayhcbiAgICAoZTogRHJhZ0V2ZW50KSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgIHNldERyYWdnaW5nKGZhbHNlKVxuXG4gICAgICBpZiAoZS5kYXRhVHJhbnNmZXIuZmlsZXMgJiYgZS5kYXRhVHJhbnNmZXIuZmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBvbkNoYW5nZShlLmRhdGFUcmFuc2Zlci5maWxlcylcbiAgICAgICAgc2V0RHJhZ2dpbmcoZmFsc2UpXG5cbiAgICAgICAgZS5kYXRhVHJhbnNmZXIuY2xlYXJEYXRhKClcbiAgICAgIH1cbiAgICB9LFxuICAgIFtvbkNoYW5nZV0sXG4gIClcblxuICBjb25zdCBoYW5kbGVGaWxlU2VsZWN0aW9uID0gUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgKGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICBpZiAoZS50YXJnZXQuZmlsZXMgJiYgZS50YXJnZXQuZmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBvbkNoYW5nZShlLnRhcmdldC5maWxlcylcbiAgICAgIH1cbiAgICB9LFxuICAgIFtvbkNoYW5nZV0sXG4gIClcblxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGRpdiA9IGRyb3BSZWYuY3VycmVudFxuXG4gICAgaWYgKGRpdikge1xuICAgICAgZGl2LmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdlbnRlcicsIGhhbmRsZURyYWdFbnRlcilcbiAgICAgIGRpdi5hZGRFdmVudExpc3RlbmVyKCdkcmFnbGVhdmUnLCBoYW5kbGVEcmFnTGVhdmUpXG4gICAgICBkaXYuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ292ZXInLCBoYW5kbGVEcmFnT3ZlcilcbiAgICAgIGRpdi5hZGRFdmVudExpc3RlbmVyKCdkcm9wJywgaGFuZGxlRHJvcClcbiAgICAgIGRpdi5hZGRFdmVudExpc3RlbmVyKCdwYXN0ZScsIGhhbmRsZVBhc3RlKVxuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBkaXYucmVtb3ZlRXZlbnRMaXN0ZW5lcignZHJhZ2VudGVyJywgaGFuZGxlRHJhZ0VudGVyKVxuICAgICAgICBkaXYucmVtb3ZlRXZlbnRMaXN0ZW5lcignZHJhZ2xlYXZlJywgaGFuZGxlRHJhZ0xlYXZlKVxuICAgICAgICBkaXYucmVtb3ZlRXZlbnRMaXN0ZW5lcignZHJhZ292ZXInLCBoYW5kbGVEcmFnT3ZlcilcbiAgICAgICAgZGl2LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Ryb3AnLCBoYW5kbGVEcm9wKVxuICAgICAgICBkaXYucmVtb3ZlRXZlbnRMaXN0ZW5lcigncGFzdGUnLCBoYW5kbGVQYXN0ZSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4gbnVsbFxuICB9LCBbaGFuZGxlRHJhZ0VudGVyLCBoYW5kbGVEcmFnTGVhdmUsIGhhbmRsZURyb3AsIGhhbmRsZVBhc3RlXSlcblxuICBjb25zdCBjbGFzc2VzID0gW2Jhc2VDbGFzcywgY2xhc3NOYW1lLCBkcmFnZ2luZyA/ICdkcmFnZ2luZycgOiAnJ10uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXN9IHJlZj17ZHJvcFJlZn0+XG4gICAgICA8QnV0dG9uXG4gICAgICAgIGJ1dHRvblN0eWxlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19maWxlLWJ1dHRvbmB9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmNsaWNrKClcbiAgICAgICAgfX1cbiAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgID5cbiAgICAgICAge3QoJ3VwbG9hZDpzZWxlY3RGaWxlJyl9XG4gICAgICA8L0J1dHRvbj5cblxuICAgICAgPGlucHV0XG4gICAgICAgIGFjY2VwdD17bWltZVR5cGVzPy5qb2luKCcsJyl9XG4gICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faGlkZGVuLWlucHV0YH1cbiAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUZpbGVTZWxlY3Rpb259XG4gICAgICAgIHJlZj17aW5wdXRSZWZ9XG4gICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgIC8+XG5cbiAgICAgIDxwIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fbGFiZWxgfT5cbiAgICAgICAge3QoJ2dlbmVyYWw6b3InKX0ge3QoJ3VwbG9hZDpkcmFnQW5kRHJvcCcpfVxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiRHJvcHpvbmUiLCJoYW5kbGVEcmFnT3ZlciIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsImJhc2VDbGFzcyIsImNsYXNzTmFtZSIsIm1pbWVUeXBlcyIsIm9uQ2hhbmdlIiwiZHJvcFJlZiIsIlJlYWN0IiwidXNlUmVmIiwiZHJhZ2dpbmciLCJzZXREcmFnZ2luZyIsInVzZVN0YXRlIiwiaW5wdXRSZWYiLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJoYW5kbGVQYXN0ZSIsInVzZUNhbGxiYWNrIiwiY2xpcGJvYXJkRGF0YSIsImZpbGVzIiwibGVuZ3RoIiwiaGFuZGxlRHJhZ0VudGVyIiwiaGFuZGxlRHJhZ0xlYXZlIiwiaGFuZGxlRHJvcCIsImRhdGFUcmFuc2ZlciIsImNsZWFyRGF0YSIsImhhbmRsZUZpbGVTZWxlY3Rpb24iLCJ0YXJnZXQiLCJ1c2VFZmZlY3QiLCJkaXYiLCJjdXJyZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjbGFzc2VzIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJyZWYiLCJCdXR0b24iLCJidXR0b25TdHlsZSIsIm9uQ2xpY2siLCJjbGljayIsInNpemUiLCJpbnB1dCIsImFjY2VwdCIsInR5cGUiLCJwIl0sIm1hcHBpbmdzIjoiOzs7OytCQW1CYUE7OztlQUFBQTs7OzhEQW5CSzs2QkFFYTt3QkFDUjtRQUNoQjs7Ozs7O0FBRVAsTUFBTUMsaUJBQWlCLENBQUNDO0lBQ3RCQSxFQUFFQyxjQUFjO0lBQ2hCRCxFQUFFRSxlQUFlO0FBQ25CO0FBRUEsTUFBTUMsWUFBWTtBQVFYLE1BQU1MLFdBQTRCLENBQUMsRUFBRU0sU0FBUyxFQUFFQyxTQUFTLEVBQUVDLFFBQVEsRUFBRTtJQUMxRSxNQUFNQyxVQUFVQyxjQUFLLENBQUNDLE1BQU0sQ0FBaUI7SUFDN0MsTUFBTSxDQUFDQyxVQUFVQyxZQUFZLEdBQUdILGNBQUssQ0FBQ0ksUUFBUSxDQUFDO0lBQy9DLE1BQU1DLFdBQVdMLGNBQUssQ0FBQ0MsTUFBTSxDQUFDO0lBRTlCLE1BQU0sRUFBRUssQ0FBQyxFQUFFLEdBQUdDLElBQUFBLDJCQUFjO0lBRTVCLE1BQU1DLGNBQWNSLGNBQUssQ0FBQ1MsV0FBVyxDQUNuQyxDQUFDakI7UUFDQ0EsRUFBRUMsY0FBYztRQUNoQkQsRUFBRUUsZUFBZTtRQUVqQixJQUFJRixFQUFF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
|
|
@@ -0,0 +1,217 @@
|
|
|
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 _modal = require("@faceless-ui/modal");
|
|
13
|
+
const _translations = require("@payloadcms/translations");
|
|
14
|
+
const _navigation = require("next/navigation");
|
|
15
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
|
|
16
|
+
const _reacttoastify = require("react-toastify");
|
|
17
|
+
const _context = require("../../forms/Form/context");
|
|
18
|
+
const _Config = require("../../providers/Config");
|
|
19
|
+
const _Translation = require("../../providers/Translation");
|
|
20
|
+
const _Minimal = require("../../templates/Minimal");
|
|
21
|
+
const _Button = require("../Button");
|
|
22
|
+
const _PopupButtonList = /*#__PURE__*/ _interop_require_wildcard(require("../Popup/PopupButtonList"));
|
|
23
|
+
require("./index.scss");
|
|
24
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
25
|
+
if (typeof WeakMap !== "function") return null;
|
|
26
|
+
var cacheBabelInterop = new WeakMap();
|
|
27
|
+
var cacheNodeInterop = new WeakMap();
|
|
28
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
29
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
30
|
+
})(nodeInterop);
|
|
31
|
+
}
|
|
32
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
33
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
34
|
+
return obj;
|
|
35
|
+
}
|
|
36
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
37
|
+
return {
|
|
38
|
+
default: obj
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
42
|
+
if (cache && cache.has(obj)) {
|
|
43
|
+
return cache.get(obj);
|
|
44
|
+
}
|
|
45
|
+
var newObj = {
|
|
46
|
+
__proto__: null
|
|
47
|
+
};
|
|
48
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
49
|
+
for(var key in obj){
|
|
50
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
51
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
52
|
+
if (desc && (desc.get || desc.set)) {
|
|
53
|
+
Object.defineProperty(newObj, key, desc);
|
|
54
|
+
} else {
|
|
55
|
+
newObj[key] = obj[key];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
newObj.default = obj;
|
|
60
|
+
if (cache) {
|
|
61
|
+
cache.set(obj, newObj);
|
|
62
|
+
}
|
|
63
|
+
return newObj;
|
|
64
|
+
}
|
|
65
|
+
const baseClass = 'duplicate';
|
|
66
|
+
const Duplicate = ({ id, singularLabel, slug })=>{
|
|
67
|
+
const { push } = (0, _navigation.useRouter)();
|
|
68
|
+
const modified = (0, _context.useFormModified)();
|
|
69
|
+
const { toggleModal } = (0, _modal.useModal)();
|
|
70
|
+
const { setModified } = (0, _context.useForm)();
|
|
71
|
+
const { localization, routes: { api }, serverURL } = (0, _Config.useConfig)();
|
|
72
|
+
const { routes: { admin } } = (0, _Config.useConfig)();
|
|
73
|
+
const [hasClicked, setHasClicked] = (0, _react.useState)(false);
|
|
74
|
+
const { i18n, t } = (0, _Translation.useTranslation)();
|
|
75
|
+
const modalSlug = `duplicate-${id}`;
|
|
76
|
+
const handleClick = (0, _react.useCallback)(async (override = false)=>{
|
|
77
|
+
setHasClicked(true);
|
|
78
|
+
if (modified && !override) {
|
|
79
|
+
toggleModal(modalSlug);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
const saveDocument = async ({ id, duplicateID = '', locale = '' })=>{
|
|
83
|
+
const data = null;
|
|
84
|
+
// const response = await requests.get(`${serverURL}${api}/${slug}/${id}`, {
|
|
85
|
+
// headers: {
|
|
86
|
+
// 'Accept-Language': i18n.language,
|
|
87
|
+
// },
|
|
88
|
+
// params: {
|
|
89
|
+
// depth: 0,
|
|
90
|
+
// draft: true,
|
|
91
|
+
// 'fallback-locale': 'none',
|
|
92
|
+
// locale,
|
|
93
|
+
// },
|
|
94
|
+
// })
|
|
95
|
+
// let data = await response.json()
|
|
96
|
+
// TODO: convert this into a server action
|
|
97
|
+
// if (typeof collection.admin.hooks?.beforeDuplicate === 'function') {
|
|
98
|
+
// data = await collection.admin.hooks.beforeDuplicate({
|
|
99
|
+
// collection,
|
|
100
|
+
// data,
|
|
101
|
+
// locale,
|
|
102
|
+
// })
|
|
103
|
+
// }
|
|
104
|
+
if (!duplicateID) {
|
|
105
|
+
if ('createdAt' in data) delete data.createdAt;
|
|
106
|
+
if ('updatedAt' in data) delete data.updatedAt;
|
|
107
|
+
}
|
|
108
|
+
// const result = await requests[duplicateID ? 'patch' : 'post'](
|
|
109
|
+
// `${serverURL}${api}/${slug}/${duplicateID}?locale=${locale}&fallback-locale=none`,
|
|
110
|
+
// {
|
|
111
|
+
// body: JSON.stringify(data),
|
|
112
|
+
// headers: {
|
|
113
|
+
// 'Accept-Language': i18n.language,
|
|
114
|
+
// 'Content-Type': 'application/json',
|
|
115
|
+
// },
|
|
116
|
+
// },
|
|
117
|
+
// )
|
|
118
|
+
// const json = await result.json()
|
|
119
|
+
// if (result.status === 201 || result.status === 200) {
|
|
120
|
+
// return json.doc.id
|
|
121
|
+
// }
|
|
122
|
+
// only show the error if this is the initial request failing
|
|
123
|
+
if (!duplicateID) {
|
|
124
|
+
// json.errors.forEach((error) => toast.error(error.message))
|
|
125
|
+
}
|
|
126
|
+
return null;
|
|
127
|
+
};
|
|
128
|
+
let duplicateID;
|
|
129
|
+
let abort = false;
|
|
130
|
+
const localeErrors = [];
|
|
131
|
+
if (localization) {
|
|
132
|
+
await localization.localeCodes.reduce(async (priorLocalePatch, locale)=>{
|
|
133
|
+
await priorLocalePatch;
|
|
134
|
+
if (abort) return;
|
|
135
|
+
const localeResult = await saveDocument({
|
|
136
|
+
id,
|
|
137
|
+
duplicateID,
|
|
138
|
+
locale
|
|
139
|
+
});
|
|
140
|
+
duplicateID = localeResult || duplicateID;
|
|
141
|
+
if (duplicateID && !localeResult) {
|
|
142
|
+
localeErrors.push(locale);
|
|
143
|
+
}
|
|
144
|
+
if (!duplicateID) {
|
|
145
|
+
abort = true;
|
|
146
|
+
}
|
|
147
|
+
}, Promise.resolve());
|
|
148
|
+
} else {
|
|
149
|
+
duplicateID = await saveDocument({
|
|
150
|
+
id
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
if (!duplicateID) {
|
|
154
|
+
// document was not saved, error toast was displayed
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
_reacttoastify.toast.success(t('general:successfullyDuplicated', {
|
|
158
|
+
label: (0, _translations.getTranslation)(singularLabel, i18n)
|
|
159
|
+
}), {
|
|
160
|
+
autoClose: 3000
|
|
161
|
+
});
|
|
162
|
+
if (localeErrors.length > 0) {
|
|
163
|
+
_reacttoastify.toast.error(`
|
|
164
|
+
${t('error:localesNotSaved', {
|
|
165
|
+
count: localeErrors.length
|
|
166
|
+
})}
|
|
167
|
+
${localeErrors.join(', ')}
|
|
168
|
+
`, {
|
|
169
|
+
autoClose: 5000
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
setModified(false);
|
|
173
|
+
setTimeout(()=>{
|
|
174
|
+
push(`${admin}/collections/${slug}/${duplicateID}`);
|
|
175
|
+
}, 10);
|
|
176
|
+
}, [
|
|
177
|
+
modified,
|
|
178
|
+
localization,
|
|
179
|
+
t,
|
|
180
|
+
i18n,
|
|
181
|
+
setModified,
|
|
182
|
+
toggleModal,
|
|
183
|
+
modalSlug,
|
|
184
|
+
serverURL,
|
|
185
|
+
api,
|
|
186
|
+
slug,
|
|
187
|
+
id,
|
|
188
|
+
push,
|
|
189
|
+
admin
|
|
190
|
+
]);
|
|
191
|
+
const confirm = (0, _react.useCallback)(async ()=>{
|
|
192
|
+
setHasClicked(false);
|
|
193
|
+
await handleClick(true);
|
|
194
|
+
}, [
|
|
195
|
+
handleClick
|
|
196
|
+
]);
|
|
197
|
+
return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(_PopupButtonList.Button, {
|
|
198
|
+
id: "action-duplicate",
|
|
199
|
+
onClick: ()=>handleClick(false)
|
|
200
|
+
}, t('general:duplicate')), modified && hasClicked && /*#__PURE__*/ _react.default.createElement(_modal.Modal, {
|
|
201
|
+
className: `${baseClass}__modal`,
|
|
202
|
+
slug: modalSlug
|
|
203
|
+
}, /*#__PURE__*/ _react.default.createElement(_Minimal.MinimalTemplate, {
|
|
204
|
+
className: `${baseClass}__modal-template`
|
|
205
|
+
}, /*#__PURE__*/ _react.default.createElement("h1", null, t('general:confirmDuplication')), /*#__PURE__*/ _react.default.createElement("p", null, t('general:unsavedChangesDuplicate')), /*#__PURE__*/ _react.default.createElement(_Button.Button, {
|
|
206
|
+
buttonStyle: "secondary",
|
|
207
|
+
id: "confirm-cancel",
|
|
208
|
+
onClick: ()=>toggleModal(modalSlug),
|
|
209
|
+
type: "button"
|
|
210
|
+
}, t('general:cancel')), /*#__PURE__*/ _react.default.createElement(_Button.Button, {
|
|
211
|
+
id: "confirm-duplicate",
|
|
212
|
+
onClick: confirm
|
|
213
|
+
}, t('general:duplicateWithoutSaving')))));
|
|
214
|
+
};
|
|
215
|
+
const _default = Duplicate;
|
|
216
|
+
|
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9EdXBsaWNhdGVEb2N1bWVudC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgeyBNb2RhbCwgdXNlTW9kYWwgfSBmcm9tICdAZmFjZWxlc3MtdWkvbW9kYWwnXG5pbXBvcnQgeyBnZXRUcmFuc2xhdGlvbiB9IGZyb20gJ0BwYXlsb2FkY21zL3RyYW5zbGF0aW9ucydcbmltcG9ydCB7IHVzZVJvdXRlciB9IGZyb20gJ25leHQvbmF2aWdhdGlvbidcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHRvYXN0IH0gZnJvbSAncmVhY3QtdG9hc3RpZnknXG5cbmltcG9ydCB0eXBlIHsgUHJvcHMgfSBmcm9tICcuL3R5cGVzJ1xuXG4vLyBpbXBvcnQgeyByZXF1ZXN0cyB9IGZyb20gJy4uLy4uLy4uL2FwaSdcbmltcG9ydCB7IHVzZUZvcm0sIHVzZUZvcm1Nb2RpZmllZCB9IGZyb20gJy4uLy4uL2Zvcm1zL0Zvcm0vY29udGV4dCdcbmltcG9ydCB7IHVzZUNvbmZpZyB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9Db25maWcnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9UcmFuc2xhdGlvbidcbmltcG9ydCB7IE1pbmltYWxUZW1wbGF0ZSB9IGZyb20gJy4uLy4uL3RlbXBsYXRlcy9NaW5pbWFsJ1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vQnV0dG9uJ1xuaW1wb3J0ICogYXMgUG9wdXBMaXN0IGZyb20gJy4uL1BvcHVwL1BvcHVwQnV0dG9uTGlzdCdcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAnZHVwbGljYXRlJ1xuXG5jb25zdCBEdXBsaWNhdGU6IFJlYWN0LkZDPFByb3BzPiA9ICh7IGlkLCBzaW5ndWxhckxhYmVsLCBzbHVnIH0pID0+IHtcbiAgY29uc3QgeyBwdXNoIH0gPSB1c2VSb3V0ZXIoKVxuICBjb25zdCBtb2RpZmllZCA9IHVzZUZvcm1Nb2RpZmllZCgpXG4gIGNvbnN0IHsgdG9nZ2xlTW9kYWwgfSA9IHVzZU1vZGFsKClcbiAgY29uc3QgeyBzZXRNb2RpZmllZCB9ID0gdXNlRm9ybSgpXG4gIGNvbnN0IHtcbiAgICBsb2NhbGl6YXRpb24sXG4gICAgcm91dGVzOiB7IGFwaSB9LFxuICAgIHNlcnZlclVSTCxcbiAgfSA9IHVzZUNvbmZpZygpXG4gIGNvbnN0IHtcbiAgICByb3V0ZXM6IHsgYWRtaW4gfSxcbiAgfSA9IHVzZUNvbmZpZygpXG4gIGNvbnN0IFtoYXNDbGlja2VkLCBzZXRIYXNDbGlja2VkXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKVxuICBjb25zdCB7IGkxOG4sIHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcblxuICBjb25zdCBtb2RhbFNsdWcgPSBgZHVwbGljYXRlLSR7aWR9YFxuXG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKG92ZXJyaWRlID0gZmFsc2UpID0+IHtcbiAgICAgIHNldEhhc0NsaWNrZWQodHJ1ZSlcblxuICAgICAgaWYgKG1vZGlmaWVkICYmICFvdmVycmlkZSkge1xuICAgICAgICB0b2dnbGVNb2RhbChtb2RhbFNsdWcpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCBzYXZlRG9jdW1lbnQgPSBhc3luYyAoe1xuICAgICAgICBpZCxcbiAgICAgICAgZHVwbGljYXRlSUQgPSAnJyxcbiAgICAgICAgbG9jYWxlID0gJycsXG4gICAgICB9KTogUHJvbWlzZTxudWxsIHwgc3RyaW5nPiA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBudWxsXG5cbiAgICAgICAgLy8gY29uc3QgcmVzcG9uc2UgPSBhd2FpdCByZXF1ZXN0cy5nZXQoYCR7c2VydmVyVVJMfSR7YXBpfS8ke3NsdWd9LyR7aWR9YCwge1xuICAgICAgICAvLyAgIGhlYWRlcnM6IHtcbiAgICAgICAgLy8gICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICAvLyAgIH0sXG4gICAgICAgIC8vICAgcGFyYW1zOiB7XG4gICAgICAgIC8vICAgICBkZXB0aDogMCxcbiAgICAgICAgLy8gICAgIGRyYWZ0OiB0cnVlLFxuICAgICAgICAvLyAgICAgJ2ZhbGxiYWNrLWxvY2FsZSc6ICdub25lJyxcbiAgICAgICAgLy8gICAgIGxvY2FsZSxcbiAgICAgICAgLy8gICB9LFxuICAgICAgICAvLyB9KVxuXG4gICAgICAgIC8vIGxldCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG5cbiAgICAgICAgLy8gVE9ETzogY29udmVydCB0aGlzIGludG8gYSBzZXJ2ZXIgYWN0aW9uXG4gICAgICAgIC8vIGlmICh0eXBlb2YgY29sbGVjdGlvbi5hZG1pbi5ob29rcz8uYmVmb3JlRHVwbGljYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIC8vICAgZGF0YSA9IGF3YWl0IGNvbGxlY3Rpb24uYWRtaW4uaG9va3MuYmVmb3JlRHVwbGljYXRlKHtcbiAgICAgICAgLy8gICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIC8vICAgICBkYXRhLFxuICAgICAgICAvLyAgICAgbG9jYWxlLFxuICAgICAgICAvLyAgIH0pXG4gICAgICAgIC8vIH1cblxuICAgICAgICBpZiAoIWR1cGxpY2F0ZUlEKSB7XG4gICAgICAgICAgaWYgKCdjcmVhdGVkQXQnIGluIGRhdGEpIGRlbGV0ZSBkYXRhLmNyZWF0ZWRBdFxuICAgICAgICAgIGlmICgndXBkYXRlZEF0JyBpbiBkYXRhKSBkZWxldGUgZGF0YS51cGRhdGVkQXRcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlcXVlc3RzW2R1cGxpY2F0ZUlEID8gJ3BhdGNoJyA6ICdwb3N0J10oXG4gICAgICAgIC8vICAgYCR7c2VydmVyVVJMfSR7YXBpfS8ke3NsdWd9LyR7ZHVwbGljYXRlSUR9P2xvY2FsZT0ke2xvY2FsZX0mZmFsbGJhY2stbG9jYWxlPW5vbmVgLFxuICAgICAgICAvLyAgIHtcbiAgICAgICAgLy8gICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGRhdGEpLFxuICAgICAgICAvLyAgICAgaGVhZGVyczoge1xuICAgICAgICAvLyAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogaTE4bi5sYW5ndWFnZSxcbiAgICAgICAgLy8gICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgLy8gICAgIH0sXG4gICAgICAgIC8vICAgfSxcbiAgICAgICAgLy8gKVxuXG4gICAgICAgIC8vIGNvbnN0IGpzb24gPSBhd2FpdCByZXN1bHQuanNvbigpXG5cbiAgICAgICAgLy8gaWYgKHJlc3VsdC5zdGF0dXMgPT09IDIwMSB8fCByZXN1bHQuc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgLy8gICByZXR1cm4ganNvbi5kb2MuaWRcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIC8vIG9ubHkgc2hvdyB0aGUgZXJyb3IgaWYgdGhpcyBpcyB0aGUgaW5pdGlhbCByZXF1ZXN0IGZhaWxpbmdcbiAgICAgICAgaWYgKCFkdXBsaWNhdGVJRCkge1xuICAgICAgICAgIC8vIGpzb24uZXJyb3JzLmZvckVhY2goKGVycm9yKSA9PiB0b2FzdC5lcnJvcihlcnJvci5tZXNzYWdlKSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgfVxuXG4gICAgICBsZXQgZHVwbGljYXRlSUQ6IHN0cmluZ1xuICAgICAgbGV0IGFib3J0ID0gZmFsc2VcbiAgICAgIGNvbnN0IGxvY2FsZUVycm9ycyA9IFtdXG5cbiAgICAgIGlmIChsb2NhbGl6YXRpb24pIHtcbiAgICAgICAgYXdhaXQgbG9jYWxpemF0aW9uLmxvY2FsZUNvZGVzLnJlZHVjZShhc3luYyAocHJpb3JMb2NhbGVQYXRjaCwgbG9jYWxlKSA9PiB7XG4gICAgICAgICAgYXdhaXQgcHJpb3JMb2NhbGVQYXRjaFxuICAgICAgICAgIGlmIChhYm9ydCkgcmV0dXJuXG4gICAgICAgICAgY29uc3QgbG9jYWxlUmVzdWx0ID0gYXdhaXQgc2F2ZURvY3VtZW50KHtcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgZHVwbGljYXRlSUQsXG4gICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgfSlcbiAgICAgICAgICBkdXBsaWNhdGVJRCA9IGxvY2FsZVJlc3VsdCB8fCBkdXBsaWNhdGVJRFxuICAgICAgICAgIGlmIChkdXBsaWNhdGVJRCAmJiAhbG9jYWxlUmVzdWx0KSB7XG4gICAgICAgICAgICBsb2NhbGVFcnJvcnMucHVzaChsb2NhbGUpXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghZHVwbGljYXRlSUQpIHtcbiAgICAgICAgICAgIGFib3J0ID0gdHJ1ZVxuICAgICAgICAgIH1cbiAgICAgICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkdXBsaWNhdGVJRCA9IGF3YWl0IHNhdmVEb2N1bWVudCh7IGlkIH0pXG4gICAgICB9XG5cbiAgICAgIGlmICghZHVwbGljYXRlSUQpIHtcbiAgICAgICAgLy8gZG9jdW1lbnQgd2FzIG5vdCBzYXZlZCwgZXJyb3IgdG9hc3Qgd2FzIGRpc3BsYXllZFxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgdG9hc3Quc3VjY2VzcyhcbiAgICAgICAgdCgnZ2VuZXJhbDpzdWNjZXNzZnVsbHlEdXBsaWNhdGVkJywgeyBsYWJlbDogZ2V0VHJhbnNsYXRpb24oc2luZ3VsYXJMYWJlbCwgaTE4bikgfSksXG4gICAgICAgIHtcbiAgICAgICAgICBhdXRvQ2xvc2U6IDMwMDAsXG4gICAgICAgIH0sXG4gICAgICApXG5cbiAgICAgIGlmIChsb2NhbGVFcnJvcnMubGVuZ3RoID4gMCkge1xuICAgICAgICB0b2FzdC5lcnJvcihcbiAgICAgICAgICBgXG4gICAgICAgICAgJHt0KCdlcnJvcjpsb2NhbGVzTm90U2F2ZWQnLCB7IGNvdW50OiBsb2NhbGVFcnJvcnMubGVuZ3RoIH0pfVxuICAgICAgICAgICR7bG9jYWxlRXJyb3JzLmpvaW4oJywgJyl9XG4gICAgICAgICAgYCxcbiAgICAgICAgICB7IGF1dG9DbG9zZTogNTAwMCB9LFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIHNldE1vZGlmaWVkKGZhbHNlKVxuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgcHVzaChgJHthZG1pbn0vY29sbGVjdGlvbnMvJHtzbHVnfS8ke2R1cGxpY2F0ZUlEfWApXG4gICAgICB9LCAxMClcbiAgICB9LFxuICAgIFtcbiAgICAgIG1vZGlmaWVkLFxuICAgICAgbG9jYWxpemF0aW9uLFxuICAgICAgdCxcbiAgICAgIGkxOG4sXG4gICAgICBzZXRNb2RpZmllZCxcbiAgICAgIHRvZ2dsZU1vZGFsLFxuICAgICAgbW9kYWxTbHVnLFxuICAgICAgc2VydmVyVVJMLFxuICAgICAgYXBpLFxuICAgICAgc2x1ZyxcbiAgICAgIGlkLFxuICAgICAgcHVzaCxcbiAgICAgIGFkbWluLFxuICAgIF0sXG4gIClcblxuICBjb25zdCBjb25maXJtID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIHNldEhhc0NsaWNrZWQoZmFsc2UpXG4gICAgYXdhaXQgaGFuZGxlQ2xpY2sodHJ1ZSlcbiAgfSwgW2hhbmRsZUNsaWNrXSlcblxuICByZXR1cm4gKFxuICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgIDxQb3B1cExpc3QuQnV0dG9uIGlkPVwiYWN0aW9uLWR1cGxpY2F0ZVwiIG9uQ2xpY2s9eygpID0+IGhhbmRsZUNsaWNrKGZhbHNlKX0+XG4gICAgICAgIHt0KCdnZW5lcmFsOmR1cGxpY2F0ZScpfVxuICAgICAgPC9Qb3B1cExpc3QuQnV0dG9uPlxuICAgICAge21vZGlmaWVkICYmIGhhc0NsaWNrZWQgJiYgKFxuICAgICAgICA8TW9kYWwgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19tb2RhbGB9IHNsdWc9e21vZGFsU2x1Z30+XG4gICAgICAgICAgPE1pbmltYWxUZW1wbGF0ZSBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX21vZGFsLXRlbXBsYXRlYH0+XG4gICAgICAgICAgICA8aDE+e3QoJ2dlbmVyYWw6Y29uZmlybUR1cGxpY2F0aW9uJyl9PC9oMT5cbiAgICAgICAgICAgIDxwPnt0KCdnZW5lcmFsOnVuc2F2ZWRDaGFuZ2VzRHVwbGljYXRlJyl9PC9wPlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBidXR0b25TdHlsZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgIGlkPVwiY29uZmlybS1jYW5jZWxcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB0b2dnbGVNb2RhbChtb2RhbFNsdWcpfVxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3QoJ2dlbmVyYWw6Y2FuY2VsJyl9XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgIDxCdXR0b24gaWQ9XCJjb25maXJtLWR1cGxpY2F0ZVwiIG9uQ2xpY2s9e2NvbmZpcm19PlxuICAgICAgICAgICAgICB7dCgnZ2VuZXJhbDpkdXBsaWNhdGVXaXRob3V0U2F2aW5nJyl9XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L01pbmltYWxUZW1wbGF0ZT5cbiAgICAgICAgPC9Nb2RhbD5cbiAgICAgICl9XG4gICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBEdXBsaWNhdGVcbiJdLCJuYW1lcyI6WyJiYXNlQ2xhc3MiLCJEdXBsaWNhdGUiLCJpZCIsInNpbmd1bGFyTGFiZWwiLCJzbHVnIiwicHVzaCIsInVzZVJvdXRlciIsIm1vZGlmaWVkIiwidXNlRm9ybU1vZGlmaWVkIiwidG9nZ2xlTW9kYWwiLCJ1c2VNb2RhbCIsInNldE1vZGlmaWVkIiwidXNlRm9ybSIsImxvY2FsaXphdGlvbiIsInJvdXRlcyIsImFwaSIsInNlcnZlclVSTCIsInVzZUNvbmZpZyIsImFkbWluIiwiaGFzQ2xpY2tlZCIsInNldEhhc0NsaWNrZWQiLCJ1c2VTdGF0ZSIsImkxOG4iLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJtb2RhbFNsdWciLCJoYW5kbGVDbGljayIsInVzZUNhbGxiYWNrIiwib3ZlcnJpZGUiLCJzYXZlRG9jdW1lbnQiLCJkdXBsaWNhdGVJRCIsImxvY2FsZSIsImRhdGEiLCJjcmVhdGVkQXQiLCJ1cGRhdGVkQXQiLCJhYm9ydCIsImxvY2FsZUVycm9ycyIsImxvY2FsZUNvZGVzIiwicmVkdWNlIiwicHJpb3JMb2NhbGVQYXRjaCIsImxvY2FsZVJlc3VsdCIsIlByb21pc2UiLCJyZXNvbHZlIiwidG9hc3QiLCJzdWNjZXNzIiwibGFiZWwiLCJnZXRUcmFuc2xhdGlvbiIsImF1dG9DbG9zZSIsImxlbmd0aCIsImVycm9yIiwiY291bnQiLCJqb2luIiwic2V0VGltZW91dCIsImNvbmZpcm0iLCJSZWFjdCIsIkZyYWdtZW50IiwiUG9wdXBMaXN0IiwiQnV0dG9uIiwib25DbGljayIsIk1vZGFsIiwiY2xhc3NOYW1lIiwiTWluaW1hbFRlbXBsYXRlIiwiaDEiLCJwIiwiYnV0dG9uU3R5bGUiLCJ0eXBlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7K0JBaU5BOzs7ZUFBQTs7O3VCQWhOZ0M7OEJBQ0Q7NEJBQ0w7K0RBQ21COytCQUN2Qjt5QkFLbUI7d0JBQ2Y7NkJBQ0s7eUJBQ0M7d0JBQ1Q7eUVBQ0k7UUFDcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVQLE1BQU1BLFlBQVk7QUFFbEIsTUFBTUMsWUFBNkIsQ0FBQyxFQUFFQyxFQUFFLEVBQUVDLGFBQWEsRUFBRUMsSUFBSSxFQUFFO0lBQzdELE1BQU0sRUFBRUMsSUFBSSxFQUFFLEdBQUdDLElBQUFBLHFCQUFTO0lBQzFCLE1BQU1DLFdBQVdDLElBQUFBLHdCQUFlO0lBQ2hDLE1BQU0sRUFBRUMsV0FBVyxFQUFFLEdBQUdDLElBQUFBLGVB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
|