payload 1.3.4 → 1.4.0
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/README.md +75 -29
- package/components/styles.css +1 -1
- package/dist/admin/api.d.ts +1 -1
- package/dist/admin/assets/images/payload-logo-dark.svg +88 -0
- package/dist/admin/assets/images/payload-logo-light.svg +88 -0
- package/dist/admin/components/elements/ArrayAction/types.d.ts +1 -1
- package/dist/admin/components/elements/Autosave/index.js +21 -14
- package/dist/admin/components/elements/Autosave/types.d.ts +1 -1
- package/dist/admin/components/elements/Banner/types.d.ts +3 -3
- package/dist/admin/components/elements/Button/types.d.ts +1 -1
- package/dist/admin/components/elements/Card/types.d.ts +1 -1
- package/dist/admin/components/elements/Collapsible/types.d.ts +1 -1
- package/dist/admin/components/elements/ColumnSelector/index.js +9 -3
- package/dist/admin/components/elements/ColumnSelector/types.d.ts +1 -1
- package/dist/admin/components/elements/CopyToClipboard/types.d.ts +1 -1
- package/dist/admin/components/elements/DatePicker/types.d.ts +6 -6
- package/dist/admin/components/elements/DeleteDocument/types.d.ts +1 -1
- package/dist/admin/components/elements/DocumentDrawer/DrawerContent.d.ts +3 -0
- package/dist/admin/components/elements/DocumentDrawer/DrawerContent.js +100 -0
- package/dist/admin/components/elements/DocumentDrawer/index.d.ts +1 -0
- package/dist/admin/components/elements/DocumentDrawer/index.js +22 -97
- package/dist/admin/components/elements/DocumentDrawer/index.scss +40 -14
- package/dist/admin/components/elements/DocumentDrawer/types.d.ts +12 -4
- package/dist/admin/components/elements/Drawer/index.d.ts +4 -0
- package/dist/admin/components/elements/Drawer/index.js +27 -18
- package/dist/admin/components/elements/Drawer/index.scss +1 -0
- package/dist/admin/components/elements/Drawer/types.d.ts +3 -2
- package/dist/admin/components/elements/DuplicateDocument/index.js +4 -0
- package/dist/admin/components/elements/DuplicateDocument/types.d.ts +1 -1
- package/dist/admin/components/elements/Eyebrow/types.d.ts +1 -1
- package/dist/admin/components/elements/FileDetails/Meta/types.d.ts +1 -1
- package/dist/admin/components/elements/FileDetails/types.d.ts +1 -1
- package/dist/admin/components/elements/GenerateConfirmation/types.d.ts +1 -1
- package/dist/admin/components/elements/Gutter/index.d.ts +1 -1
- package/dist/admin/components/elements/ListControls/index.scss +15 -5
- package/dist/admin/components/elements/ListControls/types.d.ts +2 -2
- package/dist/admin/components/elements/ListDrawer/DrawerContent.d.ts +3 -0
- package/dist/admin/components/elements/ListDrawer/DrawerContent.js +222 -0
- package/dist/admin/components/elements/ListDrawer/index.d.ts +7 -0
- package/dist/admin/components/elements/ListDrawer/index.js +61 -0
- package/dist/admin/components/elements/ListDrawer/index.scss +97 -0
- package/dist/admin/components/elements/ListDrawer/types.d.ts +35 -0
- package/dist/admin/components/{forms/field-types/RichText/elements/link/Modal → elements/ListDrawer}/types.js +0 -0
- package/dist/admin/components/elements/Localizer/types.d.ts +1 -1
- package/dist/admin/components/elements/NavGroup/index.d.ts +1 -1
- package/dist/admin/components/elements/Paginator/ClickableArrow/types.d.ts +1 -1
- package/dist/admin/components/elements/Paginator/Page/types.d.ts +1 -1
- package/dist/admin/components/elements/Paginator/types.d.ts +2 -2
- package/dist/admin/components/elements/PerPage/index.d.ts +1 -1
- package/dist/admin/components/elements/Pill/types.d.ts +2 -2
- package/dist/admin/components/elements/Popup/PopupButton/types.d.ts +1 -1
- package/dist/admin/components/elements/Popup/types.d.ts +1 -1
- package/dist/admin/components/elements/PreviewButton/types.d.ts +1 -1
- package/dist/admin/components/elements/Publish/types.d.ts +1 -1
- package/dist/admin/components/elements/ReactSelect/MultiValueLabel/index.scss +1 -0
- package/dist/admin/components/elements/ReactSelect/types.d.ts +3 -3
- package/dist/admin/components/elements/RenderTitle/types.d.ts +1 -1
- package/dist/admin/components/elements/SearchFilter/types.d.ts +1 -1
- package/dist/admin/components/elements/SortColumn/types.d.ts +1 -1
- package/dist/admin/components/elements/SortComplex/index.js +5 -2
- package/dist/admin/components/elements/SortComplex/types.d.ts +1 -1
- package/dist/admin/components/elements/Status/types.d.ts +1 -1
- package/dist/admin/components/elements/StepNav/index.scss +1 -0
- package/dist/admin/components/elements/StepNav/types.d.ts +2 -2
- package/dist/admin/components/elements/Table/types.d.ts +2 -2
- package/dist/admin/components/elements/Thumbnail/types.d.ts +1 -1
- package/dist/admin/components/elements/Tooltip/index.scss +4 -0
- package/dist/admin/components/elements/Tooltip/types.d.ts +1 -1
- package/dist/admin/components/elements/UploadCard/types.d.ts +1 -1
- package/dist/admin/components/elements/UploadGallery/types.d.ts +1 -1
- package/dist/admin/components/elements/VersionsCount/types.d.ts +1 -1
- package/dist/admin/components/elements/ViewDescription/types.d.ts +4 -4
- package/dist/admin/components/elements/WhereBuilder/Condition/Date/types.d.ts +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Number/types.d.ts +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/types.d.ts +7 -7
- package/dist/admin/components/elements/WhereBuilder/Condition/Text/types.d.ts +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/types.d.ts +1 -1
- package/dist/admin/components/elements/WhereBuilder/index.js +8 -2
- package/dist/admin/components/elements/WhereBuilder/types.d.ts +8 -8
- package/dist/admin/components/forms/Error/types.d.ts +1 -1
- package/dist/admin/components/forms/FieldDescription/types.d.ts +4 -4
- package/dist/admin/components/forms/Form/buildStateFromSchema/addFieldStatePromise.d.ts +1 -1
- package/dist/admin/components/forms/Form/buildStateFromSchema/index.d.ts +1 -1
- package/dist/admin/components/forms/Form/buildStateFromSchema/iterateFields.d.ts +1 -1
- package/dist/admin/components/forms/Form/rows.d.ts +1 -1
- package/dist/admin/components/forms/Form/types.d.ts +30 -30
- package/dist/admin/components/forms/Label/types.d.ts +1 -1
- package/dist/admin/components/forms/RenderFields/types.d.ts +1 -1
- package/dist/admin/components/forms/RowLabel/types.d.ts +5 -5
- package/dist/admin/components/forms/field-types/Array/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Blocks/BlockSelector/BlockSelection/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Blocks/BlockSelector/BlocksContainer/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Blocks/BlockSelector/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Blocks/SectionTitle/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Blocks/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Checkbox/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Code/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Collapsible/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/DateTime/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Email/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Group/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/HiddenInput/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Number/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Password/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Point/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/RadioGroup/Input.d.ts +1 -1
- package/dist/admin/components/forms/field-types/RadioGroup/RadioInput/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/RadioGroup/types.d.ts +2 -2
- package/dist/admin/components/forms/field-types/Relationship/AddNew/index.scss +2 -2
- package/dist/admin/components/forms/field-types/Relationship/AddNew/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Relationship/GetFilterOptions/index.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Relationship/createRelationMap.d.ts +2 -2
- package/dist/admin/components/forms/field-types/Relationship/findOptionsByValue.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Relationship/index.js +6 -0
- package/dist/admin/components/forms/field-types/Relationship/optionsReducer.js +14 -0
- package/dist/admin/components/forms/field-types/Relationship/select-components/MultiValueLabel/index.js +2 -2
- package/dist/admin/components/forms/field-types/Relationship/select-components/MultiValueLabel/index.scss +1 -4
- package/dist/admin/components/forms/field-types/Relationship/select-components/SingleValue/index.js +2 -2
- package/dist/admin/components/forms/field-types/Relationship/select-components/SingleValue/index.scss +7 -4
- package/dist/admin/components/forms/field-types/Relationship/types.d.ts +16 -10
- package/dist/admin/components/forms/field-types/RichText/RichText.d.ts +3 -11
- package/dist/admin/components/forms/field-types/RichText/RichText.js +14 -6
- package/dist/admin/components/forms/field-types/RichText/buttons.scss +3 -0
- package/dist/admin/components/forms/field-types/RichText/elements/Button.js +11 -4
- package/dist/admin/components/forms/field-types/RichText/elements/ListButton.js +2 -2
- package/dist/admin/components/forms/field-types/RichText/elements/areAllChildrenElements.d.ts +2 -0
- package/dist/admin/components/forms/field-types/RichText/elements/areAllChildrenElements.js +4 -0
- package/dist/admin/components/forms/field-types/RichText/elements/getCommonBlock.d.ts +2 -0
- package/dist/admin/components/forms/field-types/RichText/elements/getCommonBlock.js +12 -0
- package/dist/admin/components/forms/field-types/RichText/elements/indent/index.js +117 -21
- package/dist/admin/components/forms/field-types/RichText/elements/index.d.ts +21 -16
- package/dist/admin/components/forms/field-types/RichText/elements/isActive.d.ts +2 -1
- package/dist/admin/components/forms/field-types/RichText/elements/isLastSelectedElementEmpty.js +6 -2
- package/dist/admin/components/forms/field-types/RichText/elements/isListActive.js +17 -15
- package/dist/admin/components/forms/field-types/RichText/elements/isWithinListItem.d.ts +2 -0
- package/dist/admin/components/forms/field-types/RichText/elements/isWithinListItem.js +15 -0
- package/dist/admin/components/forms/field-types/RichText/elements/link/Button/index.d.ts +6 -0
- package/dist/admin/components/forms/field-types/RichText/elements/link/Button/index.js +98 -0
- package/dist/admin/components/forms/field-types/RichText/elements/link/Element/index.d.ts +10 -0
- package/dist/admin/components/forms/field-types/RichText/elements/link/{Element.js → Element/index.js} +48 -40
- package/dist/admin/components/forms/field-types/RichText/elements/link/{index.scss → Element/index.scss} +10 -10
- package/dist/admin/components/forms/field-types/RichText/elements/link/{Modal → LinkDrawer}/baseFields.d.ts +0 -0
- package/dist/admin/components/forms/field-types/RichText/elements/link/{Modal → LinkDrawer}/baseFields.js +0 -0
- package/dist/admin/components/forms/field-types/RichText/elements/link/{Modal → LinkDrawer}/index.d.ts +1 -1
- package/dist/admin/components/forms/field-types/RichText/elements/link/{Modal → LinkDrawer}/index.js +7 -7
- package/dist/admin/components/forms/field-types/RichText/elements/link/LinkDrawer/index.scss +50 -0
- package/dist/admin/components/forms/field-types/RichText/elements/link/{Modal → LinkDrawer}/types.d.ts +3 -3
- package/dist/admin/components/forms/field-types/{Upload/Add → RichText/elements/link/LinkDrawer}/types.js +0 -0
- package/dist/admin/components/forms/field-types/RichText/elements/link/index.d.ts +10 -9
- package/dist/admin/components/forms/field-types/RichText/elements/relationship/Button/index.js +28 -47
- package/dist/admin/components/forms/field-types/RichText/elements/relationship/Button/index.scss +3 -31
- package/dist/admin/components/forms/field-types/RichText/elements/relationship/Element/index.d.ts +8 -2
- package/dist/admin/components/forms/field-types/RichText/elements/relationship/Element/index.js +78 -11
- package/dist/admin/components/forms/field-types/RichText/elements/relationship/Element/index.scss +64 -7
- package/dist/admin/components/forms/field-types/RichText/elements/relationship/index.d.ts +6 -1
- package/dist/admin/components/forms/field-types/RichText/elements/toggle.d.ts +2 -1
- package/dist/admin/components/forms/field-types/RichText/elements/toggle.js +10 -14
- package/dist/admin/components/forms/field-types/RichText/elements/toggleList.d.ts +3 -0
- package/dist/admin/components/forms/field-types/RichText/elements/toggleList.js +75 -0
- package/dist/admin/components/forms/field-types/RichText/elements/types.d.ts +4 -2
- package/dist/admin/components/forms/field-types/RichText/elements/unwrapList.d.ts +2 -0
- package/dist/admin/components/forms/field-types/RichText/elements/unwrapList.js +38 -0
- package/dist/admin/components/forms/field-types/RichText/elements/upload/Button/index.d.ts +0 -1
- package/dist/admin/components/forms/field-types/RichText/elements/upload/Button/index.js +22 -110
- package/dist/admin/components/forms/field-types/RichText/elements/upload/Button/index.scss +3 -3
- package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/index.d.ts +7 -7
- package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/index.js +61 -36
- package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/index.scss +20 -4
- package/dist/admin/components/forms/field-types/RichText/elements/upload/index.d.ts +5 -6
- package/dist/admin/components/forms/field-types/RichText/index.scss +8 -0
- package/dist/admin/components/forms/field-types/RichText/types.d.ts +10 -1
- package/dist/admin/components/forms/field-types/RichText/types.js +3 -1
- package/dist/admin/components/forms/field-types/Row/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Select/Input.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Select/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Tabs/index.js +6 -6
- package/dist/admin/components/forms/field-types/Tabs/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Text/Input.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Text/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Textarea/Input.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Textarea/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Upload/Input.d.ts +1 -1
- package/dist/admin/components/forms/field-types/Upload/Input.js +32 -45
- package/dist/admin/components/forms/field-types/Upload/index.scss +22 -10
- package/dist/admin/components/forms/field-types/Upload/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/index.d.ts +1 -1
- package/dist/admin/components/forms/field-types/rowReducer.d.ts +8 -8
- package/dist/admin/components/forms/useField/types.d.ts +2 -2
- package/dist/admin/components/modals/StayLoggedIn/types.d.ts +1 -1
- package/dist/admin/components/templates/Default/types.d.ts +1 -1
- package/dist/admin/components/templates/Minimal/types.d.ts +1 -1
- package/dist/admin/components/utilities/Auth/index.d.ts +1 -1
- package/dist/admin/components/utilities/Auth/types.d.ts +1 -1
- package/dist/admin/components/utilities/DocumentInfo/index.js +7 -5
- package/dist/admin/components/utilities/DocumentInfo/types.d.ts +5 -5
- package/dist/admin/components/utilities/Meta/types.d.ts +2 -2
- package/dist/admin/components/utilities/OperationProvider/index.d.ts +1 -1
- package/dist/admin/components/utilities/Preferences/index.d.ts +1 -1
- package/dist/admin/components/utilities/RenderCustomComponent/types.d.ts +1 -1
- package/dist/admin/components/utilities/Theme/index.d.ts +2 -2
- package/dist/admin/components/views/Account/Default.js +2 -2
- package/dist/admin/components/views/Account/index.js +27 -16
- package/dist/admin/components/views/Account/types.d.ts +2 -1
- package/dist/admin/components/views/CreateFirstUser/types.d.ts +1 -1
- package/dist/admin/components/views/Dashboard/types.d.ts +1 -1
- package/dist/admin/components/views/Global/Default.js +3 -3
- package/dist/admin/components/views/Global/index.js +4 -0
- package/dist/admin/components/views/Global/types.d.ts +3 -2
- package/dist/admin/components/views/Version/Compare/types.d.ts +5 -5
- package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/types.d.ts +2 -2
- package/dist/admin/components/views/Version/RenderFieldsToDiff/types.d.ts +1 -1
- package/dist/admin/components/views/Version/Restore/types.d.ts +1 -1
- package/dist/admin/components/views/Version/SelectLocales/types.d.ts +1 -1
- package/dist/admin/components/views/Version/types.d.ts +3 -3
- package/dist/admin/components/views/Versions/types.d.ts +1 -1
- package/dist/admin/components/views/collections/Edit/Auth/types.d.ts +1 -1
- package/dist/admin/components/views/collections/Edit/Default.js +4 -4
- package/dist/admin/components/views/collections/Edit/Upload/index.js +1 -0
- package/dist/admin/components/views/collections/Edit/Upload/types.d.ts +2 -2
- package/dist/admin/components/views/collections/Edit/index.js +6 -2
- package/dist/admin/components/views/collections/Edit/types.d.ts +3 -2
- package/dist/admin/components/views/collections/List/Cell/field-types/Array/index.d.ts +1 -1
- package/dist/admin/components/views/collections/List/Cell/field-types/Blocks/index.d.ts +1 -1
- package/dist/admin/components/views/collections/List/Cell/field-types/Select/index.d.ts +1 -1
- package/dist/admin/components/views/collections/List/Cell/index.js +17 -5
- package/dist/admin/components/views/collections/List/Cell/types.d.ts +4 -1
- package/dist/admin/components/views/collections/List/Default.js +18 -11
- package/dist/admin/components/views/collections/List/RelationshipProvider/index.d.ts +2 -2
- package/dist/admin/components/views/collections/List/RelationshipProvider/index.js +1 -0
- package/dist/admin/components/views/collections/List/RelationshipProvider/reducer.d.ts +3 -3
- package/dist/admin/components/views/collections/List/buildColumns.d.ts +7 -1
- package/dist/admin/components/views/collections/List/buildColumns.js +4 -2
- package/dist/admin/components/views/collections/List/index.js +3 -3
- package/dist/admin/components/views/collections/List/types.d.ts +17 -3
- package/dist/admin/hooks/useIntersect.d.ts +1 -1
- package/dist/admin/hooks/usePayloadAPI.d.ts +3 -3
- package/dist/admin/hooks/useThrottledEffect.d.ts +1 -1
- package/dist/admin/utilities/groupNavItems.d.ts +2 -2
- package/dist/auth/operations/access.d.ts +1 -1
- package/dist/auth/operations/forgotPassword.d.ts +2 -2
- package/dist/auth/operations/local/forgotPassword.d.ts +1 -1
- package/dist/auth/operations/local/login.d.ts +1 -1
- package/dist/auth/operations/local/resetPassword.d.ts +1 -1
- package/dist/auth/operations/local/unlock.d.ts +1 -1
- package/dist/auth/operations/local/verifyEmail.d.ts +1 -1
- package/dist/auth/operations/login.d.ts +2 -2
- package/dist/auth/operations/logout.d.ts +1 -1
- package/dist/auth/operations/me.d.ts +2 -2
- package/dist/auth/operations/refresh.d.ts +2 -2
- package/dist/auth/operations/registerFirstUser.d.ts +2 -2
- package/dist/auth/operations/resetPassword.d.ts +2 -2
- package/dist/auth/operations/unlock.d.ts +1 -1
- package/dist/auth/operations/verifyEmail.d.ts +1 -1
- package/dist/auth/sendVerificationEmail.d.ts +1 -1
- package/dist/auth/strategies/apiKey.js +2 -2
- package/dist/auth/types.d.ts +12 -12
- package/dist/collections/buildSchema.js +6 -1
- package/dist/collections/config/types.d.ts +29 -28
- package/dist/collections/graphql/resolvers/create.d.ts +1 -1
- package/dist/collections/graphql/resolvers/delete.d.ts +1 -1
- package/dist/collections/graphql/resolvers/docAccess.d.ts +1 -1
- package/dist/collections/graphql/resolvers/find.d.ts +1 -1
- package/dist/collections/graphql/resolvers/findByID.d.ts +1 -1
- package/dist/collections/graphql/resolvers/findVersionByID.d.ts +1 -1
- package/dist/collections/graphql/resolvers/findVersions.d.ts +1 -1
- package/dist/collections/graphql/resolvers/restoreVersion.d.ts +1 -1
- package/dist/collections/graphql/resolvers/update.d.ts +1 -1
- package/dist/collections/graphql/types.d.ts +1 -1
- package/dist/collections/operations/create.d.ts +1 -1
- package/dist/collections/operations/delete.d.ts +1 -1
- package/dist/collections/operations/docAccess.d.ts +1 -1
- package/dist/collections/operations/find.d.ts +1 -1
- package/dist/collections/operations/find.js +18 -23
- package/dist/collections/operations/findByID.d.ts +1 -1
- package/dist/collections/operations/findVersionByID.d.ts +1 -1
- package/dist/collections/operations/findVersions.d.ts +1 -1
- package/dist/collections/operations/local/create.d.ts +1 -1
- package/dist/collections/operations/local/delete.d.ts +1 -1
- package/dist/collections/operations/local/find.d.ts +1 -1
- package/dist/collections/operations/local/findByID.d.ts +1 -1
- package/dist/collections/operations/local/findVersionByID.d.ts +1 -1
- package/dist/collections/operations/local/findVersions.d.ts +1 -1
- package/dist/collections/operations/local/restoreVersion.d.ts +1 -1
- package/dist/collections/operations/local/update.d.ts +2 -1
- package/dist/collections/operations/local/update.js +1 -1
- package/dist/collections/operations/restoreVersion.d.ts +1 -1
- package/dist/collections/operations/update.d.ts +1 -1
- package/dist/collections/requestHandlers/create.d.ts +1 -1
- package/dist/collections/requestHandlers/delete.d.ts +1 -1
- package/dist/collections/requestHandlers/findByID.d.ts +1 -1
- package/dist/collections/requestHandlers/findVersionByID.d.ts +1 -1
- package/dist/collections/requestHandlers/restoreVersion.d.ts +1 -1
- package/dist/collections/requestHandlers/update.d.ts +1 -1
- package/dist/config/types.d.ts +18 -18
- package/dist/email/build.js +2 -2
- package/dist/email/types.d.ts +3 -3
- package/dist/errors/InvalidFieldName.d.ts +2 -2
- package/dist/errors/InvalidFieldName.js +1 -1
- package/dist/errors/InvalidFieldRelationship.d.ts +2 -2
- package/dist/errors/InvalidFieldRelationship.js +1 -1
- package/dist/errors/MissingFieldInputOptions.d.ts +2 -2
- package/dist/errors/MissingFieldInputOptions.js +1 -1
- package/dist/express/middleware/authenticate.d.ts +1 -1
- package/dist/express/middleware/errorHandler.d.ts +1 -1
- package/dist/express/responses/formatError.d.ts +1 -1
- package/dist/fields/config/sanitize.js +2 -2
- package/dist/fields/config/sanitize.spec.js +1 -1
- package/dist/fields/config/types.d.ts +57 -57
- package/dist/fields/getDefaultValue.d.ts +1 -1
- package/dist/fields/hooks/afterChange/index.d.ts +1 -1
- package/dist/fields/hooks/afterChange/promise.d.ts +1 -1
- package/dist/fields/hooks/afterChange/traverseFields.d.ts +1 -1
- package/dist/fields/hooks/afterRead/index.d.ts +1 -1
- package/dist/fields/hooks/afterRead/promise.d.ts +1 -1
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +1 -1
- package/dist/fields/hooks/afterRead/traverseFields.d.ts +1 -1
- package/dist/fields/hooks/beforeChange/index.d.ts +1 -1
- package/dist/fields/hooks/beforeChange/promise.d.ts +1 -1
- package/dist/fields/hooks/beforeChange/traverseFields.d.ts +1 -1
- package/dist/fields/hooks/beforeValidate/index.d.ts +1 -1
- package/dist/fields/hooks/beforeValidate/promise.d.ts +1 -1
- package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +1 -1
- package/dist/fields/richText/populate.d.ts +1 -1
- package/dist/fields/richText/recurseNestedFields.d.ts +1 -1
- package/dist/fields/richText/richTextRelationshipPromise.d.ts +2 -2
- package/dist/fields/validations.js +6 -5
- package/dist/globals/buildModel.js +1 -1
- package/dist/globals/config/types.d.ts +8 -8
- package/dist/globals/graphql/resolvers/docAccess.d.ts +1 -1
- package/dist/globals/graphql/resolvers/findVersionByID.d.ts +1 -1
- package/dist/globals/graphql/resolvers/findVersions.d.ts +1 -1
- package/dist/globals/graphql/resolvers/restoreVersion.d.ts +1 -1
- package/dist/globals/graphql/resolvers/update.d.ts +1 -1
- package/dist/globals/operations/docAccess.d.ts +1 -1
- package/dist/globals/operations/findOne.d.ts +1 -1
- package/dist/globals/operations/findVersionByID.d.ts +1 -1
- package/dist/globals/operations/findVersions.d.ts +1 -1
- package/dist/globals/operations/local/findOne.d.ts +1 -1
- package/dist/globals/operations/local/findVersionByID.d.ts +1 -1
- package/dist/globals/operations/local/findVersions.d.ts +1 -1
- package/dist/globals/operations/local/restoreVersion.d.ts +1 -1
- package/dist/globals/operations/local/update.d.ts +1 -1
- package/dist/globals/operations/restoreVersion.d.ts +1 -1
- package/dist/globals/operations/update.d.ts +1 -1
- package/dist/globals/operations/update.js +26 -5
- package/dist/globals/requestHandlers/findOne.d.ts +2 -2
- package/dist/globals/requestHandlers/update.d.ts +2 -2
- package/dist/graphql/schema/buildBlockType.d.ts +1 -1
- package/dist/graphql/schema/buildMutationInputType.d.ts +1 -1
- package/dist/graphql/schema/buildMutationInputType.js +2 -2
- package/dist/graphql/schema/buildObjectType.d.ts +2 -2
- package/dist/graphql/schema/buildPoliciesType.d.ts +4 -4
- package/dist/graphql/schema/fieldToWhereInputSchemaMap.js +2 -2
- package/dist/mongoose/buildSchema.d.ts +1 -1
- package/dist/mongoose/buildSortParam.d.ts +1 -1
- package/dist/mongoose/getLocalizedSortProperty.d.ts +1 -1
- package/dist/mongoose/types.d.ts +1 -1
- package/dist/preferences/graphql/init.js +2 -2
- package/dist/preferences/requestHandlers/update.d.ts +2 -2
- package/dist/preferences/types.d.ts +8 -8
- package/dist/translations/cs.json +307 -0
- package/dist/translations/de.json +7 -3
- package/dist/translations/en.json +5 -1
- package/dist/translations/es.json +6 -2
- package/dist/translations/fr.json +6 -2
- package/dist/translations/index.d.ts +371 -0
- package/dist/translations/index.js +3 -1
- package/dist/translations/it.json +5 -1
- package/dist/translations/ja.json +4 -0
- package/dist/translations/my.json +4 -0
- package/dist/translations/nb.json +7 -3
- package/dist/translations/nl.json +7 -3
- package/dist/translations/pl.json +7 -3
- package/dist/translations/pt.json +5 -1
- package/dist/translations/ru.json +4 -0
- package/dist/translations/sv.json +5 -1
- package/dist/translations/th.json +4 -0
- package/dist/translations/tr.json +6 -2
- package/dist/translations/type.d.ts +1 -1
- package/dist/translations/vi.json +4 -0
- package/dist/types/index.d.ts +8 -8
- package/dist/uploads/generateFileData.d.ts +2 -2
- package/dist/uploads/generateFileData.js +28 -14
- package/dist/uploads/getBaseFields.d.ts +1 -1
- package/dist/uploads/getImageSize.d.ts +1 -1
- package/dist/uploads/imageResizer.d.ts +7 -4
- package/dist/uploads/imageResizer.js +17 -16
- package/dist/uploads/types.d.ts +10 -12
- package/dist/utilities/flattenTopLevelFields.js +1 -1
- package/dist/utilities/getEntityPolicies.d.ts +2 -2
- package/dist/utilities/logger.d.ts +1 -1
- package/dist/utilities/telemetry/events/adminInit.d.ts +1 -1
- package/dist/utilities/telemetry/events/serverInit.d.ts +1 -1
- package/dist/utilities/telemetry/index.d.ts +4 -4
- package/dist/utilities/wordBoundariesRegex.js +3 -2
- package/dist/versions/cleanUpFailedVersion.d.ts +1 -1
- package/dist/versions/drafts/buildDraftMergeAggregate.d.ts +8 -0
- package/dist/versions/drafts/buildDraftMergeAggregate.js +87 -0
- package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts +1 -1
- package/dist/versions/drafts/replaceWithDraftIfAvailable.js +1 -6
- package/dist/versions/drafts/saveCollectionDraft.d.ts +1 -1
- package/dist/versions/drafts/saveGlobalDraft.d.ts +1 -1
- package/dist/versions/enforceMaxVersions.d.ts +1 -1
- package/dist/versions/ensurePublishedCollectionVersion.d.ts +1 -1
- package/dist/versions/ensurePublishedGlobalVersion.d.ts +1 -1
- package/dist/versions/getLatestCollectionVersion.d.ts +1 -1
- package/dist/versions/saveCollectionVersion.d.ts +1 -1
- package/dist/versions/saveGlobalVersion.d.ts +1 -1
- package/dist/versions/shouldIncrementVersionCount.d.ts +1 -1
- package/dist/versions/types.d.ts +7 -7
- package/docs/authentication/config.mdx +5 -5
- package/docs/getting-started/installation.mdx +4 -0
- package/docs/production/deployment.mdx +74 -0
- package/package.json +4 -2
- package/dist/admin/components/forms/field-types/RichText/elements/link/Button.d.ts +0 -4
- package/dist/admin/components/forms/field-types/RichText/elements/link/Button.js +0 -107
- package/dist/admin/components/forms/field-types/RichText/elements/link/Element.d.ts +0 -9
- package/dist/admin/components/forms/field-types/RichText/elements/link/Modal/index.scss +0 -29
- package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/EditModal/index.d.ts +0 -16
- package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/EditModal/index.js +0 -48
- package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/EditModal/index.scss +0 -31
- package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/SwapUploadModal/index.d.ts +0 -13
- package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/SwapUploadModal/index.js +0 -97
- package/dist/admin/components/forms/field-types/RichText/elements/upload/addSwapModals.scss +0 -57
- package/dist/admin/components/forms/field-types/Upload/Add/index.d.ts +0 -5
- package/dist/admin/components/forms/field-types/Upload/Add/index.js +0 -44
- package/dist/admin/components/forms/field-types/Upload/Add/index.scss +0 -34
- package/dist/admin/components/forms/field-types/Upload/Add/types.d.ts +0 -10
- package/dist/admin/components/forms/field-types/Upload/SelectExisting/index.d.ts +0 -5
- package/dist/admin/components/forms/field-types/Upload/SelectExisting/index.js +0 -98
- package/dist/admin/components/forms/field-types/Upload/SelectExisting/index.scss +0 -60
- package/dist/admin/components/forms/field-types/Upload/SelectExisting/types.d.ts +0 -11
- package/dist/admin/components/forms/field-types/Upload/SelectExisting/types.js +0 -1
- package/dist/versions/getLatestGlobalVersion.d.ts +0 -10
- package/dist/versions/getLatestGlobalVersion.js +0 -27
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import { Editor, Element } from 'slate';
|
|
2
|
+
import { getCommonBlock } from './getCommonBlock';
|
|
2
3
|
const isListActive = (editor, format) => {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
4
|
+
if (!editor.selection)
|
|
5
|
+
return false;
|
|
6
|
+
const [topmostSelectedNode, topmostSelectedNodePath] = getCommonBlock(editor);
|
|
7
|
+
if (Editor.isEditor(topmostSelectedNode))
|
|
8
|
+
return false;
|
|
9
|
+
const [match] = Array.from(Editor.nodes(editor, {
|
|
10
|
+
at: topmostSelectedNodePath,
|
|
11
|
+
mode: 'lowest',
|
|
12
|
+
match: (node, path) => {
|
|
13
|
+
return !Editor.isEditor(node)
|
|
14
|
+
&& Element.isElement(node)
|
|
15
|
+
&& node.type === format
|
|
16
|
+
&& path.length >= topmostSelectedNodePath.length - 2;
|
|
17
|
+
},
|
|
18
|
+
}));
|
|
19
|
+
return !!match;
|
|
18
20
|
};
|
|
19
21
|
export default isListActive;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Editor, Element } from 'slate';
|
|
2
|
+
export const isWithinListItem = (editor) => {
|
|
3
|
+
var _a;
|
|
4
|
+
let parentLI;
|
|
5
|
+
try {
|
|
6
|
+
parentLI = Editor.parent(editor, editor.selection);
|
|
7
|
+
}
|
|
8
|
+
catch (e) {
|
|
9
|
+
// swallow error, Slate
|
|
10
|
+
}
|
|
11
|
+
if (Element.isElement(parentLI === null || parentLI === void 0 ? void 0 : parentLI[0]) && ((_a = parentLI === null || parentLI === void 0 ? void 0 : parentLI[0]) === null || _a === void 0 ? void 0 : _a.type) === 'li') {
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
return false;
|
|
15
|
+
};
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import React, { Fragment, useId, useState } from 'react';
|
|
2
|
+
import { useTranslation } from 'react-i18next';
|
|
3
|
+
import { ReactEditor, useSlate } from 'slate-react';
|
|
4
|
+
import { Transforms, Range } from 'slate';
|
|
5
|
+
import { useModal } from '@faceless-ui/modal';
|
|
6
|
+
import ElementButton from '../../Button';
|
|
7
|
+
import LinkIcon from '../../../../../../icons/Link';
|
|
8
|
+
import reduceFieldsToValues from '../../../../../Form/reduceFieldsToValues';
|
|
9
|
+
import { useConfig } from '../../../../../../utilities/Config';
|
|
10
|
+
import isElementActive from '../../isActive';
|
|
11
|
+
import { unwrapLink } from '../utilities';
|
|
12
|
+
import { useEditDepth } from '../../../../../../utilities/EditDepth';
|
|
13
|
+
import { formatDrawerSlug } from '../../../../../../elements/Drawer';
|
|
14
|
+
import { getBaseFields } from '../LinkDrawer/baseFields';
|
|
15
|
+
import { LinkDrawer } from '../LinkDrawer';
|
|
16
|
+
const insertLink = (editor, fields) => {
|
|
17
|
+
const isCollapsed = editor.selection && Range.isCollapsed(editor.selection);
|
|
18
|
+
const data = reduceFieldsToValues(fields, true);
|
|
19
|
+
const newLink = {
|
|
20
|
+
type: 'link',
|
|
21
|
+
linkType: data.linkType,
|
|
22
|
+
url: data.url,
|
|
23
|
+
doc: data.doc,
|
|
24
|
+
newTab: data.newTab,
|
|
25
|
+
fields: data.fields,
|
|
26
|
+
children: [],
|
|
27
|
+
};
|
|
28
|
+
if (isCollapsed || !editor.selection) {
|
|
29
|
+
// If selection anchor and focus are the same,
|
|
30
|
+
// Just inject a new node with children already set
|
|
31
|
+
Transforms.insertNodes(editor, {
|
|
32
|
+
...newLink,
|
|
33
|
+
children: [{ text: String(data.text) }],
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
else if (editor.selection) {
|
|
37
|
+
// Otherwise we need to wrap the selected node in a link,
|
|
38
|
+
// Delete its old text,
|
|
39
|
+
// Move the selection one position forward into the link,
|
|
40
|
+
// And insert the text back into the new link
|
|
41
|
+
Transforms.wrapNodes(editor, newLink, { split: true });
|
|
42
|
+
Transforms.delete(editor, { at: editor.selection.focus.path, unit: 'word' });
|
|
43
|
+
Transforms.move(editor, { distance: 1, unit: 'offset' });
|
|
44
|
+
Transforms.insertText(editor, String(data.text), { at: editor.selection.focus.path });
|
|
45
|
+
}
|
|
46
|
+
ReactEditor.focus(editor);
|
|
47
|
+
};
|
|
48
|
+
export const LinkButton = ({ fieldProps }) => {
|
|
49
|
+
var _a, _b;
|
|
50
|
+
const customFieldSchema = (_b = (_a = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.admin) === null || _a === void 0 ? void 0 : _a.link) === null || _b === void 0 ? void 0 : _b.fields;
|
|
51
|
+
const { t } = useTranslation(['upload', 'general']);
|
|
52
|
+
const editor = useSlate();
|
|
53
|
+
const config = useConfig();
|
|
54
|
+
const [fieldSchema] = useState(() => {
|
|
55
|
+
const fields = [
|
|
56
|
+
...getBaseFields(config),
|
|
57
|
+
];
|
|
58
|
+
if (customFieldSchema) {
|
|
59
|
+
fields.push({
|
|
60
|
+
name: 'fields',
|
|
61
|
+
type: 'group',
|
|
62
|
+
admin: {
|
|
63
|
+
style: {
|
|
64
|
+
margin: 0,
|
|
65
|
+
padding: 0,
|
|
66
|
+
borderTop: 0,
|
|
67
|
+
borderBottom: 0,
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
fields: customFieldSchema,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
return fields;
|
|
74
|
+
});
|
|
75
|
+
const { openModal, closeModal } = useModal();
|
|
76
|
+
const uuid = useId();
|
|
77
|
+
const editDepth = useEditDepth();
|
|
78
|
+
const drawerSlug = formatDrawerSlug({
|
|
79
|
+
slug: `rich-text-link-${uuid}`,
|
|
80
|
+
depth: editDepth,
|
|
81
|
+
});
|
|
82
|
+
return (React.createElement(Fragment, null,
|
|
83
|
+
React.createElement(ElementButton, { format: "link", tooltip: t('fields:addLink'), className: "link", onClick: () => {
|
|
84
|
+
if (isElementActive(editor, 'link')) {
|
|
85
|
+
unwrapLink(editor);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
openModal(drawerSlug);
|
|
89
|
+
}
|
|
90
|
+
} },
|
|
91
|
+
React.createElement(LinkIcon, null)),
|
|
92
|
+
React.createElement(LinkDrawer, { drawerSlug: drawerSlug, handleModalSubmit: (fields) => {
|
|
93
|
+
insertLink(editor, fields);
|
|
94
|
+
closeModal(drawerSlug);
|
|
95
|
+
}, fieldSchema: fieldSchema, handleClose: () => {
|
|
96
|
+
closeModal(drawerSlug);
|
|
97
|
+
} })));
|
|
98
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React, { HTMLAttributes } from 'react';
|
|
2
|
+
import { Props as RichTextFieldProps } from '../../../types';
|
|
3
|
+
import './index.scss';
|
|
4
|
+
export declare const LinkElement: React.FC<{
|
|
5
|
+
attributes: HTMLAttributes<HTMLDivElement>;
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
element: any;
|
|
8
|
+
fieldProps: RichTextFieldProps;
|
|
9
|
+
editorRef: React.RefObject<HTMLDivElement>;
|
|
10
|
+
}>;
|
|
@@ -1,33 +1,52 @@
|
|
|
1
|
-
import React, { useCallback, useEffect, useState } from 'react';
|
|
1
|
+
import React, { useCallback, useEffect, useId, useState } from 'react';
|
|
2
2
|
import { ReactEditor, useSlate } from 'slate-react';
|
|
3
3
|
import { Transforms, Node, Editor } from 'slate';
|
|
4
4
|
import { useModal } from '@faceless-ui/modal';
|
|
5
5
|
import { Trans, useTranslation } from 'react-i18next';
|
|
6
|
-
import { unwrapLink } from '
|
|
7
|
-
import Popup from '
|
|
8
|
-
import {
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import {
|
|
6
|
+
import { unwrapLink } from '../utilities';
|
|
7
|
+
import Popup from '../../../../../../elements/Popup';
|
|
8
|
+
import { LinkDrawer } from '../LinkDrawer';
|
|
9
|
+
import buildStateFromSchema from '../../../../../Form/buildStateFromSchema';
|
|
10
|
+
import { useAuth } from '../../../../../../utilities/Auth';
|
|
11
|
+
import { useLocale } from '../../../../../../utilities/Locale';
|
|
12
|
+
import { useConfig } from '../../../../../../utilities/Config';
|
|
13
|
+
import { getBaseFields } from '../LinkDrawer/baseFields';
|
|
14
|
+
import reduceFieldsToValues from '../../../../../Form/reduceFieldsToValues';
|
|
15
|
+
import deepCopyObject from '../../../../../../../../utilities/deepCopyObject';
|
|
16
|
+
import Button from '../../../../../../elements/Button';
|
|
17
|
+
import { getTranslation } from '../../../../../../../../utilities/getTranslation';
|
|
18
|
+
import { useEditDepth } from '../../../../../../utilities/EditDepth';
|
|
19
|
+
import { formatDrawerSlug } from '../../../../../../elements/Drawer';
|
|
19
20
|
import './index.scss';
|
|
20
21
|
const baseClass = 'rich-text-link';
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
const insertChange = (editor, fields, customFieldSchema) => {
|
|
23
|
+
const data = reduceFieldsToValues(fields, true);
|
|
24
|
+
const [, parentPath] = Editor.above(editor);
|
|
25
|
+
const newNode = {
|
|
26
|
+
newTab: data.newTab,
|
|
27
|
+
url: data.url,
|
|
28
|
+
linkType: data.linkType,
|
|
29
|
+
doc: data.doc,
|
|
30
|
+
};
|
|
31
|
+
if (customFieldSchema) {
|
|
32
|
+
newNode.fields = data.fields;
|
|
33
|
+
}
|
|
34
|
+
Transforms.setNodes(editor, newNode, { at: parentPath });
|
|
35
|
+
Transforms.delete(editor, { at: editor.selection.focus.path, unit: 'block' });
|
|
36
|
+
Transforms.move(editor, { distance: 1, unit: 'offset' });
|
|
37
|
+
Transforms.insertText(editor, String(data.text), { at: editor.selection.focus.path });
|
|
38
|
+
ReactEditor.focus(editor);
|
|
39
|
+
};
|
|
40
|
+
export const LinkElement = (props) => {
|
|
23
41
|
var _a, _b;
|
|
42
|
+
const { attributes, children, element, editorRef, fieldProps, } = props;
|
|
24
43
|
const customFieldSchema = (_b = (_a = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.admin) === null || _a === void 0 ? void 0 : _a.link) === null || _b === void 0 ? void 0 : _b.fields;
|
|
25
44
|
const editor = useSlate();
|
|
26
45
|
const config = useConfig();
|
|
27
46
|
const { user } = useAuth();
|
|
28
47
|
const locale = useLocale();
|
|
29
48
|
const { t, i18n } = useTranslation('fields');
|
|
30
|
-
const { openModal, toggleModal } = useModal();
|
|
49
|
+
const { openModal, toggleModal, closeModal } = useModal();
|
|
31
50
|
const [renderModal, setRenderModal] = useState(false);
|
|
32
51
|
const [renderPopup, setRenderPopup] = useState(false);
|
|
33
52
|
const [initialState, setInitialState] = useState({});
|
|
@@ -52,7 +71,12 @@ export const LinkElement = ({ attributes, children, element, editorRef, fieldPro
|
|
|
52
71
|
}
|
|
53
72
|
return fields;
|
|
54
73
|
});
|
|
55
|
-
const
|
|
74
|
+
const uuid = useId();
|
|
75
|
+
const editDepth = useEditDepth();
|
|
76
|
+
const drawerSlug = formatDrawerSlug({
|
|
77
|
+
slug: `rich-text-link-${uuid}`,
|
|
78
|
+
depth: editDepth,
|
|
79
|
+
});
|
|
56
80
|
const handleTogglePopup = useCallback((render) => {
|
|
57
81
|
if (!render) {
|
|
58
82
|
setRenderPopup(render);
|
|
@@ -75,28 +99,12 @@ export const LinkElement = ({ attributes, children, element, editorRef, fieldPro
|
|
|
75
99
|
}, [renderModal, element, fieldSchema, user, locale, t]);
|
|
76
100
|
return (React.createElement("span", { className: baseClass, ...attributes },
|
|
77
101
|
React.createElement("span", { style: { userSelect: 'none' }, contentEditable: false },
|
|
78
|
-
renderModal && (React.createElement(
|
|
79
|
-
toggleModal(
|
|
102
|
+
renderModal && (React.createElement(LinkDrawer, { drawerSlug: drawerSlug, fieldSchema: fieldSchema, handleClose: () => {
|
|
103
|
+
toggleModal(drawerSlug);
|
|
80
104
|
setRenderModal(false);
|
|
81
105
|
}, handleModalSubmit: (fields) => {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
const data = reduceFieldsToValues(fields, true);
|
|
85
|
-
const [, parentPath] = Editor.above(editor);
|
|
86
|
-
const newNode = {
|
|
87
|
-
newTab: data.newTab,
|
|
88
|
-
url: data.url,
|
|
89
|
-
linkType: data.linkType,
|
|
90
|
-
doc: data.doc,
|
|
91
|
-
};
|
|
92
|
-
if (customFieldSchema) {
|
|
93
|
-
newNode.fields = data.fields;
|
|
94
|
-
}
|
|
95
|
-
Transforms.setNodes(editor, newNode, { at: parentPath });
|
|
96
|
-
Transforms.delete(editor, { at: editor.selection.focus.path, unit: 'block' });
|
|
97
|
-
Transforms.move(editor, { distance: 1, unit: 'offset' });
|
|
98
|
-
Transforms.insertText(editor, String(data.text), { at: editor.selection.focus.path });
|
|
99
|
-
ReactEditor.focus(editor);
|
|
106
|
+
insertChange(editor, fields, customFieldSchema);
|
|
107
|
+
closeModal(drawerSlug);
|
|
100
108
|
}, initialState: initialState })),
|
|
101
109
|
React.createElement(Popup, { buttonType: "none", size: "small", forceOpen: renderPopup, onToggleOpen: handleTogglePopup, horizontalAlign: "left", verticalAlign: "bottom", boundingRef: editorRef, render: () => {
|
|
102
110
|
var _a, _b, _c, _d;
|
|
@@ -107,7 +115,7 @@ export const LinkElement = ({ attributes, children, element, editorRef, fieldPro
|
|
|
107
115
|
React.createElement(Button, { className: `${baseClass}__link-edit`, icon: "edit", round: true, buttonStyle: "icon-label", onClick: (e) => {
|
|
108
116
|
e.preventDefault();
|
|
109
117
|
setRenderPopup(false);
|
|
110
|
-
openModal(
|
|
118
|
+
openModal(drawerSlug);
|
|
111
119
|
setRenderModal(true);
|
|
112
120
|
}, tooltip: t('general:edit') }),
|
|
113
121
|
React.createElement(Button, { className: `${baseClass}__link-close`, icon: "x", round: true, buttonStyle: "icon-label", onClick: (e) => {
|
|
@@ -116,7 +124,7 @@ export const LinkElement = ({ attributes, children, element, editorRef, fieldPro
|
|
|
116
124
|
}, tooltip: t('general:remove') })));
|
|
117
125
|
} })),
|
|
118
126
|
React.createElement("span", { tabIndex: 0, role: "button", className: [
|
|
119
|
-
`${baseClass}
|
|
127
|
+
`${baseClass}__popup-toggler`,
|
|
120
128
|
].filter(Boolean).join(' '), onKeyDown: (e) => { if (e.key === 'Enter')
|
|
121
129
|
setRenderPopup(true); }, onClick: () => setRenderPopup(true) }, children)));
|
|
122
130
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@import '
|
|
1
|
+
@import '../../../../../../../scss/styles.scss';
|
|
2
2
|
|
|
3
3
|
.rich-text-link {
|
|
4
4
|
position: relative;
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
bottom: 0;
|
|
12
12
|
left: 0;
|
|
13
13
|
|
|
14
|
-
|
|
15
14
|
.popup__scroll,
|
|
16
15
|
.popup__wrap {
|
|
17
16
|
overflow: visible;
|
|
@@ -52,18 +51,19 @@
|
|
|
52
51
|
}
|
|
53
52
|
}
|
|
54
53
|
|
|
55
|
-
.rich-text-
|
|
56
|
-
@extend %btn-reset;
|
|
57
|
-
font-family: inherit;
|
|
58
|
-
font-size: inherit;
|
|
59
|
-
font-weight: inherit;
|
|
60
|
-
color: inherit;
|
|
61
|
-
letter-spacing: inherit;
|
|
62
|
-
line-height: inherit;
|
|
54
|
+
.rich-text-link__popup-toggler {
|
|
63
55
|
position: relative;
|
|
56
|
+
border: 0;
|
|
57
|
+
background-color: transparent;
|
|
58
|
+
padding: 0;
|
|
64
59
|
text-decoration: underline;
|
|
65
60
|
cursor: text;
|
|
66
61
|
|
|
62
|
+
&:focus,
|
|
63
|
+
&:focus-within {
|
|
64
|
+
outline: none;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
67
|
&--open {
|
|
68
68
|
z-index: var(--z-popup);
|
|
69
69
|
}
|
|
File without changes
|
|
File without changes
|
package/dist/admin/components/forms/field-types/RichText/elements/link/{Modal → LinkDrawer}/index.js
RENAMED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { Modal } from '@faceless-ui/modal';
|
|
2
1
|
import React from 'react';
|
|
3
2
|
import { useTranslation } from 'react-i18next';
|
|
4
|
-
import {
|
|
3
|
+
import { Drawer } from '../../../../../../elements/Drawer';
|
|
5
4
|
import Button from '../../../../../../elements/Button';
|
|
6
5
|
import X from '../../../../../../icons/X';
|
|
7
6
|
import Form from '../../../../../Form';
|
|
@@ -9,14 +8,15 @@ import FormSubmit from '../../../../../Submit';
|
|
|
9
8
|
import fieldTypes from '../../../..';
|
|
10
9
|
import RenderFields from '../../../../../RenderFields';
|
|
11
10
|
import './index.scss';
|
|
11
|
+
import { Gutter } from '../../../../../../elements/Gutter';
|
|
12
12
|
const baseClass = 'rich-text-link-edit-modal';
|
|
13
|
-
export const
|
|
13
|
+
export const LinkDrawer = ({ handleClose, handleModalSubmit, initialState, fieldSchema, drawerSlug, }) => {
|
|
14
14
|
const { t } = useTranslation('fields');
|
|
15
|
-
return (React.createElement(
|
|
16
|
-
React.createElement(
|
|
15
|
+
return (React.createElement(Drawer, { slug: drawerSlug, formatSlug: false, className: baseClass },
|
|
16
|
+
React.createElement(Gutter, { className: `${baseClass}__template` },
|
|
17
17
|
React.createElement("header", { className: `${baseClass}__header` },
|
|
18
|
-
React.createElement("
|
|
19
|
-
React.createElement(Button, { buttonStyle: "none", onClick:
|
|
18
|
+
React.createElement("h2", { className: `${baseClass}__header-text` }, t('editLink')),
|
|
19
|
+
React.createElement(Button, { className: `${baseClass}__header-close`, buttonStyle: "none", onClick: handleClose },
|
|
20
20
|
React.createElement(X, null))),
|
|
21
21
|
React.createElement(Form, { onSubmit: handleModalSubmit, initialState: initialState },
|
|
22
22
|
React.createElement(RenderFields, { fieldTypes: fieldTypes, readOnly: false, fieldSchema: fieldSchema, forceRender: true }),
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
@import '../../../../../../../scss/styles.scss';
|
|
2
|
+
|
|
3
|
+
.rich-text-link-edit-modal {
|
|
4
|
+
&__template {
|
|
5
|
+
position: relative;
|
|
6
|
+
z-index: 1;
|
|
7
|
+
padding-top: base(1);
|
|
8
|
+
padding-bottom: base(2);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
&__header {
|
|
12
|
+
width: 100%;
|
|
13
|
+
margin-bottom: $baseline;
|
|
14
|
+
display: flex;
|
|
15
|
+
justify-content: space-between;
|
|
16
|
+
margin-top: base(2.5);
|
|
17
|
+
margin-bottom: base(1);
|
|
18
|
+
|
|
19
|
+
@include mid-break {
|
|
20
|
+
margin-top: base(1.5);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&__header-text {
|
|
25
|
+
margin: 0;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&__header-close {
|
|
29
|
+
border: 0;
|
|
30
|
+
background-color: transparent;
|
|
31
|
+
padding: 0;
|
|
32
|
+
cursor: pointer;
|
|
33
|
+
overflow: hidden;
|
|
34
|
+
width: base(1);
|
|
35
|
+
height: base(1);
|
|
36
|
+
|
|
37
|
+
svg {
|
|
38
|
+
width: base(2.75);
|
|
39
|
+
height: base(2.75);
|
|
40
|
+
position: relative;
|
|
41
|
+
left: base(-.825);
|
|
42
|
+
top: base(-.825);
|
|
43
|
+
|
|
44
|
+
.stroke {
|
|
45
|
+
stroke-width: 2px;
|
|
46
|
+
vector-effect: non-scaling-stroke;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Field } from '../../../../../../../../fields/config/types';
|
|
2
2
|
import { Fields } from '../../../../../Form/types';
|
|
3
|
-
export type Props = {
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
export declare type Props = {
|
|
4
|
+
drawerSlug: string;
|
|
5
|
+
handleClose: () => void;
|
|
6
6
|
handleModalSubmit: (fields: Fields, data: Record<string, unknown>) => void;
|
|
7
7
|
initialState?: Fields;
|
|
8
8
|
fieldSchema: Field[];
|
|
File without changes
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
declare const link: {
|
|
3
|
-
Button: ({
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
Button: import("react").FC<{
|
|
4
|
+
path: string;
|
|
5
|
+
fieldProps: import("../../types").Props;
|
|
6
|
+
}>;
|
|
7
|
+
Element: import("react").FC<{
|
|
8
|
+
attributes: import("react").HTMLAttributes<HTMLDivElement>;
|
|
9
|
+
children: import("react").ReactNode;
|
|
9
10
|
element: any;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
11
|
+
fieldProps: import("../../types").Props;
|
|
12
|
+
editorRef: import("react").RefObject<HTMLDivElement>;
|
|
13
|
+
}>;
|
|
13
14
|
plugins: ((incomingEditor: import("slate").BaseEditor & import("slate-react").ReactEditor & import("slate-history").HistoryEditor) => import("slate").BaseEditor & import("slate-react").ReactEditor & import("slate-history").HistoryEditor)[];
|
|
14
15
|
};
|
|
15
16
|
export default link;
|
package/dist/admin/components/forms/field-types/RichText/elements/relationship/Button/index.js
CHANGED
|
@@ -1,20 +1,12 @@
|
|
|
1
1
|
import React, { Fragment, useCallback, useEffect, useState } from 'react';
|
|
2
|
-
import { Modal, useModal } from '@faceless-ui/modal';
|
|
3
2
|
import { ReactEditor, useSlate } from 'slate-react';
|
|
4
3
|
import { useTranslation } from 'react-i18next';
|
|
5
4
|
import { useConfig } from '../../../../../../utilities/Config';
|
|
6
5
|
import ElementButton from '../../Button';
|
|
7
6
|
import RelationshipIcon from '../../../../../../icons/Relationship';
|
|
8
|
-
import Form from '../../../../../Form';
|
|
9
|
-
import MinimalTemplate from '../../../../../../templates/Minimal';
|
|
10
|
-
import Button from '../../../../../../elements/Button';
|
|
11
|
-
import Submit from '../../../../../Submit';
|
|
12
|
-
import X from '../../../../../../icons/X';
|
|
13
|
-
import Fields from './Fields';
|
|
14
|
-
import { requests } from '../../../../../../../api';
|
|
15
7
|
import { injectVoidElement } from '../../injectVoid';
|
|
8
|
+
import { useListDrawer } from '../../../../../../elements/ListDrawer';
|
|
16
9
|
import './index.scss';
|
|
17
|
-
const initialFormData = {};
|
|
18
10
|
const baseClass = 'relationship-rich-text-button';
|
|
19
11
|
const insertRelationship = (editor, { value, relationTo }) => {
|
|
20
12
|
const text = { text: ' ' };
|
|
@@ -29,49 +21,38 @@ const insertRelationship = (editor, { value, relationTo }) => {
|
|
|
29
21
|
injectVoidElement(editor, relationship);
|
|
30
22
|
ReactEditor.focus(editor);
|
|
31
23
|
};
|
|
32
|
-
const RelationshipButton = (
|
|
33
|
-
const {
|
|
24
|
+
const RelationshipButton = () => {
|
|
25
|
+
const { collections } = useConfig();
|
|
26
|
+
const { t } = useTranslation('fields');
|
|
34
27
|
const editor = useSlate();
|
|
35
|
-
const {
|
|
36
|
-
const [
|
|
37
|
-
const [
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
'Accept-Language': i18n.language,
|
|
28
|
+
const [enabledCollectionSlugs] = useState(() => collections.filter(({ admin: { enableRichTextRelationship } }) => enableRichTextRelationship).map(({ slug }) => slug));
|
|
29
|
+
const [selectedCollectionSlug, setSelectedCollectionSlug] = useState(() => enabledCollectionSlugs[0]);
|
|
30
|
+
const [ListDrawer, ListDrawerToggler, { closeDrawer, isDrawerOpen, },] = useListDrawer({
|
|
31
|
+
collectionSlugs: enabledCollectionSlugs,
|
|
32
|
+
selectedCollection: selectedCollectionSlug,
|
|
33
|
+
});
|
|
34
|
+
const onSelect = useCallback(({ docID, collectionConfig }) => {
|
|
35
|
+
insertRelationship(editor, {
|
|
36
|
+
value: {
|
|
37
|
+
id: docID,
|
|
46
38
|
},
|
|
39
|
+
relationTo: collectionConfig.slug,
|
|
47
40
|
});
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
toggleModal(modalSlug);
|
|
51
|
-
setRenderModal(false);
|
|
52
|
-
setLoading(false);
|
|
53
|
-
}, [i18n.language, editor, toggleModal, modalSlug, api, serverURL]);
|
|
41
|
+
closeDrawer();
|
|
42
|
+
}, [editor, closeDrawer]);
|
|
54
43
|
useEffect(() => {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}, [
|
|
59
|
-
if (!
|
|
44
|
+
// always reset back to first option
|
|
45
|
+
// TODO: this is not working, see the ListDrawer component
|
|
46
|
+
setSelectedCollectionSlug(enabledCollectionSlugs[0]);
|
|
47
|
+
}, [isDrawerOpen, enabledCollectionSlugs]);
|
|
48
|
+
if (!enabledCollectionSlugs || enabledCollectionSlugs.length === 0)
|
|
60
49
|
return null;
|
|
61
50
|
return (React.createElement(Fragment, null,
|
|
62
|
-
React.createElement(
|
|
63
|
-
React.createElement(
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
React.createElement(
|
|
67
|
-
|
|
68
|
-
React.createElement(Button, { buttonStyle: "none", onClick: () => {
|
|
69
|
-
toggleModal(modalSlug);
|
|
70
|
-
setRenderModal(false);
|
|
71
|
-
} },
|
|
72
|
-
React.createElement(X, null))),
|
|
73
|
-
React.createElement(Form, { onSubmit: handleAddRelationship, initialData: initialFormData, disabled: loading },
|
|
74
|
-
React.createElement(Fields, null),
|
|
75
|
-
React.createElement(Submit, null, t('addRelationship'))))))));
|
|
51
|
+
React.createElement(ListDrawerToggler, null,
|
|
52
|
+
React.createElement(ElementButton, { className: baseClass, format: "relationship", tooltip: t('addRelationship'), el: "div", onClick: () => {
|
|
53
|
+
// do nothing
|
|
54
|
+
} },
|
|
55
|
+
React.createElement(RelationshipIcon, null))),
|
|
56
|
+
React.createElement(ListDrawer, { onSelect: onSelect })));
|
|
76
57
|
};
|
|
77
58
|
export default RelationshipButton;
|
package/dist/admin/components/forms/field-types/RichText/elements/relationship/Button/index.scss
CHANGED
|
@@ -1,35 +1,7 @@
|
|
|
1
1
|
@import '../../../../../../../scss/styles.scss';
|
|
2
2
|
|
|
3
3
|
.relationship-rich-text-button {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
&__modal {
|
|
9
|
-
@include blur-bg;
|
|
10
|
-
display: flex;
|
|
11
|
-
align-items: center;
|
|
12
|
-
height: 100%;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
&__modal-template {
|
|
16
|
-
position: relative;
|
|
17
|
-
z-index: 1;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
&__header {
|
|
21
|
-
width: 100%;
|
|
22
|
-
margin-bottom: $baseline;
|
|
23
|
-
display: flex;
|
|
24
|
-
justify-content: space-between;
|
|
25
|
-
|
|
26
|
-
h3 {
|
|
27
|
-
margin: 0;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
svg {
|
|
31
|
-
width: base(1.5);
|
|
32
|
-
height: base(1.5);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
4
|
+
display: flex;
|
|
5
|
+
align-items: center;
|
|
6
|
+
height: 100%;
|
|
35
7
|
}
|
package/dist/admin/components/forms/field-types/RichText/elements/relationship/Element/index.d.ts
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
import React, { HTMLAttributes } from 'react';
|
|
2
|
+
import { Props as RichTextProps } from '../../../types';
|
|
2
3
|
import './index.scss';
|
|
3
|
-
declare const Element:
|
|
4
|
+
declare const Element: React.FC<{
|
|
5
|
+
attributes: HTMLAttributes<HTMLDivElement>;
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
element: any;
|
|
8
|
+
fieldProps: RichTextProps;
|
|
9
|
+
}>;
|
|
4
10
|
export default Element;
|