@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,147 @@
|
|
|
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 _types = require("payload/types");
|
|
13
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
|
|
14
|
+
const _context = require("../../Form/context");
|
|
15
|
+
const _Label = /*#__PURE__*/ _interop_require_default(require("../../Label"));
|
|
16
|
+
const _useField = /*#__PURE__*/ _interop_require_default(require("../../useField"));
|
|
17
|
+
const _withCondition = require("../../withCondition");
|
|
18
|
+
const _shared = require("../shared");
|
|
19
|
+
const _Radio = require("./Radio");
|
|
20
|
+
require("./index.scss");
|
|
21
|
+
function _interop_require_default(obj) {
|
|
22
|
+
return obj && obj.__esModule ? obj : {
|
|
23
|
+
default: obj
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
27
|
+
if (typeof WeakMap !== "function") return null;
|
|
28
|
+
var cacheBabelInterop = new WeakMap();
|
|
29
|
+
var cacheNodeInterop = new WeakMap();
|
|
30
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
31
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
32
|
+
})(nodeInterop);
|
|
33
|
+
}
|
|
34
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
35
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
36
|
+
return obj;
|
|
37
|
+
}
|
|
38
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
39
|
+
return {
|
|
40
|
+
default: obj
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
44
|
+
if (cache && cache.has(obj)) {
|
|
45
|
+
return cache.get(obj);
|
|
46
|
+
}
|
|
47
|
+
var newObj = {
|
|
48
|
+
__proto__: null
|
|
49
|
+
};
|
|
50
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
51
|
+
for(var key in obj){
|
|
52
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
53
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
54
|
+
if (desc && (desc.get || desc.set)) {
|
|
55
|
+
Object.defineProperty(newObj, key, desc);
|
|
56
|
+
} else {
|
|
57
|
+
newObj[key] = obj[key];
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
newObj.default = obj;
|
|
62
|
+
if (cache) {
|
|
63
|
+
cache.set(obj, newObj);
|
|
64
|
+
}
|
|
65
|
+
return newObj;
|
|
66
|
+
}
|
|
67
|
+
const baseClass = 'radio-group';
|
|
68
|
+
const RadioGroup = (props)=>{
|
|
69
|
+
const { name, Description, Error, Label: LabelFromProps, className, label, onChange: onChangeFromProps, path: pathFromProps, readOnly, required, style, validate, value: valueFromProps, width } = props;
|
|
70
|
+
const { uuid } = (0, _context.useForm)();
|
|
71
|
+
const Label = LabelFromProps || /*#__PURE__*/ _react.default.createElement(_Label.default, {
|
|
72
|
+
label: label,
|
|
73
|
+
required: required
|
|
74
|
+
});
|
|
75
|
+
const options = 'options' in props ? props.options : [];
|
|
76
|
+
const layout = 'layout' in props ? props.layout : 'horizontal';
|
|
77
|
+
const memoizedValidate = (0, _react.useCallback)((value, validationOptions)=>{
|
|
78
|
+
if (typeof validate === 'function') return validate(value, {
|
|
79
|
+
...validationOptions,
|
|
80
|
+
options,
|
|
81
|
+
required
|
|
82
|
+
});
|
|
83
|
+
}, [
|
|
84
|
+
validate,
|
|
85
|
+
options,
|
|
86
|
+
required
|
|
87
|
+
]);
|
|
88
|
+
const { path, setValue, showError, value: valueFromContext } = (0, _useField.default)({
|
|
89
|
+
path: pathFromProps || name,
|
|
90
|
+
validate: memoizedValidate
|
|
91
|
+
});
|
|
92
|
+
const value = valueFromContext || valueFromProps;
|
|
93
|
+
return /*#__PURE__*/ _react.default.createElement("div", {
|
|
94
|
+
className: [
|
|
95
|
+
_shared.fieldBaseClass,
|
|
96
|
+
baseClass,
|
|
97
|
+
className,
|
|
98
|
+
`${baseClass}--layout-${layout}`,
|
|
99
|
+
showError && 'error',
|
|
100
|
+
readOnly && `${baseClass}--read-only`
|
|
101
|
+
].filter(Boolean).join(' '),
|
|
102
|
+
style: {
|
|
103
|
+
...style,
|
|
104
|
+
width
|
|
105
|
+
}
|
|
106
|
+
}, /*#__PURE__*/ _react.default.createElement("div", {
|
|
107
|
+
className: `${baseClass}__error-wrap`
|
|
108
|
+
}, Error), Label, /*#__PURE__*/ _react.default.createElement("ul", {
|
|
109
|
+
className: `${baseClass}--group`,
|
|
110
|
+
id: `field-${path.replace(/\./g, '__')}`
|
|
111
|
+
}, options.map((option)=>{
|
|
112
|
+
let optionValue = '';
|
|
113
|
+
let optionLabel = '';
|
|
114
|
+
if ((0, _types.optionIsObject)(option)) {
|
|
115
|
+
optionValue = option.value;
|
|
116
|
+
optionLabel = option.label;
|
|
117
|
+
} else {
|
|
118
|
+
optionValue = option;
|
|
119
|
+
optionLabel = option;
|
|
120
|
+
}
|
|
121
|
+
const isSelected = String(optionValue) === String(value);
|
|
122
|
+
const id = `field-${path}-${optionValue}${uuid ? `-${uuid}` : ''}`;
|
|
123
|
+
return /*#__PURE__*/ _react.default.createElement("li", {
|
|
124
|
+
key: `${path} - ${optionValue}`
|
|
125
|
+
}, /*#__PURE__*/ _react.default.createElement(_Radio.Radio, {
|
|
126
|
+
id: id,
|
|
127
|
+
isSelected: isSelected,
|
|
128
|
+
onChange: ()=>{
|
|
129
|
+
if (typeof onChangeFromProps === 'function') {
|
|
130
|
+
onChangeFromProps(optionValue);
|
|
131
|
+
}
|
|
132
|
+
if (!readOnly) {
|
|
133
|
+
setValue(optionValue);
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
option: (0, _types.optionIsObject)(option) ? option : {
|
|
137
|
+
label: option,
|
|
138
|
+
value: option
|
|
139
|
+
},
|
|
140
|
+
path: path,
|
|
141
|
+
uuid: uuid
|
|
142
|
+
}));
|
|
143
|
+
})), Description);
|
|
144
|
+
};
|
|
145
|
+
const _default = (0, _withCondition.withCondition)(RadioGroup);
|
|
146
|
+
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mb3Jtcy9maWVsZHMvUmFkaW9Hcm91cC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgeyBvcHRpb25Jc09iamVjdCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHR5cGUgeyBQcm9wcyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IHVzZUZvcm0gfSBmcm9tICcuLi8uLi9Gb3JtL2NvbnRleHQnXG5pbXBvcnQgTGFiZWxDb21wIGZyb20gJy4uLy4uL0xhYmVsJ1xuaW1wb3J0IHVzZUZpZWxkIGZyb20gJy4uLy4uL3VzZUZpZWxkJ1xuaW1wb3J0IHsgd2l0aENvbmRpdGlvbiB9IGZyb20gJy4uLy4uL3dpdGhDb25kaXRpb24nXG5pbXBvcnQgeyBmaWVsZEJhc2VDbGFzcyB9IGZyb20gJy4uL3NoYXJlZCdcbmltcG9ydCB7IFJhZGlvIH0gZnJvbSAnLi9SYWRpbydcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAncmFkaW8tZ3JvdXAnXG5cbmNvbnN0IFJhZGlvR3JvdXA6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgbmFtZSxcbiAgICBEZXNjcmlwdGlvbixcbiAgICBFcnJvcixcbiAgICBMYWJlbDogTGFiZWxGcm9tUHJvcHMsXG4gICAgY2xhc3NOYW1lLFxuICAgIGxhYmVsLFxuICAgIG9uQ2hhbmdlOiBvbkNoYW5nZUZyb21Qcm9wcyxcbiAgICBwYXRoOiBwYXRoRnJvbVByb3BzLFxuICAgIHJlYWRPbmx5LFxuICAgIHJlcXVpcmVkLFxuICAgIHN0eWxlLFxuICAgIHZhbGlkYXRlLFxuICAgIHZhbHVlOiB2YWx1ZUZyb21Qcm9wcyxcbiAgICB3aWR0aCxcbiAgfSA9IHByb3BzXG5cbiAgY29uc3QgeyB1dWlkIH0gPSB1c2VGb3JtKClcblxuICBjb25zdCBMYWJlbCA9IExhYmVsRnJvbVByb3BzIHx8IDxMYWJlbENvbXAgbGFiZWw9e2xhYmVsfSByZXF1aXJlZD17cmVxdWlyZWR9IC8+XG5cbiAgY29uc3Qgb3B0aW9ucyA9ICdvcHRpb25zJyBpbiBwcm9wcyA/IHByb3BzLm9wdGlvbnMgOiBbXVxuXG4gIGNvbnN0IGxheW91dCA9ICdsYXlvdXQnIGluIHByb3BzID8gcHJvcHMubGF5b3V0IDogJ2hvcml6b250YWwnXG5cbiAgY29uc3QgbWVtb2l6ZWRWYWxpZGF0ZSA9IHVzZUNhbGxiYWNrKFxuICAgICh2YWx1ZSwgdmFsaWRhdGlvbk9wdGlvbnMpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgdmFsaWRhdGUgPT09ICdmdW5jdGlvbicpXG4gICAgICAgIHJldHVybiB2YWxpZGF0ZSh2YWx1ZSwgeyAuLi52YWxpZGF0aW9uT3B0aW9ucywgb3B0aW9ucywgcmVxdWlyZWQgfSlcbiAgICB9LFxuICAgIFt2YWxpZGF0ZSwgb3B0aW9ucywgcmVxdWlyZWRdLFxuICApXG5cbiAgY29uc3Qge1xuICAgIHBhdGgsXG4gICAgc2V0VmFsdWUsXG4gICAgc2hvd0Vycm9yLFxuICAgIHZhbHVlOiB2YWx1ZUZyb21Db250ZXh0LFxuICB9ID0gdXNlRmllbGQ8c3RyaW5nPih7XG4gICAgcGF0aDogcGF0aEZyb21Qcm9wcyB8fCBuYW1lLFxuICAgIHZhbGlkYXRlOiBtZW1vaXplZFZhbGlkYXRlLFxuICB9KVxuXG4gIGNvbnN0IHZhbHVlID0gdmFsdWVGcm9tQ29udGV4dCB8fCB2YWx1ZUZyb21Qcm9wc1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtbXG4gICAgICAgIGZpZWxkQmFzZUNsYXNzLFxuICAgICAgICBiYXNlQ2xhc3MsXG4gICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgYCR7YmFzZUNsYXNzfS0tbGF5b3V0LSR7bGF5b3V0fWAsXG4gICAgICAgIHNob3dFcnJvciAmJiAnZXJyb3InLFxuICAgICAgICByZWFkT25seSAmJiBgJHtiYXNlQ2xhc3N9LS1yZWFkLW9ubHlgLFxuICAgICAgXVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgIC5qb2luKCcgJyl9XG4gICAgICBzdHlsZT17e1xuICAgICAgICAuLi5zdHlsZSxcbiAgICAgICAgd2lkdGgsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19lcnJvci13cmFwYH0+e0Vycm9yfTwvZGl2PlxuICAgICAge0xhYmVsfVxuICAgICAgPHVsIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfS0tZ3JvdXBgfSBpZD17YGZpZWxkLSR7cGF0aC5yZXBsYWNlKC9cXC4vZywgJ19fJyl9YH0+XG4gICAgICAgIHtvcHRpb25zLm1hcCgob3B0aW9uKSA9PiB7XG4gICAgICAgICAgbGV0IG9wdGlvblZhbHVlID0gJydcbiAgICAgICAgICBsZXQgb3B0aW9uTGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBzdHJpbmcgPSAnJ1xuXG4gICAgICAgICAgaWYgKG9wdGlvbklzT2JqZWN0KG9wdGlvbikpIHtcbiAgICAgICAgICAgIG9wdGlvblZhbHVlID0gb3B0aW9uLnZhbHVlXG4gICAgICAgICAgICBvcHRpb25MYWJlbCA9IG9wdGlvbi5sYWJlbFxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvcHRpb25WYWx1ZSA9IG9wdGlvblxuICAgICAgICAgICAgb3B0aW9uTGFiZWwgPSBvcHRpb25cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBpc1NlbGVjdGVkID0gU3RyaW5nKG9wdGlvblZhbHVlKSA9PT0gU3RyaW5nKHZhbHVlKVxuXG4gICAgICAgICAgY29uc3QgaWQgPSBgZmllbGQtJHtwYXRofS0ke29wdGlvblZhbHVlfSR7dXVpZCA/IGAtJHt1dWlkfWAgOiAnJ31gXG5cbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPGxpIGtleT17YCR7cGF0aH0gLSAke29wdGlvblZhbHVlfWB9PlxuICAgICAgICAgICAgICA8UmFkaW9cbiAgICAgICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICAgICAgaXNTZWxlY3RlZD17aXNTZWxlY3RlZH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBvbkNoYW5nZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZUZyb21Qcm9wcyhvcHRpb25WYWx1ZSlcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgaWYgKCFyZWFkT25seSkge1xuICAgICAgICAgICAgICAgICAgICBzZXRWYWx1ZShvcHRpb25WYWx1ZSlcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIG9wdGlvbj17b3B0aW9uSXNPYmplY3Qob3B0aW9uKSA/IG9wdGlvbiA6IHsgbGFiZWw6IG9wdGlvbiwgdmFsdWU6IG9wdGlvbiB9fVxuICAgICAgICAgICAgICAgIHBhdGg9e3BhdGh9XG4gICAgICAgICAgICAgICAgdXVpZD17dXVpZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgKVxuICAgICAgICB9KX1cbiAgICAgIDwvdWw+XG4gICAgICB7RGVzY3JpcHRpb259XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgd2l0aENvbmRpdGlvbihSYWRpb0dyb3VwKVxuIl0sIm5hbWVzIjpbImJhc2VDbGFzcyIsIlJhZGlvR3JvdXAiLCJwcm9wcyIsIm5hbWUiLCJEZXNjcmlwdGlvbiIsIkVycm9yIiwiTGFiZWwiLCJMYWJlbEZyb21Qcm9wcyIsImNsYXNzTmFtZSIsImxhYmVsIiwib25DaGFuZ2UiLCJvbkNoYW5nZUZyb21Qcm9wcyIsInBhdGgiLCJwYXRoRnJvbVByb3BzIiwicmVhZE9ubHkiLCJyZXF1aXJlZCIsInN0eWxlIiwidmFsaWRhdGUiLCJ2YWx1ZSIsInZhbHVlRnJvbVByb3BzIiwid2lkdGgiLCJ1dWlkIiwidXNlRm9ybSIsIkxhYmVsQ29tcCIsIm9wdGlvbnMiLCJsYXlvdXQiLCJtZW1vaXplZFZhbGlkYXRlIiwidXNlQ2FsbGJhY2siLCJ2YWxpZGF0aW9uT3B0aW9ucyIsInNldFZhbHVlIiwic2hvd0Vycm9yIiwidmFsdWVGcm9tQ29udGV4dCIsInVzZUZpZWxkIiwiZGl2IiwiZmllbGRCYXNlQ2xhc3MiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsInVsIiwiaWQiLCJyZXBsYWNlIiwibWFwIiwib3B0aW9uIiwib3B0aW9uVmFsdWUiLCJvcHRpb25MYWJlbCIsIm9wdGlvbklzT2JqZWN0IiwiaXNTZWxlY3RlZCIsIlN0cmluZyIsImxpIiwia2V5IiwiUmFkaW8iLCJ3aXRoQ29uZGl0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7K0JBNkhBOzs7ZUFBQTs7O3VCQTVIK0I7K0RBQ0k7eUJBSVg7OERBQ0Y7aUVBQ0Q7K0JBQ1M7d0JBQ0M7dUJBQ1Q7UUFDZjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFUCxNQUFNQSxZQUFZO0FBRWxCLE1BQU1DLGFBQThCLENBQUNDO0lBQ25DLE1BQU0sRUFDSkMsSUFBSSxFQUNKQyxXQUFXLEVBQ1hDLEtBQUssRUFDTEMsT0FBT0MsY0FBYyxFQUNyQkMsU0FBUyxFQUNUQyxLQUFLLEVBQ0xDLFVBQVVDLGlCQUFpQixFQUMzQkMsTUFBTUMsYUFBYSxFQUNuQkMsUUFBUSxFQUNSQyxRQUFRLEVBQ1JDLEtBQUssRUFDTEMsUUFBUSxFQUNSQyxPQUFPQyxjQUFjLEVBQ3JCQyxLQUFLLEVBQ04sR0FBR2xCO0lBRUosTUFBTSxFQUFFbUIsSUFBSSxFQUFFLEdBQUdDLElBQUFBLGdCQUFPO0lBRXhCLE1BQU1oQixRQUFRQyxnQ0FBa0IsNkJBQUNnQixjQUFTO1FBQUNkLE9BQU9BO1FBQU9NLFVBQVVBOztJ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
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "AddNewRelation", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function() {
|
|
9
|
+
return AddNewRelation;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
const _translations = require("@payloadcms/translations");
|
|
13
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
|
|
14
|
+
const _Button = require("../../../../elements/Button");
|
|
15
|
+
const _DocumentDrawer = require("../../../../elements/DocumentDrawer");
|
|
16
|
+
const _Popup = /*#__PURE__*/ _interop_require_default(require("../../../../elements/Popup"));
|
|
17
|
+
const _PopupButtonList = /*#__PURE__*/ _interop_require_wildcard(require("../../../../elements/Popup/PopupButtonList"));
|
|
18
|
+
const _Tooltip = require("../../../../elements/Tooltip");
|
|
19
|
+
const _Plus = require("../../../../icons/Plus");
|
|
20
|
+
const _Auth = require("../../../../providers/Auth");
|
|
21
|
+
const _Config = require("../../../../providers/Config");
|
|
22
|
+
const _Translation = require("../../../../providers/Translation");
|
|
23
|
+
require("./index.scss");
|
|
24
|
+
const _useRelatedCollections = require("./useRelatedCollections");
|
|
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 = 'relationship-add-new';
|
|
72
|
+
const AddNewRelation = ({ dispatchOptions, hasMany, path, relationTo, setValue, value })=>{
|
|
73
|
+
const relatedCollections = (0, _useRelatedCollections.useRelatedCollections)(relationTo);
|
|
74
|
+
const { permissions } = (0, _Auth.useAuth)();
|
|
75
|
+
const [show, setShow] = (0, _react.useState)(false);
|
|
76
|
+
const [selectedCollection, setSelectedCollection] = (0, _react.useState)();
|
|
77
|
+
const relatedToMany = relatedCollections.length > 1;
|
|
78
|
+
const [collectionConfig, setCollectionConfig] = (0, _react.useState)(()=>!relatedToMany ? relatedCollections[0] : undefined);
|
|
79
|
+
const [popupOpen, setPopupOpen] = (0, _react.useState)(false);
|
|
80
|
+
const { i18n, t } = (0, _Translation.useTranslation)();
|
|
81
|
+
const [showTooltip, setShowTooltip] = (0, _react.useState)(false);
|
|
82
|
+
const config = (0, _Config.useConfig)();
|
|
83
|
+
const [DocumentDrawer, DocumentDrawerToggler, { isDrawerOpen, toggleDrawer }] = (0, _DocumentDrawer.useDocumentDrawer)({
|
|
84
|
+
collectionSlug: collectionConfig?.slug
|
|
85
|
+
});
|
|
86
|
+
const onSave = (0, _react.useCallback)(({ doc, operation })=>{
|
|
87
|
+
if (operation === 'create') {
|
|
88
|
+
const newValue = Array.isArray(relationTo) ? {
|
|
89
|
+
relationTo: collectionConfig.slug,
|
|
90
|
+
value: doc.id
|
|
91
|
+
} : doc.id;
|
|
92
|
+
// ensure the value is not already in the array
|
|
93
|
+
const isNewValue = Array.isArray(relationTo) && Array.isArray(value) ? !value.some((v)=>v && typeof v === 'object' && v.value === doc.id) : value !== doc.id;
|
|
94
|
+
if (isNewValue) {
|
|
95
|
+
// dispatchOptions({
|
|
96
|
+
// collection: collectionConfig,
|
|
97
|
+
// // TODO: fix this
|
|
98
|
+
// // @ts-expect-error-next-line
|
|
99
|
+
// type: 'ADD',
|
|
100
|
+
// config,
|
|
101
|
+
// docs: [doc],
|
|
102
|
+
// i18n,
|
|
103
|
+
// sort: true,
|
|
104
|
+
// })
|
|
105
|
+
if (hasMany) {
|
|
106
|
+
setValue([
|
|
107
|
+
...Array.isArray(value) ? value : [],
|
|
108
|
+
newValue
|
|
109
|
+
]);
|
|
110
|
+
} else {
|
|
111
|
+
setValue(newValue);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
setSelectedCollection(undefined);
|
|
115
|
+
}
|
|
116
|
+
}, [
|
|
117
|
+
relationTo,
|
|
118
|
+
collectionConfig,
|
|
119
|
+
dispatchOptions,
|
|
120
|
+
i18n,
|
|
121
|
+
hasMany,
|
|
122
|
+
setValue,
|
|
123
|
+
value,
|
|
124
|
+
config
|
|
125
|
+
]);
|
|
126
|
+
const onPopupToggle = (0, _react.useCallback)((state)=>{
|
|
127
|
+
setPopupOpen(state);
|
|
128
|
+
}, []);
|
|
129
|
+
(0, _react.useEffect)(()=>{
|
|
130
|
+
if (permissions) {
|
|
131
|
+
if (relatedCollections.length === 1) {
|
|
132
|
+
setShow(permissions.collections[relatedCollections[0].slug].create.permission);
|
|
133
|
+
} else {
|
|
134
|
+
setShow(relatedCollections.some((collection)=>permissions.collections[collection.slug].create.permission));
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}, [
|
|
138
|
+
permissions,
|
|
139
|
+
relatedCollections
|
|
140
|
+
]);
|
|
141
|
+
(0, _react.useEffect)(()=>{
|
|
142
|
+
if (relatedToMany && selectedCollection) {
|
|
143
|
+
setCollectionConfig(relatedCollections.find((collection)=>collection.slug === selectedCollection));
|
|
144
|
+
}
|
|
145
|
+
}, [
|
|
146
|
+
selectedCollection,
|
|
147
|
+
relatedToMany,
|
|
148
|
+
relatedCollections
|
|
149
|
+
]);
|
|
150
|
+
(0, _react.useEffect)(()=>{
|
|
151
|
+
if (relatedToMany && collectionConfig) {
|
|
152
|
+
// the drawer must be rendered on the page before before opening it
|
|
153
|
+
// this is why 'selectedCollection' is different from 'collectionConfig'
|
|
154
|
+
toggleDrawer();
|
|
155
|
+
setSelectedCollection(undefined);
|
|
156
|
+
}
|
|
157
|
+
}, [
|
|
158
|
+
toggleDrawer,
|
|
159
|
+
relatedToMany,
|
|
160
|
+
collectionConfig
|
|
161
|
+
]);
|
|
162
|
+
(0, _react.useEffect)(()=>{
|
|
163
|
+
if (relatedToMany && !isDrawerOpen) {
|
|
164
|
+
setCollectionConfig(undefined);
|
|
165
|
+
}
|
|
166
|
+
}, [
|
|
167
|
+
isDrawerOpen,
|
|
168
|
+
relatedToMany
|
|
169
|
+
]);
|
|
170
|
+
if (show) {
|
|
171
|
+
return /*#__PURE__*/ _react.default.createElement("div", {
|
|
172
|
+
className: baseClass,
|
|
173
|
+
id: `${path}-add-new`
|
|
174
|
+
}, relatedCollections.length === 1 && /*#__PURE__*/ _react.default.createElement(_react.Fragment, null, /*#__PURE__*/ _react.default.createElement(DocumentDrawerToggler, {
|
|
175
|
+
className: `${baseClass}__add-button`,
|
|
176
|
+
onClick: ()=>setShowTooltip(false),
|
|
177
|
+
onMouseEnter: ()=>setShowTooltip(true),
|
|
178
|
+
onMouseLeave: ()=>setShowTooltip(false)
|
|
179
|
+
}, /*#__PURE__*/ _react.default.createElement(_Tooltip.Tooltip, {
|
|
180
|
+
className: `${baseClass}__tooltip`,
|
|
181
|
+
show: showTooltip
|
|
182
|
+
}, t('fields:addNewLabel', {
|
|
183
|
+
label: (0, _translations.getTranslation)(relatedCollections[0].labels.singular, i18n)
|
|
184
|
+
})), /*#__PURE__*/ _react.default.createElement(_Plus.Plus, null)), /*#__PURE__*/ _react.default.createElement(DocumentDrawer, {
|
|
185
|
+
onSave: onSave
|
|
186
|
+
})), relatedCollections.length > 1 && /*#__PURE__*/ _react.default.createElement(_react.Fragment, null, /*#__PURE__*/ _react.default.createElement(_Popup.default, {
|
|
187
|
+
button: /*#__PURE__*/ _react.default.createElement(_Button.Button, {
|
|
188
|
+
buttonStyle: "none",
|
|
189
|
+
className: `${baseClass}__add-button`,
|
|
190
|
+
tooltip: popupOpen ? undefined : t('fields:addNew')
|
|
191
|
+
}, /*#__PURE__*/ _react.default.createElement(_Plus.Plus, null)),
|
|
192
|
+
buttonType: "custom",
|
|
193
|
+
horizontalAlign: "center",
|
|
194
|
+
onToggleOpen: onPopupToggle,
|
|
195
|
+
render: ({ close: closePopup })=>/*#__PURE__*/ _react.default.createElement(_PopupButtonList.ButtonGroup, null, relatedCollections.map((relatedCollection)=>{
|
|
196
|
+
if (permissions.collections[relatedCollection.slug].create.permission) {
|
|
197
|
+
return /*#__PURE__*/ _react.default.createElement(_PopupButtonList.Button, {
|
|
198
|
+
className: `${baseClass}__relation-button--${relatedCollection.slug}`,
|
|
199
|
+
key: relatedCollection.slug,
|
|
200
|
+
onClick: ()=>{
|
|
201
|
+
closePopup();
|
|
202
|
+
setSelectedCollection(relatedCollection.slug);
|
|
203
|
+
}
|
|
204
|
+
}, (0, _translations.getTranslation)(relatedCollection.labels.singular, i18n));
|
|
205
|
+
}
|
|
206
|
+
return null;
|
|
207
|
+
})),
|
|
208
|
+
size: "medium"
|
|
209
|
+
}), collectionConfig && permissions.collections[collectionConfig.slug].create.permission && /*#__PURE__*/ _react.default.createElement(DocumentDrawer, {
|
|
210
|
+
onSave: onSave
|
|
211
|
+
})));
|
|
212
|
+
}
|
|
213
|
+
return null;
|
|
214
|
+
};
|
|
215
|
+
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9mb3Jtcy9maWVsZHMvUmVsYXRpb25zaGlwL0FkZE5ldy9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBnZXRUcmFuc2xhdGlvbiB9IGZyb20gJ0BwYXlsb2FkY21zL3RyYW5zbGF0aW9ucydcbmltcG9ydCBSZWFjdCwgeyBGcmFnbWVudCwgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHR5cGUgeyBEb2N1bWVudEluZm9Db250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vLi4vcHJvdmlkZXJzL0RvY3VtZW50SW5mby90eXBlcydcbmltcG9ydCB0eXBlIHsgVmFsdWUgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB0eXBlIHsgUHJvcHMgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi8uLi8uLi8uLi9lbGVtZW50cy9CdXR0b24nXG5pbXBvcnQgeyB1c2VEb2N1bWVudERyYXdlciB9IGZyb20gJy4uLy4uLy4uLy4uL2VsZW1lbnRzL0RvY3VtZW50RHJhd2VyJ1xuaW1wb3J0IFBvcHVwIGZyb20gJy4uLy4uLy4uLy4uL2VsZW1lbnRzL1BvcHVwJ1xuaW1wb3J0ICogYXMgUG9wdXBMaXN0IGZyb20gJy4uLy4uLy4uLy4uL2VsZW1lbnRzL1BvcHVwL1BvcHVwQnV0dG9uTGlzdCdcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICcuLi8uLi8uLi8uLi9lbGVtZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgUGx1cyB9IGZyb20gJy4uLy4uLy4uLy4uL2ljb25zL1BsdXMnXG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSAnLi4vLi4vLi4vLi4vcHJvdmlkZXJzL0F1dGgnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi9wcm92aWRlcnMvQ29uZmlnJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9wcm92aWRlcnMvVHJhbnNsYXRpb24nXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcbmltcG9ydCB7IHVzZVJlbGF0ZWRDb2xsZWN0aW9ucyB9IGZyb20gJy4vdXNlUmVsYXRlZENvbGxlY3Rpb25zJ1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAncmVsYXRpb25zaGlwLWFkZC1uZXcnXG5cbmV4cG9ydCBjb25zdCBBZGROZXdSZWxhdGlvbjogUmVhY3QuRkM8UHJvcHM+ID0gKHtcbiAgZGlzcGF0Y2hPcHRpb25zLFxuICBoYXNNYW55LFxuICBwYXRoLFxuICByZWxhdGlvblRvLFxuICBzZXRWYWx1ZSxcbiAgdmFsdWUsXG59KSA9PiB7XG4gIGNvbnN0IHJlbGF0ZWRDb2xsZWN0aW9ucyA9IHVzZVJlbGF0ZWRDb2xsZWN0aW9ucyhyZWxhdGlvblRvKVxuICBjb25zdCB7IHBlcm1pc3Npb25zIH0gPSB1c2VBdXRoKClcbiAgY29uc3QgW3Nob3csIHNldFNob3ddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtzZWxlY3RlZENvbGxlY3Rpb24sIHNldFNlbGVjdGVkQ29sbGVjdGlvbl0gPSB1c2VTdGF0ZTxzdHJpbmc+KClcbiAgY29uc3QgcmVsYXRlZFRvTWFueSA9IHJlbGF0ZWRDb2xsZWN0aW9ucy5sZW5ndGggPiAxXG4gIGNvbnN0IFtjb2xsZWN0aW9uQ29uZmlnLCBzZXRDb2xsZWN0aW9uQ29uZmlnXSA9IHVzZVN0YXRlPFNhbml0aXplZENvbGxlY3Rpb25Db25maWc+KCgpID0+XG4gICAgIXJlbGF0ZWRUb01hbnkgPyByZWxhdGVkQ29sbGVjdGlvbnNbMF0gOiB1bmRlZmluZWQsXG4gIClcbiAgY29uc3QgW3BvcHVwT3Blbiwgc2V0UG9wdXBPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCB7IGkxOG4sIHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcbiAgY29uc3QgW3Nob3dUb29sdGlwLCBzZXRTaG93VG9vbHRpcF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgY29uZmlnID0gdXNlQ29uZmlnKClcblxuICBjb25zdCBbRG9jdW1lbnREcmF3ZXIsIERvY3VtZW50RHJhd2VyVG9nZ2xlciwgeyBpc0RyYXdlck9wZW4sIHRvZ2dsZURyYXdlciB9XSA9IHVzZURvY3VtZW50RHJhd2VyKFxuICAgIHtcbiAgICAgIGNvbGxlY3Rpb25TbHVnOiBjb2xsZWN0aW9uQ29uZmlnPy5zbHVnLFxuICAgIH0sXG4gIClcblxuICBjb25zdCBvblNhdmU6IERvY3VtZW50SW5mb0NvbnRleHRbJ29uU2F2ZSddID0gdXNlQ2FsbGJhY2soXG4gICAgKHsgZG9jLCBvcGVyYXRpb24gfSkgPT4ge1xuICAgICAgaWYgKG9wZXJhdGlvbiA9PT0gJ2NyZWF0ZScpIHtcbiAgICAgICAgY29uc3QgbmV3VmFsdWU6IFZhbHVlID0gQXJyYXkuaXNBcnJheShyZWxhdGlvblRvKVxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICByZWxhdGlvblRvOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICAgICAgICAgIHZhbHVlOiBkb2MuaWQsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiBkb2MuaWRcblxuICAgICAgICAvLyBlbnN1cmUgdGhlIHZhbHVlIGlzIG5vdCBhbHJlYWR5IGluIHRoZSBhcnJheVxuICAgICAgICBjb25zdCBpc05ld1ZhbHVlID1cbiAgICAgICAgICBBcnJheS5pc0FycmF5KHJlbGF0aW9uVG8pICYmIEFycmF5LmlzQXJyYXkodmFsdWUpXG4gICAgICAgICAgICA/ICF2YWx1ZS5zb21lKCh2KSA9PiB2ICYmIHR5cGVvZiB2ID09PSAnb2JqZWN0JyAmJiB2LnZhbHVlID09PSBkb2MuaWQpXG4gICAgICAgICAgICA6IHZhbHVlICE9PSBkb2MuaWRcblxuICAgICAgICBpZiAoaXNOZXdWYWx1ZSkge1xuICAgICAgICAgIC8vIGRpc3BhdGNoT3B0aW9ucyh7XG4gICAgICAgICAgLy8gICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICAgIC8vICAgLy8gVE9ETzogZml4IHRoaXNcbiAgICAgICAgICAvLyAgIC8vIEB0cy1leHBlY3QtZXJyb3ItbmV4dC1saW5lXG4gICAgICAgICAgLy8gICB0eXBlOiAnQUREJyxcbiAgICAgICAgICAvLyAgIGNvbmZpZyxcbiAgICAgICAgICAvLyAgIGRvY3M6IFtkb2NdLFxuICAgICAgICAgIC8vICAgaTE4bixcbiAgICAgICAgICAvLyAgIHNvcnQ6IHRydWUsXG4gICAgICAgICAgLy8gfSlcblxuICAgICAgICAgIGlmIChoYXNNYW55KSB7XG4gICAgICAgICAgICBzZXRWYWx1ZShbLi4uKEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbXSksIG5ld1ZhbHVlXSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2V0VmFsdWUobmV3VmFsdWUpXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc2V0U2VsZWN0ZWRDb2xsZWN0aW9uKHVuZGVmaW5lZClcbiAgICAgIH1cbiAgICB9LFxuICAgIFtyZWxhdGlvblRvLCBjb2xsZWN0aW9uQ29uZmlnLCBkaXNwYXRjaE9wdGlvbnMsIGkxOG4sIGhhc01hbnksIHNldFZhbHVlLCB2YWx1ZSwgY29uZmlnXSxcbiAgKVxuXG4gIGNvbnN0IG9uUG9wdXBUb2dnbGUgPSB1c2VDYWxsYmFjaygoc3RhdGUpID0+IHtcbiAgICBzZXRQb3B1cE9wZW4oc3RhdGUpXG4gIH0sIFtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHBlcm1pc3Npb25zKSB7XG4gICAgICBpZiAocmVsYXRlZENvbGxlY3Rpb25zLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICBzZXRTaG93KHBlcm1pc3Npb25zLmNvbGxlY3Rpb25zW3JlbGF0ZWRDb2xsZWN0aW9uc1swXS5zbHVnXS5jcmVhdGUucGVybWlzc2lvbilcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldFNob3coXG4gICAgICAgICAgcmVsYXRlZENvbGxlY3Rpb25zLnNvbWUoXG4gICAgICAgICAgICAoY29sbGVjdGlvbikgPT4gcGVybWlzc2lvbnMuY29sbGVjdGlvbnNbY29sbGVjdGlvbi5zbHVnXS5jcmVhdGUucGVybWlzc2lvbixcbiAgICAgICAgICApLFxuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuICB9LCBbcGVybWlzc2lvbnMsIHJlbGF0ZWRDb2xsZWN0aW9uc10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocmVsYXRlZFRvTWFueSAmJiBzZWxlY3RlZENvbGxlY3Rpb24pIHtcbiAgICAgIHNldENvbGxlY3Rpb25Db25maWcoXG4gICAgICAgIHJlbGF0ZWRDb2xsZWN0aW9ucy5maW5kKChjb2xsZWN0aW9uKSA9PiBjb2xsZWN0aW9uLnNsdWcgPT09IHNlbGVjdGVkQ29sbGVjdGlvbiksXG4gICAgICApXG4gICAgfVxuICB9LCBbc2VsZWN0ZWRDb2xsZWN0aW9uLCByZWxhdGVkVG9NYW55LCByZWxhdGVkQ29sbGVjdGlvbnNdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHJlbGF0ZWRUb01hbnkgJiYgY29sbGVjdGlvbkNvbmZpZykge1xuICAgICAgLy8gdGhlIGRyYXdlciBtdXN0IGJlIHJlbmRlcmVkIG9uIHRoZSBwYWdlIGJlZm9yZSBiZWZvcmUgb3BlbmluZyBpdFxuICAgICAgLy8gdGhpcyBpcyB3aHkgJ3NlbGVjdGVkQ29sbGVjdGlvbicgaXMgZGlmZmVyZW50IGZyb20gJ2NvbGxlY3Rpb25Db25maWcnXG4gICAgICB0b2dnbGVEcmF3ZXIoKVxuICAgICAgc2V0U2VsZWN0ZWRDb2xsZWN0aW9uKHVuZGVmaW5lZClcbiAgICB9XG4gIH0sIFt0b2dnbGVEcmF3ZXIsIHJlbGF0ZWRUb01hbnksIGNvbGxlY3Rpb25Db25maWddKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHJlbGF0ZWRUb01hbnkgJiYgIWlzRHJhd2VyT3Blbikge1xuICAgICAgc2V0Q29sbGVjdGlvbkNvbmZpZyh1bmRlZmluZWQpXG4gICAgfVxuICB9LCBbaXNEcmF3ZXJPcGVuLCByZWxhdGVkVG9NYW55XSlcblxuICBpZiAoc2hvdykge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17YmFzZUNsYXNzfSBpZD17YCR7cGF0aH0tYWRkLW5ld2B9PlxuICAgICAgICB7cmVsYXRlZENvbGxlY3Rpb25zLmxlbmd0aCA9PT0gMSAmJiAoXG4gICAgICAgICAgPEZyYWdtZW50PlxuICAgICAgICAgICAgPERvY3VtZW50RHJhd2VyVG9nZ2xlclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2FkZC1idXR0b25gfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRTaG93VG9vbHRpcChmYWxzZSl9XG4gICAgICAgICAgICAgIG9uTW91c2VFbnRlcj17KCkgPT4gc2V0U2hvd1Rvb2x0aXAodHJ1ZSl9XG4gICAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17KCkgPT4gc2V0U2hvd1Rvb2x0aXAoZmFsc2UpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8VG9vbHRpcCBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3Rvb2x0aXBgfSBzaG93PXtzaG93VG9vbHRpcH0+XG4gICAgICAgICAgICAgICAge3QoJ2ZpZWxkczphZGROZXdMYWJlbCcsIHtcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiBnZXRUcmFuc2xhdGlvbihyZWxhdGVkQ29sbGVjdGlvbnNbMF0ubGFiZWxzLnNpbmd1bGFyLCBpMThuKSxcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICA8UGx1cyAvPlxuICAgICAgICAgICAgPC9Eb2N1bWVudERyYXdlclRvZ2dsZXI+XG4gICAgICAgICAgICA8RG9jdW1lbnREcmF3ZXIgb25TYXZlPXtvblNhdmV9IC8+XG4gICAgICAgICAgPC9GcmFnbWVudD5cbiAgICAgICAgKX1cbiAgICAgICAge3JlbGF0ZWRDb2xsZWN0aW9ucy5sZW5ndGggPiAxICYmIChcbiAgICAgICAgICA8RnJhZ21lbnQ+XG4gICAgICAgICAgICA8UG9wdXBcbiAgICAgICAgICAgICAgYnV0dG9uPXtcbiAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICBidXR0b25TdHlsZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19hZGQtYnV0dG9uYH1cbiAgICAgICAgICAgICAgICAgIHRvb2x0aXA9e3BvcHVwT3BlbiA/IHVuZGVmaW5lZCA6IHQoJ2ZpZWxkczphZGROZXcnKX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8UGx1cyAvPlxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGJ1dHRvblR5cGU9XCJjdXN0b21cIlxuICAgICAgICAgICAgICBob3Jpem9udGFsQWxpZ249XCJjZW50ZXJcIlxuICAgICAgICAgICAgICBvblRvZ2dsZU9wZW49e29uUG9wdXBUb2dnbGV9XG4gICAgICAgICAgICAgIHJlbmRlcj17KHsgY2xvc2U6IGNsb3NlUG9wdXAgfSkgPT4gKFxuICAgICAgICAgICAgICAgIDxQb3B1cExpc3QuQnV0dG9uR3JvdXA+XG4gICAgICAgICAgICAgICAgICB7cmVsYXRlZENvbGxlY3Rpb25zLm1hcCgocmVsYXRlZENvbGxlY3Rpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBlcm1pc3Npb25zLmNvbGxlY3Rpb25zW3JlbGF0ZWRDb2xsZWN0aW9uLnNsdWddLmNyZWF0ZS5wZXJtaXNzaW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxQb3B1cExpc3QuQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fcmVsYXRpb24tYnV0dG9uLS0ke3JlbGF0ZWRDb2xsZWN0aW9uLnNsdWd9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtyZWxhdGVkQ29sbGVjdGlvbi5zbHVnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2VQb3B1cCgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2VsZWN0ZWRDb2xsZWN0aW9uKHJlbGF0ZWRDb2xsZWN0aW9uLnNsdWcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtnZXRUcmFuc2xhdGlvbihyZWxhdGVkQ29sbGVjdGlvbi5sYWJlbHMuc2luZ3VsYXIsIGkxOG4pfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9Qb3B1cExpc3QuQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA8L1BvcHVwTGlzdC5CdXR0b25Hcm91cD5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgc2l6ZT1cIm1lZGl1bVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAge2NvbGxlY3Rpb25Db25maWcgJiZcbiAgICAgICAgICAgICAgcGVybWlzc2lvbnMuY29sbGVjdGlvbnNbY29sbGVjdGlvbkNvbmZpZy5zbHVnXS5jcmVhdGUucGVybWlzc2lvbiAmJiAoXG4gICAgICAgICAgICAgICAgPERvY3VtZW50RHJhd2VyIG9uU2F2ZT17b25TYXZlfSAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cbiJdLCJuYW1lcyI6WyJBZGROZXdSZWxhdGlvbiIsImJhc2VDbGFzcyIsImRpc3BhdGNoT3B0aW9ucyIsImhhc01hbnkiLCJwYXRoIiwicmVsYXRpb25UbyIsInNldFZhbHVlIiwidmFsdWUiLCJyZWxhdGVkQ29sbGVjdGlvbnMiLCJ1c2VSZWxhdGVkQ29sbGVjdGlvbnMiLCJwZXJtaXNzaW9ucyIsInVzZUF1dGgiLCJzaG93Iiwic2V0U2hvdyIsInVzZVN0YXRlIiwic2VsZWN0ZWRDb2xsZWN0aW9uIiwic2V0U2VsZWN0ZWRDb2xsZWN0aW9uIiwicmVsYXRlZFRvTWFueSIsImxlbmd0aCIsImNvbGxlY3Rpb25Db25maWciLCJzZXRDb2xsZWN0aW9uQ29uZmlnIiwidW5kZWZpbmVkIiwicG9wdXBPcGVuIiwic2V0UG9wdXBPcGVuIiwiaTE4biIsInQiLCJ1c2VUcmFuc2xhdGlvbiIsInNob3dUb29sdGlwIiwic2V0U2hvd1Rvb2x0aXAiLCJjb25maWciLCJ1c2VDb25maWciLCJEb2N1bWVudERyYXdlciIsIkRvY3VtZW50RHJhd2VyVG9nZ2xlciIsImlzRHJhd2VyT3BlbiIsInRvZ2dsZURyYXdlciIsInVzZURvY3VtZW50RHJhd2VyIiwiY29sbGVjdGlvblNsdWciLCJzbHVnIiwib25TYXZlIiwidXNlQ2FsbGJhY2siLCJkb2MiLCJvcGVyYXRpb24iLCJuZXdWYWx1ZSIsIkFycmF5IiwiaXNBcnJheSIsImlkIiwiaXNOZXdWYWx1ZSIsInNvbWUiLCJ2Iiwib25Qb3B1cFRvZ2dsZSIsInN0YXRlIiwidXNlRWZmZWN0IiwiY29sbGVjdGlvbnMiLCJjcmVhdGUiLCJwZXJtaXNzaW9uIiwiY29sbGVjdGlvbiIsImZpbmQiLCJkaXYiLCJjbGFzc05hbWUiLCJGcmFnbWVudCIsIm9uQ2xpY2siLCJvbk1vdXNlRW50ZXIiLCJvbk1vdXNlTGVhdmUiLCJUb29sdGlwIiwibGFiZWwiLCJnZXRUcmFuc2xhdGlvbiIsImxhYmVscyIsInNpbmd1bGFyIiwiUGx1cyIsIlBvcHVwIiwiYnV0dG9uIiwiQnV0dG9uIiwiYnV0dG9uU3R5bGUiLCJ0b29sdGlwIiwiYnV0dG9uVHlwZSIsImhvcml6b250YWxBbGlnbiIsIm9uVG9nZ2xlT3BlbiIsInJlbmRlciIsImNsb3NlIiwiY2xvc2VQb3B1cCIsIlBvcHVwTGlzdCIsIkJ1dHRvbkdyb3VwIiwibWFwIiwicmVsYXRlZENvbGxlY3Rpb24iLCJrZXkiLCJzaXplIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7K0JBd0JhQTs7O2VBQUFBOzs7OEJBckJrQjsrREFDbUM7d0JBTTNDO2dDQUNXOzhEQUNoQjt5RUFDUzt5QkFDSDtzQkFDSDtzQkFDRzt3QkFDRTs2QkFDSztRQUN4Qjt1Q0FDK0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXRDLE1BQU1DLFlBQVk7QUFFWCxNQUFNRCxpQkFBa0MsQ0FBQyxFQUM5Q0UsZUFBZSxFQUNmQyxPQUFPLEVBQ1BDLElBQUksRUFDSkMsVUFBVSxFQUNWQyxRQUFRLEVBQ1JDLEtBQUssRUFDTjtJQUNDLE1BQU1DLHFCQUFxQkMsSUFBQUEsNENBQXFCLEVBQUNKO0lBQ2pELE1BQU0sRUFBRUssV0FBVyxFQUFFLEdBQUdDLElBQUFBLGFBQU87SUFDL0IsTUFBTSxDQUFDQyxNQUFNQyxRQUFRLEdBQUdDLElBQUFBLGVBQVEsRUFBQztJQUNqQyxNQUFNLENBQUNDLG9CQUFvQkMsc0JBQXNCLEdBQUdGLElBQUFBLGVBQVE7SUFDNUQsTUFBTUcsZ0JBQWdCVCxtQkFBbUJVLE1BQU0sR0FBRztJQUNsRCxNQUFNLENBQUNDLGtCQUFrQkMsb0JBQW9CLEdBQUdOLElBQUFBLGVBQVEsRUFBNEIsSUFDbEYsQ0FBQ0csZ0JBQWdCVCxrQkFBa0IsQ0FBQyxFQUFFLEdBQUdhO0lBRTNDLE1BQU0sQ0FBQ0MsV0FBV0MsYUFBYSxHQUFHVCxJQUFBQSxlQUFRLEVBQUM7SUFDM0MsTUFBTSxFQUFFVSxJ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
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "useRelatedCollections", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return useRelatedCollections;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _react = require("react");
|
|
12
|
+
const _Config = require("../../../../providers/Config");
|
|
13
|
+
const useRelatedCollections = (relationTo)=>{
|
|
14
|
+
const config = (0, _Config.useConfig)();
|
|
15
|
+
const [relatedCollections] = (0, _react.useState)(()=>{
|
|
16
|
+
if (relationTo) {
|
|
17
|
+
const relations = typeof relationTo === 'string' ? [
|
|
18
|
+
relationTo
|
|
19
|
+
] : relationTo;
|
|
20
|
+
return relations.map((relation)=>config.collections.find((collection)=>collection.slug === relation));
|
|
21
|
+
}
|
|
22
|
+
return [];
|
|
23
|
+
});
|
|
24
|
+
return relatedCollections;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9mb3Jtcy9maWVsZHMvUmVsYXRpb25zaGlwL0FkZE5ldy91c2VSZWxhdGVkQ29sbGVjdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDbGllbnRDb25maWcsIFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi9wcm92aWRlcnMvQ29uZmlnJ1xuXG5leHBvcnQgY29uc3QgdXNlUmVsYXRlZENvbGxlY3Rpb25zID0gKFxuICByZWxhdGlvblRvOiBzdHJpbmcgfCBzdHJpbmdbXSxcbik6IENsaWVudENvbmZpZ1snY29sbGVjdGlvbnMnXSA9PiB7XG4gIGNvbnN0IGNvbmZpZyA9IHVzZUNvbmZpZygpXG5cbiAgY29uc3QgW3JlbGF0ZWRDb2xsZWN0aW9uc10gPSB1c2VTdGF0ZSgoKSA9PiB7XG4gICAgaWYgKHJlbGF0aW9uVG8pIHtcbiAgICAgIGNvbnN0IHJlbGF0aW9ucyA9IHR5cGVvZiByZWxhdGlvblRvID09PSAnc3RyaW5nJyA/IFtyZWxhdGlvblRvXSA6IHJlbGF0aW9uVG9cbiAgICAgIHJldHVybiByZWxhdGlvbnMubWFwKChyZWxhdGlvbikgPT5cbiAgICAgICAgY29uZmlnLmNvbGxlY3Rpb25zLmZpbmQoKGNvbGxlY3Rpb24pID0+IGNvbGxlY3Rpb24uc2x1ZyA9PT0gcmVsYXRpb24pLFxuICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gW11cbiAgfSlcblxuICByZXR1cm4gcmVsYXRlZENvbGxlY3Rpb25zXG59XG4iXSwibmFtZXMiOlsidXNlUmVsYXRlZENvbGxlY3Rpb25zIiwicmVsYXRpb25UbyIsImNvbmZpZyIsInVzZUNvbmZpZyIsInJlbGF0ZWRDb2xsZWN0aW9ucyIsInVzZVN0YXRlIiwicmVsYXRpb25zIiwibWFwIiwicmVsYXRpb24iLCJjb2xsZWN0aW9ucyIsImZpbmQiLCJjb2xsZWN0aW9uIiwic2x1ZyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFNYUE7OztlQUFBQTs7O3VCQUpZO3dCQUVDO0FBRW5CLE1BQU1BLHdCQUF3QixDQUNuQ0M7SUFFQSxNQUFNQyxTQUFTQyxJQUFBQSxpQkFBUztJQUV4QixNQUFNLENBQUNDLG1CQUFtQixHQUFHQyxJQUFBQSxlQUFRLEVBQUM7UUFDcEMsSUFBSUosWUFBWTtZQUNkLE1BQU1LLFlBQVksT0FBT0wsZUFBZSxXQUFXO2dCQUFDQTthQUFXLEdBQUdBO1lBQ2xFLE9BQU9LLFVBQVVDLEdBQUcsQ0FBQyxDQUFDQyxXQUNwQk4sT0FBT08sV0FBVyxDQUFDQyxJQUFJLENBQUMsQ0FBQ0MsYUFBZUEsV0FBV0MsSUFBSSxLQUFLSjtRQUVoRTtRQUNBLE9BQU8sRUFBRTtJQUNYO0lBRUEsT0FBT0o7QUFDVCJ9
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "createRelationMap", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return createRelationMap;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const createRelationMap = ({ hasMany, relationTo, value })=>{
|
|
12
|
+
const hasMultipleRelations = Array.isArray(relationTo);
|
|
13
|
+
let relationMap;
|
|
14
|
+
if (Array.isArray(relationTo)) {
|
|
15
|
+
relationMap = relationTo.reduce((map, current)=>{
|
|
16
|
+
return {
|
|
17
|
+
...map,
|
|
18
|
+
[current]: []
|
|
19
|
+
};
|
|
20
|
+
}, {});
|
|
21
|
+
} else {
|
|
22
|
+
relationMap = {
|
|
23
|
+
[relationTo]: []
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
if (value === null) {
|
|
27
|
+
return relationMap;
|
|
28
|
+
}
|
|
29
|
+
const add = (relation, id)=>{
|
|
30
|
+
if ((typeof id === 'string' || typeof id === 'number') && typeof relation === 'string') {
|
|
31
|
+
if (relationMap[relation]) {
|
|
32
|
+
relationMap[relation].push(id);
|
|
33
|
+
} else {
|
|
34
|
+
relationMap[relation] = [
|
|
35
|
+
id
|
|
36
|
+
];
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
if (hasMany && Array.isArray(value)) {
|
|
41
|
+
value.forEach((val)=>{
|
|
42
|
+
if (hasMultipleRelations && typeof val === 'object' && 'relationTo' in val && 'value' in val) {
|
|
43
|
+
add(val.relationTo, val.value);
|
|
44
|
+
}
|
|
45
|
+
if (!hasMultipleRelations && typeof relationTo === 'string') {
|
|
46
|
+
add(relationTo, val);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
} else if (hasMultipleRelations && Array.isArray(relationTo)) {
|
|
50
|
+
if (typeof value === 'object' && 'relationTo' in value && 'value' in value) {
|
|
51
|
+
add(value.relationTo, value.value);
|
|
52
|
+
}
|
|
53
|
+
} else {
|
|
54
|
+
add(relationTo, value);
|
|
55
|
+
}
|
|
56
|
+
return relationMap;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mb3Jtcy9maWVsZHMvUmVsYXRpb25zaGlwL2NyZWF0ZVJlbGF0aW9uTWFwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVmFsdWUgfSBmcm9tICcuL3R5cGVzJ1xuXG50eXBlIFJlbGF0aW9uTWFwID0ge1xuICBbcmVsYXRpb246IHN0cmluZ106IChudW1iZXIgfCBzdHJpbmcpW11cbn1cblxudHlwZSBDcmVhdGVSZWxhdGlvbk1hcCA9IChhcmdzOiB7XG4gIGhhc01hbnk6IGJvb2xlYW5cbiAgcmVsYXRpb25Ubzogc3RyaW5nIHwgc3RyaW5nW11cbiAgdmFsdWU6IFZhbHVlIHwgVmFsdWVbXSB8IG51bGwgLy8gcmVhbGx5IG5lZWRzIHRvIGJlIGBWYWx1ZVdpdGhSZWxhdGlvbmBcbn0pID0+IFJlbGF0aW9uTWFwXG5cbmV4cG9ydCBjb25zdCBjcmVhdGVSZWxhdGlvbk1hcDogQ3JlYXRlUmVsYXRpb25NYXAgPSAoeyBoYXNNYW55LCByZWxhdGlvblRvLCB2YWx1ZSB9KSA9PiB7XG4gIGNvbnN0IGhhc011bHRpcGxlUmVsYXRpb25zID0gQXJyYXkuaXNBcnJheShyZWxhdGlvblRvKVxuICBsZXQgcmVsYXRpb25NYXA6IFJlbGF0aW9uTWFwXG4gIGlmIChBcnJheS5pc0FycmF5KHJlbGF0aW9uVG8pKSB7XG4gICAgcmVsYXRpb25NYXAgPSByZWxhdGlvblRvLnJlZHVjZSgobWFwLCBjdXJyZW50KSA9PiB7XG4gICAgICByZXR1cm4geyAuLi5tYXAsIFtjdXJyZW50XTogW10gfVxuICAgIH0sIHt9KVxuICB9IGVsc2Uge1xuICAgIHJlbGF0aW9uTWFwID0geyBbcmVsYXRpb25Ub106IFtdIH1cbiAgfVxuXG4gIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgIHJldHVybiByZWxhdGlvbk1hcFxuICB9XG5cbiAgY29uc3QgYWRkID0gKHJlbGF0aW9uOiBzdHJpbmcsIGlkOiB1bmtub3duKSA9PiB7XG4gICAgaWYgKCh0eXBlb2YgaWQgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBpZCA9PT0gJ251bWJlcicpICYmIHR5cGVvZiByZWxhdGlvbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmIChyZWxhdGlvbk1hcFtyZWxhdGlvbl0pIHtcbiAgICAgICAgcmVsYXRpb25NYXBbcmVsYXRpb25dLnB1c2goaWQpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZWxhdGlvbk1hcFtyZWxhdGlvbl0gPSBbaWRdXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKGhhc01hbnkgJiYgQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICB2YWx1ZS5mb3JFYWNoKCh2YWwpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgaGFzTXVsdGlwbGVSZWxhdGlvbnMgJiZcbiAgICAgICAgdHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgJ3JlbGF0aW9uVG8nIGluIHZhbCAmJlxuICAgICAgICAndmFsdWUnIGluIHZhbFxuICAgICAgKSB7XG4gICAgICAgIGFkZCh2YWwucmVsYXRpb25UbywgdmFsLnZhbHVlKVxuICAgICAgfVxuXG4gICAgICBpZiAoIWhhc011bHRpcGxlUmVsYXRpb25zICYmIHR5cGVvZiByZWxhdGlvblRvID09PSAnc3RyaW5nJykge1xuICAgICAgICBhZGQocmVsYXRpb25UbywgdmFsKVxuICAgICAgfVxuICAgIH0pXG4gIH0gZWxzZSBpZiAoaGFzTXVsdGlwbGVSZWxhdGlvbnMgJiYgQXJyYXkuaXNBcnJheShyZWxhdGlvblRvKSkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmICdyZWxhdGlvblRvJyBpbiB2YWx1ZSAmJiAndmFsdWUnIGluIHZhbHVlKSB7XG4gICAgICBhZGQodmFsdWUucmVsYXRpb25UbywgdmFsdWUudmFsdWUpXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGFkZChyZWxhdGlvblRvLCB2YWx1ZSlcbiAgfVxuXG4gIHJldHVybiByZWxhdGlvbk1hcFxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZVJlbGF0aW9uTWFwIiwiaGFzTWFueSIsInJlbGF0aW9uVG8iLCJ2YWx1ZSIsImhhc011bHRpcGxlUmVsYXRpb25zIiwiQXJyYXkiLCJpc0FycmF5IiwicmVsYXRpb25NYXAiLCJyZWR1Y2UiLCJtYXAiLCJjdXJyZW50IiwiYWRkIiwicmVsYXRpb24iLCJpZCIsInB1c2giLCJmb3JFYWNoIiwidmFsIl0sIm1hcHBpbmdzIjoiOzs7OytCQVlhQTs7O2VBQUFBOzs7QUFBTixNQUFNQSxvQkFBdUMsQ0FBQyxFQUFFQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUMsS0FBSyxFQUFFO0lBQ2pGLE1BQU1DLHVCQUF1QkMsTUFBTUMsT0FBTyxDQUFDSjtJQUMzQyxJQUFJSztJQUNKLElBQUlGLE1BQU1DLE9BQU8sQ0FBQ0osYUFBYTtRQUM3QkssY0FBY0wsV0FBV00sTUFBTSxDQUFDLENBQUNDLEtBQUtDO1lBQ3BDLE9BQU87Z0JBQUUsR0FBR0QsR0FBRztnQkFBRSxDQUFDQyxRQUFRLEVBQUUsRUFBRTtZQUFDO1FBQ2pDLEdBQUcsQ0FBQztJQUNOLE9BQU87UUFDTEgsY0FBYztZQUFFLENBQUNMLFdBQVcsRUFBRSxFQUFFO1FBQUM7SUFDbkM7SUFFQSxJQUFJQyxVQUFVLE1BQU07UUFDbEIsT0FBT0k7SUFDVDtJQUVBLE1BQU1JLE1BQU0sQ0FBQ0MsVUFBa0JDO1FBQzdCLElBQUksQUFBQyxDQUFBLE9BQU9BLE9BQU8sWUFBWSxPQUFPQSxPQUFPLFFBQU8sS0FBTSxPQUFPRCxhQUFhLFVBQVU7WUFDdEYsSUFBSUwsV0FBVyxDQUFDSyxTQUFTLEVBQUU7Z0JBQ3pCTCxXQUFXLENBQUNLLFNBQVMsQ0FBQ0UsSUFBSSxDQUFDRDtZQUM3QixPQUFPO2dCQUNMTixXQUFXLENBQUNLLFNBQVMsR0FBRztvQkFBQ0M7aUJBQUc7WUFDOUI7UUFDRjtJQUNGO0lBRUEsSUFBSVosV0FBV0ksTUFBTUMsT0FBTyxDQUFDSCxRQUFRO1FBQ25DQSxNQUFNWSxPQUFPLENBQUMsQ0FBQ0M7WUFDYixJQUNFWix3QkFDQSxPQUFPWSxRQUFRLFlBQ2YsZ0JBQWdCQSxPQUNoQixXQUFXQSxLQUNYO2dCQUNBTCxJQUFJSyxJQUFJZCxVQUFVLEVBQUVjLElBQUliLEtBQUs7WUFDL0I7WUFFQSxJQUFJLENBQUNDLHdCQUF3QixPQUFPRixlQUFlLFVBQVU7Z0JBQzNEUyxJQUFJVCxZQUFZYztZQUNsQjtRQUNGO0lBQ0YsT0FBTyxJQUFJWix3QkFBd0JDLE1BQU1DLE9BQU8sQ0FBQ0osYUFBYTtRQUM1RCxJQUFJLE9BQU9DLFVBQVUsWUFBWSxnQkFBZ0JBLFNBQVMsV0FBV0EsT0FBTztZQUMxRVEsSUFBSVIsTUFBTUQsVUFBVSxFQUFFQyxNQUFNQSxLQUFLO1FBQ25DO0lBQ0YsT0FBTztRQUNMUSxJQUFJVCxZQUFZQztJQUNsQjtJQUVBLE9BQU9JO0FBQ1QifQ==
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "findOptionsByValue", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return findOptionsByValue;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const findOptionsByValue = ({ options, value })=>{
|
|
12
|
+
if (value) {
|
|
13
|
+
if (Array.isArray(value)) {
|
|
14
|
+
return value.map((val)=>{
|
|
15
|
+
let matchedOption;
|
|
16
|
+
options.forEach((optGroup)=>{
|
|
17
|
+
if (!matchedOption) {
|
|
18
|
+
matchedOption = optGroup.options.find((option)=>{
|
|
19
|
+
if (typeof val === 'object') {
|
|
20
|
+
return option.value === val.value && option.relationTo === val.relationTo;
|
|
21
|
+
}
|
|
22
|
+
return val === option.value;
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
return matchedOption;
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
let matchedOption;
|
|
30
|
+
options.forEach((optGroup)=>{
|
|
31
|
+
if (!matchedOption) {
|
|
32
|
+
matchedOption = optGroup.options.find((option)=>{
|
|
33
|
+
if (typeof value === 'object') {
|
|
34
|
+
return option.value === value.value && option.relationTo === value.relationTo;
|
|
35
|
+
}
|
|
36
|
+
return value === option.value;
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
return matchedOption;
|
|
41
|
+
}
|
|
42
|
+
return undefined;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mb3Jtcy9maWVsZHMvUmVsYXRpb25zaGlwL2ZpbmRPcHRpb25zQnlWYWx1ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE9wdGlvbiB9IGZyb20gJy4uLy4uLy4uL2VsZW1lbnRzL1JlYWN0U2VsZWN0L3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25Hcm91cCwgVmFsdWUgfSBmcm9tICcuL3R5cGVzJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIG9wdGlvbnM6IE9wdGlvbkdyb3VwW11cbiAgdmFsdWU6IFZhbHVlIHwgVmFsdWVbXVxufVxuXG5leHBvcnQgY29uc3QgZmluZE9wdGlvbnNCeVZhbHVlID0gKHsgb3B0aW9ucywgdmFsdWUgfTogQXJncyk6IE9wdGlvbiB8IE9wdGlvbltdID0+IHtcbiAgaWYgKHZhbHVlKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICByZXR1cm4gdmFsdWUubWFwKCh2YWwpID0+IHtcbiAgICAgICAgbGV0IG1hdGNoZWRPcHRpb246IE9wdGlvblxuXG4gICAgICAgIG9wdGlvbnMuZm9yRWFjaCgob3B0R3JvdXApID0+IHtcbiAgICAgICAgICBpZiAoIW1hdGNoZWRPcHRpb24pIHtcbiAgICAgICAgICAgIG1hdGNoZWRPcHRpb24gPSBvcHRHcm91cC5vcHRpb25zLmZpbmQoKG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnZhbHVlID09PSB2YWwudmFsdWUgJiYgb3B0aW9uLnJlbGF0aW9uVG8gPT09IHZhbC5yZWxhdGlvblRvXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBvcHRpb24udmFsdWVcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuXG4gICAgICAgIHJldHVybiBtYXRjaGVkT3B0aW9uXG4gICAgICB9KVxuICAgIH1cblxuICAgIGxldCBtYXRjaGVkT3B0aW9uOiBPcHRpb25cblxuICAgIG9wdGlvbnMuZm9yRWFjaCgob3B0R3JvdXApID0+IHtcbiAgICAgIGlmICghbWF0Y2hlZE9wdGlvbikge1xuICAgICAgICBtYXRjaGVkT3B0aW9uID0gb3B0R3JvdXAub3B0aW9ucy5maW5kKChvcHRpb24pID0+IHtcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUudmFsdWUgJiYgb3B0aW9uLnJlbGF0aW9uVG8gPT09IHZhbHVlLnJlbGF0aW9uVG9cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHZhbHVlID09PSBvcHRpb24udmFsdWVcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgcmV0dXJuIG1hdGNoZWRPcHRpb25cbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWRcbn1cbiJdLCJuYW1lcyI6WyJmaW5kT3B0aW9uc0J5VmFsdWUiLCJvcHRpb25zIiwidmFsdWUiLCJBcnJheSIsImlzQXJyYXkiLCJtYXAiLCJ2YWwiLCJtYXRjaGVkT3B0aW9uIiwiZm9yRWFjaCIsIm9wdEdyb3VwIiwiZmluZCIsIm9wdGlvbiIsInJlbGF0aW9uVG8iLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBUWFBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLHFCQUFxQixDQUFDLEVBQUVDLE9BQU8sRUFBRUMsS0FBSyxFQUFRO0lBQ3pELElBQUlBLE9BQU87UUFDVCxJQUFJQyxNQUFNQyxPQUFPLENBQUNGLFFBQVE7WUFDeEIsT0FBT0EsTUFBTUcsR0FBRyxDQUFDLENBQUNDO2dCQUNoQixJQUFJQztnQkFFSk4sUUFBUU8sT0FBTyxDQUFDLENBQUNDO29CQUNmLElBQUksQ0FBQ0YsZUFBZTt3QkFDbEJBLGdCQUFnQkUsU0FBU1IsT0FBTyxDQUFDUyxJQUFJLENBQUMsQ0FBQ0M7NEJBQ3JDLElBQUksT0FBT0wsUUFBUSxVQUFVO2dDQUMzQixPQUFPSyxPQUFPVCxLQUFLLEtBQUtJLElBQUlKLEtBQUssSUFBSVMsT0FBT0MsVUFBVSxLQUFLTixJQUFJTSxVQUFVOzRCQUMzRTs0QkFFQSxPQUFPTixRQUFRSyxPQUFPVCxLQUFLO3dCQUM3QjtvQkFDRjtnQkFDRjtnQkFFQSxPQUFPSztZQUNUO1FBQ0Y7UUFFQSxJQUFJQTtRQUVKTixRQUFRTyxPQUFPLENBQUMsQ0FBQ0M7WUFDZixJQUFJLENBQUNGLGVBQWU7Z0JBQ2xCQSxnQkFBZ0JFLFNBQVNSLE9BQU8sQ0FBQ1MsSUFBSSxDQUFDLENBQUNDO29CQUNyQyxJQUFJLE9BQU9ULFVBQVUsVUFBVTt3QkFDN0IsT0FBT1MsT0FBT1QsS0FBSyxLQUFLQSxNQUFNQSxLQUFLLElBQUlTLE9BQU9DLFVBQVUsS0FBS1YsTUFBTVUsVUFBVTtvQkFDL0U7b0JBQ0EsT0FBT1YsVUFBVVMsT0FBT1QsS0FBSztnQkFDL0I7WUFDRjtRQUNGO1FBRUEsT0FBT0s7SUFDVDtJQUVBLE9BQU9NO0FBQ1QifQ==
|