@os-design/editor 1.0.245 → 1.0.246
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/cjs/@types/emotion.d.js.map +1 -1
- package/dist/cjs/Editor/BlockToolbar.js +2 -2
- package/dist/cjs/Editor/BlockToolbar.js.map +1 -1
- package/dist/cjs/Editor/StyleToolbar.js +2 -2
- package/dist/cjs/Editor/StyleToolbar.js.map +1 -1
- package/dist/cjs/Editor/Toolbar.js.map +1 -1
- package/dist/cjs/Editor/ToolbarButton.js +1 -1
- package/dist/cjs/Editor/ToolbarButton.js.map +1 -1
- package/dist/cjs/Editor/blocks/Figure.js.map +1 -1
- package/dist/cjs/Editor/blocks/FigureCaption.js.map +1 -1
- package/dist/cjs/Editor/blocks/imageBlock.js +2 -2
- package/dist/cjs/Editor/blocks/imageBlock.js.map +1 -1
- package/dist/cjs/Editor/blocks/types.js.map +1 -1
- package/dist/cjs/Editor/blocks/videoBlock.js.map +1 -1
- package/dist/cjs/Editor/decorators/linkDecorator.js.map +1 -1
- package/dist/cjs/Editor/hooks/useBlockToolbarProps.js.map +1 -1
- package/dist/cjs/Editor/hooks/usePastedTextHandler.js.map +1 -1
- package/dist/cjs/Editor/hooks/useReturnHandler.js.map +1 -1
- package/dist/cjs/Editor/hooks/useStyleToolbarProps.js.map +1 -1
- package/dist/cjs/Editor/index.js +2 -2
- package/dist/cjs/Editor/index.js.map +1 -1
- package/dist/cjs/Editor/styles/defaultDraftJsStyles.js.map +1 -1
- package/dist/cjs/Editor/styles/overrideDraftJsStyles.js.map +1 -1
- package/dist/cjs/Editor/utils/addNewBlockAt.js.map +1 -1
- package/dist/cjs/Editor/utils/changeBlock.js.map +1 -1
- package/dist/cjs/Editor/utils/createContentEditorState.js.map +1 -1
- package/dist/cjs/Editor/utils/createDecorator.js.map +1 -1
- package/dist/cjs/Editor/utils/createEmptyEditorState.js.map +1 -1
- package/dist/cjs/Editor/utils/defaultStyleToolbarItems.js.map +1 -1
- package/dist/cjs/Editor/utils/getCurrentBlock.js.map +1 -1
- package/dist/cjs/Editor/utils/getSelectedBlockElement.js.map +1 -1
- package/dist/cjs/Editor/utils/getSelectionRange.js.map +1 -1
- package/dist/cjs/Editor/utils/setLink.js.map +1 -1
- package/dist/cjs/Editor/utils/transformers.js.map +1 -1
- package/dist/cjs/Editor/utils/unsetLink.js.map +1 -1
- package/dist/cjs/EditorSkeleton/index.js +1 -1
- package/dist/cjs/EditorSkeleton/index.js.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/@types/emotion.d.js.map +1 -1
- package/dist/esm/Editor/BlockToolbar.js.map +1 -1
- package/dist/esm/Editor/StyleToolbar.js.map +1 -1
- package/dist/esm/Editor/Toolbar.js.map +1 -1
- package/dist/esm/Editor/ToolbarButton.js.map +1 -1
- package/dist/esm/Editor/blocks/Figure.js.map +1 -1
- package/dist/esm/Editor/blocks/FigureCaption.js.map +1 -1
- package/dist/esm/Editor/blocks/imageBlock.js.map +1 -1
- package/dist/esm/Editor/blocks/types.js.map +1 -1
- package/dist/esm/Editor/blocks/videoBlock.js.map +1 -1
- package/dist/esm/Editor/decorators/linkDecorator.js.map +1 -1
- package/dist/esm/Editor/hooks/useBlockToolbarProps.js.map +1 -1
- package/dist/esm/Editor/hooks/usePastedTextHandler.js.map +1 -1
- package/dist/esm/Editor/hooks/useReturnHandler.js.map +1 -1
- package/dist/esm/Editor/hooks/useStyleToolbarProps.js.map +1 -1
- package/dist/esm/Editor/index.js.map +1 -1
- package/dist/esm/Editor/styles/defaultDraftJsStyles.js.map +1 -1
- package/dist/esm/Editor/styles/overrideDraftJsStyles.js.map +1 -1
- package/dist/esm/Editor/utils/addNewBlockAt.js.map +1 -1
- package/dist/esm/Editor/utils/changeBlock.js.map +1 -1
- package/dist/esm/Editor/utils/createContentEditorState.js.map +1 -1
- package/dist/esm/Editor/utils/createDecorator.js.map +1 -1
- package/dist/esm/Editor/utils/createEmptyEditorState.js.map +1 -1
- package/dist/esm/Editor/utils/defaultStyleToolbarItems.js.map +1 -1
- package/dist/esm/Editor/utils/getCurrentBlock.js.map +1 -1
- package/dist/esm/Editor/utils/getSelectedBlockElement.js.map +1 -1
- package/dist/esm/Editor/utils/getSelectionRange.js.map +1 -1
- package/dist/esm/Editor/utils/setLink.js.map +1 -1
- package/dist/esm/Editor/utils/transformers.js.map +1 -1
- package/dist/esm/Editor/utils/unsetLink.js.map +1 -1
- package/dist/esm/EditorSkeleton/index.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/types/Editor/blocks/imageBlock.d.ts.map +1 -1
- package/dist/types/Editor/hooks/usePastedTextHandler.d.ts.map +1 -1
- package/dist/types/Editor/hooks/useReturnHandler.d.ts.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"videoBlock.js","names":["Video","VideoIcon","EditorBlock","React","changeBlock","getCurrentBlock","Figure","FigureCaption","VideoBlock","props","block","data","getData","src","get","createElement","title","getText","videoTypes","re","getUrl","id","detectVideo","url","groups","match","VIDEO_BLOCK","videoBlock","type","component","icon","onClick","value","onChange","prompt","currentBlock","nextEditorState"],"sources":["../../../../src/Editor/blocks/videoBlock.tsx"],"sourcesContent":["import { Video } from '@os-design/core';\nimport { Video as VideoIcon } from '@os-design/icons';\nimport { EditorBlock } from 'draft-js';\nimport React from 'react';\nimport changeBlock from '../utils/changeBlock';\nimport getCurrentBlock from '../utils/getCurrentBlock';\nimport Figure from './Figure';\nimport FigureCaption from './FigureCaption';\nimport { BlockProps, BlockToolbarItem } from './types';\n\nconst VideoBlock: React.FC<BlockProps> = (props) => {\n const { block } = props;\n const data = block.getData();\n const src = data.get('src');\n\n if (!src) return null;\n\n return (\n <Figure>\n <Video src={src} title={block.getText()} />\n <FigureCaption>\n <EditorBlock {...props} />\n </FigureCaption>\n </Figure>\n );\n};\n\nconst videoTypes = [\n /**\n * YouTube. Supported formats:\n * https://www.youtube.com/watch?v=FJIhWbUt600&ab_channel=IlyaOrdin\n * https://www.youtube.com/embed/FJIhWbUt600\n * https://youtu.be/FJIhWbUt600\n */\n {\n re: /^https:\\/\\/(?:www\\.youtube\\.com\\/(?:watch\\?v=|embed\\/)|youtu\\.be\\/)([A-z0-9-_]*).*$/,\n getUrl: (id: string) => `https://www.youtube.com/embed/${id}`,\n },\n /**\n * RuTube. Supported formats:\n * https://rutube.ru/video/d00526135b2b96d272f6d89b486036c1/\n * https://rutube.ru/play/embed/d00526135b2b96d272f6d89b486036c1\n */\n {\n re: /^https:\\/\\/rutube\\.ru\\/(?:video|play\\/embed)\\/([a-z0-9]*)\\/?$/,\n getUrl: (id: string) => `https://rutube.ru/play/embed/${id}`,\n },\n];\n\nconst detectVideo = (url: string) => {\n // eslint-disable-next-line no-restricted-syntax\n for (const { re, getUrl } of videoTypes) {\n const groups = url.match(re);\n if (groups && groups[1]) return getUrl(groups[1]);\n }\n return null;\n};\n\nexport const VIDEO_BLOCK = 'atomic:video';\n\nconst videoBlock: BlockToolbarItem = {\n type: VIDEO_BLOCK,\n component: VideoBlock,\n icon: <VideoIcon />,\n onClick: ({ value, onChange }) => {\n // eslint-disable-next-line no-alert\n const url = prompt('Insert a link to YouTube or RuTube');\n if (!url) return;\n\n const src = detectVideo(url);\n if (!src) return;\n\n const currentBlock = getCurrentBlock(value);\n const nextEditorState = changeBlock(value, currentBlock, VIDEO_BLOCK, {\n src,\n });\n\n onChange(nextEditorState);\n },\n};\n\nexport default videoBlock;\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,iBAAiB;AACvC,SAASA,KAAK,IAAIC,SAAS,QAAQ,kBAAkB;AACrD,SAASC,WAAW,QAAQ,UAAU;AACtC,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAOC,WAAW,MAAM,sBAAsB;AAC9C,OAAOC,eAAe,MAAM,0BAA0B;AACtD,OAAOC,MAAM,MAAM,UAAU;AAC7B,OAAOC,aAAa,MAAM,iBAAiB;AAG3C,MAAMC,UAAgC,GAAIC,KAAK,IAAK;EAClD,MAAM;IAAEC;EAAM,CAAC,GAAGD,KAAK;EACvB,MAAME,IAAI,GAAGD,KAAK,CAACE,OAAO,CAAC,CAAC;EAC5B,MAAMC,GAAG,GAAGF,IAAI,CAACG,GAAG,CAAC,KAAK,CAAC;EAE3B,IAAI,CAACD,GAAG,EAAE,OAAO,IAAI;EAErB,oBACEV,KAAA,CAAAY,aAAA,CAACT,MAAM,qBACLH,KAAA,CAAAY,aAAA,CAACf,KAAK;IAACa,GAAG,EAAEA,GAAI;IAACG,KAAK,EAAEN,KAAK,CAACO,OAAO,CAAC;EAAE,CAAE,CAAC,eAC3Cd,KAAA,CAAAY,aAAA,CAACR,aAAa,qBACZJ,KAAA,CAAAY,aAAA,CAACb,WAAW,EAAKO,KAAQ,CACZ,CACT,CAAC;AAEb,CAAC;AAED,MAAMS,UAAU,GAAG;AACjB;AACF;AACA;AACA;AACA;AACA;AACE;EACEC,EAAE,EAAE,qFAAqF;EACzFC,MAAM,EAAGC,EAAU,IAAM,iCAAgCA,EAAG;AAC9D,CAAC;AACD;AACF;AACA;AACA;AACA;AACE;EACEF,EAAE,EAAE,+DAA+D;EACnEC,MAAM,EAAGC,EAAU,IAAM,gCAA+BA,EAAG;AAC7D,CAAC,CACF;AAED,MAAMC,WAAW,GAAIC,GAAW,IAAK;EACnC;EACA,KAAK,MAAM;IAAEJ,EAAE;IAAEC;EAAO,CAAC,IAAIF,UAAU,EAAE;IACvC,MAAMM,MAAM,GAAGD,GAAG,CAACE,KAAK,CAACN,EAAE,CAAC;IAC5B,IAAIK,MAAM,IAAIA,MAAM,CAAC,CAAC,CAAC,EAAE,OAAOJ,MAAM,CAACI,MAAM,CAAC,CAAC,CAAC,CAAC;EACnD;EACA,OAAO,IAAI;AACb,CAAC;AAED,OAAO,MAAME,WAAW,GAAG,cAAc;AAEzC,MAAMC,UAA4B,GAAG;EACnCC,IAAI,EAAEF,WAAW;EACjBG,SAAS,EAAErB,UAAU;EACrBsB,IAAI,eAAE3B,KAAA,CAAAY,aAAA,CAACd,SAAS,MAAE,CAAC;EACnB8B,OAAO,EAAEA,CAAC;IAAEC,KAAK;IAAEC;EAAS,CAAC,KAAK;IAChC;IACA,MAAMV,GAAG,GAAGW,MAAM,CAAC,oCAAoC,CAAC;IACxD,IAAI,CAACX,GAAG,EAAE;IAEV,MAAMV,GAAG,GAAGS,WAAW,CAACC,GAAG,CAAC;IAC5B,IAAI,CAACV,GAAG,EAAE;IAEV,MAAMsB,YAAY,GAAG9B,eAAe,CAAC2B,KAAK,CAAC;IAC3C,MAAMI,eAAe,GAAGhC,WAAW,CAAC4B,KAAK,EAAEG,YAAY,EAAET,WAAW,EAAE;MACpEb;IACF,CAAC,CAAC;IAEFoB,QAAQ,CAACG,eAAe,CAAC;EAC3B;AACF,CAAC;AAED,eAAeT,UAAU"}
|
|
1
|
+
{"version":3,"file":"videoBlock.js","names":["Video","VideoIcon","EditorBlock","React","changeBlock","getCurrentBlock","Figure","FigureCaption","VideoBlock","props","block","data","getData","src","get","createElement","title","getText","videoTypes","re","getUrl","id","detectVideo","url","groups","match","VIDEO_BLOCK","videoBlock","type","component","icon","onClick","value","onChange","prompt","currentBlock","nextEditorState"],"sources":["../../../../src/Editor/blocks/videoBlock.tsx"],"sourcesContent":["import { Video } from '@os-design/core';\nimport { Video as VideoIcon } from '@os-design/icons';\nimport { EditorBlock } from 'draft-js';\nimport React from 'react';\nimport changeBlock from '../utils/changeBlock';\nimport getCurrentBlock from '../utils/getCurrentBlock';\nimport Figure from './Figure';\nimport FigureCaption from './FigureCaption';\nimport { BlockProps, BlockToolbarItem } from './types';\n\nconst VideoBlock: React.FC<BlockProps> = (props) => {\n const { block } = props;\n const data = block.getData();\n const src = data.get('src');\n\n if (!src) return null;\n\n return (\n <Figure>\n <Video src={src} title={block.getText()} />\n <FigureCaption>\n <EditorBlock {...props} />\n </FigureCaption>\n </Figure>\n );\n};\n\nconst videoTypes = [\n /**\n * YouTube. Supported formats:\n * https://www.youtube.com/watch?v=FJIhWbUt600&ab_channel=IlyaOrdin\n * https://www.youtube.com/embed/FJIhWbUt600\n * https://youtu.be/FJIhWbUt600\n */\n {\n re: /^https:\\/\\/(?:www\\.youtube\\.com\\/(?:watch\\?v=|embed\\/)|youtu\\.be\\/)([A-z0-9-_]*).*$/,\n getUrl: (id: string) => `https://www.youtube.com/embed/${id}`,\n },\n /**\n * RuTube. Supported formats:\n * https://rutube.ru/video/d00526135b2b96d272f6d89b486036c1/\n * https://rutube.ru/play/embed/d00526135b2b96d272f6d89b486036c1\n */\n {\n re: /^https:\\/\\/rutube\\.ru\\/(?:video|play\\/embed)\\/([a-z0-9]*)\\/?$/,\n getUrl: (id: string) => `https://rutube.ru/play/embed/${id}`,\n },\n];\n\nconst detectVideo = (url: string) => {\n // eslint-disable-next-line no-restricted-syntax\n for (const { re, getUrl } of videoTypes) {\n const groups = url.match(re);\n if (groups && groups[1]) return getUrl(groups[1]);\n }\n return null;\n};\n\nexport const VIDEO_BLOCK = 'atomic:video';\n\nconst videoBlock: BlockToolbarItem = {\n type: VIDEO_BLOCK,\n component: VideoBlock,\n icon: <VideoIcon />,\n onClick: ({ value, onChange }) => {\n // eslint-disable-next-line no-alert\n const url = prompt('Insert a link to YouTube or RuTube');\n if (!url) return;\n\n const src = detectVideo(url);\n if (!src) return;\n\n const currentBlock = getCurrentBlock(value);\n const nextEditorState = changeBlock(value, currentBlock, VIDEO_BLOCK, {\n src,\n });\n\n onChange(nextEditorState);\n },\n};\n\nexport default videoBlock;\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,iBAAiB;AACvC,SAASA,KAAK,IAAIC,SAAS,QAAQ,kBAAkB;AACrD,SAASC,WAAW,QAAQ,UAAU;AACtC,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAOC,WAAW,MAAM,sBAAsB;AAC9C,OAAOC,eAAe,MAAM,0BAA0B;AACtD,OAAOC,MAAM,MAAM,UAAU;AAC7B,OAAOC,aAAa,MAAM,iBAAiB;AAG3C,MAAMC,UAAgC,GAAIC,KAAK,IAAK;EAClD,MAAM;IAAEC;EAAM,CAAC,GAAGD,KAAK;EACvB,MAAME,IAAI,GAAGD,KAAK,CAACE,OAAO,CAAC,CAAC;EAC5B,MAAMC,GAAG,GAAGF,IAAI,CAACG,GAAG,CAAC,KAAK,CAAC;EAE3B,IAAI,CAACD,GAAG,EAAE,OAAO,IAAI;EAErB,oBACEV,KAAA,CAAAY,aAAA,CAACT,MAAM,qBACLH,KAAA,CAAAY,aAAA,CAACf,KAAK;IAACa,GAAG,EAAEA,GAAI;IAACG,KAAK,EAAEN,KAAK,CAACO,OAAO,CAAC;EAAE,CAAE,CAAC,eAC3Cd,KAAA,CAAAY,aAAA,CAACR,aAAa,qBACZJ,KAAA,CAAAY,aAAA,CAACb,WAAW,EAAKO,KAAQ,CACZ,CACT,CAAC;AAEb,CAAC;AAED,MAAMS,UAAU,GAAG;AACjB;AACF;AACA;AACA;AACA;AACA;AACE;EACEC,EAAE,EAAE,qFAAqF;EACzFC,MAAM,EAAGC,EAAU,IAAM,iCAAgCA,EAAG;AAC9D,CAAC;AACD;AACF;AACA;AACA;AACA;AACE;EACEF,EAAE,EAAE,+DAA+D;EACnEC,MAAM,EAAGC,EAAU,IAAM,gCAA+BA,EAAG;AAC7D,CAAC,CACF;AAED,MAAMC,WAAW,GAAIC,GAAW,IAAK;EACnC;EACA,KAAK,MAAM;IAAEJ,EAAE;IAAEC;EAAO,CAAC,IAAIF,UAAU,EAAE;IACvC,MAAMM,MAAM,GAAGD,GAAG,CAACE,KAAK,CAACN,EAAE,CAAC;IAC5B,IAAIK,MAAM,IAAIA,MAAM,CAAC,CAAC,CAAC,EAAE,OAAOJ,MAAM,CAACI,MAAM,CAAC,CAAC,CAAC,CAAC;EACnD;EACA,OAAO,IAAI;AACb,CAAC;AAED,OAAO,MAAME,WAAW,GAAG,cAAc;AAEzC,MAAMC,UAA4B,GAAG;EACnCC,IAAI,EAAEF,WAAW;EACjBG,SAAS,EAAErB,UAAU;EACrBsB,IAAI,eAAE3B,KAAA,CAAAY,aAAA,CAACd,SAAS,MAAE,CAAC;EACnB8B,OAAO,EAAEA,CAAC;IAAEC,KAAK;IAAEC;EAAS,CAAC,KAAK;IAChC;IACA,MAAMV,GAAG,GAAGW,MAAM,CAAC,oCAAoC,CAAC;IACxD,IAAI,CAACX,GAAG,EAAE;IAEV,MAAMV,GAAG,GAAGS,WAAW,CAACC,GAAG,CAAC;IAC5B,IAAI,CAACV,GAAG,EAAE;IAEV,MAAMsB,YAAY,GAAG9B,eAAe,CAAC2B,KAAK,CAAC;IAC3C,MAAMI,eAAe,GAAGhC,WAAW,CAAC4B,KAAK,EAAEG,YAAY,EAAET,WAAW,EAAE;MACpEb;IACF,CAAC,CAAC;IAEFoB,QAAQ,CAACG,eAAe,CAAC;EAC3B;AACF,CAAC;AAED,eAAeT,UAAU","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linkDecorator.js","names":["Link","React","linkDecorator","strategy","contentBlock","callback","contentState","findEntityRanges","character","entityKey","getEntity","getType","component","children","url","getData","createElement","href"],"sources":["../../../../src/Editor/decorators/linkDecorator.tsx"],"sourcesContent":["import { Link } from '@os-design/core';\nimport { DraftDecorator } from 'draft-js';\nimport React from 'react';\n\nconst linkDecorator: DraftDecorator = {\n strategy: (contentBlock, callback, contentState) =>\n contentBlock.findEntityRanges((character) => {\n const entityKey = character.getEntity();\n return (\n entityKey !== null &&\n contentState.getEntity(entityKey).getType() === 'LINK'\n );\n }, callback),\n\n component: ({ contentState, entityKey, children }) => {\n const { url } = contentState.getEntity(entityKey).getData();\n return <Link href={url}>{children}</Link>;\n },\n};\n\nexport default linkDecorator;\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,iBAAiB;AAEtC,OAAOC,KAAK,MAAM,OAAO;AAEzB,MAAMC,aAA6B,GAAG;EACpCC,QAAQ,EAAEA,CAACC,YAAY,EAAEC,QAAQ,EAAEC,YAAY,KAC7CF,YAAY,CAACG,gBAAgB,CAAEC,SAAS,IAAK;IAC3C,MAAMC,SAAS,GAAGD,SAAS,CAACE,SAAS,CAAC,CAAC;IACvC,OACED,SAAS,KAAK,IAAI,IAClBH,YAAY,CAACI,SAAS,CAACD,SAAS,CAAC,CAACE,OAAO,CAAC,CAAC,KAAK,MAAM;EAE1D,CAAC,EAAEN,QAAQ,CAAC;EAEdO,SAAS,EAAEA,CAAC;IAAEN,YAAY;IAAEG,SAAS;IAAEI;EAAS,CAAC,KAAK;IACpD,MAAM;MAAEC;IAAI,CAAC,GAAGR,YAAY,CAACI,SAAS,CAACD,SAAS,CAAC,CAACM,OAAO,CAAC,CAAC;IAC3D,oBAAOd,KAAA,CAAAe,aAAA,CAAChB,IAAI;MAACiB,IAAI,EAAEH;IAAI,GAAED,QAAe,CAAC;EAC3C;AACF,CAAC;AAED,eAAeX,aAAa"}
|
|
1
|
+
{"version":3,"file":"linkDecorator.js","names":["Link","React","linkDecorator","strategy","contentBlock","callback","contentState","findEntityRanges","character","entityKey","getEntity","getType","component","children","url","getData","createElement","href"],"sources":["../../../../src/Editor/decorators/linkDecorator.tsx"],"sourcesContent":["import { Link } from '@os-design/core';\nimport { DraftDecorator } from 'draft-js';\nimport React from 'react';\n\nconst linkDecorator: DraftDecorator = {\n strategy: (contentBlock, callback, contentState) =>\n contentBlock.findEntityRanges((character) => {\n const entityKey = character.getEntity();\n return (\n entityKey !== null &&\n contentState.getEntity(entityKey).getType() === 'LINK'\n );\n }, callback),\n\n component: ({ contentState, entityKey, children }) => {\n const { url } = contentState.getEntity(entityKey).getData();\n return <Link href={url}>{children}</Link>;\n },\n};\n\nexport default linkDecorator;\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,iBAAiB;AAEtC,OAAOC,KAAK,MAAM,OAAO;AAEzB,MAAMC,aAA6B,GAAG;EACpCC,QAAQ,EAAEA,CAACC,YAAY,EAAEC,QAAQ,EAAEC,YAAY,KAC7CF,YAAY,CAACG,gBAAgB,CAAEC,SAAS,IAAK;IAC3C,MAAMC,SAAS,GAAGD,SAAS,CAACE,SAAS,CAAC,CAAC;IACvC,OACED,SAAS,KAAK,IAAI,IAClBH,YAAY,CAACI,SAAS,CAACD,SAAS,CAAC,CAACE,OAAO,CAAC,CAAC,KAAK,MAAM;EAE1D,CAAC,EAAEN,QAAQ,CAAC;EAEdO,SAAS,EAAEA,CAAC;IAAEN,YAAY;IAAEG,SAAS;IAAEI;EAAS,CAAC,KAAK;IACpD,MAAM;MAAEC;IAAI,CAAC,GAAGR,YAAY,CAACI,SAAS,CAACD,SAAS,CAAC,CAACM,OAAO,CAAC,CAAC;IAC3D,oBAAOd,KAAA,CAAAe,aAAA,CAAChB,IAAI;MAACiB,IAAI,EAAEH;IAAI,GAAED,QAAe,CAAC;EAC3C;AACF,CAAC;AAED,eAAeX,aAAa","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBlockToolbarProps.js","names":["useEffect","useState","getSelectedBlockElement","useBlockToolbarProps","value","show","trigger","setTrigger","top","left","width","height","visible","setVisible","selectedBlockElement","selectionState","getSelection","currentBlockKey","getStartKey","contentState","getCurrentContent","currentBlock","getBlockForKey","lineNumber","getBlockMap","keySeq","findIndex","k","getType","getLength","getBoundingClientRect"],"sources":["../../../../src/Editor/hooks/useBlockToolbarProps.ts"],"sourcesContent":["import { EditorState } from 'draft-js';\nimport { useEffect, useState } from 'react';\nimport getSelectedBlockElement from '../utils/getSelectedBlockElement';\n\ninterface Rect {\n top: number;\n left: number;\n width: number;\n height: number;\n}\n\ninterface UseBlockToolbarPropsRes {\n trigger: Rect;\n visible: boolean;\n}\n\n/**\n * Updates the visibility of the block toolbar.\n */\nconst useBlockToolbarProps = (\n value: EditorState,\n show: boolean\n): UseBlockToolbarPropsRes => {\n const [trigger, setTrigger] = useState({\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n });\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n if (!show || !value) return;\n\n const selectedBlockElement = getSelectedBlockElement();\n if (!selectedBlockElement) {\n setVisible(false);\n return;\n }\n\n const selectionState = value.getSelection();\n const currentBlockKey = selectionState.getStartKey();\n const contentState = value.getCurrentContent();\n const currentBlock = contentState.getBlockForKey(currentBlockKey);\n const lineNumber = contentState\n .getBlockMap()\n .keySeq()\n .findIndex((k) => k === currentBlockKey);\n\n if (\n currentBlock.getType() !== 'unstyled' ||\n currentBlock.getLength() > 0 ||\n lineNumber === 0\n ) {\n setVisible(false);\n return;\n }\n\n const { top, left, height } = selectedBlockElement.getBoundingClientRect();\n setTrigger({\n top,\n left,\n width: 0,\n height,\n });\n setVisible(true);\n }, [show, value]);\n\n return { trigger, visible };\n};\n\nexport default useBlockToolbarProps;\n"],"mappings":"AACA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,OAAOC,uBAAuB,MAAM,kCAAkC;AActE;AACA;AACA;AACA,MAAMC,oBAAoB,GAAGA,CAC3BC,KAAkB,EAClBC,IAAa,KACe;EAC5B,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGN,QAAQ,CAAC;IACrCO,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACV,CAAC,CAAC;EACF,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGZ,QAAQ,CAAC,KAAK,CAAC;EAE7CD,SAAS,CAAC,MAAM;IACd,IAAI,CAACK,IAAI,IAAI,CAACD,KAAK,EAAE;IAErB,MAAMU,oBAAoB,GAAGZ,uBAAuB,CAAC,CAAC;IACtD,IAAI,CAACY,oBAAoB,EAAE;MACzBD,UAAU,CAAC,KAAK,CAAC;MACjB;IACF;IAEA,MAAME,cAAc,GAAGX,KAAK,CAACY,YAAY,CAAC,CAAC;IAC3C,MAAMC,eAAe,GAAGF,cAAc,CAACG,WAAW,CAAC,CAAC;IACpD,MAAMC,YAAY,GAAGf,KAAK,CAACgB,iBAAiB,CAAC,CAAC;IAC9C,MAAMC,YAAY,GAAGF,YAAY,CAACG,cAAc,CAACL,eAAe,CAAC;IACjE,MAAMM,UAAU,GAAGJ,YAAY,CAC5BK,WAAW,CAAC,CAAC,CACbC,MAAM,CAAC,CAAC,CACRC,SAAS,CAAEC,CAAC,IAAKA,CAAC,KAAKV,eAAe,CAAC;IAE1C,IACEI,YAAY,CAACO,OAAO,CAAC,CAAC,KAAK,UAAU,IACrCP,YAAY,CAACQ,SAAS,CAAC,CAAC,GAAG,CAAC,IAC5BN,UAAU,KAAK,CAAC,EAChB;MACAV,UAAU,CAAC,KAAK,CAAC;MACjB;IACF;IAEA,MAAM;MAAEL,GAAG;MAAEC,IAAI;MAAEE;IAAO,CAAC,GAAGG,oBAAoB,CAACgB,qBAAqB,CAAC,CAAC;IAC1EvB,UAAU,CAAC;MACTC,GAAG;MACHC,IAAI;MACJC,KAAK,EAAE,CAAC;MACRC;IACF,CAAC,CAAC;IACFE,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC,EAAE,CAACR,IAAI,EAAED,KAAK,CAAC,CAAC;EAEjB,OAAO;IAAEE,OAAO;IAAEM;EAAQ,CAAC;AAC7B,CAAC;AAED,eAAeT,oBAAoB"}
|
|
1
|
+
{"version":3,"file":"useBlockToolbarProps.js","names":["useEffect","useState","getSelectedBlockElement","useBlockToolbarProps","value","show","trigger","setTrigger","top","left","width","height","visible","setVisible","selectedBlockElement","selectionState","getSelection","currentBlockKey","getStartKey","contentState","getCurrentContent","currentBlock","getBlockForKey","lineNumber","getBlockMap","keySeq","findIndex","k","getType","getLength","getBoundingClientRect"],"sources":["../../../../src/Editor/hooks/useBlockToolbarProps.ts"],"sourcesContent":["import { EditorState } from 'draft-js';\nimport { useEffect, useState } from 'react';\nimport getSelectedBlockElement from '../utils/getSelectedBlockElement';\n\ninterface Rect {\n top: number;\n left: number;\n width: number;\n height: number;\n}\n\ninterface UseBlockToolbarPropsRes {\n trigger: Rect;\n visible: boolean;\n}\n\n/**\n * Updates the visibility of the block toolbar.\n */\nconst useBlockToolbarProps = (\n value: EditorState,\n show: boolean\n): UseBlockToolbarPropsRes => {\n const [trigger, setTrigger] = useState({\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n });\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n if (!show || !value) return;\n\n const selectedBlockElement = getSelectedBlockElement();\n if (!selectedBlockElement) {\n setVisible(false);\n return;\n }\n\n const selectionState = value.getSelection();\n const currentBlockKey = selectionState.getStartKey();\n const contentState = value.getCurrentContent();\n const currentBlock = contentState.getBlockForKey(currentBlockKey);\n const lineNumber = contentState\n .getBlockMap()\n .keySeq()\n .findIndex((k) => k === currentBlockKey);\n\n if (\n currentBlock.getType() !== 'unstyled' ||\n currentBlock.getLength() > 0 ||\n lineNumber === 0\n ) {\n setVisible(false);\n return;\n }\n\n const { top, left, height } = selectedBlockElement.getBoundingClientRect();\n setTrigger({\n top,\n left,\n width: 0,\n height,\n });\n setVisible(true);\n }, [show, value]);\n\n return { trigger, visible };\n};\n\nexport default useBlockToolbarProps;\n"],"mappings":"AACA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,OAAOC,uBAAuB,MAAM,kCAAkC;AActE;AACA;AACA;AACA,MAAMC,oBAAoB,GAAGA,CAC3BC,KAAkB,EAClBC,IAAa,KACe;EAC5B,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGN,QAAQ,CAAC;IACrCO,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACV,CAAC,CAAC;EACF,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGZ,QAAQ,CAAC,KAAK,CAAC;EAE7CD,SAAS,CAAC,MAAM;IACd,IAAI,CAACK,IAAI,IAAI,CAACD,KAAK,EAAE;IAErB,MAAMU,oBAAoB,GAAGZ,uBAAuB,CAAC,CAAC;IACtD,IAAI,CAACY,oBAAoB,EAAE;MACzBD,UAAU,CAAC,KAAK,CAAC;MACjB;IACF;IAEA,MAAME,cAAc,GAAGX,KAAK,CAACY,YAAY,CAAC,CAAC;IAC3C,MAAMC,eAAe,GAAGF,cAAc,CAACG,WAAW,CAAC,CAAC;IACpD,MAAMC,YAAY,GAAGf,KAAK,CAACgB,iBAAiB,CAAC,CAAC;IAC9C,MAAMC,YAAY,GAAGF,YAAY,CAACG,cAAc,CAACL,eAAe,CAAC;IACjE,MAAMM,UAAU,GAAGJ,YAAY,CAC5BK,WAAW,CAAC,CAAC,CACbC,MAAM,CAAC,CAAC,CACRC,SAAS,CAAEC,CAAC,IAAKA,CAAC,KAAKV,eAAe,CAAC;IAE1C,IACEI,YAAY,CAACO,OAAO,CAAC,CAAC,KAAK,UAAU,IACrCP,YAAY,CAACQ,SAAS,CAAC,CAAC,GAAG,CAAC,IAC5BN,UAAU,KAAK,CAAC,EAChB;MACAV,UAAU,CAAC,KAAK,CAAC;MACjB;IACF;IAEA,MAAM;MAAEL,GAAG;MAAEC,IAAI;MAAEE;IAAO,CAAC,GAAGG,oBAAoB,CAACgB,qBAAqB,CAAC,CAAC;IAC1EvB,UAAU,CAAC;MACTC,GAAG;MACHC,IAAI;MACJC,KAAK,EAAE,CAAC;MACRC;IACF,CAAC,CAAC;IACFE,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC,EAAE,CAACR,IAAI,EAAED,KAAK,CAAC,CAAC;EAEjB,OAAO;IAAEE,OAAO;IAAEM;EAAQ,CAAC;AAC7B,CAAC;AAED,eAAeT,oBAAoB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePastedTextHandler.js","names":["EditorState","Modifier","RichUtils","useCallback","usePastedTextHandler","onChange","handler","text","html","editorState","currentBlockType","getCurrentBlockType","startsWith","contentState","getCurrentContent","nextContentState","insertText","getSelection","nextEditorState","push"],"sources":["../../../../src/Editor/hooks/usePastedTextHandler.ts"],"sourcesContent":["import {\n EditorProps as DraftEditorProps,\n DraftHandleValue,\n EditorState,\n Modifier,\n RichUtils,\n} from 'draft-js';\nimport { useCallback } from 'react';\n\ntype UsePastedTextHandlerRes = Exclude<\n DraftEditorProps['handlePastedText'],\n undefined\n>;\n\n/**\n * Pastes only text if the current block is atomic.\n */\nconst usePastedTextHandler = (\n onChange: (value: EditorState) => void,\n handler: UsePastedTextHandlerRes\n): UsePastedTextHandlerRes =>\n useCallback<UsePastedTextHandlerRes>(\n (text, html, editorState): DraftHandleValue => {\n const currentBlockType = RichUtils.getCurrentBlockType(editorState);\n\n if (currentBlockType.startsWith('atomic')) {\n const contentState = editorState.getCurrentContent();\n const nextContentState = Modifier.insertText(\n contentState,\n editorState.getSelection(),\n text\n );\n const nextEditorState = EditorState.push(\n editorState,\n nextContentState,\n 'insert-characters'\n );\n onChange(nextEditorState);\n return 'handled';\n }\n\n return handler(text, html, editorState);\n },\n [onChange, handler]\n );\n\nexport default usePastedTextHandler;\n"],"mappings":"AAAA,SAGEA,WAAW,EACXC,QAAQ,EACRC,SAAS,QACJ,UAAU;AACjB,SAASC,WAAW,QAAQ,OAAO;AAOnC;AACA;AACA;AACA,MAAMC,oBAAoB,GAAGA,CAC3BC,QAAsC,EACtCC,OAAgC,KAEhCH,WAAW,CACT,CAACI,IAAI,EAAEC,IAAI,EAAEC,WAAW,KAAuB;EAC7C,MAAMC,gBAAgB,GAAGR,SAAS,CAACS,mBAAmB,CAACF,WAAW,CAAC;EAEnE,IAAIC,gBAAgB,CAACE,UAAU,CAAC,QAAQ,CAAC,EAAE;IACzC,MAAMC,YAAY,GAAGJ,WAAW,CAACK,iBAAiB,CAAC,CAAC;IACpD,MAAMC,gBAAgB,GAAGd,QAAQ,CAACe,UAAU,CAC1CH,YAAY,EACZJ,WAAW,CAACQ,YAAY,CAAC,CAAC,EAC1BV,IACF,CAAC;IACD,MAAMW,eAAe,GAAGlB,WAAW,CAACmB,IAAI,CACtCV,WAAW,EACXM,gBAAgB,EAChB,mBACF,CAAC;IACDV,QAAQ,CAACa,eAAe,CAAC;IACzB,OAAO,SAAS;EAClB;EAEA,OAAOZ,OAAO,CAACC,IAAI,EAAEC,IAAI,EAAEC,WAAW,CAAC;AACzC,CAAC,EACD,CAACJ,QAAQ,EAAEC,OAAO,CACpB,CAAC;AAEH,eAAeF,oBAAoB"}
|
|
1
|
+
{"version":3,"file":"usePastedTextHandler.js","names":["EditorState","Modifier","RichUtils","useCallback","usePastedTextHandler","onChange","handler","text","html","editorState","currentBlockType","getCurrentBlockType","startsWith","contentState","getCurrentContent","nextContentState","insertText","getSelection","nextEditorState","push"],"sources":["../../../../src/Editor/hooks/usePastedTextHandler.ts"],"sourcesContent":["import {\n EditorProps as DraftEditorProps,\n DraftHandleValue,\n EditorState,\n Modifier,\n RichUtils,\n} from 'draft-js';\nimport { useCallback } from 'react';\n\ntype UsePastedTextHandlerRes = Exclude<\n DraftEditorProps['handlePastedText'],\n undefined\n>;\n\n/**\n * Pastes only text if the current block is atomic.\n */\nconst usePastedTextHandler = (\n onChange: (value: EditorState) => void,\n handler: UsePastedTextHandlerRes\n): UsePastedTextHandlerRes =>\n useCallback<UsePastedTextHandlerRes>(\n (text, html, editorState): DraftHandleValue => {\n const currentBlockType = RichUtils.getCurrentBlockType(editorState);\n\n if (currentBlockType.startsWith('atomic')) {\n const contentState = editorState.getCurrentContent();\n const nextContentState = Modifier.insertText(\n contentState,\n editorState.getSelection(),\n text\n );\n const nextEditorState = EditorState.push(\n editorState,\n nextContentState,\n 'insert-characters'\n );\n onChange(nextEditorState);\n return 'handled';\n }\n\n return handler(text, html, editorState);\n },\n [onChange, handler]\n );\n\nexport default usePastedTextHandler;\n"],"mappings":"AAAA,SAGEA,WAAW,EACXC,QAAQ,EACRC,SAAS,QACJ,UAAU;AACjB,SAASC,WAAW,QAAQ,OAAO;AAOnC;AACA;AACA;AACA,MAAMC,oBAAoB,GAAGA,CAC3BC,QAAsC,EACtCC,OAAgC,KAEhCH,WAAW,CACT,CAACI,IAAI,EAAEC,IAAI,EAAEC,WAAW,KAAuB;EAC7C,MAAMC,gBAAgB,GAAGR,SAAS,CAACS,mBAAmB,CAACF,WAAW,CAAC;EAEnE,IAAIC,gBAAgB,CAACE,UAAU,CAAC,QAAQ,CAAC,EAAE;IACzC,MAAMC,YAAY,GAAGJ,WAAW,CAACK,iBAAiB,CAAC,CAAC;IACpD,MAAMC,gBAAgB,GAAGd,QAAQ,CAACe,UAAU,CAC1CH,YAAY,EACZJ,WAAW,CAACQ,YAAY,CAAC,CAAC,EAC1BV,IACF,CAAC;IACD,MAAMW,eAAe,GAAGlB,WAAW,CAACmB,IAAI,CACtCV,WAAW,EACXM,gBAAgB,EAChB,mBACF,CAAC;IACDV,QAAQ,CAACa,eAAe,CAAC;IACzB,OAAO,SAAS;EAClB;EAEA,OAAOZ,OAAO,CAACC,IAAI,EAAEC,IAAI,EAAEC,WAAW,CAAC;AACzC,CAAC,EACD,CAACJ,QAAQ,EAAEC,OAAO,CACpB,CAAC;AAEH,eAAeF,oBAAoB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReturnHandler.js","names":["useCallback","addNewBlockAt","getCurrentBlock","useReturnHandler","onChange","handler","e","editorState","currentBlock","currentBlockType","getType","startsWith","nextEditorState","getKey"],"sources":["../../../../src/Editor/hooks/useReturnHandler.ts"],"sourcesContent":["import { EditorProps as DraftEditorProps, EditorState } from 'draft-js';\nimport { useCallback } from 'react';\nimport addNewBlockAt from '../utils/addNewBlockAt';\nimport getCurrentBlock from '../utils/getCurrentBlock';\n\ntype UseReturnHandlerRes = NonNullable<DraftEditorProps['handleReturn']>;\n\n/**\n * Adds a new unstyled block if the user presses the return key.\n */\nconst useReturnHandler = (\n onChange: (value: EditorState) => void,\n handler: UseReturnHandlerRes\n): UseReturnHandlerRes =>\n useCallback<UseReturnHandlerRes>(\n (e, editorState) => {\n const currentBlock = getCurrentBlock(editorState);\n const currentBlockType = currentBlock.getType();\n\n if (\n currentBlockType.startsWith('atomic') ||\n currentBlockType.startsWith('header')\n ) {\n const nextEditorState = addNewBlockAt(\n editorState,\n currentBlock.getKey()\n );\n onChange(nextEditorState);\n return 'handled';\n }\n\n return handler(e, editorState);\n },\n [onChange, handler]\n );\n\nexport default useReturnHandler;\n"],"mappings":"AACA,SAASA,WAAW,QAAQ,OAAO;AACnC,OAAOC,aAAa,MAAM,wBAAwB;AAClD,OAAOC,eAAe,MAAM,0BAA0B;AAItD;AACA;AACA;AACA,MAAMC,gBAAgB,GAAGA,CACvBC,QAAsC,EACtCC,OAA4B,KAE5BL,WAAW,CACT,CAACM,CAAC,EAAEC,WAAW,KAAK;EAClB,MAAMC,YAAY,GAAGN,eAAe,CAACK,WAAW,CAAC;EACjD,MAAME,gBAAgB,GAAGD,YAAY,CAACE,OAAO,CAAC,CAAC;EAE/C,IACED,gBAAgB,CAACE,UAAU,CAAC,QAAQ,CAAC,IACrCF,gBAAgB,CAACE,UAAU,CAAC,QAAQ,CAAC,EACrC;IACA,MAAMC,eAAe,GAAGX,aAAa,CACnCM,WAAW,EACXC,YAAY,CAACK,MAAM,CAAC,CACtB,CAAC;IACDT,QAAQ,CAACQ,eAAe,CAAC;IACzB,OAAO,SAAS;EAClB;EAEA,OAAOP,OAAO,CAACC,CAAC,EAAEC,WAAW,CAAC;AAChC,CAAC,EACD,CAACH,QAAQ,EAAEC,OAAO,CACpB,CAAC;AAEH,eAAeF,gBAAgB"}
|
|
1
|
+
{"version":3,"file":"useReturnHandler.js","names":["useCallback","addNewBlockAt","getCurrentBlock","useReturnHandler","onChange","handler","e","editorState","currentBlock","currentBlockType","getType","startsWith","nextEditorState","getKey"],"sources":["../../../../src/Editor/hooks/useReturnHandler.ts"],"sourcesContent":["import { EditorProps as DraftEditorProps, EditorState } from 'draft-js';\nimport { useCallback } from 'react';\nimport addNewBlockAt from '../utils/addNewBlockAt';\nimport getCurrentBlock from '../utils/getCurrentBlock';\n\ntype UseReturnHandlerRes = NonNullable<DraftEditorProps['handleReturn']>;\n\n/**\n * Adds a new unstyled block if the user presses the return key.\n */\nconst useReturnHandler = (\n onChange: (value: EditorState) => void,\n handler: UseReturnHandlerRes\n): UseReturnHandlerRes =>\n useCallback<UseReturnHandlerRes>(\n (e, editorState) => {\n const currentBlock = getCurrentBlock(editorState);\n const currentBlockType = currentBlock.getType();\n\n if (\n currentBlockType.startsWith('atomic') ||\n currentBlockType.startsWith('header')\n ) {\n const nextEditorState = addNewBlockAt(\n editorState,\n currentBlock.getKey()\n );\n onChange(nextEditorState);\n return 'handled';\n }\n\n return handler(e, editorState);\n },\n [onChange, handler]\n );\n\nexport default useReturnHandler;\n"],"mappings":"AACA,SAASA,WAAW,QAAQ,OAAO;AACnC,OAAOC,aAAa,MAAM,wBAAwB;AAClD,OAAOC,eAAe,MAAM,0BAA0B;AAItD;AACA;AACA;AACA,MAAMC,gBAAgB,GAAGA,CACvBC,QAAsC,EACtCC,OAA4B,KAE5BL,WAAW,CACT,CAACM,CAAC,EAAEC,WAAW,KAAK;EAClB,MAAMC,YAAY,GAAGN,eAAe,CAACK,WAAW,CAAC;EACjD,MAAME,gBAAgB,GAAGD,YAAY,CAACE,OAAO,CAAC,CAAC;EAE/C,IACED,gBAAgB,CAACE,UAAU,CAAC,QAAQ,CAAC,IACrCF,gBAAgB,CAACE,UAAU,CAAC,QAAQ,CAAC,EACrC;IACA,MAAMC,eAAe,GAAGX,aAAa,CACnCM,WAAW,EACXC,YAAY,CAACK,MAAM,CAAC,CACtB,CAAC;IACDT,QAAQ,CAACQ,eAAe,CAAC;IACzB,OAAO,SAAS;EAClB;EAEA,OAAOP,OAAO,CAACC,CAAC,EAAEC,WAAW,CAAC;AAChC,CAAC,EACD,CAACH,QAAQ,EAAEC,OAAO,CACpB,CAAC;AAEH,eAAeF,gBAAgB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useStyleToolbarProps.js","names":["RichUtils","useEffect","useState","getSelectionRange","useStyleToolbarProps","value","trigger","setTrigger","top","left","width","height","visible","setVisible","selectionRange","getSelection","isCollapsed","getCurrentBlockType","startsWith","getBoundingClientRect"],"sources":["../../../../src/Editor/hooks/useStyleToolbarProps.ts"],"sourcesContent":["import { EditorState, RichUtils } from 'draft-js';\nimport { useEffect, useState } from 'react';\nimport getSelectionRange from '../utils/getSelectionRange';\n\ninterface Rect {\n top: number;\n left: number;\n width: number;\n height: number;\n}\n\ninterface UseStyleToolbarPropsRes {\n trigger: Rect;\n visible: boolean;\n}\n\n/**\n * Updates the visibility of the style toolbar\n */\nconst useStyleToolbarProps = (value: EditorState): UseStyleToolbarPropsRes => {\n const [trigger, setTrigger] = useState({\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n });\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n if (!value) return;\n const selectionRange = getSelectionRange();\n\n // Do not show the panel if either there is no selected text,\n // or the selection range is collapsed,\n // or the selected text is in an atomic block.\n if (\n !selectionRange ||\n value.getSelection().isCollapsed() ||\n RichUtils.getCurrentBlockType(value).startsWith('atomic')\n ) {\n setVisible(false);\n return;\n }\n\n // Otherwise, set the rect of the selection range\n setTrigger(selectionRange.getBoundingClientRect());\n setVisible(true);\n }, [value]);\n\n return { trigger, visible };\n};\n\nexport default useStyleToolbarProps;\n"],"mappings":"AAAA,SAAsBA,SAAS,QAAQ,UAAU;AACjD,SAASC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,OAAOC,iBAAiB,MAAM,4BAA4B;AAc1D;AACA;AACA;AACA,MAAMC,oBAAoB,GAAIC,KAAkB,IAA8B;EAC5E,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGL,QAAQ,CAAC;IACrCM,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACV,CAAC,CAAC;EACF,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGX,QAAQ,CAAC,KAAK,CAAC;EAE7CD,SAAS,CAAC,MAAM;IACd,IAAI,CAACI,KAAK,EAAE;IACZ,MAAMS,cAAc,GAAGX,iBAAiB,CAAC,CAAC;;IAE1C;IACA;IACA;IACA,IACE,CAACW,cAAc,IACfT,KAAK,CAACU,YAAY,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,IAClChB,SAAS,CAACiB,mBAAmB,CAACZ,KAAK,CAAC,CAACa,UAAU,CAAC,QAAQ,CAAC,EACzD;MACAL,UAAU,CAAC,KAAK,CAAC;MACjB;IACF;;IAEA;IACAN,UAAU,CAACO,cAAc,CAACK,qBAAqB,CAAC,CAAC,CAAC;IAClDN,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC,EAAE,CAACR,KAAK,CAAC,CAAC;EAEX,OAAO;IAAEC,OAAO;IAAEM;EAAQ,CAAC;AAC7B,CAAC;AAED,eAAeR,oBAAoB"}
|
|
1
|
+
{"version":3,"file":"useStyleToolbarProps.js","names":["RichUtils","useEffect","useState","getSelectionRange","useStyleToolbarProps","value","trigger","setTrigger","top","left","width","height","visible","setVisible","selectionRange","getSelection","isCollapsed","getCurrentBlockType","startsWith","getBoundingClientRect"],"sources":["../../../../src/Editor/hooks/useStyleToolbarProps.ts"],"sourcesContent":["import { EditorState, RichUtils } from 'draft-js';\nimport { useEffect, useState } from 'react';\nimport getSelectionRange from '../utils/getSelectionRange';\n\ninterface Rect {\n top: number;\n left: number;\n width: number;\n height: number;\n}\n\ninterface UseStyleToolbarPropsRes {\n trigger: Rect;\n visible: boolean;\n}\n\n/**\n * Updates the visibility of the style toolbar\n */\nconst useStyleToolbarProps = (value: EditorState): UseStyleToolbarPropsRes => {\n const [trigger, setTrigger] = useState({\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n });\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n if (!value) return;\n const selectionRange = getSelectionRange();\n\n // Do not show the panel if either there is no selected text,\n // or the selection range is collapsed,\n // or the selected text is in an atomic block.\n if (\n !selectionRange ||\n value.getSelection().isCollapsed() ||\n RichUtils.getCurrentBlockType(value).startsWith('atomic')\n ) {\n setVisible(false);\n return;\n }\n\n // Otherwise, set the rect of the selection range\n setTrigger(selectionRange.getBoundingClientRect());\n setVisible(true);\n }, [value]);\n\n return { trigger, visible };\n};\n\nexport default useStyleToolbarProps;\n"],"mappings":"AAAA,SAAsBA,SAAS,QAAQ,UAAU;AACjD,SAASC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,OAAOC,iBAAiB,MAAM,4BAA4B;AAc1D;AACA;AACA;AACA,MAAMC,oBAAoB,GAAIC,KAAkB,IAA8B;EAC5E,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGL,QAAQ,CAAC;IACrCM,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACV,CAAC,CAAC;EACF,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGX,QAAQ,CAAC,KAAK,CAAC;EAE7CD,SAAS,CAAC,MAAM;IACd,IAAI,CAACI,KAAK,EAAE;IACZ,MAAMS,cAAc,GAAGX,iBAAiB,CAAC,CAAC;;IAE1C;IACA;IACA;IACA,IACE,CAACW,cAAc,IACfT,KAAK,CAACU,YAAY,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,IAClChB,SAAS,CAACiB,mBAAmB,CAACZ,KAAK,CAAC,CAACa,UAAU,CAAC,QAAQ,CAAC,EACzD;MACAL,UAAU,CAAC,KAAK,CAAC;MACjB;IACF;;IAEA;IACAN,UAAU,CAACO,cAAc,CAACK,qBAAqB,CAAC,CAAC,CAAC;IAClDN,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC,EAAE,CAACR,KAAK,CAAC,CAAC;EAEX,OAAO;IAAEC,OAAO;IAAEM;EAAQ,CAAC;AAC7B,CAAC;AAED,eAAeR,oBAAoB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["css","styled","InputContainer","useForwardedRef","useForwardedState","Editor","DraftEditor","EditorState","React","forwardRef","useCallback","useState","BlockToolbar","StyleToolbar","useBlockToolbarProps","usePastedTextHandler","useReturnHandler","useStyleToolbarProps","defaultDraftJsStyles","overrideDraftJsStyles","createEmptyEditorState","defaultStyleToolbarItems","disabledStyles","p","disabled","Container","theme","editorPaddingVertical","inputPaddingHorizontal","editorMinHeight","styleToolbarItems","blockToolbarItems","value","defaultValue","onChange","size","readOnly","handleReturn","handlePastedText","rest","ref","editorRef","mergedEditorRef","forwardedValue","setForwardedValue","innerReadOnly","setInnerReadOnly","styleToolbarProps","blockToolbarProps","length","setEditorState","editorState","getSelection","getHasFocus","moveSelectionToEnd","blockRenderer","block","blockConfig","find","item","type","getType","component","returnHandler","pastedTextHandler","createElement","Fragment","tabIndex","role","undefined","onFocus","current","focus","_extends","blockRendererFn","stripPastedStyles","items","placement","gap","setReadOnly","displayName"],"sources":["../../../src/Editor/index.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { InputContainer } from '@os-design/core';\nimport { WithSize } from '@os-design/styles';\nimport { useForwardedRef, useForwardedState } from '@os-design/utils';\nimport {\n Editor as DraftEditor,\n EditorProps as DraftEditorProps,\n EditorState,\n} from 'draft-js';\nimport React, { forwardRef, useCallback, useState } from 'react';\nimport BlockToolbar from './BlockToolbar';\nimport StyleToolbar from './StyleToolbar';\nimport { BlockToolbarItem } from './blocks/types';\nimport useBlockToolbarProps from './hooks/useBlockToolbarProps';\nimport usePastedTextHandler from './hooks/usePastedTextHandler';\nimport useReturnHandler from './hooks/useReturnHandler';\nimport useStyleToolbarProps from './hooks/useStyleToolbarProps';\nimport defaultDraftJsStyles from './styles/defaultDraftJsStyles';\nimport overrideDraftJsStyles from './styles/overrideDraftJsStyles';\nimport createEmptyEditorState from './utils/createEmptyEditorState';\nimport defaultStyleToolbarItems, {\n StyleToolbarItem,\n} from './utils/defaultStyleToolbarItems';\n\nexport interface EditorProps\n extends Omit<DraftEditorProps, 'editorState' | 'onChange'>,\n WithSize {\n /**\n * Whether the editor is disabled.\n * @default false\n */\n disabled?: boolean;\n /**\n * Available styles in the toolbar.\n * @default undefined\n */\n styleToolbarItems?: StyleToolbarItem[];\n /**\n * Available blocks in the toolbar.\n * @default undefined\n */\n blockToolbarItems?: BlockToolbarItem[];\n /**\n * The editor state.\n * @default undefined\n */\n value?: EditorState;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: EditorState;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: EditorState) => void;\n}\n\nconst disabledStyles = (p) =>\n p.disabled &&\n css`\n cursor: not-allowed;\n `;\n\nconst Container = styled(InputContainer)`\n height: unset;\n cursor: text;\n\n padding: ${(p) => p.theme.editorPaddingVertical}em\n ${(p) => p.theme.inputPaddingHorizontal}em;\n min-height: ${(p) => p.theme.editorMinHeight}em;\n\n ${defaultDraftJsStyles};\n ${overrideDraftJsStyles};\n ${disabledStyles};\n`;\n\n/**\n * Rich text editor based on the Draft.js.\n */\nconst Editor = forwardRef<DraftEditor, EditorProps>(\n (\n {\n disabled = false,\n styleToolbarItems = defaultStyleToolbarItems,\n blockToolbarItems = [],\n value,\n defaultValue = createEmptyEditorState(),\n onChange,\n size,\n readOnly,\n handleReturn = () => 'not-handled',\n handlePastedText = () => 'not-handled',\n ...rest\n },\n ref\n ) => {\n const [editorRef, mergedEditorRef] = useForwardedRef(ref);\n const [forwardedValue, setForwardedValue] = useForwardedState({\n value,\n defaultValue,\n onChange,\n });\n\n // Used by ImageBlock to make the editor read-only\n // while an image is being uploaded\n const [innerReadOnly, setInnerReadOnly] = useState(false);\n\n // Get the trigger and visible props for the toolbars\n const styleToolbarProps = useStyleToolbarProps(\n forwardedValue || defaultValue\n );\n const blockToolbarProps = useBlockToolbarProps(\n forwardedValue || defaultValue,\n (blockToolbarItems || []).length > 0\n );\n\n // Move the caret to the end of the content when the focus event was fired\n const setEditorState = useCallback(\n (editorState: EditorState) => {\n if (!editorState.getSelection().getHasFocus()) {\n setForwardedValue(EditorState.moveSelectionToEnd(editorState));\n return;\n }\n setForwardedValue(editorState);\n },\n [setForwardedValue]\n );\n\n const blockRenderer = useCallback(\n (block) => {\n const blockConfig = blockToolbarItems.find(\n (item) => item.type === block.getType()\n );\n if (!blockConfig) return null;\n return { component: blockConfig.component };\n },\n [blockToolbarItems]\n );\n\n // Custom handlers\n const returnHandler = useReturnHandler(setForwardedValue, handleReturn);\n const pastedTextHandler = usePastedTextHandler(\n setForwardedValue,\n handlePastedText\n );\n\n return (\n <>\n <Container\n disabled={disabled}\n size={size}\n tabIndex={!disabled ? 0 : -1}\n role={!disabled ? 'textbox' : undefined}\n onFocus={() => {\n if (disabled || !editorRef.current) return;\n editorRef.current.focus();\n }}\n >\n <DraftEditor\n onChange={setEditorState}\n blockRendererFn={blockRenderer}\n handleReturn={returnHandler}\n handlePastedText={pastedTextHandler}\n readOnly={readOnly || innerReadOnly || disabled}\n stripPastedStyles\n {...rest}\n editorState={forwardedValue || defaultValue}\n ref={mergedEditorRef}\n />\n </Container>\n\n <StyleToolbar\n {...styleToolbarProps}\n size={size}\n items={styleToolbarItems}\n value={forwardedValue || defaultValue}\n onChange={setForwardedValue}\n />\n\n <BlockToolbar\n {...blockToolbarProps}\n placement='right'\n gap={2.5}\n size={size}\n items={blockToolbarItems}\n value={forwardedValue || defaultValue}\n onChange={setForwardedValue}\n setReadOnly={setInnerReadOnly}\n />\n </>\n );\n }\n);\n\nEditor.displayName = 'Editor';\n\nexport default Editor;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["css","styled","InputContainer","useForwardedRef","useForwardedState","Editor","DraftEditor","EditorState","React","forwardRef","useCallback","useState","BlockToolbar","StyleToolbar","useBlockToolbarProps","usePastedTextHandler","useReturnHandler","useStyleToolbarProps","defaultDraftJsStyles","overrideDraftJsStyles","createEmptyEditorState","defaultStyleToolbarItems","disabledStyles","p","disabled","Container","theme","editorPaddingVertical","inputPaddingHorizontal","editorMinHeight","styleToolbarItems","blockToolbarItems","value","defaultValue","onChange","size","readOnly","handleReturn","handlePastedText","rest","ref","editorRef","mergedEditorRef","forwardedValue","setForwardedValue","innerReadOnly","setInnerReadOnly","styleToolbarProps","blockToolbarProps","length","setEditorState","editorState","getSelection","getHasFocus","moveSelectionToEnd","blockRenderer","block","blockConfig","find","item","type","getType","component","returnHandler","pastedTextHandler","createElement","Fragment","tabIndex","role","undefined","onFocus","current","focus","_extends","blockRendererFn","stripPastedStyles","items","placement","gap","setReadOnly","displayName"],"sources":["../../../src/Editor/index.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { InputContainer } from '@os-design/core';\nimport { WithSize } from '@os-design/styles';\nimport { useForwardedRef, useForwardedState } from '@os-design/utils';\nimport {\n Editor as DraftEditor,\n EditorProps as DraftEditorProps,\n EditorState,\n} from 'draft-js';\nimport React, { forwardRef, useCallback, useState } from 'react';\nimport BlockToolbar from './BlockToolbar';\nimport StyleToolbar from './StyleToolbar';\nimport { BlockToolbarItem } from './blocks/types';\nimport useBlockToolbarProps from './hooks/useBlockToolbarProps';\nimport usePastedTextHandler from './hooks/usePastedTextHandler';\nimport useReturnHandler from './hooks/useReturnHandler';\nimport useStyleToolbarProps from './hooks/useStyleToolbarProps';\nimport defaultDraftJsStyles from './styles/defaultDraftJsStyles';\nimport overrideDraftJsStyles from './styles/overrideDraftJsStyles';\nimport createEmptyEditorState from './utils/createEmptyEditorState';\nimport defaultStyleToolbarItems, {\n StyleToolbarItem,\n} from './utils/defaultStyleToolbarItems';\n\nexport interface EditorProps\n extends Omit<DraftEditorProps, 'editorState' | 'onChange'>,\n WithSize {\n /**\n * Whether the editor is disabled.\n * @default false\n */\n disabled?: boolean;\n /**\n * Available styles in the toolbar.\n * @default undefined\n */\n styleToolbarItems?: StyleToolbarItem[];\n /**\n * Available blocks in the toolbar.\n * @default undefined\n */\n blockToolbarItems?: BlockToolbarItem[];\n /**\n * The editor state.\n * @default undefined\n */\n value?: EditorState;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: EditorState;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: EditorState) => void;\n}\n\nconst disabledStyles = (p) =>\n p.disabled &&\n css`\n cursor: not-allowed;\n `;\n\nconst Container = styled(InputContainer)`\n height: unset;\n cursor: text;\n\n padding: ${(p) => p.theme.editorPaddingVertical}em\n ${(p) => p.theme.inputPaddingHorizontal}em;\n min-height: ${(p) => p.theme.editorMinHeight}em;\n\n ${defaultDraftJsStyles};\n ${overrideDraftJsStyles};\n ${disabledStyles};\n`;\n\n/**\n * Rich text editor based on the Draft.js.\n */\nconst Editor = forwardRef<DraftEditor, EditorProps>(\n (\n {\n disabled = false,\n styleToolbarItems = defaultStyleToolbarItems,\n blockToolbarItems = [],\n value,\n defaultValue = createEmptyEditorState(),\n onChange,\n size,\n readOnly,\n handleReturn = () => 'not-handled',\n handlePastedText = () => 'not-handled',\n ...rest\n },\n ref\n ) => {\n const [editorRef, mergedEditorRef] = useForwardedRef(ref);\n const [forwardedValue, setForwardedValue] = useForwardedState({\n value,\n defaultValue,\n onChange,\n });\n\n // Used by ImageBlock to make the editor read-only\n // while an image is being uploaded\n const [innerReadOnly, setInnerReadOnly] = useState(false);\n\n // Get the trigger and visible props for the toolbars\n const styleToolbarProps = useStyleToolbarProps(\n forwardedValue || defaultValue\n );\n const blockToolbarProps = useBlockToolbarProps(\n forwardedValue || defaultValue,\n (blockToolbarItems || []).length > 0\n );\n\n // Move the caret to the end of the content when the focus event was fired\n const setEditorState = useCallback(\n (editorState: EditorState) => {\n if (!editorState.getSelection().getHasFocus()) {\n setForwardedValue(EditorState.moveSelectionToEnd(editorState));\n return;\n }\n setForwardedValue(editorState);\n },\n [setForwardedValue]\n );\n\n const blockRenderer = useCallback(\n (block) => {\n const blockConfig = blockToolbarItems.find(\n (item) => item.type === block.getType()\n );\n if (!blockConfig) return null;\n return { component: blockConfig.component };\n },\n [blockToolbarItems]\n );\n\n // Custom handlers\n const returnHandler = useReturnHandler(setForwardedValue, handleReturn);\n const pastedTextHandler = usePastedTextHandler(\n setForwardedValue,\n handlePastedText\n );\n\n return (\n <>\n <Container\n disabled={disabled}\n size={size}\n tabIndex={!disabled ? 0 : -1}\n role={!disabled ? 'textbox' : undefined}\n onFocus={() => {\n if (disabled || !editorRef.current) return;\n editorRef.current.focus();\n }}\n >\n <DraftEditor\n onChange={setEditorState}\n blockRendererFn={blockRenderer}\n handleReturn={returnHandler}\n handlePastedText={pastedTextHandler}\n readOnly={readOnly || innerReadOnly || disabled}\n stripPastedStyles\n {...rest}\n editorState={forwardedValue || defaultValue}\n ref={mergedEditorRef}\n />\n </Container>\n\n <StyleToolbar\n {...styleToolbarProps}\n size={size}\n items={styleToolbarItems}\n value={forwardedValue || defaultValue}\n onChange={setForwardedValue}\n />\n\n <BlockToolbar\n {...blockToolbarProps}\n placement='right'\n gap={2.5}\n size={size}\n items={blockToolbarItems}\n value={forwardedValue || defaultValue}\n onChange={setForwardedValue}\n setReadOnly={setInnerReadOnly}\n />\n </>\n );\n }\n);\n\nEditor.displayName = 'Editor';\n\nexport default Editor;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultDraftJsStyles.js","names":["css","defaultDraftJsStyles"],"sources":["../../../../src/Editor/styles/defaultDraftJsStyles.ts"],"sourcesContent":["import { css } from '@emotion/react';\n\n/**\n * Default Draft.js styles.\n * The original styles located in `node_modules/draft-js/dist/Draft.css`.\n */\nconst defaultDraftJsStyles = css`\n .DraftEditor-editorContainer,\n .DraftEditor-root,\n .public-DraftEditor-content {\n height: inherit;\n text-align: initial;\n }\n .public-DraftEditor-content[contenteditable='true'] {\n -webkit-user-modify: read-write-plaintext-only;\n }\n .DraftEditor-root {\n position: relative;\n }\n .DraftEditor-editorContainer {\n background-color: rgba(255, 255, 255, 0);\n border-left: 0.1px solid transparent;\n position: relative;\n z-index: 1;\n }\n .public-DraftEditor-block {\n position: relative;\n }\n .DraftEditor-alignLeft .public-DraftStyleDefault-block {\n text-align: left;\n }\n .DraftEditor-alignLeft .public-DraftEditorPlaceholder-root {\n left: 0;\n text-align: left;\n }\n .DraftEditor-alignCenter .public-DraftStyleDefault-block {\n text-align: center;\n }\n .DraftEditor-alignCenter .public-DraftEditorPlaceholder-root {\n margin: 0 auto;\n text-align: center;\n width: 100%;\n }\n .DraftEditor-alignRight .public-DraftStyleDefault-block {\n text-align: right;\n }\n .DraftEditor-alignRight .public-DraftEditorPlaceholder-root {\n right: 0;\n text-align: right;\n }\n .public-DraftEditorPlaceholder-root {\n color: #9197a3;\n position: absolute;\n width: 100%;\n z-index: 1;\n }\n .public-DraftEditorPlaceholder-hasFocus {\n color: #bdc1c9;\n }\n .DraftEditorPlaceholder-hidden {\n display: none;\n }\n .public-DraftStyleDefault-block {\n position: relative;\n white-space: pre-wrap;\n }\n .public-DraftStyleDefault-ltr {\n direction: ltr;\n text-align: left;\n }\n .public-DraftStyleDefault-rtl {\n direction: rtl;\n text-align: right;\n }\n .public-DraftStyleDefault-listLTR {\n direction: ltr;\n }\n .public-DraftStyleDefault-listRTL {\n direction: rtl;\n }\n .public-DraftStyleDefault-ol,\n .public-DraftStyleDefault-ul {\n margin: 16px 0;\n padding: 0;\n }\n .public-DraftStyleDefault-depth0.public-DraftStyleDefault-listLTR {\n margin-left: 1.5em;\n }\n .public-DraftStyleDefault-depth0.public-DraftStyleDefault-listRTL {\n margin-right: 1.5em;\n }\n .public-DraftStyleDefault-depth1.public-DraftStyleDefault-listLTR {\n margin-left: 3em;\n }\n .public-DraftStyleDefault-depth1.public-DraftStyleDefault-listRTL {\n margin-right: 3em;\n }\n .public-DraftStyleDefault-depth2.public-DraftStyleDefault-listLTR {\n margin-left: 4.5em;\n }\n .public-DraftStyleDefault-depth2.public-DraftStyleDefault-listRTL {\n margin-right: 4.5em;\n }\n .public-DraftStyleDefault-depth3.public-DraftStyleDefault-listLTR {\n margin-left: 6em;\n }\n .public-DraftStyleDefault-depth3.public-DraftStyleDefault-listRTL {\n margin-right: 6em;\n }\n .public-DraftStyleDefault-depth4.public-DraftStyleDefault-listLTR {\n margin-left: 7.5em;\n }\n .public-DraftStyleDefault-depth4.public-DraftStyleDefault-listRTL {\n margin-right: 7.5em;\n }\n .public-DraftStyleDefault-unorderedListItem {\n list-style-type: square;\n position: relative;\n }\n .public-DraftStyleDefault-unorderedListItem.public-DraftStyleDefault-depth0 {\n list-style-type: disc;\n }\n .public-DraftStyleDefault-unorderedListItem.public-DraftStyleDefault-depth1 {\n list-style-type: circle;\n }\n .public-DraftStyleDefault-orderedListItem {\n list-style-type: none;\n position: relative;\n }\n .public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-listLTR:before {\n left: -36px;\n position: absolute;\n text-align: right;\n width: 30px;\n }\n .public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-listRTL:before {\n position: absolute;\n right: -36px;\n text-align: left;\n width: 30px;\n }\n .public-DraftStyleDefault-orderedListItem:before {\n content: counter(ol0) '. ';\n counter-increment: ol0;\n }\n .public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth1:before {\n content: counter(ol1, lower-alpha) '. ';\n counter-increment: ol1;\n }\n .public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth2:before {\n content: counter(ol2, lower-roman) '. ';\n counter-increment: ol2;\n }\n .public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth3:before {\n content: counter(ol3) '. ';\n counter-increment: ol3;\n }\n .public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth4:before {\n content: counter(ol4, lower-alpha) '. ';\n counter-increment: ol4;\n }\n .public-DraftStyleDefault-depth0.public-DraftStyleDefault-reset {\n counter-reset: ol0;\n }\n .public-DraftStyleDefault-depth1.public-DraftStyleDefault-reset {\n counter-reset: ol1;\n }\n .public-DraftStyleDefault-depth2.public-DraftStyleDefault-reset {\n counter-reset: ol2;\n }\n .public-DraftStyleDefault-depth3.public-DraftStyleDefault-reset {\n counter-reset: ol3;\n }\n .public-DraftStyleDefault-depth4.public-DraftStyleDefault-reset {\n counter-reset: ol4;\n }\n`;\n\nexport default defaultDraftJsStyles;\n"],"mappings":"AAAA,SAASA,GAAG,QAAQ,gBAAgB;;AAEpC;AACA;AACA;AACA;AACA,MAAMC,oBAAoB,GAAGD,GAAI;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,eAAeC,oBAAoB"}
|
|
1
|
+
{"version":3,"file":"defaultDraftJsStyles.js","names":["css","defaultDraftJsStyles"],"sources":["../../../../src/Editor/styles/defaultDraftJsStyles.ts"],"sourcesContent":["import { css } from '@emotion/react';\n\n/**\n * Default Draft.js styles.\n * The original styles located in `node_modules/draft-js/dist/Draft.css`.\n */\nconst defaultDraftJsStyles = css`\n .DraftEditor-editorContainer,\n .DraftEditor-root,\n .public-DraftEditor-content {\n height: inherit;\n text-align: initial;\n }\n .public-DraftEditor-content[contenteditable='true'] {\n -webkit-user-modify: read-write-plaintext-only;\n }\n .DraftEditor-root {\n position: relative;\n }\n .DraftEditor-editorContainer {\n background-color: rgba(255, 255, 255, 0);\n border-left: 0.1px solid transparent;\n position: relative;\n z-index: 1;\n }\n .public-DraftEditor-block {\n position: relative;\n }\n .DraftEditor-alignLeft .public-DraftStyleDefault-block {\n text-align: left;\n }\n .DraftEditor-alignLeft .public-DraftEditorPlaceholder-root {\n left: 0;\n text-align: left;\n }\n .DraftEditor-alignCenter .public-DraftStyleDefault-block {\n text-align: center;\n }\n .DraftEditor-alignCenter .public-DraftEditorPlaceholder-root {\n margin: 0 auto;\n text-align: center;\n width: 100%;\n }\n .DraftEditor-alignRight .public-DraftStyleDefault-block {\n text-align: right;\n }\n .DraftEditor-alignRight .public-DraftEditorPlaceholder-root {\n right: 0;\n text-align: right;\n }\n .public-DraftEditorPlaceholder-root {\n color: #9197a3;\n position: absolute;\n width: 100%;\n z-index: 1;\n }\n .public-DraftEditorPlaceholder-hasFocus {\n color: #bdc1c9;\n }\n .DraftEditorPlaceholder-hidden {\n display: none;\n }\n .public-DraftStyleDefault-block {\n position: relative;\n white-space: pre-wrap;\n }\n .public-DraftStyleDefault-ltr {\n direction: ltr;\n text-align: left;\n }\n .public-DraftStyleDefault-rtl {\n direction: rtl;\n text-align: right;\n }\n .public-DraftStyleDefault-listLTR {\n direction: ltr;\n }\n .public-DraftStyleDefault-listRTL {\n direction: rtl;\n }\n .public-DraftStyleDefault-ol,\n .public-DraftStyleDefault-ul {\n margin: 16px 0;\n padding: 0;\n }\n .public-DraftStyleDefault-depth0.public-DraftStyleDefault-listLTR {\n margin-left: 1.5em;\n }\n .public-DraftStyleDefault-depth0.public-DraftStyleDefault-listRTL {\n margin-right: 1.5em;\n }\n .public-DraftStyleDefault-depth1.public-DraftStyleDefault-listLTR {\n margin-left: 3em;\n }\n .public-DraftStyleDefault-depth1.public-DraftStyleDefault-listRTL {\n margin-right: 3em;\n }\n .public-DraftStyleDefault-depth2.public-DraftStyleDefault-listLTR {\n margin-left: 4.5em;\n }\n .public-DraftStyleDefault-depth2.public-DraftStyleDefault-listRTL {\n margin-right: 4.5em;\n }\n .public-DraftStyleDefault-depth3.public-DraftStyleDefault-listLTR {\n margin-left: 6em;\n }\n .public-DraftStyleDefault-depth3.public-DraftStyleDefault-listRTL {\n margin-right: 6em;\n }\n .public-DraftStyleDefault-depth4.public-DraftStyleDefault-listLTR {\n margin-left: 7.5em;\n }\n .public-DraftStyleDefault-depth4.public-DraftStyleDefault-listRTL {\n margin-right: 7.5em;\n }\n .public-DraftStyleDefault-unorderedListItem {\n list-style-type: square;\n position: relative;\n }\n .public-DraftStyleDefault-unorderedListItem.public-DraftStyleDefault-depth0 {\n list-style-type: disc;\n }\n .public-DraftStyleDefault-unorderedListItem.public-DraftStyleDefault-depth1 {\n list-style-type: circle;\n }\n .public-DraftStyleDefault-orderedListItem {\n list-style-type: none;\n position: relative;\n }\n .public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-listLTR:before {\n left: -36px;\n position: absolute;\n text-align: right;\n width: 30px;\n }\n .public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-listRTL:before {\n position: absolute;\n right: -36px;\n text-align: left;\n width: 30px;\n }\n .public-DraftStyleDefault-orderedListItem:before {\n content: counter(ol0) '. ';\n counter-increment: ol0;\n }\n .public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth1:before {\n content: counter(ol1, lower-alpha) '. ';\n counter-increment: ol1;\n }\n .public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth2:before {\n content: counter(ol2, lower-roman) '. ';\n counter-increment: ol2;\n }\n .public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth3:before {\n content: counter(ol3) '. ';\n counter-increment: ol3;\n }\n .public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth4:before {\n content: counter(ol4, lower-alpha) '. ';\n counter-increment: ol4;\n }\n .public-DraftStyleDefault-depth0.public-DraftStyleDefault-reset {\n counter-reset: ol0;\n }\n .public-DraftStyleDefault-depth1.public-DraftStyleDefault-reset {\n counter-reset: ol1;\n }\n .public-DraftStyleDefault-depth2.public-DraftStyleDefault-reset {\n counter-reset: ol2;\n }\n .public-DraftStyleDefault-depth3.public-DraftStyleDefault-reset {\n counter-reset: ol3;\n }\n .public-DraftStyleDefault-depth4.public-DraftStyleDefault-reset {\n counter-reset: ol4;\n }\n`;\n\nexport default defaultDraftJsStyles;\n"],"mappings":"AAAA,SAASA,GAAG,QAAQ,gBAAgB;;AAEpC;AACA;AACA;AACA;AACA,MAAMC,oBAAoB,GAAGD,GAAI;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,eAAeC,oBAAoB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overrideDraftJsStyles.js","names":["css","clr","overrideDraftJsStyles","p","theme","lineHeight","colorText","inputColorPlaceholder","paragraphMarginBottom"],"sources":["../../../../src/Editor/styles/overrideDraftJsStyles.ts"],"sourcesContent":["import { css } from '@emotion/react';\nimport { clr } from '@os-design/theming';\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nconst overrideDraftJsStyles = (p) => css`\n .DraftEditor-root {\n width: 100%;\n overflow: hidden;\n line-height: ${p.theme.lineHeight};\n color: ${clr(p.theme.colorText)};\n }\n .public-DraftEditorPlaceholder-root {\n color: ${clr(p.theme.inputColorPlaceholder)};\n }\n .public-DraftStyleDefault-block {\n margin: 0 0 ${p.theme.paragraphMarginBottom}em;\n }\n`;\n\nexport default overrideDraftJsStyles;\n"],"mappings":"AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,SAASC,GAAG,QAAQ,oBAAoB;;AAExC;AACA,MAAMC,qBAAqB,GAAIC,CAAC,IAAKH,GAAI;AACzC;AACA;AACA;AACA,mBAAmBG,CAAC,CAACC,KAAK,CAACC,UAAW;AACtC,aAAaJ,GAAG,CAACE,CAAC,CAACC,KAAK,CAACE,SAAS,CAAE;AACpC;AACA;AACA,aAAaL,GAAG,CAACE,CAAC,CAACC,KAAK,CAACG,qBAAqB,CAAE;AAChD;AACA;AACA,kBAAkBJ,CAAC,CAACC,KAAK,CAACI,qBAAsB;AAChD;AACA,CAAC;AAED,eAAeN,qBAAqB"}
|
|
1
|
+
{"version":3,"file":"overrideDraftJsStyles.js","names":["css","clr","overrideDraftJsStyles","p","theme","lineHeight","colorText","inputColorPlaceholder","paragraphMarginBottom"],"sources":["../../../../src/Editor/styles/overrideDraftJsStyles.ts"],"sourcesContent":["import { css } from '@emotion/react';\nimport { clr } from '@os-design/theming';\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nconst overrideDraftJsStyles = (p) => css`\n .DraftEditor-root {\n width: 100%;\n overflow: hidden;\n line-height: ${p.theme.lineHeight};\n color: ${clr(p.theme.colorText)};\n }\n .public-DraftEditorPlaceholder-root {\n color: ${clr(p.theme.inputColorPlaceholder)};\n }\n .public-DraftStyleDefault-block {\n margin: 0 0 ${p.theme.paragraphMarginBottom}em;\n }\n`;\n\nexport default overrideDraftJsStyles;\n"],"mappings":"AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,SAASC,GAAG,QAAQ,oBAAoB;;AAExC;AACA,MAAMC,qBAAqB,GAAIC,CAAC,IAAKH,GAAI;AACzC;AACA;AACA;AACA,mBAAmBG,CAAC,CAACC,KAAK,CAACC,UAAW;AACtC,aAAaJ,GAAG,CAACE,CAAC,CAACC,KAAK,CAACE,SAAS,CAAE;AACpC;AACA;AACA,aAAaL,GAAG,CAACE,CAAC,CAACC,KAAK,CAACG,qBAAqB,CAAE;AAChD;AACA;AACA,kBAAkBJ,CAAC,CAACC,KAAK,CAACI,qBAAsB;AAChD;AACA,CAAC;AAED,eAAeN,qBAAqB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addNewBlockAt.js","names":["ContentBlock","EditorState","genKey","Immutable","addNewBlockAt","editorState","pivotBlockKey","type","data","contentState","getCurrentContent","blockMap","getBlockMap","pivotBlock","get","Error","blocksBefore","toSeq","takeUntil","v","blocksAfter","skipUntil","rest","key","block","text","characterList","List","depth","Map","selectionState","getSelection","nextBlockMap","concat","toOrderedMap","nextContentState","merge","selectionBefore","selectionAfter","anchorKey","anchorOffset","focusKey","focusOffset","isBackward","push"],"sources":["../../../../src/Editor/utils/addNewBlockAt.ts"],"sourcesContent":["import { ContentBlock, ContentState, EditorState, genKey } from 'draft-js';\nimport Immutable from 'immutable';\n\nconst addNewBlockAt = (\n editorState: EditorState,\n pivotBlockKey: string,\n type = 'unstyled',\n data: Record<string, any> = {} // eslint-disable-line @typescript-eslint/no-explicit-any\n): EditorState => {\n const contentState = editorState.getCurrentContent();\n const blockMap = contentState.getBlockMap();\n const pivotBlock = blockMap.get(pivotBlockKey);\n if (!pivotBlock)\n throw new Error(\n `The pivot key - ${pivotBlockKey} is not present in blockMap`\n );\n const blocksBefore = blockMap.toSeq().takeUntil((v) => v === pivotBlock);\n const blocksAfter = blockMap\n .toSeq()\n .skipUntil((v) => v === pivotBlock)\n .rest();\n const key = genKey();\n\n const block = new ContentBlock({\n key,\n type,\n text: '',\n characterList: Immutable.List(),\n depth: 0,\n data: Immutable.Map(data),\n });\n\n const selectionState = editorState.getSelection();\n const nextBlockMap = blocksBefore\n .concat(\n [\n [pivotBlockKey, pivotBlock],\n [key, block],\n ],\n blocksAfter\n )\n .toOrderedMap();\n\n const nextContentState = contentState.merge({\n blockMap: nextBlockMap,\n selectionBefore: selectionState,\n selectionAfter: selectionState.merge({\n anchorKey: key,\n anchorOffset: 0,\n focusKey: key,\n focusOffset: 0,\n isBackward: false,\n }),\n }) as ContentState;\n\n return EditorState.push(editorState, nextContentState, 'split-block');\n};\n\nexport default addNewBlockAt;\n"],"mappings":"AAAA,SAASA,YAAY,EAAgBC,WAAW,EAAEC,MAAM,QAAQ,UAAU;AAC1E,OAAOC,SAAS,MAAM,WAAW;AAEjC,MAAMC,aAAa,GAAGA,CACpBC,WAAwB,EACxBC,aAAqB,EACrBC,IAAI,GAAG,UAAU,EACjBC,IAAyB,GAAG,CAAC,CAAC,CAAC;AAAA,KACf;EAChB,MAAMC,YAAY,GAAGJ,WAAW,CAACK,iBAAiB,CAAC,CAAC;EACpD,MAAMC,QAAQ,GAAGF,YAAY,CAACG,WAAW,CAAC,CAAC;EAC3C,MAAMC,UAAU,GAAGF,QAAQ,CAACG,GAAG,CAACR,aAAa,CAAC;EAC9C,IAAI,CAACO,UAAU,EACb,MAAM,IAAIE,KAAK,CACZ,mBAAkBT,aAAc,6BACnC,CAAC;EACH,MAAMU,YAAY,GAAGL,QAAQ,CAACM,KAAK,CAAC,CAAC,CAACC,SAAS,CAAEC,CAAC,IAAKA,CAAC,KAAKN,UAAU,CAAC;EACxE,MAAMO,WAAW,GAAGT,QAAQ,CACzBM,KAAK,CAAC,CAAC,CACPI,SAAS,CAAEF,CAAC,IAAKA,CAAC,KAAKN,UAAU,CAAC,CAClCS,IAAI,CAAC,CAAC;EACT,MAAMC,GAAG,GAAGrB,MAAM,CAAC,CAAC;EAEpB,MAAMsB,KAAK,GAAG,IAAIxB,YAAY,CAAC;IAC7BuB,GAAG;IACHhB,IAAI;IACJkB,IAAI,EAAE,EAAE;IACRC,aAAa,EAAEvB,SAAS,CAACwB,IAAI,CAAC,CAAC;IAC/BC,KAAK,EAAE,CAAC;IACRpB,IAAI,EAAEL,SAAS,CAAC0B,GAAG,CAACrB,IAAI;EAC1B,CAAC,CAAC;EAEF,MAAMsB,cAAc,GAAGzB,WAAW,CAAC0B,YAAY,CAAC,CAAC;EACjD,MAAMC,YAAY,GAAGhB,YAAY,CAC9BiB,MAAM,CACL,CACE,CAAC3B,aAAa,EAAEO,UAAU,CAAC,EAC3B,CAACU,GAAG,EAAEC,KAAK,CAAC,CACb,EACDJ,WACF,CAAC,CACAc,YAAY,CAAC,CAAC;EAEjB,MAAMC,gBAAgB,GAAG1B,YAAY,CAAC2B,KAAK,CAAC;IAC1CzB,QAAQ,EAAEqB,YAAY;IACtBK,eAAe,EAAEP,cAAc;IAC/BQ,cAAc,EAAER,cAAc,CAACM,KAAK,CAAC;MACnCG,SAAS,EAAEhB,GAAG;MACdiB,YAAY,EAAE,CAAC;MACfC,QAAQ,EAAElB,GAAG;MACbmB,WAAW,EAAE,CAAC;MACdC,UAAU,EAAE;IACd,CAAC;EACH,CAAC,CAAiB;EAElB,OAAO1C,WAAW,CAAC2C,IAAI,CAACvC,WAAW,EAAE8B,gBAAgB,EAAE,aAAa,CAAC;AACvE,CAAC;AAED,eAAe/B,aAAa"}
|
|
1
|
+
{"version":3,"file":"addNewBlockAt.js","names":["ContentBlock","EditorState","genKey","Immutable","addNewBlockAt","editorState","pivotBlockKey","type","data","contentState","getCurrentContent","blockMap","getBlockMap","pivotBlock","get","Error","blocksBefore","toSeq","takeUntil","v","blocksAfter","skipUntil","rest","key","block","text","characterList","List","depth","Map","selectionState","getSelection","nextBlockMap","concat","toOrderedMap","nextContentState","merge","selectionBefore","selectionAfter","anchorKey","anchorOffset","focusKey","focusOffset","isBackward","push"],"sources":["../../../../src/Editor/utils/addNewBlockAt.ts"],"sourcesContent":["import { ContentBlock, ContentState, EditorState, genKey } from 'draft-js';\nimport Immutable from 'immutable';\n\nconst addNewBlockAt = (\n editorState: EditorState,\n pivotBlockKey: string,\n type = 'unstyled',\n data: Record<string, any> = {} // eslint-disable-line @typescript-eslint/no-explicit-any\n): EditorState => {\n const contentState = editorState.getCurrentContent();\n const blockMap = contentState.getBlockMap();\n const pivotBlock = blockMap.get(pivotBlockKey);\n if (!pivotBlock)\n throw new Error(\n `The pivot key - ${pivotBlockKey} is not present in blockMap`\n );\n const blocksBefore = blockMap.toSeq().takeUntil((v) => v === pivotBlock);\n const blocksAfter = blockMap\n .toSeq()\n .skipUntil((v) => v === pivotBlock)\n .rest();\n const key = genKey();\n\n const block = new ContentBlock({\n key,\n type,\n text: '',\n characterList: Immutable.List(),\n depth: 0,\n data: Immutable.Map(data),\n });\n\n const selectionState = editorState.getSelection();\n const nextBlockMap = blocksBefore\n .concat(\n [\n [pivotBlockKey, pivotBlock],\n [key, block],\n ],\n blocksAfter\n )\n .toOrderedMap();\n\n const nextContentState = contentState.merge({\n blockMap: nextBlockMap,\n selectionBefore: selectionState,\n selectionAfter: selectionState.merge({\n anchorKey: key,\n anchorOffset: 0,\n focusKey: key,\n focusOffset: 0,\n isBackward: false,\n }),\n }) as ContentState;\n\n return EditorState.push(editorState, nextContentState, 'split-block');\n};\n\nexport default addNewBlockAt;\n"],"mappings":"AAAA,SAASA,YAAY,EAAgBC,WAAW,EAAEC,MAAM,QAAQ,UAAU;AAC1E,OAAOC,SAAS,MAAM,WAAW;AAEjC,MAAMC,aAAa,GAAGA,CACpBC,WAAwB,EACxBC,aAAqB,EACrBC,IAAI,GAAG,UAAU,EACjBC,IAAyB,GAAG,CAAC,CAAC,CAAC;AAAA,KACf;EAChB,MAAMC,YAAY,GAAGJ,WAAW,CAACK,iBAAiB,CAAC,CAAC;EACpD,MAAMC,QAAQ,GAAGF,YAAY,CAACG,WAAW,CAAC,CAAC;EAC3C,MAAMC,UAAU,GAAGF,QAAQ,CAACG,GAAG,CAACR,aAAa,CAAC;EAC9C,IAAI,CAACO,UAAU,EACb,MAAM,IAAIE,KAAK,CACZ,mBAAkBT,aAAc,6BACnC,CAAC;EACH,MAAMU,YAAY,GAAGL,QAAQ,CAACM,KAAK,CAAC,CAAC,CAACC,SAAS,CAAEC,CAAC,IAAKA,CAAC,KAAKN,UAAU,CAAC;EACxE,MAAMO,WAAW,GAAGT,QAAQ,CACzBM,KAAK,CAAC,CAAC,CACPI,SAAS,CAAEF,CAAC,IAAKA,CAAC,KAAKN,UAAU,CAAC,CAClCS,IAAI,CAAC,CAAC;EACT,MAAMC,GAAG,GAAGrB,MAAM,CAAC,CAAC;EAEpB,MAAMsB,KAAK,GAAG,IAAIxB,YAAY,CAAC;IAC7BuB,GAAG;IACHhB,IAAI;IACJkB,IAAI,EAAE,EAAE;IACRC,aAAa,EAAEvB,SAAS,CAACwB,IAAI,CAAC,CAAC;IAC/BC,KAAK,EAAE,CAAC;IACRpB,IAAI,EAAEL,SAAS,CAAC0B,GAAG,CAACrB,IAAI;EAC1B,CAAC,CAAC;EAEF,MAAMsB,cAAc,GAAGzB,WAAW,CAAC0B,YAAY,CAAC,CAAC;EACjD,MAAMC,YAAY,GAAGhB,YAAY,CAC9BiB,MAAM,CACL,CACE,CAAC3B,aAAa,EAAEO,UAAU,CAAC,EAC3B,CAACU,GAAG,EAAEC,KAAK,CAAC,CACb,EACDJ,WACF,CAAC,CACAc,YAAY,CAAC,CAAC;EAEjB,MAAMC,gBAAgB,GAAG1B,YAAY,CAAC2B,KAAK,CAAC;IAC1CzB,QAAQ,EAAEqB,YAAY;IACtBK,eAAe,EAAEP,cAAc;IAC/BQ,cAAc,EAAER,cAAc,CAACM,KAAK,CAAC;MACnCG,SAAS,EAAEhB,GAAG;MACdiB,YAAY,EAAE,CAAC;MACfC,QAAQ,EAAElB,GAAG;MACbmB,WAAW,EAAE,CAAC;MACdC,UAAU,EAAE;IACd,CAAC;EACH,CAAC,CAAiB;EAElB,OAAO1C,WAAW,CAAC2C,IAAI,CAACvC,WAAW,EAAE8B,gBAAgB,EAAE,aAAa,CAAC;AACvE,CAAC;AAED,eAAe/B,aAAa","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changeBlock.js","names":["EditorState","changeBlock","editorState","block","type","data","contentState","getCurrentContent","nextCurrentBlock","merge","nextContentState","blockMap","getBlockMap","set","getKey","selectionAfter","getSelection","push"],"sources":["../../../../src/Editor/utils/changeBlock.ts"],"sourcesContent":["import { ContentBlock, ContentState, EditorState } from 'draft-js';\n\nconst changeBlock = (\n editorState: EditorState,\n block: ContentBlock,\n type: string,\n data: Record<string, any> = {} // eslint-disable-line @typescript-eslint/no-explicit-any\n): EditorState => {\n const contentState = editorState.getCurrentContent();\n\n const nextCurrentBlock = block.merge({ type, data }) as ContentBlock;\n const nextContentState = contentState.merge({\n blockMap: contentState.getBlockMap().set(block.getKey(), nextCurrentBlock),\n selectionAfter: editorState.getSelection(),\n }) as ContentState;\n\n return EditorState.push(editorState, nextContentState, 'change-block-type');\n};\n\nexport default changeBlock;\n"],"mappings":"AAAA,SAAqCA,WAAW,QAAQ,UAAU;AAElE,MAAMC,WAAW,GAAGA,CAClBC,WAAwB,EACxBC,KAAmB,EACnBC,IAAY,EACZC,IAAyB,GAAG,CAAC,CAAC,CAAC;AAAA,KACf;EAChB,MAAMC,YAAY,GAAGJ,WAAW,CAACK,iBAAiB,CAAC,CAAC;EAEpD,MAAMC,gBAAgB,GAAGL,KAAK,CAACM,KAAK,CAAC;IAAEL,IAAI;IAAEC;EAAK,CAAC,CAAiB;EACpE,MAAMK,gBAAgB,GAAGJ,YAAY,CAACG,KAAK,CAAC;IAC1CE,QAAQ,EAAEL,YAAY,CAACM,WAAW,CAAC,CAAC,CAACC,GAAG,CAACV,KAAK,CAACW,MAAM,CAAC,CAAC,EAAEN,gBAAgB,CAAC;IAC1EO,cAAc,EAAEb,WAAW,CAACc,YAAY,CAAC;EAC3C,CAAC,CAAiB;EAElB,OAAOhB,WAAW,CAACiB,IAAI,CAACf,WAAW,EAAEQ,gBAAgB,EAAE,mBAAmB,CAAC;AAC7E,CAAC;AAED,eAAeT,WAAW"}
|
|
1
|
+
{"version":3,"file":"changeBlock.js","names":["EditorState","changeBlock","editorState","block","type","data","contentState","getCurrentContent","nextCurrentBlock","merge","nextContentState","blockMap","getBlockMap","set","getKey","selectionAfter","getSelection","push"],"sources":["../../../../src/Editor/utils/changeBlock.ts"],"sourcesContent":["import { ContentBlock, ContentState, EditorState } from 'draft-js';\n\nconst changeBlock = (\n editorState: EditorState,\n block: ContentBlock,\n type: string,\n data: Record<string, any> = {} // eslint-disable-line @typescript-eslint/no-explicit-any\n): EditorState => {\n const contentState = editorState.getCurrentContent();\n\n const nextCurrentBlock = block.merge({ type, data }) as ContentBlock;\n const nextContentState = contentState.merge({\n blockMap: contentState.getBlockMap().set(block.getKey(), nextCurrentBlock),\n selectionAfter: editorState.getSelection(),\n }) as ContentState;\n\n return EditorState.push(editorState, nextContentState, 'change-block-type');\n};\n\nexport default changeBlock;\n"],"mappings":"AAAA,SAAqCA,WAAW,QAAQ,UAAU;AAElE,MAAMC,WAAW,GAAGA,CAClBC,WAAwB,EACxBC,KAAmB,EACnBC,IAAY,EACZC,IAAyB,GAAG,CAAC,CAAC,CAAC;AAAA,KACf;EAChB,MAAMC,YAAY,GAAGJ,WAAW,CAACK,iBAAiB,CAAC,CAAC;EAEpD,MAAMC,gBAAgB,GAAGL,KAAK,CAACM,KAAK,CAAC;IAAEL,IAAI;IAAEC;EAAK,CAAC,CAAiB;EACpE,MAAMK,gBAAgB,GAAGJ,YAAY,CAACG,KAAK,CAAC;IAC1CE,QAAQ,EAAEL,YAAY,CAACM,WAAW,CAAC,CAAC,CAACC,GAAG,CAACV,KAAK,CAACW,MAAM,CAAC,CAAC,EAAEN,gBAAgB,CAAC;IAC1EO,cAAc,EAAEb,WAAW,CAACc,YAAY,CAAC;EAC3C,CAAC,CAAiB;EAElB,OAAOhB,WAAW,CAACiB,IAAI,CAACf,WAAW,EAAEQ,gBAAgB,EAAE,mBAAmB,CAAC;AAC7E,CAAC;AAED,eAAeT,WAAW","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createContentEditorState.js","names":["EditorState","createDecorator","createContentEditorState","contentState","createWithContent"],"sources":["../../../../src/Editor/utils/createContentEditorState.ts"],"sourcesContent":["import { ContentState, EditorState } from 'draft-js';\nimport createDecorator from './createDecorator';\n\nconst createContentEditorState = (contentState: ContentState): EditorState =>\n EditorState.createWithContent(contentState, createDecorator());\n\nexport default createContentEditorState;\n"],"mappings":"AAAA,SAAuBA,WAAW,QAAQ,UAAU;AACpD,OAAOC,eAAe,MAAM,mBAAmB;AAE/C,MAAMC,wBAAwB,GAAIC,YAA0B,IAC1DH,WAAW,CAACI,iBAAiB,CAACD,YAAY,EAAEF,eAAe,CAAC,CAAC,CAAC;AAEhE,eAAeC,wBAAwB"}
|
|
1
|
+
{"version":3,"file":"createContentEditorState.js","names":["EditorState","createDecorator","createContentEditorState","contentState","createWithContent"],"sources":["../../../../src/Editor/utils/createContentEditorState.ts"],"sourcesContent":["import { ContentState, EditorState } from 'draft-js';\nimport createDecorator from './createDecorator';\n\nconst createContentEditorState = (contentState: ContentState): EditorState =>\n EditorState.createWithContent(contentState, createDecorator());\n\nexport default createContentEditorState;\n"],"mappings":"AAAA,SAAuBA,WAAW,QAAQ,UAAU;AACpD,OAAOC,eAAe,MAAM,mBAAmB;AAE/C,MAAMC,wBAAwB,GAAIC,YAA0B,IAC1DH,WAAW,CAACI,iBAAiB,CAACD,YAAY,EAAEF,eAAe,CAAC,CAAC,CAAC;AAEhE,eAAeC,wBAAwB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createDecorator.js","names":["CompositeDecorator","linkDecorator","createDecorator"],"sources":["../../../../src/Editor/utils/createDecorator.ts"],"sourcesContent":["import { CompositeDecorator } from 'draft-js';\nimport linkDecorator from '../decorators/linkDecorator';\n\nconst createDecorator = (): CompositeDecorator =>\n new CompositeDecorator([linkDecorator]);\n\nexport default createDecorator;\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,UAAU;AAC7C,OAAOC,aAAa,MAAM,6BAA6B;AAEvD,MAAMC,eAAe,GAAGA,CAAA,KACtB,IAAIF,kBAAkB,CAAC,CAACC,aAAa,CAAC,CAAC;AAEzC,eAAeC,eAAe"}
|
|
1
|
+
{"version":3,"file":"createDecorator.js","names":["CompositeDecorator","linkDecorator","createDecorator"],"sources":["../../../../src/Editor/utils/createDecorator.ts"],"sourcesContent":["import { CompositeDecorator } from 'draft-js';\nimport linkDecorator from '../decorators/linkDecorator';\n\nconst createDecorator = (): CompositeDecorator =>\n new CompositeDecorator([linkDecorator]);\n\nexport default createDecorator;\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,UAAU;AAC7C,OAAOC,aAAa,MAAM,6BAA6B;AAEvD,MAAMC,eAAe,GAAGA,CAAA,KACtB,IAAIF,kBAAkB,CAAC,CAACC,aAAa,CAAC,CAAC;AAEzC,eAAeC,eAAe","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createEmptyEditorState.js","names":["EditorState","createDecorator","createEmptyEditorState","createEmpty"],"sources":["../../../../src/Editor/utils/createEmptyEditorState.ts"],"sourcesContent":["import { EditorState } from 'draft-js';\nimport createDecorator from './createDecorator';\n\nconst createEmptyEditorState = (): EditorState =>\n EditorState.createEmpty(createDecorator());\n\nexport default createEmptyEditorState;\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,UAAU;AACtC,OAAOC,eAAe,MAAM,mBAAmB;AAE/C,MAAMC,sBAAsB,GAAGA,CAAA,KAC7BF,WAAW,CAACG,WAAW,CAACF,eAAe,CAAC,CAAC,CAAC;AAE5C,eAAeC,sBAAsB"}
|
|
1
|
+
{"version":3,"file":"createEmptyEditorState.js","names":["EditorState","createDecorator","createEmptyEditorState","createEmpty"],"sources":["../../../../src/Editor/utils/createEmptyEditorState.ts"],"sourcesContent":["import { EditorState } from 'draft-js';\nimport createDecorator from './createDecorator';\n\nconst createEmptyEditorState = (): EditorState =>\n EditorState.createEmpty(createDecorator());\n\nexport default createEmptyEditorState;\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,UAAU;AACtC,OAAOC,eAAe,MAAM,mBAAmB;AAE/C,MAAMC,sBAAsB,GAAGA,CAAA,KAC7BF,WAAW,CAACG,WAAW,CAACF,eAAe,CAAC,CAAC,CAAC;AAE5C,eAAeC,sBAAsB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultStyleToolbarItems.js","names":["styled","Bold","FontSize","Link","LinkIcon","OrderedList","UnorderedList","React","FontSizeSmall","defaultStyleToolbarItems","name","type","icon","createElement"],"sources":["../../../../src/Editor/utils/defaultStyleToolbarItems.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport {\n Bold,\n FontSize,\n Link as LinkIcon,\n OrderedList,\n UnorderedList,\n} from '@os-design/icons';\nimport React from 'react';\n\nexport interface StyleToolbarItem {\n name: string;\n type: 'block' | 'inline';\n icon: React.ReactNode;\n}\n\nconst FontSizeSmall = styled(FontSize)`\n transform: scale(0.7);\n`;\n\nconst defaultStyleToolbarItems: StyleToolbarItem[] = [\n { name: 'header-two', type: 'block', icon: <FontSize /> },\n { name: 'header-three', type: 'block', icon: <FontSizeSmall /> },\n { name: 'BOLD', type: 'inline', icon: <Bold /> },\n { name: 'unordered-list-item', type: 'block', icon: <UnorderedList /> },\n { name: 'ordered-list-item', type: 'block', icon: <OrderedList /> },\n { name: 'LINK', type: 'inline', icon: <LinkIcon /> },\n];\n\nexport default defaultStyleToolbarItems;\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SACEC,IAAI,EACJC,QAAQ,EACRC,IAAI,IAAIC,QAAQ,EAChBC,WAAW,EACXC,aAAa,QACR,kBAAkB;AACzB,OAAOC,KAAK,MAAM,OAAO;AAQzB,MAAMC,aAAa,GAAGR,MAAM,CAACE,QAAQ,CAAE;AACvC;AACA,CAAC;AAED,MAAMO,wBAA4C,GAAG,CACnD;EAAEC,IAAI,EAAE,YAAY;EAAEC,IAAI,EAAE,OAAO;EAAEC,IAAI,eAAEL,KAAA,CAAAM,aAAA,CAACX,QAAQ,MAAE;AAAE,CAAC,EACzD;EAAEQ,IAAI,EAAE,cAAc;EAAEC,IAAI,EAAE,OAAO;EAAEC,IAAI,eAAEL,KAAA,CAAAM,aAAA,CAACL,aAAa,MAAE;AAAE,CAAC,EAChE;EAAEE,IAAI,EAAE,MAAM;EAAEC,IAAI,EAAE,QAAQ;EAAEC,IAAI,eAAEL,KAAA,CAAAM,aAAA,CAACZ,IAAI,MAAE;AAAE,CAAC,EAChD;EAAES,IAAI,EAAE,qBAAqB;EAAEC,IAAI,EAAE,OAAO;EAAEC,IAAI,eAAEL,KAAA,CAAAM,aAAA,CAACP,aAAa,MAAE;AAAE,CAAC,EACvE;EAAEI,IAAI,EAAE,mBAAmB;EAAEC,IAAI,EAAE,OAAO;EAAEC,IAAI,eAAEL,KAAA,CAAAM,aAAA,CAACR,WAAW,MAAE;AAAE,CAAC,EACnE;EAAEK,IAAI,EAAE,MAAM;EAAEC,IAAI,EAAE,QAAQ;EAAEC,IAAI,eAAEL,KAAA,CAAAM,aAAA,CAACT,QAAQ,MAAE;AAAE,CAAC,CACrD;AAED,eAAeK,wBAAwB"}
|
|
1
|
+
{"version":3,"file":"defaultStyleToolbarItems.js","names":["styled","Bold","FontSize","Link","LinkIcon","OrderedList","UnorderedList","React","FontSizeSmall","defaultStyleToolbarItems","name","type","icon","createElement"],"sources":["../../../../src/Editor/utils/defaultStyleToolbarItems.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport {\n Bold,\n FontSize,\n Link as LinkIcon,\n OrderedList,\n UnorderedList,\n} from '@os-design/icons';\nimport React from 'react';\n\nexport interface StyleToolbarItem {\n name: string;\n type: 'block' | 'inline';\n icon: React.ReactNode;\n}\n\nconst FontSizeSmall = styled(FontSize)`\n transform: scale(0.7);\n`;\n\nconst defaultStyleToolbarItems: StyleToolbarItem[] = [\n { name: 'header-two', type: 'block', icon: <FontSize /> },\n { name: 'header-three', type: 'block', icon: <FontSizeSmall /> },\n { name: 'BOLD', type: 'inline', icon: <Bold /> },\n { name: 'unordered-list-item', type: 'block', icon: <UnorderedList /> },\n { name: 'ordered-list-item', type: 'block', icon: <OrderedList /> },\n { name: 'LINK', type: 'inline', icon: <LinkIcon /> },\n];\n\nexport default defaultStyleToolbarItems;\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SACEC,IAAI,EACJC,QAAQ,EACRC,IAAI,IAAIC,QAAQ,EAChBC,WAAW,EACXC,aAAa,QACR,kBAAkB;AACzB,OAAOC,KAAK,MAAM,OAAO;AAQzB,MAAMC,aAAa,GAAGR,MAAM,CAACE,QAAQ,CAAE;AACvC;AACA,CAAC;AAED,MAAMO,wBAA4C,GAAG,CACnD;EAAEC,IAAI,EAAE,YAAY;EAAEC,IAAI,EAAE,OAAO;EAAEC,IAAI,eAAEL,KAAA,CAAAM,aAAA,CAACX,QAAQ,MAAE;AAAE,CAAC,EACzD;EAAEQ,IAAI,EAAE,cAAc;EAAEC,IAAI,EAAE,OAAO;EAAEC,IAAI,eAAEL,KAAA,CAAAM,aAAA,CAACL,aAAa,MAAE;AAAE,CAAC,EAChE;EAAEE,IAAI,EAAE,MAAM;EAAEC,IAAI,EAAE,QAAQ;EAAEC,IAAI,eAAEL,KAAA,CAAAM,aAAA,CAACZ,IAAI,MAAE;AAAE,CAAC,EAChD;EAAES,IAAI,EAAE,qBAAqB;EAAEC,IAAI,EAAE,OAAO;EAAEC,IAAI,eAAEL,KAAA,CAAAM,aAAA,CAACP,aAAa,MAAE;AAAE,CAAC,EACvE;EAAEI,IAAI,EAAE,mBAAmB;EAAEC,IAAI,EAAE,OAAO;EAAEC,IAAI,eAAEL,KAAA,CAAAM,aAAA,CAACR,WAAW,MAAE;AAAE,CAAC,EACnE;EAAEK,IAAI,EAAE,MAAM;EAAEC,IAAI,EAAE,QAAQ;EAAEC,IAAI,eAAEL,KAAA,CAAAM,aAAA,CAACT,QAAQ,MAAE;AAAE,CAAC,CACrD;AAED,eAAeK,wBAAwB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCurrentBlock.js","names":["getCurrentBlock","editorState","selectionState","getSelection","contentState","getCurrentContent","getBlockForKey","getStartKey"],"sources":["../../../../src/Editor/utils/getCurrentBlock.ts"],"sourcesContent":["import { ContentBlock, EditorState } from 'draft-js';\n\nconst getCurrentBlock = (editorState: EditorState): ContentBlock => {\n const selectionState = editorState.getSelection();\n const contentState = editorState.getCurrentContent();\n return contentState.getBlockForKey(selectionState.getStartKey());\n};\n\nexport default getCurrentBlock;\n"],"mappings":"AAEA,MAAMA,eAAe,GAAIC,WAAwB,IAAmB;EAClE,MAAMC,cAAc,GAAGD,WAAW,CAACE,YAAY,CAAC,CAAC;EACjD,MAAMC,YAAY,GAAGH,WAAW,CAACI,iBAAiB,CAAC,CAAC;EACpD,OAAOD,YAAY,CAACE,cAAc,CAACJ,cAAc,CAACK,WAAW,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,eAAeP,eAAe"}
|
|
1
|
+
{"version":3,"file":"getCurrentBlock.js","names":["getCurrentBlock","editorState","selectionState","getSelection","contentState","getCurrentContent","getBlockForKey","getStartKey"],"sources":["../../../../src/Editor/utils/getCurrentBlock.ts"],"sourcesContent":["import { ContentBlock, EditorState } from 'draft-js';\n\nconst getCurrentBlock = (editorState: EditorState): ContentBlock => {\n const selectionState = editorState.getSelection();\n const contentState = editorState.getCurrentContent();\n return contentState.getBlockForKey(selectionState.getStartKey());\n};\n\nexport default getCurrentBlock;\n"],"mappings":"AAEA,MAAMA,eAAe,GAAIC,WAAwB,IAAmB;EAClE,MAAMC,cAAc,GAAGD,WAAW,CAACE,YAAY,CAAC,CAAC;EACjD,MAAMC,YAAY,GAAGH,WAAW,CAACI,iBAAiB,CAAC,CAAC;EACpD,OAAOD,YAAY,CAACE,cAAc,CAACJ,cAAc,CAACK,WAAW,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,eAAeP,eAAe","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSelectedBlockElement.js","names":["getSelectionRange","getSelectedBlockElement","selectionRange","node","startContainer","Element","getAttribute","parentNode"],"sources":["../../../../src/Editor/utils/getSelectedBlockElement.ts"],"sourcesContent":["import getSelectionRange from './getSelectionRange';\n\nconst getSelectedBlockElement = (): Element | null => {\n const selectionRange = getSelectionRange();\n if (!selectionRange) return null;\n\n let node: Node | null = selectionRange.startContainer;\n\n do {\n if (node instanceof Element && node.getAttribute('data-block') === 'true')\n return node;\n node = node.parentNode;\n } while (node != null);\n return null;\n};\n\nexport default getSelectedBlockElement;\n"],"mappings":"AAAA,OAAOA,iBAAiB,MAAM,qBAAqB;AAEnD,MAAMC,uBAAuB,GAAGA,CAAA,KAAsB;EACpD,MAAMC,cAAc,GAAGF,iBAAiB,CAAC,CAAC;EAC1C,IAAI,CAACE,cAAc,EAAE,OAAO,IAAI;EAEhC,IAAIC,IAAiB,GAAGD,cAAc,CAACE,cAAc;EAErD,GAAG;IACD,IAAID,IAAI,YAAYE,OAAO,IAAIF,IAAI,CAACG,YAAY,CAAC,YAAY,CAAC,KAAK,MAAM,EACvE,OAAOH,IAAI;IACbA,IAAI,GAAGA,IAAI,CAACI,UAAU;EACxB,CAAC,QAAQJ,IAAI,IAAI,IAAI;EACrB,OAAO,IAAI;AACb,CAAC;AAED,eAAeF,uBAAuB"}
|
|
1
|
+
{"version":3,"file":"getSelectedBlockElement.js","names":["getSelectionRange","getSelectedBlockElement","selectionRange","node","startContainer","Element","getAttribute","parentNode"],"sources":["../../../../src/Editor/utils/getSelectedBlockElement.ts"],"sourcesContent":["import getSelectionRange from './getSelectionRange';\n\nconst getSelectedBlockElement = (): Element | null => {\n const selectionRange = getSelectionRange();\n if (!selectionRange) return null;\n\n let node: Node | null = selectionRange.startContainer;\n\n do {\n if (node instanceof Element && node.getAttribute('data-block') === 'true')\n return node;\n node = node.parentNode;\n } while (node != null);\n return null;\n};\n\nexport default getSelectedBlockElement;\n"],"mappings":"AAAA,OAAOA,iBAAiB,MAAM,qBAAqB;AAEnD,MAAMC,uBAAuB,GAAGA,CAAA,KAAsB;EACpD,MAAMC,cAAc,GAAGF,iBAAiB,CAAC,CAAC;EAC1C,IAAI,CAACE,cAAc,EAAE,OAAO,IAAI;EAEhC,IAAIC,IAAiB,GAAGD,cAAc,CAACE,cAAc;EAErD,GAAG;IACD,IAAID,IAAI,YAAYE,OAAO,IAAIF,IAAI,CAACG,YAAY,CAAC,YAAY,CAAC,KAAK,MAAM,EACvE,OAAOH,IAAI;IACbA,IAAI,GAAGA,IAAI,CAACI,UAAU;EACxB,CAAC,QAAQJ,IAAI,IAAI,IAAI;EACrB,OAAO,IAAI;AACb,CAAC;AAED,eAAeF,uBAAuB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSelectionRange.js","names":["getSelectionRange","selection","document","getSelection","rangeCount","getRangeAt"],"sources":["../../../../src/Editor/utils/getSelectionRange.ts"],"sourcesContent":["const getSelectionRange = (): Range | null => {\n const selection = document.getSelection();\n if (!selection || selection.rangeCount === 0) return null;\n return selection.getRangeAt(0);\n};\n\nexport default getSelectionRange;\n"],"mappings":"AAAA,MAAMA,iBAAiB,GAAGA,CAAA,KAAoB;EAC5C,MAAMC,SAAS,GAAGC,QAAQ,CAACC,YAAY,CAAC,CAAC;EACzC,IAAI,CAACF,SAAS,IAAIA,SAAS,CAACG,UAAU,KAAK,CAAC,EAAE,OAAO,IAAI;EACzD,OAAOH,SAAS,CAACI,UAAU,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,eAAeL,iBAAiB"}
|
|
1
|
+
{"version":3,"file":"getSelectionRange.js","names":["getSelectionRange","selection","document","getSelection","rangeCount","getRangeAt"],"sources":["../../../../src/Editor/utils/getSelectionRange.ts"],"sourcesContent":["const getSelectionRange = (): Range | null => {\n const selection = document.getSelection();\n if (!selection || selection.rangeCount === 0) return null;\n return selection.getRangeAt(0);\n};\n\nexport default getSelectionRange;\n"],"mappings":"AAAA,MAAMA,iBAAiB,GAAGA,CAAA,KAAoB;EAC5C,MAAMC,SAAS,GAAGC,QAAQ,CAACC,YAAY,CAAC,CAAC;EACzC,IAAI,CAACF,SAAS,IAAIA,SAAS,CAACG,UAAU,KAAK,CAAC,EAAE,OAAO,IAAI;EACzD,OAAOH,SAAS,CAACI,UAAU,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,eAAeL,iBAAiB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setLink.js","names":["EditorState","RichUtils","setLink","editorState","url","containsLink","currentBlockContainsLink","contentState","getCurrentContent","contentStateWithLink","createEntity","entityKey","getLastCreatedEntityKey","nextEditorState","set","currentContent","toggleLink","getSelection"],"sources":["../../../../src/Editor/utils/setLink.ts"],"sourcesContent":["import { EditorState, RichUtils } from 'draft-js';\n\nconst setLink = (editorState: EditorState, url: string): EditorState => {\n const containsLink = RichUtils.currentBlockContainsLink(editorState);\n if (containsLink) return editorState;\n\n const contentState = editorState.getCurrentContent();\n const contentStateWithLink = contentState.createEntity('LINK', 'MUTABLE', {\n url,\n });\n const entityKey = contentStateWithLink.getLastCreatedEntityKey();\n const nextEditorState = EditorState.set(editorState, {\n currentContent: contentStateWithLink,\n });\n return RichUtils.toggleLink(\n nextEditorState,\n nextEditorState.getSelection(),\n entityKey\n );\n};\n\nexport default setLink;\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,SAAS,QAAQ,UAAU;AAEjD,MAAMC,OAAO,GAAGA,CAACC,WAAwB,EAAEC,GAAW,KAAkB;EACtE,MAAMC,YAAY,GAAGJ,SAAS,CAACK,wBAAwB,CAACH,WAAW,CAAC;EACpE,IAAIE,YAAY,EAAE,OAAOF,WAAW;EAEpC,MAAMI,YAAY,GAAGJ,WAAW,CAACK,iBAAiB,CAAC,CAAC;EACpD,MAAMC,oBAAoB,GAAGF,YAAY,CAACG,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE;IACxEN;EACF,CAAC,CAAC;EACF,MAAMO,SAAS,GAAGF,oBAAoB,CAACG,uBAAuB,CAAC,CAAC;EAChE,MAAMC,eAAe,GAAGb,WAAW,CAACc,GAAG,CAACX,WAAW,EAAE;IACnDY,cAAc,EAAEN;EAClB,CAAC,CAAC;EACF,OAAOR,SAAS,CAACe,UAAU,CACzBH,eAAe,EACfA,eAAe,CAACI,YAAY,CAAC,CAAC,EAC9BN,SACF,CAAC;AACH,CAAC;AAED,eAAeT,OAAO"}
|
|
1
|
+
{"version":3,"file":"setLink.js","names":["EditorState","RichUtils","setLink","editorState","url","containsLink","currentBlockContainsLink","contentState","getCurrentContent","contentStateWithLink","createEntity","entityKey","getLastCreatedEntityKey","nextEditorState","set","currentContent","toggleLink","getSelection"],"sources":["../../../../src/Editor/utils/setLink.ts"],"sourcesContent":["import { EditorState, RichUtils } from 'draft-js';\n\nconst setLink = (editorState: EditorState, url: string): EditorState => {\n const containsLink = RichUtils.currentBlockContainsLink(editorState);\n if (containsLink) return editorState;\n\n const contentState = editorState.getCurrentContent();\n const contentStateWithLink = contentState.createEntity('LINK', 'MUTABLE', {\n url,\n });\n const entityKey = contentStateWithLink.getLastCreatedEntityKey();\n const nextEditorState = EditorState.set(editorState, {\n currentContent: contentStateWithLink,\n });\n return RichUtils.toggleLink(\n nextEditorState,\n nextEditorState.getSelection(),\n entityKey\n );\n};\n\nexport default setLink;\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,SAAS,QAAQ,UAAU;AAEjD,MAAMC,OAAO,GAAGA,CAACC,WAAwB,EAAEC,GAAW,KAAkB;EACtE,MAAMC,YAAY,GAAGJ,SAAS,CAACK,wBAAwB,CAACH,WAAW,CAAC;EACpE,IAAIE,YAAY,EAAE,OAAOF,WAAW;EAEpC,MAAMI,YAAY,GAAGJ,WAAW,CAACK,iBAAiB,CAAC,CAAC;EACpD,MAAMC,oBAAoB,GAAGF,YAAY,CAACG,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE;IACxEN;EACF,CAAC,CAAC;EACF,MAAMO,SAAS,GAAGF,oBAAoB,CAACG,uBAAuB,CAAC,CAAC;EAChE,MAAMC,eAAe,GAAGb,WAAW,CAACc,GAAG,CAACX,WAAW,EAAE;IACnDY,cAAc,EAAEN;EAClB,CAAC,CAAC;EACF,OAAOR,SAAS,CAACe,UAAU,CACzBH,eAAe,EACfA,eAAe,CAACI,YAAY,CAAC,CAAC,EAC9BN,SACF,CAAC;AACH,CAAC;AAED,eAAeT,OAAO","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformers.js","names":["editorStateToFirstParagraph","editorState","firstUnstyledBlock","getCurrentContent","getBlocksAsArray","find","block","getType","getText","editorStateToMetaDescription","slice","replace","trim"],"sources":["../../../../src/Editor/utils/transformers.ts"],"sourcesContent":["import { EditorState } from 'draft-js';\n\nexport const editorStateToFirstParagraph = (\n editorState: EditorState\n): string => {\n const firstUnstyledBlock = editorState\n .getCurrentContent()\n .getBlocksAsArray()\n .find((block) => block.getType() === 'unstyled');\n\n return firstUnstyledBlock ? firstUnstyledBlock.getText() : '';\n};\n\nexport const editorStateToMetaDescription = (\n editorState: EditorState\n): string =>\n editorStateToFirstParagraph(editorState)\n .slice(0, 200)\n .replace(/^(.*[.?!])(.*)/, '$1')\n .trim();\n"],"mappings":"AAEA,OAAO,MAAMA,2BAA2B,GACtCC,WAAwB,IACb;EACX,MAAMC,kBAAkB,GAAGD,WAAW,CACnCE,iBAAiB,CAAC,CAAC,CACnBC,gBAAgB,CAAC,CAAC,CAClBC,IAAI,CAAEC,KAAK,IAAKA,KAAK,CAACC,OAAO,CAAC,CAAC,KAAK,UAAU,CAAC;EAElD,OAAOL,kBAAkB,GAAGA,kBAAkB,CAACM,OAAO,CAAC,CAAC,GAAG,EAAE;AAC/D,CAAC;AAED,OAAO,MAAMC,4BAA4B,GACvCR,WAAwB,IAExBD,2BAA2B,CAACC,WAAW,CAAC,CACrCS,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CACbC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAC/BC,IAAI,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"transformers.js","names":["editorStateToFirstParagraph","editorState","firstUnstyledBlock","getCurrentContent","getBlocksAsArray","find","block","getType","getText","editorStateToMetaDescription","slice","replace","trim"],"sources":["../../../../src/Editor/utils/transformers.ts"],"sourcesContent":["import { EditorState } from 'draft-js';\n\nexport const editorStateToFirstParagraph = (\n editorState: EditorState\n): string => {\n const firstUnstyledBlock = editorState\n .getCurrentContent()\n .getBlocksAsArray()\n .find((block) => block.getType() === 'unstyled');\n\n return firstUnstyledBlock ? firstUnstyledBlock.getText() : '';\n};\n\nexport const editorStateToMetaDescription = (\n editorState: EditorState\n): string =>\n editorStateToFirstParagraph(editorState)\n .slice(0, 200)\n .replace(/^(.*[.?!])(.*)/, '$1')\n .trim();\n"],"mappings":"AAEA,OAAO,MAAMA,2BAA2B,GACtCC,WAAwB,IACb;EACX,MAAMC,kBAAkB,GAAGD,WAAW,CACnCE,iBAAiB,CAAC,CAAC,CACnBC,gBAAgB,CAAC,CAAC,CAClBC,IAAI,CAAEC,KAAK,IAAKA,KAAK,CAACC,OAAO,CAAC,CAAC,KAAK,UAAU,CAAC;EAElD,OAAOL,kBAAkB,GAAGA,kBAAkB,CAACM,OAAO,CAAC,CAAC,GAAG,EAAE;AAC/D,CAAC;AAED,OAAO,MAAMC,4BAA4B,GACvCR,WAAwB,IAExBD,2BAA2B,CAACC,WAAW,CAAC,CACrCS,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CACbC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAC/BC,IAAI,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unsetLink.js","names":["RichUtils","unsetLink","editorState","containsLink","currentBlockContainsLink","selectionState","getSelection","toggleLink"],"sources":["../../../../src/Editor/utils/unsetLink.ts"],"sourcesContent":["import { EditorState, RichUtils } from 'draft-js';\n\nconst unsetLink = (editorState: EditorState): EditorState => {\n const containsLink = RichUtils.currentBlockContainsLink(editorState);\n if (!containsLink) return editorState;\n\n const selectionState = editorState.getSelection();\n return RichUtils.toggleLink(editorState, selectionState, null);\n};\n\nexport default unsetLink;\n"],"mappings":"AAAA,SAAsBA,SAAS,QAAQ,UAAU;AAEjD,MAAMC,SAAS,GAAIC,WAAwB,IAAkB;EAC3D,MAAMC,YAAY,GAAGH,SAAS,CAACI,wBAAwB,CAACF,WAAW,CAAC;EACpE,IAAI,CAACC,YAAY,EAAE,OAAOD,WAAW;EAErC,MAAMG,cAAc,GAAGH,WAAW,CAACI,YAAY,CAAC,CAAC;EACjD,OAAON,SAAS,CAACO,UAAU,CAACL,WAAW,EAAEG,cAAc,EAAE,IAAI,CAAC;AAChE,CAAC;AAED,eAAeJ,SAAS"}
|
|
1
|
+
{"version":3,"file":"unsetLink.js","names":["RichUtils","unsetLink","editorState","containsLink","currentBlockContainsLink","selectionState","getSelection","toggleLink"],"sources":["../../../../src/Editor/utils/unsetLink.ts"],"sourcesContent":["import { EditorState, RichUtils } from 'draft-js';\n\nconst unsetLink = (editorState: EditorState): EditorState => {\n const containsLink = RichUtils.currentBlockContainsLink(editorState);\n if (!containsLink) return editorState;\n\n const selectionState = editorState.getSelection();\n return RichUtils.toggleLink(editorState, selectionState, null);\n};\n\nexport default unsetLink;\n"],"mappings":"AAAA,SAAsBA,SAAS,QAAQ,UAAU;AAEjD,MAAMC,SAAS,GAAIC,WAAwB,IAAkB;EAC3D,MAAMC,YAAY,GAAGH,SAAS,CAACI,wBAAwB,CAACF,WAAW,CAAC;EACpE,IAAI,CAACC,YAAY,EAAE,OAAOD,WAAW;EAErC,MAAMG,cAAc,GAAGH,WAAW,CAACI,YAAY,CAAC,CAAC;EACjD,OAAON,SAAS,CAACO,UAAU,CAACL,WAAW,EAAEG,cAAc,EAAE,IAAI,CAAC;AAChE,CAAC;AAED,eAAeJ,SAAS","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["styled","InputSkeleton","React","forwardRef","StyledEditorSkeleton","p","theme","editorMinHeight","EditorSkeleton","props","ref","createElement","_extends","displayName"],"sources":["../../../src/EditorSkeleton/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { InputSkeleton, InputSkeletonProps } from '@os-design/core';\nimport React, { forwardRef } from 'react';\n\nexport type EditorSkeletonProps = InputSkeletonProps;\n\nconst StyledEditorSkeleton = styled(InputSkeleton)`\n height: ${(p) => p.theme.editorMinHeight}em;\n`;\n\n/**\n * Provides an editor placeholder while a user waits for the content to load.\n */\nconst EditorSkeleton = forwardRef<HTMLDivElement, EditorSkeletonProps>(\n (props, ref) => <StyledEditorSkeleton {...props} ref={ref} />\n);\n\nEditorSkeleton.displayName = 'EditorSkeleton';\n\nexport default EditorSkeleton;\n"],"mappings":";AAAA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SAASC,aAAa,QAA4B,iBAAiB;AACnE,OAAOC,KAAK,IAAIC,UAAU,QAAQ,OAAO;AAIzC,MAAMC,oBAAoB,GAAGJ,MAAM,CAACC,aAAa,CAAE;AACnD,YAAaI,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACC,eAAgB;AAC3C,CAAC;;AAED;AACA;AACA;AACA,MAAMC,cAAc,gBAAGL,UAAU,CAC/B,CAACM,KAAK,EAAEC,GAAG,kBAAKR,KAAA,CAAAS,aAAA,CAACP,oBAAoB,EAAAQ,QAAA,KAAKH,KAAK;EAAEC,GAAG,EAAEA;AAAI,EAAE,CAC9D,CAAC;AAEDF,cAAc,CAACK,WAAW,GAAG,gBAAgB;AAE7C,eAAeL,cAAc"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["styled","InputSkeleton","React","forwardRef","StyledEditorSkeleton","p","theme","editorMinHeight","EditorSkeleton","props","ref","createElement","_extends","displayName"],"sources":["../../../src/EditorSkeleton/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { InputSkeleton, InputSkeletonProps } from '@os-design/core';\nimport React, { forwardRef } from 'react';\n\nexport type EditorSkeletonProps = InputSkeletonProps;\n\nconst StyledEditorSkeleton = styled(InputSkeleton)`\n height: ${(p) => p.theme.editorMinHeight}em;\n`;\n\n/**\n * Provides an editor placeholder while a user waits for the content to load.\n */\nconst EditorSkeleton = forwardRef<HTMLDivElement, EditorSkeletonProps>(\n (props, ref) => <StyledEditorSkeleton {...props} ref={ref} />\n);\n\nEditorSkeleton.displayName = 'EditorSkeleton';\n\nexport default EditorSkeleton;\n"],"mappings":";AAAA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SAASC,aAAa,QAA4B,iBAAiB;AACnE,OAAOC,KAAK,IAAIC,UAAU,QAAQ,OAAO;AAIzC,MAAMC,oBAAoB,GAAGJ,MAAM,CAACC,aAAa,CAAE;AACnD,YAAaI,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACC,eAAgB;AAC3C,CAAC;;AAED;AACA;AACA;AACA,MAAMC,cAAc,gBAAGL,UAAU,CAC/B,CAACM,KAAK,EAAEC,GAAG,kBAAKR,KAAA,CAAAS,aAAA,CAACP,oBAAoB,EAAAQ,QAAA,KAAKH,KAAK;EAAEC,GAAG,EAAEA;AAAI,EAAE,CAC9D,CAAC;AAEDF,cAAc,CAACK,WAAW,GAAG,gBAAgB;AAE7C,eAAeL,cAAc","ignoreList":[]}
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default","Editor","addNewBlockAt","changeBlock","createContentEditorState","createDecorator","createEmptyEditorState","defaultStyleToolbarItems","getCurrentBlock","imageBlock","videoBlock","EditorSkeleton"],"sources":["../../src/index.ts"],"sourcesContent":["export { default as Editor } from './Editor';\nexport { default as addNewBlockAt } from './Editor/utils/addNewBlockAt';\nexport { default as changeBlock } from './Editor/utils/changeBlock';\nexport { default as createContentEditorState } from './Editor/utils/createContentEditorState';\nexport { default as createDecorator } from './Editor/utils/createDecorator';\nexport { default as createEmptyEditorState } from './Editor/utils/createEmptyEditorState';\nexport { default as defaultStyleToolbarItems } from './Editor/utils/defaultStyleToolbarItems';\nexport { default as getCurrentBlock } from './Editor/utils/getCurrentBlock';\nexport { default as imageBlock } from './Editor/blocks/imageBlock';\nexport { default as videoBlock } from './Editor/blocks/videoBlock';\nexport { default as EditorSkeleton } from './EditorSkeleton';\n\nexport * from './Editor';\nexport * from './Editor/utils/transformers';\nexport * from './Editor/blocks/types';\nexport * from './EditorSkeleton';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,MAAM,QAAQ,UAAU;AAC5C,SAASD,OAAO,IAAIE,aAAa,QAAQ,8BAA8B;AACvE,SAASF,OAAO,IAAIG,WAAW,QAAQ,4BAA4B;AACnE,SAASH,OAAO,IAAII,wBAAwB,QAAQ,yCAAyC;AAC7F,SAASJ,OAAO,IAAIK,eAAe,QAAQ,gCAAgC;AAC3E,SAASL,OAAO,IAAIM,sBAAsB,QAAQ,uCAAuC;AACzF,SAASN,OAAO,IAAIO,wBAAwB,QAAQ,yCAAyC;AAC7F,SAASP,OAAO,IAAIQ,eAAe,QAAQ,gCAAgC;AAC3E,SAASR,OAAO,IAAIS,UAAU,QAAQ,4BAA4B;AAClE,SAAST,OAAO,IAAIU,UAAU,QAAQ,4BAA4B;AAClE,SAASV,OAAO,IAAIW,cAAc,QAAQ,kBAAkB;AAE5D,cAAc,UAAU;AACxB,cAAc,6BAA6B;AAC3C,cAAc,uBAAuB;AACrC,cAAc,kBAAkB"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","Editor","addNewBlockAt","changeBlock","createContentEditorState","createDecorator","createEmptyEditorState","defaultStyleToolbarItems","getCurrentBlock","imageBlock","videoBlock","EditorSkeleton"],"sources":["../../src/index.ts"],"sourcesContent":["export { default as Editor } from './Editor';\nexport { default as addNewBlockAt } from './Editor/utils/addNewBlockAt';\nexport { default as changeBlock } from './Editor/utils/changeBlock';\nexport { default as createContentEditorState } from './Editor/utils/createContentEditorState';\nexport { default as createDecorator } from './Editor/utils/createDecorator';\nexport { default as createEmptyEditorState } from './Editor/utils/createEmptyEditorState';\nexport { default as defaultStyleToolbarItems } from './Editor/utils/defaultStyleToolbarItems';\nexport { default as getCurrentBlock } from './Editor/utils/getCurrentBlock';\nexport { default as imageBlock } from './Editor/blocks/imageBlock';\nexport { default as videoBlock } from './Editor/blocks/videoBlock';\nexport { default as EditorSkeleton } from './EditorSkeleton';\n\nexport * from './Editor';\nexport * from './Editor/utils/transformers';\nexport * from './Editor/blocks/types';\nexport * from './EditorSkeleton';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,MAAM,QAAQ,UAAU;AAC5C,SAASD,OAAO,IAAIE,aAAa,QAAQ,8BAA8B;AACvE,SAASF,OAAO,IAAIG,WAAW,QAAQ,4BAA4B;AACnE,SAASH,OAAO,IAAII,wBAAwB,QAAQ,yCAAyC;AAC7F,SAASJ,OAAO,IAAIK,eAAe,QAAQ,gCAAgC;AAC3E,SAASL,OAAO,IAAIM,sBAAsB,QAAQ,uCAAuC;AACzF,SAASN,OAAO,IAAIO,wBAAwB,QAAQ,yCAAyC;AAC7F,SAASP,OAAO,IAAIQ,eAAe,QAAQ,gCAAgC;AAC3E,SAASR,OAAO,IAAIS,UAAU,QAAQ,4BAA4B;AAClE,SAAST,OAAO,IAAIU,UAAU,QAAQ,4BAA4B;AAClE,SAASV,OAAO,IAAIW,cAAc,QAAQ,kBAAkB;AAE5D,cAAc,UAAU;AACxB,cAAc,6BAA6B;AAC3C,cAAc,uBAAuB;AACrC,cAAc,kBAAkB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imageBlock.d.ts","sourceRoot":"","sources":["../../../../src/Editor/blocks/imageBlock.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAc,gBAAgB,EAAE,MAAM,SAAS,CAAC;AA2FvD,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAE1C,QAAA,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"imageBlock.d.ts","sourceRoot":"","sources":["../../../../src/Editor/blocks/imageBlock.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAc,gBAAgB,EAAE,MAAM,SAAS,CAAC;AA2FvD,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAE1C,QAAA,MAAM,UAAU,kBACC,CAAC,IAAI,EAAE,IAAI,KAAK,QAAQ,MAAM,CAAC,KAC7C,gBAgDD,CAAC;AAEH,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePastedTextHandler.d.ts","sourceRoot":"","sources":["../../../../src/Editor/hooks/usePastedTextHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,IAAI,gBAAgB,EAE/B,WAAW,EAGZ,MAAM,UAAU,CAAC;AAGlB,KAAK,uBAAuB,GAAG,OAAO,CACpC,gBAAgB,CAAC,kBAAkB,CAAC,EACpC,SAAS,CACV,CAAC;AAKF,QAAA,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"usePastedTextHandler.d.ts","sourceRoot":"","sources":["../../../../src/Editor/hooks/usePastedTextHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,IAAI,gBAAgB,EAE/B,WAAW,EAGZ,MAAM,UAAU,CAAC;AAGlB,KAAK,uBAAuB,GAAG,OAAO,CACpC,gBAAgB,CAAC,kBAAkB,CAAC,EACpC,SAAS,CACV,CAAC;AAKF,QAAA,MAAM,oBAAoB,aACd,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,WAC7B,uBAAuB,KAC/B,uBAwBA,CAAC;AAEJ,eAAe,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReturnHandler.d.ts","sourceRoot":"","sources":["../../../../src/Editor/hooks/useReturnHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAKxE,KAAK,mBAAmB,GAAG,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC;AAKzE,QAAA,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"useReturnHandler.d.ts","sourceRoot":"","sources":["../../../../src/Editor/hooks/useReturnHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAKxE,KAAK,mBAAmB,GAAG,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC;AAKzE,QAAA,MAAM,gBAAgB,aACV,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,WAC7B,mBAAmB,KAC3B,mBAqBA,CAAC;AAEJ,eAAe,gBAAgB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@os-design/editor",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.246",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"repository": "git@gitlab.com:os-team/libs/os-design.git",
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -30,17 +30,17 @@
|
|
|
30
30
|
"access": "public"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@os-design/core": "^1.0.
|
|
34
|
-
"@os-design/icons": "^1.0.
|
|
35
|
-
"@os-design/styles": "^1.0.
|
|
36
|
-
"@os-design/theming": "^1.0.
|
|
37
|
-
"@os-design/utils": "^1.0.
|
|
33
|
+
"@os-design/core": "^1.0.241",
|
|
34
|
+
"@os-design/icons": "^1.0.58",
|
|
35
|
+
"@os-design/styles": "^1.0.55",
|
|
36
|
+
"@os-design/theming": "^1.0.51",
|
|
37
|
+
"@os-design/utils": "^1.0.73",
|
|
38
38
|
"draft-js": "^0.11.7"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@emotion/react": ">=11",
|
|
42
42
|
"@emotion/styled": ">=11",
|
|
43
|
-
"@types/draft-js": "^0.11.
|
|
43
|
+
"@types/draft-js": "^0.11.18",
|
|
44
44
|
"immutable": "~3.7.4"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"react": ">=18",
|
|
51
51
|
"react-dom": ">=18"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "1f17189e344a56fd6347dd6b896d6e7ef6e7b35d"
|
|
54
54
|
}
|