@payloadcms/richtext-slate 3.0.0-alpha.8 → 3.0.0-beta.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/dist/cell/index.d.ts +2 -3
- package/dist/cell/index.d.ts.map +1 -1
- package/dist/cell/index.js +4 -20
- package/dist/cell/index.js.map +1 -0
- package/dist/data/defaultValue.js +2 -12
- package/dist/data/defaultValue.js.map +1 -0
- package/dist/data/populate.d.ts +2 -2
- package/dist/data/populate.d.ts.map +1 -1
- package/dist/data/populate.js +2 -12
- package/dist/data/populate.js.map +1 -0
- package/dist/data/recurseNestedFields.js +12 -22
- package/dist/data/recurseNestedFields.js.map +1 -0
- package/dist/data/richTextRelationshipPromise.d.ts +1 -1
- package/dist/data/richTextRelationshipPromise.d.ts.map +1 -1
- package/dist/data/richTextRelationshipPromise.js +9 -27
- package/dist/data/richTextRelationshipPromise.js.map +1 -0
- package/dist/data/validation.d.ts +1 -1
- package/dist/data/validation.d.ts.map +1 -1
- package/dist/data/validation.js +4 -14
- package/dist/data/validation.js.map +1 -0
- package/dist/field/RichText.d.ts +10 -18
- package/dist/field/RichText.d.ts.map +1 -1
- package/dist/field/RichText.js +92 -132
- package/dist/field/RichText.js.map +1 -0
- package/dist/field/createFeatureMap.d.ts +1 -1
- package/dist/field/createFeatureMap.d.ts.map +1 -1
- package/dist/field/createFeatureMap.js +2 -12
- package/dist/field/createFeatureMap.js.map +1 -0
- package/dist/field/elements/Button.d.ts +2 -3
- package/dist/field/elements/Button.d.ts.map +1 -1
- package/dist/field/elements/Button.js +16 -81
- package/dist/field/elements/Button.js.map +1 -0
- package/dist/field/elements/EnabledRelationshipsCondition.d.ts.map +1 -1
- package/dist/field/elements/EnabledRelationshipsCondition.js +15 -64
- package/dist/field/elements/EnabledRelationshipsCondition.js.map +1 -0
- package/dist/field/elements/ListButton.d.ts +2 -3
- package/dist/field/elements/ListButton.d.ts.map +1 -1
- package/dist/field/elements/ListButton.js +13 -78
- package/dist/field/elements/ListButton.js.map +1 -0
- package/dist/field/elements/areAllChildrenElements.js +4 -14
- package/dist/field/elements/areAllChildrenElements.js.map +1 -0
- package/dist/field/elements/blockquote/Blockquote.js +7 -22
- package/dist/field/elements/blockquote/Blockquote.js.map +1 -0
- package/dist/field/elements/blockquote/index.d.ts +2 -3
- package/dist/field/elements/blockquote/index.d.ts.map +1 -1
- package/dist/field/elements/blockquote/index.js +9 -25
- package/dist/field/elements/blockquote/index.js.map +1 -0
- package/dist/field/elements/getCommonBlock.js +9 -19
- package/dist/field/elements/getCommonBlock.js.map +1 -0
- package/dist/field/elements/h1/Heading1.js +6 -21
- package/dist/field/elements/h1/Heading1.js.map +1 -0
- package/dist/field/elements/h1/index.d.ts +2 -3
- package/dist/field/elements/h1/index.d.ts.map +1 -1
- package/dist/field/elements/h1/index.js +9 -25
- package/dist/field/elements/h1/index.js.map +1 -0
- package/dist/field/elements/h2/Heading2.js +6 -21
- package/dist/field/elements/h2/Heading2.js.map +1 -0
- package/dist/field/elements/h2/index.d.ts +2 -3
- package/dist/field/elements/h2/index.d.ts.map +1 -1
- package/dist/field/elements/h2/index.js +9 -25
- package/dist/field/elements/h2/index.js.map +1 -0
- package/dist/field/elements/h3/Heading3.js +6 -21
- package/dist/field/elements/h3/Heading3.js.map +1 -0
- package/dist/field/elements/h3/index.d.ts +2 -3
- package/dist/field/elements/h3/index.d.ts.map +1 -1
- package/dist/field/elements/h3/index.js +9 -25
- package/dist/field/elements/h3/index.js.map +1 -0
- package/dist/field/elements/h4/Heading4.js +6 -21
- package/dist/field/elements/h4/Heading4.js.map +1 -0
- package/dist/field/elements/h4/index.d.ts +2 -3
- package/dist/field/elements/h4/index.d.ts.map +1 -1
- package/dist/field/elements/h4/index.js +9 -25
- package/dist/field/elements/h4/index.js.map +1 -0
- package/dist/field/elements/h5/Heading5.js +6 -21
- package/dist/field/elements/h5/Heading5.js.map +1 -0
- package/dist/field/elements/h5/index.d.ts +2 -3
- package/dist/field/elements/h5/index.d.ts.map +1 -1
- package/dist/field/elements/h5/index.js +9 -25
- package/dist/field/elements/h5/index.js.map +1 -0
- package/dist/field/elements/h6/Heading6.js +6 -21
- package/dist/field/elements/h6/Heading6.js.map +1 -0
- package/dist/field/elements/h6/index.d.ts +2 -3
- package/dist/field/elements/h6/index.d.ts.map +1 -1
- package/dist/field/elements/h6/index.js +9 -25
- package/dist/field/elements/h6/index.js.map +1 -0
- package/dist/field/elements/indent/Button.js +60 -115
- package/dist/field/elements/indent/Button.js.map +1 -0
- package/dist/field/elements/indent/Element.js +6 -21
- package/dist/field/elements/indent/Element.js.map +1 -0
- package/dist/field/elements/indent/index.d.ts +2 -3
- package/dist/field/elements/indent/index.d.ts.map +1 -1
- package/dist/field/elements/indent/index.js +8 -19
- package/dist/field/elements/indent/index.js.map +1 -0
- package/dist/field/elements/indent/shared.js +2 -12
- package/dist/field/elements/indent/shared.js.map +1 -0
- package/dist/field/elements/index.d.ts +2 -3
- package/dist/field/elements/index.d.ts.map +1 -1
- package/dist/field/elements/index.js +32 -48
- package/dist/field/elements/index.js.map +1 -0
- package/dist/field/elements/injectVoid.js +12 -22
- package/dist/field/elements/injectVoid.js.map +1 -0
- package/dist/field/elements/isActive.d.ts +1 -2
- package/dist/field/elements/isActive.d.ts.map +1 -1
- package/dist/field/elements/isActive.js +6 -17
- package/dist/field/elements/isActive.js.map +1 -0
- package/dist/field/elements/isBlockElement.d.ts +1 -1
- package/dist/field/elements/isBlockElement.d.ts.map +1 -1
- package/dist/field/elements/isBlockElement.js +9 -14
- package/dist/field/elements/isBlockElement.js.map +1 -0
- package/dist/field/elements/isLastSelectedElementEmpty.js +8 -18
- package/dist/field/elements/isLastSelectedElementEmpty.js.map +1 -0
- package/dist/field/elements/isListActive.d.ts +1 -2
- package/dist/field/elements/isListActive.d.ts.map +1 -1
- package/dist/field/elements/isListActive.js +8 -19
- package/dist/field/elements/isListActive.js.map +1 -0
- package/dist/field/elements/isWithinListItem.js +5 -15
- package/dist/field/elements/isWithinListItem.js.map +1 -0
- package/dist/field/elements/li/ListItem.js +9 -65
- package/dist/field/elements/li/ListItem.js.map +1 -0
- package/dist/field/elements/li/index.d.ts +2 -3
- package/dist/field/elements/li/index.d.ts.map +1 -1
- package/dist/field/elements/li/index.js +4 -15
- package/dist/field/elements/li/index.js.map +1 -0
- package/dist/field/elements/link/Button/index.d.ts.map +1 -1
- package/dist/field/elements/link/Button/index.js +46 -100
- package/dist/field/elements/link/Button/index.js.map +1 -0
- package/dist/field/elements/link/Element/index.d.ts.map +1 -1
- package/dist/field/elements/link/Element/index.js +69 -107
- package/dist/field/elements/link/Element/index.js.map +1 -0
- package/dist/field/elements/link/LinkDrawer/baseFields.d.ts.map +1 -1
- package/dist/field/elements/link/LinkDrawer/baseFields.js +10 -31
- package/dist/field/elements/link/LinkDrawer/baseFields.js.map +1 -0
- package/dist/field/elements/link/LinkDrawer/index.d.ts +1 -1
- package/dist/field/elements/link/LinkDrawer/index.d.ts.map +1 -1
- package/dist/field/elements/link/LinkDrawer/index.js +40 -79
- package/dist/field/elements/link/LinkDrawer/index.js.map +1 -0
- package/dist/field/elements/link/LinkDrawer/types.d.ts +2 -1
- package/dist/field/elements/link/LinkDrawer/types.d.ts.map +1 -1
- package/dist/field/elements/link/LinkDrawer/types.js +2 -5
- package/dist/field/elements/link/LinkDrawer/types.js.map +1 -0
- package/dist/field/elements/link/WithLinks.js +4 -14
- package/dist/field/elements/link/WithLinks.js.map +1 -0
- package/dist/field/elements/link/index.d.ts +2 -3
- package/dist/field/elements/link/index.d.ts.map +1 -1
- package/dist/field/elements/link/index.js +8 -19
- package/dist/field/elements/link/index.js.map +1 -0
- package/dist/field/elements/link/shared.js +3 -21
- package/dist/field/elements/link/shared.js.map +1 -0
- package/dist/field/elements/link/types.js +2 -5
- package/dist/field/elements/link/types.js.map +1 -0
- package/dist/field/elements/link/utilities.js +15 -34
- package/dist/field/elements/link/utilities.js.map +1 -0
- package/dist/field/elements/listTypes.d.ts +1 -2
- package/dist/field/elements/listTypes.d.ts.map +1 -1
- package/dist/field/elements/listTypes.js +2 -12
- package/dist/field/elements/listTypes.js.map +1 -0
- package/dist/field/elements/ol/OrderedList.js +7 -22
- package/dist/field/elements/ol/OrderedList.js.map +1 -0
- package/dist/field/elements/ol/index.d.ts +2 -3
- package/dist/field/elements/ol/index.d.ts.map +1 -1
- package/dist/field/elements/ol/index.js +9 -25
- package/dist/field/elements/ol/index.js.map +1 -0
- package/dist/field/elements/relationship/Button/index.d.ts +2 -2
- package/dist/field/elements/relationship/Button/index.d.ts.map +1 -1
- package/dist/field/elements/relationship/Button/index.js +22 -77
- package/dist/field/elements/relationship/Button/index.js.map +1 -0
- package/dist/field/elements/relationship/Element/index.d.ts +3 -3
- package/dist/field/elements/relationship/Element/index.d.ts.map +1 -1
- package/dist/field/elements/relationship/Element/index.js +50 -96
- package/dist/field/elements/relationship/Element/index.js.map +1 -0
- package/dist/field/elements/relationship/index.d.ts +2 -3
- package/dist/field/elements/relationship/index.d.ts.map +1 -1
- package/dist/field/elements/relationship/index.js +10 -26
- package/dist/field/elements/relationship/index.js.map +1 -0
- package/dist/field/elements/relationship/plugin.js +6 -16
- package/dist/field/elements/relationship/plugin.js.map +1 -0
- package/dist/field/elements/relationship/shared.js +2 -12
- package/dist/field/elements/relationship/shared.js.map +1 -0
- package/dist/field/elements/relationship/types.js +2 -5
- package/dist/field/elements/relationship/types.js.map +1 -0
- package/dist/field/elements/textAlign/index.d.ts +2 -3
- package/dist/field/elements/textAlign/index.d.ts.map +1 -1
- package/dist/field/elements/textAlign/index.js +11 -27
- package/dist/field/elements/textAlign/index.js.map +1 -0
- package/dist/field/elements/toggle.d.ts +1 -2
- package/dist/field/elements/toggle.d.ts.map +1 -1
- package/dist/field/elements/toggle.js +13 -29
- package/dist/field/elements/toggle.js.map +1 -0
- package/dist/field/elements/toggleList.d.ts +1 -2
- package/dist/field/elements/toggleList.d.ts.map +1 -1
- package/dist/field/elements/toggleList.js +27 -43
- package/dist/field/elements/toggleList.js.map +1 -0
- package/dist/field/elements/types.js +2 -5
- package/dist/field/elements/types.js.map +1 -0
- package/dist/field/elements/ul/UnorderedList.js +7 -22
- package/dist/field/elements/ul/UnorderedList.js.map +1 -0
- package/dist/field/elements/ul/index.d.ts +2 -3
- package/dist/field/elements/ul/index.d.ts.map +1 -1
- package/dist/field/elements/ul/index.js +9 -25
- package/dist/field/elements/ul/index.js.map +1 -0
- package/dist/field/elements/unwrapList.js +13 -28
- package/dist/field/elements/unwrapList.js.map +1 -0
- package/dist/field/elements/upload/Button/index.d.ts +2 -2
- package/dist/field/elements/upload/Button/index.d.ts.map +1 -1
- package/dist/field/elements/upload/Button/index.js +21 -76
- package/dist/field/elements/upload/Button/index.js.map +1 -0
- package/dist/field/elements/upload/Element/UploadDrawer/index.d.ts +4 -4
- package/dist/field/elements/upload/Element/UploadDrawer/index.d.ts.map +1 -1
- package/dist/field/elements/upload/Element/UploadDrawer/index.js +70 -87
- package/dist/field/elements/upload/Element/UploadDrawer/index.js.map +1 -0
- package/dist/field/elements/upload/Element/index.d.ts +3 -3
- package/dist/field/elements/upload/Element/index.d.ts.map +1 -1
- package/dist/field/elements/upload/Element/index.js +64 -108
- package/dist/field/elements/upload/Element/index.js.map +1 -0
- package/dist/field/elements/upload/index.d.ts +2 -3
- package/dist/field/elements/upload/index.d.ts.map +1 -1
- package/dist/field/elements/upload/index.js +10 -26
- package/dist/field/elements/upload/index.js.map +1 -0
- package/dist/field/elements/upload/plugin.js +6 -16
- package/dist/field/elements/upload/plugin.js.map +1 -0
- package/dist/field/elements/upload/shared.js +3 -21
- package/dist/field/elements/upload/shared.js.map +1 -0
- package/dist/field/elements/upload/types.js +2 -5
- package/dist/field/elements/upload/types.js.map +1 -0
- package/dist/field/hotkeys.d.ts +1 -2
- package/dist/field/hotkeys.d.ts.map +1 -1
- package/dist/field/hotkeys.js +2 -12
- package/dist/field/hotkeys.js.map +1 -0
- package/dist/field/icons/AlignCenter/index.d.ts +1 -2
- package/dist/field/icons/AlignCenter/index.d.ts.map +1 -1
- package/dist/field/icons/AlignCenter/index.js +4 -20
- package/dist/field/icons/AlignCenter/index.js.map +1 -0
- package/dist/field/icons/AlignLeft/index.d.ts +1 -2
- package/dist/field/icons/AlignLeft/index.d.ts.map +1 -1
- package/dist/field/icons/AlignLeft/index.js +4 -20
- package/dist/field/icons/AlignLeft/index.js.map +1 -0
- package/dist/field/icons/AlignRight/index.d.ts +1 -2
- package/dist/field/icons/AlignRight/index.d.ts.map +1 -1
- package/dist/field/icons/AlignRight/index.js +4 -20
- package/dist/field/icons/AlignRight/index.js.map +1 -0
- package/dist/field/icons/Blockquote/index.d.ts +1 -2
- package/dist/field/icons/Blockquote/index.d.ts.map +1 -1
- package/dist/field/icons/Blockquote/index.js +5 -21
- package/dist/field/icons/Blockquote/index.js.map +1 -0
- package/dist/field/icons/Bold/index.d.ts +1 -2
- package/dist/field/icons/Bold/index.d.ts.map +1 -1
- package/dist/field/icons/Bold/index.js +5 -21
- package/dist/field/icons/Bold/index.js.map +1 -0
- package/dist/field/icons/Code/index.d.ts +1 -2
- package/dist/field/icons/Code/index.d.ts.map +1 -1
- package/dist/field/icons/Code/index.js +4 -20
- package/dist/field/icons/Code/index.js.map +1 -0
- package/dist/field/icons/IndentLeft/index.d.ts +1 -2
- package/dist/field/icons/IndentLeft/index.d.ts.map +1 -1
- package/dist/field/icons/IndentLeft/index.js +8 -24
- package/dist/field/icons/IndentLeft/index.js.map +1 -0
- package/dist/field/icons/IndentRight/index.d.ts +1 -2
- package/dist/field/icons/IndentRight/index.d.ts.map +1 -1
- package/dist/field/icons/IndentRight/index.js +8 -24
- package/dist/field/icons/IndentRight/index.js.map +1 -0
- package/dist/field/icons/Italic/index.d.ts +1 -2
- package/dist/field/icons/Italic/index.d.ts.map +1 -1
- package/dist/field/icons/Italic/index.js +5 -21
- package/dist/field/icons/Italic/index.js.map +1 -0
- package/dist/field/icons/Link/index.d.ts +1 -2
- package/dist/field/icons/Link/index.d.ts.map +1 -1
- package/dist/field/icons/Link/index.js +6 -22
- package/dist/field/icons/Link/index.js.map +1 -0
- package/dist/field/icons/OrderedList/index.d.ts +1 -2
- package/dist/field/icons/OrderedList/index.d.ts.map +1 -1
- package/dist/field/icons/OrderedList/index.js +5 -21
- package/dist/field/icons/OrderedList/index.js.map +1 -0
- package/dist/field/icons/Relationship/index.d.ts +1 -2
- package/dist/field/icons/Relationship/index.d.ts.map +1 -1
- package/dist/field/icons/Relationship/index.js +7 -23
- package/dist/field/icons/Relationship/index.js.map +1 -0
- package/dist/field/icons/Strikethrough/index.d.ts +1 -2
- package/dist/field/icons/Strikethrough/index.d.ts.map +1 -1
- package/dist/field/icons/Strikethrough/index.js +5 -21
- package/dist/field/icons/Strikethrough/index.js.map +1 -0
- package/dist/field/icons/Underline/index.d.ts +1 -2
- package/dist/field/icons/Underline/index.d.ts.map +1 -1
- package/dist/field/icons/Underline/index.js +5 -21
- package/dist/field/icons/Underline/index.js.map +1 -0
- package/dist/field/icons/UnorderedList/index.d.ts +1 -2
- package/dist/field/icons/UnorderedList/index.d.ts.map +1 -1
- package/dist/field/icons/UnorderedList/index.js +5 -21
- package/dist/field/icons/UnorderedList/index.js.map +1 -0
- package/dist/field/icons/Upload/index.d.ts +1 -2
- package/dist/field/icons/Upload/index.d.ts.map +1 -1
- package/dist/field/icons/Upload/index.js +6 -22
- package/dist/field/icons/Upload/index.js.map +1 -0
- package/dist/field/icons/headings/H1/index.d.ts +1 -2
- package/dist/field/icons/headings/H1/index.d.ts.map +1 -1
- package/dist/field/icons/headings/H1/index.js +5 -21
- package/dist/field/icons/headings/H1/index.js.map +1 -0
- package/dist/field/icons/headings/H2/index.d.ts +1 -2
- package/dist/field/icons/headings/H2/index.d.ts.map +1 -1
- package/dist/field/icons/headings/H2/index.js +5 -21
- package/dist/field/icons/headings/H2/index.js.map +1 -0
- package/dist/field/icons/headings/H3/index.d.ts +1 -2
- package/dist/field/icons/headings/H3/index.d.ts.map +1 -1
- package/dist/field/icons/headings/H3/index.js +5 -21
- package/dist/field/icons/headings/H3/index.js.map +1 -0
- package/dist/field/icons/headings/H4/index.d.ts +1 -2
- package/dist/field/icons/headings/H4/index.d.ts.map +1 -1
- package/dist/field/icons/headings/H4/index.js +5 -21
- package/dist/field/icons/headings/H4/index.js.map +1 -0
- package/dist/field/icons/headings/H5/index.d.ts +1 -2
- package/dist/field/icons/headings/H5/index.d.ts.map +1 -1
- package/dist/field/icons/headings/H5/index.js +5 -21
- package/dist/field/icons/headings/H5/index.js.map +1 -0
- package/dist/field/icons/headings/H6/index.d.ts +1 -2
- package/dist/field/icons/headings/H6/index.d.ts.map +1 -1
- package/dist/field/icons/headings/H6/index.js +5 -21
- package/dist/field/icons/headings/H6/index.js.map +1 -0
- package/dist/field/index.d.ts +2 -3
- package/dist/field/index.d.ts.map +1 -1
- package/dist/field/index.js +22 -73
- package/dist/field/index.js.map +1 -0
- package/dist/field/leaves/Button.d.ts +1 -2
- package/dist/field/leaves/Button.d.ts.map +1 -1
- package/dist/field/leaves/Button.js +11 -27
- package/dist/field/leaves/Button.js.map +1 -0
- package/dist/field/leaves/bold/Bold/index.js +6 -21
- package/dist/field/leaves/bold/Bold/index.js.map +1 -0
- package/dist/field/leaves/bold/index.d.ts +2 -3
- package/dist/field/leaves/bold/index.d.ts.map +1 -1
- package/dist/field/leaves/bold/index.js +9 -25
- package/dist/field/leaves/bold/index.js.map +1 -0
- package/dist/field/leaves/code/Code/index.js +6 -21
- package/dist/field/leaves/code/Code/index.js.map +1 -0
- package/dist/field/leaves/code/index.d.ts +2 -3
- package/dist/field/leaves/code/index.d.ts.map +1 -1
- package/dist/field/leaves/code/index.js +9 -25
- package/dist/field/leaves/code/index.js.map +1 -0
- package/dist/field/leaves/index.d.ts +2 -3
- package/dist/field/leaves/index.d.ts.map +1 -1
- package/dist/field/leaves/index.js +12 -28
- package/dist/field/leaves/index.js.map +1 -0
- package/dist/field/leaves/isActive.d.ts +1 -2
- package/dist/field/leaves/isActive.d.ts.map +1 -1
- package/dist/field/leaves/isActive.js +4 -15
- package/dist/field/leaves/isActive.js.map +1 -0
- package/dist/field/leaves/italic/Italic/index.js +6 -21
- package/dist/field/leaves/italic/Italic/index.js.map +1 -0
- package/dist/field/leaves/italic/index.d.ts +2 -3
- package/dist/field/leaves/italic/index.d.ts.map +1 -1
- package/dist/field/leaves/italic/index.js +9 -25
- package/dist/field/leaves/italic/index.js.map +1 -0
- package/dist/field/leaves/strikethrough/Strikethrough/index.js +6 -21
- package/dist/field/leaves/strikethrough/Strikethrough/index.js.map +1 -0
- package/dist/field/leaves/strikethrough/index.d.ts +2 -3
- package/dist/field/leaves/strikethrough/index.d.ts.map +1 -1
- package/dist/field/leaves/strikethrough/index.js +9 -25
- package/dist/field/leaves/strikethrough/index.js.map +1 -0
- package/dist/field/leaves/toggle.d.ts +1 -2
- package/dist/field/leaves/toggle.d.ts.map +1 -1
- package/dist/field/leaves/toggle.js +7 -23
- package/dist/field/leaves/toggle.js.map +1 -0
- package/dist/field/leaves/underline/Underline/index.js +6 -21
- package/dist/field/leaves/underline/Underline/index.js.map +1 -0
- package/dist/field/leaves/underline/index.d.ts +2 -3
- package/dist/field/leaves/underline/index.d.ts.map +1 -1
- package/dist/field/leaves/underline/index.js +9 -25
- package/dist/field/leaves/underline/index.js.map +1 -0
- package/dist/field/mergeCustomFunctions.js +3 -13
- package/dist/field/mergeCustomFunctions.js.map +1 -0
- package/dist/field/plugins/withEnterBreakOut.d.ts +1 -2
- package/dist/field/plugins/withEnterBreakOut.d.ts.map +1 -1
- package/dist/field/plugins/withEnterBreakOut.js +2 -13
- package/dist/field/plugins/withEnterBreakOut.js.map +1 -0
- package/dist/field/plugins/withHTML.d.ts +1 -2
- package/dist/field/plugins/withHTML.d.ts.map +1 -1
- package/dist/field/plugins/withHTML.js +8 -19
- package/dist/field/plugins/withHTML.js.map +1 -0
- package/dist/field/providers/ElementButtonProvider.d.ts +1 -1
- package/dist/field/providers/ElementButtonProvider.d.ts.map +1 -1
- package/dist/field/providers/ElementButtonProvider.js +7 -30
- package/dist/field/providers/ElementButtonProvider.js.map +1 -0
- package/dist/field/providers/ElementProvider.d.ts +1 -1
- package/dist/field/providers/ElementProvider.d.ts.map +1 -1
- package/dist/field/providers/ElementProvider.js +7 -30
- package/dist/field/providers/ElementProvider.js.map +1 -0
- package/dist/field/providers/LeafButtonProvider.d.ts +1 -1
- package/dist/field/providers/LeafButtonProvider.d.ts.map +1 -1
- package/dist/field/providers/LeafButtonProvider.js +7 -30
- package/dist/field/providers/LeafButtonProvider.js.map +1 -0
- package/dist/field/providers/LeafProvider.d.ts +1 -1
- package/dist/field/providers/LeafProvider.d.ts.map +1 -1
- package/dist/field/providers/LeafProvider.js +7 -30
- package/dist/field/providers/LeafProvider.js.map +1 -0
- package/dist/field/types.d.ts +1 -1
- package/dist/field/types.js +2 -5
- package/dist/field/types.js.map +1 -0
- package/dist/generateComponentMap.d.ts +1 -1
- package/dist/generateComponentMap.d.ts.map +1 -1
- package/dist/generateComponentMap.js +32 -56
- package/dist/generateComponentMap.js.map +1 -0
- package/dist/generateSchemaMap.d.ts +1 -1
- package/dist/generateSchemaMap.d.ts.map +1 -1
- package/dist/generateSchemaMap.js +15 -37
- package/dist/generateSchemaMap.js.map +1 -0
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -52
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.js +2 -12
- package/dist/types.js.map +1 -0
- package/dist/utilities/useSlatePlugin.js +6 -16
- package/dist/utilities/useSlatePlugin.js.map +1 -0
- package/package.json +15 -16
- package/src/index.tsx +82 -0
- package/dist/field/enablePlugins.d.ts +0 -3
- package/dist/field/enablePlugins.d.ts.map +0 -1
- package/dist/field/enablePlugins.js +0 -38
- package/dist/field/icons/headings/index.d.ts +0 -11
- package/dist/field/icons/headings/index.d.ts.map +0 -1
- package/dist/field/icons/headings/index.js +0 -31
|
@@ -1,108 +1,64 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const _shared = require("../shared");
|
|
20
|
-
const _UploadDrawer = require("./UploadDrawer");
|
|
21
|
-
require("./index.scss");
|
|
22
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
23
|
-
if (typeof WeakMap !== "function") return null;
|
|
24
|
-
var cacheBabelInterop = new WeakMap();
|
|
25
|
-
var cacheNodeInterop = new WeakMap();
|
|
26
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
27
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
28
|
-
})(nodeInterop);
|
|
29
|
-
}
|
|
30
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
|
31
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
32
|
-
return obj;
|
|
33
|
-
}
|
|
34
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
35
|
-
return {
|
|
36
|
-
default: obj
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
40
|
-
if (cache && cache.has(obj)) {
|
|
41
|
-
return cache.get(obj);
|
|
42
|
-
}
|
|
43
|
-
var newObj = {
|
|
44
|
-
__proto__: null
|
|
45
|
-
};
|
|
46
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
47
|
-
for(var key in obj){
|
|
48
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
49
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
50
|
-
if (desc && (desc.get || desc.set)) {
|
|
51
|
-
Object.defineProperty(newObj, key, desc);
|
|
52
|
-
} else {
|
|
53
|
-
newObj[key] = obj[key];
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
newObj.default = obj;
|
|
58
|
-
if (cache) {
|
|
59
|
-
cache.set(obj, newObj);
|
|
60
|
-
}
|
|
61
|
-
return newObj;
|
|
62
|
-
}
|
|
2
|
+
import { getTranslation } from '@payloadcms/translations';
|
|
3
|
+
import { Button } from '@payloadcms/ui/elements/Button';
|
|
4
|
+
import { useDocumentDrawer } from '@payloadcms/ui/elements/DocumentDrawer';
|
|
5
|
+
import { DrawerToggler, useDrawerSlug } from '@payloadcms/ui/elements/Drawer';
|
|
6
|
+
import { useListDrawer } from '@payloadcms/ui/elements/ListDrawer';
|
|
7
|
+
import { File } from '@payloadcms/ui/graphics/File';
|
|
8
|
+
import usePayloadAPI from '@payloadcms/ui/hooks/usePayloadAPI';
|
|
9
|
+
import { useConfig } from '@payloadcms/ui/providers/Config';
|
|
10
|
+
import { useTranslation } from '@payloadcms/ui/providers/Translation';
|
|
11
|
+
import React, { useCallback, useReducer, useState } from 'react';
|
|
12
|
+
import { Transforms } from 'slate';
|
|
13
|
+
import { ReactEditor, useFocused, useSelected, useSlateStatic } from 'slate-react';
|
|
14
|
+
import { useElement } from '../../../providers/ElementProvider.js';
|
|
15
|
+
import { EnabledRelationshipsCondition } from '../../EnabledRelationshipsCondition.js';
|
|
16
|
+
import { uploadFieldsSchemaPath, uploadName } from '../shared.js';
|
|
17
|
+
import { UploadDrawer } from './UploadDrawer/index.js';
|
|
18
|
+
import './index.scss';
|
|
63
19
|
const baseClass = 'rich-text-upload';
|
|
64
20
|
const initialParams = {
|
|
65
21
|
depth: 0
|
|
66
22
|
};
|
|
67
|
-
const
|
|
68
|
-
const { attributes, children, element: { relationTo, value }, element, fieldProps, schemaPath } =
|
|
69
|
-
const { collections, routes: { api }, serverURL } =
|
|
70
|
-
const { i18n, t } =
|
|
71
|
-
const [cacheBust, dispatchCacheBust] =
|
|
72
|
-
const [relatedCollection, setRelatedCollection] =
|
|
73
|
-
const drawerSlug =
|
|
74
|
-
const [ListDrawer, ListDrawerToggler, { closeDrawer: closeListDrawer }] =
|
|
23
|
+
const UploadElement = ({ enabledCollectionSlugs })=>{
|
|
24
|
+
const { attributes, children, element: { relationTo, value }, element, fieldProps, schemaPath } = useElement();
|
|
25
|
+
const { collections, routes: { api }, serverURL } = useConfig();
|
|
26
|
+
const { i18n, t } = useTranslation();
|
|
27
|
+
const [cacheBust, dispatchCacheBust] = useReducer((state)=>state + 1, 0);
|
|
28
|
+
const [relatedCollection, setRelatedCollection] = useState(()=>collections.find((coll)=>coll.slug === relationTo));
|
|
29
|
+
const drawerSlug = useDrawerSlug('upload-drawer');
|
|
30
|
+
const [ListDrawer, ListDrawerToggler, { closeDrawer: closeListDrawer }] = useListDrawer({
|
|
75
31
|
collectionSlugs: enabledCollectionSlugs,
|
|
76
32
|
selectedCollection: relatedCollection.slug
|
|
77
33
|
});
|
|
78
|
-
const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer }] =
|
|
34
|
+
const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer }] = useDocumentDrawer({
|
|
79
35
|
id: value?.id,
|
|
80
36
|
collectionSlug: relatedCollection.slug
|
|
81
37
|
});
|
|
82
|
-
const editor =
|
|
83
|
-
const selected =
|
|
84
|
-
const focused =
|
|
38
|
+
const editor = useSlateStatic();
|
|
39
|
+
const selected = useSelected();
|
|
40
|
+
const focused = useFocused();
|
|
85
41
|
// Get the referenced document
|
|
86
|
-
const [{ data }, { setParams }] =
|
|
42
|
+
const [{ data }, { setParams }] = usePayloadAPI(`${serverURL}${api}/${relatedCollection.slug}/${value?.id}`, {
|
|
87
43
|
initialParams
|
|
88
44
|
});
|
|
89
|
-
const thumbnailSRC =
|
|
90
|
-
const removeUpload =
|
|
91
|
-
const elementPath =
|
|
92
|
-
|
|
45
|
+
const thumbnailSRC = data?.thumbnailURL || data?.url;
|
|
46
|
+
const removeUpload = useCallback(()=>{
|
|
47
|
+
const elementPath = ReactEditor.findPath(editor, element);
|
|
48
|
+
Transforms.removeNodes(editor, {
|
|
93
49
|
at: elementPath
|
|
94
50
|
});
|
|
95
51
|
}, [
|
|
96
52
|
editor,
|
|
97
53
|
element
|
|
98
54
|
]);
|
|
99
|
-
const updateUpload =
|
|
55
|
+
const updateUpload = useCallback((json)=>{
|
|
100
56
|
const { doc } = json;
|
|
101
57
|
const newNode = {
|
|
102
58
|
fields: doc
|
|
103
59
|
};
|
|
104
|
-
const elementPath =
|
|
105
|
-
|
|
60
|
+
const elementPath = ReactEditor.findPath(editor, element);
|
|
61
|
+
Transforms.setNodes(editor, newNode, {
|
|
106
62
|
at: elementPath
|
|
107
63
|
});
|
|
108
64
|
setParams({
|
|
@@ -118,9 +74,9 @@ const Element = ({ enabledCollectionSlugs })=>{
|
|
|
118
74
|
cacheBust,
|
|
119
75
|
closeDrawer
|
|
120
76
|
]);
|
|
121
|
-
const swapUpload =
|
|
77
|
+
const swapUpload = React.useCallback(({ collectionSlug, docID })=>{
|
|
122
78
|
const newNode = {
|
|
123
|
-
type:
|
|
79
|
+
type: uploadName,
|
|
124
80
|
children: [
|
|
125
81
|
{
|
|
126
82
|
text: ' '
|
|
@@ -131,9 +87,9 @@ const Element = ({ enabledCollectionSlugs })=>{
|
|
|
131
87
|
id: docID
|
|
132
88
|
}
|
|
133
89
|
};
|
|
134
|
-
const elementPath =
|
|
90
|
+
const elementPath = ReactEditor.findPath(editor, element);
|
|
135
91
|
setRelatedCollection(collections.find((coll)=>coll.slug === collectionSlug));
|
|
136
|
-
|
|
92
|
+
Transforms.setNodes(editor, newNode, {
|
|
137
93
|
at: elementPath
|
|
138
94
|
});
|
|
139
95
|
dispatchCacheBust();
|
|
@@ -144,35 +100,35 @@ const Element = ({ enabledCollectionSlugs })=>{
|
|
|
144
100
|
element,
|
|
145
101
|
collections
|
|
146
102
|
]);
|
|
147
|
-
const relatedFieldSchemaPath = `${
|
|
103
|
+
const relatedFieldSchemaPath = `${uploadFieldsSchemaPath}.${relatedCollection.slug}`;
|
|
148
104
|
const customFieldsMap = fieldProps.richTextComponentMap.get(relatedFieldSchemaPath);
|
|
149
|
-
return /*#__PURE__*/
|
|
105
|
+
return /*#__PURE__*/ React.createElement("div", {
|
|
150
106
|
className: [
|
|
151
107
|
baseClass,
|
|
152
108
|
selected && focused && `${baseClass}--selected`
|
|
153
109
|
].filter(Boolean).join(' '),
|
|
154
110
|
contentEditable: false,
|
|
155
111
|
...attributes
|
|
156
|
-
}, /*#__PURE__*/
|
|
112
|
+
}, /*#__PURE__*/ React.createElement("div", {
|
|
157
113
|
className: `${baseClass}__card`
|
|
158
|
-
}, /*#__PURE__*/
|
|
114
|
+
}, /*#__PURE__*/ React.createElement("div", {
|
|
159
115
|
className: `${baseClass}__topRow`
|
|
160
|
-
}, /*#__PURE__*/
|
|
116
|
+
}, /*#__PURE__*/ React.createElement("div", {
|
|
161
117
|
className: `${baseClass}__thumbnail`
|
|
162
|
-
}, thumbnailSRC ? /*#__PURE__*/
|
|
118
|
+
}, thumbnailSRC ? /*#__PURE__*/ React.createElement("img", {
|
|
163
119
|
alt: data?.filename,
|
|
164
120
|
src: thumbnailSRC
|
|
165
|
-
}) : /*#__PURE__*/
|
|
121
|
+
}) : /*#__PURE__*/ React.createElement(File, null)), /*#__PURE__*/ React.createElement("div", {
|
|
166
122
|
className: `${baseClass}__topRowRightPanel`
|
|
167
|
-
}, /*#__PURE__*/
|
|
123
|
+
}, /*#__PURE__*/ React.createElement("div", {
|
|
168
124
|
className: `${baseClass}__collectionLabel`
|
|
169
|
-
},
|
|
125
|
+
}, getTranslation(relatedCollection.labels.singular, i18n)), /*#__PURE__*/ React.createElement("div", {
|
|
170
126
|
className: `${baseClass}__actions`
|
|
171
|
-
}, Boolean(customFieldsMap) && /*#__PURE__*/
|
|
127
|
+
}, Boolean(customFieldsMap) && /*#__PURE__*/ React.createElement(DrawerToggler, {
|
|
172
128
|
className: `${baseClass}__upload-drawer-toggler`,
|
|
173
129
|
disabled: fieldProps?.readOnly,
|
|
174
130
|
slug: drawerSlug
|
|
175
|
-
}, /*#__PURE__*/
|
|
131
|
+
}, /*#__PURE__*/ React.createElement(Button, {
|
|
176
132
|
buttonStyle: "icon-label",
|
|
177
133
|
el: "div",
|
|
178
134
|
icon: "edit",
|
|
@@ -181,10 +137,10 @@ const Element = ({ enabledCollectionSlugs })=>{
|
|
|
181
137
|
},
|
|
182
138
|
round: true,
|
|
183
139
|
tooltip: t('fields:editRelationship')
|
|
184
|
-
})), /*#__PURE__*/
|
|
140
|
+
})), /*#__PURE__*/ React.createElement(ListDrawerToggler, {
|
|
185
141
|
className: `${baseClass}__list-drawer-toggler`,
|
|
186
142
|
disabled: fieldProps?.readOnly
|
|
187
|
-
}, /*#__PURE__*/
|
|
143
|
+
}, /*#__PURE__*/ React.createElement(Button, {
|
|
188
144
|
buttonStyle: "icon-label",
|
|
189
145
|
disabled: fieldProps?.readOnly,
|
|
190
146
|
el: "div",
|
|
@@ -194,7 +150,7 @@ const Element = ({ enabledCollectionSlugs })=>{
|
|
|
194
150
|
},
|
|
195
151
|
round: true,
|
|
196
152
|
tooltip: t('fields:swapUpload')
|
|
197
|
-
})), /*#__PURE__*/
|
|
153
|
+
})), /*#__PURE__*/ React.createElement(Button, {
|
|
198
154
|
buttonStyle: "icon-label",
|
|
199
155
|
className: `${baseClass}__removeButton`,
|
|
200
156
|
disabled: fieldProps?.readOnly,
|
|
@@ -205,15 +161,15 @@ const Element = ({ enabledCollectionSlugs })=>{
|
|
|
205
161
|
},
|
|
206
162
|
round: true,
|
|
207
163
|
tooltip: t('fields:removeUpload')
|
|
208
|
-
})))), /*#__PURE__*/
|
|
164
|
+
})))), /*#__PURE__*/ React.createElement("div", {
|
|
209
165
|
className: `${baseClass}__bottomRow`
|
|
210
|
-
}, /*#__PURE__*/
|
|
166
|
+
}, /*#__PURE__*/ React.createElement(DocumentDrawerToggler, {
|
|
211
167
|
className: `${baseClass}__doc-drawer-toggler`
|
|
212
|
-
}, /*#__PURE__*/
|
|
168
|
+
}, /*#__PURE__*/ React.createElement("strong", null, data?.filename)))), children, value?.id && /*#__PURE__*/ React.createElement(DocumentDrawer, {
|
|
213
169
|
onSave: updateUpload
|
|
214
|
-
}), /*#__PURE__*/
|
|
170
|
+
}), /*#__PURE__*/ React.createElement(ListDrawer, {
|
|
215
171
|
onSelect: swapUpload
|
|
216
|
-
}), /*#__PURE__*/
|
|
172
|
+
}), /*#__PURE__*/ React.createElement(UploadDrawer, {
|
|
217
173
|
drawerSlug,
|
|
218
174
|
element,
|
|
219
175
|
fieldProps,
|
|
@@ -221,11 +177,11 @@ const Element = ({ enabledCollectionSlugs })=>{
|
|
|
221
177
|
schemaPath
|
|
222
178
|
}));
|
|
223
179
|
};
|
|
224
|
-
const
|
|
225
|
-
return /*#__PURE__*/
|
|
180
|
+
export const Element = (props)=>{
|
|
181
|
+
return /*#__PURE__*/ React.createElement(EnabledRelationshipsCondition, {
|
|
226
182
|
...props,
|
|
227
183
|
uploads: true
|
|
228
|
-
}, /*#__PURE__*/
|
|
184
|
+
}, /*#__PURE__*/ React.createElement(UploadElement, props));
|
|
229
185
|
};
|
|
230
186
|
|
|
231
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9lbGVtZW50cy91cGxvYWQvRWxlbWVudC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB0eXBlIHsgRm9ybUZpZWxkQmFzZSB9IGZyb20gJ0BwYXlsb2FkY21zL3VpL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgZ2V0VHJhbnNsYXRpb24gfSBmcm9tICdAcGF5bG9hZGNtcy90cmFuc2xhdGlvbnMnXG5pbXBvcnQge1xuICBCdXR0b24sXG4gIERyYXdlclRvZ2dsZXIsXG4gIEZpbGVHcmFwaGljLFxuICB1c2VDb25maWcsXG4gIHVzZURvY3VtZW50RHJhd2VyLFxuICB1c2VEcmF3ZXJTbHVnLFxuICB1c2VMaXN0RHJhd2VyLFxuICB1c2VQYXlsb2FkQVBJLFxuICB1c2VUaHVtYm5haWwsXG4gIHVzZVRyYW5zbGF0aW9uLFxufSBmcm9tICdAcGF5bG9hZGNtcy91aSdcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlUmVkdWNlciwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSdcbmltcG9ydCB7IFJlYWN0RWRpdG9yLCB1c2VGb2N1c2VkLCB1c2VTZWxlY3RlZCwgdXNlU2xhdGVTdGF0aWMgfSBmcm9tICdzbGF0ZS1yZWFjdCdcblxuaW1wb3J0IHR5cGUgeyBVcGxvYWRFbGVtZW50VHlwZSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyB1c2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL0VsZW1lbnRQcm92aWRlcidcbmltcG9ydCB7IEVuYWJsZWRSZWxhdGlvbnNoaXBzQ29uZGl0aW9uIH0gZnJvbSAnLi4vLi4vRW5hYmxlZFJlbGF0aW9uc2hpcHNDb25kaXRpb24nXG5pbXBvcnQgeyB1cGxvYWRGaWVsZHNTY2hlbWFQYXRoLCB1cGxvYWROYW1lIH0gZnJvbSAnLi4vc2hhcmVkJ1xuaW1wb3J0IHsgVXBsb2FkRHJhd2VyIH0gZnJvbSAnLi9VcGxvYWREcmF3ZXInXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcblxuY29uc3QgYmFzZUNsYXNzID0gJ3JpY2gtdGV4dC11cGxvYWQnXG5cbmNvbnN0IGluaXRpYWxQYXJhbXMgPSB7XG4gIGRlcHRoOiAwLFxufVxuXG50eXBlIFByb3BzID0gRm9ybUZpZWxkQmFzZSAmIHtcbiAgbmFtZTogc3RyaW5nXG4gIHJpY2hUZXh0Q29tcG9uZW50TWFwOiBNYXA8c3RyaW5nLCBSZWFjdC5SZWFjdE5vZGU+XG59XG5cbmNvbnN0IEVsZW1lbnQ6IFJlYWN0LkZDPFByb3BzICYgeyBlbmFibGVkQ29sbGVjdGlvblNsdWdzPzogc3RyaW5nW10gfT4gPSAoe1xuICBlbmFibGVkQ29sbGVjdGlvblNsdWdzLFxufSkgPT4ge1xuICBjb25zdCB7XG4gICAgYXR0cmlidXRlcyxcbiAgICBjaGlsZHJlbixcbiAgICBlbGVtZW50OiB7IHJlbGF0aW9uVG8sIHZhbHVlIH0sXG4gICAgZWxlbWVudCxcbiAgICBmaWVsZFByb3BzLFxuICAgIHNjaGVtYVBhdGgsXG4gIH0gPSB1c2VFbGVtZW50PFVwbG9hZEVsZW1lbnRUeXBlPigpXG5cbiAgY29uc3Qge1xuICAgIGNvbGxlY3Rpb25zLFxuICAgIHJvdXRlczogeyBhcGkgfSxcbiAgICBzZXJ2ZXJVUkwsXG4gIH0gPSB1c2VDb25maWcoKVxuICBjb25zdCB7IGkxOG4sIHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcbiAgY29uc3QgW2NhY2hlQnVzdCwgZGlzcGF0Y2hDYWNoZUJ1c3RdID0gdXNlUmVkdWNlcigoc3RhdGUpID0+IHN0YXRlICsgMSwgMClcbiAgY29uc3QgW3JlbGF0ZWRDb2xsZWN0aW9uLCBzZXRSZWxhdGVkQ29sbGVjdGlvbl0gPSB1c2VTdGF0ZTxTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnPigoKSA9PlxuICAgIGNvbGxlY3Rpb25zLmZpbmQoKGNvbGwpID0+IGNvbGwuc2x1ZyA9PT0gcmVsYXRpb25UbyksXG4gIClcblxuICBjb25zdCBkcmF3ZXJTbHVnID0gdXNlRHJhd2VyU2x1ZygndXBsb2FkLWRyYXdlcicpXG5cbiAgY29uc3QgW0xpc3REcmF3ZXIsIExpc3REcmF3ZXJUb2dnbGVyLCB7IGNsb3NlRHJhd2VyOiBjbG9zZUxpc3REcmF3ZXIgfV0gPSB1c2VMaXN0RHJhd2VyKHtcbiAgICBjb2xsZWN0aW9uU2x1Z3M6IGVuYWJsZWRDb2xsZWN0aW9uU2x1Z3MsXG4gICAgc2VsZWN0ZWRDb2xsZWN0aW9uOiByZWxhdGVkQ29sbGVjdGlvbi5zbHVnLFxuICB9KVxuXG4gIGNvbnN0IFtEb2N1bWVudERyYXdlciwgRG9jdW1lbnREcmF3ZXJUb2dnbGVyLCB7IGNsb3NlRHJhd2VyIH1dID0gdXNlRG9jdW1lbnREcmF3ZXIoe1xuICAgIGlkOiB2YWx1ZT8uaWQsXG4gICAgY29sbGVjdGlvblNsdWc6IHJlbGF0ZWRDb2xsZWN0aW9uLnNsdWcsXG4gIH0pXG5cbiAgY29uc3QgZWRpdG9yID0gdXNlU2xhdGVTdGF0aWMoKVxuICBjb25zdCBzZWxlY3RlZCA9IHVzZVNlbGVjdGVkKClcbiAgY29uc3QgZm9jdXNlZCA9IHVzZUZvY3VzZWQoKVxuXG4gIC8vIEdldCB0aGUgcmVmZXJlbmNlZCBkb2N1bWVudFxuICBjb25zdCBbeyBkYXRhIH0sIHsgc2V0UGFyYW1zIH1dID0gdXNlUGF5bG9hZEFQSShcbiAgICBgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7cmVsYXRlZENvbGxlY3Rpb24uc2x1Z30vJHt2YWx1ZT8uaWR9YCxcbiAgICB7IGluaXRpYWxQYXJhbXMgfSxcbiAgKVxuXG4gIGNvbnN0IHRodW1ibmFpbFNSQyA9IHVzZVRodW1ibmFpbChyZWxhdGVkQ29sbGVjdGlvbi5zbHVnLCByZWxhdGVkQ29sbGVjdGlvbi51cGxvYWQsIGRhdGEpXG5cbiAgY29uc3QgcmVtb3ZlVXBsb2FkID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IGVsZW1lbnRQYXRoID0gUmVhY3RFZGl0b3IuZmluZFBhdGgoZWRpdG9yLCBlbGVtZW50KVxuXG4gICAgVHJhbnNmb3Jtcy5yZW1vdmVOb2RlcyhlZGl0b3IsIHsgYXQ6IGVsZW1lbnRQYXRoIH0pXG4gIH0sIFtlZGl0b3IsIGVsZW1lbnRdKVxuXG4gIGNvbnN0IHVwZGF0ZVVwbG9hZCA9IHVzZUNhbGxiYWNrKFxuICAgIChqc29uKSA9PiB7XG4gICAgICBjb25zdCB7IGRvYyB9ID0ganNvblxuXG4gICAgICBjb25zdCBuZXdOb2RlID0ge1xuICAgICAgICBmaWVsZHM6IGRvYyxcbiAgICAgIH1cblxuICAgICAgY29uc3QgZWxlbWVudFBhdGggPSBSZWFjdEVkaXRvci5maW5kUGF0aChlZGl0b3IsIGVsZW1lbnQpXG5cbiAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZXMoZWRpdG9yLCBuZXdOb2RlLCB7IGF0OiBlbGVtZW50UGF0aCB9KVxuXG4gICAgICBzZXRQYXJhbXMoe1xuICAgICAgICAuLi5pbml0aWFsUGFyYW1zLFxuICAgICAgICBjYWNoZUJ1c3QsIC8vIGRvIHRoaXMgdG8gZ2V0IHRoZSB1c2VQYXlsb2FkQVBJIHRvIHJlLWZldGNoIHRoZSBkYXRhIGV2ZW4gdGhvdWdoIHRoZSBVUkwgc3RyaW5nIGhhc24ndCBjaGFuZ2VkXG4gICAgICB9KVxuXG4gICAgICBkaXNwYXRjaENhY2hlQnVzdCgpXG4gICAgICBjbG9zZURyYXdlcigpXG4gICAgfSxcbiAgICBbZWRpdG9yLCBlbGVtZW50LCBzZXRQYXJhbXMsIGNhY2hlQnVzdCwgY2xvc2VEcmF3ZXJdLFxuICApXG5cbiAgY29uc3Qgc3dhcFVwbG9hZCA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgICh7IGNvbGxlY3Rpb25TbHVnLCBkb2NJRCB9KSA9PiB7XG4gICAgICBjb25zdCBuZXdOb2RlID0ge1xuICAgICAgICB0eXBlOiB1cGxvYWROYW1lLFxuICAgICAgICBjaGlsZHJlbjogW3sgdGV4dDogJyAnIH1dLFxuICAgICAgICByZWxhdGlvblRvOiBjb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgdmFsdWU6IHsgaWQ6IGRvY0lEIH0sXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGVsZW1lbnRQYXRoID0gUmVhY3RFZGl0b3IuZmluZFBhdGgoZWRpdG9yLCBlbGVtZW50KVxuXG4gICAgICBzZXRSZWxhdGVkQ29sbGVjdGlvbihjb2xsZWN0aW9ucy5maW5kKChjb2xsKSA9PiBjb2xsLnNsdWcgPT09IGNvbGxlY3Rpb25TbHVnKSlcblxuICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhlZGl0b3IsIG5ld05vZGUsIHsgYXQ6IGVsZW1lbnRQYXRoIH0pXG5cbiAgICAgIGRpc3BhdGNoQ2FjaGVCdXN0KClcbiAgICAgIGNsb3NlTGlzdERyYXdlcigpXG4gICAgfSxcbiAgICBbY2xvc2VMaXN0RHJhd2VyLCBlZGl0b3IsIGVsZW1lbnQsIGNvbGxlY3Rpb25zXSxcbiAgKVxuXG4gIGNvbnN0IHJlbGF0ZWRGaWVsZFNjaGVtYVBhdGggPSBgJHt1cGxvYWRGaWVsZHNTY2hlbWFQYXRofS4ke3JlbGF0ZWRDb2xsZWN0aW9uLnNsdWd9YFxuICBjb25zdCBjdXN0b21GaWVsZHNNYXAgPSBmaWVsZFByb3BzLnJpY2hUZXh0Q29tcG9uZW50TWFwLmdldChyZWxhdGVkRmllbGRTY2hlbWFQYXRoKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtbYmFzZUNsYXNzLCBzZWxlY3RlZCAmJiBmb2N1c2VkICYmIGAke2Jhc2VDbGFzc30tLXNlbGVjdGVkYF1cbiAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAuam9pbignICcpfVxuICAgICAgY29udGVudEVkaXRhYmxlPXtmYWxzZX1cbiAgICAgIHsuLi5hdHRyaWJ1dGVzfVxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19jYXJkYH0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X190b3BSb3dgfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fdGh1bWJuYWlsYH0+XG4gICAgICAgICAgICB7dGh1bWJuYWlsU1JDID8gPGltZyBhbHQ9e2RhdGE/LmZpbGVuYW1lfSBzcmM9e3RodW1ibmFpbFNSQ30gLz4gOiA8RmlsZUdyYXBoaWMgLz59XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3RvcFJvd1JpZ2h0UGFuZWxgfT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19jb2xsZWN0aW9uTGFiZWxgfT5cbiAgICAgICAgICAgICAge2dldFRyYW5zbGF0aW9uKHJlbGF0ZWRDb2xsZWN0aW9uLmxhYmVscy5zaW5ndWxhciwgaTE4bil9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19hY3Rpb25zYH0+XG4gICAgICAgICAgICAgIHtCb29sZWFuKGN1c3RvbUZpZWxkc01hcCkgJiYgKFxuICAgICAgICAgICAgICAgIDxEcmF3ZXJUb2dnbGVyXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3VwbG9hZC1kcmF3ZXItdG9nZ2xlcmB9XG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZmllbGRQcm9wcz8ucmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICBzbHVnPXtkcmF3ZXJTbHVnfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uU3R5bGU9XCJpY29uLWxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZWw9XCJkaXZcIlxuICAgICAgICAgICAgICAgICAgICBpY29uPVwiZWRpdFwiXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIHJvdW5kXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXA9e3QoJ2ZpZWxkczplZGl0UmVsYXRpb25zaGlwJyl9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvRHJhd2VyVG9nZ2xlcj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPExpc3REcmF3ZXJUb2dnbGVyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19saXN0LWRyYXdlci10b2dnbGVyYH1cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZmllbGRQcm9wcz8ucmVhZE9ubHl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICBidXR0b25TdHlsZT1cImljb24tbGFiZWxcIlxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2ZpZWxkUHJvcHM/LnJlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgZWw9XCJkaXZcIlxuICAgICAgICAgICAgICAgICAgaWNvbj1cInN3YXBcIlxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBkbyBub3RoaW5nXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgcm91bmRcbiAgICAgICAgICAgICAgICAgIHRvb2x0aXA9e3QoJ2ZpZWxkczpzd2FwVXBsb2FkJyl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9MaXN0RHJhd2VyVG9nZ2xlcj5cbiAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgIGJ1dHRvblN0eWxlPVwiaWNvbi1sYWJlbFwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19yZW1vdmVCdXR0b25gfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtmaWVsZFByb3BzPy5yZWFkT25seX1cbiAgICAgICAgICAgICAgICBpY29uPVwieFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgcmVtb3ZlVXBsb2FkKClcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHJvdW5kXG4gICAgICAgICAgICAgICAgdG9vbHRpcD17dCgnZmllbGRzOnJlbW92ZVVwbG9hZCcpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fYm90dG9tUm93YH0+XG4gICAgICAgICAgPERvY3VtZW50RHJhd2VyVG9nZ2xlciBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2RvYy1kcmF3ZXItdG9nZ2xlcmB9PlxuICAgICAgICAgICAgPHN0cm9uZz57ZGF0YT8uZmlsZW5hbWV9PC9zdHJvbmc+XG4gICAgICAgICAgPC9Eb2N1bWVudERyYXdlclRvZ2dsZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICB7dmFsdWU/LmlkICYmIDxEb2N1bWVudERyYXdlciBvblNhdmU9e3VwZGF0ZVVwbG9hZH0gLz59XG4gICAgICA8TGlzdERyYXdlciBvblNlbGVjdD17c3dhcFVwbG9hZH0gLz5cbiAgICAgIDxVcGxvYWREcmF3ZXIgey4uLnsgZHJhd2VyU2x1ZywgZWxlbWVudCwgZmllbGRQcm9wcywgcmVsYXRlZENvbGxlY3Rpb24sIHNjaGVtYVBhdGggfX0gLz5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCAocHJvcHM6IFByb3BzKTogUmVhY3QuUmVhY3ROb2RlID0+IHtcbiAgcmV0dXJuIChcbiAgICA8RW5hYmxlZFJlbGF0aW9uc2hpcHNDb25kaXRpb24gey4uLnByb3BzfSB1cGxvYWRzPlxuICAgICAgPEVsZW1lbnQgey4uLnByb3BzfSAvPlxuICAgIDwvRW5hYmxlZFJlbGF0aW9uc2hpcHNDb25kaXRpb24+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJiYXNlQ2xhc3MiLCJpbml0aWFsUGFyYW1zIiwiZGVwdGgiLCJFbGVtZW50IiwiZW5hYmxlZENvbGxlY3Rpb25TbHVncyIsImF0dHJpYnV0ZXMiLCJjaGlsZHJlbiIsImVsZW1lbnQiLCJyZWxhdGlvblRvIiwidmFsdWUiLCJmaWVsZFByb3BzIiwic2NoZW1hUGF0aCIsInVzZUVsZW1lbnQiLCJjb2xsZWN0aW9ucyIsInJvdXRlcyIsImFwaSIsInNlcnZlclVSTCIsInVzZUNvbmZpZyIsImkxOG4iLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJjYWNoZUJ1c3QiLCJkaXNwYXRjaENhY2hlQnVzdCIsInVzZVJlZHVjZXIiLCJzdGF0ZSIsInJlbGF0ZWRDb2xsZWN0aW9uIiwic2V0UmVsYXRlZENvbGxlY3Rpb24iLCJ1c2VTdGF0ZSIsImZpbmQiLCJjb2xsIiwic2x1ZyIsImRyYXdlclNsdWciLCJ1c2VEcmF3ZXJTbHVnIiwiTGlzdERyYXdlciIsIkxpc3REcmF3ZXJUb2dnbGVyIiwiY2xvc2VEcmF3ZXIiLCJjbG9zZUxpc3REcmF3ZXIiLCJ1c2VMaXN0RHJhd2VyIiwiY29sbGVjdGlvblNsdWdzIiwic2VsZWN0ZWRDb2xsZWN0aW9uIiwiRG9jdW1lbnREcmF3ZXIiLCJEb2N1bWVudERyYXdlclRvZ2dsZXIiLCJ1c2VEb2N1bWVudERyYXdlciIsImlkIiwiY29sbGVjdGlvblNsdWciLCJlZGl0b3IiLCJ1c2VTbGF0ZVN0YXRpYyIsInNlbGVjdGVkIiwidXNlU2VsZWN0ZWQiLCJmb2N1c2VkIiwidXNlRm9jdXNlZCIsImRhdGEiLCJzZXRQYXJhbXMiLCJ1c2VQYXlsb2FkQVBJIiwidGh1bWJuYWlsU1JDIiwidXNlVGh1bWJuYWlsIiwidXBsb2FkIiwicmVtb3ZlVXBsb2FkIiwidXNlQ2FsbGJhY2siLCJlbGVtZW50UGF0aCIsIlJlYWN0RWRpdG9yIiwiZmluZFBhdGgiLCJUcmFuc2Zvcm1zIiwicmVtb3ZlTm9kZXMiLCJhdCIsInVwZGF0ZVVwbG9hZCIsImpzb24iLCJkb2MiLCJuZXdOb2RlIiwiZmllbGRzIiwic2V0Tm9kZXMiLCJzd2FwVXBsb2FkIiwiUmVhY3QiLCJkb2NJRCIsInR5cGUiLCJ1cGxvYWROYW1lIiwidGV4dCIsInJlbGF0ZWRGaWVsZFNjaGVtYVBhdGgiLCJ1cGxvYWRGaWVsZHNTY2hlbWFQYXRoIiwiY3VzdG9tRmllbGRzTWFwIiwicmljaFRleHRDb21wb25lbnRNYXAiLCJnZXQiLCJkaXYiLCJjbGFzc05hbWUiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsImNvbnRlbnRFZGl0YWJsZSIsImltZyIsImFsdCIsImZpbGVuYW1lIiwic3JjIiwiRmlsZUdyYXBoaWMiLCJnZXRUcmFuc2xhdGlvbiIsImxhYmVscyIsInNpbmd1bGFyIiwiRHJhd2VyVG9nZ2xlciIsImRpc2FibGVkIiwicmVhZE9ubHkiLCJCdXR0b24iLCJidXR0b25TdHlsZSIsImVsIiwiaWNvbiIsIm9uQ2xpY2siLCJlIiwicHJldmVudERlZmF1bHQiLCJyb3VuZCIsInRvb2x0aXAiLCJzdHJvbmciLCJvblNhdmUiLCJvblNlbGVjdCIsIlVwbG9hZERyYXdlciIsInByb3BzIiwiRW5hYmxlZFJlbGF0aW9uc2hpcHNDb25kaXRpb24iLCJ1cGxvYWRzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7K0JBOE5BOzs7ZUFBQTs7OzhCQXpOK0I7b0JBWXhCOytEQUNrRDt1QkFDOUI7NEJBQzBDO2lDQUkxQzsrQ0FDbUI7d0JBQ0s7OEJBQ3RCO1FBQ3RCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFUCxNQUFNQSxZQUFZO0FBRWxCLE1BQU1DLGdCQUFnQjtJQUNwQkMsT0FBTztBQUNUO0FBT0EsTUFBTUMsVUFB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
|
|
187
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/field/elements/upload/Element/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FormFieldBase } from '@payloadcms/ui/fields/shared'\nimport type { ClientCollectionConfig } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { Button } from '@payloadcms/ui/elements/Button'\nimport { useDocumentDrawer } from '@payloadcms/ui/elements/DocumentDrawer'\nimport { DrawerToggler, useDrawerSlug } from '@payloadcms/ui/elements/Drawer'\nimport { useListDrawer } from '@payloadcms/ui/elements/ListDrawer'\nimport { File } from '@payloadcms/ui/graphics/File'\nimport usePayloadAPI from '@payloadcms/ui/hooks/usePayloadAPI'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport React, { useCallback, useReducer, useState } from 'react'\nimport { Transforms } from 'slate'\nimport { ReactEditor, useFocused, useSelected, useSlateStatic } from 'slate-react'\n\nimport type { UploadElementType } from '../types.js'\n\nimport { useElement } from '../../../providers/ElementProvider.js'\nimport { EnabledRelationshipsCondition } from '../../EnabledRelationshipsCondition.js'\nimport { uploadFieldsSchemaPath, uploadName } from '../shared.js'\nimport { UploadDrawer } from './UploadDrawer/index.js'\nimport './index.scss'\n\nconst baseClass = 'rich-text-upload'\n\nconst initialParams = {\n depth: 0,\n}\n\ntype Props = FormFieldBase & {\n name: string\n richTextComponentMap: Map<string, React.ReactNode>\n}\n\nconst UploadElement: React.FC<Props & { enabledCollectionSlugs?: string[] }> = ({\n enabledCollectionSlugs,\n}) => {\n const {\n attributes,\n children,\n element: { relationTo, value },\n element,\n fieldProps,\n schemaPath,\n } = useElement<UploadElementType>()\n\n const {\n collections,\n routes: { api },\n serverURL,\n } = useConfig()\n const { i18n, t } = useTranslation()\n const [cacheBust, dispatchCacheBust] = useReducer((state) => state + 1, 0)\n const [relatedCollection, setRelatedCollection] = useState<ClientCollectionConfig>(() =>\n collections.find((coll) => coll.slug === relationTo),\n )\n\n const drawerSlug = useDrawerSlug('upload-drawer')\n\n const [ListDrawer, ListDrawerToggler, { closeDrawer: closeListDrawer }] = useListDrawer({\n collectionSlugs: enabledCollectionSlugs,\n selectedCollection: relatedCollection.slug,\n })\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer }] = useDocumentDrawer({\n id: value?.id,\n collectionSlug: relatedCollection.slug,\n })\n\n const editor = useSlateStatic()\n const selected = useSelected()\n const focused = useFocused()\n\n // Get the referenced document\n const [{ data }, { setParams }] = usePayloadAPI(\n `${serverURL}${api}/${relatedCollection.slug}/${value?.id}`,\n { initialParams },\n )\n\n const thumbnailSRC = data?.thumbnailURL || data?.url\n\n const removeUpload = useCallback(() => {\n const elementPath = ReactEditor.findPath(editor, element)\n\n Transforms.removeNodes(editor, { at: elementPath })\n }, [editor, element])\n\n const updateUpload = useCallback(\n (json) => {\n const { doc } = json\n\n const newNode = {\n fields: doc,\n }\n\n const elementPath = ReactEditor.findPath(editor, element)\n\n Transforms.setNodes(editor, newNode, { at: elementPath })\n\n setParams({\n ...initialParams,\n cacheBust, // do this to get the usePayloadAPI to re-fetch the data even though the URL string hasn't changed\n })\n\n dispatchCacheBust()\n closeDrawer()\n },\n [editor, element, setParams, cacheBust, closeDrawer],\n )\n\n const swapUpload = React.useCallback(\n ({ collectionSlug, docID }) => {\n const newNode = {\n type: uploadName,\n children: [{ text: ' ' }],\n relationTo: collectionSlug,\n value: { id: docID },\n }\n\n const elementPath = ReactEditor.findPath(editor, element)\n\n setRelatedCollection(collections.find((coll) => coll.slug === collectionSlug))\n\n Transforms.setNodes(editor, newNode, { at: elementPath })\n\n dispatchCacheBust()\n closeListDrawer()\n },\n [closeListDrawer, editor, element, collections],\n )\n\n const relatedFieldSchemaPath = `${uploadFieldsSchemaPath}.${relatedCollection.slug}`\n const customFieldsMap = fieldProps.richTextComponentMap.get(relatedFieldSchemaPath)\n\n return (\n <div\n className={[baseClass, selected && focused && `${baseClass}--selected`]\n .filter(Boolean)\n .join(' ')}\n contentEditable={false}\n {...attributes}\n >\n <div className={`${baseClass}__card`}>\n <div className={`${baseClass}__topRow`}>\n {/* TODO: migrate to use Thumbnail component */}\n <div className={`${baseClass}__thumbnail`}>\n {thumbnailSRC ? <img alt={data?.filename} src={thumbnailSRC} /> : <File />}\n </div>\n <div className={`${baseClass}__topRowRightPanel`}>\n <div className={`${baseClass}__collectionLabel`}>\n {getTranslation(relatedCollection.labels.singular, i18n)}\n </div>\n <div className={`${baseClass}__actions`}>\n {Boolean(customFieldsMap) && (\n <DrawerToggler\n className={`${baseClass}__upload-drawer-toggler`}\n disabled={fieldProps?.readOnly}\n slug={drawerSlug}\n >\n <Button\n buttonStyle=\"icon-label\"\n el=\"div\"\n icon=\"edit\"\n onClick={(e) => {\n e.preventDefault()\n }}\n round\n tooltip={t('fields:editRelationship')}\n />\n </DrawerToggler>\n )}\n <ListDrawerToggler\n className={`${baseClass}__list-drawer-toggler`}\n disabled={fieldProps?.readOnly}\n >\n <Button\n buttonStyle=\"icon-label\"\n disabled={fieldProps?.readOnly}\n el=\"div\"\n icon=\"swap\"\n onClick={() => {\n // do nothing\n }}\n round\n tooltip={t('fields:swapUpload')}\n />\n </ListDrawerToggler>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__removeButton`}\n disabled={fieldProps?.readOnly}\n icon=\"x\"\n onClick={(e) => {\n e.preventDefault()\n removeUpload()\n }}\n round\n tooltip={t('fields:removeUpload')}\n />\n </div>\n </div>\n </div>\n <div className={`${baseClass}__bottomRow`}>\n <DocumentDrawerToggler className={`${baseClass}__doc-drawer-toggler`}>\n <strong>{data?.filename}</strong>\n </DocumentDrawerToggler>\n </div>\n </div>\n {children}\n {value?.id && <DocumentDrawer onSave={updateUpload} />}\n <ListDrawer onSelect={swapUpload} />\n <UploadDrawer {...{ drawerSlug, element, fieldProps, relatedCollection, schemaPath }} />\n </div>\n )\n}\n\nexport const Element = (props: Props): React.ReactNode => {\n return (\n <EnabledRelationshipsCondition {...props} uploads>\n <UploadElement {...props} />\n </EnabledRelationshipsCondition>\n )\n}\n"],"names":["getTranslation","Button","useDocumentDrawer","DrawerToggler","useDrawerSlug","useListDrawer","File","usePayloadAPI","useConfig","useTranslation","React","useCallback","useReducer","useState","Transforms","ReactEditor","useFocused","useSelected","useSlateStatic","useElement","EnabledRelationshipsCondition","uploadFieldsSchemaPath","uploadName","UploadDrawer","baseClass","initialParams","depth","UploadElement","enabledCollectionSlugs","attributes","children","element","relationTo","value","fieldProps","schemaPath","collections","routes","api","serverURL","i18n","t","cacheBust","dispatchCacheBust","state","relatedCollection","setRelatedCollection","find","coll","slug","drawerSlug","ListDrawer","ListDrawerToggler","closeDrawer","closeListDrawer","collectionSlugs","selectedCollection","DocumentDrawer","DocumentDrawerToggler","id","collectionSlug","editor","selected","focused","data","setParams","thumbnailSRC","thumbnailURL","url","removeUpload","elementPath","findPath","removeNodes","at","updateUpload","json","doc","newNode","fields","setNodes","swapUpload","docID","type","text","relatedFieldSchemaPath","customFieldsMap","richTextComponentMap","get","div","className","filter","Boolean","join","contentEditable","img","alt","filename","src","labels","singular","disabled","readOnly","buttonStyle","el","icon","onClick","e","preventDefault","round","tooltip","strong","onSave","onSelect","Element","props","uploads"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { RichTextCustomElement } from '
|
|
2
|
-
declare const upload: RichTextCustomElement;
|
|
3
|
-
export default upload;
|
|
1
|
+
import type { RichTextCustomElement } from '../../../types.js';
|
|
2
|
+
export declare const upload: RichTextCustomElement;
|
|
4
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/field/elements/upload/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/field/elements/upload/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAO9D,eAAO,MAAM,MAAM,EAAE,qBAKpB,CAAA"}
|
|
@@ -1,30 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _Button = /*#__PURE__*/ _interop_require_default(require("./Button"));
|
|
12
|
-
const _Element = /*#__PURE__*/ _interop_require_default(require("./Element"));
|
|
13
|
-
const _plugin = require("./plugin");
|
|
14
|
-
const _shared = require("./shared");
|
|
15
|
-
function _interop_require_default(obj) {
|
|
16
|
-
return obj && obj.__esModule ? obj : {
|
|
17
|
-
default: obj
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
const upload = {
|
|
21
|
-
name: _shared.uploadName,
|
|
22
|
-
Button: _Button.default,
|
|
23
|
-
Element: _Element.default,
|
|
1
|
+
import { Button } from './Button/index.js';
|
|
2
|
+
import { Element } from './Element/index.js';
|
|
3
|
+
import { WithUpload } from './plugin.js';
|
|
4
|
+
import { uploadName } from './shared.js';
|
|
5
|
+
export const upload = {
|
|
6
|
+
name: uploadName,
|
|
7
|
+
Button,
|
|
8
|
+
Element,
|
|
24
9
|
plugins: [
|
|
25
|
-
|
|
10
|
+
WithUpload
|
|
26
11
|
]
|
|
27
12
|
};
|
|
28
|
-
const _default = upload;
|
|
29
13
|
|
|
30
|
-
//# sourceMappingURL=
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/field/elements/upload/index.ts"],"sourcesContent":["import type { RichTextCustomElement } from '../../../types.js'\n\nimport { Button } from './Button/index.js'\nimport { Element } from './Element/index.js'\nimport { WithUpload } from './plugin.js'\nimport { uploadName } from './shared.js'\n\nexport const upload: RichTextCustomElement = {\n name: uploadName,\n Button,\n Element,\n plugins: [WithUpload],\n}\n"],"names":["Button","Element","WithUpload","uploadName","upload","name","plugins"],"rangeMappings":";;;;;;;;;;;","mappings":"AAEA,SAASA,MAAM,QAAQ,oBAAmB;AAC1C,SAASC,OAAO,QAAQ,qBAAoB;AAC5C,SAASC,UAAU,QAAQ,cAAa;AACxC,SAASC,UAAU,QAAQ,cAAa;AAExC,OAAO,MAAMC,SAAgC;IAC3CC,MAAMF;IACNH;IACAC;IACAK,SAAS;QAACJ;KAAW;AACvB,EAAC"}
|
|
@@ -1,24 +1,14 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
Object.defineProperty(exports, "WithUpload", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function() {
|
|
9
|
-
return WithUpload;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
const _useSlatePlugin = require("../../../utilities/useSlatePlugin");
|
|
13
|
-
const _shared = require("./shared");
|
|
14
|
-
const WithUpload = ()=>{
|
|
15
|
-
(0, _useSlatePlugin.useSlatePlugin)('withUpload', (incomingEditor)=>{
|
|
2
|
+
import { useSlatePlugin } from '../../../utilities/useSlatePlugin.js';
|
|
3
|
+
import { uploadName } from './shared.js';
|
|
4
|
+
export const WithUpload = ()=>{
|
|
5
|
+
useSlatePlugin('withUpload', (incomingEditor)=>{
|
|
16
6
|
const editor = incomingEditor;
|
|
17
7
|
const { isVoid } = editor;
|
|
18
|
-
editor.isVoid = (element)=>element.type ===
|
|
8
|
+
editor.isVoid = (element)=>element.type === uploadName ? true : isVoid(element);
|
|
19
9
|
return editor;
|
|
20
10
|
});
|
|
21
11
|
return null;
|
|
22
12
|
};
|
|
23
13
|
|
|
24
|
-
//# sourceMappingURL=
|
|
14
|
+
//# sourceMappingURL=plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/field/elements/upload/plugin.tsx"],"sourcesContent":["'use client'\n\nimport type React from 'react'\n\nimport { useSlatePlugin } from '../../../utilities/useSlatePlugin.js'\nimport { uploadName } from './shared.js'\n\nexport const WithUpload: React.FC = () => {\n useSlatePlugin('withUpload', (incomingEditor) => {\n const editor = incomingEditor\n const { isVoid } = editor\n\n editor.isVoid = (element) => (element.type === uploadName ? true : isVoid(element))\n\n return editor\n })\n return null\n}\n"],"names":["useSlatePlugin","uploadName","WithUpload","incomingEditor","editor","isVoid","element","type"],"rangeMappings":";;;;;;;;;;;","mappings":"AAAA;AAIA,SAASA,cAAc,QAAQ,uCAAsC;AACrE,SAASC,UAAU,QAAQ,cAAa;AAExC,OAAO,MAAMC,aAAuB;IAClCF,eAAe,cAAc,CAACG;QAC5B,MAAMC,SAASD;QACf,MAAM,EAAEE,MAAM,EAAE,GAAGD;QAEnBA,OAAOC,MAAM,GAAG,CAACC,UAAaA,QAAQC,IAAI,KAAKN,aAAa,OAAOI,OAAOC;QAE1E,OAAOF;IACT;IACA,OAAO;AACT,EAAC"}
|
|
@@ -1,22 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
uploadFieldsSchemaPath: function() {
|
|
13
|
-
return uploadFieldsSchemaPath;
|
|
14
|
-
},
|
|
15
|
-
uploadName: function() {
|
|
16
|
-
return uploadName;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
const uploadName = 'upload';
|
|
20
|
-
const uploadFieldsSchemaPath = 'upload.fields';
|
|
1
|
+
export const uploadName = 'upload';
|
|
2
|
+
export const uploadFieldsSchemaPath = 'upload.fields';
|
|
21
3
|
|
|
22
|
-
//# sourceMappingURL=
|
|
4
|
+
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/field/elements/upload/shared.ts"],"sourcesContent":["export const uploadName = 'upload'\nexport const uploadFieldsSchemaPath = 'upload.fields'\n"],"names":["uploadName","uploadFieldsSchemaPath"],"rangeMappings":";","mappings":"AAAA,OAAO,MAAMA,aAAa,SAAQ;AAClC,OAAO,MAAMC,yBAAyB,gBAAe"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/field/elements/upload/types.ts"],"sourcesContent":["import type { Element } from 'slate'\n\nexport type UploadElementType = Element & {\n fields: Record<string, unknown>\n relationTo: string\n value: {\n id: number | string\n } | null\n}\n"],"names":[],"rangeMappings":"","mappings":"AAEA,WAMC"}
|
package/dist/field/hotkeys.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hotkeys.d.ts","sourceRoot":"","sources":["../../src/field/hotkeys.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hotkeys.d.ts","sourceRoot":"","sources":["../../src/field/hotkeys.tsx"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;CAKnB,CAAA"}
|
package/dist/field/hotkeys.js
CHANGED
|
@@ -1,18 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _default = {
|
|
1
|
+
export const hotkeys = {
|
|
12
2
|
'mod+`': 'code',
|
|
13
3
|
'mod+b': 'bold',
|
|
14
4
|
'mod+i': 'italic',
|
|
15
5
|
'mod+u': 'underline'
|
|
16
6
|
};
|
|
17
7
|
|
|
18
|
-
//# sourceMappingURL=
|
|
8
|
+
//# sourceMappingURL=hotkeys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/field/hotkeys.tsx"],"sourcesContent":["export const hotkeys = {\n 'mod+`': 'code',\n 'mod+b': 'bold',\n 'mod+i': 'italic',\n 'mod+u': 'underline',\n}\n"],"names":["hotkeys"],"rangeMappings":";;;;;","mappings":"AAAA,OAAO,MAAMA,UAAU;IACrB,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;AACX,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/field/icons/AlignCenter/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/field/icons/AlignCenter/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAInC,CAAA"}
|
|
@@ -1,27 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _react = /*#__PURE__*/ _interop_require_default(require("react"));
|
|
12
|
-
function _interop_require_default(obj) {
|
|
13
|
-
return obj && obj.__esModule ? obj : {
|
|
14
|
-
default: obj
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
const AlignCenterIcon = ()=>/*#__PURE__*/ _react.default.createElement("svg", {
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export const AlignCenterIcon = ()=>/*#__PURE__*/ React.createElement("svg", {
|
|
18
3
|
fill: "currentColor",
|
|
19
4
|
height: "1em",
|
|
20
5
|
viewBox: "0 0 1024 1024",
|
|
21
6
|
width: "1em"
|
|
22
|
-
}, /*#__PURE__*/
|
|
7
|
+
}, /*#__PURE__*/ React.createElement("path", {
|
|
23
8
|
d: "M264 230h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm496 424c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496zm144 140H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-424H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z"
|
|
24
9
|
}));
|
|
25
|
-
const _default = AlignCenterIcon;
|
|
26
10
|
|
|
27
|
-
//# sourceMappingURL=
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/field/icons/AlignCenter/index.tsx"],"sourcesContent":["import React from 'react'\n\nexport const AlignCenterIcon: React.FC = () => (\n <svg fill=\"currentColor\" height=\"1em\" viewBox=\"0 0 1024 1024\" width=\"1em\">\n <path d=\"M264 230h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm496 424c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496zm144 140H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-424H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\" />\n </svg>\n)\n"],"names":["React","AlignCenterIcon","svg","fill","height","viewBox","width","path","d"],"rangeMappings":";;;;;;;;","mappings":"AAAA,OAAOA,WAAW,QAAO;AAEzB,OAAO,MAAMC,kBAA4B,kBACvC,oBAACC;QAAIC,MAAK;QAAeC,QAAO;QAAMC,SAAQ;QAAgBC,OAAM;qBAClE,oBAACC;QAAKC,GAAE;QAEX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/field/icons/AlignLeft/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/field/icons/AlignLeft/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAIjC,CAAA"}
|