@payloadcms/ui 3.0.0-beta.53 → 3.0.0-beta.54
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.map +1 -1
- package/dist/assets/index.js.map +1 -1
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Banner/index.js.map +1 -1
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/Card/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CodeEditor/index.js.map +1 -1
- package/dist/elements/CodeEditor/types.js.map +1 -1
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/Collapsible/provider.js.map +1 -1
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
- package/dist/elements/DatePicker/index.js.map +1 -1
- package/dist/elements/DatePicker/types.js.map +1 -1
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +2 -2
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/types.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/Drawer/types.js.map +1 -1
- package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditUpload/index.d.ts.map +1 -1
- package/dist/elements/EditUpload/index.js +28 -11
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/ErrorPill/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/GenerateConfirmation/index.js.map +1 -1
- package/dist/elements/Gutter/index.js.map +1 -1
- package/dist/elements/Hamburger/index.js.map +1 -1
- package/dist/elements/HydrateClientUser/index.d.ts +0 -1
- package/dist/elements/HydrateClientUser/index.d.ts.map +1 -1
- package/dist/elements/HydrateClientUser/index.js.map +1 -1
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
- package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListDrawer/types.js.map +1 -1
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
- package/dist/elements/LoadingOverlay/types.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Modal/index.js.map +1 -1
- package/dist/elements/Nav/NavToggler/index.js.map +1 -1
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
- package/dist/elements/Pagination/Page/index.js.map +1 -1
- package/dist/elements/Pagination/Separator/index.js.map +1 -1
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/types.js.map +1 -1
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Control/index.js.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Input/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.d.ts +0 -1
- package/dist/elements/ReactSelect/types.d.ts.map +1 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/RenderCustomClientComponent/index.js.map +1 -1
- package/dist/elements/RenderCustomComponent/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortComplex/index.js +2 -2
- package/dist/elements/SortComplex/index.js.map +1 -1
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/SetStepNav.d.ts +0 -1
- package/dist/elements/StepNav/SetStepNav.d.ts.map +1 -1
- package/dist/elements/StepNav/SetStepNav.js.map +1 -1
- package/dist/elements/StepNav/context.js.map +1 -1
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StepNav/types.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/index.d.ts +0 -1
- package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +11 -10
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
- package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
- package/dist/elements/TableColumns/filterFields.js.map +1 -1
- package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
- package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
- package/dist/elements/TableColumns/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Translation/index.js.map +1 -1
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/elements/ViewDescription/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +8 -8
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
- package/dist/elements/WhereBuilder/field-types.js.map +1 -1
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -1
- package/dist/elements/WhereBuilder/transformWhereQuery.js.map +1 -1
- package/dist/elements/WhereBuilder/types.js.map +1 -1
- package/dist/elements/WhereBuilder/validateWhereQuery.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -1
- package/dist/elements/WindowInfo/index.js.map +1 -1
- package/dist/elements/WithServerSideProps/index.js.map +1 -1
- package/dist/elements/withMergedProps/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +20 -21
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +6 -6
- package/dist/exports/client/index.js.map +4 -4
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.d.ts +1 -1
- package/dist/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/fields/Checkbox/index.js +2 -2
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Checkbox/types.js.map +1 -1
- package/dist/fields/Code/index.d.ts +1 -1
- package/dist/fields/Code/index.d.ts.map +1 -1
- package/dist/fields/Code/index.js +2 -2
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.d.ts +1 -1
- package/dist/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/fields/Collapsible/index.js +2 -2
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.d.ts +1 -1
- package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +1 -1
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.d.ts +1 -1
- package/dist/fields/DateTime/index.d.ts.map +1 -1
- package/dist/fields/DateTime/index.js +2 -2
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.d.ts +1 -1
- package/dist/fields/Email/index.d.ts.map +1 -1
- package/dist/fields/Email/index.js +2 -2
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldDescription/index.js.map +1 -1
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.d.ts +2 -1
- package/dist/fields/Group/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js +2 -2
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Group/provider.js.map +1 -1
- package/dist/fields/{HiddenInput → Hidden}/index.d.ts +1 -1
- package/dist/fields/Hidden/index.d.ts.map +1 -0
- package/dist/fields/{HiddenInput → Hidden}/index.js +2 -2
- package/dist/fields/Hidden/index.js.map +1 -0
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +2 -2
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Number/index.d.ts.map +1 -1
- package/dist/fields/Number/index.js +2 -2
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.d.ts +1 -1
- package/dist/fields/Password/index.d.ts.map +1 -1
- package/dist/fields/Password/index.js +2 -2
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Point/index.d.ts +2 -1
- package/dist/fields/Point/index.d.ts.map +1 -1
- package/dist/fields/Point/index.js +2 -2
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.d.ts +1 -1
- package/dist/fields/RadioGroup/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/index.js +2 -2
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/AddNew/index.js.map +1 -1
- package/dist/fields/Relationship/AddNew/types.js.map +1 -1
- package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +1 -1
- package/dist/fields/Relationship/createRelationMap.js.map +1 -1
- package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
- package/dist/fields/Relationship/index.d.ts +1 -1
- package/dist/fields/Relationship/index.d.ts.map +1 -1
- package/dist/fields/Relationship/index.js +2 -2
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/optionsReducer.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Relationship/types.js.map +1 -1
- package/dist/fields/RichText/index.d.ts +1 -1
- package/dist/fields/RichText/index.d.ts.map +1 -1
- package/dist/fields/RichText/index.js +1 -1
- package/dist/fields/RichText/index.js.map +1 -1
- package/dist/fields/Row/index.d.ts +2 -1
- package/dist/fields/Row/index.d.ts.map +1 -1
- package/dist/fields/Row/index.js +2 -2
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Row/provider.js.map +1 -1
- package/dist/fields/Row/types.js.map +1 -1
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.d.ts +1 -1
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Select/index.js +6 -4
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts +1 -1
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js +2 -2
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Tabs/provider.js.map +1 -1
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.d.ts +1 -1
- package/dist/fields/Text/index.d.ts.map +1 -1
- package/dist/fields/Text/index.js +2 -2
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Text/types.js.map +1 -1
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.d.ts +1 -1
- package/dist/fields/Textarea/index.d.ts.map +1 -1
- package/dist/fields/Textarea/index.js +2 -2
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Textarea/types.js.map +1 -1
- package/dist/fields/UI/index.d.ts +1 -1
- package/dist/fields/UI/index.d.ts.map +1 -1
- package/dist/fields/UI/index.js +1 -1
- package/dist/fields/UI/index.js.map +1 -1
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/index.d.ts +1 -1
- package/dist/fields/Upload/index.d.ts.map +1 -1
- package/dist/fields/Upload/index.js +1 -1
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/fields/Upload/types.js.map +1 -1
- package/dist/fields/index.js +48 -48
- package/dist/fields/index.js.map +1 -1
- package/dist/fields/shared/index.d.ts +0 -1
- package/dist/fields/shared/index.d.ts.map +1 -1
- package/dist/fields/shared/index.js.map +1 -1
- package/dist/forms/FieldPropsProvider/index.js.map +1 -1
- package/dist/forms/Form/context.d.ts +0 -1
- package/dist/forms/Form/context.d.ts.map +1 -1
- package/dist/forms/Form/context.js.map +1 -1
- package/dist/forms/Form/createNestedFieldPath.js.map +1 -1
- package/dist/forms/Form/errorMessages.js.map +1 -1
- package/dist/forms/Form/fieldReducer.js +2 -2
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/getDataByPath.d.ts.map +1 -1
- package/dist/forms/Form/getDataByPath.js.map +1 -1
- package/dist/forms/Form/getSiblingData.js.map +1 -1
- package/dist/forms/Form/index.js +5 -5
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/initContextState.js.map +1 -1
- package/dist/forms/Form/mergeErrorPaths.js.map +1 -1
- package/dist/forms/Form/mergeServerFormState.js +2 -2
- package/dist/forms/Form/mergeServerFormState.js.map +1 -1
- package/dist/forms/Form/rows.js.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/NullifyField/index.js +2 -2
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +2 -2
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RenderFields/types.js.map +1 -1
- package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
- package/dist/forms/RowLabel/Context/index.js.map +1 -1
- package/dist/forms/RowLabel/index.js.map +1 -1
- package/dist/forms/RowLabel/types.js.map +1 -1
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
- package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
- package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js.map +1 -1
- package/dist/forms/WatchChildErrors/getNestedFieldState.js.map +1 -1
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
- package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
- package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts +1 -1
- package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js.map +1 -1
- package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
- package/dist/forms/useField/index.d.ts.map +1 -1
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/useField/types.js.map +1 -1
- package/dist/forms/withCondition/WatchCondition.js.map +1 -1
- package/dist/forms/withCondition/index.d.ts.map +1 -1
- package/dist/forms/withCondition/index.js.map +1 -1
- package/dist/graphics/Account/Default/index.js.map +1 -1
- package/dist/graphics/Account/Gravatar/index.d.ts.map +1 -1
- package/dist/graphics/Account/Gravatar/index.js +4 -4
- package/dist/graphics/Account/Gravatar/index.js.map +1 -1
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
- package/dist/graphics/ExternalLink/index.js.map +1 -1
- package/dist/graphics/File/index.js.map +1 -1
- package/dist/graphics/Icon/index.js.map +1 -1
- package/dist/graphics/Logo/index.js.map +1 -1
- package/dist/hooks/useDebounce.js.map +1 -1
- package/dist/hooks/useDebouncedCallback.js.map +1 -1
- package/dist/hooks/useDebouncedEffect.js.map +1 -1
- package/dist/hooks/useDelay.d.ts.map +1 -1
- package/dist/hooks/useDelay.js.map +1 -1
- package/dist/hooks/useDelayedRender.js.map +1 -1
- package/dist/hooks/useHotkey.js.map +1 -1
- package/dist/hooks/useIntersect.d.ts +0 -1
- package/dist/hooks/useIntersect.d.ts.map +1 -1
- package/dist/hooks/useIntersect.js.map +1 -1
- package/dist/hooks/usePayloadAPI.d.ts +0 -1
- package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
- package/dist/hooks/usePayloadAPI.js +2 -2
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/hooks/useResize.js.map +1 -1
- package/dist/hooks/useThrottledEffect.d.ts +0 -1
- package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
- package/dist/hooks/useThrottledEffect.js.map +1 -1
- package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
- package/dist/hooks/useUseAsTitle.js.map +1 -1
- package/dist/icons/Calendar/index.js.map +1 -1
- package/dist/icons/Check/index.js.map +1 -1
- package/dist/icons/Chevron/index.js.map +1 -1
- package/dist/icons/CloseMenu/index.js.map +1 -1
- package/dist/icons/CodeBlock/index.js.map +1 -1
- package/dist/icons/Copy/index.js.map +1 -1
- package/dist/icons/DragHandle/index.js.map +1 -1
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/icons/Line/index.js.map +1 -1
- package/dist/icons/Link/index.js.map +1 -1
- package/dist/icons/LogOut/index.js.map +1 -1
- package/dist/icons/Menu/index.js.map +1 -1
- package/dist/icons/MinimizeMaximize/index.js.map +1 -1
- package/dist/icons/More/index.js.map +1 -1
- package/dist/icons/Plus/index.js.map +1 -1
- package/dist/icons/Search/index.js.map +1 -1
- package/dist/icons/Swap/index.js.map +1 -1
- package/dist/icons/X/index.js.map +1 -1
- package/dist/providers/Actions/SetViewActions/index.js.map +1 -1
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/ClientFunction/index.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.js +2 -2
- package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/index.d.ts +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +1 -2
- package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
- package/dist/providers/ComponentMap/index.js.map +1 -1
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/EditDepth/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/dist/providers/FieldComponents/index.js.map +1 -1
- package/dist/providers/FormQueryParams/index.d.ts.map +1 -1
- package/dist/providers/FormQueryParams/index.js.map +1 -1
- package/dist/providers/FormQueryParams/types.js.map +1 -1
- package/dist/providers/ListInfo/index.js.map +1 -1
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Operation/index.js.map +1 -1
- package/dist/providers/Params/index.js.map +1 -1
- package/dist/providers/Preferences/index.js +3 -3
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/ScrollInfo/index.d.ts +0 -1
- package/dist/providers/ScrollInfo/index.d.ts.map +1 -1
- package/dist/providers/ScrollInfo/index.js.map +1 -1
- package/dist/providers/SearchParams/index.js.map +1 -1
- package/dist/providers/Selection/index.js +2 -2
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
- package/dist/providers/ToastContainer/index.js.map +1 -1
- package/dist/providers/Translation/index.d.ts.map +1 -1
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/providers/WindowInfo/index.d.ts +0 -1
- package/dist/providers/WindowInfo/index.d.ts.map +1 -1
- package/dist/providers/WindowInfo/index.js.map +1 -1
- package/dist/utilities/api.d.ts.map +1 -1
- package/dist/utilities/api.js.map +1 -1
- package/dist/utilities/arraysHaveSameStrings.js.map +1 -1
- package/dist/utilities/buildComponentMap.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/types.js.map +1 -1
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/canUseDOM.js.map +1 -1
- package/dist/utilities/dateLocales.js.map +1 -1
- package/dist/utilities/findLocaleFromCode.js.map +1 -1
- package/dist/utilities/flattenFieldMap.d.ts.map +1 -1
- package/dist/utilities/flattenFieldMap.js.map +1 -1
- package/dist/utilities/formatDate.js.map +1 -1
- package/dist/utilities/formatDocTitle.d.ts +1 -1
- package/dist/utilities/formatDocTitle.d.ts.map +1 -1
- package/dist/utilities/formatDocTitle.js.map +1 -1
- package/dist/utilities/formatFields.js.map +1 -1
- package/dist/utilities/generateFieldID.js.map +1 -1
- package/dist/utilities/getFormState.d.ts +2 -2
- package/dist/utilities/getFormState.d.ts.map +1 -1
- package/dist/utilities/getFormState.js.map +1 -1
- package/dist/utilities/getOffsetTop.js.map +1 -1
- package/dist/utilities/getRequestLanguage.js.map +1 -1
- package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
- package/dist/utilities/groupNavItems.js.map +1 -1
- package/dist/utilities/hasSavePermission.js.map +1 -1
- package/dist/utilities/isEditing.js.map +1 -1
- package/dist/utilities/reduceFieldsToValues.js.map +1 -1
- package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
- package/dist/utilities/scrollToID.js.map +1 -1
- package/dist/utilities/setsAreEqual.d.ts.map +1 -1
- package/dist/utilities/setsAreEqual.js.map +1 -1
- package/dist/utilities/unflatten.js.map +1 -1
- package/package.json +7 -7
- package/dist/fields/HiddenInput/index.d.ts.map +0 -1
- package/dist/fields/HiddenInput/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type {\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n PaginatedDocs,\n TypeWithID,\n TypeWithTimestamps,\n TypeWithVersion,\n Where,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\nimport qs from 'qs'\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport { getFormState } from '../../utilities/getFormState.js'\nimport { hasSavePermission as getHasSavePermission } from '../../utilities/hasSavePermission.js'\nimport { isEditing as getIsEditing } from '../../utilities/isEditing.js'\nimport { reduceFieldsToValues } from '../../utilities/reduceFieldsToValues.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nexport const DocumentInfoProvider: React.FC<\n DocumentInfoProps & {\n children: React.ReactNode\n }\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData: initialDataFromProps,\n initialState: initialStateFromProps,\n onLoadError,\n onSave: onSaveFromProps,\n } = props\n\n const {\n admin: { dateFormat },\n collections,\n globals,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const collectionConfig = collections.find((c) => c.slug === collectionSlug)\n const globalConfig = globals.find((g) => g.slug === globalSlug)\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const [documentTitle, setDocumentTitle] = useState(() => {\n if (!initialDataFromProps) return ''\n\n return formatDocTitle({\n collectionConfig,\n data: { ...initialDataFromProps, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n })\n })\n\n const [isLoading, setIsLoading] = useState(false)\n const [isError, setIsError] = useState(false)\n const [data, setData] = useState<Data>(initialDataFromProps)\n const [initialState, setInitialState] = useState<FormState>(initialStateFromProps)\n const [publishedDoc, setPublishedDoc] = useState<TypeWithID & TypeWithTimestamps>(null)\n const [versions, setVersions] = useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n const [docPermissions, setDocPermissions] = useState<DocumentPermissions>(docPermissionsFromProps)\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n const isInitializing = initialState === undefined || data === undefined\n const hasInitializedDocPermissions = useRef(false)\n const [unpublishedVersions, setUnpublishedVersions] =\n useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n\n const { getPreference, setPreference } = usePreferences()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n const prevLocale = useRef(locale)\n\n const versionsConfig = docConfig?.versions\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n const operation = isEditing ? 'update' : 'create'\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions?.permission)\n\n const getVersions = useCallback(async () => {\n let versionFetchURL\n let publishedFetchURL\n let unpublishedVersionJSON = null\n let versionJSON = null\n let shouldFetch = true\n\n const versionParams = {\n depth: 0,\n where: {\n and: [],\n },\n }\n\n const publishedVersionParams: { depth: number; locale: string; where: Where } = {\n depth: 0,\n locale: locale || undefined,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n ],\n },\n }\n\n if (globalSlug) {\n versionFetchURL = `${baseURL}/globals/${globalSlug}/versions`\n publishedFetchURL = `${baseURL}/globals/${globalSlug}?${qs.stringify(publishedVersionParams)}`\n }\n\n if (collectionSlug) {\n versionFetchURL = `${baseURL}/${collectionSlug}/versions`\n\n publishedVersionParams.where.and.push({\n id: {\n equals: id,\n },\n })\n\n publishedFetchURL = `${baseURL}/${collectionSlug}?${qs.stringify(publishedVersionParams)}`\n\n if (!id) {\n shouldFetch = false\n }\n\n versionParams.where.and.push({\n parent: {\n equals: id,\n },\n })\n }\n\n if (shouldFetch) {\n let publishedJSON\n\n if (versionsConfig?.drafts) {\n publishedJSON = await fetch(publishedFetchURL, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (collectionSlug) {\n publishedJSON = publishedJSON?.docs?.[0]\n }\n }\n\n if (shouldFetchVersions) {\n versionJSON = await fetch(`${versionFetchURL}?${qs.stringify(versionParams)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (publishedJSON?.updatedAt) {\n const newerVersionParams = {\n ...versionParams,\n where: {\n ...versionParams.where,\n and: [\n ...versionParams.where.and,\n {\n updatedAt: {\n greater_than: publishedJSON?.updatedAt,\n },\n },\n ],\n },\n }\n\n // Get any newer versions available\n const newerVersionRes = await fetch(\n `${versionFetchURL}?${qs.stringify(newerVersionParams)}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (newerVersionRes.status === 200) {\n unpublishedVersionJSON = await newerVersionRes.json()\n }\n }\n }\n\n setPublishedDoc(publishedJSON)\n setVersions(versionJSON)\n setUnpublishedVersions(unpublishedVersionJSON)\n }\n }, [i18n, globalSlug, collectionSlug, id, baseURL, locale, versionsConfig, shouldFetchVersions])\n\n const getDocPermissions = React.useCallback(\n async (data: Data) => {\n const params = {\n locale: locale || undefined,\n }\n\n const newIsEditing = getIsEditing({ id: data?.id, collectionSlug, globalSlug })\n\n if (newIsEditing) {\n const docAccessURL = collectionSlug\n ? `/${collectionSlug}/access/${data.id}`\n : globalSlug\n ? `/globals/${globalSlug}/access`\n : null\n\n if (docAccessURL) {\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n const json: DocumentPermissions = await res.json()\n const publishedAccessJSON = await fetch(\n `${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`,\n {\n body: JSON.stringify({\n data: {\n ...(data || {}),\n _status: 'published',\n },\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n method: 'POST',\n },\n ).then((res) => res.json())\n\n setDocPermissions(json)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: json,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n\n setHasPublishPermission(publishedAccessJSON?.update?.permission)\n }\n } else {\n // when creating new documents, there is no permissions saved for this document yet\n // use the generic entity permissions instead\n const newDocPermissions = collectionSlug\n ? permissions?.collections?.[collectionSlug]\n : permissions?.globals?.[globalSlug]\n\n setDocPermissions(newDocPermissions)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: newDocPermissions,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n }\n },\n [serverURL, api, permissions, i18n.language, locale, collectionSlug, globalSlug],\n )\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const onSave = React.useCallback<DocumentInfoContext['onSave']>(\n async (json) => {\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps(json)\n }\n\n const docPreferences = await getDocPreferences()\n\n const newData = collectionSlug ? json.doc : json.result\n\n const newState = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n data: newData,\n docPreferences,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n serverURL,\n })\n\n setInitialState(newState)\n setData(newData)\n await getDocPermissions(newData)\n },\n [\n api,\n collectionSlug,\n getDocPreferences,\n globalSlug,\n id,\n operation,\n locale,\n onSaveFromProps,\n serverURL,\n getDocPermissions,\n ],\n )\n\n useEffect(() => {\n const abortController = new AbortController()\n const localeChanged = locale !== prevLocale.current\n\n if (\n initialStateFromProps === undefined ||\n initialDataFromProps === undefined ||\n localeChanged\n ) {\n if (localeChanged) prevLocale.current = locale\n\n const getInitialState = async () => {\n setIsError(false)\n setIsLoading(true)\n\n try {\n const result = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n onError: onLoadError,\n serverURL,\n signal: abortController.signal,\n })\n\n setData(reduceFieldsToValues(result, true))\n setInitialState(result)\n } catch (err) {\n if (!abortController.signal.aborted) {\n if (typeof onLoadError === 'function') {\n void onLoadError()\n }\n setIsError(true)\n setIsLoading(false)\n }\n }\n setIsLoading(false)\n }\n\n void getInitialState()\n }\n\n return () => {\n abortController.abort()\n }\n }, [\n api,\n operation,\n collectionSlug,\n serverURL,\n id,\n globalSlug,\n locale,\n onLoadError,\n initialDataFromProps,\n initialStateFromProps,\n ])\n\n useEffect(() => {\n void getVersions()\n }, [getVersions])\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...data, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, data, dateFormat, i18n, id, globalConfig])\n\n useEffect(() => {\n const loadDocPermissions = async () => {\n const docPermissions: DocumentPermissions = docPermissionsFromProps\n const hasSavePermission: boolean = hasSavePermissionFromProps\n const hasPublishPermission: boolean = hasPublishPermissionFromProps\n\n if (\n !docPermissions ||\n hasSavePermission === undefined ||\n hasSavePermission === null ||\n hasPublishPermission === undefined ||\n hasPublishPermission === null\n ) {\n await getDocPermissions(data)\n }\n }\n\n if (!hasInitializedDocPermissions.current && data && (collectionSlug || globalSlug)) {\n hasInitializedDocPermissions.current = true\n void loadDocPermissions()\n }\n }, [\n getDocPermissions,\n docPermissionsFromProps,\n hasSavePermissionFromProps,\n hasPublishPermissionFromProps,\n setDocPermissions,\n collectionSlug,\n globalSlug,\n data,\n ])\n\n if (isError) notFound()\n\n const value: DocumentInfoContext = {\n ...props,\n docConfig,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isInitializing,\n isLoading,\n onSave,\n publishedDoc,\n setDocFieldPreferences,\n setDocumentTitle,\n title: documentTitle,\n unpublishedVersions,\n versions,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n"],"names":["notFound","qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","formatDocTitle","getFormState","hasSavePermission","getHasSavePermission","isEditing","getIsEditing","reduceFieldsToValues","useAuth","useConfig","useLocale","usePreferences","useTranslation","Context","useDocumentInfo","DocumentInfoProvider","children","props","id","collectionSlug","docPermissions","docPermissionsFromProps","globalSlug","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermissionFromProps","initialData","initialDataFromProps","initialState","initialStateFromProps","onLoadError","onSave","onSaveFromProps","admin","dateFormat","collections","globals","routes","api","serverURL","collectionConfig","find","c","slug","globalConfig","g","docConfig","i18n","documentTitle","setDocumentTitle","data","fallback","toString","isLoading","setIsLoading","isError","setIsError","setData","setInitialState","publishedDoc","setPublishedDoc","versions","setVersions","setDocPermissions","setHasSavePermission","setHasPublishPermission","isInitializing","undefined","hasInitializedDocPermissions","unpublishedVersions","setUnpublishedVersions","getPreference","setPreference","permissions","code","locale","prevLocale","versionsConfig","baseURL","preferencesKey","operation","shouldFetchVersions","Boolean","readVersions","permission","getVersions","versionFetchURL","publishedFetchURL","unpublishedVersionJSON","versionJSON","shouldFetch","versionParams","depth","where","and","publishedVersionParams","or","_status","equals","exists","stringify","push","parent","publishedJSON","drafts","fetch","credentials","headers","language","then","res","json","docs","updatedAt","newerVersionParams","greater_than","newerVersionRes","status","getDocPermissions","params","newIsEditing","docAccessURL","publishedAccessJSON","body","JSON","method","update","newDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","console","error","docPreferences","newData","doc","result","newState","apiRoute","schemaPath","abortController","AbortController","localeChanged","current","getInitialState","onError","signal","err","aborted","abort","loadDocPermissions","value","title","Provider"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type {\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n PaginatedDocs,\n TypeWithID,\n TypeWithTimestamps,\n TypeWithVersion,\n Where,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\nimport qs from 'qs'\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport { getFormState } from '../../utilities/getFormState.js'\nimport { hasSavePermission as getHasSavePermission } from '../../utilities/hasSavePermission.js'\nimport { isEditing as getIsEditing } from '../../utilities/isEditing.js'\nimport { reduceFieldsToValues } from '../../utilities/reduceFieldsToValues.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nexport const DocumentInfoProvider: React.FC<\n DocumentInfoProps & {\n children: React.ReactNode\n }\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData: initialDataFromProps,\n initialState: initialStateFromProps,\n onLoadError,\n onSave: onSaveFromProps,\n } = props\n\n const {\n admin: { dateFormat },\n collections,\n globals,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const collectionConfig = collections.find((c) => c.slug === collectionSlug)\n const globalConfig = globals.find((g) => g.slug === globalSlug)\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const [documentTitle, setDocumentTitle] = useState(() => {\n if (!initialDataFromProps) return ''\n\n return formatDocTitle({\n collectionConfig,\n data: { ...initialDataFromProps, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n })\n })\n\n const [isLoading, setIsLoading] = useState(false)\n const [isError, setIsError] = useState(false)\n const [data, setData] = useState<Data>(initialDataFromProps)\n const [initialState, setInitialState] = useState<FormState>(initialStateFromProps)\n const [publishedDoc, setPublishedDoc] = useState<TypeWithID & TypeWithTimestamps>(null)\n const [versions, setVersions] = useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n const [docPermissions, setDocPermissions] = useState<DocumentPermissions>(docPermissionsFromProps)\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n const isInitializing = initialState === undefined || data === undefined\n const hasInitializedDocPermissions = useRef(false)\n const [unpublishedVersions, setUnpublishedVersions] =\n useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n\n const { getPreference, setPreference } = usePreferences()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n const prevLocale = useRef(locale)\n\n const versionsConfig = docConfig?.versions\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n const operation = isEditing ? 'update' : 'create'\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions?.permission)\n\n const getVersions = useCallback(async () => {\n let versionFetchURL\n let publishedFetchURL\n let unpublishedVersionJSON = null\n let versionJSON = null\n let shouldFetch = true\n\n const versionParams = {\n depth: 0,\n where: {\n and: [],\n },\n }\n\n const publishedVersionParams: { depth: number; locale: string; where: Where } = {\n depth: 0,\n locale: locale || undefined,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n ],\n },\n }\n\n if (globalSlug) {\n versionFetchURL = `${baseURL}/globals/${globalSlug}/versions`\n publishedFetchURL = `${baseURL}/globals/${globalSlug}?${qs.stringify(publishedVersionParams)}`\n }\n\n if (collectionSlug) {\n versionFetchURL = `${baseURL}/${collectionSlug}/versions`\n\n publishedVersionParams.where.and.push({\n id: {\n equals: id,\n },\n })\n\n publishedFetchURL = `${baseURL}/${collectionSlug}?${qs.stringify(publishedVersionParams)}`\n\n if (!id) {\n shouldFetch = false\n }\n\n versionParams.where.and.push({\n parent: {\n equals: id,\n },\n })\n }\n\n if (shouldFetch) {\n let publishedJSON\n\n if (versionsConfig?.drafts) {\n publishedJSON = await fetch(publishedFetchURL, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (collectionSlug) {\n publishedJSON = publishedJSON?.docs?.[0]\n }\n }\n\n if (shouldFetchVersions) {\n versionJSON = await fetch(`${versionFetchURL}?${qs.stringify(versionParams)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (publishedJSON?.updatedAt) {\n const newerVersionParams = {\n ...versionParams,\n where: {\n ...versionParams.where,\n and: [\n ...versionParams.where.and,\n {\n updatedAt: {\n greater_than: publishedJSON?.updatedAt,\n },\n },\n ],\n },\n }\n\n // Get any newer versions available\n const newerVersionRes = await fetch(\n `${versionFetchURL}?${qs.stringify(newerVersionParams)}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (newerVersionRes.status === 200) {\n unpublishedVersionJSON = await newerVersionRes.json()\n }\n }\n }\n\n setPublishedDoc(publishedJSON)\n setVersions(versionJSON)\n setUnpublishedVersions(unpublishedVersionJSON)\n }\n }, [i18n, globalSlug, collectionSlug, id, baseURL, locale, versionsConfig, shouldFetchVersions])\n\n const getDocPermissions = React.useCallback(\n async (data: Data) => {\n const params = {\n locale: locale || undefined,\n }\n\n const newIsEditing = getIsEditing({ id: data?.id, collectionSlug, globalSlug })\n\n if (newIsEditing) {\n const docAccessURL = collectionSlug\n ? `/${collectionSlug}/access/${data.id}`\n : globalSlug\n ? `/globals/${globalSlug}/access`\n : null\n\n if (docAccessURL) {\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n const json: DocumentPermissions = await res.json()\n const publishedAccessJSON = await fetch(\n `${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`,\n {\n body: JSON.stringify({\n data: {\n ...(data || {}),\n _status: 'published',\n },\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n method: 'POST',\n },\n ).then((res) => res.json())\n\n setDocPermissions(json)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: json,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n\n setHasPublishPermission(publishedAccessJSON?.update?.permission)\n }\n } else {\n // when creating new documents, there is no permissions saved for this document yet\n // use the generic entity permissions instead\n const newDocPermissions = collectionSlug\n ? permissions?.collections?.[collectionSlug]\n : permissions?.globals?.[globalSlug]\n\n setDocPermissions(newDocPermissions)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: newDocPermissions,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n }\n },\n [serverURL, api, permissions, i18n.language, locale, collectionSlug, globalSlug],\n )\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const onSave = React.useCallback<DocumentInfoContext['onSave']>(\n async (json) => {\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps(json)\n }\n\n const docPreferences = await getDocPreferences()\n\n const newData = collectionSlug ? json.doc : json.result\n\n const newState = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n data: newData,\n docPreferences,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n serverURL,\n })\n\n setInitialState(newState)\n setData(newData)\n await getDocPermissions(newData)\n },\n [\n api,\n collectionSlug,\n getDocPreferences,\n globalSlug,\n id,\n operation,\n locale,\n onSaveFromProps,\n serverURL,\n getDocPermissions,\n ],\n )\n\n useEffect(() => {\n const abortController = new AbortController()\n const localeChanged = locale !== prevLocale.current\n\n if (\n initialStateFromProps === undefined ||\n initialDataFromProps === undefined ||\n localeChanged\n ) {\n if (localeChanged) prevLocale.current = locale\n\n const getInitialState = async () => {\n setIsError(false)\n setIsLoading(true)\n\n try {\n const result = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n onError: onLoadError,\n serverURL,\n signal: abortController.signal,\n })\n\n setData(reduceFieldsToValues(result, true))\n setInitialState(result)\n } catch (err) {\n if (!abortController.signal.aborted) {\n if (typeof onLoadError === 'function') {\n void onLoadError()\n }\n setIsError(true)\n setIsLoading(false)\n }\n }\n setIsLoading(false)\n }\n\n void getInitialState()\n }\n\n return () => {\n abortController.abort()\n }\n }, [\n api,\n operation,\n collectionSlug,\n serverURL,\n id,\n globalSlug,\n locale,\n onLoadError,\n initialDataFromProps,\n initialStateFromProps,\n ])\n\n useEffect(() => {\n void getVersions()\n }, [getVersions])\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...data, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, data, dateFormat, i18n, id, globalConfig])\n\n useEffect(() => {\n const loadDocPermissions = async () => {\n const docPermissions: DocumentPermissions = docPermissionsFromProps\n const hasSavePermission: boolean = hasSavePermissionFromProps\n const hasPublishPermission: boolean = hasPublishPermissionFromProps\n\n if (\n !docPermissions ||\n hasSavePermission === undefined ||\n hasSavePermission === null ||\n hasPublishPermission === undefined ||\n hasPublishPermission === null\n ) {\n await getDocPermissions(data)\n }\n }\n\n if (!hasInitializedDocPermissions.current && data && (collectionSlug || globalSlug)) {\n hasInitializedDocPermissions.current = true\n void loadDocPermissions()\n }\n }, [\n getDocPermissions,\n docPermissionsFromProps,\n hasSavePermissionFromProps,\n hasPublishPermissionFromProps,\n setDocPermissions,\n collectionSlug,\n globalSlug,\n data,\n ])\n\n if (isError) notFound()\n\n const value: DocumentInfoContext = {\n ...props,\n docConfig,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isInitializing,\n isLoading,\n onSave,\n publishedDoc,\n setDocFieldPreferences,\n setDocumentTitle,\n title: documentTitle,\n unpublishedVersions,\n versions,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n"],"names":["notFound","qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","formatDocTitle","getFormState","hasSavePermission","getHasSavePermission","isEditing","getIsEditing","reduceFieldsToValues","useAuth","useConfig","useLocale","usePreferences","useTranslation","Context","useDocumentInfo","DocumentInfoProvider","children","props","id","collectionSlug","docPermissions","docPermissionsFromProps","globalSlug","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermissionFromProps","initialData","initialDataFromProps","initialState","initialStateFromProps","onLoadError","onSave","onSaveFromProps","admin","dateFormat","collections","globals","routes","api","serverURL","collectionConfig","find","c","slug","globalConfig","g","docConfig","i18n","documentTitle","setDocumentTitle","data","fallback","toString","isLoading","setIsLoading","isError","setIsError","setData","setInitialState","publishedDoc","setPublishedDoc","versions","setVersions","setDocPermissions","setHasSavePermission","setHasPublishPermission","isInitializing","undefined","hasInitializedDocPermissions","unpublishedVersions","setUnpublishedVersions","getPreference","setPreference","permissions","code","locale","prevLocale","versionsConfig","baseURL","preferencesKey","operation","shouldFetchVersions","Boolean","readVersions","permission","getVersions","versionFetchURL","publishedFetchURL","unpublishedVersionJSON","versionJSON","shouldFetch","versionParams","depth","where","and","publishedVersionParams","or","_status","equals","exists","stringify","push","parent","publishedJSON","drafts","fetch","credentials","headers","language","then","res","json","docs","updatedAt","newerVersionParams","greater_than","newerVersionRes","status","getDocPermissions","params","newIsEditing","docAccessURL","publishedAccessJSON","body","JSON","method","update","newDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","console","error","docPreferences","newData","doc","result","newState","apiRoute","schemaPath","abortController","AbortController","localeChanged","current","getInitialState","onError","signal","err","aborted","abort","loadDocPermissions","value","title","Provider"],"mappings":"AAAA;;AAaA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,OAAOC,QAAQ,KAAI;AACnB,OAAOC,SAASC,aAAa,EAAEC,WAAW,EAAEC,UAAU,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAO;AAIlG,SAASC,cAAc,QAAQ,oCAAmC;AAClE,SAASC,YAAY,QAAQ,kCAAiC;AAC9D,SAASC,qBAAqBC,oBAAoB,QAAQ,uCAAsC;AAChG,SAASC,aAAaC,YAAY,QAAQ,+BAA8B;AACxE,SAASC,oBAAoB,QAAQ,0CAAyC;AAC9E,SAASC,OAAO,QAAQ,mBAAkB;AAC1C,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,SAASC,cAAc,QAAQ,0BAAyB;AACxD,SAASC,cAAc,QAAQ,0BAAyB;AAExD,MAAMC,wBAAUlB,cAAc,CAAC;AAI/B,OAAO,MAAMmB,kBAAkB,IAA2BjB,WAAWgB,SAAQ;AAE7E,OAAO,MAAME,uBAIT,CAAC,EAAEC,QAAQ,EAAE,GAAGC,OAAO;IACzB,MAAM,EACJC,EAAE,EACFC,cAAc,EACdC,gBAAgBC,uBAAuB,EACvCC,UAAU,EACVC,sBAAsBC,6BAA6B,EACnDrB,mBAAmBsB,0BAA0B,EAC7CC,aAAaC,oBAAoB,EACjCC,cAAcC,qBAAqB,EACnCC,WAAW,EACXC,QAAQC,eAAe,EACxB,GAAGf;IAEJ,MAAM,EACJgB,OAAO,EAAEC,UAAU,EAAE,EACrBC,WAAW,EACXC,OAAO,EACPC,QAAQ,EAAEC,GAAG,EAAE,EACfC,SAAS,EACV,GAAG9B;IAEJ,MAAM+B,mBAAmBL,YAAYM,IAAI,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAKxB;IAC5D,MAAMyB,eAAeR,QAAQK,IAAI,CAAC,CAACI,IAAMA,EAAEF,IAAI,KAAKrB;IACpD,MAAMwB,YAAYN,oBAAoBI;IAEtC,MAAM,EAAEG,IAAI,EAAE,GAAGnC;IAEjB,MAAM,CAACoC,eAAeC,iBAAiB,GAAGjD,SAAS;QACjD,IAAI,CAAC2B,sBAAsB,OAAO;QAElC,OAAO1B,eAAe;YACpBuC;YACAU,MAAM;gBAAE,GAAGvB,oBAAoB;gBAAET;YAAG;YACpCgB;YACAiB,UAAUjC,IAAIkC;YACdR;YACAG;QACF;IACF;IAEA,MAAM,CAACM,WAAWC,aAAa,GAAGtD,SAAS;IAC3C,MAAM,CAACuD,SAASC,WAAW,GAAGxD,SAAS;IACvC,MAAM,CAACkD,MAAMO,QAAQ,GAAGzD,SAAe2B;IACvC,MAAM,CAACC,cAAc8B,gBAAgB,GAAG1D,SAAoB6B;IAC5D,MAAM,CAAC8B,cAAcC,gBAAgB,GAAG5D,SAA0C;IAClF,MAAM,CAAC6D,UAAUC,YAAY,GAAG9D,SAA8C;IAC9E,MAAM,CAACoB,gBAAgB2C,kBAAkB,GAAG/D,SAA8BqB;IAC1E,MAAM,CAAClB,mBAAmB6D,qBAAqB,GAAGhE,SAAkByB;IACpE,MAAM,CAACF,sBAAsB0C,wBAAwB,GAAGjE,SACtDwB;IAEF,MAAM0C,iBAAiBtC,iBAAiBuC,aAAajB,SAASiB;IAC9D,MAAMC,+BAA+BrE,OAAO;IAC5C,MAAM,CAACsE,qBAAqBC,uBAAuB,GACjDtE,SAA8C;IAEhD,MAAM,EAAEuE,aAAa,EAAEC,aAAa,EAAE,GAAG7D;IACzC,MAAM,EAAE8D,WAAW,EAAE,GAAGjE;IACxB,MAAM,EAAEkE,MAAMC,MAAM,EAAE,GAAGjE;IACzB,MAAMkE,aAAa7E,OAAO4E;IAE1B,MAAME,iBAAiB/B,WAAWe;IAElC,MAAMiB,UAAU,CAAC,EAAEvC,UAAU,EAAED,IAAI,CAAC;IACpC,IAAIK;IACJ,IAAIoC;IAEJ,IAAIzD,YAAY;QACdqB,OAAOrB;QACPyD,iBAAiB,CAAC,OAAO,EAAEpC,KAAK,CAAC;IACnC;IAEA,IAAIxB,gBAAgB;QAClBwB,OAAOxB;QAEP,IAAID,IAAI;YACN6D,iBAAiB,CAAC,WAAW,EAAEpC,KAAK,CAAC,EAAEzB,GAAG,CAAC;QAC7C;IACF;IAEA,MAAMb,YAAYC,aAAa;QAAEY;QAAIC;QAAgBG;IAAW;IAChE,MAAM0D,YAAY3E,YAAY,WAAW;IACzC,MAAM4E,sBAAsBC,QAAQL,kBAAkBzD,gBAAgB+D,cAAcC;IAEpF,MAAMC,cAAczF,YAAY;QAC9B,IAAI0F;QACJ,IAAIC;QACJ,IAAIC,yBAAyB;QAC7B,IAAIC,cAAc;QAClB,IAAIC,cAAc;QAElB,MAAMC,gBAAgB;YACpBC,OAAO;YACPC,OAAO;gBACLC,KAAK,EAAE;YACT;QACF;QAEA,MAAMC,yBAA0E;YAC9EH,OAAO;YACPjB,QAAQA,UAAUR;YAClB0B,OAAO;gBACLC,KAAK;oBACH;wBACEE,IAAI;4BACF;gCACEC,SAAS;oCACPC,QAAQ;gCACV;4BACF;4BACA;gCACED,SAAS;oCACPE,QAAQ;gCACV;4BACF;yBACD;oBACH;iBACD;YACH;QACF;QAEA,IAAI7E,YAAY;YACdgE,kBAAkB,CAAC,EAAER,QAAQ,SAAS,EAAExD,WAAW,SAAS,CAAC;YAC7DiE,oBAAoB,CAAC,EAAET,QAAQ,SAAS,EAAExD,WAAW,CAAC,EAAE7B,GAAG2G,SAAS,CAACL,wBAAwB,CAAC;QAChG;QAEA,IAAI5E,gBAAgB;YAClBmE,kBAAkB,CAAC,EAAER,QAAQ,CAAC,EAAE3D,eAAe,SAAS,CAAC;YAEzD4E,uBAAuBF,KAAK,CAACC,GAAG,CAACO,IAAI,CAAC;gBACpCnF,IAAI;oBACFgF,QAAQhF;gBACV;YACF;YAEAqE,oBAAoB,CAAC,EAAET,QAAQ,CAAC,EAAE3D,eAAe,CAAC,EAAE1B,GAAG2G,SAAS,CAACL,wBAAwB,CAAC;YAE1F,IAAI,CAAC7E,IAAI;gBACPwE,cAAc;YAChB;YAEAC,cAAcE,KAAK,CAACC,GAAG,CAACO,IAAI,CAAC;gBAC3BC,QAAQ;oBACNJ,QAAQhF;gBACV;YACF;QACF;QAEA,IAAIwE,aAAa;YACf,IAAIa;YAEJ,IAAI1B,gBAAgB2B,QAAQ;gBAC1BD,gBAAgB,MAAME,MAAMlB,mBAAmB;oBAC7CmB,aAAa;oBACbC,SAAS;wBACP,mBAAmB5D,KAAK6D,QAAQ;oBAClC;gBACF,GAAGC,IAAI,CAAC,CAACC,MAAQA,IAAIC,IAAI;gBAEzB,IAAI5F,gBAAgB;oBAClBoF,gBAAgBA,eAAeS,MAAM,CAAC,EAAE;gBAC1C;YACF;YAEA,IAAI/B,qBAAqB;gBACvBQ,cAAc,MAAMgB,MAAM,CAAC,EAAEnB,gBAAgB,CAAC,EAAE7F,GAAG2G,SAAS,CAACT,eAAe,CAAC,EAAE;oBAC7Ee,aAAa;oBACbC,SAAS;wBACP,mBAAmB5D,KAAK6D,QAAQ;oBAClC;gBACF,GAAGC,IAAI,CAAC,CAACC,MAAQA,IAAIC,IAAI;gBAEzB,IAAIR,eAAeU,WAAW;oBAC5B,MAAMC,qBAAqB;wBACzB,GAAGvB,aAAa;wBAChBE,OAAO;4BACL,GAAGF,cAAcE,KAAK;4BACtBC,KAAK;mCACAH,cAAcE,KAAK,CAACC,GAAG;gCAC1B;oCACEmB,WAAW;wCACTE,cAAcZ,eAAeU;oCAC/B;gCACF;6BACD;wBACH;oBACF;oBAEA,mCAAmC;oBACnC,MAAMG,kBAAkB,MAAMX,MAC5B,CAAC,EAAEnB,gBAAgB,CAAC,EAAE7F,GAAG2G,SAAS,CAACc,oBAAoB,CAAC,EACxD;wBACER,aAAa;wBACbC,SAAS;4BACP,mBAAmB5D,KAAK6D,QAAQ;wBAClC;oBACF;oBAGF,IAAIQ,gBAAgBC,MAAM,KAAK,KAAK;wBAClC7B,yBAAyB,MAAM4B,gBAAgBL,IAAI;oBACrD;gBACF;YACF;YAEAnD,gBAAgB2C;YAChBzC,YAAY2B;YACZnB,uBAAuBkB;QACzB;IACF,GAAG;QAACzC;QAAMzB;QAAYH;QAAgBD;QAAI4D;QAASH;QAAQE;QAAgBI;KAAoB;IAE/F,MAAMqC,oBAAoB5H,MAAME,WAAW,CACzC,OAAOsD;QACL,MAAMqE,SAAS;YACb5C,QAAQA,UAAUR;QACpB;QAEA,MAAMqD,eAAelH,aAAa;YAAEY,IAAIgC,MAAMhC;YAAIC;YAAgBG;QAAW;QAE7E,IAAIkG,cAAc;YAChB,MAAMC,eAAetG,iBACjB,CAAC,CAAC,EAAEA,eAAe,QAAQ,EAAE+B,KAAKhC,EAAE,CAAC,CAAC,GACtCI,aACE,CAAC,SAAS,EAAEA,WAAW,OAAO,CAAC,GAC/B;YAEN,IAAImG,cAAc;gBAChB,MAAMX,MAAM,MAAML,MAAM,CAAC,EAAElE,UAAU,EAAED,IAAI,EAAEmF,aAAa,CAAC,EAAEhI,GAAG2G,SAAS,CAACmB,QAAQ,CAAC,EAAE;oBACnFb,aAAa;oBACbC,SAAS;wBACP,mBAAmB5D,KAAK6D,QAAQ;oBAClC;gBACF;gBAEA,MAAMG,OAA4B,MAAMD,IAAIC,IAAI;gBAChD,MAAMW,sBAAsB,MAAMjB,MAChC,CAAC,EAAElE,UAAU,EAAED,IAAI,EAAEmF,aAAa,CAAC,EAAEhI,GAAG2G,SAAS,CAACmB,QAAQ,CAAC,EAC3D;oBACEI,MAAMC,KAAKxB,SAAS,CAAC;wBACnBlD,MAAM;4BACJ,GAAIA,QAAQ,CAAC,CAAC;4BACd+C,SAAS;wBACX;oBACF;oBACAS,aAAa;oBACbC,SAAS;wBACP,mBAAmB5D,KAAK6D,QAAQ;oBAClC;oBACAiB,QAAQ;gBACV,GACAhB,IAAI,CAAC,CAACC,MAAQA,IAAIC,IAAI;gBAExBhD,kBAAkBgD;gBAElB/C,qBACE5D,qBAAqB;oBACnBe;oBACAC,gBAAgB2F;oBAChBzF;oBACAjB,WAAWmH;gBACb;gBAGFvD,wBAAwByD,qBAAqBI,QAAQ1C;YACvD;QACF,OAAO;YACL,mFAAmF;YACnF,6CAA6C;YAC7C,MAAM2C,oBAAoB5G,iBACtBsD,aAAatC,aAAa,CAAChB,eAAe,GAC1CsD,aAAarC,SAAS,CAACd,WAAW;YAEtCyC,kBAAkBgE;YAElB/D,qBACE5D,qBAAqB;gBACnBe;gBACAC,gBAAgB2G;gBAChBzG;gBACAjB,WAAWmH;YACb;QAEJ;IACF,GACA;QAACjF;QAAWD;QAAKmC;QAAa1B,KAAK6D,QAAQ;QAAEjC;QAAQxD;QAAgBG;KAAW;IAGlF,MAAM0G,oBAAoBpI,YAAY;QACpC,OAAO2E,cAAmCQ;IAC5C,GAAG;QAACR;QAAeQ;KAAe;IAElC,MAAMkD,yBAAyBrI,YAC7B,OAAOsI,MAAMC;QACX,MAAMC,iBAAiB,MAAMJ;QAE7B,IAAIjD,gBAAgB;YAClB,IAAI;gBACF,MAAMP,cAAcO,gBAAgB;oBAClC,GAAGqD,cAAc;oBACjBC,QAAQ;wBACN,GAAID,gBAAgBC,UAAU,CAAC,CAAC;wBAChC,CAACH,KAAK,EAAE;4BACN,GAAGE,gBAAgBC,QAAQ,CAACH,KAAK;4BACjC,GAAGC,gBAAgB;wBACrB;oBACF;gBACF;YACF,EAAE,OAAOG,GAAG;gBACVC,QAAQC,KAAK,CAACF,GAAG,iCAAiC;;YACpD;QACF;IACF,GACA;QAAC9D;QAAeO;QAAgBiD;KAAkB;IAGpD,MAAMjG,SAASrC,MAAME,WAAW,CAC9B,OAAOmH;QACL,IAAI,OAAO/E,oBAAoB,YAAY;YACzC,KAAKA,gBAAgB+E;QACvB;QAEA,MAAM0B,iBAAiB,MAAMT;QAE7B,MAAMU,UAAUvH,iBAAiB4F,KAAK4B,GAAG,GAAG5B,KAAK6B,MAAM;QAEvD,MAAMC,WAAW,MAAM3I,aAAa;YAClC4I,UAAUxG;YACVqF,MAAM;gBACJzG;gBACAC;gBACA+B,MAAMwF;gBACND;gBACAnH;gBACAqD;gBACAK;gBACA+D,YAAY5H,kBAAkBG;YAChC;YACAiB;QACF;QAEAmB,gBAAgBmF;QAChBpF,QAAQiF;QACR,MAAMpB,kBAAkBoB;IAC1B,GACA;QACEpG;QACAnB;QACA6G;QACA1G;QACAJ;QACA8D;QACAL;QACA3C;QACAO;QACA+E;KACD;IAGHxH,UAAU;QACR,MAAMkJ,kBAAkB,IAAIC;QAC5B,MAAMC,gBAAgBvE,WAAWC,WAAWuE,OAAO;QAEnD,IACEtH,0BAA0BsC,aAC1BxC,yBAAyBwC,aACzB+E,eACA;YACA,IAAIA,eAAetE,WAAWuE,OAAO,GAAGxE;YAExC,MAAMyE,kBAAkB;gBACtB5F,WAAW;gBACXF,aAAa;gBAEb,IAAI;oBACF,MAAMsF,SAAS,MAAM1I,aAAa;wBAChC4I,UAAUxG;wBACVqF,MAAM;4BACJzG;4BACAC;4BACAG;4BACAqD;4BACAK;4BACA+D,YAAY5H,kBAAkBG;wBAChC;wBACA+H,SAASvH;wBACTS;wBACA+G,QAAQN,gBAAgBM,MAAM;oBAChC;oBAEA7F,QAAQlD,qBAAqBqI,QAAQ;oBACrClF,gBAAgBkF;gBAClB,EAAE,OAAOW,KAAK;oBACZ,IAAI,CAACP,gBAAgBM,MAAM,CAACE,OAAO,EAAE;wBACnC,IAAI,OAAO1H,gBAAgB,YAAY;4BACrC,KAAKA;wBACP;wBACA0B,WAAW;wBACXF,aAAa;oBACf;gBACF;gBACAA,aAAa;YACf;YAEA,KAAK8F;QACP;QAEA,OAAO;YACLJ,gBAAgBS,KAAK;QACvB;IACF,GAAG;QACDnH;QACA0C;QACA7D;QACAoB;QACArB;QACAI;QACAqD;QACA7C;QACAH;QACAE;KACD;IAED/B,UAAU;QACR,KAAKuF;IACP,GAAG;QAACA;KAAY;IAEhBvF,UAAU;QACRmD,iBACEhD,eAAe;YACbuC;YACAU,MAAM;gBAAE,GAAGA,IAAI;gBAAEhC;YAAG;YACpBgB;YACAiB,UAAUjC,IAAIkC;YACdR;YACAG;QACF;IAEJ,GAAG;QAACP;QAAkBU;QAAMhB;QAAYa;QAAM7B;QAAI0B;KAAa;IAE/D9C,UAAU;QACR,MAAM4J,qBAAqB;YACzB,MAAMtI,iBAAsCC;YAC5C,MAAMlB,oBAA6BsB;YACnC,MAAMF,uBAAgCC;YAEtC,IACE,CAACJ,kBACDjB,sBAAsBgE,aACtBhE,sBAAsB,QACtBoB,yBAAyB4C,aACzB5C,yBAAyB,MACzB;gBACA,MAAM+F,kBAAkBpE;YAC1B;QACF;QAEA,IAAI,CAACkB,6BAA6B+E,OAAO,IAAIjG,QAAS/B,CAAAA,kBAAkBG,UAAS,GAAI;YACnF8C,6BAA6B+E,OAAO,GAAG;YACvC,KAAKO;QACP;IACF,GAAG;QACDpC;QACAjG;QACAI;QACAD;QACAuC;QACA5C;QACAG;QACA4B;KACD;IAED,IAAIK,SAAS/D;IAEb,MAAMmK,QAA6B;QACjC,GAAG1I,KAAK;QACR6B;QACA1B;QACAkG;QACAU;QACA3C;QACA9D;QACApB;QACAuB,aAAawB;QACbtB;QACAsC;QACAb;QACAtB;QACA4B;QACAsE;QACAhF;QACA2G,OAAO5G;QACPqB;QACAR;IACF;IAEA,qBAAO,KAAChD,QAAQgJ,QAAQ;QAACF,OAAOA;kBAAQ3I;;AAC1C,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/DocumentInfo/types.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n InsideFieldsPreferences,\n PaginatedDocs,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n TypeWithID,\n TypeWithTimestamps,\n TypeWithVersion,\n} from 'payload'\nimport type React from 'react'\n\nexport type DocumentInfoProps = {\n AfterDocument?: React.ReactNode\n AfterFields?: React.ReactNode\n BeforeDocument?: React.ReactNode\n BeforeFields?: React.ReactNode\n action?: string\n apiURL?: string\n collectionSlug?: SanitizedCollectionConfig['slug']\n disableActions?: boolean\n disableLeaveWithoutSaving?: boolean\n docPermissions?: DocumentPermissions\n globalSlug?: SanitizedGlobalConfig['slug']\n hasPublishPermission?: boolean\n hasSavePermission?: boolean\n id: null | number | string\n initialData?: Data\n initialState?: FormState\n isEditing?: boolean\n onLoadError?: (data?: any) => Promise<void> | void\n onSave?: (data: Data) => Promise<void> | void\n}\n\nexport type DocumentInfoContext = DocumentInfoProps & {\n docConfig?: ClientCollectionConfig | ClientGlobalConfig\n getDocPermissions: (data?: Data) => Promise<void>\n getDocPreferences: () => Promise<DocumentPreferences>\n getVersions: () => Promise<void>\n initialData: Data\n initialState?: FormState\n isInitializing: boolean\n isLoading: boolean\n preferencesKey?: string\n publishedDoc?: TypeWithID & TypeWithTimestamps & { _status?: string }\n setDocFieldPreferences: (\n field: string,\n fieldPreferences: Partial<InsideFieldsPreferences> & { [key: string]: unknown },\n ) => void\n setDocumentTitle: (title: string) => void\n slug?: string\n title: string\n unpublishedVersions?: PaginatedDocs<TypeWithVersion<any>>\n versions?: PaginatedDocs<TypeWithVersion<any>>\n versionsCount?: PaginatedDocs<TypeWithVersion<any>>\n}\n"],"names":[],"
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/DocumentInfo/types.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n InsideFieldsPreferences,\n PaginatedDocs,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n TypeWithID,\n TypeWithTimestamps,\n TypeWithVersion,\n} from 'payload'\nimport type React from 'react'\n\nexport type DocumentInfoProps = {\n AfterDocument?: React.ReactNode\n AfterFields?: React.ReactNode\n BeforeDocument?: React.ReactNode\n BeforeFields?: React.ReactNode\n action?: string\n apiURL?: string\n collectionSlug?: SanitizedCollectionConfig['slug']\n disableActions?: boolean\n disableLeaveWithoutSaving?: boolean\n docPermissions?: DocumentPermissions\n globalSlug?: SanitizedGlobalConfig['slug']\n hasPublishPermission?: boolean\n hasSavePermission?: boolean\n id: null | number | string\n initialData?: Data\n initialState?: FormState\n isEditing?: boolean\n onLoadError?: (data?: any) => Promise<void> | void\n onSave?: (data: Data) => Promise<void> | void\n}\n\nexport type DocumentInfoContext = DocumentInfoProps & {\n docConfig?: ClientCollectionConfig | ClientGlobalConfig\n getDocPermissions: (data?: Data) => Promise<void>\n getDocPreferences: () => Promise<DocumentPreferences>\n getVersions: () => Promise<void>\n initialData: Data\n initialState?: FormState\n isInitializing: boolean\n isLoading: boolean\n preferencesKey?: string\n publishedDoc?: TypeWithID & TypeWithTimestamps & { _status?: string }\n setDocFieldPreferences: (\n field: string,\n fieldPreferences: Partial<InsideFieldsPreferences> & { [key: string]: unknown },\n ) => void\n setDocumentTitle: (title: string) => void\n slug?: string\n title: string\n unpublishedVersions?: PaginatedDocs<TypeWithVersion<any>>\n versions?: PaginatedDocs<TypeWithVersion<any>>\n versionsCount?: PaginatedDocs<TypeWithVersion<any>>\n}\n"],"names":[],"mappings":"AAuCA,WAqBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/EditDepth/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, useContext } from 'react'\n\nexport const EditDepthContext = createContext(0)\n\nexport const EditDepthProvider: React.FC<{ children: React.ReactNode; depth: number }> = ({\n children,\n depth,\n}) => <EditDepthContext.Provider value={depth}>{children}</EditDepthContext.Provider>\n\nexport const useEditDepth = (): number => useContext(EditDepthContext)\n"],"names":["React","createContext","useContext","EditDepthContext","EditDepthProvider","children","depth","Provider","value","useEditDepth"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/EditDepth/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, useContext } from 'react'\n\nexport const EditDepthContext = createContext(0)\n\nexport const EditDepthProvider: React.FC<{ children: React.ReactNode; depth: number }> = ({\n children,\n depth,\n}) => <EditDepthContext.Provider value={depth}>{children}</EditDepthContext.Provider>\n\nexport const useEditDepth = (): number => useContext(EditDepthContext)\n"],"names":["React","createContext","useContext","EditDepthContext","EditDepthProvider","children","depth","Provider","value","useEditDepth"],"mappings":"AAAA;;AACA,OAAOA,SAASC,aAAa,EAAEC,UAAU,QAAQ,QAAO;AAExD,OAAO,MAAMC,iCAAmBF,cAAc,GAAE;AAEhD,OAAO,MAAMG,oBAA4E,CAAC,EACxFC,QAAQ,EACRC,KAAK,EACN,iBAAK,KAACH,iBAAiBI,QAAQ;QAACC,OAAOF;kBAAQD;OAAqC;AAErF,OAAO,MAAMI,eAAe,IAAcP,WAAWC,kBAAiB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/EntityVisibility/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig, SanitizedGlobalConfig, VisibleEntities } from 'payload'\n\nimport React, { createContext, useCallback, useContext } from 'react'\n\nexport type VisibleEntitiesContextType = {\n isEntityVisible: ({\n collectionSlug,\n globalSlug,\n }: {\n collectionSlug?: SanitizedCollectionConfig['slug']\n globalSlug?: SanitizedGlobalConfig['slug']\n }) => boolean\n visibleEntities: VisibleEntities\n}\n\nexport const EntityVisibilityContext = createContext({} as VisibleEntitiesContextType)\n\nexport const EntityVisibilityProvider: React.FC<{\n children: React.ReactNode\n visibleEntities?: VisibleEntities\n}> = ({ children, visibleEntities }) => {\n const isEntityVisible = useCallback(\n ({\n collectionSlug,\n globalSlug,\n }: {\n collectionSlug: SanitizedCollectionConfig['slug']\n globalSlug: SanitizedGlobalConfig['slug']\n }) => {\n if (collectionSlug) {\n return visibleEntities.collections.includes(collectionSlug)\n }\n\n if (globalSlug) {\n return visibleEntities.globals.includes(globalSlug)\n }\n\n return false\n },\n [visibleEntities],\n )\n\n return (\n <EntityVisibilityContext.Provider value={{ isEntityVisible, visibleEntities }}>\n {children}\n </EntityVisibilityContext.Provider>\n )\n}\n\nexport const useEntityVisibility = (): VisibleEntitiesContextType =>\n useContext(EntityVisibilityContext)\n"],"names":["React","createContext","useCallback","useContext","EntityVisibilityContext","EntityVisibilityProvider","children","visibleEntities","isEntityVisible","collectionSlug","globalSlug","collections","includes","globals","Provider","value","useEntityVisibility"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/EntityVisibility/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig, SanitizedGlobalConfig, VisibleEntities } from 'payload'\n\nimport React, { createContext, useCallback, useContext } from 'react'\n\nexport type VisibleEntitiesContextType = {\n isEntityVisible: ({\n collectionSlug,\n globalSlug,\n }: {\n collectionSlug?: SanitizedCollectionConfig['slug']\n globalSlug?: SanitizedGlobalConfig['slug']\n }) => boolean\n visibleEntities: VisibleEntities\n}\n\nexport const EntityVisibilityContext = createContext({} as VisibleEntitiesContextType)\n\nexport const EntityVisibilityProvider: React.FC<{\n children: React.ReactNode\n visibleEntities?: VisibleEntities\n}> = ({ children, visibleEntities }) => {\n const isEntityVisible = useCallback(\n ({\n collectionSlug,\n globalSlug,\n }: {\n collectionSlug: SanitizedCollectionConfig['slug']\n globalSlug: SanitizedGlobalConfig['slug']\n }) => {\n if (collectionSlug) {\n return visibleEntities.collections.includes(collectionSlug)\n }\n\n if (globalSlug) {\n return visibleEntities.globals.includes(globalSlug)\n }\n\n return false\n },\n [visibleEntities],\n )\n\n return (\n <EntityVisibilityContext.Provider value={{ isEntityVisible, visibleEntities }}>\n {children}\n </EntityVisibilityContext.Provider>\n )\n}\n\nexport const useEntityVisibility = (): VisibleEntitiesContextType =>\n useContext(EntityVisibilityContext)\n"],"names":["React","createContext","useCallback","useContext","EntityVisibilityContext","EntityVisibilityProvider","children","visibleEntities","isEntityVisible","collectionSlug","globalSlug","collections","includes","globals","Provider","value","useEntityVisibility"],"mappings":"AAAA;;AAGA,OAAOA,SAASC,aAAa,EAAEC,WAAW,EAAEC,UAAU,QAAQ,QAAO;AAarE,OAAO,MAAMC,wCAA0BH,cAAc,CAAC,GAAgC;AAEtF,OAAO,MAAMI,2BAGR,CAAC,EAAEC,QAAQ,EAAEC,eAAe,EAAE;IACjC,MAAMC,kBAAkBN,YACtB,CAAC,EACCO,cAAc,EACdC,UAAU,EAIX;QACC,IAAID,gBAAgB;YAClB,OAAOF,gBAAgBI,WAAW,CAACC,QAAQ,CAACH;QAC9C;QAEA,IAAIC,YAAY;YACd,OAAOH,gBAAgBM,OAAO,CAACD,QAAQ,CAACF;QAC1C;QAEA,OAAO;IACT,GACA;QAACH;KAAgB;IAGnB,qBACE,KAACH,wBAAwBU,QAAQ;QAACC,OAAO;YAAEP;YAAiBD;QAAgB;kBACzED;;AAGP,EAAC;AAED,OAAO,MAAMU,sBAAsB,IACjCb,WAAWC,yBAAwB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/FieldComponents/index.tsx"],"sourcesContent":["'use client'\nimport type { FieldTypes } from 'payload'\n\nimport React, { createContext, useContext } from 'react'\n\nimport { fieldComponents } from '../../fields/index.js'\n\nexport type IFieldComponentsContext = FieldTypes\n\nconst FieldComponentsContext = createContext<IFieldComponentsContext>(fieldComponents)\n\nexport const FieldComponentsProvider: React.FC<{\n children: React.ReactNode\n}> = ({ children }) => {\n return (\n <FieldComponentsContext.Provider value={fieldComponents}>\n {children}\n </FieldComponentsContext.Provider>\n )\n}\n\nexport const useFieldComponents = (): IFieldComponentsContext => useContext(FieldComponentsContext)\n"],"names":["React","createContext","useContext","fieldComponents","FieldComponentsContext","FieldComponentsProvider","children","Provider","value","useFieldComponents"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/FieldComponents/index.tsx"],"sourcesContent":["'use client'\nimport type { FieldTypes } from 'payload'\n\nimport React, { createContext, useContext } from 'react'\n\nimport { fieldComponents } from '../../fields/index.js'\n\nexport type IFieldComponentsContext = FieldTypes\n\nconst FieldComponentsContext = createContext<IFieldComponentsContext>(fieldComponents)\n\nexport const FieldComponentsProvider: React.FC<{\n children: React.ReactNode\n}> = ({ children }) => {\n return (\n <FieldComponentsContext.Provider value={fieldComponents}>\n {children}\n </FieldComponentsContext.Provider>\n )\n}\n\nexport const useFieldComponents = (): IFieldComponentsContext => useContext(FieldComponentsContext)\n"],"names":["React","createContext","useContext","fieldComponents","FieldComponentsContext","FieldComponentsProvider","children","Provider","value","useFieldComponents"],"mappings":"AAAA;;AAGA,OAAOA,SAASC,aAAa,EAAEC,UAAU,QAAQ,QAAO;AAExD,SAASC,eAAe,QAAQ,wBAAuB;AAIvD,MAAMC,uCAAyBH,cAAuCE;AAEtE,OAAO,MAAME,0BAER,CAAC,EAAEC,QAAQ,EAAE;IAChB,qBACE,KAACF,uBAAuBG,QAAQ;QAACC,OAAOL;kBACrCG;;AAGP,EAAC;AAED,OAAO,MAAMG,qBAAqB,IAA+BP,WAAWE,wBAAuB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/FormQueryParams/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD,OAAO,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAIvE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,uCAA8C,CAAA;AAE1E,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC7C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,aAAa,CAAC,EAAE,KAAK,CAAA;CACtB,CAgDA,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAO;IACpC,uBAAuB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/FormQueryParams/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD,OAAO,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAIvE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,uCAA8C,CAAA;AAE1E,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC7C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,aAAa,CAAC,EAAE,KAAK,CAAA;CACtB,CAgDA,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAO;IACpC,uBAAuB,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC/C,eAAe,EAAE,KAAK,CAAA;CACQ,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/FormQueryParams/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { createContext, useContext } from 'react'\n\nimport type { Action, FormQueryParamsContext, State } from './types.js'\n\nimport { useLocale } from '../Locale/index.js'\n\nexport type * from './types.js'\n\nexport const FormQueryParams = createContext({} as FormQueryParamsContext)\n\nexport const FormQueryParamsProvider: React.FC<{\n children: React.ReactNode\n initialParams?: State\n}> = ({ children, initialParams: formQueryParamsFromProps }) => {\n const [formQueryParams, dispatchFormQueryParams] = React.useReducer(\n (state: State, action: Action) => {\n const newState = { ...state }\n\n switch (action.type) {\n case 'SET':\n if (action.params?.uploadEdits === null && newState?.uploadEdits) {\n delete newState.uploadEdits\n }\n if (action.params?.uploadEdits?.crop === null && newState?.uploadEdits?.crop) {\n delete newState.uploadEdits.crop\n }\n if (\n action.params?.uploadEdits?.focalPoint === null &&\n newState?.uploadEdits?.focalPoint\n ) {\n delete newState.uploadEdits.focalPoint\n }\n return {\n ...newState,\n ...action.params,\n }\n default:\n return state\n }\n },\n formQueryParamsFromProps || ({} as State),\n )\n\n const locale = useLocale()\n\n React.useEffect(() => {\n if (locale?.code) {\n dispatchFormQueryParams({\n type: 'SET',\n params: {\n locale: locale.code,\n },\n })\n }\n }, [locale.code])\n\n return (\n <FormQueryParams.Provider value={{ dispatchFormQueryParams, formQueryParams }}>\n {children}\n </FormQueryParams.Provider>\n )\n}\n\nexport const useFormQueryParams = (): {\n dispatchFormQueryParams: React.Dispatch<Action>\n formQueryParams: State\n} => useContext(FormQueryParams)\n"],"names":["React","createContext","useContext","useLocale","FormQueryParams","FormQueryParamsProvider","children","initialParams","formQueryParamsFromProps","formQueryParams","dispatchFormQueryParams","useReducer","state","action","newState","type","params","uploadEdits","crop","focalPoint","locale","useEffect","code","Provider","value","useFormQueryParams"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/FormQueryParams/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { createContext, useContext } from 'react'\n\nimport type { Action, FormQueryParamsContext, State } from './types.js'\n\nimport { useLocale } from '../Locale/index.js'\n\nexport type * from './types.js'\n\nexport const FormQueryParams = createContext({} as FormQueryParamsContext)\n\nexport const FormQueryParamsProvider: React.FC<{\n children: React.ReactNode\n initialParams?: State\n}> = ({ children, initialParams: formQueryParamsFromProps }) => {\n const [formQueryParams, dispatchFormQueryParams] = React.useReducer(\n (state: State, action: Action) => {\n const newState = { ...state }\n\n switch (action.type) {\n case 'SET':\n if (action.params?.uploadEdits === null && newState?.uploadEdits) {\n delete newState.uploadEdits\n }\n if (action.params?.uploadEdits?.crop === null && newState?.uploadEdits?.crop) {\n delete newState.uploadEdits.crop\n }\n if (\n action.params?.uploadEdits?.focalPoint === null &&\n newState?.uploadEdits?.focalPoint\n ) {\n delete newState.uploadEdits.focalPoint\n }\n return {\n ...newState,\n ...action.params,\n }\n default:\n return state\n }\n },\n formQueryParamsFromProps || ({} as State),\n )\n\n const locale = useLocale()\n\n React.useEffect(() => {\n if (locale?.code) {\n dispatchFormQueryParams({\n type: 'SET',\n params: {\n locale: locale.code,\n },\n })\n }\n }, [locale.code])\n\n return (\n <FormQueryParams.Provider value={{ dispatchFormQueryParams, formQueryParams }}>\n {children}\n </FormQueryParams.Provider>\n )\n}\n\nexport const useFormQueryParams = (): {\n dispatchFormQueryParams: React.Dispatch<Action>\n formQueryParams: State\n} => useContext(FormQueryParams)\n"],"names":["React","createContext","useContext","useLocale","FormQueryParams","FormQueryParamsProvider","children","initialParams","formQueryParamsFromProps","formQueryParams","dispatchFormQueryParams","useReducer","state","action","newState","type","params","uploadEdits","crop","focalPoint","locale","useEffect","code","Provider","value","useFormQueryParams"],"mappings":"AAAA;;AAEA,OAAOA,SAASC,aAAa,EAAEC,UAAU,QAAQ,QAAO;AAIxD,SAASC,SAAS,QAAQ,qBAAoB;AAI9C,OAAO,MAAMC,gCAAkBH,cAAc,CAAC,GAA4B;AAE1E,OAAO,MAAMI,0BAGR,CAAC,EAAEC,QAAQ,EAAEC,eAAeC,wBAAwB,EAAE;IACzD,MAAM,CAACC,iBAAiBC,wBAAwB,GAAGV,MAAMW,UAAU,CACjE,CAACC,OAAcC;QACb,MAAMC,WAAW;YAAE,GAAGF,KAAK;QAAC;QAE5B,OAAQC,OAAOE,IAAI;YACjB,KAAK;gBACH,IAAIF,OAAOG,MAAM,EAAEC,gBAAgB,QAAQH,UAAUG,aAAa;oBAChE,OAAOH,SAASG,WAAW;gBAC7B;gBACA,IAAIJ,OAAOG,MAAM,EAAEC,aAAaC,SAAS,QAAQJ,UAAUG,aAAaC,MAAM;oBAC5E,OAAOJ,SAASG,WAAW,CAACC,IAAI;gBAClC;gBACA,IACEL,OAAOG,MAAM,EAAEC,aAAaE,eAAe,QAC3CL,UAAUG,aAAaE,YACvB;oBACA,OAAOL,SAASG,WAAW,CAACE,UAAU;gBACxC;gBACA,OAAO;oBACL,GAAGL,QAAQ;oBACX,GAAGD,OAAOG,MAAM;gBAClB;YACF;gBACE,OAAOJ;QACX;IACF,GACAJ,4BAA6B,CAAC;IAGhC,MAAMY,SAASjB;IAEfH,MAAMqB,SAAS,CAAC;QACd,IAAID,QAAQE,MAAM;YAChBZ,wBAAwB;gBACtBK,MAAM;gBACNC,QAAQ;oBACNI,QAAQA,OAAOE,IAAI;gBACrB;YACF;QACF;IACF,GAAG;QAACF,OAAOE,IAAI;KAAC;IAEhB,qBACE,KAAClB,gBAAgBmB,QAAQ;QAACC,OAAO;YAAEd;YAAyBD;QAAgB;kBACzEH;;AAGP,EAAC;AAED,OAAO,MAAMmB,qBAAqB,IAG7BvB,WAAWE,iBAAgB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/FormQueryParams/types.ts"],"sourcesContent":["import type { UploadEdits } from 'payload'\n\nexport type FormQueryParamsContext = {\n dispatchFormQueryParams: (action: Action) => void\n formQueryParams: State\n}\n\nexport type State = {\n depth: number\n 'fallback-locale': string\n locale: string\n uploadEdits?: UploadEdits\n}\n\nexport type Action = {\n params: Partial<State>\n type: 'SET'\n}\n"],"names":[],"
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/FormQueryParams/types.ts"],"sourcesContent":["import type { UploadEdits } from 'payload'\n\nexport type FormQueryParamsContext = {\n dispatchFormQueryParams: (action: Action) => void\n formQueryParams: State\n}\n\nexport type State = {\n depth: number\n 'fallback-locale': string\n locale: string\n uploadEdits?: UploadEdits\n}\n\nexport type Action = {\n params: Partial<State>\n type: 'SET'\n}\n"],"names":[],"mappings":"AAcA,WAGC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/ListInfo/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientConfig, FieldAffectingData, SanitizedCollectionConfig } from 'payload'\n\nimport React, { createContext, useContext } from 'react'\n\nimport type { Column } from '../../elements/Table/index.js'\n\nexport type ColumnPreferences = Pick<Column, 'accessor' | 'active'>[]\n\nexport type ListInfoProps = {\n Header?: React.ReactNode\n collectionConfig: ClientConfig['collections'][0]\n collectionSlug: SanitizedCollectionConfig['slug']\n hasCreatePermission: boolean\n newDocumentURL: string\n titleField?: FieldAffectingData\n}\n\nexport type ListInfoContext = {\n Header?: React.ReactNode\n collectionSlug: string\n hasCreatePermission: boolean\n newDocumentURL: string\n}\n\nconst Context = createContext({} as ListInfoContext)\n\nexport const useListInfo = (): ListInfoContext => useContext(Context)\n\nexport const ListInfoProvider: React.FC<\n ListInfoProps & {\n children: React.ReactNode\n }\n> = ({ children, ...props }) => {\n return <Context.Provider value={props}>{children}</Context.Provider>\n}\n"],"names":["React","createContext","useContext","Context","useListInfo","ListInfoProvider","children","props","Provider","value"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/ListInfo/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientConfig, FieldAffectingData, SanitizedCollectionConfig } from 'payload'\n\nimport React, { createContext, useContext } from 'react'\n\nimport type { Column } from '../../elements/Table/index.js'\n\nexport type ColumnPreferences = Pick<Column, 'accessor' | 'active'>[]\n\nexport type ListInfoProps = {\n Header?: React.ReactNode\n collectionConfig: ClientConfig['collections'][0]\n collectionSlug: SanitizedCollectionConfig['slug']\n hasCreatePermission: boolean\n newDocumentURL: string\n titleField?: FieldAffectingData\n}\n\nexport type ListInfoContext = {\n Header?: React.ReactNode\n collectionSlug: string\n hasCreatePermission: boolean\n newDocumentURL: string\n}\n\nconst Context = createContext({} as ListInfoContext)\n\nexport const useListInfo = (): ListInfoContext => useContext(Context)\n\nexport const ListInfoProvider: React.FC<\n ListInfoProps & {\n children: React.ReactNode\n }\n> = ({ children, ...props }) => {\n return <Context.Provider value={props}>{children}</Context.Provider>\n}\n"],"names":["React","createContext","useContext","Context","useListInfo","ListInfoProvider","children","props","Provider","value"],"mappings":"AAAA;;AAGA,OAAOA,SAASC,aAAa,EAAEC,UAAU,QAAQ,QAAO;AAsBxD,MAAMC,wBAAUF,cAAc,CAAC;AAE/B,OAAO,MAAMG,cAAc,IAAuBF,WAAWC,SAAQ;AAErE,OAAO,MAAME,mBAIT,CAAC,EAAEC,QAAQ,EAAE,GAAGC,OAAO;IACzB,qBAAO,KAACJ,QAAQK,QAAQ;QAACC,OAAOF;kBAAQD;;AAC1C,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/ListQuery/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport { useRouter } from 'next/navigation.js'\nimport { isNumber } from 'payload/shared'\nimport qs from 'qs'\nimport React, { createContext, useContext } from 'react'\n\nimport type { Column } from '../../elements/Table/index.js'\n\nimport { usePreferences } from '../Preferences/index.js'\nimport { useSearchParams } from '../SearchParams/index.js'\n\nexport type ColumnPreferences = Pick<Column, 'accessor' | 'active'>[]\n\ntype Handlers = {\n handlePageChange?: (page: number) => void\n handlePerPageChange?: (limit: number) => void\n handleSearchChange?: (search: string) => void\n handleSortChange?: (sort: string) => void\n handleWhereChange?: (where: Where) => void\n}\n\nexport type ListQueryProps = {\n children: React.ReactNode\n data: PaginatedDocs\n defaultLimit?: number\n defaultSort?: string\n modifySearchParams?: boolean\n preferenceKey?: string\n} & Handlers\n\nexport type ListQueryContext = Handlers & {\n data: PaginatedDocs\n defaultLimit?: number\n defaultSort?: string\n refineListData: (args: RefineOverrides) => void\n}\n\nconst Context = createContext({} as ListQueryContext)\n\nexport const useListQuery = (): ListQueryContext => useContext(Context)\n\ntype RefineOverrides = {\n limit?: string\n page?: string\n search?: string\n sort?: string\n where?: Where\n}\n\nexport const ListQueryProvider: React.FC<ListQueryProps> = ({\n children,\n data,\n defaultLimit,\n defaultSort,\n handlePageChange: handlePageChangeFromProps,\n handlePerPageChange: handlePerPageChangeFromProps,\n handleSearchChange: handleSearchChangeFromProps,\n handleSortChange: handleSortChangeFromProps,\n handleWhereChange: handleWhereChangeFromProps,\n modifySearchParams,\n preferenceKey,\n}) => {\n const router = useRouter()\n const { setPreference } = usePreferences()\n const hasSetInitialParams = React.useRef(false)\n const { searchParams: currentQuery } = useSearchParams()\n\n const refineListData = React.useCallback(\n async (query: RefineOverrides) => {\n if (!modifySearchParams) return\n\n const updatedPreferences: Record<string, unknown> = {}\n let updatePreferences = false\n\n if ('limit' in query) {\n updatedPreferences.limit = query.limit\n updatePreferences = true\n }\n if ('sort' in query) {\n updatedPreferences.sort = query.sort\n updatePreferences = true\n }\n if (updatePreferences && preferenceKey) {\n await setPreference(preferenceKey, updatedPreferences)\n }\n\n const params = {\n limit: 'limit' in query ? query.limit : currentQuery?.limit,\n page: 'page' in query ? query.page : currentQuery?.page,\n search: 'search' in query ? query.search : currentQuery?.search,\n sort: 'sort' in query ? query.sort : currentQuery?.sort,\n where: 'where' in query ? query.where : currentQuery?.where,\n }\n\n router.replace(`${qs.stringify(params, { addQueryPrefix: true })}`)\n },\n [preferenceKey, modifySearchParams, router, setPreference, currentQuery],\n )\n\n const handlePageChange = React.useCallback(\n async (arg: number) => {\n if (typeof handlePageChangeFromProps === 'function') {\n handlePageChangeFromProps(arg)\n }\n await refineListData({ page: String(arg) })\n },\n [refineListData, handlePageChangeFromProps],\n )\n const handlePerPageChange = React.useCallback(\n async (arg: number) => {\n if (typeof handlePerPageChangeFromProps === 'function') {\n handlePerPageChangeFromProps(arg)\n }\n await refineListData({ limit: String(arg) })\n },\n [refineListData, handlePerPageChangeFromProps],\n )\n const handleSearchChange = React.useCallback(\n async (arg: string) => {\n if (typeof handleSearchChangeFromProps === 'function') {\n handleSearchChangeFromProps(arg)\n }\n await refineListData({ search: arg })\n },\n [refineListData, handleSearchChangeFromProps],\n )\n const handleSortChange = React.useCallback(\n async (arg: string) => {\n if (typeof handleSortChangeFromProps === 'function') {\n handleSortChangeFromProps(arg)\n }\n await refineListData({ sort: arg })\n },\n [refineListData, handleSortChangeFromProps],\n )\n const handleWhereChange = React.useCallback(\n async (arg: Where) => {\n if (typeof handleWhereChangeFromProps === 'function') {\n handleWhereChangeFromProps(arg)\n }\n await refineListData({ where: arg })\n },\n [refineListData, handleWhereChangeFromProps],\n )\n\n React.useEffect(() => {\n if (!hasSetInitialParams.current) {\n if (modifySearchParams) {\n let shouldUpdateQueryString = false\n\n if (isNumber(defaultLimit) && !('limit' in currentQuery)) {\n currentQuery.limit = String(defaultLimit)\n shouldUpdateQueryString = true\n }\n if (defaultSort && !('sort' in currentQuery)) {\n currentQuery.sort = defaultSort\n shouldUpdateQueryString = true\n }\n if (shouldUpdateQueryString) {\n router.replace(`?${qs.stringify(currentQuery)}`)\n }\n }\n\n hasSetInitialParams.current = true\n }\n }, [defaultSort, defaultLimit, router, modifySearchParams, currentQuery])\n\n return (\n <Context.Provider\n value={{\n data,\n handlePageChange,\n handlePerPageChange,\n handleSearchChange,\n handleSortChange,\n handleWhereChange,\n refineListData,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n"],"names":["useRouter","isNumber","qs","React","createContext","useContext","usePreferences","useSearchParams","Context","useListQuery","ListQueryProvider","children","data","defaultLimit","defaultSort","handlePageChange","handlePageChangeFromProps","handlePerPageChange","handlePerPageChangeFromProps","handleSearchChange","handleSearchChangeFromProps","handleSortChange","handleSortChangeFromProps","handleWhereChange","handleWhereChangeFromProps","modifySearchParams","preferenceKey","router","setPreference","hasSetInitialParams","useRef","searchParams","currentQuery","refineListData","useCallback","query","updatedPreferences","updatePreferences","limit","sort","params","page","search","where","replace","stringify","addQueryPrefix","arg","String","useEffect","current","shouldUpdateQueryString","Provider","value"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/ListQuery/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport { useRouter } from 'next/navigation.js'\nimport { isNumber } from 'payload/shared'\nimport qs from 'qs'\nimport React, { createContext, useContext } from 'react'\n\nimport type { Column } from '../../elements/Table/index.js'\n\nimport { usePreferences } from '../Preferences/index.js'\nimport { useSearchParams } from '../SearchParams/index.js'\n\nexport type ColumnPreferences = Pick<Column, 'accessor' | 'active'>[]\n\ntype Handlers = {\n handlePageChange?: (page: number) => void\n handlePerPageChange?: (limit: number) => void\n handleSearchChange?: (search: string) => void\n handleSortChange?: (sort: string) => void\n handleWhereChange?: (where: Where) => void\n}\n\nexport type ListQueryProps = {\n children: React.ReactNode\n data: PaginatedDocs\n defaultLimit?: number\n defaultSort?: string\n modifySearchParams?: boolean\n preferenceKey?: string\n} & Handlers\n\nexport type ListQueryContext = Handlers & {\n data: PaginatedDocs\n defaultLimit?: number\n defaultSort?: string\n refineListData: (args: RefineOverrides) => void\n}\n\nconst Context = createContext({} as ListQueryContext)\n\nexport const useListQuery = (): ListQueryContext => useContext(Context)\n\ntype RefineOverrides = {\n limit?: string\n page?: string\n search?: string\n sort?: string\n where?: Where\n}\n\nexport const ListQueryProvider: React.FC<ListQueryProps> = ({\n children,\n data,\n defaultLimit,\n defaultSort,\n handlePageChange: handlePageChangeFromProps,\n handlePerPageChange: handlePerPageChangeFromProps,\n handleSearchChange: handleSearchChangeFromProps,\n handleSortChange: handleSortChangeFromProps,\n handleWhereChange: handleWhereChangeFromProps,\n modifySearchParams,\n preferenceKey,\n}) => {\n const router = useRouter()\n const { setPreference } = usePreferences()\n const hasSetInitialParams = React.useRef(false)\n const { searchParams: currentQuery } = useSearchParams()\n\n const refineListData = React.useCallback(\n async (query: RefineOverrides) => {\n if (!modifySearchParams) return\n\n const updatedPreferences: Record<string, unknown> = {}\n let updatePreferences = false\n\n if ('limit' in query) {\n updatedPreferences.limit = query.limit\n updatePreferences = true\n }\n if ('sort' in query) {\n updatedPreferences.sort = query.sort\n updatePreferences = true\n }\n if (updatePreferences && preferenceKey) {\n await setPreference(preferenceKey, updatedPreferences)\n }\n\n const params = {\n limit: 'limit' in query ? query.limit : currentQuery?.limit,\n page: 'page' in query ? query.page : currentQuery?.page,\n search: 'search' in query ? query.search : currentQuery?.search,\n sort: 'sort' in query ? query.sort : currentQuery?.sort,\n where: 'where' in query ? query.where : currentQuery?.where,\n }\n\n router.replace(`${qs.stringify(params, { addQueryPrefix: true })}`)\n },\n [preferenceKey, modifySearchParams, router, setPreference, currentQuery],\n )\n\n const handlePageChange = React.useCallback(\n async (arg: number) => {\n if (typeof handlePageChangeFromProps === 'function') {\n handlePageChangeFromProps(arg)\n }\n await refineListData({ page: String(arg) })\n },\n [refineListData, handlePageChangeFromProps],\n )\n const handlePerPageChange = React.useCallback(\n async (arg: number) => {\n if (typeof handlePerPageChangeFromProps === 'function') {\n handlePerPageChangeFromProps(arg)\n }\n await refineListData({ limit: String(arg) })\n },\n [refineListData, handlePerPageChangeFromProps],\n )\n const handleSearchChange = React.useCallback(\n async (arg: string) => {\n if (typeof handleSearchChangeFromProps === 'function') {\n handleSearchChangeFromProps(arg)\n }\n await refineListData({ search: arg })\n },\n [refineListData, handleSearchChangeFromProps],\n )\n const handleSortChange = React.useCallback(\n async (arg: string) => {\n if (typeof handleSortChangeFromProps === 'function') {\n handleSortChangeFromProps(arg)\n }\n await refineListData({ sort: arg })\n },\n [refineListData, handleSortChangeFromProps],\n )\n const handleWhereChange = React.useCallback(\n async (arg: Where) => {\n if (typeof handleWhereChangeFromProps === 'function') {\n handleWhereChangeFromProps(arg)\n }\n await refineListData({ where: arg })\n },\n [refineListData, handleWhereChangeFromProps],\n )\n\n React.useEffect(() => {\n if (!hasSetInitialParams.current) {\n if (modifySearchParams) {\n let shouldUpdateQueryString = false\n\n if (isNumber(defaultLimit) && !('limit' in currentQuery)) {\n currentQuery.limit = String(defaultLimit)\n shouldUpdateQueryString = true\n }\n if (defaultSort && !('sort' in currentQuery)) {\n currentQuery.sort = defaultSort\n shouldUpdateQueryString = true\n }\n if (shouldUpdateQueryString) {\n router.replace(`?${qs.stringify(currentQuery)}`)\n }\n }\n\n hasSetInitialParams.current = true\n }\n }, [defaultSort, defaultLimit, router, modifySearchParams, currentQuery])\n\n return (\n <Context.Provider\n value={{\n data,\n handlePageChange,\n handlePerPageChange,\n handleSearchChange,\n handleSortChange,\n handleWhereChange,\n refineListData,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n"],"names":["useRouter","isNumber","qs","React","createContext","useContext","usePreferences","useSearchParams","Context","useListQuery","ListQueryProvider","children","data","defaultLimit","defaultSort","handlePageChange","handlePageChangeFromProps","handlePerPageChange","handlePerPageChangeFromProps","handleSearchChange","handleSearchChangeFromProps","handleSortChange","handleSortChangeFromProps","handleWhereChange","handleWhereChangeFromProps","modifySearchParams","preferenceKey","router","setPreference","hasSetInitialParams","useRef","searchParams","currentQuery","refineListData","useCallback","query","updatedPreferences","updatePreferences","limit","sort","params","page","search","where","replace","stringify","addQueryPrefix","arg","String","useEffect","current","shouldUpdateQueryString","Provider","value"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/Locale/index.tsx"],"sourcesContent":["'use client'\n\nimport type { Locale } from 'payload'\n\nimport React, { createContext, useContext, useEffect, useState } from 'react'\n\nimport { findLocaleFromCode } from '../../utilities/findLocaleFromCode.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useSearchParams } from '../SearchParams/index.js'\n\nconst LocaleContext = createContext({} as Locale)\n\nexport const LocaleProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const { localization } = useConfig()\n\n const { user } = useAuth()\n const defaultLocale =\n localization && localization.defaultLocale ? localization.defaultLocale : 'en'\n\n const { searchParams } = useSearchParams()\n const localeFromParams = searchParams?.locale\n\n const [localeCode, setLocaleCode] = useState<string>(\n (localeFromParams as string) || defaultLocale,\n )\n\n const [locale, setLocale] = useState<Locale | null>(\n localization && findLocaleFromCode(localization, localeCode),\n )\n\n const { getPreference, setPreference } = usePreferences()\n\n const switchLocale = React.useCallback(\n async (newLocale: string) => {\n if (!localization) {\n return\n }\n\n const localeToSet =\n localization.localeCodes.indexOf(newLocale) > -1 ? newLocale : defaultLocale\n\n if (localeToSet !== localeCode) {\n setLocaleCode(localeToSet)\n setLocale(findLocaleFromCode(localization, localeToSet))\n try {\n if (user) await setPreference('locale', localeToSet)\n } catch (error) {\n // swallow error\n }\n }\n },\n [localization, setPreference, user, defaultLocale, localeCode],\n )\n\n useEffect(() => {\n async function setInitialLocale() {\n let localeToSet = defaultLocale\n\n if (typeof localeFromParams === 'string') {\n localeToSet = localeFromParams\n } else if (user) {\n try {\n localeToSet = await getPreference<string>('locale')\n } catch (error) {\n // swallow error\n }\n }\n\n await switchLocale(localeToSet)\n }\n\n void setInitialLocale()\n }, [\n defaultLocale,\n getPreference,\n localization,\n localeFromParams,\n setPreference,\n user,\n switchLocale,\n ])\n\n return <LocaleContext.Provider value={locale}>{children}</LocaleContext.Provider>\n}\n\n/**\n * A hook that returns the current locale object.\n */\nexport const useLocale = (): Locale => useContext(LocaleContext)\n"],"names":["React","createContext","useContext","useEffect","useState","findLocaleFromCode","useAuth","useConfig","usePreferences","useSearchParams","LocaleContext","LocaleProvider","children","localization","user","defaultLocale","searchParams","localeFromParams","locale","localeCode","setLocaleCode","setLocale","getPreference","setPreference","switchLocale","useCallback","newLocale","localeToSet","localeCodes","indexOf","error","setInitialLocale","Provider","value","useLocale"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/Locale/index.tsx"],"sourcesContent":["'use client'\n\nimport type { Locale } from 'payload'\n\nimport React, { createContext, useContext, useEffect, useState } from 'react'\n\nimport { findLocaleFromCode } from '../../utilities/findLocaleFromCode.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useSearchParams } from '../SearchParams/index.js'\n\nconst LocaleContext = createContext({} as Locale)\n\nexport const LocaleProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const { localization } = useConfig()\n\n const { user } = useAuth()\n const defaultLocale =\n localization && localization.defaultLocale ? localization.defaultLocale : 'en'\n\n const { searchParams } = useSearchParams()\n const localeFromParams = searchParams?.locale\n\n const [localeCode, setLocaleCode] = useState<string>(\n (localeFromParams as string) || defaultLocale,\n )\n\n const [locale, setLocale] = useState<Locale | null>(\n localization && findLocaleFromCode(localization, localeCode),\n )\n\n const { getPreference, setPreference } = usePreferences()\n\n const switchLocale = React.useCallback(\n async (newLocale: string) => {\n if (!localization) {\n return\n }\n\n const localeToSet =\n localization.localeCodes.indexOf(newLocale) > -1 ? newLocale : defaultLocale\n\n if (localeToSet !== localeCode) {\n setLocaleCode(localeToSet)\n setLocale(findLocaleFromCode(localization, localeToSet))\n try {\n if (user) await setPreference('locale', localeToSet)\n } catch (error) {\n // swallow error\n }\n }\n },\n [localization, setPreference, user, defaultLocale, localeCode],\n )\n\n useEffect(() => {\n async function setInitialLocale() {\n let localeToSet = defaultLocale\n\n if (typeof localeFromParams === 'string') {\n localeToSet = localeFromParams\n } else if (user) {\n try {\n localeToSet = await getPreference<string>('locale')\n } catch (error) {\n // swallow error\n }\n }\n\n await switchLocale(localeToSet)\n }\n\n void setInitialLocale()\n }, [\n defaultLocale,\n getPreference,\n localization,\n localeFromParams,\n setPreference,\n user,\n switchLocale,\n ])\n\n return <LocaleContext.Provider value={locale}>{children}</LocaleContext.Provider>\n}\n\n/**\n * A hook that returns the current locale object.\n */\nexport const useLocale = (): Locale => useContext(LocaleContext)\n"],"names":["React","createContext","useContext","useEffect","useState","findLocaleFromCode","useAuth","useConfig","usePreferences","useSearchParams","LocaleContext","LocaleProvider","children","localization","user","defaultLocale","searchParams","localeFromParams","locale","localeCode","setLocaleCode","setLocale","getPreference","setPreference","switchLocale","useCallback","newLocale","localeToSet","localeCodes","indexOf","error","setInitialLocale","Provider","value","useLocale"],"mappings":"AAAA;;AAIA,OAAOA,SAASC,aAAa,EAAEC,UAAU,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAE7E,SAASC,kBAAkB,QAAQ,wCAAuC;AAC1E,SAASC,OAAO,QAAQ,mBAAkB;AAC1C,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,SAASC,cAAc,QAAQ,0BAAyB;AACxD,SAASC,eAAe,QAAQ,2BAA0B;AAE1D,MAAMC,8BAAgBT,cAAc,CAAC;AAErC,OAAO,MAAMU,iBAA2D,CAAC,EAAEC,QAAQ,EAAE;IACnF,MAAM,EAAEC,YAAY,EAAE,GAAGN;IAEzB,MAAM,EAAEO,IAAI,EAAE,GAAGR;IACjB,MAAMS,gBACJF,gBAAgBA,aAAaE,aAAa,GAAGF,aAAaE,aAAa,GAAG;IAE5E,MAAM,EAAEC,YAAY,EAAE,GAAGP;IACzB,MAAMQ,mBAAmBD,cAAcE;IAEvC,MAAM,CAACC,YAAYC,cAAc,GAAGhB,SAClC,AAACa,oBAA+BF;IAGlC,MAAM,CAACG,QAAQG,UAAU,GAAGjB,SAC1BS,gBAAgBR,mBAAmBQ,cAAcM;IAGnD,MAAM,EAAEG,aAAa,EAAEC,aAAa,EAAE,GAAGf;IAEzC,MAAMgB,eAAexB,MAAMyB,WAAW,CACpC,OAAOC;QACL,IAAI,CAACb,cAAc;YACjB;QACF;QAEA,MAAMc,cACJd,aAAae,WAAW,CAACC,OAAO,CAACH,aAAa,CAAC,IAAIA,YAAYX;QAEjE,IAAIY,gBAAgBR,YAAY;YAC9BC,cAAcO;YACdN,UAAUhB,mBAAmBQ,cAAcc;YAC3C,IAAI;gBACF,IAAIb,MAAM,MAAMS,cAAc,UAAUI;YAC1C,EAAE,OAAOG,OAAO;YACd,gBAAgB;YAClB;QACF;IACF,GACA;QAACjB;QAAcU;QAAeT;QAAMC;QAAeI;KAAW;IAGhEhB,UAAU;QACR,eAAe4B;YACb,IAAIJ,cAAcZ;YAElB,IAAI,OAAOE,qBAAqB,UAAU;gBACxCU,cAAcV;YAChB,OAAO,IAAIH,MAAM;gBACf,IAAI;oBACFa,cAAc,MAAML,cAAsB;gBAC5C,EAAE,OAAOQ,OAAO;gBACd,gBAAgB;gBAClB;YACF;YAEA,MAAMN,aAAaG;QACrB;QAEA,KAAKI;IACP,GAAG;QACDhB;QACAO;QACAT;QACAI;QACAM;QACAT;QACAU;KACD;IAED,qBAAO,KAACd,cAAcsB,QAAQ;QAACC,OAAOf;kBAASN;;AACjD,EAAC;AAED;;CAEC,GACD,OAAO,MAAMsB,YAAY,IAAchC,WAAWQ,eAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/Operation/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, useContext } from 'react'\n\nexport const OperationContext = createContext('' as Operation)\n\nexport const OperationProvider: React.FC<{ children: React.ReactNode; operation: Operation }> = ({\n children,\n operation,\n}) => <OperationContext.Provider value={operation}>{children}</OperationContext.Provider>\n\nexport type Operation = 'create' | 'update'\n\nexport const useOperation = (): Operation | undefined => useContext(OperationContext)\n"],"names":["React","createContext","useContext","OperationContext","OperationProvider","children","operation","Provider","value","useOperation"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/Operation/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, useContext } from 'react'\n\nexport const OperationContext = createContext('' as Operation)\n\nexport const OperationProvider: React.FC<{ children: React.ReactNode; operation: Operation }> = ({\n children,\n operation,\n}) => <OperationContext.Provider value={operation}>{children}</OperationContext.Provider>\n\nexport type Operation = 'create' | 'update'\n\nexport const useOperation = (): Operation | undefined => useContext(OperationContext)\n"],"names":["React","createContext","useContext","OperationContext","OperationProvider","children","operation","Provider","value","useOperation"],"mappings":"AAAA;;AACA,OAAOA,SAASC,aAAa,EAAEC,UAAU,QAAQ,QAAO;AAExD,OAAO,MAAMC,iCAAmBF,cAAc,IAAgB;AAE9D,OAAO,MAAMG,oBAAmF,CAAC,EAC/FC,QAAQ,EACRC,SAAS,EACV,iBAAK,KAACH,iBAAiBI,QAAQ;QAACC,OAAOF;kBAAYD;OAAqC;AAIzF,OAAO,MAAMI,eAAe,IAA6BP,WAAWC,kBAAiB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/Params/index.tsx"],"sourcesContent":["'use client'\nimport type { Params } from 'next/dist/shared/lib/router/utils/route-matcher.js'\n\nimport { useParams as useNextParams } from 'next/navigation.js'\nimport React, { createContext, useContext } from 'react'\n\ninterface IParamsContext extends Params {}\n\nconst Context = createContext<IParamsContext>({} as IParamsContext)\n\n// TODO: abstract the `next/navigation` dependency out from this provider so that it can be used in other contexts\nexport const ParamsProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const params = useNextParams()\n return <Context.Provider value={params}>{children}</Context.Provider>\n}\n\nexport const useParams = (): IParamsContext => useContext(Context)\n"],"names":["useParams","useNextParams","React","createContext","useContext","Context","ParamsProvider","children","params","Provider","value"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/Params/index.tsx"],"sourcesContent":["'use client'\nimport type { Params } from 'next/dist/shared/lib/router/utils/route-matcher.js'\n\nimport { useParams as useNextParams } from 'next/navigation.js'\nimport React, { createContext, useContext } from 'react'\n\ninterface IParamsContext extends Params {}\n\nconst Context = createContext<IParamsContext>({} as IParamsContext)\n\n// TODO: abstract the `next/navigation` dependency out from this provider so that it can be used in other contexts\nexport const ParamsProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const params = useNextParams()\n return <Context.Provider value={params}>{children}</Context.Provider>\n}\n\nexport const useParams = (): IParamsContext => useContext(Context)\n"],"names":["useParams","useNextParams","React","createContext","useContext","Context","ParamsProvider","children","params","Provider","value"],"mappings":"AAAA;;AAGA,SAASA,aAAaC,aAAa,QAAQ,qBAAoB;AAC/D,OAAOC,SAASC,aAAa,EAAEC,UAAU,QAAQ,QAAO;AAIxD,MAAMC,wBAAUF,cAA8B,CAAC;AAE/C,kHAAkH;AAClH,OAAO,MAAMG,iBAA2D,CAAC,EAAEC,QAAQ,EAAE;IACnF,MAAMC,SAASP;IACf,qBAAO,KAACI,QAAQI,QAAQ;QAACC,OAAOF;kBAASD;;AAC3C,EAAC;AAED,OAAO,MAAMP,YAAY,IAAsBI,WAAWC,SAAQ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import
|
|
3
|
+
import { dequal } from 'dequal/lite'; // lite: no need for Map and Set support
|
|
4
4
|
import React, { createContext, useCallback, useContext, useEffect, useRef } from 'react';
|
|
5
5
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
6
6
|
import { requests } from '../../utilities/api.js';
|
|
@@ -74,7 +74,7 @@ export const PreferencesProvider = ({ children })=>{
|
|
|
74
74
|
...currentPreference || {},
|
|
75
75
|
...value
|
|
76
76
|
};
|
|
77
|
-
if (
|
|
77
|
+
if (dequal(newValue, currentPreference)) {
|
|
78
78
|
return;
|
|
79
79
|
}
|
|
80
80
|
// add the requested changes to a pendingUpdate batch for the key
|
|
@@ -90,7 +90,7 @@ export const PreferencesProvider = ({ children })=>{
|
|
|
90
90
|
}
|
|
91
91
|
const updatePreference = async ()=>{
|
|
92
92
|
// compare the value stored in context before sending to eliminate duplicate requests
|
|
93
|
-
if (
|
|
93
|
+
if (dequal(pendingUpdate.current[key], preferencesRef.current[key])) {
|
|
94
94
|
return;
|
|
95
95
|
}
|
|
96
96
|
// preference set in context here to prevent other updatePreference at the same time
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/Preferences/index.tsx"],"sourcesContent":["'use client'\nimport
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/Preferences/index.tsx"],"sourcesContent":["'use client'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport React, { createContext, useCallback, useContext, useEffect, useRef } from 'react'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\n\ntype PreferencesContext = {\n getPreference: <T = any>(key: string) => Promise<T>\n /**\n * @param key - a string identifier for the property being set\n * @param value - preference data to store\n * @param merge - when true will combine the existing preference object batch the change into one request for objects, default = false\n */\n setPreference: <T = any>(key: string, value: T, merge?: boolean) => Promise<void>\n}\n\nconst Context = createContext({} as PreferencesContext)\n\nconst requestOptions = (value, language) => ({\n body: JSON.stringify({ value }),\n headers: {\n 'Accept-Language': language,\n 'Content-Type': 'application/json',\n },\n})\n\nexport const PreferencesProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const contextRef = useRef({} as PreferencesContext)\n const preferencesRef = useRef({})\n const pendingUpdate = useRef({})\n const config = useConfig()\n const { user } = useAuth()\n const { i18n } = useTranslation()\n\n const {\n routes: { api },\n serverURL,\n } = config\n\n useEffect(() => {\n if (!user) {\n // clear preferences between users\n preferencesRef.current = {}\n }\n }, [user])\n\n const getPreference = useCallback(\n async <T = any,>(key: string): Promise<T> => {\n const prefs = preferencesRef.current\n if (typeof prefs[key] !== 'undefined') return prefs[key]\n const promise = new Promise((resolve: (value: T) => void) => {\n void (async () => {\n const request = await requests.get(`${serverURL}${api}/payload-preferences/${key}`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n let value = null\n if (request.status === 200) {\n const preference = await request.json()\n value = preference.value\n }\n preferencesRef.current[key] = value\n resolve(value)\n })()\n })\n prefs[key] = promise\n return promise\n },\n [i18n.language, api, preferencesRef, serverURL],\n )\n\n const setPreference = useCallback(\n async (key: string, value: unknown, merge = false): Promise<void> => {\n if (merge === false) {\n preferencesRef.current[key] = value\n\n await requests.post(\n `${serverURL}${api}/payload-preferences/${key}`,\n requestOptions(value, i18n.language),\n )\n\n return\n }\n\n let newValue = value\n const currentPreference = await getPreference(key)\n // handle value objects where multiple values can be set under one key\n if (\n typeof value === 'object' &&\n typeof currentPreference === 'object' &&\n typeof newValue === 'object'\n ) {\n // merge the value with any existing preference for the key\n newValue = { ...(currentPreference || {}), ...value }\n\n if (dequal(newValue, currentPreference)) {\n return\n }\n\n // add the requested changes to a pendingUpdate batch for the key\n pendingUpdate.current[key] = {\n ...pendingUpdate.current[key],\n ...(newValue as Record<string, unknown>),\n }\n } else {\n if (newValue === currentPreference) {\n return\n }\n pendingUpdate.current[key] = newValue\n }\n\n const updatePreference = async () => {\n // compare the value stored in context before sending to eliminate duplicate requests\n if (dequal(pendingUpdate.current[key], preferencesRef.current[key])) {\n return\n }\n\n // preference set in context here to prevent other updatePreference at the same time\n preferencesRef.current[key] = pendingUpdate.current[key]\n\n await requests.post(\n `${serverURL}${api}/payload-preferences/${key}`,\n requestOptions(preferencesRef.current[key], i18n.language),\n )\n\n // reset any changes for this key after sending the request\n delete pendingUpdate.current[key]\n }\n\n // use timeout to allow multiple changes of different values using the same key in one request\n setTimeout(() => {\n void updatePreference()\n })\n },\n [api, getPreference, i18n.language, pendingUpdate, serverURL],\n )\n\n contextRef.current.getPreference = getPreference\n contextRef.current.setPreference = setPreference\n\n return <Context.Provider value={contextRef.current}>{children}</Context.Provider>\n}\n\nexport const usePreferences = (): PreferencesContext => useContext(Context)\n"],"names":["dequal","React","createContext","useCallback","useContext","useEffect","useRef","useTranslation","requests","useAuth","useConfig","Context","requestOptions","value","language","body","JSON","stringify","headers","PreferencesProvider","children","contextRef","preferencesRef","pendingUpdate","config","user","i18n","routes","api","serverURL","current","getPreference","key","prefs","promise","Promise","resolve","request","get","status","preference","json","setPreference","merge","post","newValue","currentPreference","updatePreference","setTimeout","Provider","usePreferences"],"mappings":"AAAA;;AACA,SAASA,MAAM,QAAQ,cAAa,CAAC,wCAAwC;AAC7E,OAAOC,SAASC,aAAa,EAAEC,WAAW,EAAEC,UAAU,EAAEC,SAAS,EAAEC,MAAM,QAAQ,QAAO;AAExF,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,QAAQ,QAAQ,yBAAwB;AACjD,SAASC,OAAO,QAAQ,mBAAkB;AAC1C,SAASC,SAAS,QAAQ,qBAAoB;AAY9C,MAAMC,wBAAUT,cAAc,CAAC;AAE/B,MAAMU,iBAAiB,CAACC,OAAOC,WAAc,CAAA;QAC3CC,MAAMC,KAAKC,SAAS,CAAC;YAAEJ;QAAM;QAC7BK,SAAS;YACP,mBAAmBJ;YACnB,gBAAgB;QAClB;IACF,CAAA;AAEA,OAAO,MAAMK,sBAAgE,CAAC,EAAEC,QAAQ,EAAE;IACxF,MAAMC,aAAaf,OAAO,CAAC;IAC3B,MAAMgB,iBAAiBhB,OAAO,CAAC;IAC/B,MAAMiB,gBAAgBjB,OAAO,CAAC;IAC9B,MAAMkB,SAASd;IACf,MAAM,EAAEe,IAAI,EAAE,GAAGhB;IACjB,MAAM,EAAEiB,IAAI,EAAE,GAAGnB;IAEjB,MAAM,EACJoB,QAAQ,EAAEC,GAAG,EAAE,EACfC,SAAS,EACV,GAAGL;IAEJnB,UAAU;QACR,IAAI,CAACoB,MAAM;YACT,kCAAkC;YAClCH,eAAeQ,OAAO,GAAG,CAAC;QAC5B;IACF,GAAG;QAACL;KAAK;IAET,MAAMM,gBAAgB5B,YACpB,OAAiB6B;QACf,MAAMC,QAAQX,eAAeQ,OAAO;QACpC,IAAI,OAAOG,KAAK,CAACD,IAAI,KAAK,aAAa,OAAOC,KAAK,CAACD,IAAI;QACxD,MAAME,UAAU,IAAIC,QAAQ,CAACC;YAC3B,KAAK,AAAC,CAAA;gBACJ,MAAMC,UAAU,MAAM7B,SAAS8B,GAAG,CAAC,CAAC,EAAET,UAAU,EAAED,IAAI,qBAAqB,EAAEI,IAAI,CAAC,EAAE;oBAClFd,SAAS;wBACP,mBAAmBQ,KAAKZ,QAAQ;oBAClC;gBACF;gBACA,IAAID,QAAQ;gBACZ,IAAIwB,QAAQE,MAAM,KAAK,KAAK;oBAC1B,MAAMC,aAAa,MAAMH,QAAQI,IAAI;oBACrC5B,QAAQ2B,WAAW3B,KAAK;gBAC1B;gBACAS,eAAeQ,OAAO,CAACE,IAAI,GAAGnB;gBAC9BuB,QAAQvB;YACV,CAAA;QACF;QACAoB,KAAK,CAACD,IAAI,GAAGE;QACb,OAAOA;IACT,GACA;QAACR,KAAKZ,QAAQ;QAAEc;QAAKN;QAAgBO;KAAU;IAGjD,MAAMa,gBAAgBvC,YACpB,OAAO6B,KAAanB,OAAgB8B,QAAQ,KAAK;QAC/C,IAAIA,UAAU,OAAO;YACnBrB,eAAeQ,OAAO,CAACE,IAAI,GAAGnB;YAE9B,MAAML,SAASoC,IAAI,CACjB,CAAC,EAAEf,UAAU,EAAED,IAAI,qBAAqB,EAAEI,IAAI,CAAC,EAC/CpB,eAAeC,OAAOa,KAAKZ,QAAQ;YAGrC;QACF;QAEA,IAAI+B,WAAWhC;QACf,MAAMiC,oBAAoB,MAAMf,cAAcC;QAC9C,sEAAsE;QACtE,IACE,OAAOnB,UAAU,YACjB,OAAOiC,sBAAsB,YAC7B,OAAOD,aAAa,UACpB;YACA,2DAA2D;YAC3DA,WAAW;gBAAE,GAAIC,qBAAqB,CAAC,CAAC;gBAAG,GAAGjC,KAAK;YAAC;YAEpD,IAAIb,OAAO6C,UAAUC,oBAAoB;gBACvC;YACF;YAEA,iEAAiE;YACjEvB,cAAcO,OAAO,CAACE,IAAI,GAAG;gBAC3B,GAAGT,cAAcO,OAAO,CAACE,IAAI;gBAC7B,GAAIa,QAAQ;YACd;QACF,OAAO;YACL,IAAIA,aAAaC,mBAAmB;gBAClC;YACF;YACAvB,cAAcO,OAAO,CAACE,IAAI,GAAGa;QAC/B;QAEA,MAAME,mBAAmB;YACvB,qFAAqF;YACrF,IAAI/C,OAAOuB,cAAcO,OAAO,CAACE,IAAI,EAAEV,eAAeQ,OAAO,CAACE,IAAI,GAAG;gBACnE;YACF;YAEA,oFAAoF;YACpFV,eAAeQ,OAAO,CAACE,IAAI,GAAGT,cAAcO,OAAO,CAACE,IAAI;YAExD,MAAMxB,SAASoC,IAAI,CACjB,CAAC,EAAEf,UAAU,EAAED,IAAI,qBAAqB,EAAEI,IAAI,CAAC,EAC/CpB,eAAeU,eAAeQ,OAAO,CAACE,IAAI,EAAEN,KAAKZ,QAAQ;YAG3D,2DAA2D;YAC3D,OAAOS,cAAcO,OAAO,CAACE,IAAI;QACnC;QAEA,8FAA8F;QAC9FgB,WAAW;YACT,KAAKD;QACP;IACF,GACA;QAACnB;QAAKG;QAAeL,KAAKZ,QAAQ;QAAES;QAAeM;KAAU;IAG/DR,WAAWS,OAAO,CAACC,aAAa,GAAGA;IACnCV,WAAWS,OAAO,CAACY,aAAa,GAAGA;IAEnC,qBAAO,KAAC/B,QAAQsC,QAAQ;QAACpC,OAAOQ,WAAWS,OAAO;kBAAGV;;AACvD,EAAC;AAED,OAAO,MAAM8B,iBAAiB,IAA0B9C,WAAWO,SAAQ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/Root/index.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient, Language } from '@payloadcms/translations'\nimport type { ClientConfig, LanguageOptions } from 'payload'\n\nimport { ModalContainer, ModalProvider } from '@faceless-ui/modal'\nimport { ScrollInfoProvider } from '@faceless-ui/scroll-info'\nimport { WindowInfoProvider } from '@faceless-ui/window-info'\nimport React, { Fragment } from 'react'\n\nimport type { ComponentMap } from '../ComponentMap/buildComponentMap/types.js'\nimport type { Theme } from '../Theme/index.js'\n\nimport { LoadingOverlayProvider } from '../../elements/LoadingOverlay/index.js'\nimport { NavProvider } from '../../elements/Nav/context.js'\nimport { StayLoggedInModal } from '../../elements/StayLoggedIn/index.js'\nimport { StepNavProvider } from '../../elements/StepNav/index.js'\nimport { ActionsProvider } from '../Actions/index.js'\nimport { AuthProvider } from '../Auth/index.js'\nimport { ClientFunctionProvider } from '../ClientFunction/index.js'\nimport { ComponentMapProvider } from '../ComponentMap/index.js'\nimport { ConfigProvider } from '../Config/index.js'\nimport { DocumentEventsProvider } from '../DocumentEvents/index.js'\nimport { FieldComponentsProvider } from '../FieldComponents/index.js'\nimport { LocaleProvider } from '../Locale/index.js'\nimport { ParamsProvider } from '../Params/index.js'\nimport { PreferencesProvider } from '../Preferences/index.js'\nimport { RouteCache } from '../RouteCache/index.js'\nimport { SearchParamsProvider } from '../SearchParams/index.js'\nimport { ThemeProvider } from '../Theme/index.js'\nimport { ToastContainer } from '../ToastContainer/index.js'\nimport { TranslationProvider } from '../Translation/index.js'\n\ntype Props = {\n children: React.ReactNode\n componentMap: ComponentMap\n config: ClientConfig\n dateFNSKey: Language['dateFNSKey']\n fallbackLang: ClientConfig['i18n']['fallbackLanguage']\n languageCode: string\n languageOptions: LanguageOptions\n switchLanguageServerAction?: (lang: string) => Promise<void>\n theme: Theme\n translations: I18nClient['translations']\n}\n\nexport const RootProvider: React.FC<Props> = ({\n children,\n componentMap,\n config,\n dateFNSKey,\n fallbackLang,\n languageCode,\n languageOptions,\n switchLanguageServerAction,\n theme,\n translations,\n}) => {\n return (\n <Fragment>\n <RouteCache>\n <ConfigProvider config={config}>\n <ComponentMapProvider componentMap={componentMap}>\n <FieldComponentsProvider>\n <ClientFunctionProvider>\n <TranslationProvider\n dateFNSKey={dateFNSKey}\n fallbackLang={fallbackLang}\n language={languageCode}\n languageOptions={languageOptions}\n switchLanguageServerAction={switchLanguageServerAction}\n translations={translations}\n >\n <WindowInfoProvider\n breakpoints={{\n l: '(max-width: 1440px)',\n m: '(max-width: 1024px)',\n s: '(max-width: 768px)',\n xs: '(max-width: 400px)',\n }}\n >\n <ScrollInfoProvider>\n <SearchParamsProvider>\n <ModalProvider classPrefix=\"payload\" transTime={0} zIndex=\"var(--z-modal)\">\n <AuthProvider>\n <PreferencesProvider>\n <ThemeProvider cookiePrefix={config.cookiePrefix} theme={theme}>\n <ParamsProvider>\n <LocaleProvider>\n <StepNavProvider>\n <LoadingOverlayProvider>\n <DocumentEventsProvider>\n <ActionsProvider>\n <NavProvider>{children}</NavProvider>\n </ActionsProvider>\n </DocumentEventsProvider>\n </LoadingOverlayProvider>\n </StepNavProvider>\n </LocaleProvider>\n </ParamsProvider>\n </ThemeProvider>\n </PreferencesProvider>\n <ModalContainer />\n <StayLoggedInModal />\n </AuthProvider>\n </ModalProvider>\n </SearchParamsProvider>\n </ScrollInfoProvider>\n </WindowInfoProvider>\n </TranslationProvider>\n </ClientFunctionProvider>\n </FieldComponentsProvider>\n </ComponentMapProvider>\n </ConfigProvider>\n </RouteCache>\n <ToastContainer />\n </Fragment>\n )\n}\n"],"names":["ModalContainer","ModalProvider","ScrollInfoProvider","WindowInfoProvider","React","Fragment","LoadingOverlayProvider","NavProvider","StayLoggedInModal","StepNavProvider","ActionsProvider","AuthProvider","ClientFunctionProvider","ComponentMapProvider","ConfigProvider","DocumentEventsProvider","FieldComponentsProvider","LocaleProvider","ParamsProvider","PreferencesProvider","RouteCache","SearchParamsProvider","ThemeProvider","ToastContainer","TranslationProvider","RootProvider","children","componentMap","config","dateFNSKey","fallbackLang","languageCode","languageOptions","switchLanguageServerAction","theme","translations","language","breakpoints","l","m","s","xs","classPrefix","transTime","zIndex","cookiePrefix"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/Root/index.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient, Language } from '@payloadcms/translations'\nimport type { ClientConfig, LanguageOptions } from 'payload'\n\nimport { ModalContainer, ModalProvider } from '@faceless-ui/modal'\nimport { ScrollInfoProvider } from '@faceless-ui/scroll-info'\nimport { WindowInfoProvider } from '@faceless-ui/window-info'\nimport React, { Fragment } from 'react'\n\nimport type { ComponentMap } from '../ComponentMap/buildComponentMap/types.js'\nimport type { Theme } from '../Theme/index.js'\n\nimport { LoadingOverlayProvider } from '../../elements/LoadingOverlay/index.js'\nimport { NavProvider } from '../../elements/Nav/context.js'\nimport { StayLoggedInModal } from '../../elements/StayLoggedIn/index.js'\nimport { StepNavProvider } from '../../elements/StepNav/index.js'\nimport { ActionsProvider } from '../Actions/index.js'\nimport { AuthProvider } from '../Auth/index.js'\nimport { ClientFunctionProvider } from '../ClientFunction/index.js'\nimport { ComponentMapProvider } from '../ComponentMap/index.js'\nimport { ConfigProvider } from '../Config/index.js'\nimport { DocumentEventsProvider } from '../DocumentEvents/index.js'\nimport { FieldComponentsProvider } from '../FieldComponents/index.js'\nimport { LocaleProvider } from '../Locale/index.js'\nimport { ParamsProvider } from '../Params/index.js'\nimport { PreferencesProvider } from '../Preferences/index.js'\nimport { RouteCache } from '../RouteCache/index.js'\nimport { SearchParamsProvider } from '../SearchParams/index.js'\nimport { ThemeProvider } from '../Theme/index.js'\nimport { ToastContainer } from '../ToastContainer/index.js'\nimport { TranslationProvider } from '../Translation/index.js'\n\ntype Props = {\n children: React.ReactNode\n componentMap: ComponentMap\n config: ClientConfig\n dateFNSKey: Language['dateFNSKey']\n fallbackLang: ClientConfig['i18n']['fallbackLanguage']\n languageCode: string\n languageOptions: LanguageOptions\n switchLanguageServerAction?: (lang: string) => Promise<void>\n theme: Theme\n translations: I18nClient['translations']\n}\n\nexport const RootProvider: React.FC<Props> = ({\n children,\n componentMap,\n config,\n dateFNSKey,\n fallbackLang,\n languageCode,\n languageOptions,\n switchLanguageServerAction,\n theme,\n translations,\n}) => {\n return (\n <Fragment>\n <RouteCache>\n <ConfigProvider config={config}>\n <ComponentMapProvider componentMap={componentMap}>\n <FieldComponentsProvider>\n <ClientFunctionProvider>\n <TranslationProvider\n dateFNSKey={dateFNSKey}\n fallbackLang={fallbackLang}\n language={languageCode}\n languageOptions={languageOptions}\n switchLanguageServerAction={switchLanguageServerAction}\n translations={translations}\n >\n <WindowInfoProvider\n breakpoints={{\n l: '(max-width: 1440px)',\n m: '(max-width: 1024px)',\n s: '(max-width: 768px)',\n xs: '(max-width: 400px)',\n }}\n >\n <ScrollInfoProvider>\n <SearchParamsProvider>\n <ModalProvider classPrefix=\"payload\" transTime={0} zIndex=\"var(--z-modal)\">\n <AuthProvider>\n <PreferencesProvider>\n <ThemeProvider cookiePrefix={config.cookiePrefix} theme={theme}>\n <ParamsProvider>\n <LocaleProvider>\n <StepNavProvider>\n <LoadingOverlayProvider>\n <DocumentEventsProvider>\n <ActionsProvider>\n <NavProvider>{children}</NavProvider>\n </ActionsProvider>\n </DocumentEventsProvider>\n </LoadingOverlayProvider>\n </StepNavProvider>\n </LocaleProvider>\n </ParamsProvider>\n </ThemeProvider>\n </PreferencesProvider>\n <ModalContainer />\n <StayLoggedInModal />\n </AuthProvider>\n </ModalProvider>\n </SearchParamsProvider>\n </ScrollInfoProvider>\n </WindowInfoProvider>\n </TranslationProvider>\n </ClientFunctionProvider>\n </FieldComponentsProvider>\n </ComponentMapProvider>\n </ConfigProvider>\n </RouteCache>\n <ToastContainer />\n </Fragment>\n )\n}\n"],"names":["ModalContainer","ModalProvider","ScrollInfoProvider","WindowInfoProvider","React","Fragment","LoadingOverlayProvider","NavProvider","StayLoggedInModal","StepNavProvider","ActionsProvider","AuthProvider","ClientFunctionProvider","ComponentMapProvider","ConfigProvider","DocumentEventsProvider","FieldComponentsProvider","LocaleProvider","ParamsProvider","PreferencesProvider","RouteCache","SearchParamsProvider","ThemeProvider","ToastContainer","TranslationProvider","RootProvider","children","componentMap","config","dateFNSKey","fallbackLang","languageCode","languageOptions","switchLanguageServerAction","theme","translations","language","breakpoints","l","m","s","xs","classPrefix","transTime","zIndex","cookiePrefix"],"mappings":"AAAA;;AAIA,SAASA,cAAc,EAAEC,aAAa,QAAQ,qBAAoB;AAClE,SAASC,kBAAkB,QAAQ,2BAA0B;AAC7D,SAASC,kBAAkB,QAAQ,2BAA0B;AAC7D,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAKvC,SAASC,sBAAsB,QAAQ,yCAAwC;AAC/E,SAASC,WAAW,QAAQ,gCAA+B;AAC3D,SAASC,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,eAAe,QAAQ,kCAAiC;AACjE,SAASC,eAAe,QAAQ,sBAAqB;AACrD,SAASC,YAAY,QAAQ,mBAAkB;AAC/C,SAASC,sBAAsB,QAAQ,6BAA4B;AACnE,SAASC,oBAAoB,QAAQ,2BAA0B;AAC/D,SAASC,cAAc,QAAQ,qBAAoB;AACnD,SAASC,sBAAsB,QAAQ,6BAA4B;AACnE,SAASC,uBAAuB,QAAQ,8BAA6B;AACrE,SAASC,cAAc,QAAQ,qBAAoB;AACnD,SAASC,cAAc,QAAQ,qBAAoB;AACnD,SAASC,mBAAmB,QAAQ,0BAAyB;AAC7D,SAASC,UAAU,QAAQ,yBAAwB;AACnD,SAASC,oBAAoB,QAAQ,2BAA0B;AAC/D,SAASC,aAAa,QAAQ,oBAAmB;AACjD,SAASC,cAAc,QAAQ,6BAA4B;AAC3D,SAASC,mBAAmB,QAAQ,0BAAyB;AAe7D,OAAO,MAAMC,eAAgC,CAAC,EAC5CC,QAAQ,EACRC,YAAY,EACZC,MAAM,EACNC,UAAU,EACVC,YAAY,EACZC,YAAY,EACZC,eAAe,EACfC,0BAA0B,EAC1BC,KAAK,EACLC,YAAY,EACb;IACC,qBACE,MAAC9B;;0BACC,KAACe;0BACC,cAAA,KAACN;oBAAec,QAAQA;8BACtB,cAAA,KAACf;wBAAqBc,cAAcA;kCAClC,cAAA,KAACX;sCACC,cAAA,KAACJ;0CACC,cAAA,KAACY;oCACCK,YAAYA;oCACZC,cAAcA;oCACdM,UAAUL;oCACVC,iBAAiBA;oCACjBC,4BAA4BA;oCAC5BE,cAAcA;8CAEd,cAAA,KAAChC;wCACCkC,aAAa;4CACXC,GAAG;4CACHC,GAAG;4CACHC,GAAG;4CACHC,IAAI;wCACN;kDAEA,cAAA,KAACvC;sDACC,cAAA,KAACmB;0DACC,cAAA,KAACpB;oDAAcyC,aAAY;oDAAUC,WAAW;oDAAGC,QAAO;8DACxD,cAAA,MAACjC;;0EACC,KAACQ;0EACC,cAAA,KAACG;oEAAcuB,cAAcjB,OAAOiB,YAAY;oEAAEX,OAAOA;8EACvD,cAAA,KAAChB;kFACC,cAAA,KAACD;sFACC,cAAA,KAACR;0FACC,cAAA,KAACH;8FACC,cAAA,KAACS;kGACC,cAAA,KAACL;sGACC,cAAA,KAACH;0GAAamB;;;;;;;;;;0EAS9B,KAAC1B;0EACD,KAACQ;;;;;;;;;;;;;0BAYvB,KAACe;;;AAGP,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/RouteCache/index.tsx"],"sourcesContent":["'use client'\n\nimport { usePathname, useRouter } from 'next/navigation.js'\nimport React, { createContext, useCallback, useContext, useEffect } from 'react'\n\nexport type RouteCacheContext = {\n clearRouteCache: () => void\n}\n\nconst Context = createContext<RouteCacheContext>({\n clearRouteCache: () => {},\n})\n\nexport const RouteCache: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const pathname = usePathname()\n const router = useRouter()\n\n const clearRouteCache = useCallback(() => {\n router.refresh()\n }, [router])\n\n useEffect(() => {\n clearRouteCache()\n }, [pathname, clearRouteCache])\n\n return <Context.Provider value={{ clearRouteCache }}>{children}</Context.Provider>\n}\n\nexport const useRouteCache = () => useContext(Context)\n"],"names":["usePathname","useRouter","React","createContext","useCallback","useContext","useEffect","Context","clearRouteCache","RouteCache","children","pathname","router","refresh","Provider","value","useRouteCache"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/RouteCache/index.tsx"],"sourcesContent":["'use client'\n\nimport { usePathname, useRouter } from 'next/navigation.js'\nimport React, { createContext, useCallback, useContext, useEffect } from 'react'\n\nexport type RouteCacheContext = {\n clearRouteCache: () => void\n}\n\nconst Context = createContext<RouteCacheContext>({\n clearRouteCache: () => {},\n})\n\nexport const RouteCache: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const pathname = usePathname()\n const router = useRouter()\n\n const clearRouteCache = useCallback(() => {\n router.refresh()\n }, [router])\n\n useEffect(() => {\n clearRouteCache()\n }, [pathname, clearRouteCache])\n\n return <Context.Provider value={{ clearRouteCache }}>{children}</Context.Provider>\n}\n\nexport const useRouteCache = () => useContext(Context)\n"],"names":["usePathname","useRouter","React","createContext","useCallback","useContext","useEffect","Context","clearRouteCache","RouteCache","children","pathname","router","refresh","Provider","value","useRouteCache"],"mappings":"AAAA;;AAEA,SAASA,WAAW,EAAEC,SAAS,QAAQ,qBAAoB;AAC3D,OAAOC,SAASC,aAAa,EAAEC,WAAW,EAAEC,UAAU,EAAEC,SAAS,QAAQ,QAAO;AAMhF,MAAMC,wBAAUJ,cAAiC;IAC/CK,iBAAiB,KAAO;AAC1B;AAEA,OAAO,MAAMC,aAAsD,CAAC,EAAEC,QAAQ,EAAE;IAC9E,MAAMC,WAAWX;IACjB,MAAMY,SAASX;IAEf,MAAMO,kBAAkBJ,YAAY;QAClCQ,OAAOC,OAAO;IAChB,GAAG;QAACD;KAAO;IAEXN,UAAU;QACRE;IACF,GAAG;QAACG;QAAUH;KAAgB;IAE9B,qBAAO,KAACD,QAAQO,QAAQ;QAACC,OAAO;YAAEP;QAAgB;kBAAIE;;AACxD,EAAC;AAED,OAAO,MAAMM,gBAAgB,IAAMX,WAAWE,SAAQ"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" resolution-mode="require"/>
|
|
2
1
|
declare const ScrollInfoProvider: import("react").FC<import("@faceless-ui/scroll-info/dist/ScrollInfoProvider/index.js").ScrollInfoProviderProps>;
|
|
3
2
|
declare const useScrollInfo: () => import("@faceless-ui/scroll-info/dist/ScrollInfoProvider/context.js").IScrollInfoContext;
|
|
4
3
|
export { ScrollInfoProvider, useScrollInfo };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ScrollInfo/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ScrollInfo/index.tsx"],"names":[],"mappings":"AACA,QAAA,MAAQ,kBAAkB,iHAGa,CAAA;AACvC,QAAA,MAAQ,aAAa,gGAGa,CAAA;AAClC,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/ScrollInfo/index.tsx"],"sourcesContent":["import * as facelessUIImport from '@faceless-ui/scroll-info'\nconst { ScrollInfoProvider } =\n facelessUIImport && 'ScrollInfoProvider' in facelessUIImport\n ? facelessUIImport\n : { ScrollInfoProvider: undefined }\nconst { useScrollInfo } =\n facelessUIImport && 'useScrollInfo' in facelessUIImport\n ? facelessUIImport\n : { useScrollInfo: undefined }\nexport { ScrollInfoProvider, useScrollInfo }\n"],"names":["facelessUIImport","ScrollInfoProvider","undefined","useScrollInfo"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/ScrollInfo/index.tsx"],"sourcesContent":["import * as facelessUIImport from '@faceless-ui/scroll-info'\nconst { ScrollInfoProvider } =\n facelessUIImport && 'ScrollInfoProvider' in facelessUIImport\n ? facelessUIImport\n : { ScrollInfoProvider: undefined }\nconst { useScrollInfo } =\n facelessUIImport && 'useScrollInfo' in facelessUIImport\n ? facelessUIImport\n : { useScrollInfo: undefined }\nexport { ScrollInfoProvider, useScrollInfo }\n"],"names":["facelessUIImport","ScrollInfoProvider","undefined","useScrollInfo"],"mappings":"AAAA,YAAYA,sBAAsB,2BAA0B;AAC5D,MAAM,EAAEC,kBAAkB,EAAE,GAC1BD,oBAAoB,wBAAwBA,mBACxCA,mBACA;IAAEC,oBAAoBC;AAAU;AACtC,MAAM,EAAEC,aAAa,EAAE,GACrBH,oBAAoB,mBAAmBA,mBACnCA,mBACA;IAAEG,eAAeD;AAAU;AACjC,SAASD,kBAAkB,EAAEE,aAAa,GAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/SearchParams/index.tsx"],"sourcesContent":["'use client'\nimport { useSearchParams as useNextSearchParams } from 'next/navigation.js'\nimport qs from 'qs'\nimport React, { createContext, useContext } from 'react'\n\nexport type SearchParamsContext = {\n searchParams: qs.ParsedQs\n stringifyParams: ({ params, replace }: { params: State; replace?: boolean }) => string\n}\n\nexport type State = qs.ParsedQs\n\nconst initialContext: SearchParamsContext = {\n searchParams: {},\n stringifyParams: () => '',\n}\n\nconst Context = createContext(initialContext)\n\nfunction createParams(search: string) {\n return qs.parse(search, {\n depth: 10,\n ignoreQueryPrefix: true,\n })\n}\n\n// TODO: abstract the `next/navigation` dependency out from this provider so that it can be used in other contexts\nexport const SearchParamsProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const nextSearchParams = useNextSearchParams()\n const searchString = nextSearchParams.toString()\n const initialParams = createParams(searchString)\n\n const [searchParams, setSearchParams] = React.useState(initialParams)\n\n const stringifyParams = React.useCallback(\n ({ params, replace = false }: { params: State; replace?: boolean }) => {\n return qs.stringify(\n {\n ...(replace ? {} : searchParams),\n ...params,\n },\n { addQueryPrefix: true },\n )\n },\n [searchParams],\n )\n\n React.useEffect(() => {\n setSearchParams(createParams(searchString))\n }, [searchString])\n\n return <Context.Provider value={{ searchParams, stringifyParams }}>{children}</Context.Provider>\n}\n\nexport const useSearchParams = (): SearchParamsContext => useContext(Context)\n"],"names":["useSearchParams","useNextSearchParams","qs","React","createContext","useContext","initialContext","searchParams","stringifyParams","Context","createParams","search","parse","depth","ignoreQueryPrefix","SearchParamsProvider","children","nextSearchParams","searchString","toString","initialParams","setSearchParams","useState","useCallback","params","replace","stringify","addQueryPrefix","useEffect","Provider","value"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/SearchParams/index.tsx"],"sourcesContent":["'use client'\nimport { useSearchParams as useNextSearchParams } from 'next/navigation.js'\nimport qs from 'qs'\nimport React, { createContext, useContext } from 'react'\n\nexport type SearchParamsContext = {\n searchParams: qs.ParsedQs\n stringifyParams: ({ params, replace }: { params: State; replace?: boolean }) => string\n}\n\nexport type State = qs.ParsedQs\n\nconst initialContext: SearchParamsContext = {\n searchParams: {},\n stringifyParams: () => '',\n}\n\nconst Context = createContext(initialContext)\n\nfunction createParams(search: string) {\n return qs.parse(search, {\n depth: 10,\n ignoreQueryPrefix: true,\n })\n}\n\n// TODO: abstract the `next/navigation` dependency out from this provider so that it can be used in other contexts\nexport const SearchParamsProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const nextSearchParams = useNextSearchParams()\n const searchString = nextSearchParams.toString()\n const initialParams = createParams(searchString)\n\n const [searchParams, setSearchParams] = React.useState(initialParams)\n\n const stringifyParams = React.useCallback(\n ({ params, replace = false }: { params: State; replace?: boolean }) => {\n return qs.stringify(\n {\n ...(replace ? {} : searchParams),\n ...params,\n },\n { addQueryPrefix: true },\n )\n },\n [searchParams],\n )\n\n React.useEffect(() => {\n setSearchParams(createParams(searchString))\n }, [searchString])\n\n return <Context.Provider value={{ searchParams, stringifyParams }}>{children}</Context.Provider>\n}\n\nexport const useSearchParams = (): SearchParamsContext => useContext(Context)\n"],"names":["useSearchParams","useNextSearchParams","qs","React","createContext","useContext","initialContext","searchParams","stringifyParams","Context","createParams","search","parse","depth","ignoreQueryPrefix","SearchParamsProvider","children","nextSearchParams","searchString","toString","initialParams","setSearchParams","useState","useCallback","params","replace","stringify","addQueryPrefix","useEffect","Provider","value"],"mappings":"AAAA;;AACA,SAASA,mBAAmBC,mBAAmB,QAAQ,qBAAoB;AAC3E,OAAOC,QAAQ,KAAI;AACnB,OAAOC,SAASC,aAAa,EAAEC,UAAU,QAAQ,QAAO;AASxD,MAAMC,iBAAsC;IAC1CC,cAAc,CAAC;IACfC,iBAAiB,IAAM;AACzB;AAEA,MAAMC,wBAAUL,cAAcE;AAE9B,SAASI,aAAaC,MAAc;IAClC,OAAOT,GAAGU,KAAK,CAACD,QAAQ;QACtBE,OAAO;QACPC,mBAAmB;IACrB;AACF;AAEA,kHAAkH;AAClH,OAAO,MAAMC,uBAAiE,CAAC,EAAEC,QAAQ,EAAE;IACzF,MAAMC,mBAAmBhB;IACzB,MAAMiB,eAAeD,iBAAiBE,QAAQ;IAC9C,MAAMC,gBAAgBV,aAAaQ;IAEnC,MAAM,CAACX,cAAcc,gBAAgB,GAAGlB,MAAMmB,QAAQ,CAACF;IAEvD,MAAMZ,kBAAkBL,MAAMoB,WAAW,CACvC,CAAC,EAAEC,MAAM,EAAEC,UAAU,KAAK,EAAwC;QAChE,OAAOvB,GAAGwB,SAAS,CACjB;YACE,GAAID,UAAU,CAAC,IAAIlB,YAAY;YAC/B,GAAGiB,MAAM;QACX,GACA;YAAEG,gBAAgB;QAAK;IAE3B,GACA;QAACpB;KAAa;IAGhBJ,MAAMyB,SAAS,CAAC;QACdP,gBAAgBX,aAAaQ;IAC/B,GAAG;QAACA;KAAa;IAEjB,qBAAO,KAACT,QAAQoB,QAAQ;QAACC,OAAO;YAAEvB;YAAcC;QAAgB;kBAAIQ;;AACtE,EAAC;AAED,OAAO,MAAMhB,kBAAkB,IAA2BK,WAAWI,SAAQ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import
|
|
3
|
+
import qs from 'qs';
|
|
4
4
|
import React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react';
|
|
5
5
|
import { useLocale } from '../Locale/index.js';
|
|
6
6
|
import { useSearchParams } from '../SearchParams/index.js';
|
|
@@ -86,7 +86,7 @@ export const SelectionProvider = ({ children, docs = [], totalDocs })=>{
|
|
|
86
86
|
]
|
|
87
87
|
};
|
|
88
88
|
}
|
|
89
|
-
return
|
|
89
|
+
return qs.stringify({
|
|
90
90
|
locale,
|
|
91
91
|
where
|
|
92
92
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/Selection/index.tsx"],"sourcesContent":["'use client'\nimport type { Where } from 'payload'\n\nimport
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/Selection/index.tsx"],"sourcesContent":["'use client'\nimport type { Where } from 'payload'\n\nimport qs from 'qs'\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'\n\nimport { useLocale } from '../Locale/index.js'\nimport { useSearchParams } from '../SearchParams/index.js'\n\nexport enum SelectAllStatus {\n AllAvailable = 'allAvailable',\n AllInPage = 'allInPage',\n None = 'none',\n Some = 'some',\n}\n\ntype SelectionContext = {\n count: number\n getQueryParams: (additionalParams?: Where) => string\n selectAll: SelectAllStatus\n selected: Record<number | string, boolean>\n setSelection: (id: number | string) => void\n toggleAll: (allAvailable?: boolean) => void\n totalDocs: number\n}\n\nconst Context = createContext({} as SelectionContext)\n\ntype Props = {\n children: React.ReactNode\n docs: any[]\n totalDocs: number\n}\nexport const SelectionProvider: React.FC<Props> = ({ children, docs = [], totalDocs }) => {\n const contextRef = useRef({} as SelectionContext)\n\n const { code: locale } = useLocale()\n const [selected, setSelected] = useState<SelectionContext['selected']>(() => {\n const rows = {}\n docs.forEach(({ id }) => {\n rows[id] = false\n })\n return rows\n })\n const [selectAll, setSelectAll] = useState<SelectAllStatus>(SelectAllStatus.None)\n const [count, setCount] = useState(0)\n const { searchParams } = useSearchParams()\n\n const toggleAll = useCallback(\n (allAvailable = false) => {\n const rows = {}\n if (allAvailable) {\n setSelectAll(SelectAllStatus.AllAvailable)\n docs.forEach(({ id }) => {\n rows[id] = true\n })\n } else if (\n selectAll === SelectAllStatus.AllAvailable ||\n selectAll === SelectAllStatus.AllInPage\n ) {\n setSelectAll(SelectAllStatus.None)\n docs.forEach(({ id }) => {\n rows[id] = false\n })\n } else {\n docs.forEach(({ id }) => {\n rows[id] = selectAll !== SelectAllStatus.Some\n })\n }\n setSelected(rows)\n },\n [docs, selectAll],\n )\n\n const setSelection = useCallback(\n (id) => {\n const isSelected = !selected[id]\n const newSelected = {\n ...selected,\n [id]: isSelected,\n }\n if (!isSelected) {\n setSelectAll(SelectAllStatus.Some)\n }\n setSelected(newSelected)\n },\n [selected],\n )\n\n const getQueryParams = useCallback(\n (additionalParams?: Where): string => {\n let where: Where\n if (selectAll === SelectAllStatus.AllAvailable) {\n const params = searchParams?.where as Where\n where = params || {\n id: { not_equals: '' },\n }\n } else {\n where = {\n id: {\n in: Object.keys(selected)\n .filter((id) => selected[id])\n .map((id) => id),\n },\n }\n }\n if (additionalParams) {\n where = {\n and: [{ ...additionalParams }, where],\n }\n }\n return qs.stringify(\n {\n locale,\n where,\n },\n { addQueryPrefix: true },\n )\n },\n [selectAll, selected, locale, searchParams],\n )\n\n useEffect(() => {\n if (selectAll === SelectAllStatus.AllAvailable) {\n return\n }\n let some = false\n let all = true\n Object.values(selected).forEach((val) => {\n all = all && val\n some = some || val\n })\n\n if (all) {\n setSelectAll(SelectAllStatus.AllInPage)\n } else if (some) {\n setSelectAll(SelectAllStatus.Some)\n } else {\n setSelectAll(SelectAllStatus.None)\n }\n }, [selectAll, selected])\n\n useEffect(() => {\n const newCount =\n selectAll === SelectAllStatus.AllAvailable\n ? totalDocs\n : Object.keys(selected).filter((id) => selected[id]).length\n setCount(newCount)\n }, [selectAll, selected, totalDocs])\n\n contextRef.current = {\n count,\n getQueryParams,\n selectAll,\n selected,\n setSelection,\n toggleAll,\n totalDocs,\n }\n\n return <Context.Provider value={contextRef.current}>{children}</Context.Provider>\n}\n\nexport const useSelection = (): SelectionContext => useContext(Context)\n"],"names":["qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","useLocale","useSearchParams","SelectAllStatus","Context","SelectionProvider","children","docs","totalDocs","contextRef","code","locale","selected","setSelected","rows","forEach","id","selectAll","setSelectAll","count","setCount","searchParams","toggleAll","allAvailable","setSelection","isSelected","newSelected","getQueryParams","additionalParams","where","params","not_equals","in","Object","keys","filter","map","and","stringify","addQueryPrefix","some","all","values","val","newCount","length","current","Provider","value","useSelection"],"mappings":"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"}
|