@os-design/editor 1.0.139 → 1.0.140

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.
Files changed (68) hide show
  1. package/dist/cjs/Editor/BlockToolbar.js.map +1 -1
  2. package/dist/cjs/Editor/StyleToolbar.js.map +1 -1
  3. package/dist/cjs/Editor/Toolbar.js.map +1 -1
  4. package/dist/cjs/Editor/ToolbarButton.js.map +1 -1
  5. package/dist/cjs/Editor/blocks/Figure.js.map +1 -1
  6. package/dist/cjs/Editor/blocks/FigureCaption.js.map +1 -1
  7. package/dist/cjs/Editor/blocks/imageBlock.js +4 -2
  8. package/dist/cjs/Editor/blocks/imageBlock.js.map +1 -1
  9. package/dist/cjs/Editor/blocks/types.js.map +1 -1
  10. package/dist/cjs/Editor/blocks/youTubeBlock.js.map +1 -1
  11. package/dist/cjs/Editor/decorators/linkDecorator.js.map +1 -1
  12. package/dist/cjs/Editor/hooks/useBlockToolbarProps.js.map +1 -1
  13. package/dist/cjs/Editor/hooks/usePastedTextHandler.js.map +1 -1
  14. package/dist/cjs/Editor/hooks/useReturnHandler.js.map +1 -1
  15. package/dist/cjs/Editor/hooks/useStyleToolbarProps.js.map +1 -1
  16. package/dist/cjs/Editor/index.js.map +1 -1
  17. package/dist/cjs/Editor/styles/defaultDraftJsStyles.js.map +1 -1
  18. package/dist/cjs/Editor/styles/overrideDraftJsStyles.js.map +1 -1
  19. package/dist/cjs/Editor/utils/addNewBlockAt.js.map +1 -1
  20. package/dist/cjs/Editor/utils/changeBlock.js.map +1 -1
  21. package/dist/cjs/Editor/utils/createContentEditorState.js.map +1 -1
  22. package/dist/cjs/Editor/utils/createDecorator.js.map +1 -1
  23. package/dist/cjs/Editor/utils/createEmptyEditorState.js.map +1 -1
  24. package/dist/cjs/Editor/utils/defaultStyleToolbarItems.js.map +1 -1
  25. package/dist/cjs/Editor/utils/getCurrentBlock.js.map +1 -1
  26. package/dist/cjs/Editor/utils/getSelectedBlockElement.js.map +1 -1
  27. package/dist/cjs/Editor/utils/getSelectionRange.js.map +1 -1
  28. package/dist/cjs/Editor/utils/setLink.js.map +1 -1
  29. package/dist/cjs/Editor/utils/transformers.js.map +1 -1
  30. package/dist/cjs/Editor/utils/unsetLink.js.map +1 -1
  31. package/dist/cjs/EditorSkeleton/index.js.map +1 -1
  32. package/dist/cjs/emotion.d.js.map +1 -1
  33. package/dist/cjs/index.js.map +1 -1
  34. package/dist/esm/Editor/BlockToolbar.js.map +1 -1
  35. package/dist/esm/Editor/StyleToolbar.js.map +1 -1
  36. package/dist/esm/Editor/Toolbar.js.map +1 -1
  37. package/dist/esm/Editor/ToolbarButton.js.map +1 -1
  38. package/dist/esm/Editor/blocks/Figure.js.map +1 -1
  39. package/dist/esm/Editor/blocks/FigureCaption.js.map +1 -1
  40. package/dist/esm/Editor/blocks/imageBlock.js.map +1 -1
  41. package/dist/esm/Editor/blocks/types.js.map +1 -1
  42. package/dist/esm/Editor/blocks/youTubeBlock.js.map +1 -1
  43. package/dist/esm/Editor/decorators/linkDecorator.js.map +1 -1
  44. package/dist/esm/Editor/hooks/useBlockToolbarProps.js.map +1 -1
  45. package/dist/esm/Editor/hooks/usePastedTextHandler.js.map +1 -1
  46. package/dist/esm/Editor/hooks/useReturnHandler.js.map +1 -1
  47. package/dist/esm/Editor/hooks/useStyleToolbarProps.js.map +1 -1
  48. package/dist/esm/Editor/index.js.map +1 -1
  49. package/dist/esm/Editor/styles/defaultDraftJsStyles.js.map +1 -1
  50. package/dist/esm/Editor/styles/overrideDraftJsStyles.js.map +1 -1
  51. package/dist/esm/Editor/utils/addNewBlockAt.js.map +1 -1
  52. package/dist/esm/Editor/utils/changeBlock.js.map +1 -1
  53. package/dist/esm/Editor/utils/createContentEditorState.js.map +1 -1
  54. package/dist/esm/Editor/utils/createDecorator.js.map +1 -1
  55. package/dist/esm/Editor/utils/createEmptyEditorState.js.map +1 -1
  56. package/dist/esm/Editor/utils/defaultStyleToolbarItems.js.map +1 -1
  57. package/dist/esm/Editor/utils/getCurrentBlock.js.map +1 -1
  58. package/dist/esm/Editor/utils/getSelectedBlockElement.js.map +1 -1
  59. package/dist/esm/Editor/utils/getSelectionRange.js.map +1 -1
  60. package/dist/esm/Editor/utils/setLink.js.map +1 -1
  61. package/dist/esm/Editor/utils/transformers.js.map +1 -1
  62. package/dist/esm/Editor/utils/unsetLink.js.map +1 -1
  63. package/dist/esm/EditorSkeleton/index.js.map +1 -1
  64. package/dist/esm/emotion.d.js.map +1 -1
  65. package/dist/esm/index.js.map +1 -1
  66. package/dist/types/Editor/styles/defaultDraftJsStyles.d.ts +1 -1
  67. package/dist/types/Editor/styles/overrideDraftJsStyles.d.ts +1 -1
  68. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Editor/BlockToolbar.tsx"],"names":["BlockToolbar","items","value","onChange","setReadOnly","rest","clickHandler","onClick","currentBlock","getType","getLength","map","item","type","icon"],"mappings":";;;;;;;;;AAAA;;AAGA;;AACA;;AAEA;;;;;;;;;;;;;;AASA,IAAMA,YAAyC,GAAG,SAA5CA,YAA4C,OAM5C;AAAA,MALJC,KAKI,QALJA,KAKI;AAAA,MAJJC,KAII,QAJJA,KAII;AAAA,MAHJC,QAGI,QAHJA,QAGI;AAAA,MAFJC,WAEI,QAFJA,WAEI;AAAA,MADDC,IACC;;AACJ,MAAMC,YAAY,GAAG,wBACnB,iBAAiB;AAAA,QAAdC,OAAc,SAAdA,OAAc;AACf,QAAMC,YAAY,GAAG,iCAAgBN,KAAhB,CAArB;AACA,QAAIM,YAAY,CAACC,OAAb,OAA2B,UAA3B,IAAyCD,YAAY,CAACE,SAAb,KAA2B,CAAxE,EACE;AACFH,IAAAA,OAAO,CAAC;AACNL,MAAAA,KAAK,EAALA,KADM;AAENC,MAAAA,QAAQ,EAARA,QAFM;AAGNC,MAAAA,WAAW,EAAXA;AAHM,KAAD,CAAP;AAKD,GAVkB,EAWnB,CAACF,KAAD,EAAQC,QAAR,EAAkBC,WAAlB,CAXmB,CAArB;AAcA,sBACE,gCAAC,mBAAD,EAAaC,IAAb,EACGJ,KAAK,CAACU,GAAN,CAAU,UAACC,IAAD;AAAA,wBACT,gCAAC,yBAAD;AAAe,MAAA,GAAG,EAAEA,IAAI,CAACC,IAAzB;AAA+B,MAAA,OAAO,EAAE;AAAA,eAAMP,YAAY,CAACM,IAAD,CAAlB;AAAA;AAAxC,OACGA,IAAI,CAACE,IADR,CADS;AAAA,GAAV,CADH,CADF;AASD,CA9BD;;eAgCed,Y","sourcesContent":["import React, { useCallback } from 'react';\nimport { EditorState } from 'draft-js';\nimport { PopoverProps } from '@os-design/core';\nimport Toolbar from './Toolbar';\nimport ToolbarButton from './ToolbarButton';\nimport { BlockToolbarItem } from './blocks/types';\nimport getCurrentBlock from './utils/getCurrentBlock';\n\ninterface BlockToolbarProps extends Omit<PopoverProps, 'onChange'> {\n items: BlockToolbarItem[];\n value: EditorState;\n onChange: (value: EditorState) => void;\n setReadOnly: (readOnly: boolean) => void;\n}\n\nconst BlockToolbar: React.FC<BlockToolbarProps> = ({\n items,\n value,\n onChange,\n setReadOnly,\n ...rest\n}) => {\n const clickHandler = useCallback<(item: BlockToolbarItem) => void>(\n ({ onClick }) => {\n const currentBlock = getCurrentBlock(value);\n if (currentBlock.getType() !== 'unstyled' || currentBlock.getLength() > 0)\n return;\n onClick({\n value,\n onChange,\n setReadOnly,\n });\n },\n [value, onChange, setReadOnly]\n );\n\n return (\n <Toolbar {...rest}>\n {items.map((item) => (\n <ToolbarButton key={item.type} onClick={() => clickHandler(item)}>\n {item.icon}\n </ToolbarButton>\n ))}\n </Toolbar>\n );\n};\n\nexport default BlockToolbar;\n"],"file":"BlockToolbar.js"}
