@os-design/editor 1.0.208 → 1.0.209

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 (33) 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/ToolbarButton.js.map +1 -1
  4. package/dist/cjs/Editor/blocks/imageBlock.js.map +1 -1
  5. package/dist/cjs/Editor/blocks/videoBlock.js.map +1 -1
  6. package/dist/cjs/Editor/decorators/linkDecorator.js.map +1 -1
  7. package/dist/cjs/Editor/index.js.map +1 -1
  8. package/dist/cjs/EditorSkeleton/index.js.map +1 -1
  9. package/dist/esm/Editor/BlockToolbar.js.map +1 -1
  10. package/dist/esm/Editor/StyleToolbar.js.map +1 -1
  11. package/dist/esm/Editor/ToolbarButton.js.map +1 -1
  12. package/dist/esm/Editor/blocks/imageBlock.js.map +1 -1
  13. package/dist/esm/Editor/blocks/videoBlock.js.map +1 -1
  14. package/dist/esm/Editor/decorators/linkDecorator.js.map +1 -1
  15. package/dist/esm/Editor/index.js.map +1 -1
  16. package/dist/esm/EditorSkeleton/index.js.map +1 -1
  17. package/dist/types/Editor/BlockToolbar.d.ts.map +1 -1
  18. package/dist/types/Editor/StyleToolbar.d.ts.map +1 -1
  19. package/dist/types/Editor/ToolbarButton.d.ts.map +1 -1
  20. package/dist/types/Editor/blocks/imageBlock.d.ts.map +1 -1
  21. package/dist/types/Editor/blocks/videoBlock.d.ts.map +1 -1
  22. package/dist/types/Editor/decorators/linkDecorator.d.ts.map +1 -1
  23. package/dist/types/Editor/index.d.ts.map +1 -1
  24. package/dist/types/EditorSkeleton/index.d.ts.map +1 -1
  25. package/package.json +7 -7
  26. package/src/Editor/BlockToolbar.tsx +0 -1
  27. package/src/Editor/StyleToolbar.tsx +0 -2
  28. package/src/Editor/ToolbarButton.tsx +0 -2
  29. package/src/Editor/blocks/imageBlock.tsx +0 -5
  30. package/src/Editor/blocks/videoBlock.tsx +0 -1
  31. package/src/Editor/decorators/linkDecorator.tsx +0 -2
  32. package/src/Editor/index.tsx +0 -3
  33. package/src/EditorSkeleton/index.tsx +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BlockToolbar.js","names":["_react","_interopRequireWildcard","require","_Toolbar","_interopRequireDefault","_ToolbarButton","_getCurrentBlock","_excluded","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","i","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","propertyIsEnumerable","sourceKeys","keys","BlockToolbar","_ref","items","value","onChange","setReadOnly","rest","clickHandler","useCallback","_ref2","onClick","currentBlock","getCurrentBlock","getType","getLength","createElement","map","item","type","icon","_default","exports"],"sources":["../../../src/Editor/BlockToolbar.tsx"],"sourcesContent":["import { PopoverProps } from '@os-design/core';\nimport { EditorState } from 'draft-js';\nimport React, { useCallback } from 'react';\n\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":"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"}
