@ruya.sa/richtext-slate 3.71.3
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/LICENSE.md +22 -0
- package/README.md +26 -0
- package/dist/cell/rscEntry.d.ts +11 -0
- package/dist/cell/rscEntry.d.ts.map +1 -0
- package/dist/cell/rscEntry.js +54 -0
- package/dist/cell/rscEntry.js.map +1 -0
- package/dist/data/defaultValue.d.ts +6 -0
- package/dist/data/defaultValue.d.ts.map +1 -0
- package/dist/data/defaultValue.js +11 -0
- package/dist/data/defaultValue.js.map +1 -0
- package/dist/data/populate.d.ts +21 -0
- package/dist/data/populate.d.ts.map +1 -0
- package/dist/data/populate.js +24 -0
- package/dist/data/populate.js.map +1 -0
- package/dist/data/recurseNestedFields.d.ts +16 -0
- package/dist/data/recurseNestedFields.d.ts.map +1 -0
- package/dist/data/recurseNestedFields.js +187 -0
- package/dist/data/recurseNestedFields.js.map +1 -0
- package/dist/data/richTextRelationshipPromise.d.ts +19 -0
- package/dist/data/richTextRelationshipPromise.d.ts.map +1 -0
- package/dist/data/richTextRelationshipPromise.js +110 -0
- package/dist/data/richTextRelationshipPromise.js.map +1 -0
- package/dist/data/validation.d.ts +4 -0
- package/dist/data/validation.d.ts.map +1 -0
- package/dist/data/validation.js +14 -0
- package/dist/data/validation.js.map +1 -0
- package/dist/exports/client/index.d.ts +51 -0
- package/dist/exports/client/index.d.ts.map +1 -0
- package/dist/exports/client/index.js +53 -0
- package/dist/exports/client/index.js.map +1 -0
- package/dist/exports/server/rsc.d.ts +3 -0
- package/dist/exports/server/rsc.d.ts.map +1 -0
- package/dist/exports/server/rsc.js +4 -0
- package/dist/exports/server/rsc.js.map +1 -0
- package/dist/field/RichText.d.ts +16 -0
- package/dist/field/RichText.d.ts.map +1 -0
- package/dist/field/RichText.js +434 -0
- package/dist/field/RichText.js.map +1 -0
- package/dist/field/buttons.scss +17 -0
- package/dist/field/createFeatureMap.d.ts +4 -0
- package/dist/field/createFeatureMap.d.ts.map +1 -0
- package/dist/field/createFeatureMap.js +50 -0
- package/dist/field/createFeatureMap.js.map +1 -0
- package/dist/field/elements/Button.d.ts +6 -0
- package/dist/field/elements/Button.d.ts.map +1 -0
- package/dist/field/elements/Button.js +50 -0
- package/dist/field/elements/Button.js.map +1 -0
- package/dist/field/elements/EnabledRelationshipsCondition.d.ts +3 -0
- package/dist/field/elements/EnabledRelationshipsCondition.d.ts.map +1 -0
- package/dist/field/elements/EnabledRelationshipsCondition.js +34 -0
- package/dist/field/elements/EnabledRelationshipsCondition.js.map +1 -0
- package/dist/field/elements/ListButton.d.ts +6 -0
- package/dist/field/elements/ListButton.d.ts.map +1 -0
- package/dist/field/elements/ListButton.js +30 -0
- package/dist/field/elements/ListButton.js.map +1 -0
- package/dist/field/elements/areAllChildrenElements.d.ts +3 -0
- package/dist/field/elements/areAllChildrenElements.d.ts.map +1 -0
- package/dist/field/elements/areAllChildrenElements.js +6 -0
- package/dist/field/elements/areAllChildrenElements.js.map +1 -0
- package/dist/field/elements/blockquote/Button.d.ts +4 -0
- package/dist/field/elements/blockquote/Button.d.ts.map +1 -0
- package/dist/field/elements/blockquote/Button.js +11 -0
- package/dist/field/elements/blockquote/Button.js.map +1 -0
- package/dist/field/elements/blockquote/Element.d.ts +3 -0
- package/dist/field/elements/blockquote/Element.d.ts.map +1 -0
- package/dist/field/elements/blockquote/Element.js +15 -0
- package/dist/field/elements/blockquote/Element.js.map +1 -0
- package/dist/field/elements/blockquote/index.d.ts +3 -0
- package/dist/field/elements/blockquote/index.d.ts.map +1 -0
- package/dist/field/elements/blockquote/index.js +13 -0
- package/dist/field/elements/blockquote/index.js.map +1 -0
- package/dist/field/elements/blockquote/index.scss +11 -0
- package/dist/field/elements/getCommonBlock.d.ts +4 -0
- package/dist/field/elements/getCommonBlock.d.ts.map +1 -0
- package/dist/field/elements/getCommonBlock.js +20 -0
- package/dist/field/elements/getCommonBlock.js.map +1 -0
- package/dist/field/elements/h1/Button.d.ts +4 -0
- package/dist/field/elements/h1/Button.d.ts.map +1 -0
- package/dist/field/elements/h1/Button.js +11 -0
- package/dist/field/elements/h1/Button.js.map +1 -0
- package/dist/field/elements/h1/Heading1.d.ts +2 -0
- package/dist/field/elements/h1/Heading1.d.ts.map +1 -0
- package/dist/field/elements/h1/Heading1.js +13 -0
- package/dist/field/elements/h1/Heading1.js.map +1 -0
- package/dist/field/elements/h1/index.d.ts +3 -0
- package/dist/field/elements/h1/index.d.ts.map +1 -0
- package/dist/field/elements/h1/index.js +13 -0
- package/dist/field/elements/h1/index.js.map +1 -0
- package/dist/field/elements/h2/Button.d.ts +4 -0
- package/dist/field/elements/h2/Button.d.ts.map +1 -0
- package/dist/field/elements/h2/Button.js +11 -0
- package/dist/field/elements/h2/Button.js.map +1 -0
- package/dist/field/elements/h2/Heading2.d.ts +2 -0
- package/dist/field/elements/h2/Heading2.d.ts.map +1 -0
- package/dist/field/elements/h2/Heading2.js +13 -0
- package/dist/field/elements/h2/Heading2.js.map +1 -0
- package/dist/field/elements/h2/index.d.ts +3 -0
- package/dist/field/elements/h2/index.d.ts.map +1 -0
- package/dist/field/elements/h2/index.js +13 -0
- package/dist/field/elements/h2/index.js.map +1 -0
- package/dist/field/elements/h3/Button.d.ts +4 -0
- package/dist/field/elements/h3/Button.d.ts.map +1 -0
- package/dist/field/elements/h3/Button.js +11 -0
- package/dist/field/elements/h3/Button.js.map +1 -0
- package/dist/field/elements/h3/Heading3.d.ts +2 -0
- package/dist/field/elements/h3/Heading3.d.ts.map +1 -0
- package/dist/field/elements/h3/Heading3.js +13 -0
- package/dist/field/elements/h3/Heading3.js.map +1 -0
- package/dist/field/elements/h3/index.d.ts +3 -0
- package/dist/field/elements/h3/index.d.ts.map +1 -0
- package/dist/field/elements/h3/index.js +13 -0
- package/dist/field/elements/h3/index.js.map +1 -0
- package/dist/field/elements/h4/Button.d.ts +4 -0
- package/dist/field/elements/h4/Button.d.ts.map +1 -0
- package/dist/field/elements/h4/Button.js +11 -0
- package/dist/field/elements/h4/Button.js.map +1 -0
- package/dist/field/elements/h4/Heading4.d.ts +2 -0
- package/dist/field/elements/h4/Heading4.d.ts.map +1 -0
- package/dist/field/elements/h4/Heading4.js +13 -0
- package/dist/field/elements/h4/Heading4.js.map +1 -0
- package/dist/field/elements/h4/index.d.ts +3 -0
- package/dist/field/elements/h4/index.d.ts.map +1 -0
- package/dist/field/elements/h4/index.js +13 -0
- package/dist/field/elements/h4/index.js.map +1 -0
- package/dist/field/elements/h5/Button.d.ts +4 -0
- package/dist/field/elements/h5/Button.d.ts.map +1 -0
- package/dist/field/elements/h5/Button.js +11 -0
- package/dist/field/elements/h5/Button.js.map +1 -0
- package/dist/field/elements/h5/Heading5.d.ts +2 -0
- package/dist/field/elements/h5/Heading5.d.ts.map +1 -0
- package/dist/field/elements/h5/Heading5.js +13 -0
- package/dist/field/elements/h5/Heading5.js.map +1 -0
- package/dist/field/elements/h5/index.d.ts +3 -0
- package/dist/field/elements/h5/index.d.ts.map +1 -0
- package/dist/field/elements/h5/index.js +13 -0
- package/dist/field/elements/h5/index.js.map +1 -0
- package/dist/field/elements/h6/Button.d.ts +4 -0
- package/dist/field/elements/h6/Button.d.ts.map +1 -0
- package/dist/field/elements/h6/Button.js +11 -0
- package/dist/field/elements/h6/Button.js.map +1 -0
- package/dist/field/elements/h6/Heading6.d.ts +2 -0
- package/dist/field/elements/h6/Heading6.d.ts.map +1 -0
- package/dist/field/elements/h6/Heading6.js +13 -0
- package/dist/field/elements/h6/Heading6.js.map +1 -0
- package/dist/field/elements/h6/index.d.ts +3 -0
- package/dist/field/elements/h6/index.d.ts.map +1 -0
- package/dist/field/elements/h6/index.js +13 -0
- package/dist/field/elements/h6/index.js.map +1 -0
- package/dist/field/elements/indent/Button.d.ts +3 -0
- package/dist/field/elements/indent/Button.d.ts.map +1 -0
- package/dist/field/elements/indent/Button.js +184 -0
- package/dist/field/elements/indent/Button.js.map +1 -0
- package/dist/field/elements/indent/Element.d.ts +3 -0
- package/dist/field/elements/indent/Element.d.ts.map +1 -0
- package/dist/field/elements/indent/Element.js +16 -0
- package/dist/field/elements/indent/Element.js.map +1 -0
- package/dist/field/elements/indent/index.d.ts +3 -0
- package/dist/field/elements/indent/index.d.ts.map +1 -0
- package/dist/field/elements/indent/index.js +8 -0
- package/dist/field/elements/indent/index.js.map +1 -0
- package/dist/field/elements/indent/shared.d.ts +2 -0
- package/dist/field/elements/indent/shared.d.ts.map +1 -0
- package/dist/field/elements/indent/shared.js +3 -0
- package/dist/field/elements/indent/shared.js.map +1 -0
- package/dist/field/elements/index.d.ts +3 -0
- package/dist/field/elements/index.d.ts.map +1 -0
- package/dist/field/elements/index.js +34 -0
- package/dist/field/elements/index.js.map +1 -0
- package/dist/field/elements/injectVoid.d.ts +4 -0
- package/dist/field/elements/injectVoid.d.ts.map +1 -0
- package/dist/field/elements/injectVoid.js +36 -0
- package/dist/field/elements/injectVoid.js.map +1 -0
- package/dist/field/elements/isActive.d.ts +3 -0
- package/dist/field/elements/isActive.d.ts.map +1 -0
- package/dist/field/elements/isActive.js +13 -0
- package/dist/field/elements/isActive.js.map +1 -0
- package/dist/field/elements/isBlockElement.d.ts +9 -0
- package/dist/field/elements/isBlockElement.d.ts.map +1 -0
- package/dist/field/elements/isBlockElement.js +23 -0
- package/dist/field/elements/isBlockElement.js.map +1 -0
- package/dist/field/elements/isLastSelectedElementEmpty.d.ts +3 -0
- package/dist/field/elements/isLastSelectedElementEmpty.d.ts.map +1 -0
- package/dist/field/elements/isLastSelectedElementEmpty.js +15 -0
- package/dist/field/elements/isLastSelectedElementEmpty.js.map +1 -0
- package/dist/field/elements/isListActive.d.ts +3 -0
- package/dist/field/elements/isListActive.d.ts.map +1 -0
- package/dist/field/elements/isListActive.js +21 -0
- package/dist/field/elements/isListActive.js.map +1 -0
- package/dist/field/elements/isWithinListItem.d.ts +3 -0
- package/dist/field/elements/isWithinListItem.d.ts.map +1 -0
- package/dist/field/elements/isWithinListItem.js +15 -0
- package/dist/field/elements/isWithinListItem.js.map +1 -0
- package/dist/field/elements/li/ListItem.d.ts +3 -0
- package/dist/field/elements/li/ListItem.d.ts.map +1 -0
- package/dist/field/elements/li/ListItem.js +20 -0
- package/dist/field/elements/li/ListItem.js.map +1 -0
- package/dist/field/elements/li/index.d.ts +3 -0
- package/dist/field/elements/li/index.d.ts.map +1 -0
- package/dist/field/elements/li/index.js +6 -0
- package/dist/field/elements/li/index.js.map +1 -0
- package/dist/field/elements/link/Button/index.d.ts +5 -0
- package/dist/field/elements/link/Button/index.d.ts.map +1 -0
- package/dist/field/elements/link/Button/index.js +127 -0
- package/dist/field/elements/link/Button/index.js.map +1 -0
- package/dist/field/elements/link/Element/index.d.ts +3 -0
- package/dist/field/elements/link/Element/index.d.ts.map +1 -0
- package/dist/field/elements/link/Element/index.js +218 -0
- package/dist/field/elements/link/Element/index.js.map +1 -0
- package/dist/field/elements/link/Element/index.scss +90 -0
- package/dist/field/elements/link/LinkDrawer/baseFields.d.ts +3 -0
- package/dist/field/elements/link/LinkDrawer/baseFields.d.ts.map +1 -0
- package/dist/field/elements/link/LinkDrawer/baseFields.js +70 -0
- package/dist/field/elements/link/LinkDrawer/baseFields.js.map +1 -0
- package/dist/field/elements/link/LinkDrawer/index.d.ts +5 -0
- package/dist/field/elements/link/LinkDrawer/index.d.ts.map +1 -0
- package/dist/field/elements/link/LinkDrawer/index.js +89 -0
- package/dist/field/elements/link/LinkDrawer/index.js.map +1 -0
- package/dist/field/elements/link/LinkDrawer/index.scss +52 -0
- package/dist/field/elements/link/LinkDrawer/types.d.ts +10 -0
- package/dist/field/elements/link/LinkDrawer/types.d.ts.map +1 -0
- package/dist/field/elements/link/LinkDrawer/types.js +3 -0
- package/dist/field/elements/link/LinkDrawer/types.js.map +1 -0
- package/dist/field/elements/link/WithLinks.d.ts +3 -0
- package/dist/field/elements/link/WithLinks.d.ts.map +1 -0
- package/dist/field/elements/link/WithLinks.js +19 -0
- package/dist/field/elements/link/WithLinks.js.map +1 -0
- package/dist/field/elements/link/index.d.ts +3 -0
- package/dist/field/elements/link/index.d.ts.map +1 -0
- package/dist/field/elements/link/index.js +10 -0
- package/dist/field/elements/link/index.js.map +1 -0
- package/dist/field/elements/link/shared.d.ts +3 -0
- package/dist/field/elements/link/shared.d.ts.map +1 -0
- package/dist/field/elements/link/shared.js +4 -0
- package/dist/field/elements/link/shared.js.map +1 -0
- package/dist/field/elements/link/types.d.ts +9 -0
- package/dist/field/elements/link/types.d.ts.map +1 -0
- package/dist/field/elements/link/types.js +3 -0
- package/dist/field/elements/link/types.js.map +1 -0
- package/dist/field/elements/link/utilities.d.ts +12 -0
- package/dist/field/elements/link/utilities.d.ts.map +1 -0
- package/dist/field/elements/link/utilities.js +72 -0
- package/dist/field/elements/link/utilities.js.map +1 -0
- package/dist/field/elements/listTypes.d.ts +2 -0
- package/dist/field/elements/listTypes.d.ts.map +1 -0
- package/dist/field/elements/listTypes.js +6 -0
- package/dist/field/elements/listTypes.js.map +1 -0
- package/dist/field/elements/ol/Button.d.ts +4 -0
- package/dist/field/elements/ol/Button.d.ts.map +1 -0
- package/dist/field/elements/ol/Button.js +11 -0
- package/dist/field/elements/ol/Button.js.map +1 -0
- package/dist/field/elements/ol/OrderedList.d.ts +4 -0
- package/dist/field/elements/ol/OrderedList.d.ts.map +1 -0
- package/dist/field/elements/ol/OrderedList.js +15 -0
- package/dist/field/elements/ol/OrderedList.js.map +1 -0
- package/dist/field/elements/ol/index.d.ts +3 -0
- package/dist/field/elements/ol/index.d.ts.map +1 -0
- package/dist/field/elements/ol/index.js +13 -0
- package/dist/field/elements/ol/index.js.map +1 -0
- package/dist/field/elements/ol/index.scss +9 -0
- package/dist/field/elements/relationship/Button/index.d.ts +9 -0
- package/dist/field/elements/relationship/Button/index.d.ts.map +1 -0
- package/dist/field/elements/relationship/Button/index.js +76 -0
- package/dist/field/elements/relationship/Button/index.js.map +1 -0
- package/dist/field/elements/relationship/Button/index.scss +9 -0
- package/dist/field/elements/relationship/Element/index.d.ts +4 -0
- package/dist/field/elements/relationship/Element/index.d.ts.map +1 -0
- package/dist/field/elements/relationship/Element/index.js +192 -0
- package/dist/field/elements/relationship/Element/index.js.map +1 -0
- package/dist/field/elements/relationship/Element/index.scss +95 -0
- package/dist/field/elements/relationship/index.d.ts +3 -0
- package/dist/field/elements/relationship/index.d.ts.map +1 -0
- package/dist/field/elements/relationship/index.js +11 -0
- package/dist/field/elements/relationship/index.js.map +1 -0
- package/dist/field/elements/relationship/plugin.d.ts +3 -0
- package/dist/field/elements/relationship/plugin.d.ts.map +1 -0
- package/dist/field/elements/relationship/plugin.js +14 -0
- package/dist/field/elements/relationship/plugin.js.map +1 -0
- package/dist/field/elements/relationship/shared.d.ts +2 -0
- package/dist/field/elements/relationship/shared.d.ts.map +1 -0
- package/dist/field/elements/relationship/shared.js +3 -0
- package/dist/field/elements/relationship/shared.js.map +1 -0
- package/dist/field/elements/relationship/types.d.ts +8 -0
- package/dist/field/elements/relationship/types.d.ts.map +1 -0
- package/dist/field/elements/relationship/types.js +3 -0
- package/dist/field/elements/relationship/types.js.map +1 -0
- package/dist/field/elements/textAlign/Button.d.ts +2 -0
- package/dist/field/elements/textAlign/Button.d.ts.map +1 -0
- package/dist/field/elements/textAlign/Button.js +28 -0
- package/dist/field/elements/textAlign/Button.js.map +1 -0
- package/dist/field/elements/textAlign/index.d.ts +3 -0
- package/dist/field/elements/textAlign/index.d.ts.map +1 -0
- package/dist/field/elements/textAlign/index.js +7 -0
- package/dist/field/elements/textAlign/index.js.map +1 -0
- package/dist/field/elements/toggle.d.ts +3 -0
- package/dist/field/elements/toggle.d.ts.map +1 -0
- package/dist/field/elements/toggle.js +32 -0
- package/dist/field/elements/toggle.js.map +1 -0
- package/dist/field/elements/toggleList.d.ts +3 -0
- package/dist/field/elements/toggleList.d.ts.map +1 -0
- package/dist/field/elements/toggleList.js +82 -0
- package/dist/field/elements/toggleList.js.map +1 -0
- package/dist/field/elements/types.d.ts +12 -0
- package/dist/field/elements/types.d.ts.map +1 -0
- package/dist/field/elements/types.js +3 -0
- package/dist/field/elements/types.js.map +1 -0
- package/dist/field/elements/ul/Button.d.ts +4 -0
- package/dist/field/elements/ul/Button.d.ts.map +1 -0
- package/dist/field/elements/ul/Button.js +11 -0
- package/dist/field/elements/ul/Button.js.map +1 -0
- package/dist/field/elements/ul/UnorderedList.d.ts +4 -0
- package/dist/field/elements/ul/UnorderedList.d.ts.map +1 -0
- package/dist/field/elements/ul/UnorderedList.js +15 -0
- package/dist/field/elements/ul/UnorderedList.js.map +1 -0
- package/dist/field/elements/ul/index.d.ts +3 -0
- package/dist/field/elements/ul/index.d.ts.map +1 -0
- package/dist/field/elements/ul/index.js +13 -0
- package/dist/field/elements/ul/index.js.map +1 -0
- package/dist/field/elements/ul/index.scss +9 -0
- package/dist/field/elements/unwrapList.d.ts +4 -0
- package/dist/field/elements/unwrapList.d.ts.map +1 -0
- package/dist/field/elements/unwrapList.js +34 -0
- package/dist/field/elements/unwrapList.js.map +1 -0
- package/dist/field/elements/upload/Button/index.d.ts +9 -0
- package/dist/field/elements/upload/Button/index.d.ts.map +1 -0
- package/dist/field/elements/upload/Button/index.js +76 -0
- package/dist/field/elements/upload/Button/index.js.map +1 -0
- package/dist/field/elements/upload/Button/index.scss +9 -0
- package/dist/field/elements/upload/Element/UploadDrawer/index.d.ts +12 -0
- package/dist/field/elements/upload/Element/UploadDrawer/index.d.ts.map +1 -0
- package/dist/field/elements/upload/Element/UploadDrawer/index.js +127 -0
- package/dist/field/elements/upload/Element/UploadDrawer/index.js.map +1 -0
- package/dist/field/elements/upload/Element/index.d.ts +4 -0
- package/dist/field/elements/upload/Element/index.d.ts.map +1 -0
- package/dist/field/elements/upload/Element/index.js +230 -0
- package/dist/field/elements/upload/Element/index.js.map +1 -0
- package/dist/field/elements/upload/Element/index.scss +149 -0
- package/dist/field/elements/upload/index.d.ts +3 -0
- package/dist/field/elements/upload/index.d.ts.map +1 -0
- package/dist/field/elements/upload/index.js +11 -0
- package/dist/field/elements/upload/index.js.map +1 -0
- package/dist/field/elements/upload/plugin.d.ts +3 -0
- package/dist/field/elements/upload/plugin.d.ts.map +1 -0
- package/dist/field/elements/upload/plugin.js +14 -0
- package/dist/field/elements/upload/plugin.js.map +1 -0
- package/dist/field/elements/upload/shared.d.ts +3 -0
- package/dist/field/elements/upload/shared.d.ts.map +1 -0
- package/dist/field/elements/upload/shared.js +4 -0
- package/dist/field/elements/upload/shared.js.map +1 -0
- package/dist/field/elements/upload/types.d.ts +9 -0
- package/dist/field/elements/upload/types.d.ts.map +1 -0
- package/dist/field/elements/upload/types.js +3 -0
- package/dist/field/elements/upload/types.js.map +1 -0
- package/dist/field/hotkeys.d.ts +7 -0
- package/dist/field/hotkeys.d.ts.map +1 -0
- package/dist/field/hotkeys.js +8 -0
- package/dist/field/hotkeys.js.map +1 -0
- package/dist/field/icons/AlignCenter/index.d.ts +3 -0
- package/dist/field/icons/AlignCenter/index.d.ts.map +1 -0
- package/dist/field/icons/AlignCenter/index.js +13 -0
- package/dist/field/icons/AlignCenter/index.js.map +1 -0
- package/dist/field/icons/AlignLeft/index.d.ts +3 -0
- package/dist/field/icons/AlignLeft/index.d.ts.map +1 -0
- package/dist/field/icons/AlignLeft/index.js +13 -0
- package/dist/field/icons/AlignLeft/index.js.map +1 -0
- package/dist/field/icons/AlignRight/index.d.ts +3 -0
- package/dist/field/icons/AlignRight/index.d.ts.map +1 -0
- package/dist/field/icons/AlignRight/index.js +13 -0
- package/dist/field/icons/AlignRight/index.js.map +1 -0
- package/dist/field/icons/Blockquote/index.d.ts +3 -0
- package/dist/field/icons/Blockquote/index.d.ts.map +1 -0
- package/dist/field/icons/Blockquote/index.js +22 -0
- package/dist/field/icons/Blockquote/index.js.map +1 -0
- package/dist/field/icons/Bold/index.d.ts +3 -0
- package/dist/field/icons/Bold/index.d.ts.map +1 -0
- package/dist/field/icons/Bold/index.js +22 -0
- package/dist/field/icons/Bold/index.js.map +1 -0
- package/dist/field/icons/Code/index.d.ts +3 -0
- package/dist/field/icons/Code/index.d.ts.map +1 -0
- package/dist/field/icons/Code/index.js +16 -0
- package/dist/field/icons/Code/index.js.map +1 -0
- package/dist/field/icons/IndentLeft/index.d.ts +4 -0
- package/dist/field/icons/IndentLeft/index.d.ts.map +1 -0
- package/dist/field/icons/IndentLeft/index.js +37 -0
- package/dist/field/icons/IndentLeft/index.js.map +1 -0
- package/dist/field/icons/IndentLeft/index.scss +18 -0
- package/dist/field/icons/IndentRight/index.d.ts +4 -0
- package/dist/field/icons/IndentRight/index.d.ts.map +1 -0
- package/dist/field/icons/IndentRight/index.js +37 -0
- package/dist/field/icons/IndentRight/index.js.map +1 -0
- package/dist/field/icons/IndentRight/index.scss +18 -0
- package/dist/field/icons/Italic/index.d.ts +3 -0
- package/dist/field/icons/Italic/index.d.ts.map +1 -0
- package/dist/field/icons/Italic/index.js +22 -0
- package/dist/field/icons/Italic/index.js.map +1 -0
- package/dist/field/icons/Link/index.d.ts +4 -0
- package/dist/field/icons/Link/index.d.ts.map +1 -0
- package/dist/field/icons/Link/index.js +23 -0
- package/dist/field/icons/Link/index.js.map +1 -0
- package/dist/field/icons/Link/index.scss +13 -0
- package/dist/field/icons/OrderedList/index.d.ts +3 -0
- package/dist/field/icons/OrderedList/index.d.ts.map +1 -0
- package/dist/field/icons/OrderedList/index.js +22 -0
- package/dist/field/icons/OrderedList/index.js.map +1 -0
- package/dist/field/icons/Relationship/index.d.ts +4 -0
- package/dist/field/icons/Relationship/index.d.ts.map +1 -0
- package/dist/field/icons/Relationship/index.js +30 -0
- package/dist/field/icons/Relationship/index.js.map +1 -0
- package/dist/field/icons/Relationship/index.scss +14 -0
- package/dist/field/icons/Strikethrough/index.d.ts +3 -0
- package/dist/field/icons/Strikethrough/index.d.ts.map +1 -0
- package/dist/field/icons/Strikethrough/index.js +22 -0
- package/dist/field/icons/Strikethrough/index.js.map +1 -0
- package/dist/field/icons/Underline/index.d.ts +3 -0
- package/dist/field/icons/Underline/index.d.ts.map +1 -0
- package/dist/field/icons/Underline/index.js +22 -0
- package/dist/field/icons/Underline/index.js.map +1 -0
- package/dist/field/icons/UnorderedList/index.d.ts +3 -0
- package/dist/field/icons/UnorderedList/index.d.ts.map +1 -0
- package/dist/field/icons/UnorderedList/index.js +22 -0
- package/dist/field/icons/UnorderedList/index.js.map +1 -0
- package/dist/field/icons/Upload/index.d.ts +4 -0
- package/dist/field/icons/Upload/index.d.ts.map +1 -0
- package/dist/field/icons/Upload/index.js +22 -0
- package/dist/field/icons/Upload/index.js.map +1 -0
- package/dist/field/icons/Upload/index.scss +13 -0
- package/dist/field/icons/headings/H1/index.d.ts +3 -0
- package/dist/field/icons/headings/H1/index.d.ts.map +1 -0
- package/dist/field/icons/headings/H1/index.js +22 -0
- package/dist/field/icons/headings/H1/index.js.map +1 -0
- package/dist/field/icons/headings/H2/index.d.ts +3 -0
- package/dist/field/icons/headings/H2/index.d.ts.map +1 -0
- package/dist/field/icons/headings/H2/index.js +22 -0
- package/dist/field/icons/headings/H2/index.js.map +1 -0
- package/dist/field/icons/headings/H3/index.d.ts +3 -0
- package/dist/field/icons/headings/H3/index.d.ts.map +1 -0
- package/dist/field/icons/headings/H3/index.js +22 -0
- package/dist/field/icons/headings/H3/index.js.map +1 -0
- package/dist/field/icons/headings/H4/index.d.ts +3 -0
- package/dist/field/icons/headings/H4/index.d.ts.map +1 -0
- package/dist/field/icons/headings/H4/index.js +22 -0
- package/dist/field/icons/headings/H4/index.js.map +1 -0
- package/dist/field/icons/headings/H5/index.d.ts +3 -0
- package/dist/field/icons/headings/H5/index.d.ts.map +1 -0
- package/dist/field/icons/headings/H5/index.js +22 -0
- package/dist/field/icons/headings/H5/index.js.map +1 -0
- package/dist/field/icons/headings/H6/index.d.ts +3 -0
- package/dist/field/icons/headings/H6/index.d.ts.map +1 -0
- package/dist/field/icons/headings/H6/index.js +22 -0
- package/dist/field/icons/headings/H6/index.js.map +1 -0
- package/dist/field/index.d.ts +4 -0
- package/dist/field/index.d.ts.map +1 -0
- package/dist/field/index.js +63 -0
- package/dist/field/index.js.map +1 -0
- package/dist/field/index.scss +215 -0
- package/dist/field/leaves/Button.d.ts +6 -0
- package/dist/field/leaves/Button.d.ts.map +1 -0
- package/dist/field/leaves/Button.js +25 -0
- package/dist/field/leaves/Button.js.map +1 -0
- package/dist/field/leaves/bold/Bold/index.d.ts +2 -0
- package/dist/field/leaves/bold/Bold/index.d.ts.map +1 -0
- package/dist/field/leaves/bold/Bold/index.js +13 -0
- package/dist/field/leaves/bold/Bold/index.js.map +1 -0
- package/dist/field/leaves/bold/LeafButton.d.ts +2 -0
- package/dist/field/leaves/bold/LeafButton.d.ts.map +1 -0
- package/dist/field/leaves/bold/LeafButton.js +11 -0
- package/dist/field/leaves/bold/LeafButton.js.map +1 -0
- package/dist/field/leaves/bold/index.d.ts +3 -0
- package/dist/field/leaves/bold/index.d.ts.map +1 -0
- package/dist/field/leaves/bold/index.js +7 -0
- package/dist/field/leaves/bold/index.js.map +1 -0
- package/dist/field/leaves/code/Code/index.d.ts +2 -0
- package/dist/field/leaves/code/Code/index.d.ts.map +1 -0
- package/dist/field/leaves/code/Code/index.js +13 -0
- package/dist/field/leaves/code/Code/index.js.map +1 -0
- package/dist/field/leaves/code/LeafButton.d.ts +2 -0
- package/dist/field/leaves/code/LeafButton.d.ts.map +1 -0
- package/dist/field/leaves/code/LeafButton.js +11 -0
- package/dist/field/leaves/code/LeafButton.js.map +1 -0
- package/dist/field/leaves/code/index.d.ts +3 -0
- package/dist/field/leaves/code/index.d.ts.map +1 -0
- package/dist/field/leaves/code/index.js +7 -0
- package/dist/field/leaves/code/index.js.map +1 -0
- package/dist/field/leaves/index.d.ts +3 -0
- package/dist/field/leaves/index.d.ts.map +1 -0
- package/dist/field/leaves/index.js +14 -0
- package/dist/field/leaves/index.js.map +1 -0
- package/dist/field/leaves/isActive.d.ts +2 -0
- package/dist/field/leaves/isActive.d.ts.map +1 -0
- package/dist/field/leaves/isActive.js +7 -0
- package/dist/field/leaves/isActive.js.map +1 -0
- package/dist/field/leaves/italic/Italic/index.d.ts +2 -0
- package/dist/field/leaves/italic/Italic/index.d.ts.map +1 -0
- package/dist/field/leaves/italic/Italic/index.js +13 -0
- package/dist/field/leaves/italic/Italic/index.js.map +1 -0
- package/dist/field/leaves/italic/LeafButton.d.ts +2 -0
- package/dist/field/leaves/italic/LeafButton.d.ts.map +1 -0
- package/dist/field/leaves/italic/LeafButton.js +11 -0
- package/dist/field/leaves/italic/LeafButton.js.map +1 -0
- package/dist/field/leaves/italic/index.d.ts +3 -0
- package/dist/field/leaves/italic/index.d.ts.map +1 -0
- package/dist/field/leaves/italic/index.js +7 -0
- package/dist/field/leaves/italic/index.js.map +1 -0
- package/dist/field/leaves/strikethrough/LeafButton.d.ts +2 -0
- package/dist/field/leaves/strikethrough/LeafButton.d.ts.map +1 -0
- package/dist/field/leaves/strikethrough/LeafButton.js +11 -0
- package/dist/field/leaves/strikethrough/LeafButton.js.map +1 -0
- package/dist/field/leaves/strikethrough/Strikethrough/index.d.ts +2 -0
- package/dist/field/leaves/strikethrough/Strikethrough/index.d.ts.map +1 -0
- package/dist/field/leaves/strikethrough/Strikethrough/index.js +13 -0
- package/dist/field/leaves/strikethrough/Strikethrough/index.js.map +1 -0
- package/dist/field/leaves/strikethrough/index.d.ts +3 -0
- package/dist/field/leaves/strikethrough/index.d.ts.map +1 -0
- package/dist/field/leaves/strikethrough/index.js +7 -0
- package/dist/field/leaves/strikethrough/index.js.map +1 -0
- package/dist/field/leaves/toggle.d.ts +2 -0
- package/dist/field/leaves/toggle.d.ts.map +1 -0
- package/dist/field/leaves/toggle.js +12 -0
- package/dist/field/leaves/toggle.js.map +1 -0
- package/dist/field/leaves/underline/LeafButton.d.ts +2 -0
- package/dist/field/leaves/underline/LeafButton.d.ts.map +1 -0
- package/dist/field/leaves/underline/LeafButton.js +11 -0
- package/dist/field/leaves/underline/LeafButton.js.map +1 -0
- package/dist/field/leaves/underline/Underline/index.d.ts +2 -0
- package/dist/field/leaves/underline/Underline/index.d.ts.map +1 -0
- package/dist/field/leaves/underline/Underline/index.js +13 -0
- package/dist/field/leaves/underline/Underline/index.js.map +1 -0
- package/dist/field/leaves/underline/index.d.ts +3 -0
- package/dist/field/leaves/underline/index.d.ts.map +1 -0
- package/dist/field/leaves/underline/index.js +7 -0
- package/dist/field/leaves/underline/index.js.map +1 -0
- package/dist/field/mergeCustomFunctions.d.ts +3 -0
- package/dist/field/mergeCustomFunctions.d.ts.map +1 -0
- package/dist/field/mergeCustomFunctions.js +25 -0
- package/dist/field/mergeCustomFunctions.js.map +1 -0
- package/dist/field/plugins/withEnterBreakOut.d.ts +2 -0
- package/dist/field/plugins/withEnterBreakOut.d.ts.map +1 -0
- package/dist/field/plugins/withEnterBreakOut.js +16 -0
- package/dist/field/plugins/withEnterBreakOut.js.map +1 -0
- package/dist/field/plugins/withHTML.d.ts +2 -0
- package/dist/field/plugins/withHTML.d.ts.map +1 -0
- package/dist/field/plugins/withHTML.js +122 -0
- package/dist/field/plugins/withHTML.js.map +1 -0
- package/dist/field/providers/ElementButtonProvider.d.ts +14 -0
- package/dist/field/providers/ElementButtonProvider.d.ts.map +1 -0
- package/dist/field/providers/ElementButtonProvider.js +23 -0
- package/dist/field/providers/ElementButtonProvider.js.map +1 -0
- package/dist/field/providers/ElementProvider.d.ts +18 -0
- package/dist/field/providers/ElementProvider.d.ts.map +1 -0
- package/dist/field/providers/ElementProvider.js +27 -0
- package/dist/field/providers/ElementProvider.js.map +1 -0
- package/dist/field/providers/LeafButtonProvider.d.ts +13 -0
- package/dist/field/providers/LeafButtonProvider.d.ts.map +1 -0
- package/dist/field/providers/LeafButtonProvider.js +23 -0
- package/dist/field/providers/LeafButtonProvider.js.map +1 -0
- package/dist/field/providers/LeafProvider.d.ts +17 -0
- package/dist/field/providers/LeafProvider.d.ts.map +1 -0
- package/dist/field/providers/LeafProvider.js +28 -0
- package/dist/field/providers/LeafProvider.js.map +1 -0
- package/dist/field/rscEntry.d.ts +10 -0
- package/dist/field/rscEntry.d.ts.map +1 -0
- package/dist/field/rscEntry.js +129 -0
- package/dist/field/rscEntry.js.map +1 -0
- package/dist/field/types.d.ts +24 -0
- package/dist/field/types.d.ts.map +1 -0
- package/dist/field/types.js +3 -0
- package/dist/field/types.js.map +1 -0
- package/dist/generateSchemaMap.d.ts +4 -0
- package/dist/generateSchemaMap.d.ts.map +1 -0
- package/dist/generateSchemaMap.js +68 -0
- package/dist/generateSchemaMap.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +162 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +88 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +7 -0
- package/dist/types.js.map +1 -0
- package/dist/utilities/SlatePropsProvider.d.ts +11 -0
- package/dist/utilities/SlatePropsProvider.d.ts.map +1 -0
- package/dist/utilities/SlatePropsProvider.js +21 -0
- package/dist/utilities/SlatePropsProvider.js.map +1 -0
- package/dist/utilities/useSlatePlugin.d.ts +5 -0
- package/dist/utilities/useSlatePlugin.d.ts.map +1 -0
- package/dist/utilities/useSlatePlugin.js +8 -0
- package/dist/utilities/useSlatePlugin.js.map +1 -0
- package/package.json +85 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Element.d.ts","sourceRoot":"","sources":["../../../../src/field/elements/indent/Element.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAQjC,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { useElement } from '../../providers/ElementProvider.js';
|
|
5
|
+
export const IndentElement = ()=>{
|
|
6
|
+
const { attributes, children } = useElement();
|
|
7
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
8
|
+
style: {
|
|
9
|
+
paddingLeft: 25
|
|
10
|
+
},
|
|
11
|
+
...attributes,
|
|
12
|
+
children: children
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=Element.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/field/elements/indent/Element.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { useElement } from '../../providers/ElementProvider.js'\n\nexport const IndentElement: React.FC = () => {\n const { attributes, children } = useElement()\n\n return (\n <div style={{ paddingLeft: 25 }} {...attributes}>\n {children}\n </div>\n )\n}\n"],"names":["React","useElement","IndentElement","attributes","children","div","style","paddingLeft"],"mappings":"AAAA;;AAEA,OAAOA,WAAW,QAAO;AAEzB,SAASC,UAAU,QAAQ,qCAAoC;AAE/D,OAAO,MAAMC,gBAA0B;IACrC,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGH;IAEjC,qBACE,KAACI;QAAIC,OAAO;YAAEC,aAAa;QAAG;QAAI,GAAGJ,UAAU;kBAC5CC;;AAGP,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/field/elements/indent/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAI9D,eAAO,MAAM,MAAM,EAAE,qBAIpB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/field/elements/indent/index.ts"],"sourcesContent":["import type { RichTextCustomElement } from '../../../types.js'\n\nimport { indentType } from './shared.js'\n\nexport const indent: RichTextCustomElement = {\n name: indentType,\n Button: '@ruya.sa/richtext-slate/client#IndentButton',\n Element: '@ruya.sa/richtext-slate/client#IndentElement',\n}\n"],"names":["indentType","indent","name","Button","Element"],"mappings":"AAEA,SAASA,UAAU,QAAQ,cAAa;AAExC,OAAO,MAAMC,SAAgC;IAC3CC,MAAMF;IACNG,QAAQ;IACRC,SAAS;AACX,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/field/elements/indent/shared.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,WAAW,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/field/elements/indent/shared.ts"],"sourcesContent":["export const indentType = 'indent'\n"],"names":["indentType"],"mappings":"AAAA,OAAO,MAAMA,aAAa,SAAQ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/field/elements/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAkB3D,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAgB1D,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { blockquote } from './blockquote/index.js';
|
|
2
|
+
import { h1 } from './h1/index.js';
|
|
3
|
+
import { h2 } from './h2/index.js';
|
|
4
|
+
import { h3 } from './h3/index.js';
|
|
5
|
+
import { h4 } from './h4/index.js';
|
|
6
|
+
import { h5 } from './h5/index.js';
|
|
7
|
+
import { h6 } from './h6/index.js';
|
|
8
|
+
import { indent } from './indent/index.js';
|
|
9
|
+
import { li } from './li/index.js';
|
|
10
|
+
import { link } from './link/index.js';
|
|
11
|
+
import { ol } from './ol/index.js';
|
|
12
|
+
import { relationship } from './relationship/index.js';
|
|
13
|
+
import { textAlign } from './textAlign/index.js';
|
|
14
|
+
import { ul } from './ul/index.js';
|
|
15
|
+
import { upload } from './upload/index.js';
|
|
16
|
+
export const elements = {
|
|
17
|
+
blockquote,
|
|
18
|
+
h1,
|
|
19
|
+
h2,
|
|
20
|
+
h3,
|
|
21
|
+
h4,
|
|
22
|
+
h5,
|
|
23
|
+
h6,
|
|
24
|
+
indent,
|
|
25
|
+
li,
|
|
26
|
+
link,
|
|
27
|
+
ol,
|
|
28
|
+
relationship,
|
|
29
|
+
textAlign,
|
|
30
|
+
ul,
|
|
31
|
+
upload
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/field/elements/index.tsx"],"sourcesContent":["import type { RichTextCustomElement } from '../../types.js'\n\nimport { blockquote } from './blockquote/index.js'\nimport { h1 } from './h1/index.js'\nimport { h2 } from './h2/index.js'\nimport { h3 } from './h3/index.js'\nimport { h4 } from './h4/index.js'\nimport { h5 } from './h5/index.js'\nimport { h6 } from './h6/index.js'\nimport { indent } from './indent/index.js'\nimport { li } from './li/index.js'\nimport { link } from './link/index.js'\nimport { ol } from './ol/index.js'\nimport { relationship } from './relationship/index.js'\nimport { textAlign } from './textAlign/index.js'\nimport { ul } from './ul/index.js'\nimport { upload } from './upload/index.js'\n\nexport const elements: Record<string, RichTextCustomElement> = {\n blockquote,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n indent,\n li,\n link,\n ol,\n relationship,\n textAlign,\n ul,\n upload,\n}\n"],"names":["blockquote","h1","h2","h3","h4","h5","h6","indent","li","link","ol","relationship","textAlign","ul","upload","elements"],"mappings":"AAEA,SAASA,UAAU,QAAQ,wBAAuB;AAClD,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,MAAM,QAAQ,oBAAmB;AAC1C,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,IAAI,QAAQ,kBAAiB;AACtC,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,YAAY,QAAQ,0BAAyB;AACtD,SAASC,SAAS,QAAQ,uBAAsB;AAChD,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,MAAM,QAAQ,oBAAmB;AAE1C,OAAO,MAAMC,WAAkD;IAC7Df;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;AACF,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injectVoid.d.ts","sourceRoot":"","sources":["../../../src/field/elements/injectVoid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAEpC,OAAO,EAAE,MAAM,EAAc,MAAM,OAAO,CAAA;AAM1C,eAAO,MAAM,iBAAiB,WAAY,MAAM,WAAW,OAAO,KAAG,IAqBpE,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Editor, Transforms } from 'slate';
|
|
2
|
+
import { isLastSelectedElementEmpty } from './isLastSelectedElementEmpty.js';
|
|
3
|
+
export const injectVoidElement = (editor, element)=>{
|
|
4
|
+
const lastSelectedElementIsEmpty = isLastSelectedElementEmpty(editor);
|
|
5
|
+
const previous = Editor.previous(editor);
|
|
6
|
+
if (lastSelectedElementIsEmpty) {
|
|
7
|
+
// If previous node is void
|
|
8
|
+
if (previous?.[0] && Editor.isVoid(editor, previous[0])) {
|
|
9
|
+
// Insert a blank element between void nodes
|
|
10
|
+
// so user can place cursor between void nodes
|
|
11
|
+
Transforms.insertNodes(editor, {
|
|
12
|
+
children: [
|
|
13
|
+
{
|
|
14
|
+
text: ''
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
});
|
|
18
|
+
Transforms.setNodes(editor, element);
|
|
19
|
+
// Otherwise just set the empty node equal to new void
|
|
20
|
+
} else {
|
|
21
|
+
Transforms.setNodes(editor, element);
|
|
22
|
+
}
|
|
23
|
+
} else {
|
|
24
|
+
Transforms.insertNodes(editor, element);
|
|
25
|
+
}
|
|
26
|
+
// Add an empty node after the new void
|
|
27
|
+
Transforms.insertNodes(editor, {
|
|
28
|
+
children: [
|
|
29
|
+
{
|
|
30
|
+
text: ''
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=injectVoid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/field/elements/injectVoid.ts"],"sourcesContent":["import type { Element } from 'slate'\n\nimport { Editor, Transforms } from 'slate'\n\nimport type { ElementNode } from '../../types.js'\n\nimport { isLastSelectedElementEmpty } from './isLastSelectedElementEmpty.js'\n\nexport const injectVoidElement = (editor: Editor, element: Element): void => {\n const lastSelectedElementIsEmpty = isLastSelectedElementEmpty(editor)\n const previous = Editor.previous<ElementNode>(editor)\n\n if (lastSelectedElementIsEmpty) {\n // If previous node is void\n if (previous?.[0] && Editor.isVoid(editor, previous[0])) {\n // Insert a blank element between void nodes\n // so user can place cursor between void nodes\n Transforms.insertNodes(editor, { children: [{ text: '' }] })\n Transforms.setNodes(editor, element)\n // Otherwise just set the empty node equal to new void\n } else {\n Transforms.setNodes(editor, element)\n }\n } else {\n Transforms.insertNodes(editor, element)\n }\n\n // Add an empty node after the new void\n Transforms.insertNodes(editor, { children: [{ text: '' }] })\n}\n"],"names":["Editor","Transforms","isLastSelectedElementEmpty","injectVoidElement","editor","element","lastSelectedElementIsEmpty","previous","isVoid","insertNodes","children","text","setNodes"],"mappings":"AAEA,SAASA,MAAM,EAAEC,UAAU,QAAQ,QAAO;AAI1C,SAASC,0BAA0B,QAAQ,kCAAiC;AAE5E,OAAO,MAAMC,oBAAoB,CAACC,QAAgBC;IAChD,MAAMC,6BAA6BJ,2BAA2BE;IAC9D,MAAMG,WAAWP,OAAOO,QAAQ,CAAcH;IAE9C,IAAIE,4BAA4B;QAC9B,2BAA2B;QAC3B,IAAIC,UAAU,CAAC,EAAE,IAAIP,OAAOQ,MAAM,CAACJ,QAAQG,QAAQ,CAAC,EAAE,GAAG;YACvD,4CAA4C;YAC5C,8CAA8C;YAC9CN,WAAWQ,WAAW,CAACL,QAAQ;gBAAEM,UAAU;oBAAC;wBAAEC,MAAM;oBAAG;iBAAE;YAAC;YAC1DV,WAAWW,QAAQ,CAACR,QAAQC;QAC5B,sDAAsD;QACxD,OAAO;YACLJ,WAAWW,QAAQ,CAACR,QAAQC;QAC9B;IACF,OAAO;QACLJ,WAAWQ,WAAW,CAACL,QAAQC;IACjC;IAEA,uCAAuC;IACvCJ,WAAWQ,WAAW,CAACL,QAAQ;QAAEM,UAAU;YAAC;gBAAEC,MAAM;YAAG;SAAE;IAAC;AAC5D,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isActive.d.ts","sourceRoot":"","sources":["../../../src/field/elements/isActive.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAW,MAAM,OAAO,CAAA;AAEvC,eAAO,MAAM,eAAe,WAAY,MAAM,UAAU,MAAM,yBAAuB,OAapF,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Editor, Element } from 'slate';
|
|
2
|
+
export const isElementActive = (editor, format, blockType = 'type')=>{
|
|
3
|
+
if (!editor.selection) {
|
|
4
|
+
return false;
|
|
5
|
+
}
|
|
6
|
+
const [match] = Array.from(Editor.nodes(editor, {
|
|
7
|
+
at: Editor.unhangRange(editor, editor.selection),
|
|
8
|
+
match: (n)=>!Editor.isEditor(n) && Element.isElement(n) && n[blockType] === format
|
|
9
|
+
}));
|
|
10
|
+
return !!match;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=isActive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/field/elements/isActive.tsx"],"sourcesContent":["import { Editor, Element } from 'slate'\n\nexport const isElementActive = (editor: Editor, format: string, blockType = 'type'): boolean => {\n if (!editor.selection) {\n return false\n }\n\n const [match] = Array.from(\n Editor.nodes(editor, {\n at: Editor.unhangRange(editor, editor.selection),\n match: (n) => !Editor.isEditor(n) && Element.isElement(n) && n[blockType] === format,\n }),\n )\n\n return !!match\n}\n"],"names":["Editor","Element","isElementActive","editor","format","blockType","selection","match","Array","from","nodes","at","unhangRange","n","isEditor","isElement"],"mappings":"AAAA,SAASA,MAAM,EAAEC,OAAO,QAAQ,QAAO;AAEvC,OAAO,MAAMC,kBAAkB,CAACC,QAAgBC,QAAgBC,YAAY,MAAM;IAChF,IAAI,CAACF,OAAOG,SAAS,EAAE;QACrB,OAAO;IACT;IAEA,MAAM,CAACC,MAAM,GAAGC,MAAMC,IAAI,CACxBT,OAAOU,KAAK,CAACP,QAAQ;QACnBQ,IAAIX,OAAOY,WAAW,CAACT,QAAQA,OAAOG,SAAS;QAC/CC,OAAO,CAACM,IAAM,CAACb,OAAOc,QAAQ,CAACD,MAAMZ,QAAQc,SAAS,CAACF,MAAMA,CAAC,CAACR,UAAU,KAAKD;IAChF;IAGF,OAAO,CAAC,CAACG;AACX,EAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Editor, Element } from 'slate';
|
|
2
|
+
/**
|
|
3
|
+
* Returns true, if the provided node is a Block Element.
|
|
4
|
+
* Note: Using Editor.isBlock() is not sufficient, as since slate 0.90 it returns `true` for Text nodes and the editor as well.
|
|
5
|
+
*
|
|
6
|
+
* Related Issue: https://github.com/ianstormtaylor/slate/issues/5287
|
|
7
|
+
*/
|
|
8
|
+
export declare const isBlockElement: (editor: Editor, node: any) => node is Element;
|
|
9
|
+
//# sourceMappingURL=isBlockElement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isBlockElement.d.ts","sourceRoot":"","sources":["../../../src/field/elements/isBlockElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAkBvC;;;;;GAKG;AAEH,eAAO,MAAM,cAAc,WAAY,MAAM,QAAQ,GAAG,KAAG,IAAI,IAAI,OAClB,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Editor, Element } from 'slate';
|
|
2
|
+
/**
|
|
3
|
+
* Returns true, if the provided node is an Element (optionally of a specific type)
|
|
4
|
+
*/ const isElement = (node, specificType)=>{
|
|
5
|
+
if (Editor.isEditor(node) || !Element.isElement(node)) {
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
if (undefined === specificType) {
|
|
9
|
+
return true;
|
|
10
|
+
}
|
|
11
|
+
if (typeof specificType === 'string') {
|
|
12
|
+
return node.type === specificType;
|
|
13
|
+
}
|
|
14
|
+
return specificType.includes(node.type);
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Returns true, if the provided node is a Block Element.
|
|
18
|
+
* Note: Using Editor.isBlock() is not sufficient, as since slate 0.90 it returns `true` for Text nodes and the editor as well.
|
|
19
|
+
*
|
|
20
|
+
* Related Issue: https://github.com/ianstormtaylor/slate/issues/5287
|
|
21
|
+
*/ export const isBlockElement = (editor, node)=>Editor.isBlock(editor, node) && isElement(node);
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=isBlockElement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/field/elements/isBlockElement.ts"],"sourcesContent":["import { Editor, Element } from 'slate'\n\n/**\n * Returns true, if the provided node is an Element (optionally of a specific type)\n */\nconst isElement = (node: any, specificType?: string | string[]): node is Element => {\n if (Editor.isEditor(node) || !Element.isElement(node)) {\n return false\n }\n if (undefined === specificType) {\n return true\n }\n if (typeof specificType === 'string') {\n return node.type === specificType\n }\n return specificType.includes(node.type)\n}\n\n/**\n * Returns true, if the provided node is a Block Element.\n * Note: Using Editor.isBlock() is not sufficient, as since slate 0.90 it returns `true` for Text nodes and the editor as well.\n *\n * Related Issue: https://github.com/ianstormtaylor/slate/issues/5287\n */\n\nexport const isBlockElement = (editor: Editor, node: any): node is Element =>\n Editor.isBlock(editor, node) && isElement(node)\n"],"names":["Editor","Element","isElement","node","specificType","isEditor","undefined","type","includes","isBlockElement","editor","isBlock"],"mappings":"AAAA,SAASA,MAAM,EAAEC,OAAO,QAAQ,QAAO;AAEvC;;CAEC,GACD,MAAMC,YAAY,CAACC,MAAWC;IAC5B,IAAIJ,OAAOK,QAAQ,CAACF,SAAS,CAACF,QAAQC,SAAS,CAACC,OAAO;QACrD,OAAO;IACT;IACA,IAAIG,cAAcF,cAAc;QAC9B,OAAO;IACT;IACA,IAAI,OAAOA,iBAAiB,UAAU;QACpC,OAAOD,KAAKI,IAAI,KAAKH;IACvB;IACA,OAAOA,aAAaI,QAAQ,CAACL,KAAKI,IAAI;AACxC;AAEA;;;;;CAKC,GAED,OAAO,MAAME,iBAAiB,CAACC,QAAgBP,OAC7CH,OAAOW,OAAO,CAACD,QAAQP,SAASD,UAAUC,MAAK"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isLastSelectedElementEmpty.d.ts","sourceRoot":"","sources":["../../../src/field/elements/isLastSelectedElementEmpty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAW,MAAM,OAAO,CAAA;AAIvC,eAAO,MAAM,0BAA0B,WAAY,MAAM,KAAG,OAqB3D,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Editor, Element } from 'slate';
|
|
2
|
+
import { nodeIsTextNode } from '../../types.js';
|
|
3
|
+
export const isLastSelectedElementEmpty = (editor)=>{
|
|
4
|
+
if (!editor.selection) {
|
|
5
|
+
return false;
|
|
6
|
+
}
|
|
7
|
+
const currentlySelectedNodes = Array.from(Editor.nodes(editor, {
|
|
8
|
+
at: Editor.unhangRange(editor, editor.selection),
|
|
9
|
+
match: (n)=>!Editor.isEditor(n) && Element.isElement(n) && (!n.type || n.type === 'p')
|
|
10
|
+
}));
|
|
11
|
+
const lastSelectedNode = currentlySelectedNodes?.[currentlySelectedNodes?.length - 1];
|
|
12
|
+
return lastSelectedNode && Element.isElement(lastSelectedNode[0]) && (!lastSelectedNode[0].type || lastSelectedNode[0].type === 'p') && nodeIsTextNode(lastSelectedNode[0].children?.[0]) && lastSelectedNode[0].children?.[0].text === '';
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=isLastSelectedElementEmpty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/field/elements/isLastSelectedElementEmpty.ts"],"sourcesContent":["import { Editor, Element } from 'slate'\n\nimport { nodeIsTextNode } from '../../types.js'\n\nexport const isLastSelectedElementEmpty = (editor: Editor): boolean => {\n if (!editor.selection) {\n return false\n }\n\n const currentlySelectedNodes = Array.from(\n Editor.nodes(editor, {\n at: Editor.unhangRange(editor, editor.selection),\n match: (n) => !Editor.isEditor(n) && Element.isElement(n) && (!n.type || n.type === 'p'),\n }),\n )\n\n const lastSelectedNode = currentlySelectedNodes?.[currentlySelectedNodes?.length - 1]\n\n return (\n lastSelectedNode &&\n Element.isElement(lastSelectedNode[0]) &&\n (!lastSelectedNode[0].type || lastSelectedNode[0].type === 'p') &&\n nodeIsTextNode(lastSelectedNode[0].children?.[0]) &&\n lastSelectedNode[0].children?.[0].text === ''\n )\n}\n"],"names":["Editor","Element","nodeIsTextNode","isLastSelectedElementEmpty","editor","selection","currentlySelectedNodes","Array","from","nodes","at","unhangRange","match","n","isEditor","isElement","type","lastSelectedNode","length","children","text"],"mappings":"AAAA,SAASA,MAAM,EAAEC,OAAO,QAAQ,QAAO;AAEvC,SAASC,cAAc,QAAQ,iBAAgB;AAE/C,OAAO,MAAMC,6BAA6B,CAACC;IACzC,IAAI,CAACA,OAAOC,SAAS,EAAE;QACrB,OAAO;IACT;IAEA,MAAMC,yBAAyBC,MAAMC,IAAI,CACvCR,OAAOS,KAAK,CAACL,QAAQ;QACnBM,IAAIV,OAAOW,WAAW,CAACP,QAAQA,OAAOC,SAAS;QAC/CO,OAAO,CAACC,IAAM,CAACb,OAAOc,QAAQ,CAACD,MAAMZ,QAAQc,SAAS,CAACF,MAAO,CAAA,CAACA,EAAEG,IAAI,IAAIH,EAAEG,IAAI,KAAK,GAAE;IACxF;IAGF,MAAMC,mBAAmBX,wBAAwB,CAACA,wBAAwBY,SAAS,EAAE;IAErF,OACED,oBACAhB,QAAQc,SAAS,CAACE,gBAAgB,CAAC,EAAE,KACpC,CAAA,CAACA,gBAAgB,CAAC,EAAE,CAACD,IAAI,IAAIC,gBAAgB,CAAC,EAAE,CAACD,IAAI,KAAK,GAAE,KAC7Dd,eAAee,gBAAgB,CAAC,EAAE,CAACE,QAAQ,EAAE,CAAC,EAAE,KAChDF,gBAAgB,CAAC,EAAE,CAACE,QAAQ,EAAE,CAAC,EAAE,CAACC,SAAS;AAE/C,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isListActive.d.ts","sourceRoot":"","sources":["../../../src/field/elements/isListActive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAW,MAAM,OAAO,CAAA;AAIvC,eAAO,MAAM,YAAY,WAAY,MAAM,UAAU,MAAM,KAAG,OA0B7D,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Editor, Element } from 'slate';
|
|
2
|
+
import { getCommonBlock } from './getCommonBlock.js';
|
|
3
|
+
export const isListActive = (editor, format)=>{
|
|
4
|
+
if (!editor.selection) {
|
|
5
|
+
return false;
|
|
6
|
+
}
|
|
7
|
+
const [topmostSelectedNode, topmostSelectedNodePath] = getCommonBlock(editor);
|
|
8
|
+
if (Editor.isEditor(topmostSelectedNode)) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
const [match] = Array.from(Editor.nodes(editor, {
|
|
12
|
+
at: topmostSelectedNodePath,
|
|
13
|
+
match: (node, path)=>{
|
|
14
|
+
return !Editor.isEditor(node) && Element.isElement(node) && node.type === format && path.length >= topmostSelectedNodePath.length - 2;
|
|
15
|
+
},
|
|
16
|
+
mode: 'lowest'
|
|
17
|
+
}));
|
|
18
|
+
return !!match;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=isListActive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/field/elements/isListActive.ts"],"sourcesContent":["import { Editor, Element } from 'slate'\n\nimport { getCommonBlock } from './getCommonBlock.js'\n\nexport const isListActive = (editor: Editor, format: string): boolean => {\n if (!editor.selection) {\n return false\n }\n const [topmostSelectedNode, topmostSelectedNodePath] = getCommonBlock(editor)\n\n if (Editor.isEditor(topmostSelectedNode)) {\n return false\n }\n\n const [match] = Array.from(\n Editor.nodes(editor, {\n at: topmostSelectedNodePath,\n match: (node, path) => {\n return (\n !Editor.isEditor(node) &&\n Element.isElement(node) &&\n node.type === format &&\n path.length >= topmostSelectedNodePath.length - 2\n )\n },\n mode: 'lowest',\n }),\n )\n\n return !!match\n}\n"],"names":["Editor","Element","getCommonBlock","isListActive","editor","format","selection","topmostSelectedNode","topmostSelectedNodePath","isEditor","match","Array","from","nodes","at","node","path","isElement","type","length","mode"],"mappings":"AAAA,SAASA,MAAM,EAAEC,OAAO,QAAQ,QAAO;AAEvC,SAASC,cAAc,QAAQ,sBAAqB;AAEpD,OAAO,MAAMC,eAAe,CAACC,QAAgBC;IAC3C,IAAI,CAACD,OAAOE,SAAS,EAAE;QACrB,OAAO;IACT;IACA,MAAM,CAACC,qBAAqBC,wBAAwB,GAAGN,eAAeE;IAEtE,IAAIJ,OAAOS,QAAQ,CAACF,sBAAsB;QACxC,OAAO;IACT;IAEA,MAAM,CAACG,MAAM,GAAGC,MAAMC,IAAI,CACxBZ,OAAOa,KAAK,CAACT,QAAQ;QACnBU,IAAIN;QACJE,OAAO,CAACK,MAAMC;YACZ,OACE,CAAChB,OAAOS,QAAQ,CAACM,SACjBd,QAAQgB,SAAS,CAACF,SAClBA,KAAKG,IAAI,KAAKb,UACdW,KAAKG,MAAM,IAAIX,wBAAwBW,MAAM,GAAG;QAEpD;QACAC,MAAM;IACR;IAGF,OAAO,CAAC,CAACV;AACX,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isWithinListItem.d.ts","sourceRoot":"","sources":["../../../src/field/elements/isWithinListItem.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAW,MAAM,OAAO,CAAA;AAEvC,eAAO,MAAM,gBAAgB,WAAY,MAAM,KAAG,OAcjD,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Editor, Element } from 'slate';
|
|
2
|
+
export const isWithinListItem = (editor)=>{
|
|
3
|
+
let parentLI;
|
|
4
|
+
try {
|
|
5
|
+
parentLI = Editor.parent(editor, editor.selection);
|
|
6
|
+
} catch (e) {
|
|
7
|
+
// swallow error, Slate
|
|
8
|
+
}
|
|
9
|
+
if (Element.isElement(parentLI?.[0]) && parentLI?.[0]?.type === 'li') {
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
return false;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=isWithinListItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/field/elements/isWithinListItem.ts"],"sourcesContent":["import type { Ancestor, NodeEntry } from 'slate'\n\nimport { Editor, Element } from 'slate'\n\nexport const isWithinListItem = (editor: Editor): boolean => {\n let parentLI: NodeEntry<Ancestor>\n\n try {\n parentLI = Editor.parent(editor, editor.selection)\n } catch (e) {\n // swallow error, Slate\n }\n\n if (Element.isElement(parentLI?.[0]) && parentLI?.[0]?.type === 'li') {\n return true\n }\n\n return false\n}\n"],"names":["Editor","Element","isWithinListItem","editor","parentLI","parent","selection","e","isElement","type"],"mappings":"AAEA,SAASA,MAAM,EAAEC,OAAO,QAAQ,QAAO;AAEvC,OAAO,MAAMC,mBAAmB,CAACC;IAC/B,IAAIC;IAEJ,IAAI;QACFA,WAAWJ,OAAOK,MAAM,CAACF,QAAQA,OAAOG,SAAS;IACnD,EAAE,OAAOC,GAAG;IACV,uBAAuB;IACzB;IAEA,IAAIN,QAAQO,SAAS,CAACJ,UAAU,CAAC,EAAE,KAAKA,UAAU,CAAC,EAAE,EAAEK,SAAS,MAAM;QACpE,OAAO;IACT;IAEA,OAAO;AACT,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListItem.d.ts","sourceRoot":"","sources":["../../../../src/field/elements/li/ListItem.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAiBnC,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { useElement } from '../../providers/ElementProvider.js';
|
|
5
|
+
import { listTypes } from '../listTypes.js';
|
|
6
|
+
export const ListItemElement = ()=>{
|
|
7
|
+
const { attributes, children, element } = useElement();
|
|
8
|
+
const listType = typeof element.children?.[0]?.type === 'string' ? element.children[0].type : '';
|
|
9
|
+
const disableListStyle = element.children.length >= 1 && listTypes.includes(listType);
|
|
10
|
+
return /*#__PURE__*/ _jsx("li", {
|
|
11
|
+
style: {
|
|
12
|
+
listStyle: disableListStyle ? 'none' : undefined,
|
|
13
|
+
listStylePosition: disableListStyle ? 'outside' : undefined
|
|
14
|
+
},
|
|
15
|
+
...attributes,
|
|
16
|
+
children: children
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=ListItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/field/elements/li/ListItem.tsx"],"sourcesContent":["'use client'\n\nimport type { Element } from 'slate'\n\nimport React from 'react'\n\nimport { useElement } from '../../providers/ElementProvider.js'\nimport { listTypes } from '../listTypes.js'\n\nexport const ListItemElement: React.FC = () => {\n const { attributes, children, element } = useElement<Element>()\n\n const listType = typeof element.children?.[0]?.type === 'string' ? element.children[0].type : ''\n const disableListStyle = element.children.length >= 1 && listTypes.includes(listType)\n\n return (\n <li\n style={{\n listStyle: disableListStyle ? 'none' : undefined,\n listStylePosition: disableListStyle ? 'outside' : undefined,\n }}\n {...attributes}\n >\n {children}\n </li>\n )\n}\n"],"names":["React","useElement","listTypes","ListItemElement","attributes","children","element","listType","type","disableListStyle","length","includes","li","style","listStyle","undefined","listStylePosition"],"mappings":"AAAA;;AAIA,OAAOA,WAAW,QAAO;AAEzB,SAASC,UAAU,QAAQ,qCAAoC;AAC/D,SAASC,SAAS,QAAQ,kBAAiB;AAE3C,OAAO,MAAMC,kBAA4B;IACvC,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,OAAO,EAAE,GAAGL;IAE1C,MAAMM,WAAW,OAAOD,QAAQD,QAAQ,EAAE,CAAC,EAAE,EAAEG,SAAS,WAAWF,QAAQD,QAAQ,CAAC,EAAE,CAACG,IAAI,GAAG;IAC9F,MAAMC,mBAAmBH,QAAQD,QAAQ,CAACK,MAAM,IAAI,KAAKR,UAAUS,QAAQ,CAACJ;IAE5E,qBACE,KAACK;QACCC,OAAO;YACLC,WAAWL,mBAAmB,SAASM;YACvCC,mBAAmBP,mBAAmB,YAAYM;QACpD;QACC,GAAGX,UAAU;kBAEbC;;AAGP,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/field/elements/li/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAE9D,eAAO,MAAM,EAAE,EAAE,qBAGhB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/field/elements/li/index.tsx"],"sourcesContent":["import type { RichTextCustomElement } from '../../../types.js'\n\nexport const li: RichTextCustomElement = {\n name: 'li',\n Element: '@ruya.sa/richtext-slate/client#ListItemElement',\n}\n"],"names":["li","name","Element"],"mappings":"AAEA,OAAO,MAAMA,KAA4B;IACvCC,MAAM;IACNC,SAAS;AACX,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/field/elements/link/Button/index.tsx"],"names":[],"mappings":"AAYA,OAAO,KAA6B,MAAM,OAAO,CAAA;AAkDjD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAA;CACnB,CAuEA,CAAA"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useDocumentInfo, useDrawerSlug, useModal, useServerFunctions, useTranslation } from '@ruya.sa/ui';
|
|
4
|
+
import { reduceFieldsToValues } from '@ruya.sa/payload/shared';
|
|
5
|
+
import React, { Fragment, useState } from 'react';
|
|
6
|
+
import { Editor, Range, Transforms } from 'slate';
|
|
7
|
+
import { ReactEditor, useSlate } from 'slate-react';
|
|
8
|
+
import { LinkIcon } from '../../../icons/Link/index.js';
|
|
9
|
+
import { useElementButton } from '../../../providers/ElementButtonProvider.js';
|
|
10
|
+
import { ElementButton } from '../../Button.js';
|
|
11
|
+
import { isElementActive } from '../../isActive.js';
|
|
12
|
+
import { LinkDrawer } from '../LinkDrawer/index.js';
|
|
13
|
+
import { linkFieldsSchemaPath } from '../shared.js';
|
|
14
|
+
import { unwrapLink } from '../utilities.js';
|
|
15
|
+
/**
|
|
16
|
+
* This function is called when a new link is created - not when an existing link is edited.
|
|
17
|
+
*/ const insertLink = (editor, fields)=>{
|
|
18
|
+
const isCollapsed = editor.selection && Range.isCollapsed(editor.selection);
|
|
19
|
+
const data = reduceFieldsToValues(fields, true);
|
|
20
|
+
const newLink = {
|
|
21
|
+
type: 'link',
|
|
22
|
+
children: [],
|
|
23
|
+
doc: data.doc,
|
|
24
|
+
fields: data.fields,
|
|
25
|
+
linkType: data.linkType,
|
|
26
|
+
newTab: data.newTab,
|
|
27
|
+
url: data.url
|
|
28
|
+
};
|
|
29
|
+
if (isCollapsed || !editor.selection) {
|
|
30
|
+
// If selection anchor and focus are the same,
|
|
31
|
+
// Just inject a new node with children already set
|
|
32
|
+
Transforms.insertNodes(editor, {
|
|
33
|
+
...newLink,
|
|
34
|
+
children: [
|
|
35
|
+
{
|
|
36
|
+
text: String(data.text)
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
});
|
|
40
|
+
} else if (editor.selection) {
|
|
41
|
+
// Otherwise we need to wrap the selected node in a link,
|
|
42
|
+
// Delete its old text,
|
|
43
|
+
// Move the selection one position forward into the link,
|
|
44
|
+
// And insert the text back into the new link
|
|
45
|
+
Transforms.wrapNodes(editor, newLink, {
|
|
46
|
+
split: true
|
|
47
|
+
});
|
|
48
|
+
Transforms.delete(editor, {
|
|
49
|
+
at: editor.selection.focus.path,
|
|
50
|
+
unit: 'word'
|
|
51
|
+
});
|
|
52
|
+
Transforms.move(editor, {
|
|
53
|
+
distance: 1,
|
|
54
|
+
unit: 'offset'
|
|
55
|
+
});
|
|
56
|
+
Transforms.insertText(editor, String(data.text), {
|
|
57
|
+
at: editor.selection.focus.path
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
ReactEditor.focus(editor);
|
|
61
|
+
};
|
|
62
|
+
export const LinkButton = ({ schemaPath })=>{
|
|
63
|
+
const { fieldProps } = useElementButton();
|
|
64
|
+
const [initialState, setInitialState] = useState({});
|
|
65
|
+
const { t } = useTranslation();
|
|
66
|
+
const editor = useSlate();
|
|
67
|
+
const { getFormState } = useServerFunctions();
|
|
68
|
+
const { collectionSlug, getDocPreferences, globalSlug } = useDocumentInfo();
|
|
69
|
+
const { closeModal, openModal } = useModal();
|
|
70
|
+
const drawerSlug = useDrawerSlug('rich-text-link');
|
|
71
|
+
const { componentMap } = fieldProps;
|
|
72
|
+
const fields = componentMap[linkFieldsSchemaPath];
|
|
73
|
+
return /*#__PURE__*/ _jsxs(Fragment, {
|
|
74
|
+
children: [
|
|
75
|
+
/*#__PURE__*/ _jsx(ElementButton, {
|
|
76
|
+
className: "link",
|
|
77
|
+
format: "link",
|
|
78
|
+
onClick: async ()=>{
|
|
79
|
+
if (isElementActive(editor, 'link')) {
|
|
80
|
+
unwrapLink(editor);
|
|
81
|
+
} else {
|
|
82
|
+
openModal(drawerSlug);
|
|
83
|
+
const isCollapsed = editor.selection && Range.isCollapsed(editor.selection);
|
|
84
|
+
if (!isCollapsed) {
|
|
85
|
+
const data = {
|
|
86
|
+
text: editor.selection ? Editor.string(editor, editor.selection) : ''
|
|
87
|
+
};
|
|
88
|
+
const { state } = await getFormState({
|
|
89
|
+
collectionSlug,
|
|
90
|
+
data,
|
|
91
|
+
docPermissions: {
|
|
92
|
+
fields: true
|
|
93
|
+
},
|
|
94
|
+
docPreferences: await getDocPreferences(),
|
|
95
|
+
globalSlug,
|
|
96
|
+
operation: 'update',
|
|
97
|
+
renderAllFields: true,
|
|
98
|
+
schemaPath: [
|
|
99
|
+
...schemaPath.split('.'),
|
|
100
|
+
...linkFieldsSchemaPath.split('.')
|
|
101
|
+
].join('.')
|
|
102
|
+
});
|
|
103
|
+
setInitialState(state);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
tooltip: t('fields:addLink'),
|
|
108
|
+
children: /*#__PURE__*/ _jsx(LinkIcon, {})
|
|
109
|
+
}),
|
|
110
|
+
/*#__PURE__*/ _jsx(LinkDrawer, {
|
|
111
|
+
drawerSlug: drawerSlug,
|
|
112
|
+
fields: Array.isArray(fields) ? fields : [],
|
|
113
|
+
handleClose: ()=>{
|
|
114
|
+
closeModal(drawerSlug);
|
|
115
|
+
},
|
|
116
|
+
handleModalSubmit: (fields)=>{
|
|
117
|
+
insertLink(editor, fields);
|
|
118
|
+
closeModal(drawerSlug);
|
|
119
|
+
},
|
|
120
|
+
initialState: initialState,
|
|
121
|
+
schemaPath: schemaPath
|
|
122
|
+
})
|
|
123
|
+
]
|
|
124
|
+
});
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/field/elements/link/Button/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FormState } from '@ruya.sa/payload'\n\nimport {\n useDocumentInfo,\n useDrawerSlug,\n useModal,\n useServerFunctions,\n useTranslation,\n} from '@ruya.sa/ui'\nimport { reduceFieldsToValues } from '@ruya.sa/payload/shared'\nimport React, { Fragment, useState } from 'react'\nimport { Editor, Range, Transforms } from 'slate'\nimport { ReactEditor, useSlate } from 'slate-react'\n\nimport { LinkIcon } from '../../../icons/Link/index.js'\nimport { useElementButton } from '../../../providers/ElementButtonProvider.js'\nimport { ElementButton } from '../../Button.js'\nimport { isElementActive } from '../../isActive.js'\nimport { LinkDrawer } from '../LinkDrawer/index.js'\nimport { linkFieldsSchemaPath } from '../shared.js'\nimport { unwrapLink } from '../utilities.js'\n\n/**\n * This function is called when a new link is created - not when an existing link is edited.\n */\nconst insertLink = (editor, fields) => {\n const isCollapsed = editor.selection && Range.isCollapsed(editor.selection)\n const data = reduceFieldsToValues(fields, true)\n\n const newLink = {\n type: 'link',\n children: [],\n doc: data.doc,\n fields: data.fields, // Any custom user-added fields are part of data.fields\n linkType: data.linkType,\n newTab: data.newTab,\n url: data.url,\n }\n\n if (isCollapsed || !editor.selection) {\n // If selection anchor and focus are the same,\n // Just inject a new node with children already set\n Transforms.insertNodes(editor, {\n ...newLink,\n children: [{ text: String(data.text) }],\n })\n } else if (editor.selection) {\n // Otherwise we need to wrap the selected node in a link,\n // Delete its old text,\n // Move the selection one position forward into the link,\n // And insert the text back into the new link\n Transforms.wrapNodes(editor, newLink, { split: true })\n Transforms.delete(editor, { at: editor.selection.focus.path, unit: 'word' })\n Transforms.move(editor, { distance: 1, unit: 'offset' })\n Transforms.insertText(editor, String(data.text), { at: editor.selection.focus.path })\n }\n\n ReactEditor.focus(editor)\n}\n\nexport const LinkButton: React.FC<{\n schemaPath: string\n}> = ({ schemaPath }) => {\n const { fieldProps } = useElementButton()\n const [initialState, setInitialState] = useState<FormState>({})\n\n const { t } = useTranslation()\n const editor = useSlate()\n const { getFormState } = useServerFunctions()\n const { collectionSlug, getDocPreferences, globalSlug } = useDocumentInfo()\n\n const { closeModal, openModal } = useModal()\n const drawerSlug = useDrawerSlug('rich-text-link')\n\n const { componentMap } = fieldProps\n\n const fields = componentMap[linkFieldsSchemaPath]\n\n return (\n <Fragment>\n <ElementButton\n className=\"link\"\n format=\"link\"\n onClick={async () => {\n if (isElementActive(editor, 'link')) {\n unwrapLink(editor)\n } else {\n openModal(drawerSlug)\n const isCollapsed = editor.selection && Range.isCollapsed(editor.selection)\n\n if (!isCollapsed) {\n const data = {\n text: editor.selection ? Editor.string(editor, editor.selection) : '',\n }\n\n const { state } = await getFormState({\n collectionSlug,\n data,\n docPermissions: {\n fields: true,\n },\n docPreferences: await getDocPreferences(),\n globalSlug,\n operation: 'update',\n renderAllFields: true,\n schemaPath: [...schemaPath.split('.'), ...linkFieldsSchemaPath.split('.')].join(\n '.',\n ),\n })\n\n setInitialState(state)\n }\n }\n }}\n tooltip={t('fields:addLink')}\n >\n <LinkIcon />\n </ElementButton>\n <LinkDrawer\n drawerSlug={drawerSlug}\n fields={Array.isArray(fields) ? fields : []}\n handleClose={() => {\n closeModal(drawerSlug)\n }}\n handleModalSubmit={(fields) => {\n insertLink(editor, fields)\n closeModal(drawerSlug)\n }}\n initialState={initialState}\n schemaPath={schemaPath}\n />\n </Fragment>\n )\n}\n"],"names":["useDocumentInfo","useDrawerSlug","useModal","useServerFunctions","useTranslation","reduceFieldsToValues","React","Fragment","useState","Editor","Range","Transforms","ReactEditor","useSlate","LinkIcon","useElementButton","ElementButton","isElementActive","LinkDrawer","linkFieldsSchemaPath","unwrapLink","insertLink","editor","fields","isCollapsed","selection","data","newLink","type","children","doc","linkType","newTab","url","insertNodes","text","String","wrapNodes","split","delete","at","focus","path","unit","move","distance","insertText","LinkButton","schemaPath","fieldProps","initialState","setInitialState","t","getFormState","collectionSlug","getDocPreferences","globalSlug","closeModal","openModal","drawerSlug","componentMap","className","format","onClick","string","state","docPermissions","docPreferences","operation","renderAllFields","join","tooltip","Array","isArray","handleClose","handleModalSubmit"],"mappings":"AAAA;;AAIA,SACEA,eAAe,EACfC,aAAa,EACbC,QAAQ,EACRC,kBAAkB,EAClBC,cAAc,QACT,cAAa;AACpB,SAASC,oBAAoB,QAAQ,0BAAyB;AAC9D,OAAOC,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,QAAO;AACjD,SAASC,MAAM,EAAEC,KAAK,EAAEC,UAAU,QAAQ,QAAO;AACjD,SAASC,WAAW,EAAEC,QAAQ,QAAQ,cAAa;AAEnD,SAASC,QAAQ,QAAQ,+BAA8B;AACvD,SAASC,gBAAgB,QAAQ,8CAA6C;AAC9E,SAASC,aAAa,QAAQ,kBAAiB;AAC/C,SAASC,eAAe,QAAQ,oBAAmB;AACnD,SAASC,UAAU,QAAQ,yBAAwB;AACnD,SAASC,oBAAoB,QAAQ,eAAc;AACnD,SAASC,UAAU,QAAQ,kBAAiB;AAE5C;;CAEC,GACD,MAAMC,aAAa,CAACC,QAAQC;IAC1B,MAAMC,cAAcF,OAAOG,SAAS,IAAIf,MAAMc,WAAW,CAACF,OAAOG,SAAS;IAC1E,MAAMC,OAAOrB,qBAAqBkB,QAAQ;IAE1C,MAAMI,UAAU;QACdC,MAAM;QACNC,UAAU,EAAE;QACZC,KAAKJ,KAAKI,GAAG;QACbP,QAAQG,KAAKH,MAAM;QACnBQ,UAAUL,KAAKK,QAAQ;QACvBC,QAAQN,KAAKM,MAAM;QACnBC,KAAKP,KAAKO,GAAG;IACf;IAEA,IAAIT,eAAe,CAACF,OAAOG,SAAS,EAAE;QACpC,8CAA8C;QAC9C,mDAAmD;QACnDd,WAAWuB,WAAW,CAACZ,QAAQ;YAC7B,GAAGK,OAAO;YACVE,UAAU;gBAAC;oBAAEM,MAAMC,OAAOV,KAAKS,IAAI;gBAAE;aAAE;QACzC;IACF,OAAO,IAAIb,OAAOG,SAAS,EAAE;QAC3B,yDAAyD;QACzD,uBAAuB;QACvB,yDAAyD;QACzD,6CAA6C;QAC7Cd,WAAW0B,SAAS,CAACf,QAAQK,SAAS;YAAEW,OAAO;QAAK;QACpD3B,WAAW4B,MAAM,CAACjB,QAAQ;YAAEkB,IAAIlB,OAAOG,SAAS,CAACgB,KAAK,CAACC,IAAI;YAAEC,MAAM;QAAO;QAC1EhC,WAAWiC,IAAI,CAACtB,QAAQ;YAAEuB,UAAU;YAAGF,MAAM;QAAS;QACtDhC,WAAWmC,UAAU,CAACxB,QAAQc,OAAOV,KAAKS,IAAI,GAAG;YAAEK,IAAIlB,OAAOG,SAAS,CAACgB,KAAK,CAACC,IAAI;QAAC;IACrF;IAEA9B,YAAY6B,KAAK,CAACnB;AACpB;AAEA,OAAO,MAAMyB,aAER,CAAC,EAAEC,UAAU,EAAE;IAClB,MAAM,EAAEC,UAAU,EAAE,GAAGlC;IACvB,MAAM,CAACmC,cAAcC,gBAAgB,GAAG3C,SAAoB,CAAC;IAE7D,MAAM,EAAE4C,CAAC,EAAE,GAAGhD;IACd,MAAMkB,SAAST;IACf,MAAM,EAAEwC,YAAY,EAAE,GAAGlD;IACzB,MAAM,EAAEmD,cAAc,EAAEC,iBAAiB,EAAEC,UAAU,EAAE,GAAGxD;IAE1D,MAAM,EAAEyD,UAAU,EAAEC,SAAS,EAAE,GAAGxD;IAClC,MAAMyD,aAAa1D,cAAc;IAEjC,MAAM,EAAE2D,YAAY,EAAE,GAAGX;IAEzB,MAAM1B,SAASqC,YAAY,CAACzC,qBAAqB;IAEjD,qBACE,MAACZ;;0BACC,KAACS;gBACC6C,WAAU;gBACVC,QAAO;gBACPC,SAAS;oBACP,IAAI9C,gBAAgBK,QAAQ,SAAS;wBACnCF,WAAWE;oBACb,OAAO;wBACLoC,UAAUC;wBACV,MAAMnC,cAAcF,OAAOG,SAAS,IAAIf,MAAMc,WAAW,CAACF,OAAOG,SAAS;wBAE1E,IAAI,CAACD,aAAa;4BAChB,MAAME,OAAO;gCACXS,MAAMb,OAAOG,SAAS,GAAGhB,OAAOuD,MAAM,CAAC1C,QAAQA,OAAOG,SAAS,IAAI;4BACrE;4BAEA,MAAM,EAAEwC,KAAK,EAAE,GAAG,MAAMZ,aAAa;gCACnCC;gCACA5B;gCACAwC,gBAAgB;oCACd3C,QAAQ;gCACV;gCACA4C,gBAAgB,MAAMZ;gCACtBC;gCACAY,WAAW;gCACXC,iBAAiB;gCACjBrB,YAAY;uCAAIA,WAAWV,KAAK,CAAC;uCAASnB,qBAAqBmB,KAAK,CAAC;iCAAK,CAACgC,IAAI,CAC7E;4BAEJ;4BAEAnB,gBAAgBc;wBAClB;oBACF;gBACF;gBACAM,SAASnB,EAAE;0BAEX,cAAA,KAACtC;;0BAEH,KAACI;gBACCyC,YAAYA;gBACZpC,QAAQiD,MAAMC,OAAO,CAAClD,UAAUA,SAAS,EAAE;gBAC3CmD,aAAa;oBACXjB,WAAWE;gBACb;gBACAgB,mBAAmB,CAACpD;oBAClBF,WAAWC,QAAQC;oBACnBkC,WAAWE;gBACb;gBACAT,cAAcA;gBACdF,YAAYA;;;;AAIpB,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/field/elements/link/Element/index.tsx"],"names":[],"mappings":"AA2BA,OAAO,cAAc,CAAA;AAiCrB,eAAO,MAAM,WAAW,+CAuLvB,CAAA"}
|