@elliemae/ds-wysiwygeditor 3.16.0 → 3.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/DSWYSIWYGEditor.js +5 -1
- package/dist/cjs/DSWYSIWYGEditor.js.map +2 -2
- package/dist/cjs/components/CustomImageUploader.js +5 -1
- package/dist/cjs/components/CustomImageUploader.js.map +2 -2
- package/dist/cjs/components/CustomToolbar.js +7 -3
- package/dist/cjs/components/CustomToolbar.js.map +2 -2
- package/dist/cjs/components/DSWYSIWYGEditorImpl.js +45 -14
- package/dist/cjs/components/DSWYSIWYGEditorImpl.js.map +2 -2
- package/dist/cjs/components/ImageLibraryModal.js +5 -8
- package/dist/cjs/components/ImageLibraryModal.js.map +2 -2
- package/dist/cjs/components/InsertFieldModal.js +5 -1
- package/dist/cjs/components/InsertFieldModal.js.map +2 -2
- package/dist/cjs/components/TippedButton.js +4 -0
- package/dist/cjs/components/TippedButton.js.map +1 -1
- package/dist/cjs/components/TippedSelect.js +4 -0
- package/dist/cjs/components/TippedSelect.js.map +1 -1
- package/dist/cjs/components/colors.js +4 -0
- package/dist/cjs/components/colors.js.map +1 -1
- package/dist/cjs/components/customFields.js +5 -0
- package/dist/cjs/components/customFields.js.map +1 -1
- package/dist/cjs/constants.js +6 -1
- package/dist/cjs/constants.js.map +2 -2
- package/dist/cjs/index.js +8 -4
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/package.json +7 -0
- package/dist/cjs/quillMatchers/clipboardLinkWithTagMatcher.js +4 -0
- package/dist/cjs/quillMatchers/clipboardLinkWithTagMatcher.js.map +1 -1
- package/dist/cjs/quillOverrides/Image.js +6 -2
- package/dist/cjs/quillOverrides/Image.js.map +2 -2
- package/dist/cjs/quillOverrides/IndentStyle.js +4 -0
- package/dist/cjs/quillOverrides/IndentStyle.js.map +2 -2
- package/dist/cjs/quillOverrides/LinkFormat.js +4 -0
- package/dist/cjs/quillOverrides/LinkFormat.js.map +1 -1
- package/dist/cjs/quillOverrides/PlainClipboard.js +4 -0
- package/dist/cjs/quillOverrides/PlainClipboard.js.map +1 -1
- package/dist/cjs/utils.js +4 -0
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/DSWYSIWYGEditor.js +1 -1
- package/dist/esm/DSWYSIWYGEditor.js.map +2 -2
- package/dist/esm/components/CustomImageUploader.js +1 -1
- package/dist/esm/components/CustomImageUploader.js.map +2 -2
- package/dist/esm/components/CustomToolbar.js +3 -3
- package/dist/esm/components/CustomToolbar.js.map +1 -1
- package/dist/esm/components/DSWYSIWYGEditorImpl.js +41 -14
- package/dist/esm/components/DSWYSIWYGEditorImpl.js.map +2 -2
- package/dist/esm/components/ImageLibraryModal.js +1 -8
- package/dist/esm/components/ImageLibraryModal.js.map +2 -2
- package/dist/esm/components/InsertFieldModal.js +1 -1
- package/dist/esm/components/InsertFieldModal.js.map +2 -2
- package/dist/esm/components/TippedButton.js.map +1 -1
- package/dist/esm/components/TippedSelect.js.map +1 -1
- package/dist/esm/components/customFields.js +1 -0
- package/dist/esm/components/customFields.js.map +1 -1
- package/dist/esm/constants.js +2 -1
- package/dist/esm/constants.js.map +2 -2
- package/dist/esm/index.js +4 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/package.json +7 -0
- package/dist/esm/quillOverrides/Image.js +2 -2
- package/dist/esm/quillOverrides/Image.js.map +2 -2
- package/dist/esm/quillOverrides/IndentStyle.js.map +2 -2
- package/dist/types/DSWYSIWYGEditor.d.ts +13 -12
- package/dist/types/components/CustomImageUploader.d.ts +1 -0
- package/dist/types/components/CustomToolbar.d.ts +1 -0
- package/dist/types/components/InsertFieldModal.d.ts +1 -1
- package/dist/types/index.d.ts +4 -4
- package/package.json +12 -12
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/DSWYSIWYGEditorImpl.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\nimport React from 'react';\nimport ReactQuill, { Quill } from 'react-quill';\nimport BlotFormatter from 'quill-blot-formatter';\nimport ImageLibraryModal from './ImageLibraryModal';\nimport InsertFieldModal from './InsertFieldModal';\nimport { CustomToolbar } from './CustomToolbar';\nimport IndentStyle from '../quillOverrides/IndentStyle';\nimport LinkFormat from '../quillOverrides/LinkFormat';\nimport Image from '../quillOverrides/Image';\nimport { formatHTML } from '../utils';\nimport { clipboardLinkWithTagMatcher } from '../quillMatchers/clipboardLinkWithTagMatcher';\n\nQuill.register('modules/blotFormatter', BlotFormatter);\n\n// Fix block styled formats ----------------\nconst AlignStyle = Quill.import('attributors/style/align');\nconst FontStyle = Quill.import('attributors/style/font');\nFontStyle.whitelist = [\n // allow ONLY these fonts and the default\n 'serif',\n 'monospace',\n 'arial',\n 'comic-sans',\n 'courier-new',\n 'georgia',\n 'helvetica',\n 'lucida',\n];\nconst SizeStyle = Quill.import('attributors/style/size');\nSizeStyle.whitelist = [\n // allow ONLY these sizes and the default\n 'x-small',\n 'large',\n 'x-large',\n];\n\n// Fix Doc Viewer p tags extra margin issue ---------\nconst Block = Quill.import('blots/block');\nBlock.tagName = 'p';\nQuill.register(Block);\n\nQuill.register(AlignStyle, true);\nQuill.register(IndentStyle, true);\nQuill.register(FontStyle, true);\nQuill.register(SizeStyle, true);\n// -----------------------------------------\nQuill.register(Image, true);\n\nexport default class DSWYSIWYGEditorImpl extends React.PureComponent {\n quillModules = {\n toolbar: {\n container: this.props.toolbarContainer ? `#${this.props.toolbarContainer}` : '#toolbar',\n handlers: {\n ...this.props.toolbarHandlers,\n },\n },\n clipboard: {\n // toggle to add extra line breaks when pasting HTML:\n matchVisual: false,\n },\n blotFormatter: {\n
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\n/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\nimport React from 'react';\nimport ReactQuill, { Quill } from 'react-quill';\nimport BlotFormatter from 'quill-blot-formatter';\nimport ImageLibraryModal from './ImageLibraryModal.js';\nimport InsertFieldModal from './InsertFieldModal.js';\nimport { CustomToolbar } from './CustomToolbar.js';\nimport IndentStyle from '../quillOverrides/IndentStyle.js';\nimport LinkFormat from '../quillOverrides/LinkFormat.js';\nimport Image from '../quillOverrides/Image.js';\nimport { formatHTML } from '../utils.js';\nimport { clipboardLinkWithTagMatcher } from '../quillMatchers/clipboardLinkWithTagMatcher.js';\nimport { uid } from 'uid';\n\n\nQuill.register('modules/blotFormatter', BlotFormatter);\n\n// Fix block styled formats ----------------\nconst AlignStyle = Quill.import('attributors/style/align');\nconst FontStyle = Quill.import('attributors/style/font');\nFontStyle.whitelist = [\n // allow ONLY these fonts and the default\n 'serif',\n 'monospace',\n 'arial',\n 'comic-sans',\n 'courier-new',\n 'georgia',\n 'helvetica',\n 'lucida',\n];\nconst SizeStyle = Quill.import('attributors/style/size');\nSizeStyle.whitelist = [\n // allow ONLY these sizes and the default\n 'x-small',\n 'large',\n 'x-large',\n];\n\n// Fix Doc Viewer p tags extra margin issue ---------\nconst Block = Quill.import('blots/block');\nBlock.tagName = 'p';\nQuill.register(Block);\n\nQuill.register(AlignStyle, true);\nQuill.register(IndentStyle, true);\nQuill.register(FontStyle, true);\nQuill.register(SizeStyle, true);\n// -----------------------------------------\nQuill.register(Image, true);\n\nexport default class DSWYSIWYGEditorImpl extends React.PureComponent {\n quillModules = {\n toolbar: {\n container: this.props.toolbarContainer ? `#${this.props.toolbarContainer}` : '#toolbar',\n handlers: {\n ...this.props.toolbarHandlers,\n },\n },\n clipboard: {\n // toggle to add extra line breaks when pasting HTML:\n matchVisual: false,\n },\n // this next line breaks the component with the last version 2.0.0\n // blotFormatter: {\n // options... https://github.com/Fandom-OSS/quill-blot-formatter\n // },\n ...this.props.quillModules,\n };\n\n constructor(props) {\n super(props);\n Quill.register(LinkFormat, true);\n if (props.quillOverrides.length) {\n props.quillOverrides.map((override) => Quill.register(override, true));\n }\n const instanceUid = uid(12);\n this.state = {\n isImageModalOpen: false,\n isFieldModalOpen: false,\n uid: instanceUid,\n uniqueClassName: `ds-wysiwyg-editor-${instanceUid}`,\n };\n const { toolbar } = this.quillModules;\n if (props.imagesData) {\n toolbar.handlers.image = (value) => {\n const { imagesData, handleImageClick } = this.props;\n if (!imagesData.length) {\n return;\n }\n this.setState({ isImageModalOpen: !!value });\n handleImageClick(value);\n };\n }\n if (props.customFields) {\n toolbar.handlers.customFields = (value) => {\n const { customFields, handleCustomFieldClick } = this.props;\n if (!customFields.length) {\n return;\n }\n this.setState({ isFieldModalOpen: !!value });\n handleCustomFieldClick(value);\n };\n }\n }\n\n componentDidMount() {\n // this.quill doesn't exist untill the full call-stack execute\n // we need to \"setTimeout\" so this componentDidMount work as expected\n setTimeout(() => {\n const quillDomRef = this.quill;\n this.props.getQuillRef(quillDomRef);\n\n const editor = quillDomRef?.getEditor();\n // https://github.com/quilljs/quill/issues/2677\n editor?.clipboard.addMatcher('a', clipboardLinkWithTagMatcher);\n });\n }\n\n getEditor = () => this.quill?.getEditor();\n\n // eslint-disable-next-line max-params\n onChangeQuill = (html, delta, source, editor) => {\n // console.log('quill detected a change');\n const { showRawHTML, onChange } = this.props;\n if (!showRawHTML) onChange(html, delta, source, editor);\n };\n\n onChangeTextArea = (e) => {\n const { showRawHTML, onChange } = this.props;\n if (showRawHTML) onChange(e.target.value);\n };\n\n onInserFieldConfirm = (fieldCode) => {\n const editor = this.getEditor();\n const range = editor.getSelection(true);\n editor.insertText(range.index, fieldCode);\n };\n\n onImageConfirm = (image) => {\n if (!image) {\n return;\n }\n const editor = this.getEditor();\n const range = editor.getSelection(true);\n editor.insertEmbed(range.index, 'image', image.url);\n };\n\n onFieldModalClose = () => {\n this.setState({ isFieldModalOpen: false });\n };\n\n onImageModalClose = () => {\n this.setState({ isImageModalOpen: false });\n };\n\n quillRef = (ref) => {\n this.quill = ref;\n };\n\n render() {\n const { isFieldModalOpen, isImageModalOpen } = this.state;\n const {\n containerProps = {},\n customFields,\n imagesData,\n customToolbar,\n height,\n value,\n showRawHTML,\n onShowHTML,\n hideItems,\n bounds,\n // a bunch of props we don't want to pass to the editor\n onChange,\n handleImageClick,\n handleCustomFieldClick,\n ...editorProps\n } = this.props;\n\n // workaround monkeypatch for quill bug, when bounds is set to element, it doesn't work\n // we force it to be a string instead and as such we make sure the css selector is present\n // by adding a class to the element if the bounds is set to element\n // adding a class to the body if the bounds is not set (default bounds is document.body)\n let finalBoundElement = document.body;\n if (\n typeof bounds !== 'undefined' &&\n // there is no sure-fire way to check if something is a DOM element\n // checking classList existance && that it's an instance of DOMTokenList is a close enough check for most cases\n bounds?.classList &&\n bounds?.classList instanceof DOMTokenList\n ) {\n finalBoundElement = bounds;\n }\n // we need to make sure only one element in the DOM has the class we are about to add\n // so we remove the class from all elements that have it before adding it to the finalBoundElement\n const elementsWithClass = document.querySelectorAll(`.${this.state.uniqueClassName}`);\n elementsWithClass.forEach((element) => {\n element.classList.remove(this.state.uniqueClassName);\n });\n\n if (!finalBoundElement.classList.contains(this.state.uniqueClassName)) {\n finalBoundElement.classList.add(this.state.uniqueClassName);\n }\n // we need to set the bounds to the class name we just added\n const boundsWorkaround = `.${this.state.uniqueClassName}`;\n\n return (\n <div\n // data-testid=\"wysiwyg-text-container\"\n {...containerProps}\n className={`quill-wysiwyg-editor ${showRawHTML ? 'show-raw' : ''}`}\n >\n {customToolbar || (\n <CustomToolbar\n customFields={customFields}\n onShowHTML={onShowHTML}\n hideItems={hideItems}\n userProps={this.props}\n />\n )}\n <ReactQuill\n ref={this.quillRef}\n modules={this.quillModules}\n onChange={this.onChangeQuill}\n value={value}\n style={{\n height,\n borderBottom: '1px solid #ccc',\n }}\n bounds={boundsWorkaround}\n {...editorProps}\n id=\"wysiwyg-text-container\"\n />\n <textarea\n className=\"raw-editor ql-container ql-snow ql-editor\"\n style={{\n width: '100%',\n resize: 'none',\n height,\n minHeight: '200px',\n }}\n onChange={this.onChangeTextArea}\n value={formatHTML(value)}\n />\n {imagesData && imagesData.length && (\n <ImageLibraryModal\n imagesData={imagesData}\n isOpen={isImageModalOpen}\n onClose={this.onImageModalClose}\n onConfirm={this.onImageConfirm}\n />\n )}\n {customFields && customFields.length && (\n <InsertFieldModal\n customFields={customFields}\n isOpen={isFieldModalOpen}\n onClose={this.onFieldModalClose}\n onConfirm={this.onInserFieldConfirm}\n />\n )}\n </div>\n );\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACkNjB,SAMI,KANJ;AA/MN,OAAOA,YAAW;AAClB,OAAO,cAAc,aAAa;AAClC,OAAO,mBAAmB;AAC1B,OAAO,uBAAuB;AAC9B,OAAO,sBAAsB;AAC7B,SAAS,qBAAqB;AAC9B,OAAO,iBAAiB;AACxB,OAAO,gBAAgB;AACvB,OAAO,WAAW;AAClB,SAAS,kBAAkB;AAC3B,SAAS,mCAAmC;AAC5C,SAAS,WAAW;AAGpB,MAAM,SAAS,yBAAyB,aAAa;AAGrD,MAAM,aAAa,MAAM,OAAO,yBAAyB;AACzD,MAAM,YAAY,MAAM,OAAO,wBAAwB;AACvD,UAAU,YAAY;AAAA;AAAA,EAEpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACA,MAAM,YAAY,MAAM,OAAO,wBAAwB;AACvD,UAAU,YAAY;AAAA;AAAA,EAEpB;AAAA,EACA;AAAA,EACA;AACF;AAGA,MAAM,QAAQ,MAAM,OAAO,aAAa;AACxC,MAAM,UAAU;AAChB,MAAM,SAAS,KAAK;AAEpB,MAAM,SAAS,YAAY,IAAI;AAC/B,MAAM,SAAS,aAAa,IAAI;AAChC,MAAM,SAAS,WAAW,IAAI;AAC9B,MAAM,SAAS,WAAW,IAAI;AAE9B,MAAM,SAAS,OAAO,IAAI;AAE1B,MAAO,4BAA0CA,OAAM,cAAc;AAAA,EAmBnE,YAAY,OAAO;AACjB,UAAM,KAAK;AAnBb,wBAAe;AAAA,MACb,SAAS;AAAA,QACP,WAAW,KAAK,MAAM,mBAAmB,IAAI,KAAK,MAAM,qBAAqB;AAAA,QAC7E,UAAU;AAAA,UACR,GAAG,KAAK,MAAM;AAAA,QAChB;AAAA,MACF;AAAA,MACA,WAAW;AAAA;AAAA,QAET,aAAa;AAAA,MACf;AAAA;AAAA;AAAA;AAAA;AAAA,MAKA,GAAG,KAAK,MAAM;AAAA,IAChB;AAmDA,qBAAY,MAAM,KAAK,OAAO,UAAU;AAGxC;AAAA,yBAAgB,CAAC,MAAM,OAAO,QAAQ,WAAW;AAE/C,YAAM,EAAE,aAAa,SAAS,IAAI,KAAK;AACvC,UAAI,CAAC;AAAa,iBAAS,MAAM,OAAO,QAAQ,MAAM;AAAA,IACxD;AAEA,4BAAmB,CAAC,MAAM;AACxB,YAAM,EAAE,aAAa,SAAS,IAAI,KAAK;AACvC,UAAI;AAAa,iBAAS,EAAE,OAAO,KAAK;AAAA,IAC1C;AAEA,+BAAsB,CAAC,cAAc;AACnC,YAAM,SAAS,KAAK,UAAU;AAC9B,YAAM,QAAQ,OAAO,aAAa,IAAI;AACtC,aAAO,WAAW,MAAM,OAAO,SAAS;AAAA,IAC1C;AAEA,0BAAiB,CAAC,UAAU;AAC1B,UAAI,CAAC,OAAO;AACV;AAAA,MACF;AACA,YAAM,SAAS,KAAK,UAAU;AAC9B,YAAM,QAAQ,OAAO,aAAa,IAAI;AACtC,aAAO,YAAY,MAAM,OAAO,SAAS,MAAM,GAAG;AAAA,IACpD;AAEA,6BAAoB,MAAM;AACxB,WAAK,SAAS,EAAE,kBAAkB,MAAM,CAAC;AAAA,IAC3C;AAEA,6BAAoB,MAAM;AACxB,WAAK,SAAS,EAAE,kBAAkB,MAAM,CAAC;AAAA,IAC3C;AAEA,oBAAW,CAAC,QAAQ;AAClB,WAAK,QAAQ;AAAA,IACf;AAtFE,UAAM,SAAS,YAAY,IAAI;AAC/B,QAAI,MAAM,eAAe,QAAQ;AAC/B,YAAM,eAAe,IAAI,CAAC,aAAa,MAAM,SAAS,UAAU,IAAI,CAAC;AAAA,IACvE;AACA,UAAM,cAAc,IAAI,EAAE;AAC1B,SAAK,QAAQ;AAAA,MACX,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,KAAK;AAAA,MACL,iBAAiB,qBAAqB;AAAA,IACxC;AACA,UAAM,EAAE,QAAQ,IAAI,KAAK;AACzB,QAAI,MAAM,YAAY;AACpB,cAAQ,SAAS,QAAQ,CAAC,UAAU;AAClC,cAAM,EAAE,YAAY,iBAAiB,IAAI,KAAK;AAC9C,YAAI,CAAC,WAAW,QAAQ;AACtB;AAAA,QACF;AACA,aAAK,SAAS,EAAE,kBAAkB,CAAC,CAAC,MAAM,CAAC;AAC3C,yBAAiB,KAAK;AAAA,MACxB;AAAA,IACF;AACA,QAAI,MAAM,cAAc;AACtB,cAAQ,SAAS,eAAe,CAAC,UAAU;AACzC,cAAM,EAAE,cAAc,uBAAuB,IAAI,KAAK;AACtD,YAAI,CAAC,aAAa,QAAQ;AACxB;AAAA,QACF;AACA,aAAK,SAAS,EAAE,kBAAkB,CAAC,CAAC,MAAM,CAAC;AAC3C,+BAAuB,KAAK;AAAA,MAC9B;AAAA,IACF;AAAA,EACF;AAAA,EAEA,oBAAoB;AAGlB,eAAW,MAAM;AACf,YAAM,cAAc,KAAK;AACzB,WAAK,MAAM,YAAY,WAAW;AAElC,YAAM,SAAS,aAAa,UAAU;AAEtC,cAAQ,UAAU,WAAW,KAAK,2BAA2B;AAAA,IAC/D,CAAC;AAAA,EACH;AAAA,EA2CA,SAAS;AACP,UAAM,EAAE,kBAAkB,iBAAiB,IAAI,KAAK;AACpD,UAAM;AAAA,MACJ,iBAAiB,CAAC;AAAA,MAClB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,IAAI,KAAK;AAMT,QAAI,oBAAoB,SAAS;AACjC,QACE,OAAO,WAAW;AAAA;AAAA,IAGlB,QAAQ,aACR,QAAQ,qBAAqB,cAC7B;AACA,0BAAoB;AAAA,IACtB;AAGA,UAAM,oBAAoB,SAAS,iBAAiB,IAAI,KAAK,MAAM,iBAAiB;AACpF,sBAAkB,QAAQ,CAAC,YAAY;AACrC,cAAQ,UAAU,OAAO,KAAK,MAAM,eAAe;AAAA,IACrD,CAAC;AAED,QAAI,CAAC,kBAAkB,UAAU,SAAS,KAAK,MAAM,eAAe,GAAG;AACrE,wBAAkB,UAAU,IAAI,KAAK,MAAM,eAAe;AAAA,IAC5D;AAEA,UAAM,mBAAmB,IAAI,KAAK,MAAM;AAExC,WACE;AAAA,MAAC;AAAA;AAAA,QAEE,GAAG;AAAA,QACJ,WAAW,wBAAwB,cAAc,aAAa;AAAA,QAE7D;AAAA,2BACC;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA;AAAA,cACA;AAAA,cACA,WAAW,KAAK;AAAA;AAAA,UAClB;AAAA,UAEF;AAAA,YAAC;AAAA;AAAA,cACC,KAAK,KAAK;AAAA,cACV,SAAS,KAAK;AAAA,cACd,UAAU,KAAK;AAAA,cACf;AAAA,cACA,OAAO;AAAA,gBACL;AAAA,gBACA,cAAc;AAAA,cAChB;AAAA,cACA,QAAQ;AAAA,cACP,GAAG;AAAA,cACJ,IAAG;AAAA;AAAA,UACL;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,WAAU;AAAA,cACV,OAAO;AAAA,gBACL,OAAO;AAAA,gBACP,QAAQ;AAAA,gBACR;AAAA,gBACA,WAAW;AAAA,cACb;AAAA,cACA,UAAU,KAAK;AAAA,cACf,OAAO,WAAW,KAAK;AAAA;AAAA,UACzB;AAAA,UACC,cAAc,WAAW,UACxB;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA,QAAQ;AAAA,cACR,SAAS,KAAK;AAAA,cACd,WAAW,KAAK;AAAA;AAAA,UAClB;AAAA,UAED,gBAAgB,aAAa,UAC5B;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA,QAAQ;AAAA,cACR,SAAS,KAAK;AAAA,cACd,WAAW,KAAK;AAAA;AAAA,UAClB;AAAA;AAAA;AAAA,IAEJ;AAAA,EAEJ;AACF;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -20,14 +20,7 @@ class ImageLibraryModal extends React2.PureComponent {
|
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
22
|
render() {
|
|
23
|
-
return /* @__PURE__ */ jsx(
|
|
24
|
-
DSImageLibraryModal,
|
|
25
|
-
{
|
|
26
|
-
...this.props,
|
|
27
|
-
onConfirm: this.onConfirm,
|
|
28
|
-
onSelect: this.onSelect
|
|
29
|
-
}
|
|
30
|
-
);
|
|
23
|
+
return /* @__PURE__ */ jsx(DSImageLibraryModal, { ...this.props, onConfirm: this.onConfirm, onSelect: this.onSelect });
|
|
31
24
|
}
|
|
32
25
|
}
|
|
33
26
|
ImageLibraryModal.propTypes = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/ImageLibraryModal.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport DSImageLibraryModal from '@elliemae/ds-imagelibrarymodal';\nimport PropTypes from 'prop-types';\n\nexport default class ImageLibraryModal extends React.PureComponent {\n static propTypes = {\n onConfirm: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n onReject: PropTypes.func,\n imagesData: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n description: PropTypes.string,\n createdBy: PropTypes.string.isRequired,\n createdDate: PropTypes.string.isRequired,\n }),\n ),\n isOpen: PropTypes.bool.isRequired,\n };\n\n static defaultProps = {\n onReject: undefined,\n imagesData: [\n {\n url: 'https://www.freeiconspng.com/minicovers/no-image-icon-6.png',\n name: 'no image',\n createdBy: 'user:John Doe',\n createdDate: '0000-01-01 00:00 AM UTC',\n },\n {\n url
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport DSImageLibraryModal from '@elliemae/ds-imagelibrarymodal';\nimport PropTypes from 'prop-types';\n\nexport default class ImageLibraryModal extends React.PureComponent {\n static propTypes = {\n onConfirm: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n onReject: PropTypes.func,\n imagesData: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n description: PropTypes.string,\n createdBy: PropTypes.string.isRequired,\n createdDate: PropTypes.string.isRequired,\n }),\n ),\n isOpen: PropTypes.bool.isRequired,\n };\n\n static defaultProps = {\n onReject: undefined,\n imagesData: [\n {\n url: 'https://www.freeiconspng.com/minicovers/no-image-icon-6.png',\n name: 'no image',\n createdBy: 'user:John Doe',\n createdDate: '0000-01-01 00:00 AM UTC',\n },\n {\n url: 'https://asset-service-bucket-int.s3.us-west-2.amazonaws.com/bd527d8c-472f-4dff-b8c5-1c90d5bae01e',\n name: 'no image 2',\n createdBy: 'user:Jane Doe',\n createdDate: '0000-01-01 00:00 AM UTC',\n },\n ],\n };\n\n constructor(props) {\n super(props);\n this.state = {\n selectedImage: undefined,\n };\n }\n\n onSelect = (selectedImage) => {\n this.setState({ selectedImage });\n };\n\n onConfirm = () => {\n const { selectedImage } = this.state;\n const { onConfirm, onClose } = this.props;\n onConfirm(selectedImage);\n onClose();\n };\n\n render() {\n return <DSImageLibraryModal {...this.props} onConfirm={this.onConfirm} onSelect={this.onSelect} />;\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;AC2DZ;AA3DX,OAAOA,YAAW;AAClB,OAAO,yBAAyB;AAChC,OAAO,eAAe;AAEtB,MAAO,0BAAwCA,OAAM,cAAc;AAAA,EAoCjE,YAAY,OAAO;AACjB,UAAM,KAAK;AAMb,oBAAW,CAAC,kBAAkB;AAC5B,WAAK,SAAS,EAAE,cAAc,CAAC;AAAA,IACjC;AAEA,qBAAY,MAAM;AAChB,YAAM,EAAE,cAAc,IAAI,KAAK;AAC/B,YAAM,EAAE,WAAW,QAAQ,IAAI,KAAK;AACpC,gBAAU,aAAa;AACvB,cAAQ;AAAA,IACV;AAdE,SAAK,QAAQ;AAAA,MACX,eAAe;AAAA,IACjB;AAAA,EACF;AAAA,EAaA,SAAS;AACP,WAAO,oBAAC,uBAAqB,GAAG,KAAK,OAAO,WAAW,KAAK,WAAW,UAAU,KAAK,UAAU;AAAA,EAClG;AACF;AAzDqB,kBACZ,YAAY;AAAA,EACjB,WAAW,UAAU,KAAK;AAAA,EAC1B,SAAS,UAAU,KAAK;AAAA,EACxB,UAAU,UAAU;AAAA,EACpB,YAAY,UAAU;AAAA,IACpB,UAAU,MAAM;AAAA,MACd,IAAI,UAAU;AAAA,MACd,KAAK,UAAU,OAAO;AAAA,MACtB,MAAM,UAAU,OAAO;AAAA,MACvB,aAAa,UAAU;AAAA,MACvB,WAAW,UAAU,OAAO;AAAA,MAC5B,aAAa,UAAU,OAAO;AAAA,IAChC,CAAC;AAAA,EACH;AAAA,EACA,QAAQ,UAAU,KAAK;AACzB;AAhBmB,kBAkBZ,eAAe;AAAA,EACpB,UAAU;AAAA,EACV,YAAY;AAAA,IACV;AAAA,MACE,KAAK;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,MACX,aAAa;AAAA,IACf;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,MACX,aAAa;AAAA,IACf;AAAA,EACF;AACF;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -5,7 +5,7 @@ import PropTypes from "prop-types";
|
|
|
5
5
|
import DSModal, { MODAL_TYPE } from "@elliemae/ds-modal";
|
|
6
6
|
import { sizeOptions } from "@elliemae/ds-shared";
|
|
7
7
|
import { includes } from "lodash";
|
|
8
|
-
import { fields, getFieldName, getFieldCode } from "./customFields";
|
|
8
|
+
import { fields, getFieldName, getFieldCode } from "./customFields.js";
|
|
9
9
|
const modalTypes = Object.values(MODAL_TYPE);
|
|
10
10
|
const elementClassName = "insertfieldmodal-element";
|
|
11
11
|
class InsertFieldModal extends React2.PureComponent {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/InsertFieldModal.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable react/static-property-placement */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport DSModal, { MODAL_TYPE } from '@elliemae/ds-modal';\nimport { sizeOptions } from '@elliemae/ds-shared';\nimport { includes } from 'lodash';\nimport { fields, getFieldName, getFieldCode } from './customFields';\n\nconst modalTypes = Object.values(MODAL_TYPE);\nconst elementClassName = 'insertfieldmodal-element';\n\nexport default class InsertFieldModal extends React.PureComponent {\n static propTypes = {\n onConfirm: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n confirmLabel: PropTypes.string,\n customFields: PropTypes.arrayOf(PropTypes.string),\n disableDoubleClick: PropTypes.bool,\n isOpen: PropTypes.bool,\n modalTitle: PropTypes.string,\n modalType: PropTypes.string,\n rejectLabel: PropTypes.string,\n shouldCloseOnOverlayClick: PropTypes.bool,\n size: PropTypes.string,\n onSelect: PropTypes.func,\n };\n\n static defaultProps = {\n confirmLabel: 'Add',\n customFields: fields,\n disableDoubleClick: false,\n isOpen: true,\n modalTitle: 'Add Field',\n modalType: modalTypes[1],\n rejectLabel: 'Cancel',\n shouldCloseOnOverlayClick: true,\n size: sizeOptions[1],\n onSelect: undefined,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n selectedFieldCode: getFieldCode(fields[0]),\n };\n this.preventSpacebarScroll();\n }\n\n componentDidMount() {\n const { customFields } = this.props;\n if (customFields) {\n this.handleElementClick({}, customFields[0]);\n this.focusFirst = true;\n }\n }\n\n getDerivedStateFromProps(nextProps) {\n const { customFields } = this.props;\n if (!customFields && nextProps.customFields) {\n this.setState({ selectedFieldCode: customFields[0] });\n }\n }\n\n onConfirm = () => {\n const { onConfirm, onClose } = this.props;\n const { selectedFieldCode } = this.state;\n onConfirm(selectedFieldCode);\n onClose();\n };\n\n onReject = () => {\n const { onReject, onClose } = this.props;\n if (onReject) {\n onReject();\n } else {\n onClose();\n }\n };\n\n drawDiv = (className, content, content2) => (\n <div className={className}>\n <span>{content}</span>\n <span>{content2}</span>\n </div>\n );\n\n drawLabel = (className, label, value) => (\n <div className={className}>\n <span className=\"label\">{label}</span>\n <span className=\"value\">{value}</span>\n </div>\n );\n\n handleElementClick = (e, selectedFieldCode) => {\n if (e.key && e.key !== ' ') {\n return;\n }\n const { selectedFieldCode: fCode } = this.state;\n const { disableDoubleClick } = this.props;\n if (selectedFieldCode === fCode && !disableDoubleClick) {\n this.onConfirm();\n return;\n }\n this.setState({\n selectedFieldCode,\n });\n const { onSelect } = this.props;\n if (onSelect) {\n onSelect(selectedFieldCode);\n }\n };\n\n preventSpacebarScroll = () => {\n document.onkeypress = function (e) {\n if (!includes(e.target.className, elementClassName)) {\n return true;\n }\n e = e || window.event;\n const charCode = e.keyCode || e.which;\n if (charCode === 32) {\n e.preventDefault();\n return false;\n }\n return true;\n };\n };\n\n renderElements = () => {\n const { customFields } = this.props;\n if (!customFields) {\n return 'Empty';\n }\n const { selectedFieldCode } = this.state;\n return customFields.map((customField, idx) => {\n const extras = {};\n const fieldCode = getFieldCode(customField);\n if (this.focusFirst && idx === 0) {\n extras.ref = (element) => element && element.focus();\n this.focusFirst = undefined;\n } else if (fieldCode === selectedFieldCode) {\n extras.ref = (element) => element && element.focus();\n }\n return (\n <div\n key={fieldCode}\n className={elementClassName}\n onClick={(e) => this.handleElementClick(e, fieldCode)}\n onKeyUp={(e) => this.handleElementClick(e, fieldCode)}\n role=\"button\"\n tabIndex={0}\n {...extras}\n >\n {this.drawLabel('content', getFieldName(customField), fieldCode)}\n </div>\n );\n });\n };\n\n render() {\n const { customFields, onSelect, ...modalProps } = this.props;\n return (\n <DSModal {...modalProps} className=\"insert-field-modal\" onConfirm={this.onConfirm} onReject={this.onReject}>\n <div className=\"wrapper\">\n <div className=\"col-1\">\n {this.drawDiv('title', 'Field Name', '\u00AB Field ID \u00BB')}\n {this.renderElements()}\n </div>\n </div>\n </DSModal>\n );\n }\n}\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACkFnB,SACE,KADF;AA/EJ,OAAOA,YAAW;AAClB,OAAO,eAAe;AACtB,OAAO,WAAW,kBAAkB;AACpC,SAAS,mBAAmB;AAC5B,SAAS,gBAAgB;AACzB,SAAS,QAAQ,cAAc,oBAAoB;AAEnD,MAAM,aAAa,OAAO,OAAO,UAAU;AAC3C,MAAM,mBAAmB;AAEzB,MAAO,yBAAuCA,OAAM,cAAc;AAAA,EA6BhE,YAAY,OAAO;AACjB,UAAM,KAAK;AAsBb,qBAAY,MAAM;AAChB,YAAM,EAAE,WAAW,QAAQ,IAAI,KAAK;AACpC,YAAM,EAAE,kBAAkB,IAAI,KAAK;AACnC,gBAAU,iBAAiB;AAC3B,cAAQ;AAAA,IACV;AAEA,oBAAW,MAAM;AACf,YAAM,EAAE,UAAU,QAAQ,IAAI,KAAK;AACnC,UAAI,UAAU;AACZ,iBAAS;AAAA,MACX,OAAO;AACL,gBAAQ;AAAA,MACV;AAAA,IACF;AAEA,mBAAU,CAAC,WAAW,SAAS,aAC7B,qBAAC,SAAI,WACH;AAAA,0BAAC,UAAM,mBAAQ;AAAA,MACf,oBAAC,UAAM,oBAAS;AAAA,OAClB;AAGF,qBAAY,CAAC,WAAW,OAAO,UAC7B,qBAAC,SAAI,WACH;AAAA,0BAAC,UAAK,WAAU,SAAS,iBAAM;AAAA,MAC/B,oBAAC,UAAK,WAAU,SAAS,iBAAM;AAAA,OACjC;AAGF,8BAAqB,CAAC,GAAG,sBAAsB;AAC7C,UAAI,EAAE,OAAO,EAAE,QAAQ,KAAK;AAC1B;AAAA,MACF;AACA,YAAM,EAAE,mBAAmB,MAAM,IAAI,KAAK;AAC1C,YAAM,EAAE,mBAAmB,IAAI,KAAK;AACpC,UAAI,sBAAsB,SAAS,CAAC,oBAAoB;AACtD,aAAK,UAAU;AACf;AAAA,MACF;AACA,WAAK,SAAS;AAAA,QACZ;AAAA,MACF,CAAC;AACD,YAAM,EAAE,SAAS,IAAI,KAAK;AAC1B,UAAI,UAAU;AACZ,iBAAS,iBAAiB;AAAA,MAC5B;AAAA,IACF;AAEA,iCAAwB,MAAM;AAC5B,eAAS,aAAa,SAAU,GAAG;AACjC,YAAI,CAAC,SAAS,EAAE,OAAO,WAAW,gBAAgB,GAAG;AACnD,iBAAO;AAAA,QACT;AACA,YAAI,KAAK,OAAO;AAChB,cAAM,WAAW,EAAE,WAAW,EAAE;AAChC,YAAI,aAAa,IAAI;AACnB,YAAE,eAAe;AACjB,iBAAO;AAAA,QACT;AACA,eAAO;AAAA,MACT;AAAA,IACF;AAEA,0BAAiB,MAAM;AACrB,YAAM,EAAE,aAAa,IAAI,KAAK;AAC9B,UAAI,CAAC,cAAc;AACjB,eAAO;AAAA,MACT;AACA,YAAM,EAAE,kBAAkB,IAAI,KAAK;AACnC,aAAO,aAAa,IAAI,CAAC,aAAa,QAAQ;AAC5C,cAAM,SAAS,CAAC;AAChB,cAAM,YAAY,aAAa,WAAW;AAC1C,YAAI,KAAK,cAAc,QAAQ,GAAG;AAChC,iBAAO,MAAM,CAAC,YAAY,WAAW,QAAQ,MAAM;AACnD,eAAK,aAAa;AAAA,QACpB,WAAW,cAAc,mBAAmB;AAC1C,iBAAO,MAAM,CAAC,YAAY,WAAW,QAAQ,MAAM;AAAA,QACrD;AACA,eACE;AAAA,UAAC;AAAA;AAAA,YAEC,WAAW;AAAA,YACX,SAAS,CAAC,MAAM,KAAK,mBAAmB,GAAG,SAAS;AAAA,YACpD,SAAS,CAAC,MAAM,KAAK,mBAAmB,GAAG,SAAS;AAAA,YACpD,MAAK;AAAA,YACL,UAAU;AAAA,YACT,GAAG;AAAA,YAEH,eAAK,UAAU,WAAW,aAAa,WAAW,GAAG,SAAS;AAAA;AAAA,UAR1D;AAAA,QASP;AAAA,MAEJ,CAAC;AAAA,IACH;AAlHE,SAAK,QAAQ;AAAA,MACX,mBAAmB,aAAa,OAAO,
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable react/static-property-placement */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport DSModal, { MODAL_TYPE } from '@elliemae/ds-modal';\nimport { sizeOptions } from '@elliemae/ds-shared';\nimport { includes } from 'lodash';\nimport { fields, getFieldName, getFieldCode } from './customFields.js';\n\nconst modalTypes = Object.values(MODAL_TYPE);\nconst elementClassName = 'insertfieldmodal-element';\n\nexport default class InsertFieldModal extends React.PureComponent {\n static propTypes = {\n onConfirm: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n confirmLabel: PropTypes.string,\n customFields: PropTypes.arrayOf(PropTypes.string),\n disableDoubleClick: PropTypes.bool,\n isOpen: PropTypes.bool,\n modalTitle: PropTypes.string,\n modalType: PropTypes.string,\n rejectLabel: PropTypes.string,\n shouldCloseOnOverlayClick: PropTypes.bool,\n size: PropTypes.string,\n onSelect: PropTypes.func,\n };\n\n static defaultProps = {\n confirmLabel: 'Add',\n customFields: fields,\n disableDoubleClick: false,\n isOpen: true,\n modalTitle: 'Add Field',\n modalType: modalTypes[1],\n rejectLabel: 'Cancel',\n shouldCloseOnOverlayClick: true,\n size: sizeOptions[1],\n onSelect: undefined,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n selectedFieldCode: getFieldCode(fields[0]),\n };\n this.preventSpacebarScroll();\n }\n\n componentDidMount() {\n const { customFields } = this.props;\n if (customFields) {\n this.handleElementClick({}, customFields[0]);\n this.focusFirst = true;\n }\n }\n\n getDerivedStateFromProps(nextProps) {\n const { customFields } = this.props;\n if (!customFields && nextProps.customFields) {\n this.setState({ selectedFieldCode: customFields[0] });\n }\n }\n\n onConfirm = () => {\n const { onConfirm, onClose } = this.props;\n const { selectedFieldCode } = this.state;\n onConfirm(selectedFieldCode);\n onClose();\n };\n\n onReject = () => {\n const { onReject, onClose } = this.props;\n if (onReject) {\n onReject();\n } else {\n onClose();\n }\n };\n\n drawDiv = (className, content, content2) => (\n <div className={className}>\n <span>{content}</span>\n <span>{content2}</span>\n </div>\n );\n\n drawLabel = (className, label, value) => (\n <div className={className}>\n <span className=\"label\">{label}</span>\n <span className=\"value\">{value}</span>\n </div>\n );\n\n handleElementClick = (e, selectedFieldCode) => {\n if (e.key && e.key !== ' ') {\n return;\n }\n const { selectedFieldCode: fCode } = this.state;\n const { disableDoubleClick } = this.props;\n if (selectedFieldCode === fCode && !disableDoubleClick) {\n this.onConfirm();\n return;\n }\n this.setState({\n selectedFieldCode,\n });\n const { onSelect } = this.props;\n if (onSelect) {\n onSelect(selectedFieldCode);\n }\n };\n\n preventSpacebarScroll = () => {\n document.onkeypress = function (e) {\n if (!includes(e.target.className, elementClassName)) {\n return true;\n }\n e = e || window.event;\n const charCode = e.keyCode || e.which;\n if (charCode === 32) {\n e.preventDefault();\n return false;\n }\n return true;\n };\n };\n\n renderElements = () => {\n const { customFields } = this.props;\n if (!customFields) {\n return 'Empty';\n }\n const { selectedFieldCode } = this.state;\n return customFields.map((customField, idx) => {\n const extras = {};\n const fieldCode = getFieldCode(customField);\n if (this.focusFirst && idx === 0) {\n extras.ref = (element) => element && element.focus();\n this.focusFirst = undefined;\n } else if (fieldCode === selectedFieldCode) {\n extras.ref = (element) => element && element.focus();\n }\n return (\n <div\n key={fieldCode}\n className={elementClassName}\n onClick={(e) => this.handleElementClick(e, fieldCode)}\n onKeyUp={(e) => this.handleElementClick(e, fieldCode)}\n role=\"button\"\n tabIndex={0}\n {...extras}\n >\n {this.drawLabel('content', getFieldName(customField), fieldCode)}\n </div>\n );\n });\n };\n\n render() {\n const { customFields, onSelect, ...modalProps } = this.props;\n return (\n <DSModal {...modalProps} className=\"insert-field-modal\" onConfirm={this.onConfirm} onReject={this.onReject}>\n <div className=\"wrapper\">\n <div className=\"col-1\">\n {this.drawDiv('title', 'Field Name', '\u00AB Field ID \u00BB')}\n {this.renderElements()}\n </div>\n </div>\n </DSModal>\n );\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/TippedButton.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { DSTooltipV3 } from '@elliemae/ds-tooltip';\n\ninterface TippedButtonPropsT {\n tip: string;\n zIndex: number;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n children?: React.ReactNode;\n style?: React.CSSProperties;\n className?: string;\n value?: string;\n}\n\nexport const TippedButton = ({\n className,\n tip,\n children,\n onClick = () => null,\n zIndex = 1,\n ...rest\n}: TippedButtonPropsT): JSX.Element => (\n <div className=\"tooltip\">\n <DSTooltipV3 text={tip} zIndex={zIndex} withoutPortal={false}>\n <button\n type=\"button\"\n className={className}\n onClick={(e) => {\n e.preventDefault();\n onClick(e);\n }}\n {...rest}\n >\n {children}\n </button>\n </DSTooltipV3>\n </div>\n);\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACuBjB;AAtBN,SAAS,mBAAmB;AAYrB,MAAM,eAAe,CAAC;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU,MAAM;AAAA,EAChB,SAAS;AAAA,
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACuBjB;AAtBN,SAAS,mBAAmB;AAYrB,MAAM,eAAe,CAAC;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU,MAAM;AAAA,EAChB,SAAS;AAAA,EACT,GAAG;AACL,MACE,oBAAC,SAAI,WAAU,WACb,8BAAC,eAAY,MAAM,KAAK,QAAgB,eAAe,OACrD;AAAA,EAAC;AAAA;AAAA,IACC,MAAK;AAAA,IACL;AAAA,IACA,SAAS,CAAC,MAAM;AACd,QAAE,eAAe;AACjB,cAAQ,CAAC;AAAA,IACX;AAAA,IACC,GAAG;AAAA,IAEH;AAAA;AACH,GACF,GACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/TippedSelect.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { DSTooltipV3 } from '@elliemae/ds-tooltip';\n\ninterface TippedSelectPropsT {\n tip: string;\n onChange?: (e: React.ChangeEvent<HTMLSelectElement>) => void;\n className?: string;\n options?: string[];\n defaultValue?: string;\n values?: string[];\n zIndex?: number;\n children?: React.ReactNode;\n}\n\nexport const TippedSelect = (props: TippedSelectPropsT): JSX.Element => {\n const { tip, onChange = () => null, className, options, defaultValue = '', values, zIndex, children } = props;\n const fallBackChildren =\n values &&\n values.map((value, index) => (\n <option key={value} value={value === 'normal' ? '' : value}>\n {options ? options[index] : null}\n </option>\n ));\n\n return (\n <div className=\"tooltip\">\n <DSTooltipV3 text={tip} zIndex={zIndex} withoutPortal={false}>\n <div>\n <select\n className={className}\n defaultValue={defaultValue}\n onChange={(e) => {\n e.persist();\n onChange(e);\n }}\n >\n {children || fallBackChildren}\n </select>\n </div>\n </DSTooltipV3>\n </div>\n );\n};\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACmBjB;AAlBN,SAAS,mBAAmB;AAarB,MAAM,eAAe,CAAC,UAA2C;AACtE,QAAM,EAAE,KAAK,WAAW,MAAM,MAAM,WAAW,SAAS,eAAe,IAAI,QAAQ,QAAQ,SAAS,IAAI;AACxG,QAAM,mBACJ,UACA,OAAO,IAAI,CAAC,OAAO,UACjB,oBAAC,YAAmB,OAAO,UAAU,WAAW,KAAK,OAClD,oBAAU,QAAQ,
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACmBjB;AAlBN,SAAS,mBAAmB;AAarB,MAAM,eAAe,CAAC,UAA2C;AACtE,QAAM,EAAE,KAAK,WAAW,MAAM,MAAM,WAAW,SAAS,eAAe,IAAI,QAAQ,QAAQ,SAAS,IAAI;AACxG,QAAM,mBACJ,UACA,OAAO,IAAI,CAAC,OAAO,UACjB,oBAAC,YAAmB,OAAO,UAAU,WAAW,KAAK,OAClD,oBAAU,QAAQ,KAAK,IAAI,QADjB,KAEb,CACD;AAEH,SACE,oBAAC,SAAI,WAAU,WACb,8BAAC,eAAY,MAAM,KAAK,QAAgB,eAAe,OACrD,8BAAC,SACC;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,UAAU,CAAC,MAAM;AACf,UAAE,QAAQ;AACV,iBAAS,CAAC;AAAA,MACZ;AAAA,MAEC,sBAAY;AAAA;AAAA,EACf,GACF,GACF,GACF;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -19,6 +19,7 @@ const fields = [
|
|
|
19
19
|
];
|
|
20
20
|
const getFields = (customFields = fields) => customFields.map((opt, index) => ({
|
|
21
21
|
id: `${opt}_${index}`,
|
|
22
|
+
// icon: 'ADD',
|
|
22
23
|
label: `${opt}`,
|
|
23
24
|
onClick: opt.indexOf("\xAB") !== -1 ? () => (void 0).onOptionClick((void 0).getFieldCode(opt)) : null,
|
|
24
25
|
type: opt === "" ? "separator" : null
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/customFields.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const fields = [\n 'Lender Name \u00AB315\u00BB',\n 'Lender Address \u00AB319\u00BB',\n 'Lender City \u00AB313\u00BB',\n 'Lender State \u00AB321\u00BB',\n 'Lender Zip \u00AB323\u00BB',\n 'Borrower First Name \u00AB4000\u00BB',\n 'Borrower Last Name \u00AB4002\u00BB',\n 'Total Loan Amount \u00AB2\u00BB',\n 'Loan Term \u00AB4\u00BB',\n 'Loan to Value \u00AB976\u00BB',\n 'Monthly Payment \u00AB912\u00BB',\n 'Interest Rate \u00AB3\u00BB',\n 'Loan Originator Name \u00AB1612\u00BB',\n 'Loan Originator Email \u00AB3968\u00BB',\n 'Loan Originator Phone \u00AB1823\u00BB',\n 'NMLS Loan Originator ID \u00AB3238\u00BB',\n];\n/**\n * Returns the fields names\n *\n * @param customFields\n */\nexport const getFields = (customFields = fields) =>\n customFields.map((opt, index) => ({\n id: `${opt}_${index}`,\n // icon: 'ADD',\n label: `${opt}`,\n onClick: opt.indexOf('\u00AB') !== -1 ? () => this.onOptionClick(this.getFieldCode(opt)) : null,\n type: opt === '' ? 'separator' : null,\n }));\n/**\n * Returns a field's name\n *\n * @param field\n */\nexport const getFieldName = (field) => {\n const codeIndex = field.indexOf('\u00AB');\n return field.substring(0, codeIndex);\n};\n/**\n * Returns a field's id. E.g: \u00AB456\u00BB\n *\n * @param field\n */\nexport const getFieldCode = (field) => {\n const codeIndex = field.indexOf('\u00AB');\n return field.substring(codeIndex);\n};\n\nexport default {\n fields,\n getFields,\n getFieldName,\n getFieldCode,\n};\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAhB,MAAM,SAAS;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAMO,MAAM,YAAY,CAAC,eAAe,WACvC,aAAa,IAAI,CAAC,KAAK,WAAW;AAAA,EAChC,IAAI,GAAG,OAAO;AAAA,EAEd,OAAO,GAAG;AAAA,EACV,SAAS,IAAI,QAAQ,MAAG,MAAM,KAAK,MAAM,SAAK,cAAc,SAAK,aAAa,GAAG,CAAC,IAAI;AAAA,EACtF,MAAM,QAAQ,KAAK,cAAc;AACnC,EAAE;AAMG,MAAM,eAAe,CAAC,UAAU;AACrC,QAAM,YAAY,MAAM,QAAQ,MAAG;AACnC,SAAO,MAAM,UAAU,GAAG,SAAS;AACrC;AAMO,MAAM,eAAe,CAAC,UAAU;AACrC,QAAM,YAAY,MAAM,QAAQ,MAAG;AACnC,SAAO,MAAM,UAAU,SAAS;AAClC;AAEA,IAAO,uBAAQ;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;",
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAhB,MAAM,SAAS;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAMO,MAAM,YAAY,CAAC,eAAe,WACvC,aAAa,IAAI,CAAC,KAAK,WAAW;AAAA,EAChC,IAAI,GAAG,OAAO;AAAA;AAAA,EAEd,OAAO,GAAG;AAAA,EACV,SAAS,IAAI,QAAQ,MAAG,MAAM,KAAK,MAAM,SAAK,cAAc,SAAK,aAAa,GAAG,CAAC,IAAI;AAAA,EACtF,MAAM,QAAQ,KAAK,cAAc;AACnC,EAAE;AAMG,MAAM,eAAe,CAAC,UAAU;AACrC,QAAM,YAAY,MAAM,QAAQ,MAAG;AACnC,SAAO,MAAM,UAAU,GAAG,SAAS;AACrC;AAMO,MAAM,eAAe,CAAC,UAAU;AACrC,QAAM,YAAY,MAAM,QAAQ,MAAG;AACnC,SAAO,MAAM,UAAU,SAAS;AAClC;AAEA,IAAO,uBAAQ;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/constants.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { getRainbowColors } from "./components/colors";
|
|
2
|
+
import { getRainbowColors } from "./components/colors.js";
|
|
3
3
|
const colors = [
|
|
4
4
|
"#000000",
|
|
5
5
|
"#e60000",
|
|
@@ -48,6 +48,7 @@ const fonts = [
|
|
|
48
48
|
];
|
|
49
49
|
const sizes = ["Small", "Normal", "Large", "Huge"];
|
|
50
50
|
const sizesReal = [
|
|
51
|
+
// https://www.w3schools.com/cssref/pr_font_font-size.asp
|
|
51
52
|
"X-Small",
|
|
52
53
|
"Normal",
|
|
53
54
|
"Large",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/constants.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable prettier/prettier */\nimport { getRainbowColors } from './components/colors';\n\nexport const colors = [\n '#000000',\n '#e60000',\n '#ff9900',\n '#ffff00',\n '#008A00',\n '#0066cc',\n '#9933ff',\n '#ffffff',\n '#facccc',\n '#ffebcc',\n '#ffffcc',\n '#cce8cc',\n '#cce0f5',\n '#ebd6ff',\n '#bbbbbb',\n '#f06666',\n '#ffc266',\n '#ffff66',\n '#66b966',\n '#66a3e0',\n '#c285ff',\n '#888888',\n '#a10000',\n '#b26b00',\n '#b2b200',\n '#006100',\n '#0047b2',\n '#6b24b2',\n '#444444',\n '#5c0000',\n '#663d00',\n '#666600',\n '#003700',\n '#002966',\n '#3d1466',\n ...getRainbowColors(28),\n];\nexport const fonts = [\n 'Sans Serif',\n 'Serif',\n 'Monospace',\n 'Arial',\n 'Georgia',\n 'Helvetica',\n];\nexport const sizes = ['Small', 'Normal', 'Large', 'Huge'];\nexport const sizesReal = [\n // https://www.w3schools.com/cssref/pr_font_font-size.asp\n 'X-Small',\n 'Normal',\n 'Large',\n 'X-Large',\n];\n\nexport const defaultItems = {\n HEADER: 'header',\n FONT: 'font',\n FONT_SIZE: 'size',\n BOLD: 'bold',\n ITALIC: 'italic',\n UNDERLINE: 'underline',\n STRIKE: 'strike',\n SUB: 'sub',\n SUPER: 'super',\n ORDERED_LIST: 'ordered list',\n BULLET_LIST: 'bullet list',\n INDENT_MINUS_ONE: 'indent -1',\n INDENT_PLUS_ONE: 'indent +1',\n ALIGN: 'align',\n FONT_COLOR: 'font color',\n FONT_BACKGROUND_COLOR: 'font background color',\n HYPERLINK: 'hyperlink',\n IMAGE: 'image',\n CLEAR_FORMAT: 'clear format',\n SHOW_HTML: 'show html',\n};\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACCvB,SAAS,wBAAwB;AAE1B,MAAM,SAAS;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG,iBAAiB,EAAE;AACxB;AACO,MAAM,QAAQ;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACO,MAAM,QAAQ,CAAC,SAAS,UAAU,SAAS,MAAM;AACjD,MAAM,YAAY;AAAA,EAEvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,MAAM,eAAe;AAAA,EAC1B,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,WAAW;AAAA,EACX,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,OAAO;AAAA,EACP,cAAc;AAAA,EACd,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,uBAAuB;AAAA,EACvB,WAAW;AAAA,EACX,OAAO;AAAA,EACP,cAAc;AAAA,EACd,WAAW;AACb;",
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable prettier/prettier */\nimport { getRainbowColors } from './components/colors.js';\n\nexport const colors = [\n '#000000',\n '#e60000',\n '#ff9900',\n '#ffff00',\n '#008A00',\n '#0066cc',\n '#9933ff',\n '#ffffff',\n '#facccc',\n '#ffebcc',\n '#ffffcc',\n '#cce8cc',\n '#cce0f5',\n '#ebd6ff',\n '#bbbbbb',\n '#f06666',\n '#ffc266',\n '#ffff66',\n '#66b966',\n '#66a3e0',\n '#c285ff',\n '#888888',\n '#a10000',\n '#b26b00',\n '#b2b200',\n '#006100',\n '#0047b2',\n '#6b24b2',\n '#444444',\n '#5c0000',\n '#663d00',\n '#666600',\n '#003700',\n '#002966',\n '#3d1466',\n ...getRainbowColors(28),\n];\nexport const fonts = [\n 'Sans Serif',\n 'Serif',\n 'Monospace',\n 'Arial',\n 'Georgia',\n 'Helvetica',\n];\nexport const sizes = ['Small', 'Normal', 'Large', 'Huge'];\nexport const sizesReal = [\n // https://www.w3schools.com/cssref/pr_font_font-size.asp\n 'X-Small',\n 'Normal',\n 'Large',\n 'X-Large',\n];\n\nexport const defaultItems = {\n HEADER: 'header',\n FONT: 'font',\n FONT_SIZE: 'size',\n BOLD: 'bold',\n ITALIC: 'italic',\n UNDERLINE: 'underline',\n STRIKE: 'strike',\n SUB: 'sub',\n SUPER: 'super',\n ORDERED_LIST: 'ordered list',\n BULLET_LIST: 'bullet list',\n INDENT_MINUS_ONE: 'indent -1',\n INDENT_PLUS_ONE: 'indent +1',\n ALIGN: 'align',\n FONT_COLOR: 'font color',\n FONT_BACKGROUND_COLOR: 'font background color',\n HYPERLINK: 'hyperlink',\n IMAGE: 'image',\n CLEAR_FORMAT: 'clear format',\n SHOW_HTML: 'show html',\n};\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACCvB,SAAS,wBAAwB;AAE1B,MAAM,SAAS;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG,iBAAiB,EAAE;AACxB;AACO,MAAM,QAAQ;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACO,MAAM,QAAQ,CAAC,SAAS,UAAU,SAAS,MAAM;AACjD,MAAM,YAAY;AAAA;AAAA,EAEvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,MAAM,eAAe;AAAA,EAC1B,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,WAAW;AAAA,EACX,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,OAAO;AAAA,EACP,cAAc;AAAA,EACd,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,uBAAuB;AAAA,EACvB,WAAW;AAAA,EACX,OAAO;AAAA,EACP,cAAc;AAAA,EACd,WAAW;AACb;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { default as default2, DSWYSIWYGEditor, WYSIWYWithSchema } from "./DSWYSIWYGEditor";
|
|
3
|
-
export * from "./components/CustomToolbar";
|
|
4
|
-
export * from "./components/CustomImageUploader";
|
|
5
|
-
export * from "./constants";
|
|
2
|
+
import { default as default2, DSWYSIWYGEditor, WYSIWYWithSchema } from "./DSWYSIWYGEditor.js";
|
|
3
|
+
export * from "./components/CustomToolbar.js";
|
|
4
|
+
export * from "./components/CustomImageUploader.js";
|
|
5
|
+
export * from "./constants.js";
|
|
6
6
|
export {
|
|
7
7
|
DSWYSIWYGEditor,
|
|
8
8
|
WYSIWYWithSchema,
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { default, DSWYSIWYGEditor, WYSIWYWithSchema } from './DSWYSIWYGEditor';\nexport * from './components/CustomToolbar';\nexport * from './components/CustomImageUploader';\nexport * from './constants';\n"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { default, DSWYSIWYGEditor, WYSIWYWithSchema } from './DSWYSIWYGEditor.js';\nexport * from './components/CustomToolbar.js';\nexport * from './components/CustomImageUploader.js';\nexport * from './constants.js';\n"],
|
|
5
5
|
"mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,WAAAA,UAAS,iBAAiB,wBAAwB;AAC3D,cAAc;AACd,cAAc;AACd,cAAc;",
|
|
6
6
|
"names": ["default"]
|
|
7
7
|
}
|
|
@@ -27,11 +27,11 @@ class Image extends BaseImage {
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
sanitize_style(style) {
|
|
30
|
-
|
|
30
|
+
const style_arr = style.split(";");
|
|
31
31
|
let allow_style = "";
|
|
32
32
|
style_arr.forEach((v, i) => {
|
|
33
33
|
if (WHITE_STYLE.indexOf(v.trim().split(":")[0]) !== -1) {
|
|
34
|
-
allow_style += v
|
|
34
|
+
allow_style += `${v};`;
|
|
35
35
|
}
|
|
36
36
|
});
|
|
37
37
|
return allow_style;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/quillOverrides/Image.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { Quill } from 'react-quill';\nconst BaseImage = Quill.import('formats/image');\n\nconst ATTRIBUTES = ['alt', 'height', 'width', 'style'];\n\nconst WHITE_STYLE = ['margin', 'display', 'float'];\n\nclass Image extends BaseImage {\n static formats(domNode) {\n return ATTRIBUTES.reduce(function (formats, attribute) {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n return formats;\n }, {});\n }\n\n format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n if (name === 'style') {\n value = this.sanitize_style(value);\n }\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n super.format(name, value);\n }\n }\n\n sanitize_style(style) {\n
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,aAAa;AACtB,MAAM,YAAY,MAAM,OAAO,eAAe;AAE9C,MAAM,aAAa,CAAC,OAAO,UAAU,SAAS,OAAO;AAErD,MAAM,cAAc,CAAC,UAAU,WAAW,OAAO;AAEjD,MAAM,cAAc,UAAU;AAAA,EAC5B,OAAO,QAAQ,SAAS;AACtB,WAAO,WAAW,OAAO,SAAU,SAAS,WAAW;AACrD,UAAI,QAAQ,aAAa,SAAS,GAAG;AACnC,gBAAQ,
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { Quill } from 'react-quill';\nconst BaseImage = Quill.import('formats/image');\n\nconst ATTRIBUTES = ['alt', 'height', 'width', 'style'];\n\nconst WHITE_STYLE = ['margin', 'display', 'float'];\n\nclass Image extends BaseImage {\n static formats(domNode) {\n return ATTRIBUTES.reduce(function (formats, attribute) {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n return formats;\n }, {});\n }\n\n format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n if (name === 'style') {\n value = this.sanitize_style(value);\n }\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n super.format(name, value);\n }\n }\n\n sanitize_style(style) {\n const style_arr = style.split(';');\n let allow_style = '';\n style_arr.forEach((v, i) => {\n if (WHITE_STYLE.indexOf(v.trim().split(':')[0]) !== -1) {\n allow_style += `${v};`;\n }\n });\n return allow_style;\n }\n}\n\nexport default Image;\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,aAAa;AACtB,MAAM,YAAY,MAAM,OAAO,eAAe;AAE9C,MAAM,aAAa,CAAC,OAAO,UAAU,SAAS,OAAO;AAErD,MAAM,cAAc,CAAC,UAAU,WAAW,OAAO;AAEjD,MAAM,cAAc,UAAU;AAAA,EAC5B,OAAO,QAAQ,SAAS;AACtB,WAAO,WAAW,OAAO,SAAU,SAAS,WAAW;AACrD,UAAI,QAAQ,aAAa,SAAS,GAAG;AACnC,gBAAQ,SAAS,IAAI,QAAQ,aAAa,SAAS;AAAA,MACrD;AACA,aAAO;AAAA,IACT,GAAG,CAAC,CAAC;AAAA,EACP;AAAA,EAEA,OAAO,MAAM,OAAO;AAClB,QAAI,WAAW,QAAQ,IAAI,IAAI,IAAI;AACjC,UAAI,OAAO;AACT,YAAI,SAAS,SAAS;AACpB,kBAAQ,KAAK,eAAe,KAAK;AAAA,QACnC;AACA,aAAK,QAAQ,aAAa,MAAM,KAAK;AAAA,MACvC,OAAO;AACL,aAAK,QAAQ,gBAAgB,IAAI;AAAA,MACnC;AAAA,IACF,OAAO;AACL,YAAM,OAAO,MAAM,KAAK;AAAA,IAC1B;AAAA,EACF;AAAA,EAEA,eAAe,OAAO;AACpB,UAAM,YAAY,MAAM,MAAM,GAAG;AACjC,QAAI,cAAc;AAClB,cAAU,QAAQ,CAAC,GAAG,MAAM;AAC1B,UAAI,YAAY,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,MAAM,IAAI;AACtD,uBAAe,GAAG;AAAA,MACpB;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AACF;AAEA,IAAO,gBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/quillOverrides/IndentStyle.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { Quill } from 'react-quill';\n\nconst Parchment = Quill.import('parchment');\nconst levels = [1, 2, 3, 4, 5];\nconst multiplier = 2;\n\nclass IndentAttributor extends Parchment.Attributor.Style {\n add(node, value) {\n return super.add(node, `${value * multiplier}em`);\n }\n\n value(node) {\n return parseFloat(super.value(node)) / multiplier || undefined; // Don't return NaN\n }\n}\n\n/**\n * Meant to override quill's indent format's style and add the indentation inline instead of applying a class\n */\nconst IndentStyle = new IndentAttributor('indent', 'margin-left', {\n scope: Parchment.Scope.BLOCK,\n whitelist: levels.map(value => `${value * multiplier}em`),\n});\n\nexport default IndentStyle;\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,aAAa;AAEtB,MAAM,YAAY,MAAM,OAAO,WAAW;AAC1C,MAAM,SAAS,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;AAC7B,MAAM,aAAa;AAEnB,MAAM,yBAAyB,UAAU,WAAW,MAAM;AAAA,EACxD,IAAI,MAAM,OAAO;AACf,WAAO,MAAM,IAAI,MAAM,GAAG,QAAQ,cAAc;AAAA,EAClD;AAAA,EAEA,MAAM,MAAM;AACV,WAAO,WAAW,MAAM,MAAM,IAAI,CAAC,IAAI,cAAc;AAAA,EACvD;AACF;AAKA,MAAM,cAAc,IAAI,iBAAiB,UAAU,eAAe;AAAA,EAChE,OAAO,UAAU,MAAM;AAAA,EACvB,WAAW,OAAO,IAAI,
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { Quill } from 'react-quill';\n\nconst Parchment = Quill.import('parchment');\nconst levels = [1, 2, 3, 4, 5];\nconst multiplier = 2;\n\nclass IndentAttributor extends Parchment.Attributor.Style {\n add(node, value) {\n return super.add(node, `${value * multiplier}em`);\n }\n\n value(node) {\n return parseFloat(super.value(node)) / multiplier || undefined; // Don't return NaN\n }\n}\n\n/**\n * Meant to override quill's indent format's style and add the indentation inline instead of applying a class\n */\nconst IndentStyle = new IndentAttributor('indent', 'margin-left', {\n scope: Parchment.Scope.BLOCK,\n whitelist: levels.map((value) => `${value * multiplier}em`),\n});\n\nexport default IndentStyle;\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,aAAa;AAEtB,MAAM,YAAY,MAAM,OAAO,WAAW;AAC1C,MAAM,SAAS,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;AAC7B,MAAM,aAAa;AAEnB,MAAM,yBAAyB,UAAU,WAAW,MAAM;AAAA,EACxD,IAAI,MAAM,OAAO;AACf,WAAO,MAAM,IAAI,MAAM,GAAG,QAAQ,cAAc;AAAA,EAClD;AAAA,EAEA,MAAM,MAAM;AACV,WAAO,WAAW,MAAM,MAAM,IAAI,CAAC,IAAI,cAAc;AAAA,EACvD;AACF;AAKA,MAAM,cAAc,IAAI,iBAAiB,UAAU,eAAe;AAAA,EAChE,OAAO,UAAU,MAAM;AAAA,EACvB,WAAW,OAAO,IAAI,CAAC,UAAU,GAAG,QAAQ,cAAc;AAC5D,CAAC;AAED,IAAO,sBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
declare const DSWYSIWYGEditor: {
|
|
2
3
|
({ value, onChange, getQuillRef, quillModules, customToolbar, toolbarHandlers, showRawHTML, height, hideItems, ...rest }: {
|
|
3
4
|
[x: string]: any;
|
|
@@ -12,21 +13,21 @@ declare const DSWYSIWYGEditor: {
|
|
|
12
13
|
hideItems: any;
|
|
13
14
|
}): JSX.Element;
|
|
14
15
|
propTypes: {
|
|
15
|
-
value: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
16
|
-
onChange: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
17
|
-
getQuillRef: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
18
|
-
quillModules: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
19
|
-
customToolbar: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
20
|
-
toolbarHandlers: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
21
|
-
showRawHTML: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
22
|
-
height: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
23
|
-
readOnly: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
24
|
-
hideItems: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
25
|
-
zIndex: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
16
|
+
value: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
|
|
17
|
+
onChange: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
|
|
18
|
+
getQuillRef: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
|
|
19
|
+
quillModules: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
|
|
20
|
+
customToolbar: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
|
|
21
|
+
toolbarHandlers: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
|
|
22
|
+
showRawHTML: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
|
|
23
|
+
height: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
|
|
24
|
+
readOnly: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
|
|
25
|
+
hideItems: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
|
|
26
|
+
zIndex: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
|
|
26
27
|
};
|
|
27
28
|
displayName: string;
|
|
28
29
|
};
|
|
29
|
-
declare const WYSIWYWithSchema: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").DocumentedReactComponent<{
|
|
30
|
+
declare const WYSIWYWithSchema: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").DocumentedReactComponent<{
|
|
30
31
|
[x: string]: any;
|
|
31
32
|
value?: string | undefined;
|
|
32
33
|
onChange?: (() => null) | undefined;
|
|
@@ -21,7 +21,7 @@ export default class InsertFieldModal extends React.PureComponent {
|
|
|
21
21
|
disableDoubleClick: boolean;
|
|
22
22
|
isOpen: boolean;
|
|
23
23
|
modalTitle: string;
|
|
24
|
-
modalType:
|
|
24
|
+
modalType: unknown;
|
|
25
25
|
rejectLabel: string;
|
|
26
26
|
shouldCloseOnOverlayClick: boolean;
|
|
27
27
|
size: string;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { default, DSWYSIWYGEditor, WYSIWYWithSchema } from './DSWYSIWYGEditor';
|
|
2
|
-
export * from './components/CustomToolbar';
|
|
3
|
-
export * from './components/CustomImageUploader';
|
|
4
|
-
export * from './constants';
|
|
1
|
+
export { default, DSWYSIWYGEditor, WYSIWYWithSchema } from './DSWYSIWYGEditor.js';
|
|
2
|
+
export * from './components/CustomToolbar.js';
|
|
3
|
+
export * from './components/CustomImageUploader.js';
|
|
4
|
+
export * from './constants.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-wysiwygeditor",
|
|
3
|
-
"version": "3.16.
|
|
3
|
+
"version": "3.16.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - WYSIWYG Editor",
|
|
6
6
|
"files": [
|
|
@@ -102,16 +102,16 @@
|
|
|
102
102
|
"prop-types": "~15.8.1",
|
|
103
103
|
"quill-blot-formatter": "~1.0.5",
|
|
104
104
|
"react-quill": "2.0.0-beta.2",
|
|
105
|
-
"@elliemae/ds-button": "3.16.
|
|
106
|
-
"@elliemae/ds-
|
|
107
|
-
"@elliemae/ds-
|
|
108
|
-
"@elliemae/ds-imagelibrarymodal": "3.16.
|
|
109
|
-
"@elliemae/ds-modal": "3.16.
|
|
110
|
-
"@elliemae/ds-
|
|
111
|
-
"@elliemae/ds-shared": "3.16.
|
|
112
|
-
"@elliemae/ds-
|
|
113
|
-
"@elliemae/ds-
|
|
114
|
-
"@elliemae/ds-
|
|
105
|
+
"@elliemae/ds-button": "3.16.1",
|
|
106
|
+
"@elliemae/ds-dropdownmenu": "3.16.1",
|
|
107
|
+
"@elliemae/ds-icons": "3.16.1",
|
|
108
|
+
"@elliemae/ds-imagelibrarymodal": "3.16.1",
|
|
109
|
+
"@elliemae/ds-modal": "3.16.1",
|
|
110
|
+
"@elliemae/ds-props-helpers": "3.16.1",
|
|
111
|
+
"@elliemae/ds-shared": "3.16.1",
|
|
112
|
+
"@elliemae/ds-tooltip": "3.16.1",
|
|
113
|
+
"@elliemae/ds-uploader": "3.16.1",
|
|
114
|
+
"@elliemae/ds-utilities": "3.16.1"
|
|
115
115
|
},
|
|
116
116
|
"devDependencies": {
|
|
117
117
|
"quill-delta": "5.0.0"
|
|
@@ -129,7 +129,7 @@
|
|
|
129
129
|
"dev": "cross-env NODE_ENV=development node ../../scripts/build/build.mjs --watch",
|
|
130
130
|
"test": "node ../../scripts/testing/test.mjs",
|
|
131
131
|
"lint": "node ../../scripts/lint.mjs",
|
|
132
|
-
"eslint:fix": "
|
|
132
|
+
"eslint:fix": "eslint --ext='.js,.jsx,.test.js,.ts,.tsx' --fix --config='../../.eslintrc.js' src/",
|
|
133
133
|
"dts": "node ../../scripts/dts.mjs",
|
|
134
134
|
"build": "cross-env NODE_ENV=production node ../../scripts/build/build.mjs",
|
|
135
135
|
"dev:build": "pnpm --filter {.}... build",
|