1
+ {"version":3,"file":"BlockToolbar.js","names":["BlockToolbar","items","value","onChange","setReadOnly","rest","clickHandler","useCallback","onClick","currentBlock","getCurrentBlock","getType","getLength","map","item","type","icon"],"sources":["../../../src/Editor/BlockToolbar.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { EditorState } from 'draft-js';\nimport { PopoverProps } from '@os-design/core';\nimport Toolbar from './Toolbar';\nimport ToolbarButton from './ToolbarButton';\nimport { BlockToolbarItem } from './blocks/types';\nimport getCurrentBlock from './utils/getCurrentBlock';\n\ninterface BlockToolbarProps extends Omit<PopoverProps, 'onChange'> {\n items: BlockToolbarItem[];\n value: EditorState;\n onChange: (value: EditorState) => void;\n setReadOnly: (readOnly: boolean) => void;\n}\n\nconst BlockToolbar: React.FC<BlockToolbarProps> = ({\n items,\n value,\n onChange,\n setReadOnly,\n ...rest\n}) => {\n const clickHandler = useCallback<(item: BlockToolbarItem) => void>(\n ({ onClick }) => {\n const currentBlock = getCurrentBlock(value);\n if (currentBlock.getType() !== 'unstyled' || currentBlock.getLength() > 0)\n return;\n onClick({\n value,\n onChange,\n setReadOnly,\n });\n },\n [value, onChange, setReadOnly]\n );\n\n return (\n <Toolbar {...rest}>\n {items.map((item) => (\n <ToolbarButton key={item.type} onClick={() => clickHandler(item)}>\n {item.icon}\n </ToolbarButton>\n ))}\n </Toolbar>\n );\n};\n\nexport default BlockToolbar;\n"],"mappings":";;;;;;;;;AAAA;;AAGA;;AACA;;AAEA;;;;;;;;;;;;;;AASA,IAAMA,YAAyC,GAAG,SAA5CA,YAA4C,OAM5C;EAAA,IALJC,KAKI,QALJA,KAKI;EAAA,IAJJC,KAII,QAJJA,KAII;EAAA,IAHJC,QAGI,QAHJA,QAGI;EAAA,IAFJC,WAEI,QAFJA,WAEI;EAAA,IADDC,IACC;;EACJ,IAAMC,YAAY,GAAG,IAAAC,kBAAA,EACnB,iBAAiB;IAAA,IAAdC,OAAc,SAAdA,OAAc;IACf,IAAMC,YAAY,GAAG,IAAAC,2BAAA,EAAgBR,KAAhB,CAArB;IACA,IAAIO,YAAY,CAACE,OAAb,OAA2B,UAA3B,IAAyCF,YAAY,CAACG,SAAb,KAA2B,CAAxE,EACE;IACFJ,OAAO,CAAC;MACNN,KAAK,EAALA,KADM;MAENC,QAAQ,EAARA,QAFM;MAGNC,WAAW,EAAXA;IAHM,CAAD,CAAP;EAKD,CAVkB,EAWnB,CAACF,KAAD,EAAQC,QAAR,EAAkBC,WAAlB,CAXmB,CAArB;EAcA,oBACE,gCAAC,mBAAD,EAAaC,IAAb,EACGJ,KAAK,CAACY,GAAN,CAAU,UAACC,IAAD;IAAA,oBACT,gCAAC,yBAAD;MAAe,GAAG,EAAEA,IAAI,CAACC,IAAzB;MAA+B,OAAO,EAAE;QAAA,OAAMT,YAAY,CAACQ,IAAD,CAAlB;MAAA;IAAxC,GACGA,IAAI,CAACE,IADR,CADS;EAAA,CAAV,CADH,CADF;AASD,CA9BD;;eAgCehB,Y"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Editor/StyleToolbar.tsx"],"names":["StyleToolbar","items","value","onChange","rest","currentBlockType","RichUtils","getCurrentBlockType","currentBlockContainsLink","toggleLink","url","prompt","clickHandler","item","type","toggleInlineStyle","name","toggleBlockType","length","map","isLink","active","getCurrentInlineStyle","has","onClick","icon","displayName"],"mappings":";;;;;;;;;AAAA;;AACA;;AAGA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAQA,IAAMA,YAAyC,GAAG,SAA5CA,YAA4C,OAK5C;AAAA,MAJJC,KAII,QAJJA,KAII;AAAA,MAHJC,KAGI,QAHJA,KAGI;AAAA,2BAFJC,QAEI;AAAA,MAFJA,QAEI,8BAFO,YAAM,CAAE,CAEf;AAAA,MADDC,IACC;;AACJ,MAAMC,gBAAgB,GAAG,oBACvB;AAAA,WAAMC,mBAAUC,mBAAV,CAA8BL,KAA9B,CAAN;AAAA,GADuB,EAEvB,CAACA,KAAD,CAFuB,CAAzB;AAIA,MAAMM,wBAAwB,GAAG,oBAC/B;AAAA,WAAMF,mBAAUE,wBAAV,CAAmCN,KAAnC,CAAN;AAAA,GAD+B,EAE/B,CAACA,KAAD,CAF+B,CAAjC;AAKA,MAAMO,UAAU,GAAG,wBAAY,YAAM;AACnC,QAAID,wBAAJ,EAA8B;AAC5BL,MAAAA,QAAQ,CAAC,2BAAUD,KAAV,CAAD,CAAR;AACA;AACD,KAJkC,CAKnC;;;AACA,QAAMQ,GAAG,GAAGC,MAAM,CAAC,sBAAD,CAAlB;AACA,QAAI,CAACD,GAAL,EAAU;AACVP,IAAAA,QAAQ,CAAC,yBAAQD,KAAR,EAAeQ,GAAf,CAAD,CAAR;AACD,GATkB,EAShB,CAACF,wBAAD,EAA2BN,KAA3B,EAAkCC,QAAlC,CATgB,CAAnB;AAWA,MAAMS,YAAY,GAAG,wBACnB,UAACC,IAAD,EAAU;AACR,QAAIA,IAAI,CAACC,IAAL,KAAc,QAAlB,EAA4B;AAC1BX,MAAAA,QAAQ,CAACG,mBAAUS,iBAAV,CAA4Bb,KAA5B,EAAmCW,IAAI,CAACG,IAAxC,CAAD,CAAR;AACD,KAFD,MAEO,IAAIH,IAAI,CAACC,IAAL,KAAc,OAAlB,EAA2B;AAChCX,MAAAA,QAAQ,CAACG,mBAAUW,eAAV,CAA0Bf,KAA1B,EAAiCW,IAAI,CAACG,IAAtC,CAAD,CAAR;AACD;AACF,GAPkB,EAQnB,CAACd,KAAD,EAAQC,QAAR,CARmB,CAArB;AAWA,MAAIF,KAAK,CAACiB,MAAN,KAAiB,CAArB,EAAwB,OAAO,IAAP;AAExB,sBACE,gCAAC,mBAAD,EAAad,IAAb,EACGH,KAAK,CAACkB,GAAN,CAAU,UAACN,IAAD,EAAU;AACnB,QAAMO,MAAM,GAAGP,IAAI,CAACG,IAAL,KAAc,MAAd,IAAwBH,IAAI,CAACC,IAAL,KAAc,QAArD;AAEA,QAAMO,MAAM,GAAGD,MAAM,GACjBZ,wBADiB,GAEjBN,KAAK,CAACoB,qBAAN,GAA8BC,GAA9B,CAAkCV,IAAI,CAACG,IAAvC,KACAX,gBAAgB,KAAKQ,IAAI,CAACG,IAH9B;AAIA,QAAMQ,OAAO,GAAGJ,MAAM,GAAGX,UAAH,GAAgB;AAAA,aAAMG,YAAY,CAACC,IAAD,CAAlB;AAAA,KAAtC;AAEA,wBACE,gCAAC,yBAAD;AAAe,MAAA,GAAG,EAAEA,IAAI,CAACG,IAAzB;AAA+B,MAAA,MAAM,EAAEK,MAAvC;AAA+C,MAAA,OAAO,EAAEG;AAAxD,OACGX,IAAI,CAACY,IADR,CADF;AAKD,GAdA,CADH,CADF;AAmBD,CA1DD;;AA4DAzB,YAAY,CAAC0B,WAAb,GAA2B,cAA3B;eAEe1B,Y","sourcesContent":["import React, { useCallback, useMemo } from 'react';\nimport { EditorState, RichUtils } from 'draft-js';\nimport { PopoverProps } from '@os-design/core';\nimport { StyleToolbarItem } from './utils/defaultStyleToolbarItems';\nimport setLink from './utils/setLink';\nimport unsetLink from './utils/unsetLink';\nimport Toolbar from './Toolbar';\nimport ToolbarButton from './ToolbarButton';\n\ninterface StyleToolbarProps extends Omit<PopoverProps, 'onChange'> {\n items: StyleToolbarItem[];\n value: EditorState;\n onChange: (value: EditorState) => void;\n}\n\nconst StyleToolbar: React.FC<StyleToolbarProps> = ({\n items,\n value,\n onChange = () => {},\n ...rest\n}) => {\n const currentBlockType = useMemo(\n () => RichUtils.getCurrentBlockType(value),\n [value]\n );\n const currentBlockContainsLink = useMemo(\n () => RichUtils.currentBlockContainsLink(value),\n [value]\n );\n\n const toggleLink = useCallback(() => {\n if (currentBlockContainsLink) {\n onChange(unsetLink(value));\n return;\n }\n // eslint-disable-next-line no-alert\n const url = prompt('Paste or type a link');\n if (!url) return;\n onChange(setLink(value, url));\n }, [currentBlockContainsLink, value, onChange]);\n\n const clickHandler = useCallback<(item: StyleToolbarItem) => void>(\n (item) => {\n if (item.type === 'inline') {\n onChange(RichUtils.toggleInlineStyle(value, item.name));\n } else if (item.type === 'block') {\n onChange(RichUtils.toggleBlockType(value, item.name));\n }\n },\n [value, onChange]\n );\n\n if (items.length === 0) return null;\n\n return (\n <Toolbar {...rest}>\n {items.map((item) => {\n const isLink = item.name === 'LINK' && item.type === 'inline';\n\n const active = isLink\n ? currentBlockContainsLink\n : value.getCurrentInlineStyle().has(item.name) ||\n currentBlockType === item.name;\n const onClick = isLink ? toggleLink : () => clickHandler(item);\n\n return (\n <ToolbarButton key={item.name} active={active} onClick={onClick}>\n {item.icon}\n </ToolbarButton>\n );\n })}\n </Toolbar>\n );\n};\n\nStyleToolbar.displayName = 'StyleToolbar';\n\nexport default StyleToolbar;\n"],"file":"StyleToolbar.js"}
1
+ {"version":3,"file":"StyleToolbar.js","names":["StyleToolbar","items","value","onChange","rest","currentBlockType","useMemo","RichUtils","getCurrentBlockType","currentBlockContainsLink","toggleLink","useCallback","unsetLink","url","prompt","setLink","clickHandler","item","type","toggleInlineStyle","name","toggleBlockType","length","map","isLink","active","getCurrentInlineStyle","has","onClick","icon","displayName"],"sources":["../../../src/Editor/StyleToolbar.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react';\nimport { EditorState, RichUtils } from 'draft-js';\nimport { PopoverProps } from '@os-design/core';\nimport { StyleToolbarItem } from './utils/defaultStyleToolbarItems';\nimport setLink from './utils/setLink';\nimport unsetLink from './utils/unsetLink';\nimport Toolbar from './Toolbar';\nimport ToolbarButton from './ToolbarButton';\n\ninterface StyleToolbarProps extends Omit<PopoverProps, 'onChange'> {\n items: StyleToolbarItem[];\n value: EditorState;\n onChange: (value: EditorState) => void;\n}\n\nconst StyleToolbar: React.FC<StyleToolbarProps> = ({\n items,\n value,\n onChange = () => {},\n ...rest\n}) => {\n const currentBlockType = useMemo(\n () => RichUtils.getCurrentBlockType(value),\n [value]\n );\n const currentBlockContainsLink = useMemo(\n () => RichUtils.currentBlockContainsLink(value),\n [value]\n );\n\n const toggleLink = useCallback(() => {\n if (currentBlockContainsLink) {\n onChange(unsetLink(value));\n return;\n }\n // eslint-disable-next-line no-alert\n const url = prompt('Paste or type a link');\n if (!url) return;\n onChange(setLink(value, url));\n }, [currentBlockContainsLink, value, onChange]);\n\n const clickHandler = useCallback<(item: StyleToolbarItem) => void>(\n (item) => {\n if (item.type === 'inline') {\n onChange(RichUtils.toggleInlineStyle(value, item.name));\n } else if (item.type === 'block') {\n onChange(RichUtils.toggleBlockType(value, item.name));\n }\n },\n [value, onChange]\n );\n\n if (items.length === 0) return null;\n\n return (\n <Toolbar {...rest}>\n {items.map((item) => {\n const isLink = item.name === 'LINK' && item.type === 'inline';\n\n const active = isLink\n ? currentBlockContainsLink\n : value.getCurrentInlineStyle().has(item.name) ||\n currentBlockType === item.name;\n const onClick = isLink ? toggleLink : () => clickHandler(item);\n\n return (\n <ToolbarButton key={item.name} active={active} onClick={onClick}>\n {item.icon}\n </ToolbarButton>\n );\n })}\n </Toolbar>\n );\n};\n\nStyleToolbar.displayName = 'StyleToolbar';\n\nexport default StyleToolbar;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAGA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAQA,IAAMA,YAAyC,GAAG,SAA5CA,YAA4C,OAK5C;EAAA,IAJJC,KAII,QAJJA,KAII;EAAA,IAHJC,KAGI,QAHJA,KAGI;EAAA,yBAFJC,QAEI;EAAA,IAFJA,QAEI,8BAFO,YAAM,CAAE,CAEf;EAAA,IADDC,IACC;;EACJ,IAAMC,gBAAgB,GAAG,IAAAC,cAAA,EACvB;IAAA,OAAMC,kBAAA,CAAUC,mBAAV,CAA8BN,KAA9B,CAAN;EAAA,CADuB,EAEvB,CAACA,KAAD,CAFuB,CAAzB;EAIA,IAAMO,wBAAwB,GAAG,IAAAH,cAAA,EAC/B;IAAA,OAAMC,kBAAA,CAAUE,wBAAV,CAAmCP,KAAnC,CAAN;EAAA,CAD+B,EAE/B,CAACA,KAAD,CAF+B,CAAjC;EAKA,IAAMQ,UAAU,GAAG,IAAAC,kBAAA,EAAY,YAAM;IACnC,IAAIF,wBAAJ,EAA8B;MAC5BN,QAAQ,CAAC,IAAAS,qBAAA,EAAUV,KAAV,CAAD,CAAR;MACA;IACD,CAJkC,CAKnC;;;IACA,IAAMW,GAAG,GAAGC,MAAM,CAAC,sBAAD,CAAlB;IACA,IAAI,CAACD,GAAL,EAAU;IACVV,QAAQ,CAAC,IAAAY,mBAAA,EAAQb,KAAR,EAAeW,GAAf,CAAD,CAAR;EACD,CATkB,EAShB,CAACJ,wBAAD,EAA2BP,KAA3B,EAAkCC,QAAlC,CATgB,CAAnB;EAWA,IAAMa,YAAY,GAAG,IAAAL,kBAAA,EACnB,UAACM,IAAD,EAAU;IACR,IAAIA,IAAI,CAACC,IAAL,KAAc,QAAlB,EAA4B;MAC1Bf,QAAQ,CAACI,kBAAA,CAAUY,iBAAV,CAA4BjB,KAA5B,EAAmCe,IAAI,CAACG,IAAxC,CAAD,CAAR;IACD,CAFD,MAEO,IAAIH,IAAI,CAACC,IAAL,KAAc,OAAlB,EAA2B;MAChCf,QAAQ,CAACI,kBAAA,CAAUc,eAAV,CAA0BnB,KAA1B,EAAiCe,IAAI,CAACG,IAAtC,CAAD,CAAR;IACD;EACF,CAPkB,EAQnB,CAAClB,KAAD,EAAQC,QAAR,CARmB,CAArB;EAWA,IAAIF,KAAK,CAACqB,MAAN,KAAiB,CAArB,EAAwB,OAAO,IAAP;EAExB,oBACE,gCAAC,mBAAD,EAAalB,IAAb,EACGH,KAAK,CAACsB,GAAN,CAAU,UAACN,IAAD,EAAU;IACnB,IAAMO,MAAM,GAAGP,IAAI,CAACG,IAAL,KAAc,MAAd,IAAwBH,IAAI,CAACC,IAAL,KAAc,QAArD;IAEA,IAAMO,MAAM,GAAGD,MAAM,GACjBf,wBADiB,GAEjBP,KAAK,CAACwB,qBAAN,GAA8BC,GAA9B,CAAkCV,IAAI,CAACG,IAAvC,KACAf,gBAAgB,KAAKY,IAAI,CAACG,IAH9B;IAIA,IAAMQ,OAAO,GAAGJ,MAAM,GAAGd,UAAH,GAAgB;MAAA,OAAMM,YAAY,CAACC,IAAD,CAAlB;IAAA,CAAtC;IAEA,oBACE,gCAAC,yBAAD;MAAe,GAAG,EAAEA,IAAI,CAACG,IAAzB;MAA+B,MAAM,EAAEK,MAAvC;MAA+C,OAAO,EAAEG;IAAxD,GACGX,IAAI,CAACY,IADR,CADF;EAKD,CAdA,CADH,CADF;AAmBD,CA1DD;;AA4DA7B,YAAY,CAAC8B,WAAb,GAA2B,cAA3B;eAEe9B,Y"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Editor/Toolbar.tsx"],"names":["Toolbar","Popover","p","theme","editorToolbarButtonColorBg","displayName"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,OAAO,GAAG,wBAAOC,aAAP,CAAH,oOAQS,UAACC,CAAD;AAAA,SAAO,kBAAIA,CAAC,CAACC,KAAF,CAAQC,0BAAZ,CAAP;AAAA,CART,CAAb;AAWAJ,OAAO,CAACK,WAAR,GAAsB,SAAtB;eAEeL,O","sourcesContent":["import styled from '@emotion/styled';\nimport { Popover } from '@os-design/core';\nimport { clr } from '@os-design/theming';\n\nconst Toolbar = styled(Popover)`\n // Reset popover styles\n border: 0;\n\n display: flex;\n flex-direction: row;\n overflow: hidden; // For border-radius\n\n background-color: ${(p) => clr(p.theme.editorToolbarButtonColorBg)};\n`;\n\nToolbar.displayName = 'Toolbar';\n\nexport default Toolbar;\n"],"file":"Toolbar.js"}
1
+ {"version":3,"file":"Toolbar.js","names":["Toolbar","styled","Popover","p","clr","theme","editorToolbarButtonColorBg","displayName"],"sources":["../../../src/Editor/Toolbar.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { Popover } from '@os-design/core';\nimport { clr } from '@os-design/theming';\n\nconst Toolbar = styled(Popover)`\n // Reset popover styles\n border: 0;\n\n display: flex;\n flex-direction: row;\n overflow: hidden; // For border-radius\n\n background-color: ${(p) => clr(p.theme.editorToolbarButtonColorBg)};\n`;\n\nToolbar.displayName = 'Toolbar';\n\nexport default Toolbar;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,OAAO,GAAG,IAAAC,kBAAA,EAAOC,aAAP,CAAH,oOAQS,UAACC,CAAD;EAAA,OAAO,IAAAC,YAAA,EAAID,CAAC,CAACE,KAAF,CAAQC,0BAAZ,CAAP;AAAA,CART,CAAb;AAWAN,OAAO,CAACO,WAAR,GAAsB,SAAtB;eAEeP,O"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Editor/ToolbarButton.tsx"],"names":["activeStyles","p","active","css","theme","editorToolbarButtonColorBgActive","StyledToolbarButton","resetButtonStyles","editorToolbarButtonSize","editorToolbarButtonColorBg","editorToolbarButtonColorText","editorToolbarButtonColorBgHover","ToolbarButton","onMouseDown","rest","e","preventDefault","displayName"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;AAOA,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,CAAD;AAAA,SACnBA,CAAC,CAACC,MAAF,QACAC,WADA,wGAEsB,kBAAIF,CAAC,CAACG,KAAF,CAAQC,gCAAZ,CAFtB,CADmB;AAAA,CAArB;;AAOA,IAAMC,mBAAmB,GAAG,wBAC1B,QAD0B,EAE1B,6BAAiB,QAAjB,CAF0B,CAAH,+YAIrBC,yBAJqB,EAYd,UAACN,CAAD;AAAA,SAAOA,CAAC,CAACG,KAAF,CAAQI,uBAAf;AAAA,CAZc,EAab,UAACP,CAAD;AAAA,SAAOA,CAAC,CAACG,KAAF,CAAQI,uBAAf;AAAA,CAba,EAcH,UAACP,CAAD;AAAA,SAAO,kBAAIA,CAAC,CAACG,KAAF,CAAQK,0BAAZ,CAAP;AAAA,CAdG,EAed,UAACR,CAAD;AAAA,SAAO,kBAAIA,CAAC,CAACG,KAAF,CAAQM,4BAAZ,CAAP;AAAA,CAfc,EAoBC,UAACT,CAAD;AAAA,SAAO,kBAAIA,CAAC,CAACG,KAAF,CAAQO,+BAAZ,CAAP;AAAA,CApBD,EAwBrBX,YAxBqB,EAyBrB,8BAAiB,kBAAjB,CAzBqB,CAAzB;;AA4BA,IAAMY,aAA2C,GAAG,SAA9CA,aAA8C;AAAA,8BAClDC,WADkD;AAAA,MAClDA,YADkD,iCACpC,YAAM,CAAE,CAD4B;AAAA,MAE/CC,IAF+C;;AAAA,sBAIlD,gCAAC,mBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,CAAD,EAAO;AAClBF,MAAAA,YAAW,CAACE,CAAD,CAAX;;AACAA,MAAAA,CAAC,CAACC,cAAF;AACD;AAJH,KAKMF,IALN,EAJkD;AAAA,CAApD;;AAaAF,aAAa,CAACK,WAAd,GAA4B,eAA5B;eAEeL,a","sourcesContent":["import React from 'react';\nimport { css } from '@emotion/react';\nimport { clr } from '@os-design/theming';\nimport styled from '@emotion/styled';\nimport { resetButtonStyles, transitionStyles } from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\n\ntype JsxButtonProps = JSX.IntrinsicElements['button'];\ninterface ToolbarButtonProps extends JsxButtonProps {\n active?: boolean;\n}\n\nconst activeStyles = (p) =>\n p.active &&\n css`\n background-color: ${clr(p.theme.editorToolbarButtonColorBgActive)};\n `;\n\ntype StyledToolbarButtonProps = Pick<ToolbarButtonProps, 'active'>;\nconst StyledToolbarButton = styled(\n 'button',\n omitEmotionProps('active')\n)<StyledToolbarButtonProps>`\n ${resetButtonStyles};\n cursor: pointer;\n font-size: 1.3em;\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n width: ${(p) => p.theme.editorToolbarButtonSize}em;\n height: ${(p) => p.theme.editorToolbarButtonSize}em;\n background-color: ${(p) => clr(p.theme.editorToolbarButtonColorBg)};\n color: ${(p) => clr(p.theme.editorToolbarButtonColorText)};\n\n @media (hover: hover) {\n &:hover,\n &:focus {\n background-color: ${(p) => clr(p.theme.editorToolbarButtonColorBgHover)};\n }\n }\n\n ${activeStyles};\n ${transitionStyles('background-color')};\n`;\n\nconst ToolbarButton: React.FC<ToolbarButtonProps> = ({\n onMouseDown = () => {},\n ...rest\n}) => (\n <StyledToolbarButton\n onMouseDown={(e) => {\n onMouseDown(e);\n e.preventDefault();\n }}\n {...rest}\n />\n);\n\nToolbarButton.displayName = 'ToolbarButton';\n\nexport default ToolbarButton;\n"],"file":"ToolbarButton.js"}
1
+ {"version":3,"file":"ToolbarButton.js","names":["activeStyles","p","active","css","clr","theme","editorToolbarButtonColorBgActive","StyledToolbarButton","styled","omitEmotionProps","resetButtonStyles","editorToolbarButtonSize","editorToolbarButtonColorBg","editorToolbarButtonColorText","editorToolbarButtonColorBgHover","transitionStyles","ToolbarButton","onMouseDown","rest","e","preventDefault","displayName"],"sources":["../../../src/Editor/ToolbarButton.tsx"],"sourcesContent":["import React from 'react';\nimport { css } from '@emotion/react';\nimport { clr } from '@os-design/theming';\nimport styled from '@emotion/styled';\nimport { resetButtonStyles, transitionStyles } from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\n\ntype JsxButtonProps = JSX.IntrinsicElements['button'];\ninterface ToolbarButtonProps extends JsxButtonProps {\n active?: boolean;\n}\n\nconst activeStyles = (p) =>\n p.active &&\n css`\n background-color: ${clr(p.theme.editorToolbarButtonColorBgActive)};\n `;\n\ntype StyledToolbarButtonProps = Pick<ToolbarButtonProps, 'active'>;\nconst StyledToolbarButton = styled(\n 'button',\n omitEmotionProps('active')\n)<StyledToolbarButtonProps>`\n ${resetButtonStyles};\n cursor: pointer;\n font-size: 1.3em;\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n width: ${(p) => p.theme.editorToolbarButtonSize}em;\n height: ${(p) => p.theme.editorToolbarButtonSize}em;\n background-color: ${(p) => clr(p.theme.editorToolbarButtonColorBg)};\n color: ${(p) => clr(p.theme.editorToolbarButtonColorText)};\n\n @media (hover: hover) {\n &:hover,\n &:focus {\n background-color: ${(p) => clr(p.theme.editorToolbarButtonColorBgHover)};\n }\n }\n\n ${activeStyles};\n ${transitionStyles('background-color')};\n`;\n\nconst ToolbarButton: React.FC<ToolbarButtonProps> = ({\n onMouseDown = () => {},\n ...rest\n}) => (\n <StyledToolbarButton\n onMouseDown={(e) => {\n onMouseDown(e);\n e.preventDefault();\n }}\n {...rest}\n />\n);\n\nToolbarButton.displayName = 'ToolbarButton';\n\nexport default ToolbarButton;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;AAOA,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,CAAD;EAAA,OACnBA,CAAC,CAACC,MAAF,QACAC,WADA,wGAEsB,IAAAC,YAAA,EAAIH,CAAC,CAACI,KAAF,CAAQC,gCAAZ,CAFtB,CADmB;AAAA,CAArB;;AAOA,IAAMC,mBAAmB,GAAG,IAAAC,kBAAA,EAC1B,QAD0B,EAE1B,IAAAC,uBAAA,EAAiB,QAAjB,CAF0B,CAAH,+YAIrBC,yBAJqB,EAYd,UAACT,CAAD;EAAA,OAAOA,CAAC,CAACI,KAAF,CAAQM,uBAAf;AAAA,CAZc,EAab,UAACV,CAAD;EAAA,OAAOA,CAAC,CAACI,KAAF,CAAQM,uBAAf;AAAA,CAba,EAcH,UAACV,CAAD;EAAA,OAAO,IAAAG,YAAA,EAAIH,CAAC,CAACI,KAAF,CAAQO,0BAAZ,CAAP;AAAA,CAdG,EAed,UAACX,CAAD;EAAA,OAAO,IAAAG,YAAA,EAAIH,CAAC,CAACI,KAAF,CAAQQ,4BAAZ,CAAP;AAAA,CAfc,EAoBC,UAACZ,CAAD;EAAA,OAAO,IAAAG,YAAA,EAAIH,CAAC,CAACI,KAAF,CAAQS,+BAAZ,CAAP;AAAA,CApBD,EAwBrBd,YAxBqB,EAyBrB,IAAAe,wBAAA,EAAiB,kBAAjB,CAzBqB,CAAzB;;AA4BA,IAAMC,aAA2C,GAAG,SAA9CA,aAA8C;EAAA,4BAClDC,WADkD;EAAA,IAClDA,YADkD,iCACpC,YAAM,CAAE,CAD4B;EAAA,IAE/CC,IAF+C;;EAAA,oBAIlD,gCAAC,mBAAD;IACE,WAAW,EAAE,qBAACC,CAAD,EAAO;MAClBF,YAAW,CAACE,CAAD,CAAX;;MACAA,CAAC,CAACC,cAAF;IACD;EAJH,GAKMF,IALN,EAJkD;AAAA,CAApD;;AAaAF,aAAa,CAACK,WAAd,GAA4B,eAA5B;eAEeL,a"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Editor/blocks/Figure.tsx"],"names":["Figure","styled","figure","p","theme","borderRadius","displayName"],"mappings":";;;;;;;AAAA;;;;;;;;AAEA,IAAMA,MAAM,GAAGC,mBAAOC,MAAV,uHACO,UAACC,CAAD;AAAA,SAAOA,CAAC,CAACC,KAAF,CAAQC,YAAf;AAAA,CADP,CAAZ;;AAKAL,MAAM,CAACM,WAAP,GAAqB,QAArB;eAEeN,M","sourcesContent":["import styled from '@emotion/styled';\n\nconst Figure = styled.figure`\n border-radius: ${(p) => p.theme.borderRadius}em;\n overflow: hidden;\n`;\n\nFigure.displayName = 'Figure';\n\nexport default Figure;\n"],"file":"Figure.js"}
1
+ {"version":3,"file":"Figure.js","names":["Figure","styled","figure","p","theme","borderRadius","displayName"],"sources":["../../../../src/Editor/blocks/Figure.tsx"],"sourcesContent":["import styled from '@emotion/styled';\n\nconst Figure = styled.figure`\n border-radius: ${(p) => p.theme.borderRadius}em;\n overflow: hidden;\n`;\n\nFigure.displayName = 'Figure';\n\nexport default Figure;\n"],"mappings":";;;;;;;AAAA;;;;;;;;AAEA,IAAMA,MAAM,GAAGC,kBAAA,CAAOC,MAAV,uHACO,UAACC,CAAD;EAAA,OAAOA,CAAC,CAACC,KAAF,CAAQC,YAAf;AAAA,CADP,CAAZ;;AAKAL,MAAM,CAACM,WAAP,GAAqB,QAArB;eAEeN,M"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Editor/blocks/FigureCaption.tsx"],"names":["FigureCaption","styled","figcaption","p","theme","sizes","small","editorFigureCaptionColorBg","editorFigureCaptionColorText","displayName"],"mappings":";;;;;;;AAAA;;AACA;;;;;;;;AAEA,IAAMA,aAAa,GAAGC,mBAAOC,UAAV,uPACJ,UAACC,CAAD;AAAA,SAAOA,CAAC,CAACC,KAAF,CAAQC,KAAR,CAAcC,KAArB;AAAA,CADI,EAIG,UAACH,CAAD;AAAA,SAAO,kBAAIA,CAAC,CAACC,KAAF,CAAQG,0BAAZ,CAAP;AAAA,CAJH,EAKR,UAACJ,CAAD;AAAA,SAAO,kBAAIA,CAAC,CAACC,KAAF,CAAQI,4BAAZ,CAAP;AAAA,CALQ,CAAnB;;AAaAR,aAAa,CAACS,WAAd,GAA4B,eAA5B;eAEeT,a","sourcesContent":["import styled from '@emotion/styled';\nimport { clr } from '@os-design/theming';\n\nconst FigureCaption = styled.figcaption`\n font-size: ${(p) => p.theme.sizes.small}em;\n padding: 0.4em 0.8em;\n\n background-color: ${(p) => clr(p.theme.editorFigureCaptionColorBg)};\n color: ${(p) => clr(p.theme.editorFigureCaptionColorText)};\n\n & > div {\n text-align: center !important;\n margin: 0 !important;\n }\n`;\n\nFigureCaption.displayName = 'FigureCaption';\n\nexport default FigureCaption;\n"],"file":"FigureCaption.js"}
1
+ {"version":3,"file":"FigureCaption.js","names":["FigureCaption","styled","figcaption","p","theme","sizes","small","clr","editorFigureCaptionColorBg","editorFigureCaptionColorText","displayName"],"sources":["../../../../src/Editor/blocks/FigureCaption.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { clr } from '@os-design/theming';\n\nconst FigureCaption = styled.figcaption`\n font-size: ${(p) => p.theme.sizes.small}em;\n padding: 0.4em 0.8em;\n\n background-color: ${(p) => clr(p.theme.editorFigureCaptionColorBg)};\n color: ${(p) => clr(p.theme.editorFigureCaptionColorText)};\n\n & > div {\n text-align: center !important;\n margin: 0 !important;\n }\n`;\n\nFigureCaption.displayName = 'FigureCaption';\n\nexport default FigureCaption;\n"],"mappings":";;;;;;;AAAA;;AACA;;;;;;;;AAEA,IAAMA,aAAa,GAAGC,kBAAA,CAAOC,UAAV,uPACJ,UAACC,CAAD;EAAA,OAAOA,CAAC,CAACC,KAAF,CAAQC,KAAR,CAAcC,KAArB;AAAA,CADI,EAIG,UAACH,CAAD;EAAA,OAAO,IAAAI,YAAA,EAAIJ,CAAC,CAACC,KAAF,CAAQI,0BAAZ,CAAP;AAAA,CAJH,EAKR,UAACL,CAAD;EAAA,OAAO,IAAAI,YAAA,EAAIJ,CAAC,CAACC,KAAF,CAAQK,4BAAZ,CAAP;AAAA,CALQ,CAAnB;;AAaAT,aAAa,CAACU,WAAd,GAA4B,eAA5B;eAEeV,a"}
@@ -37,6 +37,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
37
37
 
38
38
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
39
 
40
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return generator._invoke = function (innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; }(innerFn, self, context), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; this._invoke = function (method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); }; } function maybeInvokeDelegate(delegate, context) { var method = delegate.iterator[context.method]; if (undefined === method) { if (context.delegate = null, "throw" === context.method) { if (delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method)) return ContinueSentinel; context.method = "throw", context.arg = new TypeError("The iterator does not provide a 'throw' method"); } return ContinueSentinel; } var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) { if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; } return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, "constructor", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (object) { var keys = []; for (var key in object) { keys.push(key); } return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); } }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
41
+
40
42
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
41
43
 
42
44
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
@@ -122,9 +124,9 @@ var imageBlock = function imageBlock(onImageUpload) {
122
124
  input.accept = 'image/jpeg,image/png,image/webp';
123
125
 
124
126
  input.onchange = /*#__PURE__*/function () {
125
- var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(e) {
127
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(e) {
126
128
  var target, files, file, src, currentBlock, nextEditorState;
127
- return regeneratorRuntime.wrap(function _callee$(_context) {
129
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
128
130
  while (1) {
129
131
  switch (_context.prev = _context.next) {
130
132
  case 0:
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Editor/blocks/imageBlock.tsx"],"names":["widthStyles","p","width","css","ImageFigure","Figure","Mask","styled","div","theme","editorBlockImageMaskOpacity","LoadingIcon","Loading","editorBlockImageLoadingFontSize","Image","img","editorBlockImageMaxHeight","ImageBlock","props","block","data","getData","src","get","loading","imageRef","setWidth","updateWidth","current","window","undefined","startsWith","getText","IMAGE_BLOCK","imageBlock","onImageUpload","type","component","icon","onClick","value","onChange","setReadOnly","Error","input","document","createElement","accept","onchange","e","target","files","file","URL","createObjectURL","currentBlock","nextEditorState","message","error","click"],"mappings":"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","sourcesContent":["import React, { useCallback, useRef, useState } from 'react';\nimport styled from '@emotion/styled';\nimport { EditorBlock } from 'draft-js';\nimport { Loading, Picture } from '@os-design/icons';\nimport { message } from '@os-design/core';\nimport { omitEmotionProps, useEvent } from '@os-design/utils';\nimport { css } from '@emotion/react';\nimport FigureCaption from './FigureCaption';\nimport changeBlock from '../utils/changeBlock';\nimport getCurrentBlock from '../utils/getCurrentBlock';\nimport Figure from './Figure';\nimport { BlockProps, BlockToolbarItem } from './types';\n\nconst widthStyles = (p) =>\n p.width &&\n css`\n width: ${p.width}px;\n `;\n\ninterface ImageFigureProps {\n width: number;\n}\nconst ImageFigure = styled(Figure, omitEmotionProps('width'))<ImageFigureProps>`\n position: relative;\n display: inline-block;\n max-width: 100%;\n ${widthStyles};\n`;\n\nconst Mask = styled.div`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n background-color: hsla(\n 0,\n 0%,\n 0%,\n ${(p) => p.theme.editorBlockImageMaskOpacity}\n );\n color: hsl(0, 0%, 100%);\n`;\n\nconst LoadingIcon = styled(Loading)`\n font-size: ${(p) => p.theme.editorBlockImageLoadingFontSize}em;\n`;\n\nconst Image = styled.img`\n max-width: 100%;\n max-height: ${(p) => p.theme.editorBlockImageMaxHeight}em;\n vertical-align: bottom;\n`;\n\nconst ImageBlock: React.FC<BlockProps> = (props) => {\n const { block } = props;\n const data = block.getData();\n const src = data.get('src') as string;\n const loading = data.get('loading') as boolean;\n\n // Update the width of the image\n const imageRef = useRef<HTMLImageElement>(null);\n const [width, setWidth] = useState(0);\n const updateWidth = useCallback(() => {\n if (!imageRef.current) return;\n setWidth(imageRef.current.width);\n }, []);\n useEvent(\n (typeof window !== 'undefined' ? window : undefined) as EventTarget,\n 'resize',\n updateWidth\n );\n\n if (!src) return null;\n\n return (\n <ImageFigure width={width}>\n {loading && (\n <Mask>\n <LoadingIcon />\n </Mask>\n )}\n <Image\n src={src.startsWith('blob:') ? src : `${src}-1024`}\n alt={block.getText()}\n onLoad={updateWidth}\n ref={imageRef}\n />\n {!loading && (\n <FigureCaption>\n <EditorBlock {...props} />\n </FigureCaption>\n )}\n </ImageFigure>\n );\n};\n\nexport const IMAGE_BLOCK = 'atomic:image';\n\nconst imageBlock = (\n onImageUpload: (file: File) => Promise<string>\n): BlockToolbarItem => ({\n type: IMAGE_BLOCK,\n component: ImageBlock,\n icon: <Picture />,\n onClick: ({ value, onChange, setReadOnly }) => {\n if (!onImageUpload) throw new Error('Specify the onImageUpload method');\n\n // Not working in mobile Safari.\n // The input must be actually appended to the DOM.\n const input = document.createElement('input');\n input.type = 'file';\n input.accept = 'image/jpeg,image/png,image/webp';\n input.onchange = async (e) => {\n const target = e.target as HTMLInputElement | null;\n if (!target) return;\n const { files } = target;\n if (!files) return;\n\n setReadOnly(true);\n const file = files[0];\n let src = URL.createObjectURL(file);\n\n // Add the local image\n const currentBlock = getCurrentBlock(value);\n let nextEditorState = changeBlock(value, currentBlock, IMAGE_BLOCK, {\n src,\n loading: true,\n });\n onChange(nextEditorState);\n\n // Replace the local image with the remote one\n try {\n src = await onImageUpload(file);\n nextEditorState = changeBlock(value, currentBlock, IMAGE_BLOCK, {\n src,\n });\n } catch (err) {\n if (err instanceof Error) {\n message.error(err.message);\n }\n nextEditorState = changeBlock(value, currentBlock, 'unstyled');\n }\n\n setReadOnly(false);\n onChange(nextEditorState);\n };\n input.click();\n },\n});\n\nexport default imageBlock;\n"],"file":"imageBlock.js"}
1
+ {"version":3,"file":"imageBlock.js","names":["widthStyles","p","width","css","ImageFigure","styled","Figure","omitEmotionProps","Mask","div","theme","editorBlockImageMaskOpacity","LoadingIcon","Loading","editorBlockImageLoadingFontSize","Image","img","editorBlockImageMaxHeight","ImageBlock","props","block","data","getData","src","get","loading","imageRef","useRef","useState","setWidth","updateWidth","useCallback","current","useEvent","window","undefined","startsWith","getText","IMAGE_BLOCK","imageBlock","onImageUpload","type","component","icon","onClick","value","onChange","setReadOnly","Error","input","document","createElement","accept","onchange","e","target","files","file","URL","createObjectURL","currentBlock","getCurrentBlock","nextEditorState","changeBlock","message","error","click"],"sources":["../../../../src/Editor/blocks/imageBlock.tsx"],"sourcesContent":["import React, { useCallback, useRef, useState } from 'react';\nimport styled from '@emotion/styled';\nimport { EditorBlock } from 'draft-js';\nimport { Loading, Picture } from '@os-design/icons';\nimport { message } from '@os-design/core';\nimport { omitEmotionProps, useEvent } from '@os-design/utils';\nimport { css } from '@emotion/react';\nimport FigureCaption from './FigureCaption';\nimport changeBlock from '../utils/changeBlock';\nimport getCurrentBlock from '../utils/getCurrentBlock';\nimport Figure from './Figure';\nimport { BlockProps, BlockToolbarItem } from './types';\n\nconst widthStyles = (p) =>\n p.width &&\n css`\n width: ${p.width}px;\n `;\n\ninterface ImageFigureProps {\n width: number;\n}\nconst ImageFigure = styled(Figure, omitEmotionProps('width'))<ImageFigureProps>`\n position: relative;\n display: inline-block;\n max-width: 100%;\n ${widthStyles};\n`;\n\nconst Mask = styled.div`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n background-color: hsla(\n 0,\n 0%,\n 0%,\n ${(p) => p.theme.editorBlockImageMaskOpacity}\n );\n color: hsl(0, 0%, 100%);\n`;\n\nconst LoadingIcon = styled(Loading)`\n font-size: ${(p) => p.theme.editorBlockImageLoadingFontSize}em;\n`;\n\nconst Image = styled.img`\n max-width: 100%;\n max-height: ${(p) => p.theme.editorBlockImageMaxHeight}em;\n vertical-align: bottom;\n`;\n\nconst ImageBlock: React.FC<BlockProps> = (props) => {\n const { block } = props;\n const data = block.getData();\n const src = data.get('src') as string;\n const loading = data.get('loading') as boolean;\n\n // Update the width of the image\n const imageRef = useRef<HTMLImageElement>(null);\n const [width, setWidth] = useState(0);\n const updateWidth = useCallback(() => {\n if (!imageRef.current) return;\n setWidth(imageRef.current.width);\n }, []);\n useEvent(\n (typeof window !== 'undefined' ? window : undefined) as EventTarget,\n 'resize',\n updateWidth\n );\n\n if (!src) return null;\n\n return (\n <ImageFigure width={width}>\n {loading && (\n <Mask>\n <LoadingIcon />\n </Mask>\n )}\n <Image\n src={src.startsWith('blob:') ? src : `${src}-1024`}\n alt={block.getText()}\n onLoad={updateWidth}\n ref={imageRef}\n />\n {!loading && (\n <FigureCaption>\n <EditorBlock {...props} />\n </FigureCaption>\n )}\n </ImageFigure>\n );\n};\n\nexport const IMAGE_BLOCK = 'atomic:image';\n\nconst imageBlock = (\n onImageUpload: (file: File) => Promise<string>\n): BlockToolbarItem => ({\n type: IMAGE_BLOCK,\n component: ImageBlock,\n icon: <Picture />,\n onClick: ({ value, onChange, setReadOnly }) => {\n if (!onImageUpload) throw new Error('Specify the onImageUpload method');\n\n // Not working in mobile Safari.\n // The input must be actually appended to the DOM.\n const input = document.createElement('input');\n input.type = 'file';\n input.accept = 'image/jpeg,image/png,image/webp';\n input.onchange = async (e) => {\n const target = e.target as HTMLInputElement | null;\n if (!target) return;\n const { files } = target;\n if (!files) return;\n\n setReadOnly(true);\n const file = files[0];\n let src = URL.createObjectURL(file);\n\n // Add the local image\n const currentBlock = getCurrentBlock(value);\n let nextEditorState = changeBlock(value, currentBlock, IMAGE_BLOCK, {\n src,\n loading: true,\n });\n onChange(nextEditorState);\n\n // Replace the local image with the remote one\n try {\n src = await onImageUpload(file);\n nextEditorState = changeBlock(value, currentBlock, IMAGE_BLOCK, {\n src,\n });\n } catch (err) {\n if (err instanceof Error) {\n message.error(err.message);\n }\n nextEditorState = changeBlock(value, currentBlock, 'unstyled');\n }\n\n setReadOnly(false);\n onChange(nextEditorState);\n };\n input.click();\n },\n});\n\nexport default imageBlock;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"types.js"}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../src/Editor/blocks/types.ts"],"sourcesContent":["import React from 'react';\nimport { ContentBlock, EditorState } from 'draft-js';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface BlockProps extends Record<string, any> {\n block: ContentBlock;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface BlockToolbarItemOnClickProps extends Record<string, any> {\n value: EditorState;\n onChange: (value: EditorState) => void;\n setReadOnly: (readOnly: boolean) => void;\n}\n\nexport interface BlockToolbarItem {\n type: string;\n component: React.FC<BlockProps>;\n icon: React.ReactElement;\n onClick: (props: BlockToolbarItemOnClickProps) => void;\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Editor/blocks/youTubeBlock.tsx"],"names":["YouTubeBlock","props","block","data","getData","id","get","getText","YOUTUBE_ID_RE","YOUTUBE_BLOCK","youTubeBlock","type","component","icon","onClick","value","onChange","url","prompt","match","currentBlock","nextEditorState"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,YAAkC,GAAG,SAArCA,YAAqC,CAACC,KAAD,EAAW;AACpD,MAAQC,KAAR,GAAkBD,KAAlB,CAAQC,KAAR;AACA,MAAMC,IAAI,GAAGD,KAAK,CAACE,OAAN,EAAb;AACA,MAAMC,EAAE,GAAGF,IAAI,CAACG,GAAL,CAAS,IAAT,CAAX;AAEA,MAAI,CAACD,EAAL,EAAS,OAAO,IAAP;AAET,sBACE,gCAAC,kBAAD,qBACE,gCAAC,kBAAD;AAAc,IAAA,EAAE,EAAEA,EAAlB;AAAsB,IAAA,KAAK,EAAEH,KAAK,CAACK,OAAN;AAA7B,IADF,eAEE,gCAAC,yBAAD,qBACE,gCAAC,oBAAD,EAAiBN,KAAjB,CADF,CAFF,CADF;AAQD,CAfD;;AAiBA,IAAMO,aAAa,GACjB,+FADF;AAGO,IAAMC,aAAa,GAAG,gBAAtB;;AAEP,IAAMC,YAA8B,GAAG;AACrCC,EAAAA,IAAI,EAAEF,aAD+B;AAErCG,EAAAA,SAAS,EAAEZ,YAF0B;AAGrCa,EAAAA,IAAI,eAAE,gCAAC,YAAD,OAH+B;AAIrCC,EAAAA,OAAO,EAAE,uBAAyB;AAAA,QAAtBC,KAAsB,QAAtBA,KAAsB;AAAA,QAAfC,QAAe,QAAfA,QAAe;AAChC;AACA,QAAMC,GAAG,GAAGC,MAAM,CAAC,sBAAD,CAAlB;AACA,QAAI,CAACD,GAAL,EAAU;AAEV,QAAME,KAAK,GAAGF,GAAG,CAACE,KAAJ,CAAUX,aAAV,CAAd;AACA,QAAI,CAACW,KAAD,IAAU,CAACA,KAAK,CAAC,CAAD,CAApB,EAAyB;AAEzB,QAAMC,YAAY,GAAG,iCAAgBL,KAAhB,CAArB;AACA,QAAMM,eAAe,GAAG,6BAAYN,KAAZ,EAAmBK,YAAnB,EAAiCX,aAAjC,EAAgD;AACtEJ,MAAAA,EAAE,EAAEc,KAAK,CAAC,CAAD;AAD6D,KAAhD,CAAxB;AAIAH,IAAAA,QAAQ,CAACK,eAAD,CAAR;AACD;AAlBoC,CAAvC;eAqBeX,Y","sourcesContent":["import React from 'react';\nimport { EditorBlock } from 'draft-js';\nimport { YouTubeVideo } from '@os-design/core';\nimport { Video } from '@os-design/icons';\nimport { BlockToolbarItem, BlockProps } from './types';\nimport FigureCaption from './FigureCaption';\nimport changeBlock from '../utils/changeBlock';\nimport getCurrentBlock from '../utils/getCurrentBlock';\nimport Figure from './Figure';\n\nconst YouTubeBlock: React.FC<BlockProps> = (props) => {\n const { block } = props;\n const data = block.getData();\n const id = data.get('id');\n\n if (!id) return null;\n\n return (\n <Figure>\n <YouTubeVideo id={id} title={block.getText()} />\n <FigureCaption>\n <EditorBlock {...props} />\n </FigureCaption>\n </Figure>\n );\n};\n\nconst YOUTUBE_ID_RE =\n /^.*(?:(?:youtu\\.be\\/|v\\/|vi\\/|u\\/\\w\\/|embed\\/)|(?:(?:watch)?\\?v(?:i)?=|&v(?:i)?=))([^#&?]*).*/;\n\nexport const YOUTUBE_BLOCK = 'atomic:youtube';\n\nconst youTubeBlock: BlockToolbarItem = {\n type: YOUTUBE_BLOCK,\n component: YouTubeBlock,\n icon: <Video />,\n onClick: ({ value, onChange }) => {\n // eslint-disable-next-line no-alert\n const url = prompt('Paste a YouTube link');\n if (!url) return;\n\n const match = url.match(YOUTUBE_ID_RE);\n if (!match || !match[1]) return;\n\n const currentBlock = getCurrentBlock(value);\n const nextEditorState = changeBlock(value, currentBlock, YOUTUBE_BLOCK, {\n id: match[1],\n });\n\n onChange(nextEditorState);\n },\n};\n\nexport default youTubeBlock;\n"],"file":"youTubeBlock.js"}
1
+ {"version":3,"file":"youTubeBlock.js","names":["YouTubeBlock","props","block","data","getData","id","get","getText","YOUTUBE_ID_RE","YOUTUBE_BLOCK","youTubeBlock","type","component","icon","onClick","value","onChange","url","prompt","match","currentBlock","getCurrentBlock","nextEditorState","changeBlock"],"sources":["../../../../src/Editor/blocks/youTubeBlock.tsx"],"sourcesContent":["import React from 'react';\nimport { EditorBlock } from 'draft-js';\nimport { YouTubeVideo } from '@os-design/core';\nimport { Video } from '@os-design/icons';\nimport { BlockToolbarItem, BlockProps } from './types';\nimport FigureCaption from './FigureCaption';\nimport changeBlock from '../utils/changeBlock';\nimport getCurrentBlock from '../utils/getCurrentBlock';\nimport Figure from './Figure';\n\nconst YouTubeBlock: React.FC<BlockProps> = (props) => {\n const { block } = props;\n const data = block.getData();\n const id = data.get('id');\n\n if (!id) return null;\n\n return (\n <Figure>\n <YouTubeVideo id={id} title={block.getText()} />\n <FigureCaption>\n <EditorBlock {...props} />\n </FigureCaption>\n </Figure>\n );\n};\n\nconst YOUTUBE_ID_RE =\n /^.*(?:(?:youtu\\.be\\/|v\\/|vi\\/|u\\/\\w\\/|embed\\/)|(?:(?:watch)?\\?v(?:i)?=|&v(?:i)?=))([^#&?]*).*/;\n\nexport const YOUTUBE_BLOCK = 'atomic:youtube';\n\nconst youTubeBlock: BlockToolbarItem = {\n type: YOUTUBE_BLOCK,\n component: YouTubeBlock,\n icon: <Video />,\n onClick: ({ value, onChange }) => {\n // eslint-disable-next-line no-alert\n const url = prompt('Paste a YouTube link');\n if (!url) return;\n\n const match = url.match(YOUTUBE_ID_RE);\n if (!match || !match[1]) return;\n\n const currentBlock = getCurrentBlock(value);\n const nextEditorState = changeBlock(value, currentBlock, YOUTUBE_BLOCK, {\n id: match[1],\n });\n\n onChange(nextEditorState);\n },\n};\n\nexport default youTubeBlock;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,YAAkC,GAAG,SAArCA,YAAqC,CAACC,KAAD,EAAW;EACpD,IAAQC,KAAR,GAAkBD,KAAlB,CAAQC,KAAR;EACA,IAAMC,IAAI,GAAGD,KAAK,CAACE,OAAN,EAAb;EACA,IAAMC,EAAE,GAAGF,IAAI,CAACG,GAAL,CAAS,IAAT,CAAX;EAEA,IAAI,CAACD,EAAL,EAAS,OAAO,IAAP;EAET,oBACE,gCAAC,kBAAD,qBACE,gCAAC,kBAAD;IAAc,EAAE,EAAEA,EAAlB;IAAsB,KAAK,EAAEH,KAAK,CAACK,OAAN;EAA7B,EADF,eAEE,gCAAC,yBAAD,qBACE,gCAAC,oBAAD,EAAiBN,KAAjB,CADF,CAFF,CADF;AAQD,CAfD;;AAiBA,IAAMO,aAAa,GACjB,+FADF;AAGO,IAAMC,aAAa,GAAG,gBAAtB;;AAEP,IAAMC,YAA8B,GAAG;EACrCC,IAAI,EAAEF,aAD+B;EAErCG,SAAS,EAAEZ,YAF0B;EAGrCa,IAAI,eAAE,gCAAC,YAAD,OAH+B;EAIrCC,OAAO,EAAE,uBAAyB;IAAA,IAAtBC,KAAsB,QAAtBA,KAAsB;IAAA,IAAfC,QAAe,QAAfA,QAAe;IAChC;IACA,IAAMC,GAAG,GAAGC,MAAM,CAAC,sBAAD,CAAlB;IACA,IAAI,CAACD,GAAL,EAAU;IAEV,IAAME,KAAK,GAAGF,GAAG,CAACE,KAAJ,CAAUX,aAAV,CAAd;IACA,IAAI,CAACW,KAAD,IAAU,CAACA,KAAK,CAAC,CAAD,CAApB,EAAyB;IAEzB,IAAMC,YAAY,GAAG,IAAAC,2BAAA,EAAgBN,KAAhB,CAArB;IACA,IAAMO,eAAe,GAAG,IAAAC,uBAAA,EAAYR,KAAZ,EAAmBK,YAAnB,EAAiCX,aAAjC,EAAgD;MACtEJ,EAAE,EAAEc,KAAK,CAAC,CAAD;IAD6D,CAAhD,CAAxB;IAIAH,QAAQ,CAACM,eAAD,CAAR;EACD;AAlBoC,CAAvC;eAqBeZ,Y"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Editor/decorators/linkDecorator.tsx"],"names":["linkDecorator","strategy","contentBlock","callback","contentState","findEntityRanges","character","entityKey","getEntity","getType","component","children","getData","url"],"mappings":";;;;;;;AACA;;AACA;;;;AAEA,IAAMA,aAA6B,GAAG;AACpCC,EAAAA,QAAQ,EAAE,kBAACC,YAAD,EAAeC,QAAf,EAAyBC,YAAzB;AAAA,WACRF,YAAY,CAACG,gBAAb,CAA8B,UAACC,SAAD,EAAe;AAC3C,UAAMC,SAAS,GAAGD,SAAS,CAACE,SAAV,EAAlB;AACA,aACED,SAAS,KAAK,IAAd,IACAH,YAAY,CAACI,SAAb,CAAuBD,SAAvB,EAAkCE,OAAlC,OAAgD,MAFlD;AAID,KAND,EAMGN,QANH,CADQ;AAAA,GAD0B;AAUpCO,EAAAA,SAAS,EAAE,yBAA2C;AAAA,QAAxCN,YAAwC,QAAxCA,YAAwC;AAAA,QAA1BG,SAA0B,QAA1BA,SAA0B;AAAA,QAAfI,QAAe,QAAfA,QAAe;;AACpD,gCAAgBP,YAAY,CAACI,SAAb,CAAuBD,SAAvB,EAAkCK,OAAlC,EAAhB;AAAA,QAAQC,GAAR,yBAAQA,GAAR;;AACA,wBAAO,gCAAC,UAAD;AAAM,MAAA,IAAI,EAAEA;AAAZ,OAAkBF,QAAlB,CAAP;AACD;AAbmC,CAAtC;eAgBeX,a","sourcesContent":["import { DraftDecorator } from 'draft-js';\nimport { Link } from '@os-design/core';\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"],"file":"linkDecorator.js"}
1
+ {"version":3,"file":"linkDecorator.js","names":["linkDecorator","strategy","contentBlock","callback","contentState","findEntityRanges","character","entityKey","getEntity","getType","component","children","getData","url"],"sources":["../../../../src/Editor/decorators/linkDecorator.tsx"],"sourcesContent":["import { DraftDecorator } from 'draft-js';\nimport { Link } from '@os-design/core';\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":";;;;;;;AACA;;AACA;;;;AAEA,IAAMA,aAA6B,GAAG;EACpCC,QAAQ,EAAE,kBAACC,YAAD,EAAeC,QAAf,EAAyBC,YAAzB;IAAA,OACRF,YAAY,CAACG,gBAAb,CAA8B,UAACC,SAAD,EAAe;MAC3C,IAAMC,SAAS,GAAGD,SAAS,CAACE,SAAV,EAAlB;MACA,OACED,SAAS,KAAK,IAAd,IACAH,YAAY,CAACI,SAAb,CAAuBD,SAAvB,EAAkCE,OAAlC,OAAgD,MAFlD;IAID,CAND,EAMGN,QANH,CADQ;EAAA,CAD0B;EAUpCO,SAAS,EAAE,yBAA2C;IAAA,IAAxCN,YAAwC,QAAxCA,YAAwC;IAAA,IAA1BG,SAA0B,QAA1BA,SAA0B;IAAA,IAAfI,QAAe,QAAfA,QAAe;;IACpD,4BAAgBP,YAAY,CAACI,SAAb,CAAuBD,SAAvB,EAAkCK,OAAlC,EAAhB;IAAA,IAAQC,GAAR,yBAAQA,GAAR;;IACA,oBAAO,gCAAC,UAAD;MAAM,IAAI,EAAEA;IAAZ,GAAkBF,QAAlB,CAAP;EACD;AAbmC,CAAtC;eAgBeX,a"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Editor/hooks/useBlockToolbarProps.ts"],"names":["useBlockToolbarProps","value","show","top","left","width","height","trigger","setTrigger","visible","setVisible","selectedBlockElement","selectionState","getSelection","currentBlockKey","getStartKey","contentState","getCurrentContent","currentBlock","getBlockForKey","lineNumber","getBlockMap","keySeq","findIndex","k","getType","getLength","getBoundingClientRect"],"mappings":";;;;;;;AAAA;;AAEA;;;;;;;;;;;;;;;;AAcA;AACA;AACA;AACA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAC3BC,KAD2B,EAE3BC,IAF2B,EAGC;AAC5B,kBAA8B,qBAAS;AACrCC,IAAAA,GAAG,EAAE,CADgC;AAErCC,IAAAA,IAAI,EAAE,CAF+B;AAGrCC,IAAAA,KAAK,EAAE,CAH8B;AAIrCC,IAAAA,MAAM,EAAE;AAJ6B,GAAT,CAA9B;AAAA;AAAA,MAAOC,OAAP;AAAA,MAAgBC,UAAhB;;AAMA,mBAA8B,qBAAS,KAAT,CAA9B;AAAA;AAAA,MAAOC,OAAP;AAAA,MAAgBC,UAAhB;;AAEA,wBAAU,YAAM;AACd,QAAI,CAACR,IAAD,IAAS,CAACD,KAAd,EAAqB;AAErB,QAAMU,oBAAoB,GAAG,0CAA7B;;AACA,QAAI,CAACA,oBAAL,EAA2B;AACzBD,MAAAA,UAAU,CAAC,KAAD,CAAV;AACA;AACD;;AAED,QAAME,cAAc,GAAGX,KAAK,CAACY,YAAN,EAAvB;AACA,QAAMC,eAAe,GAAGF,cAAc,CAACG,WAAf,EAAxB;AACA,QAAMC,YAAY,GAAGf,KAAK,CAACgB,iBAAN,EAArB;AACA,QAAMC,YAAY,GAAGF,YAAY,CAACG,cAAb,CAA4BL,eAA5B,CAArB;AACA,QAAMM,UAAU,GAAGJ,YAAY,CAC5BK,WADgB,GAEhBC,MAFgB,GAGhBC,SAHgB,CAGN,UAACC,CAAD;AAAA,aAAOA,CAAC,KAAKV,eAAb;AAAA,KAHM,CAAnB;;AAKA,QACEI,YAAY,CAACO,OAAb,OAA2B,UAA3B,IACAP,YAAY,CAACQ,SAAb,KAA2B,CAD3B,IAEAN,UAAU,KAAK,CAHjB,EAIE;AACAV,MAAAA,UAAU,CAAC,KAAD,CAAV;AACA;AACD;;AAED,gCAA8BC,oBAAoB,CAACgB,qBAArB,EAA9B;AAAA,QAAQxB,GAAR,yBAAQA,GAAR;AAAA,QAAaC,IAAb,yBAAaA,IAAb;AAAA,QAAmBE,MAAnB,yBAAmBA,MAAnB;;AACAE,IAAAA,UAAU,CAAC;AACTL,MAAAA,GAAG,EAAHA,GADS;AAETC,MAAAA,IAAI,EAAJA,IAFS;AAGTC,MAAAA,KAAK,EAAE,CAHE;AAITC,MAAAA,MAAM,EAANA;AAJS,KAAD,CAAV;AAMAI,IAAAA,UAAU,CAAC,IAAD,CAAV;AACD,GAnCD,EAmCG,CAACR,IAAD,EAAOD,KAAP,CAnCH;AAqCA,SAAO;AAAEM,IAAAA,OAAO,EAAPA,OAAF;AAAWE,IAAAA,OAAO,EAAPA;AAAX,GAAP;AACD,CAlDD;;eAoDeT,oB","sourcesContent":["import { useEffect, useState } from 'react';\nimport { EditorState } from 'draft-js';\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"],"file":"useBlockToolbarProps.js"}
1
+ {"version":3,"file":"useBlockToolbarProps.js","names":["useBlockToolbarProps","value","show","useState","top","left","width","height","trigger","setTrigger","visible","setVisible","useEffect","selectedBlockElement","getSelectedBlockElement","selectionState","getSelection","currentBlockKey","getStartKey","contentState","getCurrentContent","currentBlock","getBlockForKey","lineNumber","getBlockMap","keySeq","findIndex","k","getType","getLength","getBoundingClientRect"],"sources":["../../../../src/Editor/hooks/useBlockToolbarProps.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { EditorState } from 'draft-js';\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":";;;;;;;AAAA;;AAEA;;;;;;;;;;;;;;;;AAcA;AACA;AACA;AACA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAC3BC,KAD2B,EAE3BC,IAF2B,EAGC;EAC5B,gBAA8B,IAAAC,eAAA,EAAS;IACrCC,GAAG,EAAE,CADgC;IAErCC,IAAI,EAAE,CAF+B;IAGrCC,KAAK,EAAE,CAH8B;IAIrCC,MAAM,EAAE;EAJ6B,CAAT,CAA9B;EAAA;EAAA,IAAOC,OAAP;EAAA,IAAgBC,UAAhB;;EAMA,iBAA8B,IAAAN,eAAA,EAAS,KAAT,CAA9B;EAAA;EAAA,IAAOO,OAAP;EAAA,IAAgBC,UAAhB;;EAEA,IAAAC,gBAAA,EAAU,YAAM;IACd,IAAI,CAACV,IAAD,IAAS,CAACD,KAAd,EAAqB;IAErB,IAAMY,oBAAoB,GAAG,IAAAC,mCAAA,GAA7B;;IACA,IAAI,CAACD,oBAAL,EAA2B;MACzBF,UAAU,CAAC,KAAD,CAAV;MACA;IACD;;IAED,IAAMI,cAAc,GAAGd,KAAK,CAACe,YAAN,EAAvB;IACA,IAAMC,eAAe,GAAGF,cAAc,CAACG,WAAf,EAAxB;IACA,IAAMC,YAAY,GAAGlB,KAAK,CAACmB,iBAAN,EAArB;IACA,IAAMC,YAAY,GAAGF,YAAY,CAACG,cAAb,CAA4BL,eAA5B,CAArB;IACA,IAAMM,UAAU,GAAGJ,YAAY,CAC5BK,WADgB,GAEhBC,MAFgB,GAGhBC,SAHgB,CAGN,UAACC,CAAD;MAAA,OAAOA,CAAC,KAAKV,eAAb;IAAA,CAHM,CAAnB;;IAKA,IACEI,YAAY,CAACO,OAAb,OAA2B,UAA3B,IACAP,YAAY,CAACQ,SAAb,KAA2B,CAD3B,IAEAN,UAAU,KAAK,CAHjB,EAIE;MACAZ,UAAU,CAAC,KAAD,CAAV;MACA;IACD;;IAED,4BAA8BE,oBAAoB,CAACiB,qBAArB,EAA9B;IAAA,IAAQ1B,GAAR,yBAAQA,GAAR;IAAA,IAAaC,IAAb,yBAAaA,IAAb;IAAA,IAAmBE,MAAnB,yBAAmBA,MAAnB;;IACAE,UAAU,CAAC;MACTL,GAAG,EAAHA,GADS;MAETC,IAAI,EAAJA,IAFS;MAGTC,KAAK,EAAE,CAHE;MAITC,MAAM,EAANA;IAJS,CAAD,CAAV;IAMAI,UAAU,CAAC,IAAD,CAAV;EACD,CAnCD,EAmCG,CAACT,IAAD,EAAOD,KAAP,CAnCH;EAqCA,OAAO;IAAEO,OAAO,EAAPA,OAAF;IAAWE,OAAO,EAAPA;EAAX,CAAP;AACD,CAlDD;;eAoDeV,oB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Editor/hooks/usePastedTextHandler.ts"],"names":["usePastedTextHandler","onChange","handler","text","html","editorState","currentBlockType","RichUtils","getCurrentBlockType","startsWith","contentState","getCurrentContent","nextContentState","Modifier","insertText","getSelection","nextEditorState","EditorState","push"],"mappings":";;;;;;;AAAA;;AACA;;AAaA;AACA;AACA;AACA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAC3BC,QAD2B,EAE3BC,OAF2B;AAAA,SAI3B,wBACE,UAACC,IAAD,EAAOC,IAAP,EAAaC,WAAb,EAA+C;AAC7C,QAAMC,gBAAgB,GAAGC,mBAAUC,mBAAV,CAA8BH,WAA9B,CAAzB;;AAEA,QAAIC,gBAAgB,CAACG,UAAjB,CAA4B,QAA5B,CAAJ,EAA2C;AACzC,UAAMC,YAAY,GAAGL,WAAW,CAACM,iBAAZ,EAArB;;AACA,UAAMC,gBAAgB,GAAGC,kBAASC,UAAT,CACvBJ,YADuB,EAEvBL,WAAW,CAACU,YAAZ,EAFuB,EAGvBZ,IAHuB,CAAzB;;AAKA,UAAMa,eAAe,GAAGC,qBAAYC,IAAZ,CACtBb,WADsB,EAEtBO,gBAFsB,EAGtB,mBAHsB,CAAxB;;AAKAX,MAAAA,QAAQ,CAACe,eAAD,CAAR;AACA,aAAO,SAAP;AACD;;AAED,WAAOd,OAAO,CAACC,IAAD,EAAOC,IAAP,EAAaC,WAAb,CAAd;AACD,GArBH,EAsBE,CAACJ,QAAD,EAAWC,OAAX,CAtBF,CAJ2B;AAAA,CAA7B;;eA6BeF,oB","sourcesContent":["import { useCallback } from 'react';\nimport {\n DraftHandleValue,\n EditorProps as DraftEditorProps,\n EditorState,\n Modifier,\n RichUtils,\n} from 'draft-js';\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"],"file":"usePastedTextHandler.js"}
1
+ {"version":3,"file":"usePastedTextHandler.js","names":["usePastedTextHandler","onChange","handler","useCallback","text","html","editorState","currentBlockType","RichUtils","getCurrentBlockType","startsWith","contentState","getCurrentContent","nextContentState","Modifier","insertText","getSelection","nextEditorState","EditorState","push"],"sources":["../../../../src/Editor/hooks/usePastedTextHandler.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport {\n DraftHandleValue,\n EditorProps as DraftEditorProps,\n EditorState,\n Modifier,\n RichUtils,\n} from 'draft-js';\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;;AACA;;AAaA;AACA;AACA;AACA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAC3BC,QAD2B,EAE3BC,OAF2B;EAAA,OAI3B,IAAAC,kBAAA,EACE,UAACC,IAAD,EAAOC,IAAP,EAAaC,WAAb,EAA+C;IAC7C,IAAMC,gBAAgB,GAAGC,kBAAA,CAAUC,mBAAV,CAA8BH,WAA9B,CAAzB;;IAEA,IAAIC,gBAAgB,CAACG,UAAjB,CAA4B,QAA5B,CAAJ,EAA2C;MACzC,IAAMC,YAAY,GAAGL,WAAW,CAACM,iBAAZ,EAArB;;MACA,IAAMC,gBAAgB,GAAGC,iBAAA,CAASC,UAAT,CACvBJ,YADuB,EAEvBL,WAAW,CAACU,YAAZ,EAFuB,EAGvBZ,IAHuB,CAAzB;;MAKA,IAAMa,eAAe,GAAGC,oBAAA,CAAYC,IAAZ,CACtBb,WADsB,EAEtBO,gBAFsB,EAGtB,mBAHsB,CAAxB;;MAKAZ,QAAQ,CAACgB,eAAD,CAAR;MACA,OAAO,SAAP;IACD;;IAED,OAAOf,OAAO,CAACE,IAAD,EAAOC,IAAP,EAAaC,WAAb,CAAd;EACD,CArBH,EAsBE,CAACL,QAAD,EAAWC,OAAX,CAtBF,CAJ2B;AAAA,CAA7B;;eA6BeF,oB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Editor/hooks/useReturnHandler.ts"],"names":["useReturnHandler","onChange","handler","e","editorState","currentBlock","currentBlockType","getType","startsWith","nextEditorState","getKey"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;;;AAIA;AACA;AACA;AACA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CACvBC,QADuB,EAEvBC,OAFuB;AAAA,SAIvB,wBACE,UAACC,CAAD,EAAIC,WAAJ,EAAoB;AAClB,QAAMC,YAAY,GAAG,iCAAgBD,WAAhB,CAArB;AACA,QAAME,gBAAgB,GAAGD,YAAY,CAACE,OAAb,EAAzB;;AAEA,QACED,gBAAgB,CAACE,UAAjB,CAA4B,QAA5B,KACAF,gBAAgB,CAACE,UAAjB,CAA4B,QAA5B,CAFF,EAGE;AACA,UAAMC,eAAe,GAAG,+BACtBL,WADsB,EAEtBC,YAAY,CAACK,MAAb,EAFsB,CAAxB;AAIAT,MAAAA,QAAQ,CAACQ,eAAD,CAAR;AACA,aAAO,SAAP;AACD;;AAED,WAAOP,OAAO,CAACC,CAAD,EAAIC,WAAJ,CAAd;AACD,GAlBH,EAmBE,CAACH,QAAD,EAAWC,OAAX,CAnBF,CAJuB;AAAA,CAAzB;;eA0BeF,gB","sourcesContent":["import { useCallback } from 'react';\nimport { EditorProps as DraftEditorProps, EditorState } from 'draft-js';\nimport getCurrentBlock from '../utils/getCurrentBlock';\nimport addNewBlockAt from '../utils/addNewBlockAt';\n\ntype UseReturnHandlerRes = Exclude<DraftEditorProps['handleReturn'], undefined>;\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"],"file":"useReturnHandler.js"}
1
+ {"version":3,"file":"useReturnHandler.js","names":["useReturnHandler","onChange","handler","useCallback","e","editorState","currentBlock","getCurrentBlock","currentBlockType","getType","startsWith","nextEditorState","addNewBlockAt","getKey"],"sources":["../../../../src/Editor/hooks/useReturnHandler.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { EditorProps as DraftEditorProps, EditorState } from 'draft-js';\nimport getCurrentBlock from '../utils/getCurrentBlock';\nimport addNewBlockAt from '../utils/addNewBlockAt';\n\ntype UseReturnHandlerRes = Exclude<DraftEditorProps['handleReturn'], undefined>;\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":";;;;;;;AAAA;;AAEA;;AACA;;;;AAIA;AACA;AACA;AACA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CACvBC,QADuB,EAEvBC,OAFuB;EAAA,OAIvB,IAAAC,kBAAA,EACE,UAACC,CAAD,EAAIC,WAAJ,EAAoB;IAClB,IAAMC,YAAY,GAAG,IAAAC,2BAAA,EAAgBF,WAAhB,CAArB;IACA,IAAMG,gBAAgB,GAAGF,YAAY,CAACG,OAAb,EAAzB;;IAEA,IACED,gBAAgB,CAACE,UAAjB,CAA4B,QAA5B,KACAF,gBAAgB,CAACE,UAAjB,CAA4B,QAA5B,CAFF,EAGE;MACA,IAAMC,eAAe,GAAG,IAAAC,yBAAA,EACtBP,WADsB,EAEtBC,YAAY,CAACO,MAAb,EAFsB,CAAxB;MAIAZ,QAAQ,CAACU,eAAD,CAAR;MACA,OAAO,SAAP;IACD;;IAED,OAAOT,OAAO,CAACE,CAAD,EAAIC,WAAJ,CAAd;EACD,CAlBH,EAmBE,CAACJ,QAAD,EAAWC,OAAX,CAnBF,CAJuB;AAAA,CAAzB;;eA0BeF,gB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Editor/hooks/useStyleToolbarProps.ts"],"names":["useStyleToolbarProps","value","top","left","width","height","trigger","setTrigger","visible","setVisible","selectionRange","getSelection","isCollapsed","RichUtils","getCurrentBlockType","startsWith","getBoundingClientRect"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;;;;;AAcA;AACA;AACA;AACA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,KAAD,EAAiD;AAC5E,kBAA8B,qBAAS;AACrCC,IAAAA,GAAG,EAAE,CADgC;AAErCC,IAAAA,IAAI,EAAE,CAF+B;AAGrCC,IAAAA,KAAK,EAAE,CAH8B;AAIrCC,IAAAA,MAAM,EAAE;AAJ6B,GAAT,CAA9B;AAAA;AAAA,MAAOC,OAAP;AAAA,MAAgBC,UAAhB;;AAMA,mBAA8B,qBAAS,KAAT,CAA9B;AAAA;AAAA,MAAOC,OAAP;AAAA,MAAgBC,UAAhB;;AAEA,wBAAU,YAAM;AACd,QAAI,CAACR,KAAL,EAAY;AACZ,QAAMS,cAAc,GAAG,oCAAvB,CAFc,CAId;AACA;AACA;;AACA,QACE,CAACA,cAAD,IACAT,KAAK,CAACU,YAAN,GAAqBC,WAArB,EADA,IAEAC,mBAAUC,mBAAV,CAA8Bb,KAA9B,EAAqCc,UAArC,CAAgD,QAAhD,CAHF,EAIE;AACAN,MAAAA,UAAU,CAAC,KAAD,CAAV;AACA;AACD,KAda,CAgBd;;;AACAF,IAAAA,UAAU,CAACG,cAAc,CAACM,qBAAf,EAAD,CAAV;AACAP,IAAAA,UAAU,CAAC,IAAD,CAAV;AACD,GAnBD,EAmBG,CAACR,KAAD,CAnBH;AAqBA,SAAO;AAAEK,IAAAA,OAAO,EAAPA,OAAF;AAAWE,IAAAA,OAAO,EAAPA;AAAX,GAAP;AACD,CA/BD;;eAiCeR,oB","sourcesContent":["import { useEffect, useState } from 'react';\nimport { EditorState, RichUtils } from 'draft-js';\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"],"file":"useStyleToolbarProps.js"}
1
+ {"version":3,"file":"useStyleToolbarProps.js","names":["useStyleToolbarProps","value","useState","top","left","width","height","trigger","setTrigger","visible","setVisible","useEffect","selectionRange","getSelectionRange","getSelection","isCollapsed","RichUtils","getCurrentBlockType","startsWith","getBoundingClientRect"],"sources":["../../../../src/Editor/hooks/useStyleToolbarProps.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { EditorState, RichUtils } from 'draft-js';\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;;AACA;;AACA;;;;;;;;;;;;;;;;AAcA;AACA;AACA;AACA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,KAAD,EAAiD;EAC5E,gBAA8B,IAAAC,eAAA,EAAS;IACrCC,GAAG,EAAE,CADgC;IAErCC,IAAI,EAAE,CAF+B;IAGrCC,KAAK,EAAE,CAH8B;IAIrCC,MAAM,EAAE;EAJ6B,CAAT,CAA9B;EAAA;EAAA,IAAOC,OAAP;EAAA,IAAgBC,UAAhB;;EAMA,iBAA8B,IAAAN,eAAA,EAAS,KAAT,CAA9B;EAAA;EAAA,IAAOO,OAAP;EAAA,IAAgBC,UAAhB;;EAEA,IAAAC,gBAAA,EAAU,YAAM;IACd,IAAI,CAACV,KAAL,EAAY;IACZ,IAAMW,cAAc,GAAG,IAAAC,6BAAA,GAAvB,CAFc,CAId;IACA;IACA;;IACA,IACE,CAACD,cAAD,IACAX,KAAK,CAACa,YAAN,GAAqBC,WAArB,EADA,IAEAC,kBAAA,CAAUC,mBAAV,CAA8BhB,KAA9B,EAAqCiB,UAArC,CAAgD,QAAhD,CAHF,EAIE;MACAR,UAAU,CAAC,KAAD,CAAV;MACA;IACD,CAda,CAgBd;;;IACAF,UAAU,CAACI,cAAc,CAACO,qBAAf,EAAD,CAAV;IACAT,UAAU,CAAC,IAAD,CAAV;EACD,CAnBD,EAmBG,CAACT,KAAD,CAnBH;EAqBA,OAAO;IAAEM,OAAO,EAAPA,OAAF;IAAWE,OAAO,EAAPA;EAAX,CAAP;AACD,CA/BD;;eAiCeT,oB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Editor/index.tsx"],"names":["disabledStyles","p","disabled","css","Container","InputContainer","theme","editorPaddingVertical","inputPaddingHorizontal","editorMinHeight","defaultDraftJsStyles","overrideDraftJsStyles","Editor","ref","styleToolbarItems","defaultStyleToolbarItems","blockToolbarItems","value","defaultValue","onChange","size","readOnly","handleReturn","handlePastedText","rest","editorRef","mergedEditorRef","forwardedValue","setForwardedValue","innerReadOnly","setInnerReadOnly","styleToolbarProps","blockToolbarProps","length","setEditorState","editorState","getSelection","getHasFocus","EditorState","moveSelectionToEnd","blockRenderer","block","blockConfig","find","item","type","getType","component","returnHandler","pastedTextHandler","undefined","current","focus","displayName"],"mappings":"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","sourcesContent":["import React, { forwardRef, useCallback, useState } from 'react';\nimport {\n Editor as DraftEditor,\n EditorState,\n EditorProps as DraftEditorProps,\n} from 'draft-js';\nimport { InputContainer } from '@os-design/core';\nimport styled from '@emotion/styled';\nimport { WithSize } from '@os-design/styles';\nimport { useForwardedRef, useForwardedState } from '@os-design/utils';\nimport { css } from '@emotion/react';\nimport createEmptyEditorState from './utils/createEmptyEditorState';\nimport defaultDraftJsStyles from './styles/defaultDraftJsStyles';\nimport overrideDraftJsStyles from './styles/overrideDraftJsStyles';\nimport defaultStyleToolbarItems, {\n StyleToolbarItem,\n} from './utils/defaultStyleToolbarItems';\nimport StyleToolbar from './StyleToolbar';\nimport BlockToolbar from './BlockToolbar';\nimport useStyleToolbarProps from './hooks/useStyleToolbarProps';\nimport useBlockToolbarProps from './hooks/useBlockToolbarProps';\nimport useReturnHandler from './hooks/useReturnHandler';\nimport usePastedTextHandler from './hooks/usePastedTextHandler';\nimport { BlockToolbarItem } from './blocks/types';\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"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["disabledStyles","p","disabled","css","Container","styled","InputContainer","theme","editorPaddingVertical","inputPaddingHorizontal","editorMinHeight","defaultDraftJsStyles","overrideDraftJsStyles","Editor","forwardRef","ref","styleToolbarItems","defaultStyleToolbarItems","blockToolbarItems","value","defaultValue","createEmptyEditorState","onChange","size","readOnly","handleReturn","handlePastedText","rest","useForwardedRef","editorRef","mergedEditorRef","useForwardedState","forwardedValue","setForwardedValue","useState","innerReadOnly","setInnerReadOnly","styleToolbarProps","useStyleToolbarProps","blockToolbarProps","useBlockToolbarProps","length","setEditorState","useCallback","editorState","getSelection","getHasFocus","EditorState","moveSelectionToEnd","blockRenderer","block","blockConfig","find","item","type","getType","component","returnHandler","useReturnHandler","pastedTextHandler","usePastedTextHandler","undefined","current","focus","displayName"],"sources":["../../../src/Editor/index.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useState } from 'react';\nimport {\n Editor as DraftEditor,\n EditorState,\n EditorProps as DraftEditorProps,\n} from 'draft-js';\nimport { InputContainer } from '@os-design/core';\nimport styled from '@emotion/styled';\nimport { WithSize } from '@os-design/styles';\nimport { useForwardedRef, useForwardedState } from '@os-design/utils';\nimport { css } from '@emotion/react';\nimport createEmptyEditorState from './utils/createEmptyEditorState';\nimport defaultDraftJsStyles from './styles/defaultDraftJsStyles';\nimport overrideDraftJsStyles from './styles/overrideDraftJsStyles';\nimport defaultStyleToolbarItems, {\n StyleToolbarItem,\n} from './utils/defaultStyleToolbarItems';\nimport StyleToolbar from './StyleToolbar';\nimport BlockToolbar from './BlockToolbar';\nimport useStyleToolbarProps from './hooks/useStyleToolbarProps';\nimport useBlockToolbarProps from './hooks/useBlockToolbarProps';\nimport useReturnHandler from './hooks/useReturnHandler';\nimport usePastedTextHandler from './hooks/usePastedTextHandler';\nimport { BlockToolbarItem } from './blocks/types';\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 +1 @@
1
- {"version":3,"sources":["../../../../src/Editor/styles/defaultDraftJsStyles.ts"],"names":["defaultDraftJsStyles","css"],"mappings":";;;;;;;AAAA;;;;;;AAEA;AACA;AACA;AACA;AACA,IAAMA,oBAAoB,OAAGC,UAAH,48JAA1B;eA4KeD,oB","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"],"file":"defaultDraftJsStyles.js"}
1
+ {"version":3,"file":"defaultDraftJsStyles.js","names":["defaultDraftJsStyles","css"],"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;;;;;;AAEA;AACA;AACA;AACA;AACA,IAAMA,oBAAoB,OAAGC,UAAH,48JAA1B;eA4KeD,oB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Editor/styles/overrideDraftJsStyles.ts"],"names":["overrideDraftJsStyles","p","css","theme","lineHeight","colorText","inputColorPlaceholder","paragraphMarginBottom"],"mappings":";;;;;;;AAAA;;AACA;;;;;;AAEA;AACA,IAAMA,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACC,CAAD;AAAA,aAAOC,UAAP,2TAIXD,CAAC,CAACE,KAAF,CAAQC,UAJG,EAKjB,kBAAIH,CAAC,CAACE,KAAF,CAAQE,SAAZ,CALiB,EAQjB,kBAAIJ,CAAC,CAACE,KAAF,CAAQG,qBAAZ,CARiB,EAWZL,CAAC,CAACE,KAAF,CAAQI,qBAXI;AAAA,CAA9B;;eAeeP,qB","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"],"file":"overrideDraftJsStyles.js"}
1
+ {"version":3,"file":"overrideDraftJsStyles.js","names":["overrideDraftJsStyles","p","css","theme","lineHeight","clr","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;;AACA;;;;;;AAEA;AACA,IAAMA,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACC,CAAD;EAAA,WAAOC,UAAP,2TAIXD,CAAC,CAACE,KAAF,CAAQC,UAJG,EAKjB,IAAAC,YAAA,EAAIJ,CAAC,CAACE,KAAF,CAAQG,SAAZ,CALiB,EAQjB,IAAAD,YAAA,EAAIJ,CAAC,CAACE,KAAF,CAAQI,qBAAZ,CARiB,EAWZN,CAAC,CAACE,KAAF,CAAQK,qBAXI;AAAA,CAA9B;;eAeeR,qB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Editor/utils/addNewBlockAt.ts"],"names":["addNewBlockAt","editorState","pivotBlockKey","type","data","contentState","getCurrentContent","blockMap","getBlockMap","pivotBlock","get","Error","blocksBefore","toSeq","takeUntil","v","blocksAfter","skipUntil","rest","key","block","ContentBlock","text","characterList","Immutable","List","depth","Map","selectionState","getSelection","nextBlockMap","concat","toOrderedMap","nextContentState","merge","selectionBefore","selectionAfter","anchorKey","anchorOffset","focusKey","focusOffset","isBackward","EditorState","push"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CACpBC,WADoB,EAEpBC,aAFoB,EAKJ;AAAA,MAFhBC,IAEgB,uEAFT,UAES;AAAA,MADhBC,IACgB,uEADY,EACZ;AAChB,MAAMC,YAAY,GAAGJ,WAAW,CAACK,iBAAZ,EAArB;AACA,MAAMC,QAAQ,GAAGF,YAAY,CAACG,WAAb,EAAjB;AACA,MAAMC,UAAU,GAAGF,QAAQ,CAACG,GAAT,CAAaR,aAAb,CAAnB;AACA,MAAI,CAACO,UAAL,EACE,MAAM,IAAIE,KAAJ,2BACeT,aADf,iCAAN;AAGF,MAAMU,YAAY,GAAGL,QAAQ,CAACM,KAAT,GAAiBC,SAAjB,CAA2B,UAACC,CAAD;AAAA,WAAOA,CAAC,KAAKN,UAAb;AAAA,GAA3B,CAArB;AACA,MAAMO,WAAW,GAAGT,QAAQ,CACzBM,KADiB,GAEjBI,SAFiB,CAEP,UAACF,CAAD;AAAA,WAAOA,CAAC,KAAKN,UAAb;AAAA,GAFO,EAGjBS,IAHiB,EAApB;AAIA,MAAMC,GAAG,GAAG,sBAAZ;AAEA,MAAMC,KAAK,GAAG,IAAIC,qBAAJ,CAAiB;AAC7BF,IAAAA,GAAG,EAAHA,GAD6B;AAE7BhB,IAAAA,IAAI,EAAJA,IAF6B;AAG7BmB,IAAAA,IAAI,EAAE,EAHuB;AAI7BC,IAAAA,aAAa,EAAEC,sBAAUC,IAAV,EAJc;AAK7BC,IAAAA,KAAK,EAAE,CALsB;AAM7BtB,IAAAA,IAAI,EAAEoB,sBAAUG,GAAV,CAAcvB,IAAd;AANuB,GAAjB,CAAd;AASA,MAAMwB,cAAc,GAAG3B,WAAW,CAAC4B,YAAZ,EAAvB;AACA,MAAMC,YAAY,GAAGlB,YAAY,CAC9BmB,MADkB,CAEjB,CACE,CAAC7B,aAAD,EAAgBO,UAAhB,CADF,EAEE,CAACU,GAAD,EAAMC,KAAN,CAFF,CAFiB,EAMjBJ,WANiB,EAQlBgB,YARkB,EAArB;AAUA,MAAMC,gBAAgB,GAAG5B,YAAY,CAAC6B,KAAb,CAAmB;AAC1C3B,IAAAA,QAAQ,EAAEuB,YADgC;AAE1CK,IAAAA,eAAe,EAAEP,cAFyB;AAG1CQ,IAAAA,cAAc,EAAER,cAAc,CAACM,KAAf,CAAqB;AACnCG,MAAAA,SAAS,EAAElB,GADwB;AAEnCmB,MAAAA,YAAY,EAAE,CAFqB;AAGnCC,MAAAA,QAAQ,EAAEpB,GAHyB;AAInCqB,MAAAA,WAAW,EAAE,CAJsB;AAKnCC,MAAAA,UAAU,EAAE;AALuB,KAArB;AAH0B,GAAnB,CAAzB;AAYA,SAAOC,qBAAYC,IAAZ,CAAiB1C,WAAjB,EAA8BgC,gBAA9B,EAAgD,aAAhD,CAAP;AACD,CArDD;;eAuDejC,a","sourcesContent":["import Immutable from 'immutable';\nimport { ContentBlock, ContentState, EditorState, genKey } from 'draft-js';\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"],"file":"addNewBlockAt.js"}
1
+ {"version":3,"file":"addNewBlockAt.js","names":["addNewBlockAt","editorState","pivotBlockKey","type","data","contentState","getCurrentContent","blockMap","getBlockMap","pivotBlock","get","Error","blocksBefore","toSeq","takeUntil","v","blocksAfter","skipUntil","rest","key","genKey","block","ContentBlock","text","characterList","Immutable","List","depth","Map","selectionState","getSelection","nextBlockMap","concat","toOrderedMap","nextContentState","merge","selectionBefore","selectionAfter","anchorKey","anchorOffset","focusKey","focusOffset","isBackward","EditorState","push"],"sources":["../../../../src/Editor/utils/addNewBlockAt.ts"],"sourcesContent":["import Immutable from 'immutable';\nimport { ContentBlock, ContentState, EditorState, genKey } from 'draft-js';\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;;AACA;;;;AAEA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CACpBC,WADoB,EAEpBC,aAFoB,EAKJ;EAAA,IAFhBC,IAEgB,uEAFT,UAES;EAAA,IADhBC,IACgB,uEADY,EACZ;EAChB,IAAMC,YAAY,GAAGJ,WAAW,CAACK,iBAAZ,EAArB;EACA,IAAMC,QAAQ,GAAGF,YAAY,CAACG,WAAb,EAAjB;EACA,IAAMC,UAAU,GAAGF,QAAQ,CAACG,GAAT,CAAaR,aAAb,CAAnB;EACA,IAAI,CAACO,UAAL,EACE,MAAM,IAAIE,KAAJ,2BACeT,aADf,iCAAN;EAGF,IAAMU,YAAY,GAAGL,QAAQ,CAACM,KAAT,GAAiBC,SAAjB,CAA2B,UAACC,CAAD;IAAA,OAAOA,CAAC,KAAKN,UAAb;EAAA,CAA3B,CAArB;EACA,IAAMO,WAAW,GAAGT,QAAQ,CACzBM,KADiB,GAEjBI,SAFiB,CAEP,UAACF,CAAD;IAAA,OAAOA,CAAC,KAAKN,UAAb;EAAA,CAFO,EAGjBS,IAHiB,EAApB;EAIA,IAAMC,GAAG,GAAG,IAAAC,eAAA,GAAZ;EAEA,IAAMC,KAAK,GAAG,IAAIC,qBAAJ,CAAiB;IAC7BH,GAAG,EAAHA,GAD6B;IAE7BhB,IAAI,EAAJA,IAF6B;IAG7BoB,IAAI,EAAE,EAHuB;IAI7BC,aAAa,EAAEC,qBAAA,CAAUC,IAAV,EAJc;IAK7BC,KAAK,EAAE,CALsB;IAM7BvB,IAAI,EAAEqB,qBAAA,CAAUG,GAAV,CAAcxB,IAAd;EANuB,CAAjB,CAAd;EASA,IAAMyB,cAAc,GAAG5B,WAAW,CAAC6B,YAAZ,EAAvB;EACA,IAAMC,YAAY,GAAGnB,YAAY,CAC9BoB,MADkB,CAEjB,CACE,CAAC9B,aAAD,EAAgBO,UAAhB,CADF,EAEE,CAACU,GAAD,EAAME,KAAN,CAFF,CAFiB,EAMjBL,WANiB,EAQlBiB,YARkB,EAArB;EAUA,IAAMC,gBAAgB,GAAG7B,YAAY,CAAC8B,KAAb,CAAmB;IAC1C5B,QAAQ,EAAEwB,YADgC;IAE1CK,eAAe,EAAEP,cAFyB;IAG1CQ,cAAc,EAAER,cAAc,CAACM,KAAf,CAAqB;MACnCG,SAAS,EAAEnB,GADwB;MAEnCoB,YAAY,EAAE,CAFqB;MAGnCC,QAAQ,EAAErB,GAHyB;MAInCsB,WAAW,EAAE,CAJsB;MAKnCC,UAAU,EAAE;IALuB,CAArB;EAH0B,CAAnB,CAAzB;EAYA,OAAOC,oBAAA,CAAYC,IAAZ,CAAiB3C,WAAjB,EAA8BiC,gBAA9B,EAAgD,aAAhD,CAAP;AACD,CArDD;;eAuDelC,a"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Editor/utils/changeBlock.ts"],"names":["changeBlock","editorState","block","type","data","contentState","getCurrentContent","nextCurrentBlock","merge","nextContentState","blockMap","getBlockMap","set","getKey","selectionAfter","getSelection","EditorState","push"],"mappings":";;;;;;;AAAA;;AAEA,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAClBC,WADkB,EAElBC,KAFkB,EAGlBC,IAHkB,EAKF;AAAA,MADhBC,IACgB,uEADY,EACZ;AAChB,MAAMC,YAAY,GAAGJ,WAAW,CAACK,iBAAZ,EAArB;AAEA,MAAMC,gBAAgB,GAAGL,KAAK,CAACM,KAAN,CAAY;AAAEL,IAAAA,IAAI,EAAJA,IAAF;AAAQC,IAAAA,IAAI,EAAJA;AAAR,GAAZ,CAAzB;AACA,MAAMK,gBAAgB,GAAGJ,YAAY,CAACG,KAAb,CAAmB;AAC1CE,IAAAA,QAAQ,EAAEL,YAAY,CAACM,WAAb,GAA2BC,GAA3B,CAA+BV,KAAK,CAACW,MAAN,EAA/B,EAA+CN,gBAA/C,CADgC;AAE1CO,IAAAA,cAAc,EAAEb,WAAW,CAACc,YAAZ;AAF0B,GAAnB,CAAzB;AAKA,SAAOC,qBAAYC,IAAZ,CAAiBhB,WAAjB,EAA8BQ,gBAA9B,EAAgD,mBAAhD,CAAP;AACD,CAfD;;eAiBeT,W","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"],"file":"changeBlock.js"}
1
+ {"version":3,"file":"changeBlock.js","names":["changeBlock","editorState","block","type","data","contentState","getCurrentContent","nextCurrentBlock","merge","nextContentState","blockMap","getBlockMap","set","getKey","selectionAfter","getSelection","EditorState","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;;AAEA,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAClBC,WADkB,EAElBC,KAFkB,EAGlBC,IAHkB,EAKF;EAAA,IADhBC,IACgB,uEADY,EACZ;EAChB,IAAMC,YAAY,GAAGJ,WAAW,CAACK,iBAAZ,EAArB;EAEA,IAAMC,gBAAgB,GAAGL,KAAK,CAACM,KAAN,CAAY;IAAEL,IAAI,EAAJA,IAAF;IAAQC,IAAI,EAAJA;EAAR,CAAZ,CAAzB;EACA,IAAMK,gBAAgB,GAAGJ,YAAY,CAACG,KAAb,CAAmB;IAC1CE,QAAQ,EAAEL,YAAY,CAACM,WAAb,GAA2BC,GAA3B,CAA+BV,KAAK,CAACW,MAAN,EAA/B,EAA+CN,gBAA/C,CADgC;IAE1CO,cAAc,EAAEb,WAAW,CAACc,YAAZ;EAF0B,CAAnB,CAAzB;EAKA,OAAOC,oBAAA,CAAYC,IAAZ,CAAiBhB,WAAjB,EAA8BQ,gBAA9B,EAAgD,mBAAhD,CAAP;AACD,CAfD;;eAiBeT,W"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Editor/utils/createContentEditorState.ts"],"names":["createContentEditorState","contentState","EditorState","createWithContent"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA,IAAMA,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,YAAD;AAAA,SAC/BC,qBAAYC,iBAAZ,CAA8BF,YAA9B,EAA4C,kCAA5C,CAD+B;AAAA,CAAjC;;eAGeD,wB","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"],"file":"createContentEditorState.js"}
1
+ {"version":3,"file":"createContentEditorState.js","names":["createContentEditorState","contentState","EditorState","createWithContent","createDecorator"],"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;;AACA;;;;AAEA,IAAMA,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,YAAD;EAAA,OAC/BC,oBAAA,CAAYC,iBAAZ,CAA8BF,YAA9B,EAA4C,IAAAG,2BAAA,GAA5C,CAD+B;AAAA,CAAjC;;eAGeJ,wB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Editor/utils/createDecorator.ts"],"names":["createDecorator","CompositeDecorator","linkDecorator"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB;AAAA,SACtB,IAAIC,2BAAJ,CAAuB,CAACC,yBAAD,CAAvB,CADsB;AAAA,CAAxB;;eAGeF,e","sourcesContent":["import { CompositeDecorator } from 'draft-js';\nimport linkDecorator from '../decorators/linkDecorator';\n\nconst createDecorator = (): CompositeDecorator =>\n new CompositeDecorator([linkDecorator]);\n\nexport default createDecorator;\n"],"file":"createDecorator.js"}
1
+ {"version":3,"file":"createDecorator.js","names":["createDecorator","CompositeDecorator","linkDecorator"],"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;;AACA;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB;EAAA,OACtB,IAAIC,2BAAJ,CAAuB,CAACC,yBAAD,CAAvB,CADsB;AAAA,CAAxB;;eAGeF,e"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Editor/utils/createEmptyEditorState.ts"],"names":["createEmptyEditorState","EditorState","createEmpty"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAyB;AAAA,SAC7BC,qBAAYC,WAAZ,CAAwB,kCAAxB,CAD6B;AAAA,CAA/B;;eAGeF,sB","sourcesContent":["import { EditorState } from 'draft-js';\nimport createDecorator from './createDecorator';\n\nconst createEmptyEditorState = (): EditorState =>\n EditorState.createEmpty(createDecorator());\n\nexport default createEmptyEditorState;\n"],"file":"createEmptyEditorState.js"}
1
+ {"version":3,"file":"createEmptyEditorState.js","names":["createEmptyEditorState","EditorState","createEmpty","createDecorator"],"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;;AACA;;;;AAEA,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAyB;EAAA,OAC7BC,oBAAA,CAAYC,WAAZ,CAAwB,IAAAC,2BAAA,GAAxB,CAD6B;AAAA,CAA/B;;eAGeH,sB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Editor/utils/defaultStyleToolbarItems.tsx"],"names":["FontSizeSmall","FontSize","defaultStyleToolbarItems","name","type","icon"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAcA,IAAMA,aAAa,GAAG,wBAAOC,eAAP,CAAH,iGAAnB;AAIA,IAAMC,wBAA4C,GAAG,CACnD;AAAEC,EAAAA,IAAI,EAAE,YAAR;AAAsBC,EAAAA,IAAI,EAAE,OAA5B;AAAqCC,EAAAA,IAAI,eAAE,gCAAC,eAAD;AAA3C,CADmD,EAEnD;AAAEF,EAAAA,IAAI,EAAE,cAAR;AAAwBC,EAAAA,IAAI,EAAE,OAA9B;AAAuCC,EAAAA,IAAI,eAAE,gCAAC,aAAD;AAA7C,CAFmD,EAGnD;AAAEF,EAAAA,IAAI,EAAE,MAAR;AAAgBC,EAAAA,IAAI,EAAE,QAAtB;AAAgCC,EAAAA,IAAI,eAAE,gCAAC,WAAD;AAAtC,CAHmD,EAInD;AAAEF,EAAAA,IAAI,EAAE,qBAAR;AAA+BC,EAAAA,IAAI,EAAE,OAArC;AAA8CC,EAAAA,IAAI,eAAE,gCAAC,oBAAD;AAApD,CAJmD,EAKnD;AAAEF,EAAAA,IAAI,EAAE,mBAAR;AAA6BC,EAAAA,IAAI,EAAE,OAAnC;AAA4CC,EAAAA,IAAI,eAAE,gCAAC,kBAAD;AAAlD,CALmD,EAMnD;AAAEF,EAAAA,IAAI,EAAE,MAAR;AAAgBC,EAAAA,IAAI,EAAE,QAAtB;AAAgCC,EAAAA,IAAI,eAAE,gCAAC,WAAD;AAAtC,CANmD,CAArD;eASeH,wB","sourcesContent":["import React from 'react';\nimport styled from '@emotion/styled';\nimport {\n Bold,\n FontSize,\n OrderedList,\n UnorderedList,\n Link as LinkIcon,\n} from '@os-design/icons';\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"],"file":"defaultStyleToolbarItems.js"}
1
+ {"version":3,"file":"defaultStyleToolbarItems.js","names":["FontSizeSmall","styled","FontSize","defaultStyleToolbarItems","name","type","icon"],"sources":["../../../../src/Editor/utils/defaultStyleToolbarItems.tsx"],"sourcesContent":["import React from 'react';\nimport styled from '@emotion/styled';\nimport {\n Bold,\n FontSize,\n OrderedList,\n UnorderedList,\n Link as LinkIcon,\n} from '@os-design/icons';\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;;AACA;;AACA;;;;;;;;AAcA,IAAMA,aAAa,GAAG,IAAAC,kBAAA,EAAOC,eAAP,CAAH,iGAAnB;AAIA,IAAMC,wBAA4C,GAAG,CACnD;EAAEC,IAAI,EAAE,YAAR;EAAsBC,IAAI,EAAE,OAA5B;EAAqCC,IAAI,eAAE,gCAAC,eAAD;AAA3C,CADmD,EAEnD;EAAEF,IAAI,EAAE,cAAR;EAAwBC,IAAI,EAAE,OAA9B;EAAuCC,IAAI,eAAE,gCAAC,aAAD;AAA7C,CAFmD,EAGnD;EAAEF,IAAI,EAAE,MAAR;EAAgBC,IAAI,EAAE,QAAtB;EAAgCC,IAAI,eAAE,gCAAC,WAAD;AAAtC,CAHmD,EAInD;EAAEF,IAAI,EAAE,qBAAR;EAA+BC,IAAI,EAAE,OAArC;EAA8CC,IAAI,eAAE,gCAAC,oBAAD;AAApD,CAJmD,EAKnD;EAAEF,IAAI,EAAE,mBAAR;EAA6BC,IAAI,EAAE,OAAnC;EAA4CC,IAAI,eAAE,gCAAC,kBAAD;AAAlD,CALmD,EAMnD;EAAEF,IAAI,EAAE,MAAR;EAAgBC,IAAI,EAAE,QAAtB;EAAgCC,IAAI,eAAE,gCAAC,WAAD;AAAtC,CANmD,CAArD;eASeH,wB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Editor/utils/getCurrentBlock.ts"],"names":["getCurrentBlock","editorState","selectionState","getSelection","contentState","getCurrentContent","getBlockForKey","getStartKey"],"mappings":";;;;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,WAAD,EAA4C;AAClE,MAAMC,cAAc,GAAGD,WAAW,CAACE,YAAZ,EAAvB;AACA,MAAMC,YAAY,GAAGH,WAAW,CAACI,iBAAZ,EAArB;AACA,SAAOD,YAAY,CAACE,cAAb,CAA4BJ,cAAc,CAACK,WAAf,EAA5B,CAAP;AACD,CAJD;;eAMeP,e","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"],"file":"getCurrentBlock.js"}
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,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,WAAD,EAA4C;EAClE,IAAMC,cAAc,GAAGD,WAAW,CAACE,YAAZ,EAAvB;EACA,IAAMC,YAAY,GAAGH,WAAW,CAACI,iBAAZ,EAArB;EACA,OAAOD,YAAY,CAACE,cAAb,CAA4BJ,cAAc,CAACK,WAAf,EAA5B,CAAP;AACD,CAJD;;eAMeP,e"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Editor/utils/getSelectedBlockElement.ts"],"names":["getSelectedBlockElement","selectionRange","node","startContainer","Element","getAttribute","parentNode"],"mappings":";;;;;;;AAAA;;;;AAEA,IAAMA,uBAAuB,GAAG,SAA1BA,uBAA0B,GAAsB;AACpD,MAAMC,cAAc,GAAG,oCAAvB;AACA,MAAI,CAACA,cAAL,EAAqB,OAAO,IAAP;AAErB,MAAIC,IAAiB,GAAGD,cAAc,CAACE,cAAvC;;AAEA,KAAG;AACD,QAAID,IAAI,YAAYE,OAAhB,IAA2BF,IAAI,CAACG,YAAL,CAAkB,YAAlB,MAAoC,MAAnE,EACE,OAAOH,IAAP;AACFA,IAAAA,IAAI,GAAGA,IAAI,CAACI,UAAZ;AACD,GAJD,QAISJ,IAAI,IAAI,IAJjB;;AAKA,SAAO,IAAP;AACD,CAZD;;eAceF,uB","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"],"file":"getSelectedBlockElement.js"}
1
+ {"version":3,"file":"getSelectedBlockElement.js","names":["getSelectedBlockElement","selectionRange","getSelectionRange","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;;;;AAEA,IAAMA,uBAAuB,GAAG,SAA1BA,uBAA0B,GAAsB;EACpD,IAAMC,cAAc,GAAG,IAAAC,6BAAA,GAAvB;EACA,IAAI,CAACD,cAAL,EAAqB,OAAO,IAAP;EAErB,IAAIE,IAAiB,GAAGF,cAAc,CAACG,cAAvC;;EAEA,GAAG;IACD,IAAID,IAAI,YAAYE,OAAhB,IAA2BF,IAAI,CAACG,YAAL,CAAkB,YAAlB,MAAoC,MAAnE,EACE,OAAOH,IAAP;IACFA,IAAI,GAAGA,IAAI,CAACI,UAAZ;EACD,CAJD,QAISJ,IAAI,IAAI,IAJjB;;EAKA,OAAO,IAAP;AACD,CAZD;;eAceH,uB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Editor/utils/getSelectionRange.ts"],"names":["getSelectionRange","selection","document","getSelection","rangeCount","getRangeAt"],"mappings":";;;;;;;AAAA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,GAAoB;AAC5C,MAAMC,SAAS,GAAGC,QAAQ,CAACC,YAAT,EAAlB;AACA,MAAI,CAACF,SAAD,IAAcA,SAAS,CAACG,UAAV,KAAyB,CAA3C,EAA8C,OAAO,IAAP;AAC9C,SAAOH,SAAS,CAACI,UAAV,CAAqB,CAArB,CAAP;AACD,CAJD;;eAMeL,iB","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"],"file":"getSelectionRange.js"}
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,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,GAAoB;EAC5C,IAAMC,SAAS,GAAGC,QAAQ,CAACC,YAAT,EAAlB;EACA,IAAI,CAACF,SAAD,IAAcA,SAAS,CAACG,UAAV,KAAyB,CAA3C,EAA8C,OAAO,IAAP;EAC9C,OAAOH,SAAS,CAACI,UAAV,CAAqB,CAArB,CAAP;AACD,CAJD;;eAMeL,iB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Editor/utils/setLink.ts"],"names":["setLink","editorState","url","containsLink","RichUtils","currentBlockContainsLink","contentState","getCurrentContent","contentStateWithLink","createEntity","entityKey","getLastCreatedEntityKey","nextEditorState","EditorState","set","currentContent","toggleLink","getSelection"],"mappings":";;;;;;;AAAA;;AAEA,IAAMA,OAAO,GAAG,SAAVA,OAAU,CAACC,WAAD,EAA2BC,GAA3B,EAAwD;AACtE,MAAMC,YAAY,GAAGC,mBAAUC,wBAAV,CAAmCJ,WAAnC,CAArB;;AACA,MAAIE,YAAJ,EAAkB,OAAOF,WAAP;AAElB,MAAMK,YAAY,GAAGL,WAAW,CAACM,iBAAZ,EAArB;AACA,MAAMC,oBAAoB,GAAGF,YAAY,CAACG,YAAb,CAA0B,MAA1B,EAAkC,SAAlC,EAA6C;AACxEP,IAAAA,GAAG,EAAHA;AADwE,GAA7C,CAA7B;AAGA,MAAMQ,SAAS,GAAGF,oBAAoB,CAACG,uBAArB,EAAlB;;AACA,MAAMC,eAAe,GAAGC,qBAAYC,GAAZ,CAAgBb,WAAhB,EAA6B;AACnDc,IAAAA,cAAc,EAAEP;AADmC,GAA7B,CAAxB;;AAGA,SAAOJ,mBAAUY,UAAV,CACLJ,eADK,EAELA,eAAe,CAACK,YAAhB,EAFK,EAGLP,SAHK,CAAP;AAKD,CAjBD;;eAmBeV,O","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"],"file":"setLink.js"}
1
+ {"version":3,"file":"setLink.js","names":["setLink","editorState","url","containsLink","RichUtils","currentBlockContainsLink","contentState","getCurrentContent","contentStateWithLink","createEntity","entityKey","getLastCreatedEntityKey","nextEditorState","EditorState","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;;AAEA,IAAMA,OAAO,GAAG,SAAVA,OAAU,CAACC,WAAD,EAA2BC,GAA3B,EAAwD;EACtE,IAAMC,YAAY,GAAGC,kBAAA,CAAUC,wBAAV,CAAmCJ,WAAnC,CAArB;;EACA,IAAIE,YAAJ,EAAkB,OAAOF,WAAP;EAElB,IAAMK,YAAY,GAAGL,WAAW,CAACM,iBAAZ,EAArB;EACA,IAAMC,oBAAoB,GAAGF,YAAY,CAACG,YAAb,CAA0B,MAA1B,EAAkC,SAAlC,EAA6C;IACxEP,GAAG,EAAHA;EADwE,CAA7C,CAA7B;EAGA,IAAMQ,SAAS,GAAGF,oBAAoB,CAACG,uBAArB,EAAlB;;EACA,IAAMC,eAAe,GAAGC,oBAAA,CAAYC,GAAZ,CAAgBb,WAAhB,EAA6B;IACnDc,cAAc,EAAEP;EADmC,CAA7B,CAAxB;;EAGA,OAAOJ,kBAAA,CAAUY,UAAV,CACLJ,eADK,EAELA,eAAe,CAACK,YAAhB,EAFK,EAGLP,SAHK,CAAP;AAKD,CAjBD;;eAmBeV,O"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Editor/utils/transformers.ts"],"names":["editorStateToFirstParagraph","editorState","firstUnstyledBlock","getCurrentContent","getBlocksAsArray","find","block","getType","getText","editorStateToMetaDescription","slice","replace","trim"],"mappings":";;;;;;;AAEO,IAAMA,2BAA2B,GAAG,SAA9BA,2BAA8B,CACzCC,WADyC,EAE9B;AACX,MAAMC,kBAAkB,GAAGD,WAAW,CACnCE,iBADwB,GAExBC,gBAFwB,GAGxBC,IAHwB,CAGnB,UAACC,KAAD;AAAA,WAAWA,KAAK,CAACC,OAAN,OAAoB,UAA/B;AAAA,GAHmB,CAA3B;AAKA,SAAOL,kBAAkB,GAAGA,kBAAkB,CAACM,OAAnB,EAAH,GAAkC,EAA3D;AACD,CATM;;;;AAWA,IAAMC,4BAA4B,GAAG,SAA/BA,4BAA+B,CAC1CR,WAD0C;AAAA,SAG1CD,2BAA2B,CAACC,WAAD,CAA3B,CACGS,KADH,CACS,CADT,EACY,GADZ,EAEGC,OAFH,CAEW,gBAFX,EAE6B,IAF7B,EAGGC,IAHH,EAH0C;AAAA,CAArC","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"],"file":"transformers.js"}
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":";;;;;;;AAEO,IAAMA,2BAA2B,GAAG,SAA9BA,2BAA8B,CACzCC,WADyC,EAE9B;EACX,IAAMC,kBAAkB,GAAGD,WAAW,CACnCE,iBADwB,GAExBC,gBAFwB,GAGxBC,IAHwB,CAGnB,UAACC,KAAD;IAAA,OAAWA,KAAK,CAACC,OAAN,OAAoB,UAA/B;EAAA,CAHmB,CAA3B;EAKA,OAAOL,kBAAkB,GAAGA,kBAAkB,CAACM,OAAnB,EAAH,GAAkC,EAA3D;AACD,CATM;;;;AAWA,IAAMC,4BAA4B,GAAG,SAA/BA,4BAA+B,CAC1CR,WAD0C;EAAA,OAG1CD,2BAA2B,CAACC,WAAD,CAA3B,CACGS,KADH,CACS,CADT,EACY,GADZ,EAEGC,OAFH,CAEW,gBAFX,EAE6B,IAF7B,EAGGC,IAHH,EAH0C;AAAA,CAArC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Editor/utils/unsetLink.ts"],"names":["unsetLink","editorState","containsLink","RichUtils","currentBlockContainsLink","selectionState","getSelection","toggleLink"],"mappings":";;;;;;;AAAA;;AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAACC,WAAD,EAA2C;AAC3D,MAAMC,YAAY,GAAGC,mBAAUC,wBAAV,CAAmCH,WAAnC,CAArB;;AACA,MAAI,CAACC,YAAL,EAAmB,OAAOD,WAAP;AAEnB,MAAMI,cAAc,GAAGJ,WAAW,CAACK,YAAZ,EAAvB;AACA,SAAOH,mBAAUI,UAAV,CAAqBN,WAArB,EAAkCI,cAAlC,EAAkD,IAAlD,CAAP;AACD,CAND;;eAQeL,S","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"],"file":"unsetLink.js"}
1
+ {"version":3,"file":"unsetLink.js","names":["unsetLink","editorState","containsLink","RichUtils","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;;AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAACC,WAAD,EAA2C;EAC3D,IAAMC,YAAY,GAAGC,kBAAA,CAAUC,wBAAV,CAAmCH,WAAnC,CAArB;;EACA,IAAI,CAACC,YAAL,EAAmB,OAAOD,WAAP;EAEnB,IAAMI,cAAc,GAAGJ,WAAW,CAACK,YAAZ,EAAvB;EACA,OAAOH,kBAAA,CAAUI,UAAV,CAAqBN,WAArB,EAAkCI,cAAlC,EAAkD,IAAlD,CAAP;AACD,CAND;;eAQeL,S"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/EditorSkeleton/index.tsx"],"names":["StyledEditorSkeleton","InputSkeleton","p","theme","editorMinHeight","EditorSkeleton","props","ref","displayName"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;;;AAIA,IAAMA,oBAAoB,GAAG,wBAAOC,mBAAP,CAAH,2FACd,UAACC,CAAD;AAAA,SAAOA,CAAC,CAACC,KAAF,CAAQC,eAAf;AAAA,CADc,CAA1B;AAIA;AACA;AACA;;AACA,IAAMC,cAAc,gBAAG,uBACrB,UAACC,KAAD,EAAQC,GAAR;AAAA,sBAAgB,gCAAC,oBAAD,eAA0BD,KAA1B;AAAiC,IAAA,GAAG,EAAEC;AAAtC,KAAhB;AAAA,CADqB,CAAvB;AAIAF,cAAc,CAACG,WAAf,GAA6B,gBAA7B;eAEeH,c","sourcesContent":["import styled from '@emotion/styled';\nimport React, { forwardRef } from 'react';\nimport { InputSkeleton, InputSkeletonProps } from '@os-design/core';\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"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["StyledEditorSkeleton","styled","InputSkeleton","p","theme","editorMinHeight","EditorSkeleton","forwardRef","props","ref","displayName"],"sources":["../../../src/EditorSkeleton/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport React, { forwardRef } from 'react';\nimport { InputSkeleton, InputSkeletonProps } from '@os-design/core';\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;;AACA;;AACA;;;;;;;;;;;;;;AAIA,IAAMA,oBAAoB,GAAG,IAAAC,kBAAA,EAAOC,mBAAP,CAAH,2FACd,UAACC,CAAD;EAAA,OAAOA,CAAC,CAACC,KAAF,CAAQC,eAAf;AAAA,CADc,CAA1B;AAIA;AACA;AACA;;AACA,IAAMC,cAAc,gBAAG,IAAAC,iBAAA,EACrB,UAACC,KAAD,EAAQC,GAAR;EAAA,oBAAgB,gCAAC,oBAAD,eAA0BD,KAA1B;IAAiC,GAAG,EAAEC;EAAtC,GAAhB;AAAA,CADqB,CAAvB;AAIAH,cAAc,CAACI,WAAf,GAA6B,gBAA7B;eAEeJ,c"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/emotion.d.ts"],"names":[],"mappings":";;AAAA","sourcesContent":["import '@emotion/react';\nimport { Theme as BaseTheme } from '@os-design/theming';\n\ndeclare module '@emotion/react' {\n // eslint-disable-next-line @typescript-eslint/no-empty-interface\n export interface Theme extends BaseTheme {}\n}\n"],"file":"emotion.d.js"}
1
+ {"version":3,"file":"emotion.d.js","names":[],"sources":["../../src/emotion.d.ts"],"sourcesContent":["import '@emotion/react';\nimport { Theme as BaseTheme } from '@os-design/theming';\n\ndeclare module '@emotion/react' {\n // eslint-disable-next-line @typescript-eslint/no-empty-interface\n export interface Theme extends BaseTheme {}\n}\n"],"mappings":";;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAXA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAFA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","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 youTubeBlock } from './Editor/blocks/youTubeBlock';\nexport { default as EditorSkeleton } from './EditorSkeleton';\n\nexport * from './Editor';\nexport * from './Editor/utils/transformers';\nexport * from './Editor/blocks/types';\nexport * from './EditorSkeleton';\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":[],"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 youTubeBlock } from './Editor/blocks/youTubeBlock';\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;;AAYA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAXA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAFA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}