@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,235 @@
|
|
|
1
|
+
// import queryString from 'qs'
|
|
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 _translations = require("@payloadcms/translations");
|
|
13
|
+
const _utilities = require("payload/utilities");
|
|
14
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
|
|
15
|
+
const _Config = require("../../providers/Config");
|
|
16
|
+
const _SearchParams = require("../../providers/SearchParams");
|
|
17
|
+
const _Translation = require("../../providers/Translation");
|
|
18
|
+
const _Button = require("../Button");
|
|
19
|
+
const _Condition = /*#__PURE__*/ _interop_require_default(require("./Condition"));
|
|
20
|
+
const _fieldtypes = /*#__PURE__*/ _interop_require_default(require("./field-types"));
|
|
21
|
+
require("./index.scss");
|
|
22
|
+
const _reducer = /*#__PURE__*/ _interop_require_default(require("./reducer"));
|
|
23
|
+
const _transformWhereQuery = require("./transformWhereQuery");
|
|
24
|
+
const _validateWhereQuery = /*#__PURE__*/ _interop_require_default(require("./validateWhereQuery"));
|
|
25
|
+
function _interop_require_default(obj) {
|
|
26
|
+
return obj && obj.__esModule ? obj : {
|
|
27
|
+
default: obj
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
31
|
+
if (typeof WeakMap !== "function") return null;
|
|
32
|
+
var cacheBabelInterop = new WeakMap();
|
|
33
|
+
var cacheNodeInterop = new WeakMap();
|
|
34
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
35
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
36
|
+
})(nodeInterop);
|
|
37
|
+
}
|
|
38
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
39
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
40
|
+
return obj;
|
|
41
|
+
}
|
|
42
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
43
|
+
return {
|
|
44
|
+
default: obj
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
48
|
+
if (cache && cache.has(obj)) {
|
|
49
|
+
return cache.get(obj);
|
|
50
|
+
}
|
|
51
|
+
var newObj = {
|
|
52
|
+
__proto__: null
|
|
53
|
+
};
|
|
54
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
55
|
+
for(var key in obj){
|
|
56
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
57
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
58
|
+
if (desc && (desc.get || desc.set)) {
|
|
59
|
+
Object.defineProperty(newObj, key, desc);
|
|
60
|
+
} else {
|
|
61
|
+
newObj[key] = obj[key];
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
newObj.default = obj;
|
|
66
|
+
if (cache) {
|
|
67
|
+
cache.set(obj, newObj);
|
|
68
|
+
}
|
|
69
|
+
return newObj;
|
|
70
|
+
}
|
|
71
|
+
const baseClass = 'where-builder';
|
|
72
|
+
const reduceFields = (fields, i18n)=>(0, _utilities.flattenTopLevelFields)(fields).reduce((reduced, field)=>{
|
|
73
|
+
if (typeof _fieldtypes.default[field.type] === 'object') {
|
|
74
|
+
const operatorKeys = new Set();
|
|
75
|
+
const operators = _fieldtypes.default[field.type].operators.reduce((acc, operator)=>{
|
|
76
|
+
if (!operatorKeys.has(operator.value)) {
|
|
77
|
+
operatorKeys.add(operator.value);
|
|
78
|
+
return [
|
|
79
|
+
...acc,
|
|
80
|
+
{
|
|
81
|
+
...operator,
|
|
82
|
+
label: i18n.t(`operators:${operator.label}`)
|
|
83
|
+
}
|
|
84
|
+
];
|
|
85
|
+
}
|
|
86
|
+
return acc;
|
|
87
|
+
}, []);
|
|
88
|
+
const formattedField = {
|
|
89
|
+
label: (0, _translations.getTranslation)(field.label || field.name, i18n),
|
|
90
|
+
value: field.name,
|
|
91
|
+
..._fieldtypes.default[field.type],
|
|
92
|
+
operators,
|
|
93
|
+
props: {
|
|
94
|
+
...field
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
return [
|
|
98
|
+
...reduced,
|
|
99
|
+
formattedField
|
|
100
|
+
];
|
|
101
|
+
}
|
|
102
|
+
return reduced;
|
|
103
|
+
}, []);
|
|
104
|
+
/**
|
|
105
|
+
* The WhereBuilder component is used to render the filter controls for a collection's list view.
|
|
106
|
+
* It is part of the {@link ListControls} component which is used to render the controls (search, filter, where).
|
|
107
|
+
*/ const WhereBuilder = (props)=>{
|
|
108
|
+
const { collectionPluralLabel, collectionSlug, handleChange, modifySearchQuery = true } = props;
|
|
109
|
+
const { i18n, t } = (0, _Translation.useTranslation)();
|
|
110
|
+
const config = (0, _Config.useConfig)();
|
|
111
|
+
const collection = config.collections.find((c)=>c.slug === collectionSlug);
|
|
112
|
+
const [reducedFields] = (0, _react.useState)(()=>reduceFields(collection.fields, i18n));
|
|
113
|
+
const { searchParams } = (0, _SearchParams.useSearchParams)();
|
|
114
|
+
// This handles initializing the where conditions from the search query (URL). That way, if you pass in
|
|
115
|
+
// query params to the URL, the where conditions will be initialized from those and displayed in the UI.
|
|
116
|
+
// Example: /admin/collections/posts?where[or][0][and][0][text][equals]=example%20post
|
|
117
|
+
const [conditions, dispatchConditions] = (0, _react.useReducer)(_reducer.default, searchParams.where, (whereFromSearch)=>{
|
|
118
|
+
if (modifySearchQuery && whereFromSearch) {
|
|
119
|
+
if ((0, _validateWhereQuery.default)(whereFromSearch)) {
|
|
120
|
+
return whereFromSearch.or;
|
|
121
|
+
}
|
|
122
|
+
// Transform the where query to be in the right format. This will transform something simple like [text][equals]=example%20post to the right format
|
|
123
|
+
const transformedWhere = (0, _transformWhereQuery.transformWhereQuery)(whereFromSearch);
|
|
124
|
+
if ((0, _validateWhereQuery.default)(transformedWhere)) {
|
|
125
|
+
return transformedWhere.or;
|
|
126
|
+
}
|
|
127
|
+
console.warn('Invalid where query in URL. Ignoring.');
|
|
128
|
+
}
|
|
129
|
+
return [];
|
|
130
|
+
});
|
|
131
|
+
// This handles updating the search query (URL) when the where conditions change
|
|
132
|
+
// useThrottledEffect(
|
|
133
|
+
// () => {
|
|
134
|
+
// const currentParams = queryString.parse(history.location.search, {
|
|
135
|
+
// depth: 10,
|
|
136
|
+
// ignoreQueryPrefix: true,
|
|
137
|
+
// }) as { where: Where }
|
|
138
|
+
// const paramsToKeep =
|
|
139
|
+
// typeof currentParams?.where === 'object' && 'or' in currentParams.where
|
|
140
|
+
// ? currentParams.where.or.reduce((keptParams, param) => {
|
|
141
|
+
// const newParam = { ...param }
|
|
142
|
+
// if (param.and) {
|
|
143
|
+
// delete newParam.and
|
|
144
|
+
// }
|
|
145
|
+
// return [...keptParams, newParam]
|
|
146
|
+
// }, [])
|
|
147
|
+
// : []
|
|
148
|
+
// const hasNewWhereConditions = conditions.length > 0
|
|
149
|
+
// const newWhereQuery = {
|
|
150
|
+
// ...(typeof currentParams?.where === 'object' &&
|
|
151
|
+
// (validateWhereQuery(currentParams?.where) || !hasNewWhereConditions)
|
|
152
|
+
// ? currentParams.where
|
|
153
|
+
// : {}),
|
|
154
|
+
// or: [...conditions, ...paramsToKeep],
|
|
155
|
+
// }
|
|
156
|
+
// if (handleChange) handleChange(newWhereQuery as Where)
|
|
157
|
+
// const hasExistingConditions =
|
|
158
|
+
// typeof currentParams?.where === 'object' && 'or' in currentParams.where
|
|
159
|
+
// if (
|
|
160
|
+
// modifySearchQuery &&
|
|
161
|
+
// ((hasExistingConditions && !hasNewWhereConditions) || hasNewWhereConditions)
|
|
162
|
+
// ) {
|
|
163
|
+
// history.replace({
|
|
164
|
+
// search: queryString.stringify(
|
|
165
|
+
// {
|
|
166
|
+
// ...currentParams,
|
|
167
|
+
// page: 1,
|
|
168
|
+
// where: newWhereQuery,
|
|
169
|
+
// },
|
|
170
|
+
// { addQueryPrefix: true },
|
|
171
|
+
// ),
|
|
172
|
+
// })
|
|
173
|
+
// }
|
|
174
|
+
// },
|
|
175
|
+
// 500,
|
|
176
|
+
// [conditions, modifySearchQuery, handleChange],
|
|
177
|
+
// )
|
|
178
|
+
return /*#__PURE__*/ _react.default.createElement("div", {
|
|
179
|
+
className: baseClass
|
|
180
|
+
}, conditions.length > 0 && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement("div", {
|
|
181
|
+
className: `${baseClass}__label`
|
|
182
|
+
}, t('general:filterWhere', {
|
|
183
|
+
label: (0, _translations.getTranslation)(collectionPluralLabel, i18n)
|
|
184
|
+
})), /*#__PURE__*/ _react.default.createElement("ul", {
|
|
185
|
+
className: `${baseClass}__or-filters`
|
|
186
|
+
}, conditions.map((or, orIndex)=>/*#__PURE__*/ _react.default.createElement("li", {
|
|
187
|
+
key: orIndex
|
|
188
|
+
}, orIndex !== 0 && /*#__PURE__*/ _react.default.createElement("div", {
|
|
189
|
+
className: `${baseClass}__label`
|
|
190
|
+
}, t('general:or')), /*#__PURE__*/ _react.default.createElement("ul", {
|
|
191
|
+
className: `${baseClass}__and-filters`
|
|
192
|
+
}, Array.isArray(or?.and) && or.and.map((_, andIndex)=>/*#__PURE__*/ _react.default.createElement("li", {
|
|
193
|
+
key: andIndex
|
|
194
|
+
}, andIndex !== 0 && /*#__PURE__*/ _react.default.createElement("div", {
|
|
195
|
+
className: `${baseClass}__label`
|
|
196
|
+
}, t('general:and')), /*#__PURE__*/ _react.default.createElement(_Condition.default, {
|
|
197
|
+
andIndex: andIndex,
|
|
198
|
+
dispatch: dispatchConditions,
|
|
199
|
+
fields: reducedFields,
|
|
200
|
+
key: andIndex,
|
|
201
|
+
orIndex: orIndex,
|
|
202
|
+
value: conditions[orIndex].and[andIndex]
|
|
203
|
+
}))))))), /*#__PURE__*/ _react.default.createElement(_Button.Button, {
|
|
204
|
+
buttonStyle: "icon-label",
|
|
205
|
+
className: `${baseClass}__add-or`,
|
|
206
|
+
icon: "plus",
|
|
207
|
+
iconPosition: "left",
|
|
208
|
+
iconStyle: "with-border",
|
|
209
|
+
onClick: ()=>{
|
|
210
|
+
if (reducedFields.length > 0) dispatchConditions({
|
|
211
|
+
type: 'add',
|
|
212
|
+
field: reducedFields[0].value
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
}, t('general:or'))), conditions.length === 0 && /*#__PURE__*/ _react.default.createElement("div", {
|
|
216
|
+
className: `${baseClass}__no-filters`
|
|
217
|
+
}, /*#__PURE__*/ _react.default.createElement("div", {
|
|
218
|
+
className: `${baseClass}__label`
|
|
219
|
+
}, t('general:noFiltersSet')), /*#__PURE__*/ _react.default.createElement(_Button.Button, {
|
|
220
|
+
buttonStyle: "icon-label",
|
|
221
|
+
className: `${baseClass}__add-first-filter`,
|
|
222
|
+
icon: "plus",
|
|
223
|
+
iconPosition: "left",
|
|
224
|
+
iconStyle: "with-border",
|
|
225
|
+
onClick: ()=>{
|
|
226
|
+
if (reducedFields.length > 0) dispatchConditions({
|
|
227
|
+
type: 'add',
|
|
228
|
+
field: reducedFields[0].value
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
}, t('general:addFilter'))));
|
|
232
|
+
};
|
|
233
|
+
const _default = WhereBuilder;
|
|
234
|
+
|
|
235
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9XaGVyZUJ1aWxkZXIvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCBxdWVyeVN0cmluZyBmcm9tICdxcydcbmltcG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSAnQHBheWxvYWRjbXMvdHJhbnNsYXRpb25zJ1xuaW1wb3J0IHsgZmxhdHRlblRvcExldmVsRmllbGRzIH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVkdWNlciwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcblxuLy8gaW1wb3J0IHR5cGUgeyBXaGVyZSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFByb3BzIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL0NvbmZpZydcbi8vIGltcG9ydCB1c2VUaHJvdHRsZWRFZmZlY3QgZnJvbSAnLi4vLi4vaG9va3MvdXNlVGhyb3R0bGVkRWZmZWN0J1xuaW1wb3J0IHsgdXNlU2VhcmNoUGFyYW1zIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL1NlYXJjaFBhcmFtcydcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL1RyYW5zbGF0aW9uJ1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vQnV0dG9uJ1xuaW1wb3J0IENvbmRpdGlvbiBmcm9tICcuL0NvbmRpdGlvbidcbmltcG9ydCBmaWVsZFR5cGVzIGZyb20gJy4vZmllbGQtdHlwZXMnXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcbmltcG9ydCByZWR1Y2VyIGZyb20gJy4vcmVkdWNlcidcbmltcG9ydCB7IHRyYW5zZm9ybVdoZXJlUXVlcnkgfSBmcm9tICcuL3RyYW5zZm9ybVdoZXJlUXVlcnknXG5pbXBvcnQgdmFsaWRhdGVXaGVyZVF1ZXJ5IGZyb20gJy4vdmFsaWRhdGVXaGVyZVF1ZXJ5J1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAnd2hlcmUtYnVpbGRlcidcblxuY29uc3QgcmVkdWNlRmllbGRzID0gKGZpZWxkcywgaTE4bikgPT5cbiAgZmxhdHRlblRvcExldmVsRmllbGRzKGZpZWxkcykucmVkdWNlKChyZWR1Y2VkLCBmaWVsZCkgPT4ge1xuICAgIGlmICh0eXBlb2YgZmllbGRUeXBlc1tmaWVsZC50eXBlXSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGNvbnN0IG9wZXJhdG9yS2V5cyA9IG5ldyBTZXQoKVxuICAgICAgY29uc3Qgb3BlcmF0b3JzID0gZmllbGRUeXBlc1tmaWVsZC50eXBlXS5vcGVyYXRvcnMucmVkdWNlKChhY2MsIG9wZXJhdG9yKSA9PiB7XG4gICAgICAgIGlmICghb3BlcmF0b3JLZXlzLmhhcyhvcGVyYXRvci52YWx1ZSkpIHtcbiAgICAgICAgICBvcGVyYXRvcktleXMuYWRkKG9wZXJhdG9yLnZhbHVlKVxuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIC4uLm9wZXJhdG9yLFxuICAgICAgICAgICAgICBsYWJlbDogaTE4bi50KGBvcGVyYXRvcnM6JHtvcGVyYXRvci5sYWJlbH1gKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2NcbiAgICAgIH0sIFtdKVxuXG4gICAgICBjb25zdCBmb3JtYXR0ZWRGaWVsZCA9IHtcbiAgICAgICAgbGFiZWw6IGdldFRyYW5zbGF0aW9uKGZpZWxkLmxhYmVsIHx8IGZpZWxkLm5hbWUsIGkxOG4pLFxuICAgICAgICB2YWx1ZTogZmllbGQubmFtZSxcbiAgICAgICAgLi4uZmllbGRUeXBlc1tmaWVsZC50eXBlXSxcbiAgICAgICAgb3BlcmF0b3JzLFxuICAgICAgICBwcm9wczoge1xuICAgICAgICAgIC4uLmZpZWxkLFxuICAgICAgICB9LFxuICAgICAgfVxuXG4gICAgICByZXR1cm4gWy4uLnJlZHVjZWQsIGZvcm1hdHRlZEZpZWxkXVxuICAgIH1cblxuICAgIHJldHVybiByZWR1Y2VkXG4gIH0sIFtdKVxuXG4vKipcbiAqIFRoZSBXaGVyZUJ1aWxkZXIgY29tcG9uZW50IGlzIHVzZWQgdG8gcmVuZGVyIHRoZSBmaWx0ZXIgY29udHJvbHMgZm9yIGEgY29sbGVjdGlvbidzIGxpc3Qgdmlldy5cbiAqIEl0IGlzIHBhcnQgb2YgdGhlIHtAbGluayBMaXN0Q29udHJvbHN9IGNvbXBvbmVudCB3aGljaCBpcyB1c2VkIHRvIHJlbmRlciB0aGUgY29udHJvbHMgKHNlYXJjaCwgZmlsdGVyLCB3aGVyZSkuXG4gKi9cbmNvbnN0IFdoZXJlQnVpbGRlcjogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY29sbGVjdGlvblBsdXJhbExhYmVsLCBjb2xsZWN0aW9uU2x1ZywgaGFuZGxlQ2hhbmdlLCBtb2RpZnlTZWFyY2hRdWVyeSA9IHRydWUgfSA9IHByb3BzXG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oKVxuXG4gIGNvbnN0IGNvbmZpZyA9IHVzZUNvbmZpZygpXG4gIGNvbnN0IGNvbGxlY3Rpb24gPSBjb25maWcuY29sbGVjdGlvbnMuZmluZCgoYykgPT4gYy5zbHVnID09PSBjb2xsZWN0aW9uU2x1ZylcbiAgY29uc3QgW3JlZHVjZWRGaWVsZHNdID0gdXNlU3RhdGUoKCkgPT4gcmVkdWNlRmllbGRzKGNvbGxlY3Rpb24uZmllbGRzLCBpMThuKSlcblxuICBjb25zdCB7IHNlYXJjaFBhcmFtcyB9ID0gdXNlU2VhcmNoUGFyYW1zKClcblxuICAvLyBUaGlzIGhhbmRsZXMgaW5pdGlhbGl6aW5nIHRoZSB3aGVyZSBjb25kaXRpb25zIGZyb20gdGhlIHNlYXJjaCBxdWVyeSAoVVJMKS4gVGhhdCB3YXksIGlmIHlvdSBwYXNzIGluXG4gIC8vIHF1ZXJ5IHBhcmFtcyB0byB0aGUgVVJMLCB0aGUgd2hlcmUgY29uZGl0aW9ucyB3aWxsIGJlIGluaXRpYWxpemVkIGZyb20gdGhvc2UgYW5kIGRpc3BsYXllZCBpbiB0aGUgVUkuXG4gIC8vIEV4YW1wbGU6IC9hZG1pbi9jb2xsZWN0aW9ucy9wb3N0cz93aGVyZVtvcl1bMF1bYW5kXVswXVt0ZXh0XVtlcXVhbHNdPWV4YW1wbGUlMjBwb3N0XG4gIGNvbnN0IFtjb25kaXRpb25zLCBkaXNwYXRjaENvbmRpdGlvbnNdID0gdXNlUmVkdWNlcihcbiAgICByZWR1Y2VyLFxuICAgIHNlYXJjaFBhcmFtcy53aGVyZSxcbiAgICAod2hlcmVGcm9tU2VhcmNoKSA9PiB7XG4gICAgICBpZiAobW9kaWZ5U2VhcmNoUXVlcnkgJiYgd2hlcmVGcm9tU2VhcmNoKSB7XG4gICAgICAgIGlmICh2YWxpZGF0ZVdoZXJlUXVlcnkod2hlcmVGcm9tU2VhcmNoKSkge1xuICAgICAgICAgIHJldHVybiB3aGVyZUZyb21TZWFyY2gub3JcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRyYW5zZm9ybSB0aGUgd2hlcmUgcXVlcnkgdG8gYmUgaW4gdGhlIHJpZ2h0IGZvcm1hdC4gVGhpcyB3aWxsIHRyYW5zZm9ybSBzb21ldGhpbmcgc2ltcGxlIGxpa2UgW3RleHRdW2VxdWFsc109ZXhhbXBsZSUyMHBvc3QgdG8gdGhlIHJpZ2h0IGZvcm1hdFxuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZFdoZXJlID0gdHJhbnNmb3JtV2hlcmVRdWVyeSh3aGVyZUZyb21TZWFyY2gpXG5cbiAgICAgICAgaWYgKHZhbGlkYXRlV2hlcmVRdWVyeSh0cmFuc2Zvcm1lZFdoZXJlKSkge1xuICAgICAgICAgIHJldHVybiB0cmFuc2Zvcm1lZFdoZXJlLm9yXG4gICAgICAgIH1cblxuICAgICAgICBjb25zb2xlLndhcm4oJ0ludmFsaWQgd2hlcmUgcXVlcnkgaW4gVVJMLiBJZ25vcmluZy4nKVxuICAgICAgfVxuICAgICAgcmV0dXJuIFtdXG4gICAgfSxcbiAgKVxuXG4gIC8vIFRoaXMgaGFuZGxlcyB1cGRhdGluZyB0aGUgc2VhcmNoIHF1ZXJ5IChVUkwpIHdoZW4gdGhlIHdoZXJlIGNvbmRpdGlvbnMgY2hhbmdlXG4gIC8vIHVzZVRocm90dGxlZEVmZmVjdChcbiAgLy8gICAoKSA9PiB7XG4gIC8vICAgICBjb25zdCBjdXJyZW50UGFyYW1zID0gcXVlcnlTdHJpbmcucGFyc2UoaGlzdG9yeS5sb2NhdGlvbi5zZWFyY2gsIHtcbiAgLy8gICAgICAgZGVwdGg6IDEwLFxuICAvLyAgICAgICBpZ25vcmVRdWVyeVByZWZpeDogdHJ1ZSxcbiAgLy8gICAgIH0pIGFzIHsgd2hlcmU6IFdoZXJlIH1cblxuICAvLyAgICAgY29uc3QgcGFyYW1zVG9LZWVwID1cbiAgLy8gICAgICAgdHlwZW9mIGN1cnJlbnRQYXJhbXM/LndoZXJlID09PSAnb2JqZWN0JyAmJiAnb3InIGluIGN1cnJlbnRQYXJhbXMud2hlcmVcbiAgLy8gICAgICAgICA/IGN1cnJlbnRQYXJhbXMud2hlcmUub3IucmVkdWNlKChrZXB0UGFyYW1zLCBwYXJhbSkgPT4ge1xuICAvLyAgICAgICAgICAgICBjb25zdCBuZXdQYXJhbSA9IHsgLi4ucGFyYW0gfVxuICAvLyAgICAgICAgICAgICBpZiAocGFyYW0uYW5kKSB7XG4gIC8vICAgICAgICAgICAgICAgZGVsZXRlIG5ld1BhcmFtLmFuZFxuICAvLyAgICAgICAgICAgICB9XG4gIC8vICAgICAgICAgICAgIHJldHVybiBbLi4ua2VwdFBhcmFtcywgbmV3UGFyYW1dXG4gIC8vICAgICAgICAgICB9LCBbXSlcbiAgLy8gICAgICAgICA6IFtdXG5cbiAgLy8gICAgIGNvbnN0IGhhc05ld1doZXJlQ29uZGl0aW9ucyA9IGNvbmRpdGlvbnMubGVuZ3RoID4gMFxuXG4gIC8vICAgICBjb25zdCBuZXdXaGVyZVF1ZXJ5ID0ge1xuICAvLyAgICAgICAuLi4odHlwZW9mIGN1cnJlbnRQYXJhbXM/LndoZXJlID09PSAnb2JqZWN0JyAmJlxuICAvLyAgICAgICAodmFsaWRhdGVXaGVyZVF1ZXJ5KGN1cnJlbnRQYXJhbXM/LndoZXJlKSB8fCAhaGFzTmV3V2hlcmVDb25kaXRpb25zKVxuICAvLyAgICAgICAgID8gY3VycmVudFBhcmFtcy53aGVyZVxuICAvLyAgICAgICAgIDoge30pLFxuICAvLyAgICAgICBvcjogWy4uLmNvbmRpdGlvbnMsIC4uLnBhcmFtc1RvS2VlcF0sXG4gIC8vICAgICB9XG5cbiAgLy8gICAgIGlmIChoYW5kbGVDaGFuZ2UpIGhhbmRsZUNoYW5nZShuZXdXaGVyZVF1ZXJ5IGFzIFdoZXJlKVxuXG4gIC8vICAgICBjb25zdCBoYXNFeGlzdGluZ0NvbmRpdGlvbnMgPVxuICAvLyAgICAgICB0eXBlb2YgY3VycmVudFBhcmFtcz8ud2hlcmUgPT09ICdvYmplY3QnICYmICdvcicgaW4gY3VycmVudFBhcmFtcy53aGVyZVxuXG4gIC8vICAgICBpZiAoXG4gIC8vICAgICAgIG1vZGlmeVNlYXJjaFF1ZXJ5ICYmXG4gIC8vICAgICAgICgoaGFzRXhpc3RpbmdDb25kaXRpb25zICYmICFoYXNOZXdXaGVyZUNvbmRpdGlvbnMpIHx8IGhhc05ld1doZXJlQ29uZGl0aW9ucylcbiAgLy8gICAgICkge1xuICAvLyAgICAgICBoaXN0b3J5LnJlcGxhY2Uoe1xuICAvLyAgICAgICAgIHNlYXJjaDogcXVlcnlTdHJpbmcuc3RyaW5naWZ5KFxuICAvLyAgICAgICAgICAge1xuICAvLyAgICAgICAgICAgICAuLi5jdXJyZW50UGFyYW1zLFxuICAvLyAgICAgICAgICAgICBwYWdlOiAxLFxuICAvLyAgICAgICAgICAgICB3aGVyZTogbmV3V2hlcmVRdWVyeSxcbiAgLy8gICAgICAgICAgIH0sXG4gIC8vICAgICAgICAgICB7IGFkZFF1ZXJ5UHJlZml4OiB0cnVlIH0sXG4gIC8vICAgICAgICAgKSxcbiAgLy8gICAgICAgfSlcbiAgLy8gICAgIH1cbiAgLy8gICB9LFxuICAvLyAgIDUwMCxcbiAgLy8gICBbY29uZGl0aW9ucywgbW9kaWZ5U2VhcmNoUXVlcnksIGhhbmRsZUNoYW5nZV0sXG4gIC8vIClcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtiYXNlQ2xhc3N9PlxuICAgICAge2NvbmRpdGlvbnMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fbGFiZWxgfT5cbiAgICAgICAgICAgIHt0KCdnZW5lcmFsOmZpbHRlcldoZXJlJywgeyBsYWJlbDogZ2V0VHJhbnNsYXRpb24oY29sbGVjdGlvblBsdXJhbExhYmVsLCBpMThuKSB9KX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dWwgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19vci1maWx0ZXJzYH0+XG4gICAgICAgICAgICB7Y29uZGl0aW9ucy5tYXAoKG9yLCBvckluZGV4KSA9PiAoXG4gICAgICAgICAgICAgIDxsaSBrZXk9e29ySW5kZXh9PlxuICAgICAgICAgICAgICAgIHtvckluZGV4ICE9PSAwICYmIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19sYWJlbGB9Pnt0KCdnZW5lcmFsOm9yJyl9PC9kaXY+fVxuICAgICAgICAgICAgICAgIDx1bCBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2FuZC1maWx0ZXJzYH0+XG4gICAgICAgICAgICAgICAgICB7QXJyYXkuaXNBcnJheShvcj8uYW5kKSAmJlxuICAgICAgICAgICAgICAgICAgICBvci5hbmQubWFwKChfLCBhbmRJbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxsaSBrZXk9e2FuZEluZGV4fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHthbmRJbmRleCAhPT0gMCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19sYWJlbGB9Pnt0KCdnZW5lcmFsOmFuZCcpfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxDb25kaXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kSW5kZXg9e2FuZEluZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaD17ZGlzcGF0Y2hDb25kaXRpb25zfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZHM9e3JlZHVjZWRGaWVsZHN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17YW5kSW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9ySW5kZXg9e29ySW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtjb25kaXRpb25zW29ySW5kZXhdLmFuZFthbmRJbmRleF19XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGJ1dHRvblN0eWxlPVwiaWNvbi1sYWJlbFwiXG4gICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2FkZC1vcmB9XG4gICAgICAgICAgICBpY29uPVwicGx1c1wiXG4gICAgICAgICAgICBpY29uUG9zaXRpb249XCJsZWZ0XCJcbiAgICAgICAgICAgIGljb25TdHlsZT1cIndpdGgtYm9yZGVyXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHJlZHVjZWRGaWVsZHMubGVuZ3RoID4gMClcbiAgICAgICAgICAgICAgICBkaXNwYXRjaENvbmRpdGlvbnMoeyB0eXBlOiAnYWRkJywgZmllbGQ6IHJlZHVjZWRGaWVsZHNbMF0udmFsdWUgfSlcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3QoJ2dlbmVyYWw6b3InKX1cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICl9XG4gICAgICB7Y29uZGl0aW9ucy5sZW5ndGggPT09IDAgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fbm8tZmlsdGVyc2B9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19sYWJlbGB9Pnt0KCdnZW5lcmFsOm5vRmlsdGVyc1NldCcpfTwvZGl2PlxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGJ1dHRvblN0eWxlPVwiaWNvbi1sYWJlbFwiXG4gICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2FkZC1maXJzdC1maWx0ZXJgfVxuICAgICAgICAgICAgaWNvbj1cInBsdXNcIlxuICAgICAgICAgICAgaWNvblBvc2l0aW9uPVwibGVmdFwiXG4gICAgICAgICAgICBpY29uU3R5bGU9XCJ3aXRoLWJvcmRlclwiXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChyZWR1Y2VkRmllbGRzLmxlbmd0aCA+IDApXG4gICAgICAgICAgICAgICAgZGlzcGF0Y2hDb25kaXRpb25zKHsgdHlwZTogJ2FkZCcsIGZpZWxkOiByZWR1Y2VkRmllbGRzWzBdLnZhbHVlIH0pXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt0KCdnZW5lcmFsOmFkZEZpbHRlcicpfVxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgV2hlcmVCdWlsZGVyXG4iXSwibmFtZXMiOlsiYmFzZUNsYXNzIiwicmVkdWNlRmllbGRzIiwiZmllbGRzIiwiaTE4biIsImZsYXR0ZW5Ub3BMZXZlbEZpZWxkcyIsInJlZHVjZSIsInJlZHVjZWQiLCJmaWVsZCIsImZpZWxkVHlwZXMiLCJ0eXBlIiwib3BlcmF0b3JLZXlzIiwiU2V0Iiwib3BlcmF0b3JzIiwiYWNjIiwib3BlcmF0b3IiLCJoYXMiLCJ2YWx1ZSIsImFkZCIsImxhYmVsIiwidCIsImZvcm1hdHRlZEZpZWxkIiwiZ2V0VHJhbnNsYXRpb24iLCJuYW1lIiwicHJvcHMiLCJXaGVyZUJ1aWxkZXIiLCJjb2xsZWN0aW9uUGx1cmFsTGFiZWwiLCJjb2xsZWN0aW9uU2x1ZyIsImhhbmRsZUNoYW5nZSIsIm1vZGlmeVNlYXJjaFF1ZXJ5IiwidXNlVHJhbnNsYXRpb24iLCJjb25maWciLCJ1c2VDb25maWciLCJjb2xsZWN0aW9uIiwiY29sbGVjdGlvbnMiLCJmaW5kIiwiYyIsInNsdWciLCJyZWR1Y2VkRmllbGRzIiwidXNlU3RhdGUiLCJzZWFyY2hQYXJhbXMiLCJ1c2VTZWFyY2hQYXJhbXMiLCJjb25kaXRpb25zIiwiZGlzcGF0Y2hDb25kaXRpb25zIiwidXNlUmVkdWNlciIsInJlZHVjZXIiLCJ3aGVyZSIsIndoZXJlRnJvbVNlYXJjaCIsInZhbGlkYXRlV2hlcmVRdWVyeSIsIm9yIiwidHJhbnNmb3JtZWRXaGVyZSIsInRyYW5zZm9ybVdoZXJlUXVlcnkiLCJjb25zb2xlIiwid2FybiIsImRpdiIsImNsYXNzTmFtZSIsImxlbmd0aCIsIlJlYWN0IiwiRnJhZ21lbnQiLCJ1bCIsIm1hcCIsIm9ySW5kZXgiLCJsaSIsImtleSIsIkFycmF5IiwiaXNBcnJheSIsImFuZCIsIl8iLCJhbmRJbmRleCIsIkNvbmRpdGlvbiIsImRpc3BhdGNoIiwiQnV0dG9uIiwiYnV0dG9uU3R5bGUiLCJpY29uIiwiaWNvblBvc2l0aW9uIiwiaWNvblN0eWxlIiwib25DbGljayJdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCOzs7OzsrQkEwTi9COzs7ZUFBQTs7OzhCQXpOK0I7MkJBQ087K0RBQ007d0JBS2xCOzhCQUVNOzZCQUNEO3dCQUNSO2tFQUNEO21FQUNDO1FBQ2hCO2dFQUNhO3FDQUNnQjsyRUFDTDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFL0IsTUFB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
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return _default;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const reducer = (state, action)=>{
|
|
12
|
+
const newState = [
|
|
13
|
+
...state
|
|
14
|
+
];
|
|
15
|
+
const { andIndex, orIndex } = action;
|
|
16
|
+
switch(action.type){
|
|
17
|
+
case 'add':
|
|
18
|
+
{
|
|
19
|
+
const { field, relation } = action;
|
|
20
|
+
if (relation === 'and') {
|
|
21
|
+
newState[orIndex].and.splice(andIndex, 0, {
|
|
22
|
+
[field]: {}
|
|
23
|
+
});
|
|
24
|
+
return newState;
|
|
25
|
+
}
|
|
26
|
+
return [
|
|
27
|
+
...newState,
|
|
28
|
+
{
|
|
29
|
+
and: [
|
|
30
|
+
{
|
|
31
|
+
[field]: {}
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
];
|
|
36
|
+
}
|
|
37
|
+
case 'remove':
|
|
38
|
+
{
|
|
39
|
+
newState[orIndex].and.splice(andIndex, 1);
|
|
40
|
+
if (newState[orIndex].and.length === 0) {
|
|
41
|
+
newState.splice(orIndex, 1);
|
|
42
|
+
}
|
|
43
|
+
return newState;
|
|
44
|
+
}
|
|
45
|
+
case 'update':
|
|
46
|
+
{
|
|
47
|
+
const { field, operator, value } = action;
|
|
48
|
+
if (typeof newState[orIndex].and[andIndex] === 'object') {
|
|
49
|
+
newState[orIndex].and[andIndex] = {
|
|
50
|
+
...newState[orIndex].and[andIndex]
|
|
51
|
+
};
|
|
52
|
+
const [existingFieldName, existingCondition] = Object.entries(newState[orIndex].and[andIndex])[0] || [
|
|
53
|
+
undefined,
|
|
54
|
+
undefined
|
|
55
|
+
];
|
|
56
|
+
if (operator) {
|
|
57
|
+
newState[orIndex].and[andIndex] = {
|
|
58
|
+
[existingFieldName]: {
|
|
59
|
+
[operator]: Object.values(existingCondition)[0]
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
if (field) {
|
|
64
|
+
newState[orIndex].and[andIndex] = {
|
|
65
|
+
[field]: operator ? {
|
|
66
|
+
[operator]: value
|
|
67
|
+
} : {}
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
if (value !== undefined) {
|
|
71
|
+
newState[orIndex].and[andIndex] = {
|
|
72
|
+
[existingFieldName]: Object.keys(existingCondition)[0] ? {
|
|
73
|
+
[Object.keys(existingCondition)[0]]: value
|
|
74
|
+
} : {}
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return newState;
|
|
79
|
+
}
|
|
80
|
+
default:
|
|
81
|
+
{
|
|
82
|
+
return newState;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
const _default = reducer;
|
|
87
|
+
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9XaGVyZUJ1aWxkZXIvcmVkdWNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFdoZXJlIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHR5cGUgeyBBY3Rpb24gfSBmcm9tICcuL3R5cGVzJ1xuXG5jb25zdCByZWR1Y2VyID0gKHN0YXRlOiBXaGVyZVtdLCBhY3Rpb246IEFjdGlvbik6IFdoZXJlW10gPT4ge1xuICBjb25zdCBuZXdTdGF0ZSA9IFsuLi5zdGF0ZV1cblxuICBjb25zdCB7IGFuZEluZGV4LCBvckluZGV4IH0gPSBhY3Rpb25cblxuICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gICAgY2FzZSAnYWRkJzoge1xuICAgICAgY29uc3QgeyBmaWVsZCwgcmVsYXRpb24gfSA9IGFjdGlvblxuXG4gICAgICBpZiAocmVsYXRpb24gPT09ICdhbmQnKSB7XG4gICAgICAgIG5ld1N0YXRlW29ySW5kZXhdLmFuZC5zcGxpY2UoYW5kSW5kZXgsIDAsIHsgW2ZpZWxkXToge30gfSlcbiAgICAgICAgcmV0dXJuIG5ld1N0YXRlXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBbXG4gICAgICAgIC4uLm5ld1N0YXRlLFxuICAgICAgICB7XG4gICAgICAgICAgYW5kOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIFtmaWVsZF06IHt9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgXVxuICAgIH1cblxuICAgIGNhc2UgJ3JlbW92ZSc6IHtcbiAgICAgIG5ld1N0YXRlW29ySW5kZXhdLmFuZC5zcGxpY2UoYW5kSW5kZXgsIDEpXG5cbiAgICAgIGlmIChuZXdTdGF0ZVtvckluZGV4XS5hbmQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIG5ld1N0YXRlLnNwbGljZShvckluZGV4LCAxKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbmV3U3RhdGVcbiAgICB9XG5cbiAgICBjYXNlICd1cGRhdGUnOiB7XG4gICAgICBjb25zdCB7IGZpZWxkLCBvcGVyYXRvciwgdmFsdWUgfSA9IGFjdGlvblxuXG4gICAgICBpZiAodHlwZW9mIG5ld1N0YXRlW29ySW5kZXhdLmFuZFthbmRJbmRleF0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgIG5ld1N0YXRlW29ySW5kZXhdLmFuZFthbmRJbmRleF0gPSB7XG4gICAgICAgICAgLi4ubmV3U3RhdGVbb3JJbmRleF0uYW5kW2FuZEluZGV4XSxcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFtleGlzdGluZ0ZpZWxkTmFtZSwgZXhpc3RpbmdDb25kaXRpb25dID0gT2JqZWN0LmVudHJpZXMoXG4gICAgICAgICAgbmV3U3RhdGVbb3JJbmRleF0uYW5kW2FuZEluZGV4XSxcbiAgICAgICAgKVswXSB8fCBbdW5kZWZpbmVkLCB1bmRlZmluZWRdXG5cbiAgICAgICAgaWYgKG9wZXJhdG9yKSB7XG4gICAgICAgICAgbmV3U3RhdGVbb3JJbmRleF0uYW5kW2FuZEluZGV4XSA9IHtcbiAgICAgICAgICAgIFtleGlzdGluZ0ZpZWxkTmFtZV06IHtcbiAgICAgICAgICAgICAgW29wZXJhdG9yXTogT2JqZWN0LnZhbHVlcyhleGlzdGluZ0NvbmRpdGlvbilbMF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWVsZCkge1xuICAgICAgICAgIG5ld1N0YXRlW29ySW5kZXhdLmFuZFthbmRJbmRleF0gPSB7XG4gICAgICAgICAgICBbZmllbGRdOiBvcGVyYXRvciA/IHsgW29wZXJhdG9yXTogdmFsdWUgfSA6IHt9LFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgbmV3U3RhdGVbb3JJbmRleF0uYW5kW2FuZEluZGV4XSA9IHtcbiAgICAgICAgICAgIFtleGlzdGluZ0ZpZWxkTmFtZV06IE9iamVjdC5rZXlzKGV4aXN0aW5nQ29uZGl0aW9uKVswXVxuICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgIFtPYmplY3Qua2V5cyhleGlzdGluZ0NvbmRpdGlvbilbMF1dOiB2YWx1ZSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDoge30sXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBuZXdTdGF0ZVxuICAgIH1cblxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIHJldHVybiBuZXdTdGF0ZVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCByZWR1Y2VyXG4iXSwibmFtZXMiOlsicmVkdWNlciIsInN0YXRlIiwiYWN0aW9uIiwibmV3U3RhdGUiLCJhbmRJbmRleCIsIm9ySW5kZXgiLCJ0eXBlIiwiZmllbGQiLCJyZWxhdGlvbiIsImFuZCIsInNwbGljZSIsImxlbmd0aCIsIm9wZXJhdG9yIiwidmFsdWUiLCJleGlzdGluZ0ZpZWxkTmFtZSIsImV4aXN0aW5nQ29uZGl0aW9uIiwiT2JqZWN0IiwiZW50cmllcyIsInVuZGVmaW5lZCIsInZhbHVlcyIsImtleXMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBc0ZBOzs7ZUFBQTs7O0FBbEZBLE1BQU1BLFVBQVUsQ0FBQ0MsT0FBZ0JDO0lBQy9CLE1BQU1DLFdBQVc7V0FBSUY7S0FBTTtJQUUzQixNQUFNLEVBQUVHLFFBQVEsRUFBRUMsT0FBTyxFQUFFLEdBQUdIO0lBRTlCLE9BQVFBLE9BQU9JLElBQUk7UUFDakIsS0FBSztZQUFPO2dCQUNWLE1BQU0sRUFBRUMsS0FBSyxFQUFFQyxRQUFRLEVBQUUsR0FBR047Z0JBRTVCLElBQUlNLGFBQWEsT0FBTztvQkFDdEJMLFFBQVEsQ0FBQ0UsUUFBUSxDQUFDSSxHQUFHLENBQUNDLE1BQU0sQ0FBQ04sVUFBVSxHQUFHO3dCQUFFLENBQUNHLE1BQU0sRUFBRSxDQUFDO29CQUFFO29CQUN4RCxPQUFPSjtnQkFDVDtnQkFFQSxPQUFPO3VCQUNGQTtvQkFDSDt3QkFDRU0sS0FBSzs0QkFDSDtnQ0FDRSxDQUFDRixNQUFNLEVBQUUsQ0FBQzs0QkFDWjt5QkFDRDtvQkFDSDtpQkFDRDtZQUNIO1FBRUEsS0FBSztZQUFVO2dCQUNiSixRQUFRLENBQUNFLFFBQVEsQ0FBQ0ksR0FBRyxDQUFDQyxNQUFNLENBQUNOLFVBQVU7Z0JBRXZDLElBQUlELFFBQVEsQ0FBQ0UsUUFBUSxDQUFDSSxHQUFHLENBQUNFLE1BQU0sS0FBSyxHQUFHO29CQUN0Q1IsU0FBU08sTUFBTSxDQUFDTCxTQUFTO2dCQUMzQjtnQkFFQSxPQUFPRjtZQUNUO1FBRUEsS0FBSztZQUFVO2dCQUNiLE1BQU0sRUFBRUksS0FBSyxFQUFFSyxRQUFRLEVBQUVDLEtBQUssRUFBRSxHQUFHWDtnQkFFbkMsSUFBSSxPQUFPQyxRQUFRLENBQUNFLFFBQVEsQ0FBQ0ksR0FBRyxDQUFDTCxTQUFTLEtBQUssVUFBVTtvQkFDdkRELFFBQVEsQ0FBQ0UsUUFBUSxDQUFDSSxHQUFHLENBQUNMLFNBQVMsR0FBRzt3QkFDaEMsR0FBR0QsUUFBUSxDQUFDRSxRQUFRLENBQUNJLEdBQUcsQ0FBQ0wsU0FBUztvQkFDcEM7b0JBRUEsTUFBTSxDQUFDVSxtQkFBbUJDLGtCQUFrQixHQUFHQyxPQUFPQyxPQUFPLENBQzNEZCxRQUFRLENBQUNFLFFBQVEsQ0FBQ0ksR0FBRyxDQUFDTCxTQUFTLENBQ2hDLENBQUMsRUFBRSxJQUFJO3dCQUFDYzt3QkFBV0E7cUJBQVU7b0JBRTlCLElBQUlOLFVBQVU7d0JBQ1pULFFBQVEsQ0FBQ0UsUUFBUSxDQUFDSSxHQUFHLENBQUNMLFNBQVMsR0FBRzs0QkFDaEMsQ0FBQ1Usa0JBQWtCLEVBQUU7Z0NBQ25CLENBQUNGLFNBQVMsRUFBRUksT0FBT0csTUFBTSxDQUFDSixrQkFBa0IsQ0FBQyxFQUFFOzRCQUNqRDt3QkFDRjtvQkFDRjtvQkFFQSxJQUFJUixPQUFPO3dCQUNUSixRQUFRLENBQUNFLFFBQVEsQ0FBQ0ksR0FBRyxDQUFDTCxTQUFTLEdBQUc7NEJBQ2hDLENBQUNHLE1BQU0sRUFBRUssV0FBVztnQ0FBRSxDQUFDQSxTQUFTLEVBQUVDOzRCQUFNLElBQUksQ0FBQzt3QkFDL0M7b0JBQ0Y7b0JBRUEsSUFBSUEsVUFBVUssV0FBVzt3QkFDdkJmLFFBQVEsQ0FBQ0UsUUFBUSxDQUFDSSxHQUFHLENBQUNMLFNBQVMsR0FBRzs0QkFDaEMsQ0FBQ1Usa0JBQWtCLEVBQUVFLE9BQU9JLElBQUksQ0FBQ0wsa0JBQWtCLENBQUMsRUFBRSxHQUNsRDtnQ0FDRSxDQUFDQyxPQUFPSSxJQUFJLENBQUNMLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxFQUFFRjs0QkFDdkMsSUFDQSxDQUFDO3dCQUNQO29CQUNGO2dCQUNGO2dCQUVBLE9BQU9WO1lBQ1Q7UUFFQTtZQUFTO2dCQUNQLE9BQU9BO1lBQ1Q7SUFDRjtBQUNGO01BRUEsV0FBZUgifQ==
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "transformWhereQuery", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return transformWhereQuery;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const transformWhereQuery = (whereQuery)=>{
|
|
12
|
+
if (!whereQuery) {
|
|
13
|
+
return {};
|
|
14
|
+
}
|
|
15
|
+
// Check if 'whereQuery' has 'or' field but no 'and'. This is the case for "correct" queries
|
|
16
|
+
if (whereQuery.or && !whereQuery.and) {
|
|
17
|
+
return {
|
|
18
|
+
or: whereQuery.or.map((query)=>{
|
|
19
|
+
// ...but if the or query does not have an and, we need to add it
|
|
20
|
+
if (!query.and) {
|
|
21
|
+
return {
|
|
22
|
+
and: [
|
|
23
|
+
query
|
|
24
|
+
]
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
return query;
|
|
28
|
+
})
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
// Check if 'whereQuery' has 'and' field but no 'or'.
|
|
32
|
+
if (whereQuery.and && !whereQuery.or) {
|
|
33
|
+
return {
|
|
34
|
+
or: [
|
|
35
|
+
{
|
|
36
|
+
and: whereQuery.and
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
// Check if 'whereQuery' has neither 'or' nor 'and'.
|
|
42
|
+
if (!whereQuery.or && !whereQuery.and) {
|
|
43
|
+
return {
|
|
44
|
+
or: [
|
|
45
|
+
{
|
|
46
|
+
and: [
|
|
47
|
+
whereQuery
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
// If 'whereQuery' has 'or' and 'and', just return it as it is.
|
|
54
|
+
return whereQuery;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9XaGVyZUJ1aWxkZXIvdHJhbnNmb3JtV2hlcmVRdWVyeS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFdoZXJlIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuLyoqXG4gKiBTb21ldGhpbmcgbGlrZSBbb3JdWzBdW2FuZF1bMF1bdGV4dF1bZXF1YWxzXT1leGFtcGxlJTIwcG9zdCB3aWxsIHdvcmsgYW5kIHBhc3MgdGhyb3VnaCB0aGUgdmFsaWRhdGVXaGVyZVF1ZXJ5IGNoZWNrLlxuICogSG93ZXZlciwgc29tZXRoaW5nIGxpa2UgW3RleHRdW2VxdWFsc109ZXhhbXBsZSUyMHBvc3Qgd2lsbCBub3Qgd29yayBhbmQgd2lsbCBmYWlsIHRoZSB2YWxpZGF0ZVdoZXJlUXVlcnkgY2hlY2ssXG4gKiBldmVuIHRob3VnaCBpdCBpcyBhIHZhbGlkIFdoZXJlIHF1ZXJ5LiBUaGlzIG5lZWRzIHRvIGJlIHRyYW5zZm9ybWVkIGhlcmUuXG4gKi9cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1XaGVyZVF1ZXJ5ID0gKHdoZXJlUXVlcnkpOiBXaGVyZSA9PiB7XG4gIGlmICghd2hlcmVRdWVyeSkge1xuICAgIHJldHVybiB7fVxuICB9XG4gIC8vIENoZWNrIGlmICd3aGVyZVF1ZXJ5JyBoYXMgJ29yJyBmaWVsZCBidXQgbm8gJ2FuZCcuIFRoaXMgaXMgdGhlIGNhc2UgZm9yIFwiY29ycmVjdFwiIHF1ZXJpZXNcbiAgaWYgKHdoZXJlUXVlcnkub3IgJiYgIXdoZXJlUXVlcnkuYW5kKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9yOiB3aGVyZVF1ZXJ5Lm9yLm1hcCgocXVlcnkpID0+IHtcbiAgICAgICAgLy8gLi4uYnV0IGlmIHRoZSBvciBxdWVyeSBkb2VzIG5vdCBoYXZlIGFuIGFuZCwgd2UgbmVlZCB0byBhZGQgaXRcbiAgICAgICAgaWYgKCFxdWVyeS5hbmQpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYW5kOiBbcXVlcnldLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcXVlcnlcbiAgICAgIH0pLFxuICAgIH1cbiAgfVxuXG4gIC8vIENoZWNrIGlmICd3aGVyZVF1ZXJ5JyBoYXMgJ2FuZCcgZmllbGQgYnV0IG5vICdvcicuXG4gIGlmICh3aGVyZVF1ZXJ5LmFuZCAmJiAhd2hlcmVRdWVyeS5vcikge1xuICAgIHJldHVybiB7XG4gICAgICBvcjogW1xuICAgICAgICB7XG4gICAgICAgICAgYW5kOiB3aGVyZVF1ZXJ5LmFuZCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJ3doZXJlUXVlcnknIGhhcyBuZWl0aGVyICdvcicgbm9yICdhbmQnLlxuICBpZiAoIXdoZXJlUXVlcnkub3IgJiYgIXdoZXJlUXVlcnkuYW5kKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9yOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBhbmQ6IFt3aGVyZVF1ZXJ5XSwgLy8gdG9wLWxldmVsIHNpYmxpbmdzIGFyZSBjb25zaWRlcmVkICdhbmQnXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH1cbiAgfVxuXG4gIC8vIElmICd3aGVyZVF1ZXJ5JyBoYXMgJ29yJyBhbmQgJ2FuZCcsIGp1c3QgcmV0dXJuIGl0IGFzIGl0IGlzLlxuICByZXR1cm4gd2hlcmVRdWVyeVxufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybVdoZXJlUXVlcnkiLCJ3aGVyZVF1ZXJ5Iiwib3IiLCJhbmQiLCJtYXAiLCJxdWVyeSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFPYUE7OztlQUFBQTs7O0FBQU4sTUFBTUEsc0JBQXNCLENBQUNDO0lBQ2xDLElBQUksQ0FBQ0EsWUFBWTtRQUNmLE9BQU8sQ0FBQztJQUNWO0lBQ0EsNEZBQTRGO0lBQzVGLElBQUlBLFdBQVdDLEVBQUUsSUFBSSxDQUFDRCxXQUFXRSxHQUFHLEVBQUU7UUFDcEMsT0FBTztZQUNMRCxJQUFJRCxXQUFXQyxFQUFFLENBQUNFLEdBQUcsQ0FBQyxDQUFDQztnQkFDckIsaUVBQWlFO2dCQUNqRSxJQUFJLENBQUNBLE1BQU1GLEdBQUcsRUFBRTtvQkFDZCxPQUFPO3dCQUNMQSxLQUFLOzRCQUFDRTt5QkFBTTtvQkFDZDtnQkFDRjtnQkFDQSxPQUFPQTtZQUNUO1FBQ0Y7SUFDRjtJQUVBLHFEQUFxRDtJQUNyRCxJQUFJSixXQUFXRSxHQUFHLElBQUksQ0FBQ0YsV0FBV0MsRUFBRSxFQUFFO1FBQ3BDLE9BQU87WUFDTEEsSUFBSTtnQkFDRjtvQkFDRUMsS0FBS0YsV0FBV0UsR0FBRztnQkFDckI7YUFDRDtRQUNIO0lBQ0Y7SUFFQSxvREFBb0Q7SUFDcEQsSUFBSSxDQUFDRixXQUFXQyxFQUFFLElBQUksQ0FBQ0QsV0FBV0UsR0FBRyxFQUFFO1FBQ3JDLE9BQU87WUFDTEQsSUFBSTtnQkFDRjtvQkFDRUMsS0FBSzt3QkFBQ0Y7cUJBQVc7Z0JBQ25CO2FBQ0Q7UUFDSDtJQUNGO0lBRUEsK0RBQStEO0lBQy9ELE9BQU9BO0FBQ1QifQ==
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return _default;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _types = require("payload/types");
|
|
12
|
+
const validateWhereQuery = (whereQuery)=>{
|
|
13
|
+
if (whereQuery?.or?.length > 0 && whereQuery?.or?.[0]?.and && whereQuery?.or?.[0]?.and?.length > 0) {
|
|
14
|
+
// At this point we know that the whereQuery has 'or' and 'and' fields,
|
|
15
|
+
// now let's check the structure and content of these fields.
|
|
16
|
+
const isValid = whereQuery.or.every((orQuery)=>{
|
|
17
|
+
if (orQuery.and && Array.isArray(orQuery.and)) {
|
|
18
|
+
return orQuery.and.every((andQuery)=>{
|
|
19
|
+
if (typeof andQuery !== 'object') {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
const andKeys = Object.keys(andQuery);
|
|
23
|
+
// If there are no keys, it's not a valid WhereField.
|
|
24
|
+
if (andKeys.length === 0) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
28
|
+
for (const key of andKeys){
|
|
29
|
+
const operator = Object.keys(andQuery[key])[0];
|
|
30
|
+
// Check if the key is a valid Operator.
|
|
31
|
+
if (!operator || !_types.validOperators.includes(operator)) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return true;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
return false;
|
|
39
|
+
});
|
|
40
|
+
return isValid;
|
|
41
|
+
}
|
|
42
|
+
return false;
|
|
43
|
+
};
|
|
44
|
+
const _default = validateWhereQuery;
|
|
45
|
+
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9XaGVyZUJ1aWxkZXIvdmFsaWRhdGVXaGVyZVF1ZXJ5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgT3BlcmF0b3IsIFdoZXJlIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgdmFsaWRPcGVyYXRvcnMgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5jb25zdCB2YWxpZGF0ZVdoZXJlUXVlcnkgPSAod2hlcmVRdWVyeSk6IHdoZXJlUXVlcnkgaXMgV2hlcmUgPT4ge1xuICBpZiAoXG4gICAgd2hlcmVRdWVyeT8ub3I/Lmxlbmd0aCA+IDAgJiZcbiAgICB3aGVyZVF1ZXJ5Py5vcj8uWzBdPy5hbmQgJiZcbiAgICB3aGVyZVF1ZXJ5Py5vcj8uWzBdPy5hbmQ/Lmxlbmd0aCA+IDBcbiAgKSB7XG4gICAgLy8gQXQgdGhpcyBwb2ludCB3ZSBrbm93IHRoYXQgdGhlIHdoZXJlUXVlcnkgaGFzICdvcicgYW5kICdhbmQnIGZpZWxkcyxcbiAgICAvLyBub3cgbGV0J3MgY2hlY2sgdGhlIHN0cnVjdHVyZSBhbmQgY29udGVudCBvZiB0aGVzZSBmaWVsZHMuXG5cbiAgICBjb25zdCBpc1ZhbGlkID0gd2hlcmVRdWVyeS5vci5ldmVyeSgob3JRdWVyeSkgPT4ge1xuICAgICAgaWYgKG9yUXVlcnkuYW5kICYmIEFycmF5LmlzQXJyYXkob3JRdWVyeS5hbmQpKSB7XG4gICAgICAgIHJldHVybiBvclF1ZXJ5LmFuZC5ldmVyeSgoYW5kUXVlcnkpID0+IHtcbiAgICAgICAgICBpZiAodHlwZW9mIGFuZFF1ZXJ5ICE9PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IGFuZEtleXMgPSBPYmplY3Qua2V5cyhhbmRRdWVyeSlcbiAgICAgICAgICAvLyBJZiB0aGVyZSBhcmUgbm8ga2V5cywgaXQncyBub3QgYSB2YWxpZCBXaGVyZUZpZWxkLlxuICAgICAgICAgIGlmIChhbmRLZXlzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLXN5bnRheFxuICAgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIGFuZEtleXMpIHtcbiAgICAgICAgICAgIGNvbnN0IG9wZXJhdG9yID0gT2JqZWN0LmtleXMoYW5kUXVlcnlba2V5XSlbMF1cbiAgICAgICAgICAgIC8vIENoZWNrIGlmIHRoZSBrZXkgaXMgYSB2YWxpZCBPcGVyYXRvci5cbiAgICAgICAgICAgIGlmICghb3BlcmF0b3IgfHwgIXZhbGlkT3BlcmF0b3JzLmluY2x1ZGVzKG9wZXJhdG9yIGFzIE9wZXJhdG9yKSkge1xuICAgICAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0pXG5cbiAgICByZXR1cm4gaXNWYWxpZFxuICB9XG5cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmV4cG9ydCBkZWZhdWx0IHZhbGlkYXRlV2hlcmVRdWVyeVxuIl0sIm5hbWVzIjpbInZhbGlkYXRlV2hlcmVRdWVyeSIsIndoZXJlUXVlcnkiLCJvciIsImxlbmd0aCIsImFuZCIsImlzVmFsaWQiLCJldmVyeSIsIm9yUXVlcnkiLCJBcnJheSIsImlzQXJyYXkiLCJhbmRRdWVyeSIsImFuZEtleXMiLCJPYmplY3QiLCJrZXlzIiwia2V5Iiwib3BlcmF0b3IiLCJ2YWxpZE9wZXJhdG9ycyIsImluY2x1ZGVzIl0sIm1hcHBpbmdzIjoiOzs7OytCQTRDQTs7O2VBQUE7Ozt1QkExQytCO0FBRS9CLE1BQU1BLHFCQUFxQixDQUFDQztJQUMxQixJQUNFQSxZQUFZQyxJQUFJQyxTQUFTLEtBQ3pCRixZQUFZQyxJQUFJLENBQUMsRUFBRSxFQUFFRSxPQUNyQkgsWUFBWUMsSUFBSSxDQUFDLEVBQUUsRUFBRUUsS0FBS0QsU0FBUyxHQUNuQztRQUNBLHVFQUF1RTtRQUN2RSw2REFBNkQ7UUFFN0QsTUFBTUUsVUFBVUosV0FBV0MsRUFBRSxDQUFDSSxLQUFLLENBQUMsQ0FBQ0M7WUFDbkMsSUFBSUEsUUFBUUgsR0FBRyxJQUFJSSxNQUFNQyxPQUFPLENBQUNGLFFBQVFILEdBQUcsR0FBRztnQkFDN0MsT0FBT0csUUFBUUgsR0FBRyxDQUFDRSxLQUFLLENBQUMsQ0FBQ0k7b0JBQ3hCLElBQUksT0FBT0EsYUFBYSxVQUFVO3dCQUNoQyxPQUFPO29CQUNUO29CQUNBLE1BQU1DLFVBQVVDLE9BQU9DLElBQUksQ0FBQ0g7b0JBQzVCLHFEQUFxRDtvQkFDckQsSUFBSUMsUUFBUVIsTUFBTSxLQUFLLEdBQUc7d0JBQ3hCLE9BQU87b0JBQ1Q7b0JBQ0EsZ0RBQWdEO29CQUNoRCxLQUFLLE1BQU1XLE9BQU9ILFFBQVM7d0JBQ3pCLE1BQU1JLFdBQVdILE9BQU9DLElBQUksQ0FBQ0gsUUFBUSxDQUFDSSxJQUFJLENBQUMsQ0FBQyxFQUFFO3dCQUM5Qyx3Q0FBd0M7d0JBQ3hDLElBQUksQ0FBQ0MsWUFBWSxDQUFDQyxxQkFBYyxDQUFDQyxRQUFRLENBQUNGLFdBQXVCOzRCQUMvRCxPQUFPO3dCQUNUO29CQUNGO29CQUNBLE9BQU87Z0JBQ1Q7WUFDRjtZQUNBLE9BQU87UUFDVDtRQUVBLE9BQU9WO0lBQ1Q7SUFFQSxPQUFPO0FBQ1Q7TUFFQSxXQUFlTCJ9
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
payloadFavicon: function() {
|
|
13
|
+
return _faviconsvg.default;
|
|
14
|
+
},
|
|
15
|
+
payloadOgImage: function() {
|
|
16
|
+
return _ogimagepng.default;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const _faviconsvg = /*#__PURE__*/ _interop_require_default(require("../assets/favicon.svg"));
|
|
20
|
+
const _ogimagepng = /*#__PURE__*/ _interop_require_default(require("../assets/og-image.png"));
|
|
21
|
+
function _interop_require_default(obj) {
|
|
22
|
+
return obj && obj.__esModule ? obj : {
|
|
23
|
+
default: obj
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHBvcnRzL2Fzc2V0cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IGFzIHBheWxvYWRGYXZpY29uIH0gZnJvbSAnLi4vYXNzZXRzL2Zhdmljb24uc3ZnJ1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBwYXlsb2FkT2dJbWFnZSB9IGZyb20gJy4uL2Fzc2V0cy9vZy1pbWFnZS5wbmcnXG4iXSwibmFtZXMiOlsicGF5bG9hZEZhdmljb24iLCJwYXlsb2FkT2dJbWFnZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFBb0JBLGNBQWM7ZUFBZEEsbUJBQWM7O0lBQ2RDLGNBQWM7ZUFBZEEsbUJBQWM7OzttRUFEUTttRUFDQSJ9
|