@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,150 +1,95 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const _getCommonBlock = require("../getCommonBlock");
|
|
19
|
-
const _isActive = /*#__PURE__*/ _interop_require_default(require("../isActive"));
|
|
20
|
-
const _isBlockElement = require("../isBlockElement");
|
|
21
|
-
const _listTypes = /*#__PURE__*/ _interop_require_default(require("../listTypes"));
|
|
22
|
-
const _unwrapList = require("../unwrapList");
|
|
23
|
-
const _shared = require("./shared");
|
|
24
|
-
function _interop_require_default(obj) {
|
|
25
|
-
return obj && obj.__esModule ? obj : {
|
|
26
|
-
default: obj
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
30
|
-
if (typeof WeakMap !== "function") return null;
|
|
31
|
-
var cacheBabelInterop = new WeakMap();
|
|
32
|
-
var cacheNodeInterop = new WeakMap();
|
|
33
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
34
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
35
|
-
})(nodeInterop);
|
|
36
|
-
}
|
|
37
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
|
38
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
39
|
-
return obj;
|
|
40
|
-
}
|
|
41
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
42
|
-
return {
|
|
43
|
-
default: obj
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
47
|
-
if (cache && cache.has(obj)) {
|
|
48
|
-
return cache.get(obj);
|
|
49
|
-
}
|
|
50
|
-
var newObj = {
|
|
51
|
-
__proto__: null
|
|
52
|
-
};
|
|
53
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
54
|
-
for(var key in obj){
|
|
55
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
56
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
57
|
-
if (desc && (desc.get || desc.set)) {
|
|
58
|
-
Object.defineProperty(newObj, key, desc);
|
|
59
|
-
} else {
|
|
60
|
-
newObj[key] = obj[key];
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
newObj.default = obj;
|
|
65
|
-
if (cache) {
|
|
66
|
-
cache.set(obj, newObj);
|
|
67
|
-
}
|
|
68
|
-
return newObj;
|
|
69
|
-
}
|
|
70
|
-
const IndentButton = ()=>{
|
|
71
|
-
const editor = (0, _slatereact.useSlate)();
|
|
72
|
-
const handleIndent = (0, _react.useCallback)((e, dir)=>{
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useCallback } from 'react';
|
|
4
|
+
import { Editor, Element, Text, Transforms } from 'slate';
|
|
5
|
+
import { ReactEditor, useSlate } from 'slate-react';
|
|
6
|
+
import { IndentLeft } from '../../icons/IndentLeft/index.js';
|
|
7
|
+
import { IndentRight } from '../../icons/IndentRight/index.js';
|
|
8
|
+
import { baseClass } from '../Button.js';
|
|
9
|
+
import { getCommonBlock } from '../getCommonBlock.js';
|
|
10
|
+
import { isElementActive } from '../isActive.js';
|
|
11
|
+
import { isBlockElement } from '../isBlockElement.js';
|
|
12
|
+
import { listTypes } from '../listTypes.js';
|
|
13
|
+
import { unwrapList } from '../unwrapList.js';
|
|
14
|
+
import { indentType } from './shared.js';
|
|
15
|
+
export const IndentButton = ()=>{
|
|
16
|
+
const editor = useSlate();
|
|
17
|
+
const handleIndent = useCallback((e, dir)=>{
|
|
73
18
|
e.preventDefault();
|
|
74
19
|
if (dir === 'left') {
|
|
75
|
-
if ((
|
|
76
|
-
const [, listPath] =
|
|
77
|
-
const matchedParentList =
|
|
20
|
+
if (isElementActive(editor, 'li')) {
|
|
21
|
+
const [, listPath] = getCommonBlock(editor, (n)=>Element.isElement(n) && listTypes.includes(n.type));
|
|
22
|
+
const matchedParentList = Editor.above(editor, {
|
|
78
23
|
at: listPath,
|
|
79
|
-
match: (n)=>!
|
|
24
|
+
match: (n)=>!Editor.isEditor(n) && isBlockElement(editor, n)
|
|
80
25
|
});
|
|
81
26
|
if (matchedParentList) {
|
|
82
27
|
const [parentListItem, parentListItemPath] = matchedParentList;
|
|
83
28
|
if (parentListItem.children.length > 1) {
|
|
84
29
|
// Remove nested list
|
|
85
|
-
|
|
30
|
+
Transforms.unwrapNodes(editor, {
|
|
86
31
|
at: parentListItemPath,
|
|
87
32
|
match: (node, path)=>{
|
|
88
|
-
const matches = !
|
|
33
|
+
const matches = !Editor.isEditor(node) && Element.isElement(node) && listTypes.includes(node.type) && path.length === parentListItemPath.length + 1;
|
|
89
34
|
return matches;
|
|
90
35
|
}
|
|
91
36
|
});
|
|
92
37
|
// Set li type on any children that don't have a type
|
|
93
|
-
|
|
38
|
+
Transforms.setNodes(editor, {
|
|
94
39
|
type: 'li'
|
|
95
40
|
}, {
|
|
96
41
|
at: parentListItemPath,
|
|
97
42
|
match: (node, path)=>{
|
|
98
|
-
const matches = !
|
|
43
|
+
const matches = !Editor.isEditor(node) && Element.isElement(node) && node.type !== 'li' && path.length === parentListItemPath.length + 1;
|
|
99
44
|
return matches;
|
|
100
45
|
}
|
|
101
46
|
});
|
|
102
47
|
// Parent list item path has changed at this point
|
|
103
48
|
// so we need to re-fetch the parent node
|
|
104
|
-
const [newParentNode] =
|
|
49
|
+
const [newParentNode] = Editor.node(editor, parentListItemPath);
|
|
105
50
|
// If the parent node is an li,
|
|
106
51
|
// lift all li nodes within
|
|
107
|
-
if (
|
|
52
|
+
if (Element.isElement(newParentNode) && newParentNode.type === 'li') {
|
|
108
53
|
// Lift the nested lis
|
|
109
|
-
|
|
54
|
+
Transforms.liftNodes(editor, {
|
|
110
55
|
at: parentListItemPath,
|
|
111
56
|
match: (node, path)=>{
|
|
112
|
-
const matches = !
|
|
57
|
+
const matches = !Editor.isEditor(node) && Element.isElement(node) && path.length === parentListItemPath.length + 1 && node.type === 'li';
|
|
113
58
|
return matches;
|
|
114
59
|
}
|
|
115
60
|
});
|
|
116
61
|
}
|
|
117
62
|
} else {
|
|
118
|
-
|
|
63
|
+
Transforms.unwrapNodes(editor, {
|
|
119
64
|
at: parentListItemPath,
|
|
120
65
|
match: (node, path)=>{
|
|
121
|
-
return
|
|
66
|
+
return Element.isElement(node) && node.type === 'li' && path.length === parentListItemPath.length;
|
|
122
67
|
}
|
|
123
68
|
});
|
|
124
|
-
|
|
125
|
-
match: (n)=>
|
|
69
|
+
Transforms.unwrapNodes(editor, {
|
|
70
|
+
match: (n)=>Element.isElement(n) && listTypes.includes(n.type)
|
|
126
71
|
});
|
|
127
72
|
}
|
|
128
73
|
} else {
|
|
129
|
-
|
|
74
|
+
unwrapList(editor, listPath);
|
|
130
75
|
}
|
|
131
76
|
} else {
|
|
132
|
-
|
|
133
|
-
match: (n)=>
|
|
77
|
+
Transforms.unwrapNodes(editor, {
|
|
78
|
+
match: (n)=>Element.isElement(n) && n.type === indentType,
|
|
134
79
|
mode: 'lowest',
|
|
135
80
|
split: true
|
|
136
81
|
});
|
|
137
82
|
}
|
|
138
83
|
}
|
|
139
84
|
if (dir === 'right') {
|
|
140
|
-
const isCurrentlyOL = (
|
|
141
|
-
const isCurrentlyUL = (
|
|
85
|
+
const isCurrentlyOL = isElementActive(editor, 'ol');
|
|
86
|
+
const isCurrentlyUL = isElementActive(editor, 'ul');
|
|
142
87
|
if (isCurrentlyOL || isCurrentlyUL) {
|
|
143
88
|
// Get the path of the first selected li -
|
|
144
89
|
// Multiple lis could be selected
|
|
145
90
|
// and the selection may start in the middle of the first li
|
|
146
|
-
const [[, firstSelectedLIPath]] = Array.from(
|
|
147
|
-
match: (node)=>
|
|
91
|
+
const [[, firstSelectedLIPath]] = Array.from(Editor.nodes(editor, {
|
|
92
|
+
match: (node)=>Element.isElement(node) && node.type === 'li',
|
|
148
93
|
mode: 'lowest'
|
|
149
94
|
}));
|
|
150
95
|
// Is the first selected li the first in its list?
|
|
@@ -152,17 +97,17 @@ const IndentButton = ()=>{
|
|
|
152
97
|
// If the first selected li is NOT the first in its list,
|
|
153
98
|
// we need to inject it into the prior li
|
|
154
99
|
if (hasPrecedingLI) {
|
|
155
|
-
const [, precedingLIPath] =
|
|
100
|
+
const [, precedingLIPath] = Editor.previous(editor, {
|
|
156
101
|
at: firstSelectedLIPath
|
|
157
102
|
});
|
|
158
|
-
const [precedingLIChildren] =
|
|
103
|
+
const [precedingLIChildren] = Editor.node(editor, [
|
|
159
104
|
...precedingLIPath,
|
|
160
105
|
0
|
|
161
106
|
]);
|
|
162
|
-
const precedingLIChildrenIsText =
|
|
107
|
+
const precedingLIChildrenIsText = Text.isText(precedingLIChildren);
|
|
163
108
|
if (precedingLIChildrenIsText) {
|
|
164
109
|
// Wrap the prior li text content so that it can be nested next to a list
|
|
165
|
-
|
|
110
|
+
Transforms.wrapNodes(editor, {
|
|
166
111
|
children: []
|
|
167
112
|
}, {
|
|
168
113
|
at: [
|
|
@@ -172,8 +117,8 @@ const IndentButton = ()=>{
|
|
|
172
117
|
});
|
|
173
118
|
}
|
|
174
119
|
// Move the selected lis after the prior li contents
|
|
175
|
-
|
|
176
|
-
match: (node)=>
|
|
120
|
+
Transforms.moveNodes(editor, {
|
|
121
|
+
match: (node)=>Element.isElement(node) && node.type === 'li',
|
|
177
122
|
mode: 'lowest',
|
|
178
123
|
to: [
|
|
179
124
|
...precedingLIPath,
|
|
@@ -181,16 +126,16 @@ const IndentButton = ()=>{
|
|
|
181
126
|
]
|
|
182
127
|
});
|
|
183
128
|
// Wrap the selected lis in a new list
|
|
184
|
-
|
|
129
|
+
Transforms.wrapNodes(editor, {
|
|
185
130
|
type: isCurrentlyOL ? 'ol' : 'ul',
|
|
186
131
|
children: []
|
|
187
132
|
}, {
|
|
188
|
-
match: (node)=>
|
|
133
|
+
match: (node)=>Element.isElement(node) && node.type === 'li',
|
|
189
134
|
mode: 'lowest'
|
|
190
135
|
});
|
|
191
136
|
} else {
|
|
192
137
|
// Otherwise, just wrap the node in a list / li
|
|
193
|
-
|
|
138
|
+
Transforms.wrapNodes(editor, {
|
|
194
139
|
type: isCurrentlyOL ? 'ol' : 'ul',
|
|
195
140
|
children: [
|
|
196
141
|
{
|
|
@@ -199,34 +144,34 @@ const IndentButton = ()=>{
|
|
|
199
144
|
}
|
|
200
145
|
]
|
|
201
146
|
}, {
|
|
202
|
-
match: (node)=>
|
|
147
|
+
match: (node)=>Element.isElement(node) && node.type === 'li',
|
|
203
148
|
mode: 'lowest'
|
|
204
149
|
});
|
|
205
150
|
}
|
|
206
151
|
} else {
|
|
207
|
-
|
|
208
|
-
type:
|
|
152
|
+
Transforms.wrapNodes(editor, {
|
|
153
|
+
type: indentType,
|
|
209
154
|
children: []
|
|
210
155
|
});
|
|
211
156
|
}
|
|
212
157
|
}
|
|
213
|
-
|
|
158
|
+
ReactEditor.focus(editor);
|
|
214
159
|
}, [
|
|
215
160
|
editor
|
|
216
161
|
]);
|
|
217
|
-
const canDeIndent = (
|
|
218
|
-
return /*#__PURE__*/
|
|
162
|
+
const canDeIndent = isElementActive(editor, 'li') || isElementActive(editor, indentType);
|
|
163
|
+
return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement("button", {
|
|
219
164
|
className: [
|
|
220
|
-
|
|
221
|
-
!canDeIndent && `${
|
|
165
|
+
baseClass,
|
|
166
|
+
!canDeIndent && `${baseClass}--disabled`
|
|
222
167
|
].filter(Boolean).join(' '),
|
|
223
168
|
onClick: canDeIndent ? (e)=>handleIndent(e, 'left') : undefined,
|
|
224
169
|
type: "button"
|
|
225
|
-
}, /*#__PURE__*/
|
|
226
|
-
className:
|
|
170
|
+
}, /*#__PURE__*/ React.createElement(IndentLeft, null)), /*#__PURE__*/ React.createElement("button", {
|
|
171
|
+
className: baseClass,
|
|
227
172
|
onClick: (e)=>handleIndent(e, 'right'),
|
|
228
173
|
type: "button"
|
|
229
|
-
}, /*#__PURE__*/
|
|
174
|
+
}, /*#__PURE__*/ React.createElement(IndentRight, null)));
|
|
230
175
|
};
|
|
231
176
|
|
|
232
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9lbGVtZW50cy9pbmRlbnQvQnV0dG9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEVkaXRvciwgRWxlbWVudCwgVGV4dCwgVHJhbnNmb3JtcyB9IGZyb20gJ3NsYXRlJ1xuaW1wb3J0IHsgUmVhY3RFZGl0b3IsIHVzZVNsYXRlIH0gZnJvbSAnc2xhdGUtcmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgRWxlbWVudE5vZGUgfSBmcm9tICcuLi8uLi8uLi90eXBlcydcblxuaW1wb3J0IEluZGVudExlZnQgZnJvbSAnLi4vLi4vaWNvbnMvSW5kZW50TGVmdCdcbmltcG9ydCBJbmRlbnRSaWdodCBmcm9tICcuLi8uLi9pY29ucy9JbmRlbnRSaWdodCdcbmltcG9ydCB7IGJhc2VDbGFzcyB9IGZyb20gJy4uL0J1dHRvbidcbmltcG9ydCB7IGdldENvbW1vbkJsb2NrIH0gZnJvbSAnLi4vZ2V0Q29tbW9uQmxvY2snXG5pbXBvcnQgaXNFbGVtZW50QWN0aXZlIGZyb20gJy4uL2lzQWN0aXZlJ1xuaW1wb3J0IHsgaXNCbG9ja0VsZW1lbnQgfSBmcm9tICcuLi9pc0Jsb2NrRWxlbWVudCdcbmltcG9ydCBsaXN0VHlwZXMgZnJvbSAnLi4vbGlzdFR5cGVzJ1xuaW1wb3J0IHsgdW53cmFwTGlzdCB9IGZyb20gJy4uL3Vud3JhcExpc3QnXG5pbXBvcnQgeyBpbmRlbnRUeXBlIH0gZnJvbSAnLi9zaGFyZWQnXG5cbmV4cG9ydCBjb25zdCBJbmRlbnRCdXR0b246IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBlZGl0b3IgPSB1c2VTbGF0ZSgpXG4gIGNvbnN0IGhhbmRsZUluZGVudCA9IHVzZUNhbGxiYWNrKFxuICAgIChlLCBkaXIpID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKVxuXG4gICAgICBpZiAoZGlyID09PSAnbGVmdCcpIHtcbiAgICAgICAgaWYgKGlzRWxlbWVudEFjdGl2ZShlZGl0b3IsICdsaScpKSB7XG4gICAgICAgICAgY29uc3QgWywgbGlzdFBhdGhdID0gZ2V0Q29tbW9uQmxvY2soXG4gICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAobikgPT4gRWxlbWVudC5pc0VsZW1lbnQobikgJiYgbGlzdFR5cGVzLmluY2x1ZGVzKG4udHlwZSksXG4gICAgICAgICAgKVxuXG4gICAgICAgICAgY29uc3QgbWF0Y2hlZFBhcmVudExpc3QgPSBFZGl0b3IuYWJvdmUoZWRpdG9yLCB7XG4gICAgICAgICAgICBhdDogbGlzdFBhdGgsXG4gICAgICAgICAgICBtYXRjaDogKG46IEVsZW1lbnROb2RlKSA9PiAhRWRpdG9yLmlzRWRpdG9yKG4pICYmIGlzQmxvY2tFbGVtZW50KGVkaXRvciwgbiksXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGlmIChtYXRjaGVkUGFyZW50TGlzdCkge1xuICAgICAgICAgICAgY29uc3QgW3BhcmVudExpc3RJdGVtLCBwYXJlbnRMaXN0SXRlbVBhdGhdID0gbWF0Y2hlZFBhcmVudExpc3RcblxuICAgICAgICAgICAgaWYgKHBhcmVudExpc3RJdGVtLmNoaWxkcmVuLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgLy8gUmVtb3ZlIG5lc3RlZCBsaXN0XG4gICAgICAgICAgICAgIFRyYW5zZm9ybXMudW53cmFwTm9kZXMoZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgYXQ6IHBhcmVudExpc3RJdGVtUGF0aCxcbiAgICAgICAgICAgICAgICBtYXRjaDogKG5vZGUsIHBhdGgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoZXMgPVxuICAgICAgICAgICAgICAgICAgICAhRWRpdG9yLmlzRWRpdG9yKG5vZGUpICYmXG4gICAgICAgICAgICAgICAgICAgIEVsZW1lbnQuaXNFbGVtZW50KG5vZGUpICYmXG4gICAgICAgICAgICAgICAgICAgIGxpc3RUeXBlcy5pbmNsdWRlcyhub2RlLnR5cGUpICYmXG4gICAgICAgICAgICAgICAgICAgIHBhdGgubGVuZ3RoID09PSBwYXJlbnRMaXN0SXRlbVBhdGgubGVuZ3RoICsgMVxuXG4gICAgICAgICAgICAgICAgICByZXR1cm4gbWF0Y2hlc1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgLy8gU2V0IGxpIHR5cGUgb24gYW55IGNoaWxkcmVuIHRoYXQgZG9uJ3QgaGF2ZSBhIHR5cGVcbiAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgeyB0eXBlOiAnbGknIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgYXQ6IHBhcmVudExpc3RJdGVtUGF0aCxcbiAgICAgICAgICAgICAgICAgIG1hdGNoOiAobm9kZSwgcGF0aCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaGVzID1cbiAgICAgICAgICAgICAgICAgICAgICAhRWRpdG9yLmlzRWRpdG9yKG5vZGUpICYmXG4gICAgICAgICAgICAgICAgICAgICAgRWxlbWVudC5pc0VsZW1lbnQobm9kZSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICBub2RlLnR5cGUgIT09ICdsaScgJiZcbiAgICAgICAgICAgICAgICAgICAgICBwYXRoLmxlbmd0aCA9PT0gcGFyZW50TGlzdEl0ZW1QYXRoLmxlbmd0aCArIDFcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWF0Y2hlc1xuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgICAgLy8gUGFyZW50IGxpc3QgaXRlbSBwYXRoIGhhcyBjaGFuZ2VkIGF0IHRoaXMgcG9pbnRcbiAgICAgICAgICAgICAgLy8gc28gd2UgbmVlZCB0byByZS1mZXRjaCB0aGUgcGFyZW50IG5vZGVcbiAgICAgICAgICAgICAgY29uc3QgW25ld1BhcmVudE5vZGVdID0gRWRpdG9yLm5vZGUoZWRpdG9yLCBwYXJlbnRMaXN0SXRlbVBhdGgpXG5cbiAgICAgICAgICAgICAgLy8gSWYgdGhlIHBhcmVudCBub2RlIGlzIGFuIGxpLFxuICAgICAgICAgICAgICAvLyBsaWZ0IGFsbCBsaSBub2RlcyB3aXRoaW5cbiAgICAgICAgICAgICAgaWYgKEVsZW1lbnQuaXNFbGVtZW50KG5ld1BhcmVudE5vZGUpICYmIG5ld1BhcmVudE5vZGUudHlwZSA9PT0gJ2xpJykge1xuICAgICAgICAgICAgICAgIC8vIExpZnQgdGhlIG5lc3RlZCBsaXNcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLmxpZnROb2RlcyhlZGl0b3IsIHtcbiAgICAgICAgICAgICAgICAgIGF0OiBwYXJlbnRMaXN0SXRlbVBhdGgsXG4gICAgICAgICAgICAgICAgICBtYXRjaDogKG5vZGUsIHBhdGgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hlcyA9XG4gICAgICAgICAgICAgICAgICAgICAgIUVkaXRvci5pc0VkaXRvcihub2RlKSAmJlxuICAgICAgICAgICAgICAgICAgICAgIEVsZW1lbnQuaXNFbGVtZW50KG5vZGUpICYmXG4gICAgICAgICAgICAgICAgICAgICAgcGF0aC5sZW5ndGggPT09IHBhcmVudExpc3RJdGVtUGF0aC5sZW5ndGggKyAxICYmXG4gICAgICAgICAgICAgICAgICAgICAgbm9kZS50eXBlID09PSAnbGknXG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1hdGNoZXNcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgVHJhbnNmb3Jtcy51bndyYXBOb2RlcyhlZGl0b3IsIHtcbiAgICAgICAgICAgICAgICBhdDogcGFyZW50TGlzdEl0ZW1QYXRoLFxuICAgICAgICAgICAgICAgIG1hdGNoOiAobm9kZSwgcGF0aCkgPT4ge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgRWxlbWVudC5pc0VsZW1lbnQobm9kZSkgJiZcbiAgICAgICAgICAgICAgICAgICAgbm9kZS50eXBlID09PSAnbGknICYmXG4gICAgICAgICAgICAgICAgICAgIHBhdGgubGVuZ3RoID09PSBwYXJlbnRMaXN0SXRlbVBhdGgubGVuZ3RoXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnVud3JhcE5vZGVzKGVkaXRvciwge1xuICAgICAgICAgICAgICAgIG1hdGNoOiAobikgPT4gRWxlbWVudC5pc0VsZW1lbnQobikgJiYgbGlzdFR5cGVzLmluY2x1ZGVzKG4udHlwZSksXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHVud3JhcExpc3QoZWRpdG9yLCBsaXN0UGF0aClcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgVHJhbnNmb3Jtcy51bndyYXBOb2RlcyhlZGl0b3IsIHtcbiAgICAgICAgICAgIG1hdGNoOiAobikgPT4gRWxlbWVudC5pc0VsZW1lbnQobikgJiYgbi50eXBlID09PSBpbmRlbnRUeXBlLFxuICAgICAgICAgICAgbW9kZTogJ2xvd2VzdCcsXG4gICAgICAgICAgICBzcGxpdDogdHJ1ZSxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChkaXIgPT09ICdyaWdodCcpIHtcbiAgICAgICAgY29uc3QgaXNDdXJyZW50bHlPTCA9IGlzRWxlbWVudEFjdGl2ZShlZGl0b3IsICdvbCcpXG4gICAgICAgIGNvbnN0IGlzQ3VycmVudGx5VUwgPSBpc0VsZW1lbnRBY3RpdmUoZWRpdG9yLCAndWwnKVxuXG4gICAgICAgIGlmIChpc0N1cnJlbnRseU9MIHx8IGlzQ3VycmVudGx5VUwpIHtcbiAgICAgICAgICAvLyBHZXQgdGhlIHBhdGggb2YgdGhlIGZpcnN0IHNlbGVjdGVkIGxpIC1cbiAgICAgICAgICAvLyBNdWx0aXBsZSBsaXMgY291bGQgYmUgc2VsZWN0ZWRcbiAgICAgICAgICAvLyBhbmQgdGhlIHNlbGVjdGlvbiBtYXkgc3RhcnQgaW4gdGhlIG1pZGRsZSBvZiB0aGUgZmlyc3QgbGlcbiAgICAgICAgICBjb25zdCBbWywgZmlyc3RTZWxlY3RlZExJUGF0aF1dID0gQXJyYXkuZnJvbShcbiAgICAgICAgICAgIEVkaXRvci5ub2RlcyhlZGl0b3IsIHtcbiAgICAgICAgICAgICAgbWF0Y2g6IChub2RlKSA9PiBFbGVtZW50LmlzRWxlbWVudChub2RlKSAmJiBub2RlLnR5cGUgPT09ICdsaScsXG4gICAgICAgICAgICAgIG1vZGU6ICdsb3dlc3QnLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKVxuXG4gICAgICAgICAgLy8gSXMgdGhlIGZpcnN0IHNlbGVjdGVkIGxpIHRoZSBmaXJzdCBpbiBpdHMgbGlzdD9cbiAgICAgICAgICBjb25zdCBoYXNQcmVjZWRpbmdMSSA9IGZpcnN0U2VsZWN0ZWRMSVBhdGhbZmlyc3RTZWxlY3RlZExJUGF0aC5sZW5ndGggLSAxXSA+IDBcblxuICAgICAgICAgIC8vIElmIHRoZSBmaXJzdCBzZWxlY3RlZCBsaSBpcyBOT1QgdGhlIGZpcnN0IGluIGl0cyBsaXN0LFxuICAgICAgICAgIC8vIHdlIG5lZWQgdG8gaW5qZWN0IGl0IGludG8gdGhlIHByaW9yIGxpXG4gICAgICAgICAgaWYgKGhhc1ByZWNlZGluZ0xJKSB7XG4gICAgICAgICAgICBjb25zdCBbLCBwcmVjZWRpbmdMSVBhdGhdID0gRWRpdG9yLnByZXZpb3VzKGVkaXRvciwge1xuICAgICAgICAgICAgICBhdDogZmlyc3RTZWxlY3RlZExJUGF0aCxcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIGNvbnN0IFtwcmVjZWRpbmdMSUNoaWxkcmVuXSA9IEVkaXRvci5ub2RlKGVkaXRvciwgWy4uLnByZWNlZGluZ0xJUGF0aCwgMF0pXG4gICAgICAgICAgICBjb25zdCBwcmVjZWRpbmdMSUNoaWxkcmVuSXNUZXh0ID0gVGV4dC5pc1RleHQocHJlY2VkaW5nTElDaGlsZHJlbilcblxuICAgICAgICAgICAgaWYgKHByZWNlZGluZ0xJQ2hpbGRyZW5Jc1RleHQpIHtcbiAgICAgICAgICAgICAgLy8gV3JhcCB0aGUgcHJpb3IgbGkgdGV4dCBjb250ZW50IHNvIHRoYXQgaXQgY2FuIGJlIG5lc3RlZCBuZXh0IHRvIGEgbGlzdFxuICAgICAgICAgICAgICBUcmFuc2Zvcm1zLndyYXBOb2RlcyhlZGl0b3IsIHsgY2hpbGRyZW46IFtdIH0sIHsgYXQ6IFsuLi5wcmVjZWRpbmdMSVBhdGgsIDBdIH0pXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIE1vdmUgdGhlIHNlbGVjdGVkIGxpcyBhZnRlciB0aGUgcHJpb3IgbGkgY29udGVudHNcbiAgICAgICAgICAgIFRyYW5zZm9ybXMubW92ZU5vZGVzKGVkaXRvciwge1xuICAgICAgICAgICAgICBtYXRjaDogKG5vZGUpID0+IEVsZW1lbnQuaXNFbGVtZW50KG5vZGUpICYmIG5vZGUudHlwZSA9PT0gJ2xpJyxcbiAgICAgICAgICAgICAgbW9kZTogJ2xvd2VzdCcsXG4gICAgICAgICAgICAgIHRvOiBbLi4ucHJlY2VkaW5nTElQYXRoLCAxXSxcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIC8vIFdyYXAgdGhlIHNlbGVjdGVkIGxpcyBpbiBhIG5ldyBsaXN0XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLndyYXBOb2RlcyhcbiAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdHlwZTogaXNDdXJyZW50bHlPTCA/ICdvbCcgOiAndWwnLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG1hdGNoOiAobm9kZSkgPT4gRWxlbWVudC5pc0VsZW1lbnQobm9kZSkgJiYgbm9kZS50eXBlID09PSAnbGknLFxuICAgICAgICAgICAgICAgIG1vZGU6ICdsb3dlc3QnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBPdGhlcndpc2UsIGp1c3Qgd3JhcCB0aGUgbm9kZSBpbiBhIGxpc3QgLyBsaVxuICAgICAgICAgICAgVHJhbnNmb3Jtcy53cmFwTm9kZXMoXG4gICAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHR5cGU6IGlzQ3VycmVudGx5T0wgPyAnb2wnIDogJ3VsJyxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW3sgdHlwZTogJ2xpJywgY2hpbGRyZW46IFtdIH1dLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbWF0Y2g6IChub2RlKSA9PiBFbGVtZW50LmlzRWxlbWVudChub2RlKSAmJiBub2RlLnR5cGUgPT09ICdsaScsXG4gICAgICAgICAgICAgICAgbW9kZTogJ2xvd2VzdCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIFRyYW5zZm9ybXMud3JhcE5vZGVzKGVkaXRvciwgeyB0eXBlOiBpbmRlbnRUeXBlLCBjaGlsZHJlbjogW10gfSlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBSZWFjdEVkaXRvci5mb2N1cyhlZGl0b3IpXG4gICAgfSxcbiAgICBbZWRpdG9yXSxcbiAgKVxuXG4gIGNvbnN0IGNhbkRlSW5kZW50ID0gaXNFbGVtZW50QWN0aXZlKGVkaXRvciwgJ2xpJykgfHwgaXNFbGVtZW50QWN0aXZlKGVkaXRvciwgaW5kZW50VHlwZSlcblxuICByZXR1cm4gKFxuICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3NOYW1lPXtbYmFzZUNsYXNzLCAhY2FuRGVJbmRlbnQgJiYgYCR7YmFzZUNsYXNzfS0tZGlzYWJsZWRgXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpfVxuICAgICAgICBvbkNsaWNrPXtjYW5EZUluZGVudCA/IChlKSA9PiBoYW5kbGVJbmRlbnQoZSwgJ2xlZnQnKSA6IHVuZGVmaW5lZH1cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIDxJbmRlbnRMZWZ0IC8+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gY2xhc3NOYW1lPXtiYXNlQ2xhc3N9IG9uQ2xpY2s9eyhlKSA9PiBoYW5kbGVJbmRlbnQoZSwgJ3JpZ2h0Jyl9IHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgPEluZGVudFJpZ2h0IC8+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApXG59XG4iXSwibmFtZXMiOlsiSW5kZW50QnV0dG9uIiwiZWRpdG9yIiwidXNlU2xhdGUiLCJoYW5kbGVJbmRlbnQiLCJ1c2VDYWxsYmFjayIsImUiLCJkaXIiLCJwcmV2ZW50RGVmYXVsdCIsImlzRWxlbWVudEFjdGl2ZSIsImxpc3RQYXRoIiwiZ2V0Q29tbW9uQmxvY2siLCJuIiwiRWxlbWVudCIsImlzRWxlbWVudCIsImxpc3RUeXBlcyIsImluY2x1ZGVzIiwidHlwZSIsIm1hdGNoZWRQYXJlbnRMaXN0IiwiRWRpdG9yIiwiYWJvdmUiLCJhdCIsIm1hdGNoIiwiaXNFZGl0b3IiLCJpc0Jsb2NrRWxlbWVudCIsInBhcmVudExpc3RJdGVtIiwicGFyZW50TGlzdEl0ZW1QYXRoIiwiY2hpbGRyZW4iLCJsZW5ndGgiLCJUcmFuc2Zvcm1zIiwidW53cmFwTm9kZXMiLCJub2RlIiwicGF0aCIsIm1hdGNoZXMiLCJzZXROb2RlcyIsIm5ld1BhcmVudE5vZGUiLCJsaWZ0Tm9kZXMiLCJ1bndyYXBMaXN0IiwiaW5kZW50VHlwZSIsIm1vZGUiLCJzcGxpdCIsImlzQ3VycmVudGx5T0wiLCJpc0N1cnJlbnRseVVMIiwiZmlyc3RTZWxlY3RlZExJUGF0aCIsIkFycmF5IiwiZnJvbSIsIm5vZGVzIiwiaGFzUHJlY2VkaW5nTEkiLCJwcmVjZWRpbmdMSVBhdGgiLCJwcmV2aW91cyIsInByZWNlZGluZ0xJQ2hpbGRyZW4iLCJwcmVjZWRpbmdMSUNoaWxkcmVuSXNUZXh0IiwiVGV4dCIsImlzVGV4dCIsIndyYXBOb2RlcyIsIm1vdmVOb2RlcyIsInRvIiwiUmVhY3RFZGl0b3IiLCJmb2N1cyIsImNhbkRlSW5kZW50IiwiUmVhY3QiLCJGcmFnbWVudCIsImJ1dHRvbiIsImNsYXNzTmFtZSIsImJhc2VDbGFzcyIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwib25DbGljayIsInVuZGVmaW5lZCIsIkluZGVudExlZnQiLCJJbmRlbnRSaWdodCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OytCQW1CYUE7OztlQUFBQTs7OytEQWpCSzt1QkFFZ0M7NEJBQ1o7bUVBSWY7b0VBQ0M7d0JBQ0U7Z0NBQ0s7aUVBQ0g7Z0NBQ0c7a0VBQ1Q7NEJBQ0s7d0JBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXBCLE1BQU1BLGVBQXlCO0lBQ3BDLE1BQU1DLFNBQVNDLElBQUFBLG9CQUFRO0lBQ3ZCLE1BQU1DLGVBQWVDLElBQUFBLGtCQUFXLEVBQzlCLENBQUNDLEdBQUdDO1FBQ0ZELEVBQUVFLGNBQWM7UUFFaEIsSUFBSUQsUUFBUSxRQUFRO1lBQ2xCLElBQUlFLElBQUFBLGlCQUFlLEVBQUNQLFFBQVEsT0FBTztnQkFDakMsTUFBTSxHQUFHUSxTQUFTLEdBQUdDLElBQUFBLDhCQUFjLEVBQ2pDVCxRQUNBLENBQUNVLElBQU1DLGNBQU8sQ0FBQ0MsU0FBUyxDQUFDRixNQUFNRyxrQkFBUyxDQUFDQyxRQUFRLENBQUNKLEVBQUVLLElBQUk7Z0JBRzFELE1BQU1DLG9CQUFvQkMsYUFBTSxDQUFDQyxLQUFLLENBQUNsQixRQUFRO29CQUM3Q21CLElBQUlYO29CQUNKWSxPQUFPLENBQUNWLElBQW1CLENBQUNPLGFBQU0sQ0FBQ0ksUUFBUSxDQUFDWCxNQUFNWSxJQUFBQSw4QkFBYyxFQUFDdEIsUUFBUVU7Z0JBQzNFO2dCQUVBLElBQUlNLG1CQUFtQjtvQkFDckIsTUFBTSxDQUFDTyxnQkFBZ0JDLG1CQUFtQixHQUFHUjtvQkFFN0MsSUFBSU8sZUFBZUUsUUFBUSxDQUFDQyxNQUFNLEdBQUcsR0FBRzt3QkFDdEMscUJBQXFCO3dCQUNyQkMsaUJBQVUsQ0FBQ0MsV0FBVyxDQUFDNUIsUUFBUTs0QkFDN0JtQixJQUFJSzs0QkFDSkosT0FBTyxDQUFDUyxNQUFNQztnQ0FDWixNQUFNQyxVQUNKLENBQUNkLGFBQU0sQ0FBQ0ksUUFBUSxDQUFDUSxTQUNqQmxCLGNBQU8sQ0FBQ0MsU0FBUyxDQUFDaUIsU0FDbEJoQixrQkFBUyxDQUFDQyxRQUFRLENBQUNlLEtBQUtkLElBQUksS0FDNUJlLEtBQUtKLE1BQU0sS0FBS0YsbUJBQW1CRSxNQUFNLEdBQUc7Z0NBRTlDLE9BQU9LOzRCQUNUO3dCQUNGO3dCQUVBLHFEQUFxRDt3QkFDckRKLGlCQUFVLENBQUNLLFFBQVEsQ0FDakJoQyxRQUNBOzRCQUFFZSxNQUFNO3dCQUFLLEdBQ2I7NEJBQ0VJLElBQUlLOzRCQUNKSixPQUFPLENBQUNTLE1BQU1DO2dDQUNaLE1BQU1DLFVBQ0osQ0FBQ2QsYUFBTSxDQUFDSSxRQUFRLENBQUNRLFNBQ2pCbEIsY0FBTyxDQUFDQyxTQUFTLENBQUNpQixTQUNsQkEsS0FBS2QsSUFBSSxLQUFLLFFBQ2RlLEtBQUtKLE1BQU0sS0FBS0YsbUJBQW1CRSxNQUFNLEdBQUc7Z0NBRTlDLE9BQU9LOzRCQUNUO3dCQUNGO3dCQUdGLGtEQUFrRDt3QkFDbEQseUNBQXlDO3dCQUN6QyxNQUFNLENBQUNFLGNBQWMsR0FBR2hCLGFBQU0sQ0FBQ1ksSUFBSSxDQUFDN0IsUUFBUXdCO3dCQUU1QywrQkFBK0I7d0JBQy9CLDJCQUEyQjt3QkFDM0IsSUFBSWIsY0FBTyxDQUFDQyxTQUFTLENBQUNxQixrQkFBa0JBLGNBQWNsQixJQUFJLEtBQUssTUFBTTs0QkFDbkUsc0JBQXNCOzRCQUN0QlksaUJBQVUsQ0FBQ08sU0FBUyxDQUFDbEMsUUFBUTtnQ0FDM0JtQixJQUFJSztnQ0FDSkosT0FBTyxDQUFDUyxNQUFNQztvQ0FDWixNQUFNQyxVQUNKLENBQUNkLGFBQU0sQ0FBQ0ksUUFBUSxDQUFDUSxTQUNqQmxCLGNBQU8sQ0FBQ0MsU0FBUyxDQUFDaUIsU0FDbEJDLEtBQUtKLE1BQU0sS0FBS0YsbUJBQW1CRSxNQUFNLEdBQUcsS0FDNUNHLEtBQUtkLElBQUksS0FBSztvQ0FFaEIsT0FBT2dCO2dDQUNUOzRCQUNGO3dCQUNGO29CQUNGLE9BQU87d0JBQ0xKLGlCQUFVLENBQUNDLFdBQVcsQ0FBQzVCLFFBQVE7NEJBQzdCbUIsSUFBSUs7NEJBQ0pKLE9BQU8sQ0FBQ1MsTUFBTUM7Z0NBQ1osT0FDRW5CLGNBQU8sQ0FBQ0MsU0FBUyxDQUFDaUIsU0FDbEJBLEtBQUtkLElBQUksS0FBSyxRQUNkZSxLQUFLSixNQUFNLEtBQUtGLG1CQUFtQkUsTUFBTTs0QkFFN0M7d0JBQ0Y7d0JBRUFDLGlCQUFVLENBQUNDLFdBQVcsQ0FBQzVCLFFBQVE7NEJBQzdCb0IsT0FBTyxDQUFDVixJQUFNQyxjQUFPLENBQUNDLFNBQVMsQ0FBQ0YsTUFBTUcsa0JBQVMsQ0FBQ0MsUUFBUSxDQUFDSixFQUFFSyxJQUFJO3dCQUNqRTtvQkFDRjtnQkFDRixPQUFPO29CQUNMb0IsSUFBQUEsc0JBQVUsRUFBQ25DLFFBQVFRO2dCQUNyQjtZQUNGLE9BQU87Z0JBQ0xtQixpQkFBVSxDQUFDQyxXQUFXLENBQUM1QixRQUFRO29CQUM3Qm9CLE9BQU8sQ0FBQ1YsSUFBTUMsY0FBTyxDQUFDQyxTQUFTLENBQUNGLE1BQU1BLEVBQUVLLElBQUksS0FBS3FCLGtCQUFVO29CQUMzREMsTUFBTTtvQkFDTkMsT0FBTztnQkFDVDtZQUNGO1FBQ0Y7UUFFQSxJQUFJakMsUUFBUSxTQUFTO1lBQ25CLE1BQU1rQyxnQkFBZ0JoQyxJQUFBQSxpQkFBZSxFQUFDUCxRQUFRO1lBQzlDLE1BQU13QyxnQkFBZ0JqQyxJQUFBQSxpQkFBZSxFQUFDUCxRQUFRO1lBRTlDLElBQUl1QyxpQkFBaUJDLGVBQWU7Z0JBQ2xDLDBDQUEwQztnQkFDMUMsaUNBQWlDO2dCQUNqQyw0REFBNEQ7Z0JBQzVELE1BQU0sQ0FBQyxHQUFHQyxvQkFBb0IsQ0FBQyxHQUFHQyxNQUFNQyxJQUFJLENBQzFDMUIsYUFBTSxDQUFDMkIsS0FBSyxDQUFDNUMsUUFBUTtvQkFDbkJvQixPQUFPLENBQUNTLE9BQVNsQixjQUFPLENBQUNDLFNBQVMsQ0FBQ2lCLFNBQVNBLEtBQUtkLElBQUksS0FBSztvQkFDMURzQixNQUFNO2dCQUNSO2dCQUdGLGtEQUFrRDtnQkFDbEQsTUFBTVEsaUJBQWlCSixtQkFBbUIsQ0FBQ0Esb0JBQW9CZixNQUFNLEdBQUcsRUFBRSxHQUFHO2dCQUU3RSx5REFBeUQ7Z0JBQ3pELHlDQUF5QztnQkFDekMsSUFBSW1CLGdCQUFnQjtvQkFDbEIsTUFBTSxHQUFHQyxnQkFBZ0IsR0FBRzdCLGFBQU0sQ0FBQzhCLFFBQVEsQ0FBQy9DLFFBQVE7d0JBQ2xEbUIsSUFBSXNCO29CQUNOO29CQUVBLE1BQU0sQ0FBQ08sb0JBQW9CLEdBQUcvQixhQUFNLENBQUNZLElBQUksQ0FBQzdCLFFBQVE7MkJBQUk4Qzt3QkFBaUI7cUJBQUU7b0JBQ3pFLE1BQU1HLDRCQUE0QkMsV0FBSSxDQUFDQyxNQUFNLENBQUNIO29CQUU5QyxJQUFJQywyQkFBMkI7d0JBQzdCLHlFQUF5RTt3QkFDekV0QixpQkFBVSxDQUFDeUIsU0FBUyxDQUFDcEQsUUFBUTs0QkFBRXlCLFVBQVUsRUFBRTt3QkFBQyxHQUFHOzRCQUFFTixJQUFJO21DQUFJMkI7Z0NBQWlCOzZCQUFFO3dCQUFDO29CQUMvRTtvQkFFQSxvREFBb0Q7b0JBQ3BEbkIsaUJBQVUsQ0FBQzBCLFNBQVMsQ0FBQ3JELFFBQVE7d0JBQzNCb0IsT0FBTyxDQUFDUyxPQUFTbEIsY0FBTyxDQUFDQyxTQUFTLENBQUNpQixTQUFTQSxLQUFLZCxJQUFJLEtBQUs7d0JBQzFEc0IsTUFBTTt3QkFDTmlCLElBQUk7K0JBQUlSOzRCQUFpQjt5QkFBRTtvQkFDN0I7b0JBRUEsc0NBQXNDO29CQUN0Q25CLGlCQUFVLENBQUN5QixTQUFTLENBQ2xCcEQsUUFDQTt3QkFDRWUsTUFBTXdCLGdCQUFnQixPQUFPO3dCQUM3QmQsVUFBVSxFQUFFO29CQUNkLEdBQ0E7d0JBQ0VMLE9BQU8sQ0FBQ1MsT0FBU2xCLGNBQU8sQ0FBQ0MsU0FBUyxDQUFDaUIsU0FBU0EsS0FBS2QsSUFBSSxLQUFLO3dCQUMxRHNCLE1BQU07b0JBQ1I7Z0JBRUosT0FBTztvQkFDTCwrQ0FBK0M7b0JBQy9DVixpQkFBVSxDQUFDeUIsU0FBUyxDQUNsQnBELFFBQ0E7d0JBQ0VlLE1BQU13QixnQkFBZ0IsT0FBTzt3QkFDN0JkLFVBQVU7NEJBQUM7Z0NBQUVWLE1BQU07Z0NBQU1VLFVBQVUsRUFBRTs0QkFBQzt5QkFBRTtvQkFDMUMsR0FDQTt3QkFDRUwsT0FBTyxDQUFDUyxPQUFTbEIsY0FBTyxDQUFDQyxTQUFTLENBQUNpQixTQUFTQSxLQUFLZCxJQUFJLEtBQUs7d0JBQzFEc0IsTUFBTTtvQkFDUjtnQkFFSjtZQUNGLE9BQU87Z0JBQ0xWLGlCQUFVLENBQUN5QixTQUFTLENBQUNwRCxRQUFRO29CQUFFZSxNQUFNcUIsa0JBQVU7b0JBQUVYLFVBQVUsRUFBRTtnQkFBQztZQUNoRTtRQUNGO1FBRUE4Qix1QkFBVyxDQUFDQyxLQUFLLENBQUN4RDtJQUNwQixHQUNBO1FBQUNBO0tBQU87SUFHVixNQUFNeUQsY0FBY2xELElBQUFBLGlCQUFlLEVBQUNQLFFBQVEsU0FBU08sSUFBQUEsaUJBQWUsRUFBQ1AsUUFBUW9DLGtCQUFVO0lBRXZGLHFCQUNFLDZCQUFDc0IsY0FBSyxDQUFDQyxRQUFRLHNCQUNiLDZCQUFDQztRQUNDQyxXQUFXO1lBQUNDLGlCQUFTO1lBQUUsQ0FBQ0wsZUFBZSxDQUFDLEVBQUVLLGlCQUFTLENBQUMsVUFBVSxDQUFDO1NBQUMsQ0FBQ0MsTUFBTSxDQUFDQyxTQUFTQyxJQUFJLENBQUM7UUFDdEZDLFNBQVNULGNBQWMsQ0FBQ3JELElBQU1GLGFBQWFFLEdBQUcsVUFBVStEO1FBQ3hEcEQsTUFBSztxQkFFTCw2QkFBQ3FELG1CQUFVLHdCQUViLDZCQUFDUjtRQUFPQyxXQUFXQyxpQkFBUztRQUFFSSxTQUFTLENBQUM5RCxJQUFNRixhQUFhRSxHQUFHO1FBQVVXLE1BQUs7cUJBQzNFLDZCQUFDc0Qsb0JBQVc7QUFJcEIifQ==
|
|
177
|
+
//# sourceMappingURL=Button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/field/elements/indent/Button.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\nimport { useCallback } from 'react'\nimport { Editor, Element, Text, Transforms } from 'slate'\nimport { ReactEditor, useSlate } from 'slate-react'\n\nimport type { ElementNode } from '../../../types.js'\n\nimport { IndentLeft } from '../../icons/IndentLeft/index.js'\nimport { IndentRight } from '../../icons/IndentRight/index.js'\nimport { baseClass } from '../Button.js'\nimport { getCommonBlock } from '../getCommonBlock.js'\nimport { isElementActive } from '../isActive.js'\nimport { isBlockElement } from '../isBlockElement.js'\nimport { listTypes } from '../listTypes.js'\nimport { unwrapList } from '../unwrapList.js'\nimport { indentType } from './shared.js'\n\nexport const IndentButton: React.FC = () => {\n const editor = useSlate()\n const handleIndent = useCallback(\n (e, dir) => {\n e.preventDefault()\n\n if (dir === 'left') {\n if (isElementActive(editor, 'li')) {\n const [, listPath] = getCommonBlock(\n editor,\n (n) => Element.isElement(n) && listTypes.includes(n.type),\n )\n\n const matchedParentList = Editor.above(editor, {\n at: listPath,\n match: (n: ElementNode) => !Editor.isEditor(n) && isBlockElement(editor, n),\n })\n\n if (matchedParentList) {\n const [parentListItem, parentListItemPath] = matchedParentList\n\n if (parentListItem.children.length > 1) {\n // Remove nested list\n Transforms.unwrapNodes(editor, {\n at: parentListItemPath,\n match: (node, path) => {\n const matches =\n !Editor.isEditor(node) &&\n Element.isElement(node) &&\n listTypes.includes(node.type) &&\n path.length === parentListItemPath.length + 1\n\n return matches\n },\n })\n\n // Set li type on any children that don't have a type\n Transforms.setNodes(\n editor,\n { type: 'li' },\n {\n at: parentListItemPath,\n match: (node, path) => {\n const matches =\n !Editor.isEditor(node) &&\n Element.isElement(node) &&\n node.type !== 'li' &&\n path.length === parentListItemPath.length + 1\n\n return matches\n },\n },\n )\n\n // Parent list item path has changed at this point\n // so we need to re-fetch the parent node\n const [newParentNode] = Editor.node(editor, parentListItemPath)\n\n // If the parent node is an li,\n // lift all li nodes within\n if (Element.isElement(newParentNode) && newParentNode.type === 'li') {\n // Lift the nested lis\n Transforms.liftNodes(editor, {\n at: parentListItemPath,\n match: (node, path) => {\n const matches =\n !Editor.isEditor(node) &&\n Element.isElement(node) &&\n path.length === parentListItemPath.length + 1 &&\n node.type === 'li'\n\n return matches\n },\n })\n }\n } else {\n Transforms.unwrapNodes(editor, {\n at: parentListItemPath,\n match: (node, path) => {\n return (\n Element.isElement(node) &&\n node.type === 'li' &&\n path.length === parentListItemPath.length\n )\n },\n })\n\n Transforms.unwrapNodes(editor, {\n match: (n) => Element.isElement(n) && listTypes.includes(n.type),\n })\n }\n } else {\n unwrapList(editor, listPath)\n }\n } else {\n Transforms.unwrapNodes(editor, {\n match: (n) => Element.isElement(n) && n.type === indentType,\n mode: 'lowest',\n split: true,\n })\n }\n }\n\n if (dir === 'right') {\n const isCurrentlyOL = isElementActive(editor, 'ol')\n const isCurrentlyUL = isElementActive(editor, 'ul')\n\n if (isCurrentlyOL || isCurrentlyUL) {\n // Get the path of the first selected li -\n // Multiple lis could be selected\n // and the selection may start in the middle of the first li\n const [[, firstSelectedLIPath]] = Array.from(\n Editor.nodes(editor, {\n match: (node) => Element.isElement(node) && node.type === 'li',\n mode: 'lowest',\n }),\n )\n\n // Is the first selected li the first in its list?\n const hasPrecedingLI = firstSelectedLIPath[firstSelectedLIPath.length - 1] > 0\n\n // If the first selected li is NOT the first in its list,\n // we need to inject it into the prior li\n if (hasPrecedingLI) {\n const [, precedingLIPath] = Editor.previous(editor, {\n at: firstSelectedLIPath,\n })\n\n const [precedingLIChildren] = Editor.node(editor, [...precedingLIPath, 0])\n const precedingLIChildrenIsText = Text.isText(precedingLIChildren)\n\n if (precedingLIChildrenIsText) {\n // Wrap the prior li text content so that it can be nested next to a list\n Transforms.wrapNodes(editor, { children: [] }, { at: [...precedingLIPath, 0] })\n }\n\n // Move the selected lis after the prior li contents\n Transforms.moveNodes(editor, {\n match: (node) => Element.isElement(node) && node.type === 'li',\n mode: 'lowest',\n to: [...precedingLIPath, 1],\n })\n\n // Wrap the selected lis in a new list\n Transforms.wrapNodes(\n editor,\n {\n type: isCurrentlyOL ? 'ol' : 'ul',\n children: [],\n },\n {\n match: (node) => Element.isElement(node) && node.type === 'li',\n mode: 'lowest',\n },\n )\n } else {\n // Otherwise, just wrap the node in a list / li\n Transforms.wrapNodes(\n editor,\n {\n type: isCurrentlyOL ? 'ol' : 'ul',\n children: [{ type: 'li', children: [] }],\n },\n {\n match: (node) => Element.isElement(node) && node.type === 'li',\n mode: 'lowest',\n },\n )\n }\n } else {\n Transforms.wrapNodes(editor, { type: indentType, children: [] })\n }\n }\n\n ReactEditor.focus(editor)\n },\n [editor],\n )\n\n const canDeIndent = isElementActive(editor, 'li') || isElementActive(editor, indentType)\n\n return (\n <React.Fragment>\n <button\n className={[baseClass, !canDeIndent && `${baseClass}--disabled`].filter(Boolean).join(' ')}\n onClick={canDeIndent ? (e) => handleIndent(e, 'left') : undefined}\n type=\"button\"\n >\n <IndentLeft />\n </button>\n <button className={baseClass} onClick={(e) => handleIndent(e, 'right')} type=\"button\">\n <IndentRight />\n </button>\n </React.Fragment>\n )\n}\n"],"names":["React","useCallback","Editor","Element","Text","Transforms","ReactEditor","useSlate","IndentLeft","IndentRight","baseClass","getCommonBlock","isElementActive","isBlockElement","listTypes","unwrapList","indentType","IndentButton","editor","handleIndent","e","dir","preventDefault","listPath","n","isElement","includes","type","matchedParentList","above","at","match","isEditor","parentListItem","parentListItemPath","children","length","unwrapNodes","node","path","matches","setNodes","newParentNode","liftNodes","mode","split","isCurrentlyOL","isCurrentlyUL","firstSelectedLIPath","Array","from","nodes","hasPrecedingLI","precedingLIPath","previous","precedingLIChildren","precedingLIChildrenIsText","isText","wrapNodes","moveNodes","to","focus","canDeIndent","Fragment","button","className","filter","Boolean","join","onClick","undefined"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAEA,OAAOA,WAAW,QAAO;AACzB,SAASC,WAAW,QAAQ,QAAO;AACnC,SAASC,MAAM,EAAEC,OAAO,EAAEC,IAAI,EAAEC,UAAU,QAAQ,QAAO;AACzD,SAASC,WAAW,EAAEC,QAAQ,QAAQ,cAAa;AAInD,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,WAAW,QAAQ,mCAAkC;AAC9D,SAASC,SAAS,QAAQ,eAAc;AACxC,SAASC,cAAc,QAAQ,uBAAsB;AACrD,SAASC,eAAe,QAAQ,iBAAgB;AAChD,SAASC,cAAc,QAAQ,uBAAsB;AACrD,SAASC,SAAS,QAAQ,kBAAiB;AAC3C,SAASC,UAAU,QAAQ,mBAAkB;AAC7C,SAASC,UAAU,QAAQ,cAAa;AAExC,OAAO,MAAMC,eAAyB;IACpC,MAAMC,SAASX;IACf,MAAMY,eAAelB,YACnB,CAACmB,GAAGC;QACFD,EAAEE,cAAc;QAEhB,IAAID,QAAQ,QAAQ;YAClB,IAAIT,gBAAgBM,QAAQ,OAAO;gBACjC,MAAM,GAAGK,SAAS,GAAGZ,eACnBO,QACA,CAACM,IAAMrB,QAAQsB,SAAS,CAACD,MAAMV,UAAUY,QAAQ,CAACF,EAAEG,IAAI;gBAG1D,MAAMC,oBAAoB1B,OAAO2B,KAAK,CAACX,QAAQ;oBAC7CY,IAAIP;oBACJQ,OAAO,CAACP,IAAmB,CAACtB,OAAO8B,QAAQ,CAACR,MAAMX,eAAeK,QAAQM;gBAC3E;gBAEA,IAAII,mBAAmB;oBACrB,MAAM,CAACK,gBAAgBC,mBAAmB,GAAGN;oBAE7C,IAAIK,eAAeE,QAAQ,CAACC,MAAM,GAAG,GAAG;wBACtC,qBAAqB;wBACrB/B,WAAWgC,WAAW,CAACnB,QAAQ;4BAC7BY,IAAII;4BACJH,OAAO,CAACO,MAAMC;gCACZ,MAAMC,UACJ,CAACtC,OAAO8B,QAAQ,CAACM,SACjBnC,QAAQsB,SAAS,CAACa,SAClBxB,UAAUY,QAAQ,CAACY,KAAKX,IAAI,KAC5BY,KAAKH,MAAM,KAAKF,mBAAmBE,MAAM,GAAG;gCAE9C,OAAOI;4BACT;wBACF;wBAEA,qDAAqD;wBACrDnC,WAAWoC,QAAQ,CACjBvB,QACA;4BAAES,MAAM;wBAAK,GACb;4BACEG,IAAII;4BACJH,OAAO,CAACO,MAAMC;gCACZ,MAAMC,UACJ,CAACtC,OAAO8B,QAAQ,CAACM,SACjBnC,QAAQsB,SAAS,CAACa,SAClBA,KAAKX,IAAI,KAAK,QACdY,KAAKH,MAAM,KAAKF,mBAAmBE,MAAM,GAAG;gCAE9C,OAAOI;4BACT;wBACF;wBAGF,kDAAkD;wBAClD,yCAAyC;wBACzC,MAAM,CAACE,cAAc,GAAGxC,OAAOoC,IAAI,CAACpB,QAAQgB;wBAE5C,+BAA+B;wBAC/B,2BAA2B;wBAC3B,IAAI/B,QAAQsB,SAAS,CAACiB,kBAAkBA,cAAcf,IAAI,KAAK,MAAM;4BACnE,sBAAsB;4BACtBtB,WAAWsC,SAAS,CAACzB,QAAQ;gCAC3BY,IAAII;gCACJH,OAAO,CAACO,MAAMC;oCACZ,MAAMC,UACJ,CAACtC,OAAO8B,QAAQ,CAACM,SACjBnC,QAAQsB,SAAS,CAACa,SAClBC,KAAKH,MAAM,KAAKF,mBAAmBE,MAAM,GAAG,KAC5CE,KAAKX,IAAI,KAAK;oCAEhB,OAAOa;gCACT;4BACF;wBACF;oBACF,OAAO;wBACLnC,WAAWgC,WAAW,CAACnB,QAAQ;4BAC7BY,IAAII;4BACJH,OAAO,CAACO,MAAMC;gCACZ,OACEpC,QAAQsB,SAAS,CAACa,SAClBA,KAAKX,IAAI,KAAK,QACdY,KAAKH,MAAM,KAAKF,mBAAmBE,MAAM;4BAE7C;wBACF;wBAEA/B,WAAWgC,WAAW,CAACnB,QAAQ;4BAC7Ba,OAAO,CAACP,IAAMrB,QAAQsB,SAAS,CAACD,MAAMV,UAAUY,QAAQ,CAACF,EAAEG,IAAI;wBACjE;oBACF;gBACF,OAAO;oBACLZ,WAAWG,QAAQK;gBACrB;YACF,OAAO;gBACLlB,WAAWgC,WAAW,CAACnB,QAAQ;oBAC7Ba,OAAO,CAACP,IAAMrB,QAAQsB,SAAS,CAACD,MAAMA,EAAEG,IAAI,KAAKX;oBACjD4B,MAAM;oBACNC,OAAO;gBACT;YACF;QACF;QAEA,IAAIxB,QAAQ,SAAS;YACnB,MAAMyB,gBAAgBlC,gBAAgBM,QAAQ;YAC9C,MAAM6B,gBAAgBnC,gBAAgBM,QAAQ;YAE9C,IAAI4B,iBAAiBC,eAAe;gBAClC,0CAA0C;gBAC1C,iCAAiC;gBACjC,4DAA4D;gBAC5D,MAAM,CAAC,GAAGC,oBAAoB,CAAC,GAAGC,MAAMC,IAAI,CAC1ChD,OAAOiD,KAAK,CAACjC,QAAQ;oBACnBa,OAAO,CAACO,OAASnC,QAAQsB,SAAS,CAACa,SAASA,KAAKX,IAAI,KAAK;oBAC1DiB,MAAM;gBACR;gBAGF,kDAAkD;gBAClD,MAAMQ,iBAAiBJ,mBAAmB,CAACA,oBAAoBZ,MAAM,GAAG,EAAE,GAAG;gBAE7E,yDAAyD;gBACzD,yCAAyC;gBACzC,IAAIgB,gBAAgB;oBAClB,MAAM,GAAGC,gBAAgB,GAAGnD,OAAOoD,QAAQ,CAACpC,QAAQ;wBAClDY,IAAIkB;oBACN;oBAEA,MAAM,CAACO,oBAAoB,GAAGrD,OAAOoC,IAAI,CAACpB,QAAQ;2BAAImC;wBAAiB;qBAAE;oBACzE,MAAMG,4BAA4BpD,KAAKqD,MAAM,CAACF;oBAE9C,IAAIC,2BAA2B;wBAC7B,yEAAyE;wBACzEnD,WAAWqD,SAAS,CAACxC,QAAQ;4BAAEiB,UAAU,EAAE;wBAAC,GAAG;4BAAEL,IAAI;mCAAIuB;gCAAiB;6BAAE;wBAAC;oBAC/E;oBAEA,oDAAoD;oBACpDhD,WAAWsD,SAAS,CAACzC,QAAQ;wBAC3Ba,OAAO,CAACO,OAASnC,QAAQsB,SAAS,CAACa,SAASA,KAAKX,IAAI,KAAK;wBAC1DiB,MAAM;wBACNgB,IAAI;+BAAIP;4BAAiB;yBAAE;oBAC7B;oBAEA,sCAAsC;oBACtChD,WAAWqD,SAAS,CAClBxC,QACA;wBACES,MAAMmB,gBAAgB,OAAO;wBAC7BX,UAAU,EAAE;oBACd,GACA;wBACEJ,OAAO,CAACO,OAASnC,QAAQsB,SAAS,CAACa,SAASA,KAAKX,IAAI,KAAK;wBAC1DiB,MAAM;oBACR;gBAEJ,OAAO;oBACL,+CAA+C;oBAC/CvC,WAAWqD,SAAS,CAClBxC,QACA;wBACES,MAAMmB,gBAAgB,OAAO;wBAC7BX,UAAU;4BAAC;gCAAER,MAAM;gCAAMQ,UAAU,EAAE;4BAAC;yBAAE;oBAC1C,GACA;wBACEJ,OAAO,CAACO,OAASnC,QAAQsB,SAAS,CAACa,SAASA,KAAKX,IAAI,KAAK;wBAC1DiB,MAAM;oBACR;gBAEJ;YACF,OAAO;gBACLvC,WAAWqD,SAAS,CAACxC,QAAQ;oBAAES,MAAMX;oBAAYmB,UAAU,EAAE;gBAAC;YAChE;QACF;QAEA7B,YAAYuD,KAAK,CAAC3C;IACpB,GACA;QAACA;KAAO;IAGV,MAAM4C,cAAclD,gBAAgBM,QAAQ,SAASN,gBAAgBM,QAAQF;IAE7E,qBACE,oBAAChB,MAAM+D,QAAQ,sBACb,oBAACC;QACCC,WAAW;YAACvD;YAAW,CAACoD,eAAe,CAAC,EAAEpD,UAAU,UAAU,CAAC;SAAC,CAACwD,MAAM,CAACC,SAASC,IAAI,CAAC;QACtFC,SAASP,cAAc,CAAC1C,IAAMD,aAAaC,GAAG,UAAUkD;QACxD3C,MAAK;qBAEL,oBAACnB,kCAEH,oBAACwD;QAAOC,WAAWvD;QAAW2D,SAAS,CAACjD,IAAMD,aAAaC,GAAG;QAAUO,MAAK;qBAC3E,oBAAClB;AAIT,EAAC"}
|
|
@@ -1,24 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function() {
|
|
9
|
-
return IndentElement;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
const _react = /*#__PURE__*/ _interop_require_default(require("react"));
|
|
13
|
-
const _ElementProvider = require("../../providers/ElementProvider");
|
|
14
|
-
function _interop_require_default(obj) {
|
|
15
|
-
return obj && obj.__esModule ? obj : {
|
|
16
|
-
default: obj
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
const IndentElement = ()=>{
|
|
20
|
-
const { attributes, children } = (0, _ElementProvider.useElement)();
|
|
21
|
-
return /*#__PURE__*/ _react.default.createElement("div", {
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useElement } from '../../providers/ElementProvider.js';
|
|
4
|
+
export const IndentElement = ()=>{
|
|
5
|
+
const { attributes, children } = useElement();
|
|
6
|
+
return /*#__PURE__*/ React.createElement("div", {
|
|
22
7
|
style: {
|
|
23
8
|
paddingLeft: 25
|
|
24
9
|
},
|
|
@@ -26,4 +11,4 @@ const IndentElement = ()=>{
|
|
|
26
11
|
}, children);
|
|
27
12
|
};
|
|
28
13
|
|
|
29
|
-
//# sourceMappingURL=
|
|
14
|
+
//# 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"],"rangeMappings":";;;;;;;;;;;","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,oBAACI;QAAIC,OAAO;YAAEC,aAAa;QAAG;QAAI,GAAGJ,UAAU;OAC5CC;AAGP,EAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { RichTextCustomElement } from '
|
|
2
|
-
declare const indent: RichTextCustomElement;
|
|
3
|
-
export default indent;
|
|
1
|
+
import type { RichTextCustomElement } from '../../../types.js';
|
|
2
|
+
export declare const indent: RichTextCustomElement;
|
|
4
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +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,
|
|
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;AAM9D,eAAO,MAAM,MAAM,EAAE,qBAIpB,CAAA"}
|
|
@@ -1,21 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _Button = require("./Button");
|
|
12
|
-
const _Element = require("./Element");
|
|
13
|
-
const _shared = require("./shared");
|
|
14
|
-
const indent = {
|
|
15
|
-
name: _shared.indentType,
|
|
16
|
-
Button: _Button.IndentButton,
|
|
17
|
-
Element: _Element.IndentElement
|
|
1
|
+
import { IndentButton } from './Button.js';
|
|
2
|
+
import { IndentElement } from './Element.js';
|
|
3
|
+
import { indentType } from './shared.js';
|
|
4
|
+
export const indent = {
|
|
5
|
+
name: indentType,
|
|
6
|
+
Button: IndentButton,
|
|
7
|
+
Element: IndentElement
|
|
18
8
|
};
|
|
19
|
-
const _default = indent;
|
|
20
9
|
|
|
21
|
-
//# sourceMappingURL=
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/field/elements/indent/index.ts"],"sourcesContent":["import type { RichTextCustomElement } from '../../../types.js'\n\nimport { IndentButton } from './Button.js'\nimport { IndentElement } from './Element.js'\nimport { indentType } from './shared.js'\n\nexport const indent: RichTextCustomElement = {\n name: indentType,\n Button: IndentButton,\n Element: IndentElement,\n}\n"],"names":["IndentButton","IndentElement","indentType","indent","name","Button","Element"],"rangeMappings":";;;;;;;","mappings":"AAEA,SAASA,YAAY,QAAQ,cAAa;AAC1C,SAASC,aAAa,QAAQ,eAAc;AAC5C,SAASC,UAAU,QAAQ,cAAa;AAExC,OAAO,MAAMC,SAAgC;IAC3CC,MAAMF;IACNG,QAAQL;IACRM,SAASL;AACX,EAAC"}
|
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "indentType", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return indentType;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const indentType = 'indent';
|
|
1
|
+
export const indentType = 'indent';
|
|
12
2
|
|
|
13
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/field/elements/indent/shared.ts"],"sourcesContent":["export const indentType = 'indent'\n"],"names":["indentType"],"rangeMappings":"","mappings":"AAAA,OAAO,MAAMA,aAAa,SAAQ"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { RichTextCustomElement } from '
|
|
2
|
-
declare const elements: Record<string, RichTextCustomElement>;
|
|
3
|
-
export default elements;
|
|
1
|
+
import type { RichTextCustomElement } from '../../types.js';
|
|
2
|
+
export declare const elements: Record<string, RichTextCustomElement>;
|
|
4
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/field/elements/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,
|
|
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"}
|
|
@@ -1,50 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
blockquote: _blockquote.default,
|
|
33
|
-
h1: _h1.default,
|
|
34
|
-
h2: _h2.default,
|
|
35
|
-
h3: _h3.default,
|
|
36
|
-
h4: _h4.default,
|
|
37
|
-
h5: _h5.default,
|
|
38
|
-
h6: _h6.default,
|
|
39
|
-
indent: _indent.default,
|
|
40
|
-
li: _li.default,
|
|
41
|
-
link: _link.default,
|
|
42
|
-
ol: _ol.default,
|
|
43
|
-
relationship: _relationship.default,
|
|
44
|
-
textAlign: _textAlign.default,
|
|
45
|
-
ul: _ul.default,
|
|
46
|
-
upload: _upload.default
|
|
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
|
|
47
32
|
};
|
|
48
|
-
const _default = elements;
|
|
49
33
|
|
|
50
|
-
//# sourceMappingURL=
|
|
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"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","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"}
|