@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,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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
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "EditMany", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function() {
|
|
9
|
+
return EditMany;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
const _modal = require("@faceless-ui/modal");
|
|
13
|
+
const _translations = require("@payloadcms/translations");
|
|
14
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
|
|
15
|
+
const _ = require("../..");
|
|
16
|
+
const _Form = /*#__PURE__*/ _interop_require_default(require("../../forms/Form"));
|
|
17
|
+
const _context = require("../../forms/Form/context");
|
|
18
|
+
const _RenderFields = /*#__PURE__*/ _interop_require_default(require("../../forms/RenderFields"));
|
|
19
|
+
const _Submit = /*#__PURE__*/ _interop_require_default(require("../../forms/Submit"));
|
|
20
|
+
const _X = require("../../icons/X");
|
|
21
|
+
const _Auth = require("../../providers/Auth");
|
|
22
|
+
const _Config = require("../../providers/Config");
|
|
23
|
+
const _OperationProvider = require("../../providers/OperationProvider");
|
|
24
|
+
const _SearchParams = require("../../providers/SearchParams");
|
|
25
|
+
const _SelectionProvider = require("../../providers/SelectionProvider");
|
|
26
|
+
const _Translation = require("../../providers/Translation");
|
|
27
|
+
const _Drawer = require("../Drawer");
|
|
28
|
+
const _FieldSelect = require("../FieldSelect");
|
|
29
|
+
require("./index.scss");
|
|
30
|
+
function _interop_require_default(obj) {
|
|
31
|
+
return obj && obj.__esModule ? obj : {
|
|
32
|
+
default: obj
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
36
|
+
if (typeof WeakMap !== "function") return null;
|
|
37
|
+
var cacheBabelInterop = new WeakMap();
|
|
38
|
+
var cacheNodeInterop = new WeakMap();
|
|
39
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
40
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
41
|
+
})(nodeInterop);
|
|
42
|
+
}
|
|
43
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
44
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
45
|
+
return obj;
|
|
46
|
+
}
|
|
47
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
48
|
+
return {
|
|
49
|
+
default: obj
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
53
|
+
if (cache && cache.has(obj)) {
|
|
54
|
+
return cache.get(obj);
|
|
55
|
+
}
|
|
56
|
+
var newObj = {
|
|
57
|
+
__proto__: null
|
|
58
|
+
};
|
|
59
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
60
|
+
for(var key in obj){
|
|
61
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
62
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
63
|
+
if (desc && (desc.get || desc.set)) {
|
|
64
|
+
Object.defineProperty(newObj, key, desc);
|
|
65
|
+
} else {
|
|
66
|
+
newObj[key] = obj[key];
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
newObj.default = obj;
|
|
71
|
+
if (cache) {
|
|
72
|
+
cache.set(obj, newObj);
|
|
73
|
+
}
|
|
74
|
+
return newObj;
|
|
75
|
+
}
|
|
76
|
+
const baseClass = 'edit-many';
|
|
77
|
+
const Submit = ({ action, disabled })=>{
|
|
78
|
+
const { submit } = (0, _context.useForm)();
|
|
79
|
+
const { t } = (0, _Translation.useTranslation)();
|
|
80
|
+
const save = (0, _react.useCallback)(()=>{
|
|
81
|
+
submit({
|
|
82
|
+
action,
|
|
83
|
+
method: 'PATCH',
|
|
84
|
+
skipValidation: true
|
|
85
|
+
});
|
|
86
|
+
}, [
|
|
87
|
+
action,
|
|
88
|
+
submit
|
|
89
|
+
]);
|
|
90
|
+
return /*#__PURE__*/ _react.default.createElement(_Submit.default, {
|
|
91
|
+
className: `${baseClass}__save`,
|
|
92
|
+
disabled: disabled,
|
|
93
|
+
onClick: save
|
|
94
|
+
}, t('general:save'));
|
|
95
|
+
};
|
|
96
|
+
const Publish = ({ action, disabled })=>{
|
|
97
|
+
const { submit } = (0, _context.useForm)();
|
|
98
|
+
const { t } = (0, _Translation.useTranslation)();
|
|
99
|
+
const save = (0, _react.useCallback)(()=>{
|
|
100
|
+
submit({
|
|
101
|
+
action,
|
|
102
|
+
method: 'PATCH',
|
|
103
|
+
overrides: {
|
|
104
|
+
_status: 'published'
|
|
105
|
+
},
|
|
106
|
+
skipValidation: true
|
|
107
|
+
});
|
|
108
|
+
}, [
|
|
109
|
+
action,
|
|
110
|
+
submit
|
|
111
|
+
]);
|
|
112
|
+
return /*#__PURE__*/ _react.default.createElement(_Submit.default, {
|
|
113
|
+
className: `${baseClass}__publish`,
|
|
114
|
+
disabled: disabled,
|
|
115
|
+
onClick: save
|
|
116
|
+
}, t('version:publishChanges'));
|
|
117
|
+
};
|
|
118
|
+
const SaveDraft = ({ action, disabled })=>{
|
|
119
|
+
const { submit } = (0, _context.useForm)();
|
|
120
|
+
const { t } = (0, _Translation.useTranslation)();
|
|
121
|
+
const save = (0, _react.useCallback)(()=>{
|
|
122
|
+
submit({
|
|
123
|
+
action,
|
|
124
|
+
method: 'PATCH',
|
|
125
|
+
overrides: {
|
|
126
|
+
_status: 'draft'
|
|
127
|
+
},
|
|
128
|
+
skipValidation: true
|
|
129
|
+
});
|
|
130
|
+
}, [
|
|
131
|
+
action,
|
|
132
|
+
submit
|
|
133
|
+
]);
|
|
134
|
+
return /*#__PURE__*/ _react.default.createElement(_Submit.default, {
|
|
135
|
+
className: `${baseClass}__draft`,
|
|
136
|
+
disabled: disabled,
|
|
137
|
+
onClick: save
|
|
138
|
+
}, t('version:saveDraft'));
|
|
139
|
+
};
|
|
140
|
+
const EditMany = (props)=>{
|
|
141
|
+
const { collection: { slug, fields, labels: { plural } } = {}, collection } = props;
|
|
142
|
+
const { permissions } = (0, _Auth.useAuth)();
|
|
143
|
+
const { closeModal } = (0, _modal.useModal)();
|
|
144
|
+
const { routes: { api: apiRoute }, serverURL } = (0, _Config.useConfig)();
|
|
145
|
+
const { count, getQueryParams, selectAll } = (0, _SelectionProvider.useSelection)();
|
|
146
|
+
const { i18n, t } = (0, _Translation.useTranslation)();
|
|
147
|
+
const [selected, setSelected] = (0, _react.useState)([]);
|
|
148
|
+
const { dispatchSearchParams } = (0, _SearchParams.useSearchParams)();
|
|
149
|
+
const { componentMap } = (0, _.useComponentMap)();
|
|
150
|
+
const [reducedFieldMap, setReducedFieldMap] = (0, _react.useState)([]);
|
|
151
|
+
const [initialState, setInitialState] = (0, _react.useState)();
|
|
152
|
+
const hasInitializedState = _react.default.useRef(false);
|
|
153
|
+
const collectionPermissions = permissions?.collections?.[slug];
|
|
154
|
+
const hasUpdatePermission = collectionPermissions?.update?.permission;
|
|
155
|
+
const drawerSlug = `edit-${slug}`;
|
|
156
|
+
_react.default.useEffect(()=>{
|
|
157
|
+
if (componentMap?.collections?.[slug]?.fieldMap) {
|
|
158
|
+
const fieldMap = componentMap.collections[slug].fieldMap;
|
|
159
|
+
const reducedFieldMap = [];
|
|
160
|
+
fieldMap.map((field)=>{
|
|
161
|
+
selected.map((selectedField)=>{
|
|
162
|
+
if (field.name === selectedField.name) {
|
|
163
|
+
reducedFieldMap.push(field);
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
setReducedFieldMap(reducedFieldMap);
|
|
168
|
+
}
|
|
169
|
+
}, [
|
|
170
|
+
componentMap.collections,
|
|
171
|
+
fields,
|
|
172
|
+
slug,
|
|
173
|
+
selected
|
|
174
|
+
]);
|
|
175
|
+
_react.default.useEffect(()=>{
|
|
176
|
+
if (!hasInitializedState.current) {
|
|
177
|
+
const getInitialState = async ()=>{
|
|
178
|
+
const result = await (0, _.getFormState)({
|
|
179
|
+
apiRoute,
|
|
180
|
+
body: {
|
|
181
|
+
collectionSlug: slug,
|
|
182
|
+
data: {},
|
|
183
|
+
operation: 'update',
|
|
184
|
+
schemaPath: slug
|
|
185
|
+
},
|
|
186
|
+
serverURL
|
|
187
|
+
});
|
|
188
|
+
setInitialState(result);
|
|
189
|
+
hasInitializedState.current = true;
|
|
190
|
+
};
|
|
191
|
+
void getInitialState();
|
|
192
|
+
}
|
|
193
|
+
}, [
|
|
194
|
+
apiRoute,
|
|
195
|
+
hasInitializedState,
|
|
196
|
+
serverURL,
|
|
197
|
+
slug
|
|
198
|
+
]);
|
|
199
|
+
if (selectAll === _SelectionProvider.SelectAllStatus.None || !hasUpdatePermission) {
|
|
200
|
+
return null;
|
|
201
|
+
}
|
|
202
|
+
const onSuccess = ()=>{
|
|
203
|
+
dispatchSearchParams({
|
|
204
|
+
type: 'set',
|
|
205
|
+
browserHistory: 'replace',
|
|
206
|
+
params: {
|
|
207
|
+
page: selectAll === _SelectionProvider.SelectAllStatus.AllAvailable ? '1' : undefined
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
};
|
|
211
|
+
return /*#__PURE__*/ _react.default.createElement("div", {
|
|
212
|
+
className: baseClass
|
|
213
|
+
}, /*#__PURE__*/ _react.default.createElement(_Drawer.DrawerToggler, {
|
|
214
|
+
"aria-label": t('general:edit'),
|
|
215
|
+
className: `${baseClass}__toggle`,
|
|
216
|
+
onClick: ()=>{
|
|
217
|
+
setSelected([]);
|
|
218
|
+
},
|
|
219
|
+
slug: drawerSlug
|
|
220
|
+
}, t('general:edit')), /*#__PURE__*/ _react.default.createElement(_Drawer.Drawer, {
|
|
221
|
+
Header: null,
|
|
222
|
+
slug: drawerSlug
|
|
223
|
+
}, /*#__PURE__*/ _react.default.createElement(_.DocumentInfoProvider, {
|
|
224
|
+
collection: collection
|
|
225
|
+
}, /*#__PURE__*/ _react.default.createElement(_OperationProvider.OperationContext.Provider, {
|
|
226
|
+
value: "update"
|
|
227
|
+
}, /*#__PURE__*/ _react.default.createElement("div", {
|
|
228
|
+
className: `${baseClass}__main`
|
|
229
|
+
}, /*#__PURE__*/ _react.default.createElement("div", {
|
|
230
|
+
className: `${baseClass}__header`
|
|
231
|
+
}, /*#__PURE__*/ _react.default.createElement("h2", {
|
|
232
|
+
className: `${baseClass}__header__title`
|
|
233
|
+
}, t('general:editingLabel', {
|
|
234
|
+
count,
|
|
235
|
+
label: (0, _translations.getTranslation)(plural, i18n)
|
|
236
|
+
})), /*#__PURE__*/ _react.default.createElement("button", {
|
|
237
|
+
"aria-label": t('general:close'),
|
|
238
|
+
className: `${baseClass}__header__close`,
|
|
239
|
+
id: `close-drawer__${drawerSlug}`,
|
|
240
|
+
onClick: ()=>closeModal(drawerSlug),
|
|
241
|
+
type: "button"
|
|
242
|
+
}, /*#__PURE__*/ _react.default.createElement(_X.X, null))), /*#__PURE__*/ _react.default.createElement(_.FieldPathProvider, {
|
|
243
|
+
path: "",
|
|
244
|
+
schemaPath: slug
|
|
245
|
+
}, /*#__PURE__*/ _react.default.createElement(_Form.default, {
|
|
246
|
+
className: `${baseClass}__form`,
|
|
247
|
+
initialState: initialState,
|
|
248
|
+
onSuccess: onSuccess
|
|
249
|
+
}, /*#__PURE__*/ _react.default.createElement(_FieldSelect.FieldSelect, {
|
|
250
|
+
fields: fields,
|
|
251
|
+
setSelected: setSelected
|
|
252
|
+
}), reducedFieldMap.length === 0 ? null : /*#__PURE__*/ _react.default.createElement(_RenderFields.default, {
|
|
253
|
+
fieldMap: reducedFieldMap
|
|
254
|
+
}), /*#__PURE__*/ _react.default.createElement("div", {
|
|
255
|
+
className: `${baseClass}__sidebar-wrap`
|
|
256
|
+
}, /*#__PURE__*/ _react.default.createElement("div", {
|
|
257
|
+
className: `${baseClass}__sidebar`
|
|
258
|
+
}, /*#__PURE__*/ _react.default.createElement("div", {
|
|
259
|
+
className: `${baseClass}__sidebar-sticky-wrap`
|
|
260
|
+
}, /*#__PURE__*/ _react.default.createElement("div", {
|
|
261
|
+
className: `${baseClass}__document-actions`
|
|
262
|
+
}, collection?.versions?.drafts ? /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(Publish, {
|
|
263
|
+
action: `${serverURL}${apiRoute}/${slug}${getQueryParams()}`,
|
|
264
|
+
disabled: selected.length === 0
|
|
265
|
+
}), /*#__PURE__*/ _react.default.createElement(SaveDraft, {
|
|
266
|
+
action: `${serverURL}${apiRoute}/${slug}${getQueryParams()}`,
|
|
267
|
+
disabled: selected.length === 0
|
|
268
|
+
})) : /*#__PURE__*/ _react.default.createElement(Submit, {
|
|
269
|
+
action: `${serverURL}${apiRoute}/${slug}${getQueryParams()}`,
|
|
270
|
+
disabled: selected.length === 0
|
|
271
|
+
}))))))))))));
|
|
272
|
+
};
|
|
273
|
+
|
|
274
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9FZGl0TWFueS9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgeyB1c2VNb2RhbCB9IGZyb20gJ0BmYWNlbGVzcy11aS9tb2RhbCdcbmltcG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSAnQHBheWxvYWRjbXMvdHJhbnNsYXRpb25zJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgdHlwZSB7IEZvcm1TdGF0ZSB9IGZyb20gJy4uLy4uJ1xuaW1wb3J0IHR5cGUgeyBQcm9wcyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IERvY3VtZW50SW5mb1Byb3ZpZGVyLCBGaWVsZFBhdGhQcm92aWRlciwgZ2V0Rm9ybVN0YXRlLCB1c2VDb21wb25lbnRNYXAgfSBmcm9tICcuLi8uLidcbmltcG9ydCBGb3JtIGZyb20gJy4uLy4uL2Zvcm1zL0Zvcm0nXG5pbXBvcnQgeyB1c2VGb3JtIH0gZnJvbSAnLi4vLi4vZm9ybXMvRm9ybS9jb250ZXh0J1xuaW1wb3J0IFJlbmRlckZpZWxkcyBmcm9tICcuLi8uLi9mb3Jtcy9SZW5kZXJGaWVsZHMnXG5pbXBvcnQgRm9ybVN1Ym1pdCBmcm9tICcuLi8uLi9mb3Jtcy9TdWJtaXQnXG5pbXBvcnQgeyBYIH0gZnJvbSAnLi4vLi4vaWNvbnMvWCdcbmltcG9ydCB7IHVzZUF1dGggfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvQXV0aCdcbmltcG9ydCB7IHVzZUNvbmZpZyB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9Db25maWcnXG5pbXBvcnQgeyBPcGVyYXRpb25Db250ZXh0IH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL09wZXJhdGlvblByb3ZpZGVyJ1xuaW1wb3J0IHsgdXNlU2VhcmNoUGFyYW1zIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL1NlYXJjaFBhcmFtcydcbmltcG9ydCB7IFNlbGVjdEFsbFN0YXR1cywgdXNlU2VsZWN0aW9uIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL1NlbGVjdGlvblByb3ZpZGVyJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvVHJhbnNsYXRpb24nXG5pbXBvcnQgeyBEcmF3ZXIsIERyYXdlclRvZ2dsZXIgfSBmcm9tICcuLi9EcmF3ZXInXG5pbXBvcnQgeyBGaWVsZFNlbGVjdCB9IGZyb20gJy4uL0ZpZWxkU2VsZWN0J1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdlZGl0LW1hbnknXG5cbmNvbnN0IFN1Ym1pdDogUmVhY3QuRkM8eyBhY3Rpb246IHN0cmluZzsgZGlzYWJsZWQ6IGJvb2xlYW4gfT4gPSAoeyBhY3Rpb24sIGRpc2FibGVkIH0pID0+IHtcbiAgY29uc3QgeyBzdWJtaXQgfSA9IHVzZUZvcm0oKVxuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcblxuICBjb25zdCBzYXZlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHN1Ym1pdCh7XG4gICAgICBhY3Rpb24sXG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICBza2lwVmFsaWRhdGlvbjogdHJ1ZSxcbiAgICB9KVxuICB9LCBbYWN0aW9uLCBzdWJtaXRdKVxuXG4gIHJldHVybiAoXG4gICAgPEZvcm1TdWJtaXQgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19zYXZlYH0gZGlzYWJsZWQ9e2Rpc2FibGVkfSBvbkNsaWNrPXtzYXZlfT5cbiAgICAgIHt0KCdnZW5lcmFsOnNhdmUnKX1cbiAgICA8L0Zvcm1TdWJtaXQ+XG4gIClcbn1cbmNvbnN0IFB1Ymxpc2g6IFJlYWN0LkZDPHsgYWN0aW9uOiBzdHJpbmc7IGRpc2FibGVkOiBib29sZWFuIH0+ID0gKHsgYWN0aW9uLCBkaXNhYmxlZCB9KSA9PiB7XG4gIGNvbnN0IHsgc3VibWl0IH0gPSB1c2VGb3JtKClcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpXG5cbiAgY29uc3Qgc2F2ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzdWJtaXQoe1xuICAgICAgYWN0aW9uLFxuICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgb3ZlcnJpZGVzOiB7XG4gICAgICAgIF9zdGF0dXM6ICdwdWJsaXNoZWQnLFxuICAgICAgfSxcbiAgICAgIHNraXBWYWxpZGF0aW9uOiB0cnVlLFxuICAgIH0pXG4gIH0sIFthY3Rpb24sIHN1Ym1pdF0pXG5cbiAgcmV0dXJuIChcbiAgICA8Rm9ybVN1Ym1pdCBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3B1Ymxpc2hgfSBkaXNhYmxlZD17ZGlzYWJsZWR9IG9uQ2xpY2s9e3NhdmV9PlxuICAgICAge3QoJ3ZlcnNpb246cHVibGlzaENoYW5nZXMnKX1cbiAgICA8L0Zvcm1TdWJtaXQ+XG4gIClcbn1cbmNvbnN0IFNhdmVEcmFmdDogUmVhY3QuRkM8eyBhY3Rpb246IHN0cmluZzsgZGlzYWJsZWQ6IGJvb2xlYW4gfT4gPSAoeyBhY3Rpb24sIGRpc2FibGVkIH0pID0+IHtcbiAgY29uc3QgeyBzdWJtaXQgfSA9IHVzZUZvcm0oKVxuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcblxuICBjb25zdCBzYXZlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHN1Ym1pdCh7XG4gICAgICBhY3Rpb24sXG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICBvdmVycmlkZXM6IHtcbiAgICAgICAgX3N0YXR1czogJ2RyYWZ0JyxcbiAgICAgIH0sXG4gICAgICBza2lwVmFsaWRhdGlvbjogdHJ1ZSxcbiAgICB9KVxuICB9LCBbYWN0aW9uLCBzdWJtaXRdKVxuXG4gIHJldHVybiAoXG4gICAgPEZvcm1TdWJtaXQgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19kcmFmdGB9IGRpc2FibGVkPXtkaXNhYmxlZH0gb25DbGljaz17c2F2ZX0+XG4gICAgICB7dCgndmVyc2lvbjpzYXZlRHJhZnQnKX1cbiAgICA8L0Zvcm1TdWJtaXQ+XG4gIClcbn1cbmV4cG9ydCBjb25zdCBFZGl0TWFueTogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbjogeyBzbHVnLCBmaWVsZHMsIGxhYmVsczogeyBwbHVyYWwgfSB9ID0ge30sIGNvbGxlY3Rpb24gfSA9IHByb3BzXG5cbiAgY29uc3QgeyBwZXJtaXNzaW9ucyB9ID0gdXNlQXV0aCgpXG4gIGNvbnN0IHsgY2xvc2VNb2RhbCB9ID0gdXNlTW9kYWwoKVxuICBjb25zdCB7XG4gICAgcm91dGVzOiB7IGFwaTogYXBpUm91dGUgfSxcbiAgICBzZXJ2ZXJVUkwsXG4gIH0gPSB1c2VDb25maWcoKVxuICBjb25zdCB7IGNvdW50LCBnZXRRdWVyeVBhcmFtcywgc2VsZWN0QWxsIH0gPSB1c2VTZWxlY3Rpb24oKVxuICBjb25zdCB7IGkxOG4sIHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcbiAgY29uc3QgW3NlbGVjdGVkLCBzZXRTZWxlY3RlZF0gPSB1c2VTdGF0ZShbXSlcbiAgY29uc3QgeyBkaXNwYXRjaFNlYXJjaFBhcmFtcyB9ID0gdXNlU2VhcmNoUGFyYW1zKClcbiAgY29uc3QgeyBjb21wb25lbnRNYXAgfSA9IHVzZUNvbXBvbmVudE1hcCgpXG4gIGNvbnN0IFtyZWR1Y2VkRmllbGRNYXAsIHNldFJlZHVjZWRGaWVsZE1hcF0gPSB1c2VTdGF0ZShbXSlcbiAgY29uc3QgW2luaXRpYWxTdGF0ZSwgc2V0SW5pdGlhbFN0YXRlXSA9IHVzZVN0YXRlPEZvcm1TdGF0ZT4oKVxuICBjb25zdCBoYXNJbml0aWFsaXplZFN0YXRlID0gUmVhY3QudXNlUmVmKGZhbHNlKVxuXG4gIGNvbnN0IGNvbGxlY3Rpb25QZXJtaXNzaW9ucyA9IHBlcm1pc3Npb25zPy5jb2xsZWN0aW9ucz8uW3NsdWddXG4gIGNvbnN0IGhhc1VwZGF0ZVBlcm1pc3Npb24gPSBjb2xsZWN0aW9uUGVybWlzc2lvbnM/LnVwZGF0ZT8ucGVybWlzc2lvblxuXG4gIGNvbnN0IGRyYXdlclNsdWcgPSBgZWRpdC0ke3NsdWd9YFxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGNvbXBvbmVudE1hcD8uY29sbGVjdGlvbnM/LltzbHVnXT8uZmllbGRNYXApIHtcbiAgICAgIGNvbnN0IGZpZWxkTWFwID0gY29tcG9uZW50TWFwLmNvbGxlY3Rpb25zW3NsdWddLmZpZWxkTWFwXG4gICAgICBjb25zdCByZWR1Y2VkRmllbGRNYXAgPSBbXVxuICAgICAgZmllbGRNYXAubWFwKChmaWVsZCkgPT4ge1xuICAgICAgICBzZWxlY3RlZC5tYXAoKHNlbGVjdGVkRmllbGQpID0+IHtcbiAgICAgICAgICBpZiAoZmllbGQubmFtZSA9PT0gc2VsZWN0ZWRGaWVsZC5uYW1lKSB7XG4gICAgICAgICAgICByZWR1Y2VkRmllbGRNYXAucHVzaChmaWVsZClcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgICAgc2V0UmVkdWNlZEZpZWxkTWFwKHJlZHVjZWRGaWVsZE1hcClcbiAgICB9XG4gIH0sIFtjb21wb25lbnRNYXAuY29sbGVjdGlvbnMsIGZpZWxkcywgc2x1Zywgc2VsZWN0ZWRdKVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFoYXNJbml0aWFsaXplZFN0YXRlLmN1cnJlbnQpIHtcbiAgICAgIGNvbnN0IGdldEluaXRpYWxTdGF0ZSA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2V0Rm9ybVN0YXRlKHtcbiAgICAgICAgICBhcGlSb3V0ZSxcbiAgICAgICAgICBib2R5OiB7XG4gICAgICAgICAgICBjb2xsZWN0aW9uU2x1Zzogc2x1ZyxcbiAgICAgICAgICAgIGRhdGE6IHt9LFxuICAgICAgICAgICAgb3BlcmF0aW9uOiAndXBkYXRlJyxcbiAgICAgICAgICAgIHNjaGVtYVBhdGg6IHNsdWcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXJ2ZXJVUkwsXG4gICAgICAgIH0pXG5cbiAgICAgICAgc2V0SW5pdGlhbFN0YXRlKHJlc3VsdClcbiAgICAgICAgaGFzSW5pdGlhbGl6ZWRTdGF0ZS5jdXJyZW50ID0gdHJ1ZVxuICAgICAgfVxuXG4gICAgICB2b2lkIGdldEluaXRpYWxTdGF0ZSgpXG4gICAgfVxuICB9LCBbYXBpUm91dGUsIGhhc0luaXRpYWxpemVkU3RhdGUsIHNlcnZlclVSTCwgc2x1Z10pXG5cbiAgaWYgKHNlbGVjdEFsbCA9PT0gU2VsZWN0QWxsU3RhdHVzLk5vbmUgfHwgIWhhc1VwZGF0ZVBlcm1pc3Npb24pIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3Qgb25TdWNjZXNzID0gKCkgPT4ge1xuICAgIGRpc3BhdGNoU2VhcmNoUGFyYW1zKHtcbiAgICAgIHR5cGU6ICdzZXQnLFxuICAgICAgYnJvd3Nlckhpc3Rvcnk6ICdyZXBsYWNlJyxcbiAgICAgIHBhcmFtczogeyBwYWdlOiBzZWxlY3RBbGwgPT09IFNlbGVjdEFsbFN0YXR1cy5BbGxBdmFpbGFibGUgPyAnMScgOiB1bmRlZmluZWQgfSxcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YmFzZUNsYXNzfT5cbiAgICAgIDxEcmF3ZXJUb2dnbGVyXG4gICAgICAgIGFyaWEtbGFiZWw9e3QoJ2dlbmVyYWw6ZWRpdCcpfVxuICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3RvZ2dsZWB9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICBzZXRTZWxlY3RlZChbXSlcbiAgICAgICAgfX1cbiAgICAgICAgc2x1Zz17ZHJhd2VyU2x1Z31cbiAgICAgID5cbiAgICAgICAge3QoJ2dlbmVyYWw6ZWRpdCcpfVxuICAgICAgPC9EcmF3ZXJUb2dnbGVyPlxuICAgICAgPERyYXdlciBIZWFkZXI9e251bGx9IHNsdWc9e2RyYXdlclNsdWd9PlxuICAgICAgICB7LyogQHRzLWV4cGVjdC1lcnJvciAqL31cbiAgICAgICAgPERvY3VtZW50SW5mb1Byb3ZpZGVyIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259PlxuICAgICAgICAgIDxPcGVyYXRpb25Db250ZXh0LlByb3ZpZGVyIHZhbHVlPVwidXBkYXRlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fbWFpbmB9PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faGVhZGVyYH0+XG4gICAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faGVhZGVyX190aXRsZWB9PlxuICAgICAgICAgICAgICAgICAge3QoJ2dlbmVyYWw6ZWRpdGluZ0xhYmVsJywgeyBjb3VudCwgbGFiZWw6IGdldFRyYW5zbGF0aW9uKHBsdXJhbCwgaTE4bikgfSl9XG4gICAgICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXt0KCdnZW5lcmFsOmNsb3NlJyl9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2hlYWRlcl9fY2xvc2VgfVxuICAgICAgICAgICAgICAgICAgaWQ9e2BjbG9zZS1kcmF3ZXJfXyR7ZHJhd2VyU2x1Z31gfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gY2xvc2VNb2RhbChkcmF3ZXJTbHVnKX1cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxYIC8+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8RmllbGRQYXRoUHJvdmlkZXIgcGF0aD1cIlwiIHNjaGVtYVBhdGg9e3NsdWd9PlxuICAgICAgICAgICAgICAgIDxGb3JtXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2Zvcm1gfVxuICAgICAgICAgICAgICAgICAgaW5pdGlhbFN0YXRlPXtpbml0aWFsU3RhdGV9XG4gICAgICAgICAgICAgICAgICBvblN1Y2Nlc3M9e29uU3VjY2Vzc31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RmllbGRTZWxlY3QgZmllbGRzPXtmaWVsZHN9IHNldFNlbGVjdGVkPXtzZXRTZWxlY3RlZH0gLz5cbiAgICAgICAgICAgICAgICAgIHtyZWR1Y2VkRmllbGRNYXAubGVuZ3RoID09PSAwID8gbnVsbCA6IChcbiAgICAgICAgICAgICAgICAgICAgPFJlbmRlckZpZWxkcyBmaWVsZE1hcD17cmVkdWNlZEZpZWxkTWFwfSAvPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19zaWRlYmFyLXdyYXBgfT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3NpZGViYXJgfT5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fc2lkZWJhci1zdGlja3ktd3JhcGB9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2RvY3VtZW50LWFjdGlvbnNgfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2NvbGxlY3Rpb24/LnZlcnNpb25zPy5kcmFmdHMgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFB1Ymxpc2hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPXtgJHtzZXJ2ZXJVUkx9JHthcGlSb3V0ZX0vJHtzbHVnfSR7Z2V0UXVlcnlQYXJhbXMoKX1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17c2VsZWN0ZWQubGVuZ3RoID09PSAwfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTYXZlRHJhZnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPXtgJHtzZXJ2ZXJVUkx9JHthcGlSb3V0ZX0vJHtzbHVnfSR7Z2V0UXVlcnlQYXJhbXMoKX1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17c2VsZWN0ZWQubGVuZ3RoID09PSAwfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdWJtaXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj17YCR7c2VydmVyVVJMfSR7YXBpUm91dGV9LyR7c2x1Z30ke2dldFF1ZXJ5UGFyYW1zKCl9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtzZWxlY3RlZC5sZW5ndGggPT09IDB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvRm9ybT5cbiAgICAgICAgICAgICAgPC9GaWVsZFBhdGhQcm92aWRlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvT3BlcmF0aW9uQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgICAgPC9Eb2N1bWVudEluZm9Qcm92aWRlcj5cbiAgICAgIDwvRHJhd2VyPlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiRWRpdE1hbnkiLCJiYXNlQ2xhc3MiLCJTdWJtaXQiLCJhY3Rpb24iLCJkaXNhYmxlZCIsInN1Ym1pdCIsInVzZUZvcm0iLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJzYXZlIiwidXNlQ2FsbGJhY2siLCJtZXRob2QiLCJza2lwVmFsaWRhdGlvbiIsIkZvcm1TdWJtaXQiLCJjbGFzc05hbWUiLCJvbkNsaWNrIiwiUHVibGlzaCIsIm92ZXJyaWRlcyIsIl9zdGF0dXMiLCJTYXZlRHJhZnQiLCJwcm9wcyIsImNvbGxlY3Rpb24iLCJzbHVnIiwiZmllbGRzIiwibGFiZWxzIiwicGx1cmFsIiwicGVybWlzc2lvbnMiLCJ1c2VBdXRoIiwiY2xvc2VNb2RhbCIsInVzZU1vZGFsIiwicm91dGVzIiwiYXBpIiwiYXBpUm91dGUiLCJzZXJ2ZXJVUkwiLCJ1c2VDb25maWciLCJjb3VudCIsImdldFF1ZXJ5UGFyYW1zIiwic2VsZWN0QWxsIiwidXNlU2VsZWN0aW9uIiwiaTE4biIsInNlbGVjdGVkIiwic2V0U2VsZWN0ZWQiLCJ1c2VTdGF0ZSIsImRpc3BhdGNoU2VhcmNoUGFyYW1zIiwidXNlU2VhcmNoUGFyYW1zIiwiY29tcG9uZW50TWFwIiwidXNlQ29tcG9uZW50TWFwIiwicmVkdWNlZEZpZWxkTWFwIiwic2V0UmVkdWNlZEZpZWxkTWFwIiwiaW5pdGlhbFN0YXRlIiwic2V0SW5pdGlhbFN0YXRlIiwiaGFzSW5pdGlhbGl6ZWRTdGF0ZSIsIlJlYWN0IiwidXNlUmVmIiwiY29sbGVjdGlvblBlcm1pc3Npb25zIiwiY29sbGVjdGlvbnMiLCJoYXNVcGRhdGVQZXJtaXNzaW9uIiwidXBkYXRlIiwicGVybWlzc2lvbiIsImRyYXdlclNsdWciLCJ1c2VFZmZlY3QiLCJmaWVsZE1hcCIsIm1hcCIsImZpZWxkIiwic2VsZWN0ZWRGaWVsZCIsIm5hbWUiLCJwdXNoIiwiY3VycmVudCIsImdldEluaXRpYWxTdGF0ZSIsInJlc3VsdCIsImdldEZvcm1TdGF0ZSIsImJvZHkiLCJjb2xsZWN0aW9uU2x1ZyIsImRhdGEiLCJvcGVyYXRpb24iLCJzY2hlbWFQYXRoIiwiU2VsZWN0QWxsU3RhdHVzIiwiTm9uZSIsIm9uU3VjY2VzcyIsInR5cGUiLCJicm93c2VySGlzdG9yeSIsInBhcmFtcyIsInBhZ2UiLCJBbGxBdmFpbGFibGUiLCJ1bmRlZmluZWQiLCJkaXYiLCJEcmF3ZXJUb2dnbGVyIiwiYXJpYS1sYWJlbCIsIkRyYXdlciIsIkhlYWRlciIsIkRvY3VtZW50SW5mb1Byb3ZpZGVyIiwiT3BlcmF0aW9uQ29udGV4dCIsIlByb3ZpZGVyIiwidmFsdWUiLCJoMiIsImxhYmVsIiwiZ2V0VHJhbnNsYXRpb24iLCJidXR0b24iLCJpZCIsIlgiLCJGaWVsZFBhdGhQcm92aWRlciIsInBhdGgiLCJGb3JtIiwiRmllbGRTZWxlY3QiLCJsZW5ndGgiLCJSZW5kZXJGaWVsZHMiLCJ2ZXJzaW9ucyIsImRyYWZ0cyIsIkZyYWdtZW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7K0JBc0ZhQTs7O2VBQUFBOzs7dUJBckZZOzhCQUNNOytEQUNjO2tCQUswQzs2REFDdEU7eUJBQ087cUVBQ0M7K0RBQ0Y7bUJBQ0w7c0JBQ007d0JBQ0U7bUNBQ087OEJBQ0Q7bUNBQ2M7NkJBQ2Y7d0JBQ087NkJBQ1Y7UUFDckI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRVAsTUFBTUMsWUFBWTtBQUVsQixNQUFNQyxTQUEwRCxDQUFDLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxFQUFFO0lBQ25GLE1BQU0sRUFBRUMsTUFBTSxFQUFFLEdBQUdDLElBQUFBLGdCQUFPO0lBQzFCLE1BQU0sRUFBRUMsQ0FBQyxFQUFFLEdBQUdDLElBQUFBLDJCQUFjO0lBRTVCLE1BQU1DLE9BQU9DLElBQUFBLGtCQUFXLEVBQUM7UUFDdkJMLE9BQU87WUFDTEY7WUFDQVEsUUFBUTtZQUNSQyxnQkFBZ0I7UUFDbEI7SUFDRixHQUFHO1FBQUNUO1FBQVFFO0tBQU87SUFF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
|