1
+ {"version":3,"file":"BlockToolbar.js","names":["_react","_interopRequireWildcard","require","_Toolbar","_interopRequireDefault","_ToolbarButton","_getCurrentBlock","_excluded","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","i","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","propertyIsEnumerable","sourceKeys","keys","BlockToolbar","_ref","items","value","onChange","setReadOnly","rest","clickHandler","useCallback","_ref2","onClick","currentBlock","getCurrentBlock","getType","getLength","createElement","map","item","type","icon","_default","exports"],"sources":["../../../src/Editor/BlockToolbar.tsx"],"sourcesContent":["import { PopoverProps } from '@os-design/core';\nimport { EditorState } from 'draft-js';\nimport React, { useCallback } from 'react';\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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"StyleToolbar.js","names":["_draftJs","require","_react","_interopRequireWildcard","_Toolbar","_interopRequireDefault","_ToolbarButton","_setLink","_unsetLink","_excluded","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","i","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","propertyIsEnumerable","sourceKeys","keys","StyleToolbar","_ref","items","value","_ref$onChange","onChange","rest","currentBlockType","useMemo","RichUtils","getCurrentBlockType","currentBlockContainsLink","toggleLink","useCallback","unsetLink","url","prompt","setLink","clickHandler","item","type","toggleInlineStyle","name","toggleBlockType","createElement","map","isLink","active","getCurrentInlineStyle","onClick","icon","displayName","_default","exports"],"sources":["../../../src/Editor/StyleToolbar.tsx"],"sourcesContent":["import { PopoverProps } from '@os-design/core';\nimport { EditorState, RichUtils } from 'draft-js';\n\nimport React, { useCallback, useMemo } from 'react';\nimport Toolbar from './Toolbar';\nimport ToolbarButton from './ToolbarButton';\n\nimport { StyleToolbarItem } from './utils/defaultStyleToolbarItems';\nimport setLink from './utils/setLink';\nimport unsetLink from './utils/unsetLink';\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":"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"}
1
+ {"version":3,"file":"StyleToolbar.js","names":["_draftJs","require","_react","_interopRequireWildcard","_Toolbar","_interopRequireDefault","_ToolbarButton","_setLink","_unsetLink","_excluded","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","i","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","propertyIsEnumerable","sourceKeys","keys","StyleToolbar","_ref","items","value","_ref$onChange","onChange","rest","currentBlockType","useMemo","RichUtils","getCurrentBlockType","currentBlockContainsLink","toggleLink","useCallback","unsetLink","url","prompt","setLink","clickHandler","item","type","toggleInlineStyle","name","toggleBlockType","createElement","map","isLink","active","getCurrentInlineStyle","onClick","icon","displayName","_default","exports"],"sources":["../../../src/Editor/StyleToolbar.tsx"],"sourcesContent":["import { PopoverProps } from '@os-design/core';\nimport { EditorState, RichUtils } from 'draft-js';\nimport React, { useCallback, useMemo } from 'react';\nimport Toolbar from './Toolbar';\nimport ToolbarButton from './ToolbarButton';\nimport { StyleToolbarItem } from './utils/defaultStyleToolbarItems';\nimport setLink from './utils/setLink';\nimport unsetLink from './utils/unsetLink';\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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarButton.js","names":["_react","require","_styled","_interopRequireDefault","_styles","_theming","_utils","_react2","_excluded","_templateObject","_templateObject2","obj","__esModule","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","value","activeStyles","p","active","css","clr","theme","editorToolbarButtonColorBgActive","StyledToolbarButton","styled","omitEmotionProps","resetButtonStyles","editorToolbarButtonSize","editorToolbarButtonColorBg","editorToolbarButtonColorText","editorToolbarButtonColorBgHover","transitionStyles","ToolbarButton","_ref","_ref$onMouseDown","onMouseDown","rest","createElement","e","preventDefault","displayName","_default","exports"],"sources":["../../../src/Editor/ToolbarButton.tsx"],"sourcesContent":["import { css } from '@emotion/react';\n\nimport styled from '@emotion/styled';\nimport { resetButtonStyles, transitionStyles } from '@os-design/styles';\nimport { clr } from '@os-design/theming';\n\nimport { omitEmotionProps } from '@os-design/utils';\nimport React from 'react';\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":"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"}
1
+ {"version":3,"file":"ToolbarButton.js","names":["_react","require","_styled","_interopRequireDefault","_styles","_theming","_utils","_react2","_excluded","_templateObject","_templateObject2","obj","__esModule","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","value","activeStyles","p","active","css","clr","theme","editorToolbarButtonColorBgActive","StyledToolbarButton","styled","omitEmotionProps","resetButtonStyles","editorToolbarButtonSize","editorToolbarButtonColorBg","editorToolbarButtonColorText","editorToolbarButtonColorBgHover","transitionStyles","ToolbarButton","_ref","_ref$onMouseDown","onMouseDown","rest","createElement","e","preventDefault","displayName","_default","exports"],"sources":["../../../src/Editor/ToolbarButton.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { resetButtonStyles, transitionStyles } from '@os-design/styles';\nimport { clr } from '@os-design/theming';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React from 'react';\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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"imageBlock.js","names":["_react","require","_styled","_interopRequireDefault","_core","_icons","_utils","_draftJs","_react2","_interopRequireWildcard","_changeBlock","_getCurrentBlock","_Figure","_FigureCaption","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_regeneratorRuntime","exports","Op","hasOwn","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","Array","from","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","isArray","_taggedTemplateLiteral","strings","raw","freeze","defineProperties","widthStyles","p","width","css","ImageFigure","styled","Figure","omitEmotionProps","Mask","div","theme","editorBlockImageMaskOpacity","LoadingIcon","Loading","editorBlockImageLoadingFontSize","Image","img","editorBlockImageMaxHeight","ImageBlock","props","block","data","getData","src","loading","imageRef","useRef","_useState","useState","_useState2","setWidth","updateWidth","useCallback","current","useEvent","window","createElement","startsWith","concat","alt","getText","onLoad","ref","EditorBlock","IMAGE_BLOCK","imageBlock","onImageUpload","component","icon","Picture","onClick","_ref","onChange","setReadOnly","input","document","accept","onchange","_ref2","_callee","e","target","files","file","currentBlock","nextEditorState","_callee$","_context","URL","createObjectURL","getCurrentBlock","changeBlock","t0","message","_x2","click","_default"],"sources":["../../../../src/Editor/blocks/imageBlock.tsx"],"sourcesContent":["import { css } from '@emotion/react';\n\nimport styled from '@emotion/styled';\nimport { message } from '@os-design/core';\n\nimport { Loading, Picture } from '@os-design/icons';\n\nimport { omitEmotionProps, useEvent } from '@os-design/utils';\nimport { EditorBlock } from 'draft-js';\nimport React, { useCallback, useRef, useState } from 'react';\n\nimport changeBlock from '../utils/changeBlock';\nimport getCurrentBlock from '../utils/getCurrentBlock';\nimport Figure from './Figure';\nimport FigureCaption from './FigureCaption';\n\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
+ {"version":3,"file":"imageBlock.js","names":["_react","require","_styled","_interopRequireDefault","_core","_icons","_utils","_draftJs","_react2","_interopRequireWildcard","_changeBlock","_getCurrentBlock","_Figure","_FigureCaption","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_regeneratorRuntime","exports","Op","hasOwn","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","Array","from","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","isArray","_taggedTemplateLiteral","strings","raw","freeze","defineProperties","widthStyles","p","width","css","ImageFigure","styled","Figure","omitEmotionProps","Mask","div","theme","editorBlockImageMaskOpacity","LoadingIcon","Loading","editorBlockImageLoadingFontSize","Image","img","editorBlockImageMaxHeight","ImageBlock","props","block","data","getData","src","loading","imageRef","useRef","_useState","useState","_useState2","setWidth","updateWidth","useCallback","current","useEvent","window","createElement","startsWith","concat","alt","getText","onLoad","ref","EditorBlock","IMAGE_BLOCK","imageBlock","onImageUpload","component","icon","Picture","onClick","_ref","onChange","setReadOnly","input","document","accept","onchange","_ref2","_callee","e","target","files","file","currentBlock","nextEditorState","_callee$","_context","URL","createObjectURL","getCurrentBlock","changeBlock","t0","message","_x2","click","_default"],"sources":["../../../../src/Editor/blocks/imageBlock.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { message } from '@os-design/core';\nimport { Loading, Picture } from '@os-design/icons';\nimport { omitEmotionProps, useEvent } from '@os-design/utils';\nimport { EditorBlock } from 'draft-js';\nimport React, { useCallback, useRef, useState } from 'react';\nimport changeBlock from '../utils/changeBlock';\nimport getCurrentBlock from '../utils/getCurrentBlock';\nimport Figure from './Figure';\nimport FigureCaption from './FigureCaption';\nimport { BlockProps, BlockToolbarItem } from './types';\n\nconst 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,"file":"videoBlock.js","names":["_core","require","_icons","_draftJs","_react","_interopRequireDefault","_changeBlock","_getCurrentBlock","_Figure","_FigureCaption","obj","__esModule","VideoBlock","props","block","data","getData","src","get","createElement","Video","title","getText","EditorBlock","videoTypes","re","getUrl","id","concat","detectVideo","url","_i","_videoTypes","length","_videoTypes$_i","groups","match","VIDEO_BLOCK","exports","videoBlock","type","component","icon","onClick","_ref","value","onChange","prompt","currentBlock","getCurrentBlock","nextEditorState","changeBlock","_default"],"sources":["../../../../src/Editor/blocks/videoBlock.tsx"],"sourcesContent":["import { Video } from '@os-design/core';\nimport { Video as VideoIcon } from '@os-design/icons';\nimport { EditorBlock } from 'draft-js';\nimport React from 'react';\n\nimport changeBlock from '../utils/changeBlock';\nimport getCurrentBlock from '../utils/getCurrentBlock';\nimport Figure from './Figure';\nimport FigureCaption from './FigureCaption';\nimport { BlockProps, BlockToolbarItem } from './types';\n\nconst VideoBlock: React.FC<BlockProps> = (props) => {\n const { block } = props;\n const data = block.getData();\n const src = data.get('src');\n\n if (!src) return null;\n\n return (\n <Figure>\n <Video src={src} title={block.getText()} />\n <FigureCaption>\n <EditorBlock {...props} />\n </FigureCaption>\n </Figure>\n );\n};\n\nconst videoTypes = [\n /**\n * YouTube. Supported formats:\n * https://www.youtube.com/watch?v=FJIhWbUt600&ab_channel=IlyaOrdin\n * https://www.youtube.com/embed/FJIhWbUt600\n * https://youtu.be/FJIhWbUt600\n */\n {\n re: /^https:\\/\\/(?:www\\.youtube\\.com\\/(?:watch\\?v=|embed\\/)|youtu\\.be\\/)([A-z0-9-_]*).*$/,\n getUrl: (id: string) => `https://www.youtube.com/embed/${id}`,\n },\n /**\n * RuTube. Supported formats:\n * https://rutube.ru/video/d00526135b2b96d272f6d89b486036c1/\n * https://rutube.ru/play/embed/d00526135b2b96d272f6d89b486036c1\n */\n {\n re: /^https:\\/\\/rutube\\.ru\\/(?:video|play\\/embed)\\/([a-z0-9]*)\\/?$/,\n getUrl: (id: string) => `https://rutube.ru/play/embed/${id}`,\n },\n];\n\nconst detectVideo = (url: string) => {\n // eslint-disable-next-line no-restricted-syntax\n for (const { re, getUrl } of videoTypes) {\n const groups = url.match(re);\n if (groups && groups[1]) return getUrl(groups[1]);\n }\n return null;\n};\n\nexport const VIDEO_BLOCK = 'atomic:video';\n\nconst videoBlock: BlockToolbarItem = {\n type: VIDEO_BLOCK,\n component: VideoBlock,\n icon: <VideoIcon />,\n onClick: ({ value, onChange }) => {\n // eslint-disable-next-line no-alert\n const url = prompt('Insert a link to YouTube or RuTube');\n if (!url) return;\n\n const src = detectVideo(url);\n if (!src) return;\n\n const currentBlock = getCurrentBlock(value);\n const nextEditorState = changeBlock(value, currentBlock, VIDEO_BLOCK, {\n src,\n });\n\n onChange(nextEditorState);\n },\n};\n\nexport default videoBlock;\n"],"mappings":"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"}
1
+ {"version":3,"file":"videoBlock.js","names":["_core","require","_icons","_draftJs","_react","_interopRequireDefault","_changeBlock","_getCurrentBlock","_Figure","_FigureCaption","obj","__esModule","VideoBlock","props","block","data","getData","src","get","createElement","Video","title","getText","EditorBlock","videoTypes","re","getUrl","id","concat","detectVideo","url","_i","_videoTypes","length","_videoTypes$_i","groups","match","VIDEO_BLOCK","exports","videoBlock","type","component","icon","onClick","_ref","value","onChange","prompt","currentBlock","getCurrentBlock","nextEditorState","changeBlock","_default"],"sources":["../../../../src/Editor/blocks/videoBlock.tsx"],"sourcesContent":["import { Video } from '@os-design/core';\nimport { Video as VideoIcon } from '@os-design/icons';\nimport { EditorBlock } from 'draft-js';\nimport React from 'react';\nimport changeBlock from '../utils/changeBlock';\nimport getCurrentBlock from '../utils/getCurrentBlock';\nimport Figure from './Figure';\nimport FigureCaption from './FigureCaption';\nimport { BlockProps, BlockToolbarItem } from './types';\n\nconst VideoBlock: React.FC<BlockProps> = (props) => {\n const { block } = props;\n const data = block.getData();\n const src = data.get('src');\n\n if (!src) return null;\n\n return (\n <Figure>\n <Video src={src} title={block.getText()} />\n <FigureCaption>\n <EditorBlock {...props} />\n </FigureCaption>\n </Figure>\n );\n};\n\nconst videoTypes = [\n /**\n * YouTube. Supported formats:\n * https://www.youtube.com/watch?v=FJIhWbUt600&ab_channel=IlyaOrdin\n * https://www.youtube.com/embed/FJIhWbUt600\n * https://youtu.be/FJIhWbUt600\n */\n {\n re: /^https:\\/\\/(?:www\\.youtube\\.com\\/(?:watch\\?v=|embed\\/)|youtu\\.be\\/)([A-z0-9-_]*).*$/,\n getUrl: (id: string) => `https://www.youtube.com/embed/${id}`,\n },\n /**\n * RuTube. Supported formats:\n * https://rutube.ru/video/d00526135b2b96d272f6d89b486036c1/\n * https://rutube.ru/play/embed/d00526135b2b96d272f6d89b486036c1\n */\n {\n re: /^https:\\/\\/rutube\\.ru\\/(?:video|play\\/embed)\\/([a-z0-9]*)\\/?$/,\n getUrl: (id: string) => `https://rutube.ru/play/embed/${id}`,\n },\n];\n\nconst detectVideo = (url: string) => {\n // eslint-disable-next-line no-restricted-syntax\n for (const { re, getUrl } of videoTypes) {\n const groups = url.match(re);\n if (groups && groups[1]) return getUrl(groups[1]);\n }\n return null;\n};\n\nexport const VIDEO_BLOCK = 'atomic:video';\n\nconst videoBlock: BlockToolbarItem = {\n type: VIDEO_BLOCK,\n component: VideoBlock,\n icon: <VideoIcon />,\n onClick: ({ value, onChange }) => {\n // eslint-disable-next-line no-alert\n const url = prompt('Insert a link to YouTube or RuTube');\n if (!url) return;\n\n const src = detectVideo(url);\n if (!src) return;\n\n const currentBlock = getCurrentBlock(value);\n const nextEditorState = changeBlock(value, currentBlock, VIDEO_BLOCK, {\n src,\n });\n\n onChange(nextEditorState);\n },\n};\n\nexport default videoBlock;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"linkDecorator.js","names":["_core","require","_react","_interopRequireDefault","obj","__esModule","linkDecorator","strategy","contentBlock","callback","contentState","findEntityRanges","character","entityKey","getEntity","getType","component","_ref","children","_contentState$getEnti","getData","url","createElement","Link","href","_default","exports"],"sources":["../../../../src/Editor/decorators/linkDecorator.tsx"],"sourcesContent":["import { Link } from '@os-design/core';\n\nimport { DraftDecorator } from 'draft-js';\n\nimport React from 'react';\n\nconst linkDecorator: DraftDecorator = {\n strategy: (contentBlock, callback, contentState) =>\n contentBlock.findEntityRanges((character) => {\n const entityKey = character.getEntity();\n return (\n entityKey !== null &&\n contentState.getEntity(entityKey).getType() === 'LINK'\n );\n }, callback),\n\n component: ({ contentState, entityKey, children }) => {\n const { url } = contentState.getEntity(entityKey).getData();\n return <Link href={url}>{children}</Link>;\n },\n};\n\nexport default linkDecorator;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAIA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA0B,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAE1B,IAAME,aAA6B,GAAG;EACpCC,QAAQ,EAAE,SAAAA,SAACC,YAAY,EAAEC,QAAQ,EAAEC,YAAY;IAAA,OAC7CF,YAAY,CAACG,gBAAgB,CAAC,UAACC,SAAS,EAAK;MAC3C,IAAMC,SAAS,GAAGD,SAAS,CAACE,SAAS,CAAC,CAAC;MACvC,OACED,SAAS,KAAK,IAAI,IAClBH,YAAY,CAACI,SAAS,CAACD,SAAS,CAAC,CAACE,OAAO,CAAC,CAAC,KAAK,MAAM;IAE1D,CAAC,EAAEN,QAAQ,CAAC;EAAA;EAEdO,SAAS,EAAE,SAAAA,UAAAC,IAAA,EAA2C;IAAA,IAAxCP,YAAY,GAAAO,IAAA,CAAZP,YAAY;MAAEG,SAAS,GAAAI,IAAA,CAATJ,SAAS;MAAEK,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAC7C,IAAAC,qBAAA,GAAgBT,YAAY,CAACI,SAAS,CAACD,SAAS,CAAC,CAACO,OAAO,CAAC,CAAC;MAAnDC,GAAG,GAAAF,qBAAA,CAAHE,GAAG;IACX,oBAAOnB,MAAA,YAAAoB,aAAA,CAACtB,KAAA,CAAAuB,IAAI;MAACC,IAAI,EAAEH;IAAI,GAAEH,QAAe,CAAC;EAC3C;AACF,CAAC;AAAC,IAAAO,QAAA,GAEanB,aAAa;AAAAoB,OAAA,cAAAD,QAAA"}
1
+ {"version":3,"file":"linkDecorator.js","names":["_core","require","_react","_interopRequireDefault","obj","__esModule","linkDecorator","strategy","contentBlock","callback","contentState","findEntityRanges","character","entityKey","getEntity","getType","component","_ref","children","_contentState$getEnti","getData","url","createElement","Link","href","_default","exports"],"sources":["../../../../src/Editor/decorators/linkDecorator.tsx"],"sourcesContent":["import { Link } from '@os-design/core';\nimport { DraftDecorator } from 'draft-js';\nimport React from 'react';\n\nconst linkDecorator: DraftDecorator = {\n strategy: (contentBlock, callback, contentState) =>\n contentBlock.findEntityRanges((character) => {\n const entityKey = character.getEntity();\n return (\n entityKey !== null &&\n contentState.getEntity(entityKey).getType() === 'LINK'\n );\n }, callback),\n\n component: ({ contentState, entityKey, children }) => {\n const { url } = contentState.getEntity(entityKey).getData();\n return <Link href={url}>{children}</Link>;\n },\n};\n\nexport default linkDecorator;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA0B,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAE1B,IAAME,aAA6B,GAAG;EACpCC,QAAQ,EAAE,SAAAA,SAACC,YAAY,EAAEC,QAAQ,EAAEC,YAAY;IAAA,OAC7CF,YAAY,CAACG,gBAAgB,CAAC,UAACC,SAAS,EAAK;MAC3C,IAAMC,SAAS,GAAGD,SAAS,CAACE,SAAS,CAAC,CAAC;MACvC,OACED,SAAS,KAAK,IAAI,IAClBH,YAAY,CAACI,SAAS,CAACD,SAAS,CAAC,CAACE,OAAO,CAAC,CAAC,KAAK,MAAM;IAE1D,CAAC,EAAEN,QAAQ,CAAC;EAAA;EAEdO,SAAS,EAAE,SAAAA,UAAAC,IAAA,EAA2C;IAAA,IAAxCP,YAAY,GAAAO,IAAA,CAAZP,YAAY;MAAEG,SAAS,GAAAI,IAAA,CAATJ,SAAS;MAAEK,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAC7C,IAAAC,qBAAA,GAAgBT,YAAY,CAACI,SAAS,CAACD,SAAS,CAAC,CAACO,OAAO,CAAC,CAAC;MAAnDC,GAAG,GAAAF,qBAAA,CAAHE,GAAG;IACX,oBAAOnB,MAAA,YAAAoB,aAAA,CAACtB,KAAA,CAAAuB,IAAI;MAACC,IAAI,EAAEH;IAAI,GAAEH,QAAe,CAAC;EAC3C;AACF,CAAC;AAAC,IAAAO,QAAA,GAEanB,aAAa;AAAAoB,OAAA,cAAAD,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","require","_styled","_interopRequireDefault","_core","_utils","_draftJs","_react2","_interopRequireWildcard","_BlockToolbar","_StyleToolbar","_useBlockToolbarProps","_usePastedTextHandler","_useReturnHandler","_useStyleToolbarProps","_defaultDraftJsStyles","_overrideDraftJsStyles","_createEmptyEditorState","_defaultStyleToolbarItems","_excluded","_templateObject","_templateObject2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_taggedTemplateLiteral","strings","raw","freeze","defineProperties","disabledStyles","p","disabled","css","Container","styled","InputContainer","theme","editorPaddingVertical","inputPaddingHorizontal","editorMinHeight","defaultDraftJsStyles","overrideDraftJsStyles","Editor","forwardRef","_ref","ref","_ref$disabled","_ref$styleToolbarItem","styleToolbarItems","defaultStyleToolbarItems","_ref$blockToolbarItem","blockToolbarItems","_ref$defaultValue","defaultValue","createEmptyEditorState","onChange","size","readOnly","_ref$handleReturn","handleReturn","_ref$handlePastedText","handlePastedText","rest","_useForwardedRef","useForwardedRef","_useForwardedRef2","editorRef","mergedEditorRef","_useForwardedState","useForwardedState","_useForwardedState2","forwardedValue","setForwardedValue","_useState","useState","_useState2","innerReadOnly","setInnerReadOnly","styleToolbarProps","useStyleToolbarProps","blockToolbarProps","useBlockToolbarProps","setEditorState","useCallback","editorState","getSelection","getHasFocus","EditorState","moveSelectionToEnd","blockRenderer","block","blockConfig","find","item","type","getType","component","returnHandler","useReturnHandler","pastedTextHandler","usePastedTextHandler","createElement","Fragment","tabIndex","role","undefined","onFocus","current","focus","blockRendererFn","stripPastedStyles","items","placement","gap","setReadOnly","displayName","_default","exports"],"sources":["../../../src/Editor/index.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { InputContainer } from '@os-design/core';\nimport { WithSize } from '@os-design/styles';\nimport { useForwardedRef, useForwardedState } from '@os-design/utils';\n\nimport {\n Editor as DraftEditor,\n EditorProps as DraftEditorProps,\n EditorState,\n} from 'draft-js';\nimport React, { forwardRef, useCallback, useState } from 'react';\nimport BlockToolbar from './BlockToolbar';\nimport StyleToolbar from './StyleToolbar';\nimport { BlockToolbarItem } from './blocks/types';\nimport useBlockToolbarProps from './hooks/useBlockToolbarProps';\nimport usePastedTextHandler from './hooks/usePastedTextHandler';\nimport useReturnHandler from './hooks/useReturnHandler';\nimport useStyleToolbarProps from './hooks/useStyleToolbarProps';\n\nimport defaultDraftJsStyles from './styles/defaultDraftJsStyles';\nimport overrideDraftJsStyles from './styles/overrideDraftJsStyles';\nimport createEmptyEditorState from './utils/createEmptyEditorState';\n\nimport defaultStyleToolbarItems, {\n StyleToolbarItem,\n} from './utils/defaultStyleToolbarItems';\n\nexport interface EditorProps\n extends Omit<DraftEditorProps, 'editorState' | 'onChange'>,\n WithSize {\n /**\n * Whether the editor is disabled.\n * @default false\n */\n disabled?: boolean;\n /**\n * Available styles in the toolbar.\n * @default undefined\n */\n styleToolbarItems?: StyleToolbarItem[];\n /**\n * Available blocks in the toolbar.\n * @default undefined\n */\n blockToolbarItems?: BlockToolbarItem[];\n /**\n * The editor state.\n * @default undefined\n */\n value?: EditorState;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: EditorState;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: EditorState) => void;\n}\n\nconst disabledStyles = (p) =>\n p.disabled &&\n css`\n cursor: not-allowed;\n `;\n\nconst Container = styled(InputContainer)`\n height: unset;\n cursor: text;\n\n padding: ${(p) => p.theme.editorPaddingVertical}em\n ${(p) => p.theme.inputPaddingHorizontal}em;\n min-height: ${(p) => p.theme.editorMinHeight}em;\n\n ${defaultDraftJsStyles};\n ${overrideDraftJsStyles};\n ${disabledStyles};\n`;\n\n/**\n * Rich text editor based on the Draft.js.\n */\nconst Editor = forwardRef<DraftEditor, EditorProps>(\n (\n {\n disabled = false,\n styleToolbarItems = defaultStyleToolbarItems,\n blockToolbarItems = [],\n value,\n defaultValue = createEmptyEditorState(),\n onChange,\n size,\n readOnly,\n handleReturn = () => 'not-handled',\n handlePastedText = () => 'not-handled',\n ...rest\n },\n ref\n ) => {\n const [editorRef, mergedEditorRef] = useForwardedRef(ref);\n const [forwardedValue, setForwardedValue] = useForwardedState({\n value,\n defaultValue,\n onChange,\n });\n\n // Used by ImageBlock to make the editor read-only\n // while an image is being uploaded\n const [innerReadOnly, setInnerReadOnly] = useState(false);\n\n // Get the trigger and visible props for the toolbars\n const styleToolbarProps = useStyleToolbarProps(\n forwardedValue || defaultValue\n );\n const blockToolbarProps = useBlockToolbarProps(\n forwardedValue || defaultValue,\n (blockToolbarItems || []).length > 0\n );\n\n // Move the caret to the end of the content when the focus event was fired\n const setEditorState = useCallback(\n (editorState: EditorState) => {\n if (!editorState.getSelection().getHasFocus()) {\n setForwardedValue(EditorState.moveSelectionToEnd(editorState));\n return;\n }\n setForwardedValue(editorState);\n },\n [setForwardedValue]\n );\n\n const blockRenderer = useCallback(\n (block) => {\n const blockConfig = blockToolbarItems.find(\n (item) => item.type === block.getType()\n );\n if (!blockConfig) return null;\n return { component: blockConfig.component };\n },\n [blockToolbarItems]\n );\n\n // Custom handlers\n const returnHandler = useReturnHandler(setForwardedValue, handleReturn);\n const pastedTextHandler = usePastedTextHandler(\n setForwardedValue,\n handlePastedText\n );\n\n return (\n <>\n <Container\n disabled={disabled}\n size={size}\n tabIndex={!disabled ? 0 : -1}\n role={!disabled ? 'textbox' : undefined}\n onFocus={() => {\n if (disabled || !editorRef.current) return;\n editorRef.current.focus();\n }}\n >\n <DraftEditor\n onChange={setEditorState}\n blockRendererFn={blockRenderer}\n handleReturn={returnHandler}\n handlePastedText={pastedTextHandler}\n readOnly={readOnly || innerReadOnly || disabled}\n stripPastedStyles\n {...rest}\n editorState={forwardedValue || defaultValue}\n ref={mergedEditorRef}\n />\n </Container>\n\n <StyleToolbar\n {...styleToolbarProps}\n size={size}\n items={styleToolbarItems}\n value={forwardedValue || defaultValue}\n onChange={setForwardedValue}\n />\n\n <BlockToolbar\n {...blockToolbarProps}\n placement='right'\n gap={2.5}\n size={size}\n items={blockToolbarItems}\n value={forwardedValue || defaultValue}\n onChange={setForwardedValue}\n setReadOnly={setInnerReadOnly}\n />\n </>\n );\n }\n);\n\nEditor.displayName = 'Editor';\n\nexport default Editor;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_react","require","_styled","_interopRequireDefault","_core","_utils","_draftJs","_react2","_interopRequireWildcard","_BlockToolbar","_StyleToolbar","_useBlockToolbarProps","_usePastedTextHandler","_useReturnHandler","_useStyleToolbarProps","_defaultDraftJsStyles","_overrideDraftJsStyles","_createEmptyEditorState","_defaultStyleToolbarItems","_excluded","_templateObject","_templateObject2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_taggedTemplateLiteral","strings","raw","freeze","defineProperties","disabledStyles","p","disabled","css","Container","styled","InputContainer","theme","editorPaddingVertical","inputPaddingHorizontal","editorMinHeight","defaultDraftJsStyles","overrideDraftJsStyles","Editor","forwardRef","_ref","ref","_ref$disabled","_ref$styleToolbarItem","styleToolbarItems","defaultStyleToolbarItems","_ref$blockToolbarItem","blockToolbarItems","_ref$defaultValue","defaultValue","createEmptyEditorState","onChange","size","readOnly","_ref$handleReturn","handleReturn","_ref$handlePastedText","handlePastedText","rest","_useForwardedRef","useForwardedRef","_useForwardedRef2","editorRef","mergedEditorRef","_useForwardedState","useForwardedState","_useForwardedState2","forwardedValue","setForwardedValue","_useState","useState","_useState2","innerReadOnly","setInnerReadOnly","styleToolbarProps","useStyleToolbarProps","blockToolbarProps","useBlockToolbarProps","setEditorState","useCallback","editorState","getSelection","getHasFocus","EditorState","moveSelectionToEnd","blockRenderer","block","blockConfig","find","item","type","getType","component","returnHandler","useReturnHandler","pastedTextHandler","usePastedTextHandler","createElement","Fragment","tabIndex","role","undefined","onFocus","current","focus","blockRendererFn","stripPastedStyles","items","placement","gap","setReadOnly","displayName","_default","exports"],"sources":["../../../src/Editor/index.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { InputContainer } from '@os-design/core';\nimport { WithSize } from '@os-design/styles';\nimport { useForwardedRef, useForwardedState } from '@os-design/utils';\nimport {\n Editor as DraftEditor,\n EditorProps as DraftEditorProps,\n EditorState,\n} from 'draft-js';\nimport React, { forwardRef, useCallback, useState } from 'react';\nimport BlockToolbar from './BlockToolbar';\nimport StyleToolbar from './StyleToolbar';\nimport { BlockToolbarItem } from './blocks/types';\nimport useBlockToolbarProps from './hooks/useBlockToolbarProps';\nimport usePastedTextHandler from './hooks/usePastedTextHandler';\nimport useReturnHandler from './hooks/useReturnHandler';\nimport useStyleToolbarProps from './hooks/useStyleToolbarProps';\nimport defaultDraftJsStyles from './styles/defaultDraftJsStyles';\nimport overrideDraftJsStyles from './styles/overrideDraftJsStyles';\nimport createEmptyEditorState from './utils/createEmptyEditorState';\nimport defaultStyleToolbarItems, {\n StyleToolbarItem,\n} from './utils/defaultStyleToolbarItems';\n\nexport interface EditorProps\n extends Omit<DraftEditorProps, 'editorState' | 'onChange'>,\n WithSize {\n /**\n * Whether the editor is disabled.\n * @default false\n */\n disabled?: boolean;\n /**\n * Available styles in the toolbar.\n * @default undefined\n */\n styleToolbarItems?: StyleToolbarItem[];\n /**\n * Available blocks in the toolbar.\n * @default undefined\n */\n blockToolbarItems?: BlockToolbarItem[];\n /**\n * The editor state.\n * @default undefined\n */\n value?: EditorState;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: EditorState;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: EditorState) => void;\n}\n\nconst disabledStyles = (p) =>\n p.disabled &&\n css`\n cursor: not-allowed;\n `;\n\nconst Container = styled(InputContainer)`\n height: unset;\n cursor: text;\n\n padding: ${(p) => p.theme.editorPaddingVertical}em\n ${(p) => p.theme.inputPaddingHorizontal}em;\n min-height: ${(p) => p.theme.editorMinHeight}em;\n\n ${defaultDraftJsStyles};\n ${overrideDraftJsStyles};\n ${disabledStyles};\n`;\n\n/**\n * Rich text editor based on the Draft.js.\n */\nconst Editor = forwardRef<DraftEditor, EditorProps>(\n (\n {\n disabled = false,\n styleToolbarItems = defaultStyleToolbarItems,\n blockToolbarItems = [],\n value,\n defaultValue = createEmptyEditorState(),\n onChange,\n size,\n readOnly,\n handleReturn = () => 'not-handled',\n handlePastedText = () => 'not-handled',\n ...rest\n },\n ref\n ) => {\n const [editorRef, mergedEditorRef] = useForwardedRef(ref);\n const [forwardedValue, setForwardedValue] = useForwardedState({\n value,\n defaultValue,\n onChange,\n });\n\n // Used by ImageBlock to make the editor read-only\n // while an image is being uploaded\n const [innerReadOnly, setInnerReadOnly] = useState(false);\n\n // Get the trigger and visible props for the toolbars\n const styleToolbarProps = useStyleToolbarProps(\n forwardedValue || defaultValue\n );\n const blockToolbarProps = useBlockToolbarProps(\n forwardedValue || defaultValue,\n (blockToolbarItems || []).length > 0\n );\n\n // Move the caret to the end of the content when the focus event was fired\n const setEditorState = useCallback(\n (editorState: EditorState) => {\n if (!editorState.getSelection().getHasFocus()) {\n setForwardedValue(EditorState.moveSelectionToEnd(editorState));\n return;\n }\n setForwardedValue(editorState);\n },\n [setForwardedValue]\n );\n\n const blockRenderer = useCallback(\n (block) => {\n const blockConfig = blockToolbarItems.find(\n (item) => item.type === block.getType()\n );\n if (!blockConfig) return null;\n return { component: blockConfig.component };\n },\n [blockToolbarItems]\n );\n\n // Custom handlers\n const returnHandler = useReturnHandler(setForwardedValue, handleReturn);\n const pastedTextHandler = usePastedTextHandler(\n setForwardedValue,\n handlePastedText\n );\n\n return (\n <>\n <Container\n disabled={disabled}\n size={size}\n tabIndex={!disabled ? 0 : -1}\n role={!disabled ? 'textbox' : undefined}\n onFocus={() => {\n if (disabled || !editorRef.current) return;\n editorRef.current.focus();\n }}\n >\n <DraftEditor\n onChange={setEditorState}\n blockRendererFn={blockRenderer}\n handleReturn={returnHandler}\n handlePastedText={pastedTextHandler}\n readOnly={readOnly || innerReadOnly || disabled}\n stripPastedStyles\n {...rest}\n editorState={forwardedValue || defaultValue}\n ref={mergedEditorRef}\n />\n </Container>\n\n <StyleToolbar\n {...styleToolbarProps}\n size={size}\n items={styleToolbarItems}\n value={forwardedValue || defaultValue}\n onChange={setForwardedValue}\n />\n\n <BlockToolbar\n {...blockToolbarProps}\n placement='right'\n gap={2.5}\n size={size}\n items={blockToolbarItems}\n value={forwardedValue || defaultValue}\n onChange={setForwardedValue}\n setReadOnly={setInnerReadOnly}\n />\n </>\n );\n }\n);\n\nEditor.displayName = 'Editor';\n\nexport default Editor;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_core","_react","_interopRequireWildcard","_templateObject","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","value","StyledEditorSkeleton","styled","InputSkeleton","p","theme","editorMinHeight","EditorSkeleton","forwardRef","props","ref","createElement","displayName","_default","exports"],"sources":["../../../src/EditorSkeleton/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\n\nimport { InputSkeleton, InputSkeletonProps } from '@os-design/core';\nimport React, { forwardRef } from 'react';\n\nexport type EditorSkeletonProps = InputSkeletonProps;\n\nconst StyledEditorSkeleton = styled(InputSkeleton)`\n height: ${(p) => p.theme.editorMinHeight}em;\n`;\n\n/**\n * Provides an editor placeholder while a user waits for the content to load.\n */\nconst EditorSkeleton = forwardRef<HTMLDivElement, EditorSkeletonProps>(\n (props, ref) => <StyledEditorSkeleton {...props} ref={ref} />\n);\n\nEditorSkeleton.displayName = 'EditorSkeleton';\n\nexport default EditorSkeleton;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_core","_react","_interopRequireWildcard","_templateObject","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","value","StyledEditorSkeleton","styled","InputSkeleton","p","theme","editorMinHeight","EditorSkeleton","forwardRef","props","ref","createElement","displayName","_default","exports"],"sources":["../../../src/EditorSkeleton/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { InputSkeleton, InputSkeletonProps } from '@os-design/core';\nimport React, { forwardRef } from 'react';\n\nexport type EditorSkeletonProps = InputSkeletonProps;\n\nconst StyledEditorSkeleton = styled(InputSkeleton)`\n height: ${(p) => p.theme.editorMinHeight}em;\n`;\n\n/**\n * Provides an editor placeholder while a user waits for the content to load.\n */\nconst EditorSkeleton = forwardRef<HTMLDivElement, EditorSkeletonProps>(\n (props, ref) => <StyledEditorSkeleton {...props} ref={ref} />\n);\n\nEditorSkeleton.displayName = 'EditorSkeleton';\n\nexport default EditorSkeleton;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BlockToolbar.js","names":["React","useCallback","Toolbar","ToolbarButton","getCurrentBlock","BlockToolbar","items","value","onChange","setReadOnly","rest","clickHandler","onClick","currentBlock","getType","getLength","createElement","map","item","key","type","icon"],"sources":["../../../src/Editor/BlockToolbar.tsx"],"sourcesContent":["import { PopoverProps } from '@os-design/core';\nimport { EditorState } from 'draft-js';\nimport React, { useCallback } from 'react';\n\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":"AAEA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAE1C,OAAOC,OAAO,MAAM,WAAW;AAC/B,OAAOC,aAAa,MAAM,iBAAiB;AAE3C,OAAOC,eAAe,MAAM,yBAAyB;AASrD,MAAMC,YAAyC,GAAGA,CAAC;EACjDC,KAAK;EACLC,KAAK;EACLC,QAAQ;EACRC,WAAW;EACX,GAAGC;AACL,CAAC,KAAK;EACJ,MAAMC,YAAY,GAAGV,WAAW,CAC9B,CAAC;IAAEW;EAAQ,CAAC,KAAK;IACf,MAAMC,YAAY,GAAGT,eAAe,CAACG,KAAK,CAAC;IAC3C,IAAIM,YAAY,CAACC,OAAO,CAAC,CAAC,KAAK,UAAU,IAAID,YAAY,CAACE,SAAS,CAAC,CAAC,GAAG,CAAC,EACvE;IACFH,OAAO,CAAC;MACNL,KAAK;MACLC,QAAQ;MACRC;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CAACF,KAAK,EAAEC,QAAQ,EAAEC,WAAW,CAC/B,CAAC;EAED,oBACET,KAAA,CAAAgB,aAAA,CAACd,OAAO,EAAKQ,IAAI,EACdJ,KAAK,CAACW,GAAG,CAAEC,IAAI,iBACdlB,KAAA,CAAAgB,aAAA,CAACb,aAAa;IAACgB,GAAG,EAAED,IAAI,CAACE,IAAK;IAACR,OAAO,EAAEA,CAAA,KAAMD,YAAY,CAACO,IAAI;EAAE,GAC9DA,IAAI,CAACG,IACO,CAChB,CACM,CAAC;AAEd,CAAC;AAED,eAAehB,YAAY"}
1
+ {"version":3,"file":"BlockToolbar.js","names":["React","useCallback","Toolbar","ToolbarButton","getCurrentBlock","BlockToolbar","items","value","onChange","setReadOnly","rest","clickHandler","onClick","currentBlock","getType","getLength","createElement","map","item","key","type","icon"],"sources":["../../../src/Editor/BlockToolbar.tsx"],"sourcesContent":["import { PopoverProps } from '@os-design/core';\nimport { EditorState } from 'draft-js';\nimport React, { useCallback } from 'react';\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":"AAEA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,OAAOC,OAAO,MAAM,WAAW;AAC/B,OAAOC,aAAa,MAAM,iBAAiB;AAE3C,OAAOC,eAAe,MAAM,yBAAyB;AASrD,MAAMC,YAAyC,GAAGA,CAAC;EACjDC,KAAK;EACLC,KAAK;EACLC,QAAQ;EACRC,WAAW;EACX,GAAGC;AACL,CAAC,KAAK;EACJ,MAAMC,YAAY,GAAGV,WAAW,CAC9B,CAAC;IAAEW;EAAQ,CAAC,KAAK;IACf,MAAMC,YAAY,GAAGT,eAAe,CAACG,KAAK,CAAC;IAC3C,IAAIM,YAAY,CAACC,OAAO,CAAC,CAAC,KAAK,UAAU,IAAID,YAAY,CAACE,SAAS,CAAC,CAAC,GAAG,CAAC,EACvE;IACFH,OAAO,CAAC;MACNL,KAAK;MACLC,QAAQ;MACRC;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CAACF,KAAK,EAAEC,QAAQ,EAAEC,WAAW,CAC/B,CAAC;EAED,oBACET,KAAA,CAAAgB,aAAA,CAACd,OAAO,EAAKQ,IAAI,EACdJ,KAAK,CAACW,GAAG,CAAEC,IAAI,iBACdlB,KAAA,CAAAgB,aAAA,CAACb,aAAa;IAACgB,GAAG,EAAED,IAAI,CAACE,IAAK;IAACR,OAAO,EAAEA,CAAA,KAAMD,YAAY,CAACO,IAAI;EAAE,GAC9DA,IAAI,CAACG,IACO,CAChB,CACM,CAAC;AAEd,CAAC;AAED,eAAehB,YAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"StyleToolbar.js","names":["RichUtils","React","useCallback","useMemo","Toolbar","ToolbarButton","setLink","unsetLink","StyleToolbar","items","value","onChange","rest","currentBlockType","getCurrentBlockType","currentBlockContainsLink","toggleLink","url","prompt","clickHandler","item","type","toggleInlineStyle","name","toggleBlockType","length","createElement","map","isLink","active","getCurrentInlineStyle","has","onClick","key","icon","displayName"],"sources":["../../../src/Editor/StyleToolbar.tsx"],"sourcesContent":["import { PopoverProps } from '@os-design/core';\nimport { EditorState, RichUtils } from 'draft-js';\n\nimport React, { useCallback, useMemo } from 'react';\nimport Toolbar from './Toolbar';\nimport ToolbarButton from './ToolbarButton';\n\nimport { StyleToolbarItem } from './utils/defaultStyleToolbarItems';\nimport setLink from './utils/setLink';\nimport unsetLink from './utils/unsetLink';\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":"AACA,SAAsBA,SAAS,QAAQ,UAAU;AAEjD,OAAOC,KAAK,IAAIC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AACnD,OAAOC,OAAO,MAAM,WAAW;AAC/B,OAAOC,aAAa,MAAM,iBAAiB;AAG3C,OAAOC,OAAO,MAAM,iBAAiB;AACrC,OAAOC,SAAS,MAAM,mBAAmB;AAQzC,MAAMC,YAAyC,GAAGA,CAAC;EACjDC,KAAK;EACLC,KAAK;EACLC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;EACnB,GAAGC;AACL,CAAC,KAAK;EACJ,MAAMC,gBAAgB,GAAGV,OAAO,CAC9B,MAAMH,SAAS,CAACc,mBAAmB,CAACJ,KAAK,CAAC,EAC1C,CAACA,KAAK,CACR,CAAC;EACD,MAAMK,wBAAwB,GAAGZ,OAAO,CACtC,MAAMH,SAAS,CAACe,wBAAwB,CAACL,KAAK,CAAC,EAC/C,CAACA,KAAK,CACR,CAAC;EAED,MAAMM,UAAU,GAAGd,WAAW,CAAC,MAAM;IACnC,IAAIa,wBAAwB,EAAE;MAC5BJ,QAAQ,CAACJ,SAAS,CAACG,KAAK,CAAC,CAAC;MAC1B;IACF;IACA;IACA,MAAMO,GAAG,GAAGC,MAAM,CAAC,sBAAsB,CAAC;IAC1C,IAAI,CAACD,GAAG,EAAE;IACVN,QAAQ,CAACL,OAAO,CAACI,KAAK,EAAEO,GAAG,CAAC,CAAC;EAC/B,CAAC,EAAE,CAACF,wBAAwB,EAAEL,KAAK,EAAEC,QAAQ,CAAC,CAAC;EAE/C,MAAMQ,YAAY,GAAGjB,WAAW,CAC7BkB,IAAI,IAAK;IACR,IAAIA,IAAI,CAACC,IAAI,KAAK,QAAQ,EAAE;MAC1BV,QAAQ,CAACX,SAAS,CAACsB,iBAAiB,CAACZ,KAAK,EAAEU,IAAI,CAACG,IAAI,CAAC,CAAC;IACzD,CAAC,MAAM,IAAIH,IAAI,CAACC,IAAI,KAAK,OAAO,EAAE;MAChCV,QAAQ,CAACX,SAAS,CAACwB,eAAe,CAACd,KAAK,EAAEU,IAAI,CAACG,IAAI,CAAC,CAAC;IACvD;EACF,CAAC,EACD,CAACb,KAAK,EAAEC,QAAQ,CAClB,CAAC;EAED,IAAIF,KAAK,CAACgB,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;EAEnC,oBACExB,KAAA,CAAAyB,aAAA,CAACtB,OAAO,EAAKQ,IAAI,EACdH,KAAK,CAACkB,GAAG,CAAEP,IAAI,IAAK;IACnB,MAAMQ,MAAM,GAAGR,IAAI,CAACG,IAAI,KAAK,MAAM,IAAIH,IAAI,CAACC,IAAI,KAAK,QAAQ;IAE7D,MAAMQ,MAAM,GAAGD,MAAM,GACjBb,wBAAwB,GACxBL,KAAK,CAACoB,qBAAqB,CAAC,CAAC,CAACC,GAAG,CAACX,IAAI,CAACG,IAAI,CAAC,IAC5CV,gBAAgB,KAAKO,IAAI,CAACG,IAAI;IAClC,MAAMS,OAAO,GAAGJ,MAAM,GAAGZ,UAAU,GAAG,MAAMG,YAAY,CAACC,IAAI,CAAC;IAE9D,oBACEnB,KAAA,CAAAyB,aAAA,CAACrB,aAAa;MAAC4B,GAAG,EAAEb,IAAI,CAACG,IAAK;MAACM,MAAM,EAAEA,MAAO;MAACG,OAAO,EAAEA;IAAQ,GAC7DZ,IAAI,CAACc,IACO,CAAC;EAEpB,CAAC,CACM,CAAC;AAEd,CAAC;AAED1B,YAAY,CAAC2B,WAAW,GAAG,cAAc;AAEzC,eAAe3B,YAAY"}
1
+ {"version":3,"file":"StyleToolbar.js","names":["RichUtils","React","useCallback","useMemo","Toolbar","ToolbarButton","setLink","unsetLink","StyleToolbar","items","value","onChange","rest","currentBlockType","getCurrentBlockType","currentBlockContainsLink","toggleLink","url","prompt","clickHandler","item","type","toggleInlineStyle","name","toggleBlockType","length","createElement","map","isLink","active","getCurrentInlineStyle","has","onClick","key","icon","displayName"],"sources":["../../../src/Editor/StyleToolbar.tsx"],"sourcesContent":["import { PopoverProps } from '@os-design/core';\nimport { EditorState, RichUtils } from 'draft-js';\nimport React, { useCallback, useMemo } from 'react';\nimport Toolbar from './Toolbar';\nimport ToolbarButton from './ToolbarButton';\nimport { StyleToolbarItem } from './utils/defaultStyleToolbarItems';\nimport setLink from './utils/setLink';\nimport unsetLink from './utils/unsetLink';\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":"AACA,SAAsBA,SAAS,QAAQ,UAAU;AACjD,OAAOC,KAAK,IAAIC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AACnD,OAAOC,OAAO,MAAM,WAAW;AAC/B,OAAOC,aAAa,MAAM,iBAAiB;AAE3C,OAAOC,OAAO,MAAM,iBAAiB;AACrC,OAAOC,SAAS,MAAM,mBAAmB;AAQzC,MAAMC,YAAyC,GAAGA,CAAC;EACjDC,KAAK;EACLC,KAAK;EACLC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;EACnB,GAAGC;AACL,CAAC,KAAK;EACJ,MAAMC,gBAAgB,GAAGV,OAAO,CAC9B,MAAMH,SAAS,CAACc,mBAAmB,CAACJ,KAAK,CAAC,EAC1C,CAACA,KAAK,CACR,CAAC;EACD,MAAMK,wBAAwB,GAAGZ,OAAO,CACtC,MAAMH,SAAS,CAACe,wBAAwB,CAACL,KAAK,CAAC,EAC/C,CAACA,KAAK,CACR,CAAC;EAED,MAAMM,UAAU,GAAGd,WAAW,CAAC,MAAM;IACnC,IAAIa,wBAAwB,EAAE;MAC5BJ,QAAQ,CAACJ,SAAS,CAACG,KAAK,CAAC,CAAC;MAC1B;IACF;IACA;IACA,MAAMO,GAAG,GAAGC,MAAM,CAAC,sBAAsB,CAAC;IAC1C,IAAI,CAACD,GAAG,EAAE;IACVN,QAAQ,CAACL,OAAO,CAACI,KAAK,EAAEO,GAAG,CAAC,CAAC;EAC/B,CAAC,EAAE,CAACF,wBAAwB,EAAEL,KAAK,EAAEC,QAAQ,CAAC,CAAC;EAE/C,MAAMQ,YAAY,GAAGjB,WAAW,CAC7BkB,IAAI,IAAK;IACR,IAAIA,IAAI,CAACC,IAAI,KAAK,QAAQ,EAAE;MAC1BV,QAAQ,CAACX,SAAS,CAACsB,iBAAiB,CAACZ,KAAK,EAAEU,IAAI,CAACG,IAAI,CAAC,CAAC;IACzD,CAAC,MAAM,IAAIH,IAAI,CAACC,IAAI,KAAK,OAAO,EAAE;MAChCV,QAAQ,CAACX,SAAS,CAACwB,eAAe,CAACd,KAAK,EAAEU,IAAI,CAACG,IAAI,CAAC,CAAC;IACvD;EACF,CAAC,EACD,CAACb,KAAK,EAAEC,QAAQ,CAClB,CAAC;EAED,IAAIF,KAAK,CAACgB,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;EAEnC,oBACExB,KAAA,CAAAyB,aAAA,CAACtB,OAAO,EAAKQ,IAAI,EACdH,KAAK,CAACkB,GAAG,CAAEP,IAAI,IAAK;IACnB,MAAMQ,MAAM,GAAGR,IAAI,CAACG,IAAI,KAAK,MAAM,IAAIH,IAAI,CAACC,IAAI,KAAK,QAAQ;IAE7D,MAAMQ,MAAM,GAAGD,MAAM,GACjBb,wBAAwB,GACxBL,KAAK,CAACoB,qBAAqB,CAAC,CAAC,CAACC,GAAG,CAACX,IAAI,CAACG,IAAI,CAAC,IAC5CV,gBAAgB,KAAKO,IAAI,CAACG,IAAI;IAClC,MAAMS,OAAO,GAAGJ,MAAM,GAAGZ,UAAU,GAAG,MAAMG,YAAY,CAACC,IAAI,CAAC;IAE9D,oBACEnB,KAAA,CAAAyB,aAAA,CAACrB,aAAa;MAAC4B,GAAG,EAAEb,IAAI,CAACG,IAAK;MAACM,MAAM,EAAEA,MAAO;MAACG,OAAO,EAAEA;IAAQ,GAC7DZ,IAAI,CAACc,IACO,CAAC;EAEpB,CAAC,CACM,CAAC;AAEd,CAAC;AAED1B,YAAY,CAAC2B,WAAW,GAAG,cAAc;AAEzC,eAAe3B,YAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarButton.js","names":["css","styled","resetButtonStyles","transitionStyles","clr","omitEmotionProps","React","activeStyles","p","active","theme","editorToolbarButtonColorBgActive","StyledToolbarButton","editorToolbarButtonSize","editorToolbarButtonColorBg","editorToolbarButtonColorText","editorToolbarButtonColorBgHover","ToolbarButton","onMouseDown","rest","createElement","_extends","e","preventDefault","displayName"],"sources":["../../../src/Editor/ToolbarButton.tsx"],"sourcesContent":["import { css } from '@emotion/react';\n\nimport styled from '@emotion/styled';\nimport { resetButtonStyles, transitionStyles } from '@os-design/styles';\nimport { clr } from '@os-design/theming';\n\nimport { omitEmotionProps } from '@os-design/utils';\nimport React from 'react';\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,SAASA,GAAG,QAAQ,gBAAgB;AAEpC,OAAOC,MAAM,MAAM,iBAAiB;AACpC,SAASC,iBAAiB,EAAEC,gBAAgB,QAAQ,mBAAmB;AACvE,SAASC,GAAG,QAAQ,oBAAoB;AAExC,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,OAAOC,KAAK,MAAM,OAAO;AAOzB,MAAMC,YAAY,GAAIC,CAAC,IACrBA,CAAC,CAACC,MAAM,IACRT,GAAI;AACN,wBAAwBI,GAAG,CAACI,CAAC,CAACE,KAAK,CAACC,gCAAgC,CAAE;AACtE,GAAG;AAGH,MAAMC,mBAAmB,GAAGX,MAAM,CAChC,QAAQ,EACRI,gBAAgB,CAAC,QAAQ,CAC3B,CAA4B;AAC5B,IAAIH,iBAAkB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAYM,CAAC,IAAKA,CAAC,CAACE,KAAK,CAACG,uBAAwB;AAClD,YAAaL,CAAC,IAAKA,CAAC,CAACE,KAAK,CAACG,uBAAwB;AACnD,sBAAuBL,CAAC,IAAKJ,GAAG,CAACI,CAAC,CAACE,KAAK,CAACI,0BAA0B,CAAE;AACrE,WAAYN,CAAC,IAAKJ,GAAG,CAACI,CAAC,CAACE,KAAK,CAACK,4BAA4B,CAAE;AAC5D;AACA;AACA;AACA;AACA,0BAA2BP,CAAC,IAAKJ,GAAG,CAACI,CAAC,CAACE,KAAK,CAACM,+BAA+B,CAAE;AAC9E;AACA;AACA;AACA,IAAIT,YAAa;AACjB,IAAIJ,gBAAgB,CAAC,kBAAkB,CAAE;AACzC,CAAC;AAED,MAAMc,aAA2C,GAAGA,CAAC;EACnDC,WAAW,GAAGA,CAAA,KAAM,CAAC,CAAC;EACtB,GAAGC;AACL,CAAC,kBACCb,KAAA,CAAAc,aAAA,CAACR,mBAAmB,EAAAS,QAAA;EAClBH,WAAW,EAAGI,CAAC,IAAK;IAClBJ,WAAW,CAACI,CAAC,CAAC;IACdA,CAAC,CAACC,cAAc,CAAC,CAAC;EACpB;AAAE,GACEJ,IAAI,CACT,CACF;AAEDF,aAAa,CAACO,WAAW,GAAG,eAAe;AAE3C,eAAeP,aAAa"}
1
+ {"version":3,"file":"ToolbarButton.js","names":["css","styled","resetButtonStyles","transitionStyles","clr","omitEmotionProps","React","activeStyles","p","active","theme","editorToolbarButtonColorBgActive","StyledToolbarButton","editorToolbarButtonSize","editorToolbarButtonColorBg","editorToolbarButtonColorText","editorToolbarButtonColorBgHover","ToolbarButton","onMouseDown","rest","createElement","_extends","e","preventDefault","displayName"],"sources":["../../../src/Editor/ToolbarButton.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { resetButtonStyles, transitionStyles } from '@os-design/styles';\nimport { clr } from '@os-design/theming';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React from 'react';\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,SAASA,GAAG,QAAQ,gBAAgB;AACpC,OAAOC,MAAM,MAAM,iBAAiB;AACpC,SAASC,iBAAiB,EAAEC,gBAAgB,QAAQ,mBAAmB;AACvE,SAASC,GAAG,QAAQ,oBAAoB;AACxC,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,OAAOC,KAAK,MAAM,OAAO;AAOzB,MAAMC,YAAY,GAAIC,CAAC,IACrBA,CAAC,CAACC,MAAM,IACRT,GAAI;AACN,wBAAwBI,GAAG,CAACI,CAAC,CAACE,KAAK,CAACC,gCAAgC,CAAE;AACtE,GAAG;AAGH,MAAMC,mBAAmB,GAAGX,MAAM,CAChC,QAAQ,EACRI,gBAAgB,CAAC,QAAQ,CAC3B,CAA4B;AAC5B,IAAIH,iBAAkB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAYM,CAAC,IAAKA,CAAC,CAACE,KAAK,CAACG,uBAAwB;AAClD,YAAaL,CAAC,IAAKA,CAAC,CAACE,KAAK,CAACG,uBAAwB;AACnD,sBAAuBL,CAAC,IAAKJ,GAAG,CAACI,CAAC,CAACE,KAAK,CAACI,0BAA0B,CAAE;AACrE,WAAYN,CAAC,IAAKJ,GAAG,CAACI,CAAC,CAACE,KAAK,CAACK,4BAA4B,CAAE;AAC5D;AACA;AACA;AACA;AACA,0BAA2BP,CAAC,IAAKJ,GAAG,CAACI,CAAC,CAACE,KAAK,CAACM,+BAA+B,CAAE;AAC9E;AACA;AACA;AACA,IAAIT,YAAa;AACjB,IAAIJ,gBAAgB,CAAC,kBAAkB,CAAE;AACzC,CAAC;AAED,MAAMc,aAA2C,GAAGA,CAAC;EACnDC,WAAW,GAAGA,CAAA,KAAM,CAAC,CAAC;EACtB,GAAGC;AACL,CAAC,kBACCb,KAAA,CAAAc,aAAA,CAACR,mBAAmB,EAAAS,QAAA;EAClBH,WAAW,EAAGI,CAAC,IAAK;IAClBJ,WAAW,CAACI,CAAC,CAAC;IACdA,CAAC,CAACC,cAAc,CAAC,CAAC;EACpB;AAAE,GACEJ,IAAI,CACT,CACF;AAEDF,aAAa,CAACO,WAAW,GAAG,eAAe;AAE3C,eAAeP,aAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"imageBlock.js","names":["css","styled","message","Loading","Picture","omitEmotionProps","useEvent","EditorBlock","React","useCallback","useRef","useState","changeBlock","getCurrentBlock","Figure","FigureCaption","widthStyles","p","width","ImageFigure","Mask","div","theme","editorBlockImageMaskOpacity","LoadingIcon","editorBlockImageLoadingFontSize","Image","img","editorBlockImageMaxHeight","ImageBlock","props","block","data","getData","src","get","loading","imageRef","setWidth","updateWidth","current","window","undefined","createElement","startsWith","alt","getText","onLoad","ref","IMAGE_BLOCK","imageBlock","onImageUpload","type","component","icon","onClick","value","onChange","setReadOnly","Error","input","document","accept","onchange","e","target","files","file","URL","createObjectURL","currentBlock","nextEditorState","err","error","click"],"sources":["../../../../src/Editor/blocks/imageBlock.tsx"],"sourcesContent":["import { css } from '@emotion/react';\n\nimport styled from '@emotion/styled';\nimport { message } from '@os-design/core';\n\nimport { Loading, Picture } from '@os-design/icons';\n\nimport { omitEmotionProps, useEvent } from '@os-design/utils';\nimport { EditorBlock } from 'draft-js';\nimport React, { useCallback, useRef, useState } from 'react';\n\nimport changeBlock from '../utils/changeBlock';\nimport getCurrentBlock from '../utils/getCurrentBlock';\nimport Figure from './Figure';\nimport FigureCaption from './FigureCaption';\n\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
+ {"version":3,"file":"imageBlock.js","names":["css","styled","message","Loading","Picture","omitEmotionProps","useEvent","EditorBlock","React","useCallback","useRef","useState","changeBlock","getCurrentBlock","Figure","FigureCaption","widthStyles","p","width","ImageFigure","Mask","div","theme","editorBlockImageMaskOpacity","LoadingIcon","editorBlockImageLoadingFontSize","Image","img","editorBlockImageMaxHeight","ImageBlock","props","block","data","getData","src","get","loading","imageRef","setWidth","updateWidth","current","window","undefined","createElement","startsWith","alt","getText","onLoad","ref","IMAGE_BLOCK","imageBlock","onImageUpload","type","component","icon","onClick","value","onChange","setReadOnly","Error","input","document","accept","onchange","e","target","files","file","URL","createObjectURL","currentBlock","nextEditorState","err","error","click"],"sources":["../../../../src/Editor/blocks/imageBlock.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { message } from '@os-design/core';\nimport { Loading, Picture } from '@os-design/icons';\nimport { omitEmotionProps, useEvent } from '@os-design/utils';\nimport { EditorBlock } from 'draft-js';\nimport React, { useCallback, useRef, useState } from 'react';\nimport changeBlock from '../utils/changeBlock';\nimport getCurrentBlock from '../utils/getCurrentBlock';\nimport Figure from './Figure';\nimport FigureCaption from './FigureCaption';\nimport { BlockProps, BlockToolbarItem } from './types';\n\nconst 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,"file":"videoBlock.js","names":["Video","VideoIcon","EditorBlock","React","changeBlock","getCurrentBlock","Figure","FigureCaption","VideoBlock","props","block","data","getData","src","get","createElement","title","getText","videoTypes","re","getUrl","id","detectVideo","url","groups","match","VIDEO_BLOCK","videoBlock","type","component","icon","onClick","value","onChange","prompt","currentBlock","nextEditorState"],"sources":["../../../../src/Editor/blocks/videoBlock.tsx"],"sourcesContent":["import { Video } from '@os-design/core';\nimport { Video as VideoIcon } from '@os-design/icons';\nimport { EditorBlock } from 'draft-js';\nimport React from 'react';\n\nimport changeBlock from '../utils/changeBlock';\nimport getCurrentBlock from '../utils/getCurrentBlock';\nimport Figure from './Figure';\nimport FigureCaption from './FigureCaption';\nimport { BlockProps, BlockToolbarItem } from './types';\n\nconst VideoBlock: React.FC<BlockProps> = (props) => {\n const { block } = props;\n const data = block.getData();\n const src = data.get('src');\n\n if (!src) return null;\n\n return (\n <Figure>\n <Video src={src} title={block.getText()} />\n <FigureCaption>\n <EditorBlock {...props} />\n </FigureCaption>\n </Figure>\n );\n};\n\nconst videoTypes = [\n /**\n * YouTube. Supported formats:\n * https://www.youtube.com/watch?v=FJIhWbUt600&ab_channel=IlyaOrdin\n * https://www.youtube.com/embed/FJIhWbUt600\n * https://youtu.be/FJIhWbUt600\n */\n {\n re: /^https:\\/\\/(?:www\\.youtube\\.com\\/(?:watch\\?v=|embed\\/)|youtu\\.be\\/)([A-z0-9-_]*).*$/,\n getUrl: (id: string) => `https://www.youtube.com/embed/${id}`,\n },\n /**\n * RuTube. Supported formats:\n * https://rutube.ru/video/d00526135b2b96d272f6d89b486036c1/\n * https://rutube.ru/play/embed/d00526135b2b96d272f6d89b486036c1\n */\n {\n re: /^https:\\/\\/rutube\\.ru\\/(?:video|play\\/embed)\\/([a-z0-9]*)\\/?$/,\n getUrl: (id: string) => `https://rutube.ru/play/embed/${id}`,\n },\n];\n\nconst detectVideo = (url: string) => {\n // eslint-disable-next-line no-restricted-syntax\n for (const { re, getUrl } of videoTypes) {\n const groups = url.match(re);\n if (groups && groups[1]) return getUrl(groups[1]);\n }\n return null;\n};\n\nexport const VIDEO_BLOCK = 'atomic:video';\n\nconst videoBlock: BlockToolbarItem = {\n type: VIDEO_BLOCK,\n component: VideoBlock,\n icon: <VideoIcon />,\n onClick: ({ value, onChange }) => {\n // eslint-disable-next-line no-alert\n const url = prompt('Insert a link to YouTube or RuTube');\n if (!url) return;\n\n const src = detectVideo(url);\n if (!src) return;\n\n const currentBlock = getCurrentBlock(value);\n const nextEditorState = changeBlock(value, currentBlock, VIDEO_BLOCK, {\n src,\n });\n\n onChange(nextEditorState);\n },\n};\n\nexport default videoBlock;\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,iBAAiB;AACvC,SAASA,KAAK,IAAIC,SAAS,QAAQ,kBAAkB;AACrD,SAASC,WAAW,QAAQ,UAAU;AACtC,OAAOC,KAAK,MAAM,OAAO;AAEzB,OAAOC,WAAW,MAAM,sBAAsB;AAC9C,OAAOC,eAAe,MAAM,0BAA0B;AACtD,OAAOC,MAAM,MAAM,UAAU;AAC7B,OAAOC,aAAa,MAAM,iBAAiB;AAG3C,MAAMC,UAAgC,GAAIC,KAAK,IAAK;EAClD,MAAM;IAAEC;EAAM,CAAC,GAAGD,KAAK;EACvB,MAAME,IAAI,GAAGD,KAAK,CAACE,OAAO,CAAC,CAAC;EAC5B,MAAMC,GAAG,GAAGF,IAAI,CAACG,GAAG,CAAC,KAAK,CAAC;EAE3B,IAAI,CAACD,GAAG,EAAE,OAAO,IAAI;EAErB,oBACEV,KAAA,CAAAY,aAAA,CAACT,MAAM,qBACLH,KAAA,CAAAY,aAAA,CAACf,KAAK;IAACa,GAAG,EAAEA,GAAI;IAACG,KAAK,EAAEN,KAAK,CAACO,OAAO,CAAC;EAAE,CAAE,CAAC,eAC3Cd,KAAA,CAAAY,aAAA,CAACR,aAAa,qBACZJ,KAAA,CAAAY,aAAA,CAACb,WAAW,EAAKO,KAAQ,CACZ,CACT,CAAC;AAEb,CAAC;AAED,MAAMS,UAAU,GAAG;AACjB;AACF;AACA;AACA;AACA;AACA;AACE;EACEC,EAAE,EAAE,qFAAqF;EACzFC,MAAM,EAAGC,EAAU,IAAM,iCAAgCA,EAAG;AAC9D,CAAC;AACD;AACF;AACA;AACA;AACA;AACE;EACEF,EAAE,EAAE,+DAA+D;EACnEC,MAAM,EAAGC,EAAU,IAAM,gCAA+BA,EAAG;AAC7D,CAAC,CACF;AAED,MAAMC,WAAW,GAAIC,GAAW,IAAK;EACnC;EACA,KAAK,MAAM;IAAEJ,EAAE;IAAEC;EAAO,CAAC,IAAIF,UAAU,EAAE;IACvC,MAAMM,MAAM,GAAGD,GAAG,CAACE,KAAK,CAACN,EAAE,CAAC;IAC5B,IAAIK,MAAM,IAAIA,MAAM,CAAC,CAAC,CAAC,EAAE,OAAOJ,MAAM,CAACI,MAAM,CAAC,CAAC,CAAC,CAAC;EACnD;EACA,OAAO,IAAI;AACb,CAAC;AAED,OAAO,MAAME,WAAW,GAAG,cAAc;AAEzC,MAAMC,UAA4B,GAAG;EACnCC,IAAI,EAAEF,WAAW;EACjBG,SAAS,EAAErB,UAAU;EACrBsB,IAAI,eAAE3B,KAAA,CAAAY,aAAA,CAACd,SAAS,MAAE,CAAC;EACnB8B,OAAO,EAAEA,CAAC;IAAEC,KAAK;IAAEC;EAAS,CAAC,KAAK;IAChC;IACA,MAAMV,GAAG,GAAGW,MAAM,CAAC,oCAAoC,CAAC;IACxD,IAAI,CAACX,GAAG,EAAE;IAEV,MAAMV,GAAG,GAAGS,WAAW,CAACC,GAAG,CAAC;IAC5B,IAAI,CAACV,GAAG,EAAE;IAEV,MAAMsB,YAAY,GAAG9B,eAAe,CAAC2B,KAAK,CAAC;IAC3C,MAAMI,eAAe,GAAGhC,WAAW,CAAC4B,KAAK,EAAEG,YAAY,EAAET,WAAW,EAAE;MACpEb;IACF,CAAC,CAAC;IAEFoB,QAAQ,CAACG,eAAe,CAAC;EAC3B;AACF,CAAC;AAED,eAAeT,UAAU"}
1
+ {"version":3,"file":"videoBlock.js","names":["Video","VideoIcon","EditorBlock","React","changeBlock","getCurrentBlock","Figure","FigureCaption","VideoBlock","props","block","data","getData","src","get","createElement","title","getText","videoTypes","re","getUrl","id","detectVideo","url","groups","match","VIDEO_BLOCK","videoBlock","type","component","icon","onClick","value","onChange","prompt","currentBlock","nextEditorState"],"sources":["../../../../src/Editor/blocks/videoBlock.tsx"],"sourcesContent":["import { Video } from '@os-design/core';\nimport { Video as VideoIcon } from '@os-design/icons';\nimport { EditorBlock } from 'draft-js';\nimport React from 'react';\nimport changeBlock from '../utils/changeBlock';\nimport getCurrentBlock from '../utils/getCurrentBlock';\nimport Figure from './Figure';\nimport FigureCaption from './FigureCaption';\nimport { BlockProps, BlockToolbarItem } from './types';\n\nconst VideoBlock: React.FC<BlockProps> = (props) => {\n const { block } = props;\n const data = block.getData();\n const src = data.get('src');\n\n if (!src) return null;\n\n return (\n <Figure>\n <Video src={src} title={block.getText()} />\n <FigureCaption>\n <EditorBlock {...props} />\n </FigureCaption>\n </Figure>\n );\n};\n\nconst videoTypes = [\n /**\n * YouTube. Supported formats:\n * https://www.youtube.com/watch?v=FJIhWbUt600&ab_channel=IlyaOrdin\n * https://www.youtube.com/embed/FJIhWbUt600\n * https://youtu.be/FJIhWbUt600\n */\n {\n re: /^https:\\/\\/(?:www\\.youtube\\.com\\/(?:watch\\?v=|embed\\/)|youtu\\.be\\/)([A-z0-9-_]*).*$/,\n getUrl: (id: string) => `https://www.youtube.com/embed/${id}`,\n },\n /**\n * RuTube. Supported formats:\n * https://rutube.ru/video/d00526135b2b96d272f6d89b486036c1/\n * https://rutube.ru/play/embed/d00526135b2b96d272f6d89b486036c1\n */\n {\n re: /^https:\\/\\/rutube\\.ru\\/(?:video|play\\/embed)\\/([a-z0-9]*)\\/?$/,\n getUrl: (id: string) => `https://rutube.ru/play/embed/${id}`,\n },\n];\n\nconst detectVideo = (url: string) => {\n // eslint-disable-next-line no-restricted-syntax\n for (const { re, getUrl } of videoTypes) {\n const groups = url.match(re);\n if (groups && groups[1]) return getUrl(groups[1]);\n }\n return null;\n};\n\nexport const VIDEO_BLOCK = 'atomic:video';\n\nconst videoBlock: BlockToolbarItem = {\n type: VIDEO_BLOCK,\n component: VideoBlock,\n icon: <VideoIcon />,\n onClick: ({ value, onChange }) => {\n // eslint-disable-next-line no-alert\n const url = prompt('Insert a link to YouTube or RuTube');\n if (!url) return;\n\n const src = detectVideo(url);\n if (!src) return;\n\n const currentBlock = getCurrentBlock(value);\n const nextEditorState = changeBlock(value, currentBlock, VIDEO_BLOCK, {\n src,\n });\n\n onChange(nextEditorState);\n },\n};\n\nexport default videoBlock;\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,iBAAiB;AACvC,SAASA,KAAK,IAAIC,SAAS,QAAQ,kBAAkB;AACrD,SAASC,WAAW,QAAQ,UAAU;AACtC,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAOC,WAAW,MAAM,sBAAsB;AAC9C,OAAOC,eAAe,MAAM,0BAA0B;AACtD,OAAOC,MAAM,MAAM,UAAU;AAC7B,OAAOC,aAAa,MAAM,iBAAiB;AAG3C,MAAMC,UAAgC,GAAIC,KAAK,IAAK;EAClD,MAAM;IAAEC;EAAM,CAAC,GAAGD,KAAK;EACvB,MAAME,IAAI,GAAGD,KAAK,CAACE,OAAO,CAAC,CAAC;EAC5B,MAAMC,GAAG,GAAGF,IAAI,CAACG,GAAG,CAAC,KAAK,CAAC;EAE3B,IAAI,CAACD,GAAG,EAAE,OAAO,IAAI;EAErB,oBACEV,KAAA,CAAAY,aAAA,CAACT,MAAM,qBACLH,KAAA,CAAAY,aAAA,CAACf,KAAK;IAACa,GAAG,EAAEA,GAAI;IAACG,KAAK,EAAEN,KAAK,CAACO,OAAO,CAAC;EAAE,CAAE,CAAC,eAC3Cd,KAAA,CAAAY,aAAA,CAACR,aAAa,qBACZJ,KAAA,CAAAY,aAAA,CAACb,WAAW,EAAKO,KAAQ,CACZ,CACT,CAAC;AAEb,CAAC;AAED,MAAMS,UAAU,GAAG;AACjB;AACF;AACA;AACA;AACA;AACA;AACE;EACEC,EAAE,EAAE,qFAAqF;EACzFC,MAAM,EAAGC,EAAU,IAAM,iCAAgCA,EAAG;AAC9D,CAAC;AACD;AACF;AACA;AACA;AACA;AACE;EACEF,EAAE,EAAE,+DAA+D;EACnEC,MAAM,EAAGC,EAAU,IAAM,gCAA+BA,EAAG;AAC7D,CAAC,CACF;AAED,MAAMC,WAAW,GAAIC,GAAW,IAAK;EACnC;EACA,KAAK,MAAM;IAAEJ,EAAE;IAAEC;EAAO,CAAC,IAAIF,UAAU,EAAE;IACvC,MAAMM,MAAM,GAAGD,GAAG,CAACE,KAAK,CAACN,EAAE,CAAC;IAC5B,IAAIK,MAAM,IAAIA,MAAM,CAAC,CAAC,CAAC,EAAE,OAAOJ,MAAM,CAACI,MAAM,CAAC,CAAC,CAAC,CAAC;EACnD;EACA,OAAO,IAAI;AACb,CAAC;AAED,OAAO,MAAME,WAAW,GAAG,cAAc;AAEzC,MAAMC,UAA4B,GAAG;EACnCC,IAAI,EAAEF,WAAW;EACjBG,SAAS,EAAErB,UAAU;EACrBsB,IAAI,eAAE3B,KAAA,CAAAY,aAAA,CAACd,SAAS,MAAE,CAAC;EACnB8B,OAAO,EAAEA,CAAC;IAAEC,KAAK;IAAEC;EAAS,CAAC,KAAK;IAChC;IACA,MAAMV,GAAG,GAAGW,MAAM,CAAC,oCAAoC,CAAC;IACxD,IAAI,CAACX,GAAG,EAAE;IAEV,MAAMV,GAAG,GAAGS,WAAW,CAACC,GAAG,CAAC;IAC5B,IAAI,CAACV,GAAG,EAAE;IAEV,MAAMsB,YAAY,GAAG9B,eAAe,CAAC2B,KAAK,CAAC;IAC3C,MAAMI,eAAe,GAAGhC,WAAW,CAAC4B,KAAK,EAAEG,YAAY,EAAET,WAAW,EAAE;MACpEb;IACF,CAAC,CAAC;IAEFoB,QAAQ,CAACG,eAAe,CAAC;EAC3B;AACF,CAAC;AAED,eAAeT,UAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"linkDecorator.js","names":["Link","React","linkDecorator","strategy","contentBlock","callback","contentState","findEntityRanges","character","entityKey","getEntity","getType","component","children","url","getData","createElement","href"],"sources":["../../../../src/Editor/decorators/linkDecorator.tsx"],"sourcesContent":["import { Link } from '@os-design/core';\n\nimport { DraftDecorator } from 'draft-js';\n\nimport React from 'react';\n\nconst linkDecorator: DraftDecorator = {\n strategy: (contentBlock, callback, contentState) =>\n contentBlock.findEntityRanges((character) => {\n const entityKey = character.getEntity();\n return (\n entityKey !== null &&\n contentState.getEntity(entityKey).getType() === 'LINK'\n );\n }, callback),\n\n component: ({ contentState, entityKey, children }) => {\n const { url } = contentState.getEntity(entityKey).getData();\n return <Link href={url}>{children}</Link>;\n },\n};\n\nexport default linkDecorator;\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,iBAAiB;AAItC,OAAOC,KAAK,MAAM,OAAO;AAEzB,MAAMC,aAA6B,GAAG;EACpCC,QAAQ,EAAEA,CAACC,YAAY,EAAEC,QAAQ,EAAEC,YAAY,KAC7CF,YAAY,CAACG,gBAAgB,CAAEC,SAAS,IAAK;IAC3C,MAAMC,SAAS,GAAGD,SAAS,CAACE,SAAS,CAAC,CAAC;IACvC,OACED,SAAS,KAAK,IAAI,IAClBH,YAAY,CAACI,SAAS,CAACD,SAAS,CAAC,CAACE,OAAO,CAAC,CAAC,KAAK,MAAM;EAE1D,CAAC,EAAEN,QAAQ,CAAC;EAEdO,SAAS,EAAEA,CAAC;IAAEN,YAAY;IAAEG,SAAS;IAAEI;EAAS,CAAC,KAAK;IACpD,MAAM;MAAEC;IAAI,CAAC,GAAGR,YAAY,CAACI,SAAS,CAACD,SAAS,CAAC,CAACM,OAAO,CAAC,CAAC;IAC3D,oBAAOd,KAAA,CAAAe,aAAA,CAAChB,IAAI;MAACiB,IAAI,EAAEH;IAAI,GAAED,QAAe,CAAC;EAC3C;AACF,CAAC;AAED,eAAeX,aAAa"}
1
+ {"version":3,"file":"linkDecorator.js","names":["Link","React","linkDecorator","strategy","contentBlock","callback","contentState","findEntityRanges","character","entityKey","getEntity","getType","component","children","url","getData","createElement","href"],"sources":["../../../../src/Editor/decorators/linkDecorator.tsx"],"sourcesContent":["import { Link } from '@os-design/core';\nimport { DraftDecorator } from 'draft-js';\nimport React from 'react';\n\nconst linkDecorator: DraftDecorator = {\n strategy: (contentBlock, callback, contentState) =>\n contentBlock.findEntityRanges((character) => {\n const entityKey = character.getEntity();\n return (\n entityKey !== null &&\n contentState.getEntity(entityKey).getType() === 'LINK'\n );\n }, callback),\n\n component: ({ contentState, entityKey, children }) => {\n const { url } = contentState.getEntity(entityKey).getData();\n return <Link href={url}>{children}</Link>;\n },\n};\n\nexport default linkDecorator;\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,iBAAiB;AAEtC,OAAOC,KAAK,MAAM,OAAO;AAEzB,MAAMC,aAA6B,GAAG;EACpCC,QAAQ,EAAEA,CAACC,YAAY,EAAEC,QAAQ,EAAEC,YAAY,KAC7CF,YAAY,CAACG,gBAAgB,CAAEC,SAAS,IAAK;IAC3C,MAAMC,SAAS,GAAGD,SAAS,CAACE,SAAS,CAAC,CAAC;IACvC,OACED,SAAS,KAAK,IAAI,IAClBH,YAAY,CAACI,SAAS,CAACD,SAAS,CAAC,CAACE,OAAO,CAAC,CAAC,KAAK,MAAM;EAE1D,CAAC,EAAEN,QAAQ,CAAC;EAEdO,SAAS,EAAEA,CAAC;IAAEN,YAAY;IAAEG,SAAS;IAAEI;EAAS,CAAC,KAAK;IACpD,MAAM;MAAEC;IAAI,CAAC,GAAGR,YAAY,CAACI,SAAS,CAACD,SAAS,CAAC,CAACM,OAAO,CAAC,CAAC;IAC3D,oBAAOd,KAAA,CAAAe,aAAA,CAAChB,IAAI;MAACiB,IAAI,EAAEH;IAAI,GAAED,QAAe,CAAC;EAC3C;AACF,CAAC;AAED,eAAeX,aAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["css","styled","InputContainer","useForwardedRef","useForwardedState","Editor","DraftEditor","EditorState","React","forwardRef","useCallback","useState","BlockToolbar","StyleToolbar","useBlockToolbarProps","usePastedTextHandler","useReturnHandler","useStyleToolbarProps","defaultDraftJsStyles","overrideDraftJsStyles","createEmptyEditorState","defaultStyleToolbarItems","disabledStyles","p","disabled","Container","theme","editorPaddingVertical","inputPaddingHorizontal","editorMinHeight","styleToolbarItems","blockToolbarItems","value","defaultValue","onChange","size","readOnly","handleReturn","handlePastedText","rest","ref","editorRef","mergedEditorRef","forwardedValue","setForwardedValue","innerReadOnly","setInnerReadOnly","styleToolbarProps","blockToolbarProps","length","setEditorState","editorState","getSelection","getHasFocus","moveSelectionToEnd","blockRenderer","block","blockConfig","find","item","type","getType","component","returnHandler","pastedTextHandler","createElement","Fragment","tabIndex","role","undefined","onFocus","current","focus","_extends","blockRendererFn","stripPastedStyles","items","placement","gap","setReadOnly","displayName"],"sources":["../../../src/Editor/index.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { InputContainer } from '@os-design/core';\nimport { WithSize } from '@os-design/styles';\nimport { useForwardedRef, useForwardedState } from '@os-design/utils';\n\nimport {\n Editor as DraftEditor,\n EditorProps as DraftEditorProps,\n EditorState,\n} from 'draft-js';\nimport React, { forwardRef, useCallback, useState } from 'react';\nimport BlockToolbar from './BlockToolbar';\nimport StyleToolbar from './StyleToolbar';\nimport { BlockToolbarItem } from './blocks/types';\nimport useBlockToolbarProps from './hooks/useBlockToolbarProps';\nimport usePastedTextHandler from './hooks/usePastedTextHandler';\nimport useReturnHandler from './hooks/useReturnHandler';\nimport useStyleToolbarProps from './hooks/useStyleToolbarProps';\n\nimport defaultDraftJsStyles from './styles/defaultDraftJsStyles';\nimport overrideDraftJsStyles from './styles/overrideDraftJsStyles';\nimport createEmptyEditorState from './utils/createEmptyEditorState';\n\nimport defaultStyleToolbarItems, {\n StyleToolbarItem,\n} from './utils/defaultStyleToolbarItems';\n\nexport interface EditorProps\n extends Omit<DraftEditorProps, 'editorState' | 'onChange'>,\n WithSize {\n /**\n * Whether the editor is disabled.\n * @default false\n */\n disabled?: boolean;\n /**\n * Available styles in the toolbar.\n * @default undefined\n */\n styleToolbarItems?: StyleToolbarItem[];\n /**\n * Available blocks in the toolbar.\n * @default undefined\n */\n blockToolbarItems?: BlockToolbarItem[];\n /**\n * The editor state.\n * @default undefined\n */\n value?: EditorState;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: EditorState;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: EditorState) => void;\n}\n\nconst disabledStyles = (p) =>\n p.disabled &&\n css`\n cursor: not-allowed;\n `;\n\nconst Container = styled(InputContainer)`\n height: unset;\n cursor: text;\n\n padding: ${(p) => p.theme.editorPaddingVertical}em\n ${(p) => p.theme.inputPaddingHorizontal}em;\n min-height: ${(p) => p.theme.editorMinHeight}em;\n\n ${defaultDraftJsStyles};\n ${overrideDraftJsStyles};\n ${disabledStyles};\n`;\n\n/**\n * Rich text editor based on the Draft.js.\n */\nconst Editor = forwardRef<DraftEditor, EditorProps>(\n (\n {\n disabled = false,\n styleToolbarItems = defaultStyleToolbarItems,\n blockToolbarItems = [],\n value,\n defaultValue = createEmptyEditorState(),\n onChange,\n size,\n readOnly,\n handleReturn = () => 'not-handled',\n handlePastedText = () => 'not-handled',\n ...rest\n },\n ref\n ) => {\n const [editorRef, mergedEditorRef] = useForwardedRef(ref);\n const [forwardedValue, setForwardedValue] = useForwardedState({\n value,\n defaultValue,\n onChange,\n });\n\n // Used by ImageBlock to make the editor read-only\n // while an image is being uploaded\n const [innerReadOnly, setInnerReadOnly] = useState(false);\n\n // Get the trigger and visible props for the toolbars\n const styleToolbarProps = useStyleToolbarProps(\n forwardedValue || defaultValue\n );\n const blockToolbarProps = useBlockToolbarProps(\n forwardedValue || defaultValue,\n (blockToolbarItems || []).length > 0\n );\n\n // Move the caret to the end of the content when the focus event was fired\n const setEditorState = useCallback(\n (editorState: EditorState) => {\n if (!editorState.getSelection().getHasFocus()) {\n setForwardedValue(EditorState.moveSelectionToEnd(editorState));\n return;\n }\n setForwardedValue(editorState);\n },\n [setForwardedValue]\n );\n\n const blockRenderer = useCallback(\n (block) => {\n const blockConfig = blockToolbarItems.find(\n (item) => item.type === block.getType()\n );\n if (!blockConfig) return null;\n return { component: blockConfig.component };\n },\n [blockToolbarItems]\n );\n\n // Custom handlers\n const returnHandler = useReturnHandler(setForwardedValue, handleReturn);\n const pastedTextHandler = usePastedTextHandler(\n setForwardedValue,\n handlePastedText\n );\n\n return (\n <>\n <Container\n disabled={disabled}\n size={size}\n tabIndex={!disabled ? 0 : -1}\n role={!disabled ? 'textbox' : undefined}\n onFocus={() => {\n if (disabled || !editorRef.current) return;\n editorRef.current.focus();\n }}\n >\n <DraftEditor\n onChange={setEditorState}\n blockRendererFn={blockRenderer}\n handleReturn={returnHandler}\n handlePastedText={pastedTextHandler}\n readOnly={readOnly || innerReadOnly || disabled}\n stripPastedStyles\n {...rest}\n editorState={forwardedValue || defaultValue}\n ref={mergedEditorRef}\n />\n </Container>\n\n <StyleToolbar\n {...styleToolbarProps}\n size={size}\n items={styleToolbarItems}\n value={forwardedValue || defaultValue}\n onChange={setForwardedValue}\n />\n\n <BlockToolbar\n {...blockToolbarProps}\n placement='right'\n gap={2.5}\n size={size}\n items={blockToolbarItems}\n value={forwardedValue || defaultValue}\n onChange={setForwardedValue}\n setReadOnly={setInnerReadOnly}\n />\n </>\n );\n }\n);\n\nEditor.displayName = 'Editor';\n\nexport default Editor;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["css","styled","InputContainer","useForwardedRef","useForwardedState","Editor","DraftEditor","EditorState","React","forwardRef","useCallback","useState","BlockToolbar","StyleToolbar","useBlockToolbarProps","usePastedTextHandler","useReturnHandler","useStyleToolbarProps","defaultDraftJsStyles","overrideDraftJsStyles","createEmptyEditorState","defaultStyleToolbarItems","disabledStyles","p","disabled","Container","theme","editorPaddingVertical","inputPaddingHorizontal","editorMinHeight","styleToolbarItems","blockToolbarItems","value","defaultValue","onChange","size","readOnly","handleReturn","handlePastedText","rest","ref","editorRef","mergedEditorRef","forwardedValue","setForwardedValue","innerReadOnly","setInnerReadOnly","styleToolbarProps","blockToolbarProps","length","setEditorState","editorState","getSelection","getHasFocus","moveSelectionToEnd","blockRenderer","block","blockConfig","find","item","type","getType","component","returnHandler","pastedTextHandler","createElement","Fragment","tabIndex","role","undefined","onFocus","current","focus","_extends","blockRendererFn","stripPastedStyles","items","placement","gap","setReadOnly","displayName"],"sources":["../../../src/Editor/index.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { InputContainer } from '@os-design/core';\nimport { WithSize } from '@os-design/styles';\nimport { useForwardedRef, useForwardedState } from '@os-design/utils';\nimport {\n Editor as DraftEditor,\n EditorProps as DraftEditorProps,\n EditorState,\n} from 'draft-js';\nimport React, { forwardRef, useCallback, useState } from 'react';\nimport BlockToolbar from './BlockToolbar';\nimport StyleToolbar from './StyleToolbar';\nimport { BlockToolbarItem } from './blocks/types';\nimport useBlockToolbarProps from './hooks/useBlockToolbarProps';\nimport usePastedTextHandler from './hooks/usePastedTextHandler';\nimport useReturnHandler from './hooks/useReturnHandler';\nimport useStyleToolbarProps from './hooks/useStyleToolbarProps';\nimport defaultDraftJsStyles from './styles/defaultDraftJsStyles';\nimport overrideDraftJsStyles from './styles/overrideDraftJsStyles';\nimport createEmptyEditorState from './utils/createEmptyEditorState';\nimport defaultStyleToolbarItems, {\n StyleToolbarItem,\n} from './utils/defaultStyleToolbarItems';\n\nexport interface EditorProps\n extends Omit<DraftEditorProps, 'editorState' | 'onChange'>,\n WithSize {\n /**\n * Whether the editor is disabled.\n * @default false\n */\n disabled?: boolean;\n /**\n * Available styles in the toolbar.\n * @default undefined\n */\n styleToolbarItems?: StyleToolbarItem[];\n /**\n * Available blocks in the toolbar.\n * @default undefined\n */\n blockToolbarItems?: BlockToolbarItem[];\n /**\n * The editor state.\n * @default undefined\n */\n value?: EditorState;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: EditorState;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: EditorState) => void;\n}\n\nconst disabledStyles = (p) =>\n p.disabled &&\n css`\n cursor: not-allowed;\n `;\n\nconst Container = styled(InputContainer)`\n height: unset;\n cursor: text;\n\n padding: ${(p) => p.theme.editorPaddingVertical}em\n ${(p) => p.theme.inputPaddingHorizontal}em;\n min-height: ${(p) => p.theme.editorMinHeight}em;\n\n ${defaultDraftJsStyles};\n ${overrideDraftJsStyles};\n ${disabledStyles};\n`;\n\n/**\n * Rich text editor based on the Draft.js.\n */\nconst Editor = forwardRef<DraftEditor, EditorProps>(\n (\n {\n disabled = false,\n styleToolbarItems = defaultStyleToolbarItems,\n blockToolbarItems = [],\n value,\n defaultValue = createEmptyEditorState(),\n onChange,\n size,\n readOnly,\n handleReturn = () => 'not-handled',\n handlePastedText = () => 'not-handled',\n ...rest\n },\n ref\n ) => {\n const [editorRef, mergedEditorRef] = useForwardedRef(ref);\n const [forwardedValue, setForwardedValue] = useForwardedState({\n value,\n defaultValue,\n onChange,\n });\n\n // Used by ImageBlock to make the editor read-only\n // while an image is being uploaded\n const [innerReadOnly, setInnerReadOnly] = useState(false);\n\n // Get the trigger and visible props for the toolbars\n const styleToolbarProps = useStyleToolbarProps(\n forwardedValue || defaultValue\n );\n const blockToolbarProps = useBlockToolbarProps(\n forwardedValue || defaultValue,\n (blockToolbarItems || []).length > 0\n );\n\n // Move the caret to the end of the content when the focus event was fired\n const setEditorState = useCallback(\n (editorState: EditorState) => {\n if (!editorState.getSelection().getHasFocus()) {\n setForwardedValue(EditorState.moveSelectionToEnd(editorState));\n return;\n }\n setForwardedValue(editorState);\n },\n [setForwardedValue]\n );\n\n const blockRenderer = useCallback(\n (block) => {\n const blockConfig = blockToolbarItems.find(\n (item) => item.type === block.getType()\n );\n if (!blockConfig) return null;\n return { component: blockConfig.component };\n },\n [blockToolbarItems]\n );\n\n // Custom handlers\n const returnHandler = useReturnHandler(setForwardedValue, handleReturn);\n const pastedTextHandler = usePastedTextHandler(\n setForwardedValue,\n handlePastedText\n );\n\n return (\n <>\n <Container\n disabled={disabled}\n size={size}\n tabIndex={!disabled ? 0 : -1}\n role={!disabled ? 'textbox' : undefined}\n onFocus={() => {\n if (disabled || !editorRef.current) return;\n editorRef.current.focus();\n }}\n >\n <DraftEditor\n onChange={setEditorState}\n blockRendererFn={blockRenderer}\n handleReturn={returnHandler}\n handlePastedText={pastedTextHandler}\n readOnly={readOnly || innerReadOnly || disabled}\n stripPastedStyles\n {...rest}\n editorState={forwardedValue || defaultValue}\n ref={mergedEditorRef}\n />\n </Container>\n\n <StyleToolbar\n {...styleToolbarProps}\n size={size}\n items={styleToolbarItems}\n value={forwardedValue || defaultValue}\n onChange={setForwardedValue}\n />\n\n <BlockToolbar\n {...blockToolbarProps}\n placement='right'\n gap={2.5}\n size={size}\n items={blockToolbarItems}\n value={forwardedValue || defaultValue}\n onChange={setForwardedValue}\n setReadOnly={setInnerReadOnly}\n />\n </>\n );\n }\n);\n\nEditor.displayName = 'Editor';\n\nexport default Editor;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["styled","InputSkeleton","React","forwardRef","StyledEditorSkeleton","p","theme","editorMinHeight","EditorSkeleton","props","ref","createElement","_extends","displayName"],"sources":["../../../src/EditorSkeleton/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\n\nimport { InputSkeleton, InputSkeletonProps } from '@os-design/core';\nimport React, { forwardRef } from 'react';\n\nexport type EditorSkeletonProps = InputSkeletonProps;\n\nconst StyledEditorSkeleton = styled(InputSkeleton)`\n height: ${(p) => p.theme.editorMinHeight}em;\n`;\n\n/**\n * Provides an editor placeholder while a user waits for the content to load.\n */\nconst EditorSkeleton = forwardRef<HTMLDivElement, EditorSkeletonProps>(\n (props, ref) => <StyledEditorSkeleton {...props} ref={ref} />\n);\n\nEditorSkeleton.displayName = 'EditorSkeleton';\n\nexport default EditorSkeleton;\n"],"mappings":";AAAA,OAAOA,MAAM,MAAM,iBAAiB;AAEpC,SAASC,aAAa,QAA4B,iBAAiB;AACnE,OAAOC,KAAK,IAAIC,UAAU,QAAQ,OAAO;AAIzC,MAAMC,oBAAoB,GAAGJ,MAAM,CAACC,aAAa,CAAE;AACnD,YAAaI,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACC,eAAgB;AAC3C,CAAC;;AAED;AACA;AACA;AACA,MAAMC,cAAc,gBAAGL,UAAU,CAC/B,CAACM,KAAK,EAAEC,GAAG,kBAAKR,KAAA,CAAAS,aAAA,CAACP,oBAAoB,EAAAQ,QAAA,KAAKH,KAAK;EAAEC,GAAG,EAAEA;AAAI,EAAE,CAC9D,CAAC;AAEDF,cAAc,CAACK,WAAW,GAAG,gBAAgB;AAE7C,eAAeL,cAAc"}
1
+ {"version":3,"file":"index.js","names":["styled","InputSkeleton","React","forwardRef","StyledEditorSkeleton","p","theme","editorMinHeight","EditorSkeleton","props","ref","createElement","_extends","displayName"],"sources":["../../../src/EditorSkeleton/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { InputSkeleton, InputSkeletonProps } from '@os-design/core';\nimport React, { forwardRef } from 'react';\n\nexport type EditorSkeletonProps = InputSkeletonProps;\n\nconst StyledEditorSkeleton = styled(InputSkeleton)`\n height: ${(p) => p.theme.editorMinHeight}em;\n`;\n\n/**\n * Provides an editor placeholder while a user waits for the content to load.\n */\nconst EditorSkeleton = forwardRef<HTMLDivElement, EditorSkeletonProps>(\n (props, ref) => <StyledEditorSkeleton {...props} ref={ref} />\n);\n\nEditorSkeleton.displayName = 'EditorSkeleton';\n\nexport default EditorSkeleton;\n"],"mappings":";AAAA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SAASC,aAAa,QAA4B,iBAAiB;AACnE,OAAOC,KAAK,IAAIC,UAAU,QAAQ,OAAO;AAIzC,MAAMC,oBAAoB,GAAGJ,MAAM,CAACC,aAAa,CAAE;AACnD,YAAaI,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACC,eAAgB;AAC3C,CAAC;;AAED;AACA;AACA;AACA,MAAMC,cAAc,gBAAGL,UAAU,CAC/B,CAACM,KAAK,EAAEC,GAAG,kBAAKR,KAAA,CAAAS,aAAA,CAACP,oBAAoB,EAAAQ,QAAA,KAAKH,KAAK;EAAEC,GAAG,EAAEA;AAAI,EAAE,CAC9D,CAAC;AAEDF,cAAc,CAACK,WAAW,GAAG,gBAAgB;AAE7C,eAAeL,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"BlockToolbar.d.ts","sourceRoot":"","sources":["../../../src/Editor/BlockToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAsB,MAAM,OAAO,CAAC;AAI3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGlD,UAAU,iBAAkB,SAAQ,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC;IAChE,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACvC,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C;AAED,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA8B7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"BlockToolbar.d.ts","sourceRoot":"","sources":["../../../src/Editor/BlockToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAsB,MAAM,OAAO,CAAC;AAG3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGlD,UAAU,iBAAkB,SAAQ,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC;IAChE,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACvC,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C;AAED,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA8B7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"StyleToolbar.d.ts","sourceRoot":"","sources":["../../../src/Editor/StyleToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAa,MAAM,UAAU,CAAC;AAElD,OAAO,KAA+B,MAAM,OAAO,CAAC;AAIpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAIpE,UAAU,iBAAkB,SAAQ,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC;IAChE,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CACxC;AAED,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA0D7C,CAAC;AAIF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"StyleToolbar.d.ts","sourceRoot":"","sources":["../../../src/Editor/StyleToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAa,MAAM,UAAU,CAAC;AAClD,OAAO,KAA+B,MAAM,OAAO,CAAC;AAGpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAIpE,UAAU,iBAAkB,SAAQ,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC;IAChE,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CACxC;AAED,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA0D7C,CAAC;AAIF,eAAe,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarButton.d.ts","sourceRoot":"","sources":["../../../src/Editor/ToolbarButton.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,KAAK,cAAc,GAAG,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACtD,UAAU,kBAAmB,SAAQ,cAAc;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAqCD,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAW/C,CAAC;AAIF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ToolbarButton.d.ts","sourceRoot":"","sources":["../../../src/Editor/ToolbarButton.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,KAAK,cAAc,GAAG,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACtD,UAAU,kBAAmB,SAAQ,cAAc;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAqCD,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAW/C,CAAC;AAIF,eAAe,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"imageBlock.d.ts","sourceRoot":"","sources":["../../../../src/Editor/blocks/imageBlock.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAc,gBAAgB,EAAE,MAAM,SAAS,CAAC;AA2FvD,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAE1C,QAAA,MAAM,UAAU,yBACQ,IAAI,KAAK,QAAQ,MAAM,CAAC,KAC7C,gBAgDD,CAAC;AAEH,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"imageBlock.d.ts","sourceRoot":"","sources":["../../../../src/Editor/blocks/imageBlock.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAc,gBAAgB,EAAE,MAAM,SAAS,CAAC;AA2FvD,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAE1C,QAAA,MAAM,UAAU,yBACQ,IAAI,KAAK,QAAQ,MAAM,CAAC,KAC7C,gBAgDD,CAAC;AAEH,eAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"videoBlock.d.ts","sourceRoot":"","sources":["../../../../src/Editor/blocks/videoBlock.tsx"],"names":[],"mappings":"AASA,OAAO,EAAc,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAkDvD,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAE1C,QAAA,MAAM,UAAU,EAAE,gBAmBjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"videoBlock.d.ts","sourceRoot":"","sources":["../../../../src/Editor/blocks/videoBlock.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAc,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAkDvD,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAE1C,QAAA,MAAM,UAAU,EAAE,gBAmBjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"linkDecorator.d.ts","sourceRoot":"","sources":["../../../../src/Editor/decorators/linkDecorator.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI1C,QAAA,MAAM,aAAa,EAAE,cAcpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"linkDecorator.d.ts","sourceRoot":"","sources":["../../../../src/Editor/decorators/linkDecorator.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C,QAAA,MAAM,aAAa,EAAE,cAcpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Editor/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,OAAO,EACL,MAAM,IAAI,WAAW,EACrB,WAAW,IAAI,gBAAgB,EAC/B,WAAW,EACZ,MAAM,UAAU,CAAC;AAClB,OAAO,KAA4C,MAAM,OAAO,CAAC;AAGjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAUlD,OAAiC,EAC/B,gBAAgB,EACjB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,aAAa,GAAG,UAAU,CAAC,EACxD,QAAQ;IAKV,QAAQ,CAAC,EAAE,OAAO,CAAC;IAKnB,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAKvC,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAKvC,KAAK,CAAC,EAAE,WAAW,CAAC;IAKpB,YAAY,CAAC,EAAE,WAAW,CAAC;IAK3B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CACzC;AAwBD,QAAA,MAAM,MAAM,iFAiHX,CAAC;AAIF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Editor/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EACL,MAAM,IAAI,WAAW,EACrB,WAAW,IAAI,gBAAgB,EAC/B,WAAW,EACZ,MAAM,UAAU,CAAC;AAClB,OAAO,KAA4C,MAAM,OAAO,CAAC;AAGjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAQlD,OAAiC,EAC/B,gBAAgB,EACjB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,aAAa,GAAG,UAAU,CAAC,EACxD,QAAQ;IAKV,QAAQ,CAAC,EAAE,OAAO,CAAC;IAKnB,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAKvC,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAKvC,KAAK,CAAC,EAAE,WAAW,CAAC;IAKpB,YAAY,CAAC,EAAE,WAAW,CAAC;IAK3B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CACzC;AAwBD,QAAA,MAAM,MAAM,iFAiHX,CAAC;AAIF,eAAe,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/EditorSkeleton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAiB,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AASrD,QAAA,MAAM,cAAc,sKAEnB,CAAC;AAIF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/EditorSkeleton/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAiB,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AASrD,QAAA,MAAM,cAAc,sKAEnB,CAAC;AAIF,eAAe,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@os-design/editor",
3
- "version": "1.0.208",
3
+ "version": "1.0.209",
4
4
  "license": "UNLICENSED",
5
5
  "repository": "git@gitlab.com:os-team/libs/os-design.git",
6
6
  "main": "dist/cjs/index.js",
@@ -30,11 +30,11 @@
30
30
  "access": "public"
31
31
  },
32
32
  "dependencies": {
33
- "@os-design/core": "^1.0.203",
34
- "@os-design/icons": "^1.0.51",
35
- "@os-design/styles": "^1.0.48",
36
- "@os-design/theming": "^1.0.46",
37
- "@os-design/utils": "^1.0.65",
33
+ "@os-design/core": "^1.0.204",
34
+ "@os-design/icons": "^1.0.52",
35
+ "@os-design/styles": "^1.0.49",
36
+ "@os-design/theming": "^1.0.47",
37
+ "@os-design/utils": "^1.0.66",
38
38
  "draft-js": "^0.11.7"
39
39
  },
40
40
  "devDependencies": {
@@ -50,5 +50,5 @@
50
50
  "react": ">=18",
51
51
  "react-dom": ">=18"
52
52
  },
53
- "gitHead": "04dd6ac7bd5e972ad98a6d8b14868332d6a808d3"
53
+ "gitHead": "b17670408f318b1060ffafdbe47234446a076d04"
54
54
  }
@@ -1,7 +1,6 @@
1
1
  import { PopoverProps } from '@os-design/core';
2
2
  import { EditorState } from 'draft-js';
3
3
  import React, { useCallback } from 'react';
4
-
5
4
  import Toolbar from './Toolbar';
6
5
  import ToolbarButton from './ToolbarButton';
7
6
  import { BlockToolbarItem } from './blocks/types';
@@ -1,10 +1,8 @@
1
1
  import { PopoverProps } from '@os-design/core';
2
2
  import { EditorState, RichUtils } from 'draft-js';
3
-
4
3
  import React, { useCallback, useMemo } from 'react';
5
4
  import Toolbar from './Toolbar';
6
5
  import ToolbarButton from './ToolbarButton';
7
-
8
6
  import { StyleToolbarItem } from './utils/defaultStyleToolbarItems';
9
7
  import setLink from './utils/setLink';
10
8
  import unsetLink from './utils/unsetLink';
@@ -1,9 +1,7 @@
1
1
  import { css } from '@emotion/react';
2
-
3
2
  import styled from '@emotion/styled';
4
3
  import { resetButtonStyles, transitionStyles } from '@os-design/styles';
5
4
  import { clr } from '@os-design/theming';
6
-
7
5
  import { omitEmotionProps } from '@os-design/utils';
8
6
  import React from 'react';
9
7
 
@@ -1,19 +1,14 @@
1
1
  import { css } from '@emotion/react';
2
-
3
2
  import styled from '@emotion/styled';
4
3
  import { message } from '@os-design/core';
5
-
6
4
  import { Loading, Picture } from '@os-design/icons';
7
-
8
5
  import { omitEmotionProps, useEvent } from '@os-design/utils';
9
6
  import { EditorBlock } from 'draft-js';
10
7
  import React, { useCallback, useRef, useState } from 'react';
11
-
12
8
  import changeBlock from '../utils/changeBlock';
13
9
  import getCurrentBlock from '../utils/getCurrentBlock';
14
10
  import Figure from './Figure';
15
11
  import FigureCaption from './FigureCaption';
16
-
17
12
  import { BlockProps, BlockToolbarItem } from './types';
18
13
 
19
14
  const widthStyles = (p) =>
@@ -2,7 +2,6 @@ import { Video } from '@os-design/core';
2
2
  import { Video as VideoIcon } from '@os-design/icons';
3
3
  import { EditorBlock } from 'draft-js';
4
4
  import React from 'react';
5
-
6
5
  import changeBlock from '../utils/changeBlock';
7
6
  import getCurrentBlock from '../utils/getCurrentBlock';
8
7
  import Figure from './Figure';
@@ -1,7 +1,5 @@
1
1
  import { Link } from '@os-design/core';
2
-
3
2
  import { DraftDecorator } from 'draft-js';
4
-
5
3
  import React from 'react';
6
4
 
7
5
  const linkDecorator: DraftDecorator = {
@@ -3,7 +3,6 @@ import styled from '@emotion/styled';
3
3
  import { InputContainer } from '@os-design/core';
4
4
  import { WithSize } from '@os-design/styles';
5
5
  import { useForwardedRef, useForwardedState } from '@os-design/utils';
6
-
7
6
  import {
8
7
  Editor as DraftEditor,
9
8
  EditorProps as DraftEditorProps,
@@ -17,11 +16,9 @@ import useBlockToolbarProps from './hooks/useBlockToolbarProps';
17
16
  import usePastedTextHandler from './hooks/usePastedTextHandler';
18
17
  import useReturnHandler from './hooks/useReturnHandler';
19
18
  import useStyleToolbarProps from './hooks/useStyleToolbarProps';
20
-
21
19
  import defaultDraftJsStyles from './styles/defaultDraftJsStyles';
22
20
  import overrideDraftJsStyles from './styles/overrideDraftJsStyles';
23
21
  import createEmptyEditorState from './utils/createEmptyEditorState';
24
-
25
22
  import defaultStyleToolbarItems, {
26
23
  StyleToolbarItem,
27
24
  } from './utils/defaultStyleToolbarItems';
@@ -1,5 +1,4 @@
1
1
  import styled from '@emotion/styled';
2
-
3
2
  import { InputSkeleton, InputSkeletonProps } from '@os-design/core';
4
3
  import React, { forwardRef } from 'react';
5
4