@elliemae/ds-wysiwygeditor 1.61.12 → 1.61.13
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/cjs/DSWYSIWYGEditor.js.map +1 -1
- package/cjs/components/CustomImageUploader.js.map +1 -1
- package/cjs/components/CustomToolbar.js.map +1 -1
- package/cjs/components/DSWYSIWYGEditorImpl.js.map +1 -1
- package/cjs/components/ImageLibraryModal.js.map +1 -1
- package/cjs/components/InsertFieldModal.js.map +1 -1
- package/cjs/components/TippedButton.js.map +1 -1
- package/cjs/components/TippedSelect.js.map +1 -1
- package/cjs/components/colors.js.map +1 -1
- package/cjs/components/customFields.js.map +1 -1
- package/cjs/constants.js.map +1 -1
- package/cjs/quillMatchers/clipboardLinkWithTagMatcher.js.map +1 -1
- package/cjs/quillOverrides/IndentStyle.js.map +1 -1
- package/cjs/quillOverrides/LinkFormat.js.map +1 -1
- package/cjs/quillOverrides/PlainClipboard.js.map +1 -1
- package/cjs/utils.js.map +1 -1
- package/esm/DSWYSIWYGEditor.js.map +1 -1
- package/esm/components/CustomImageUploader.js.map +1 -1
- package/esm/components/CustomToolbar.js.map +1 -1
- package/esm/components/DSWYSIWYGEditorImpl.js.map +1 -1
- package/esm/components/ImageLibraryModal.js.map +1 -1
- package/esm/components/InsertFieldModal.js.map +1 -1
- package/esm/components/TippedButton.js.map +1 -1
- package/esm/components/TippedSelect.js.map +1 -1
- package/esm/components/colors.js.map +1 -1
- package/esm/components/customFields.js.map +1 -1
- package/esm/constants.js.map +1 -1
- package/esm/quillMatchers/clipboardLinkWithTagMatcher.js.map +1 -1
- package/esm/quillOverrides/IndentStyle.js.map +1 -1
- package/esm/quillOverrides/LinkFormat.js.map +1 -1
- package/esm/quillOverrides/PlainClipboard.js.map +1 -1
- package/esm/utils.js.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DSWYSIWYGEditor.js","sources":["../../src/DSWYSIWYGEditor.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport DSWYSIWYGEditorImpl from './components/DSWYSIWYGEditorImpl';\n\nconst DSWYSIWYGEditor = ({\n value = '',\n onChange = () => null,\n getQuillRef = () => null,\n quillModules = {},\n customToolbar,\n toolbarHandlers,\n showRawHTML = false,\n height,\n hideItems,\n ...rest\n}) => {\n const emptyAction = () => {};\n const [showHTML, setShowHTML] = useState(showRawHTML);\n\n useEffect(() => setShowHTML(showRawHTML), [showRawHTML]);\n\n return (\n <DSWYSIWYGEditorImpl\n forceHttpLink\n handleCustomFieldClick={emptyAction}\n handleImageClick={emptyAction}\n quillOverrides={[]}\n value={value}\n onChange={onChange}\n getQuillRef={getQuillRef}\n quillModules={quillModules}\n customToolbar={customToolbar}\n toolbarHandlers={toolbarHandlers}\n showRawHTML={showHTML}\n onShowHTML={() => setShowHTML(!showHTML)}\n height={height}\n hideItems={hideItems}\n {...rest}\n />\n );\n};\n\nconst wysiwygEditorProps = {\n value: PropTypes.string.description('editors value').isRequired,\n onChange: PropTypes.func.description(\n `(content, delta, source, editor) : Called back with the new contents of the editor after change. \n It will be passed the HTML contents of the editor, a delta object expressing the change, the source of the change, and finally a read-only proxy to editor accessors such as getHTML(). \n ⚠️ Do not use this delta object as value, as it will cause a loop. \n Use editor.getContents() instead. See Using Deltas for details. \n Read more: https://github.com/zenoamaro/react-quill#props`,\n ).isRequired,\n getQuillRef: PropTypes.func.description('function to use quill.js ref'),\n quillModules: PropTypes.object.description('object to override quill modules'),\n customToolbar: PropTypes.element.description('custom toolbar'),\n toolbarHandlers: PropTypes.object.description('object with toolbar handlers'),\n showRawHTML: PropTypes.bool.description('whether to display html view or not').defaultValue(false),\n height: PropTypes.string.description('heigth of the editors text area'),\n readOnly: PropTypes.string.description(\n \"If true, the editor won't allow changing its contents. Wraps the Quill disable API.\",\n ),\n hideItems: PropTypes.object.description('object of defaultItems to be removed from toolbar').defaultValue({}),\n zIndex: PropTypes.number.description(\n 'zIndex to be used (required when used in a modal for correct tooltips displaying)',\n ),\n};\n\nDSWYSIWYGEditor.propTypes = wysiwygEditorProps;\n\nconst WYSIWYWithSchema = describe(DSWYSIWYGEditor);\nWYSIWYWithSchema.propTypes = wysiwygEditorProps;\n\nexport { WYSIWYWithSchema };\nexport default DSWYSIWYGEditor;\n"],"names":["DSWYSIWYGEditor","value","onChange","getQuillRef","quillModules","customToolbar","toolbarHandlers","showRawHTML","height","hideItems","rest","emptyAction","useState","showHTML","setShowHTML","useEffect","React","DSWYSIWYGEditorImpl","wysiwygEditorProps","PropTypes","string","description","isRequired","func","object","element","bool","defaultValue","readOnly","zIndex","number","propTypes","WYSIWYWithSchema","describe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIMA,eAAe,GAAG,SAAlBA,eAAkB,OAWlB;
|
|
1
|
+
{"version":3,"file":"DSWYSIWYGEditor.js","sources":["../../src/DSWYSIWYGEditor.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport DSWYSIWYGEditorImpl from './components/DSWYSIWYGEditorImpl';\n\nconst DSWYSIWYGEditor = ({\n value = '',\n onChange = () => null,\n getQuillRef = () => null,\n quillModules = {},\n customToolbar,\n toolbarHandlers,\n showRawHTML = false,\n height,\n hideItems,\n ...rest\n}) => {\n const emptyAction = () => {};\n const [showHTML, setShowHTML] = useState(showRawHTML);\n\n useEffect(() => setShowHTML(showRawHTML), [showRawHTML]);\n\n return (\n <DSWYSIWYGEditorImpl\n forceHttpLink\n handleCustomFieldClick={emptyAction}\n handleImageClick={emptyAction}\n quillOverrides={[]}\n value={value}\n onChange={onChange}\n getQuillRef={getQuillRef}\n quillModules={quillModules}\n customToolbar={customToolbar}\n toolbarHandlers={toolbarHandlers}\n showRawHTML={showHTML}\n onShowHTML={() => setShowHTML(!showHTML)}\n height={height}\n hideItems={hideItems}\n {...rest}\n />\n );\n};\n\nconst wysiwygEditorProps = {\n value: PropTypes.string.description('editors value').isRequired,\n onChange: PropTypes.func.description(\n `(content, delta, source, editor) : Called back with the new contents of the editor after change. \n It will be passed the HTML contents of the editor, a delta object expressing the change, the source of the change, and finally a read-only proxy to editor accessors such as getHTML(). \n ⚠️ Do not use this delta object as value, as it will cause a loop. \n Use editor.getContents() instead. See Using Deltas for details. \n Read more: https://github.com/zenoamaro/react-quill#props`,\n ).isRequired,\n getQuillRef: PropTypes.func.description('function to use quill.js ref'),\n quillModules: PropTypes.object.description('object to override quill modules'),\n customToolbar: PropTypes.element.description('custom toolbar'),\n toolbarHandlers: PropTypes.object.description('object with toolbar handlers'),\n showRawHTML: PropTypes.bool.description('whether to display html view or not').defaultValue(false),\n height: PropTypes.string.description('heigth of the editors text area'),\n readOnly: PropTypes.string.description(\n \"If true, the editor won't allow changing its contents. Wraps the Quill disable API.\",\n ),\n hideItems: PropTypes.object.description('object of defaultItems to be removed from toolbar').defaultValue({}),\n zIndex: PropTypes.number.description(\n 'zIndex to be used (required when used in a modal for correct tooltips displaying)',\n ),\n};\n\nDSWYSIWYGEditor.propTypes = wysiwygEditorProps;\n\nconst WYSIWYWithSchema = describe(DSWYSIWYGEditor);\nWYSIWYWithSchema.propTypes = wysiwygEditorProps;\n\nexport { WYSIWYWithSchema };\nexport default DSWYSIWYGEditor;\n"],"names":["DSWYSIWYGEditor","value","onChange","getQuillRef","quillModules","customToolbar","toolbarHandlers","showRawHTML","height","hideItems","rest","emptyAction","useState","showHTML","setShowHTML","useEffect","React","DSWYSIWYGEditorImpl","wysiwygEditorProps","PropTypes","string","description","isRequired","func","object","element","bool","defaultValue","readOnly","zIndex","number","propTypes","WYSIWYWithSchema","describe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIMA,eAAe,GAAG,SAAlBA,eAAkB,OAWlB;EAAA,sBAVJC,KAUI;MAVJA,KAUI,2BAVI,EAUJ;2BATJC,QASI;MATJA,QASI,8BATO;IAAA,OAAM,IAAN;GASP;8BARJC,WAQI;MARJA,WAQI,iCARU;IAAA,OAAM,IAAN;GAQV;+BAPJC,YAOI;MAPJA,YAOI,kCAPW,EAOX;MANJC,aAMI,QANJA,aAMI;MALJC,eAKI,QALJA,eAKI;8BAJJC,WAII;MAJJA,WAII,iCAJU,KAIV;MAHJC,MAGI,QAHJA,MAGI;MAFJC,SAEI,QAFJA,SAEI;MADDC,IACC;;EACJ,IAAMC,WAAW,GAAG,SAAdA,WAAc,GAAM,EAA1B;;EACA,gBAAgCC,cAAQ,CAACL,WAAD,CAAxC;;MAAOM,QAAP;MAAiBC,WAAjB;;EAEAC,eAAS,CAAC;IAAA,OAAMD,WAAW,CAACP,WAAD,CAAjB;GAAD,EAAiC,CAACA,WAAD,CAAjC,CAAT;EAEA,oBACES,wCAACC,8BAAD;IACE,aAAa,MADf;IAEE,sBAAsB,EAAEN,WAF1B;IAGE,gBAAgB,EAAEA,WAHpB;IAIE,cAAc,EAAE,EAJlB;IAKE,KAAK,EAAEV,KALT;IAME,QAAQ,EAAEC,QANZ;IAOE,WAAW,EAAEC,WAPf;IAQE,YAAY,EAAEC,YARhB;IASE,aAAa,EAAEC,aATjB;IAUE,eAAe,EAAEC,eAVnB;IAWE,WAAW,EAAEO,QAXf;IAYE,UAAU,EAAE;MAAA,OAAMC,WAAW,CAAC,CAACD,QAAF,CAAjB;KAZd;IAaE,MAAM,EAAEL,MAbV;IAcE,SAAS,EAAEC;KACPC,IAfN,EADF;AAmBD;;AAED,IAAMQ,kBAAkB,GAAG;EACzBjB,KAAK,EAAEkB,mBAAS,CAACC,MAAV,CAAiBC,WAAjB,CAA6B,eAA7B,EAA8CC,UAD5B;EAEzBpB,QAAQ,EAAEiB,mBAAS,CAACI,IAAV,CAAeF,WAAf,4fAMRC,UARuB;EASzBnB,WAAW,EAAEgB,mBAAS,CAACI,IAAV,CAAeF,WAAf,CAA2B,8BAA3B,CATY;EAUzBjB,YAAY,EAAEe,mBAAS,CAACK,MAAV,CAAiBH,WAAjB,CAA6B,kCAA7B,CAVW;EAWzBhB,aAAa,EAAEc,mBAAS,CAACM,OAAV,CAAkBJ,WAAlB,CAA8B,gBAA9B,CAXU;EAYzBf,eAAe,EAAEa,mBAAS,CAACK,MAAV,CAAiBH,WAAjB,CAA6B,8BAA7B,CAZQ;EAazBd,WAAW,EAAEY,mBAAS,CAACO,IAAV,CAAeL,WAAf,CAA2B,qCAA3B,EAAkEM,YAAlE,CAA+E,KAA/E,CAbY;EAczBnB,MAAM,EAAEW,mBAAS,CAACC,MAAV,CAAiBC,WAAjB,CAA6B,iCAA7B,CAdiB;EAezBO,QAAQ,EAAET,mBAAS,CAACC,MAAV,CAAiBC,WAAjB,CACR,qFADQ,CAfe;EAkBzBZ,SAAS,EAAEU,mBAAS,CAACK,MAAV,CAAiBH,WAAjB,CAA6B,mDAA7B,EAAkFM,YAAlF,CAA+F,EAA/F,CAlBc;EAmBzBE,MAAM,EAAEV,mBAAS,CAACW,MAAV,CAAiBT,WAAjB,CACN,mFADM;AAnBiB,CAA3B;AAwBArB,eAAe,CAAC+B,SAAhB,GAA4Bb,kBAA5B;IAEMc,gBAAgB,GAAGC,kBAAQ,CAACjC,eAAD;AACjCgC,gBAAgB,CAACD,SAAjB,GAA6Bb,kBAA7B;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomImageUploader.js","sources":["../../../src/components/CustomImageUploader.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable react/prop-types */\nimport React, { useState } from 'react';\nimport { Image } from '@elliemae/ds-icons';\nimport DSUploader from '@elliemae/ds-uploader';\nimport DSModal, { MODAL_TYPE_V2 } from '@elliemae/ds-modal';\nimport { TippedButton } from './TippedButton';\n\nconst ALLOWED_TYPES_TEXT = 'JPG, JPEG, PNG, GIF, BMP, TIFF';\nconst ALLOWED_TYPES = /image\\/(jpeg|jpg|png|gif|bmp|tiff)/;\nconst DEFAULT_MAX_SIZE = 1024 * 1024; // 1 MB\n\nexport const CustomImageUploader = ({\n quillRef,\n editorFieldName,\n allowedImageTypes = ALLOWED_TYPES_TEXT,\n uploadAsset = () => null,\n zIndex = 1,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const [error, setError] = useState(null);\n const [inProgress, setInProgress] = useState(false);\n const [lastSelection, setLastSelection] = useState({ index: 0, length: 0 });\n\n const elementId = `uploadImage${editorFieldName}`;\n\n // eslint-disable-next-line consistent-return\n const handleFileChange = async (files) => {\n if (!inProgress) {\n setError(null);\n const selectedFile = files[0];\n if (!selectedFile) {\n setError('Please select a file.');\n return false;\n }\n if (!selectedFile.type.match(ALLOWED_TYPES)) {\n setError('File must be an image.');\n } else if (selectedFile.size > DEFAULT_MAX_SIZE) {\n setError('File is too large.');\n } else {\n const fr = new FileReader();\n fr.onload = async () => {\n setInProgress(true);\n try {\n const url = await uploadAsset({\n name: selectedFile.name,\n type: selectedFile.type,\n description: selectedFile.name,\n isSystemAsset: false,\n file: fr.result,\n });\n setIsOpen(false);\n quillRef?.getEditor().insertEmbed(lastSelection?.index || 0, 'image', url);\n } catch (e) {\n setError('An error has occurred, try again');\n }\n setInProgress(false);\n };\n fr.readAsArrayBuffer(selectedFile);\n }\n }\n };\n return (\n <>\n <TippedButton\n zIndex={zIndex}\n tip=\"Insert Image\"\n onClick={() => {\n setLastSelection(quillRef?.getEditor().getSelection());\n setIsOpen(true);\n }}\n >\n <Image color={['neutral', 500]} size=\"s\" />\n </TippedButton>\n <DSModal\n isOpen={isOpen}\n title=\"\"\n onConfirm={() => {\n setIsOpen(false);\n }}\n onClose={() => {\n setIsOpen(false);\n }}\n showClose\n version={2}\n size=\"xsmall\"\n modalType={MODAL_TYPE_V2.DECISION}\n confirmLabel=\"Cancel\"\n message=\"\"\n >\n {!inProgress && (\n <DSUploader\n containerProps={{ id: elementId }}\n showAltAction={false}\n acceptedTypesText={allowedImageTypes}\n onDrop={handleFileChange}\n />\n )}\n {inProgress && 'Upload in progress...'}\n {error && <div style={{ color: 'red', marginTop: '10px' }}>{error}</div>}\n </DSModal>\n </>\n );\n};\n"],"names":["ALLOWED_TYPES_TEXT","ALLOWED_TYPES","DEFAULT_MAX_SIZE","CustomImageUploader","quillRef","editorFieldName","allowedImageTypes","uploadAsset","zIndex","useState","isOpen","setIsOpen","error","setError","inProgress","setInProgress","index","length","lastSelection","setLastSelection","elementId","handleFileChange","files","selectedFile","type","match","size","fr","FileReader","onload","name","description","isSystemAsset","file","result","url","getEditor","insertEmbed","readAsArrayBuffer","React","TippedButton","getSelection","Image","DSModal","MODAL_TYPE_V2","DECISION","DSUploader","id","color","marginTop"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAUA,IAAMA,kBAAkB,GAAG,gCAA3B;AACA,IAAMC,aAAa,GAAG,oCAAtB;AACA,IAAMC,gBAAgB,GAAG,OAAO,IAAhC;;IAEaC,mBAAmB,GAAG,SAAtBA,mBAAsB,OAM7B;
|
|
1
|
+
{"version":3,"file":"CustomImageUploader.js","sources":["../../../src/components/CustomImageUploader.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable react/prop-types */\nimport React, { useState } from 'react';\nimport { Image } from '@elliemae/ds-icons';\nimport DSUploader from '@elliemae/ds-uploader';\nimport DSModal, { MODAL_TYPE_V2 } from '@elliemae/ds-modal';\nimport { TippedButton } from './TippedButton';\n\nconst ALLOWED_TYPES_TEXT = 'JPG, JPEG, PNG, GIF, BMP, TIFF';\nconst ALLOWED_TYPES = /image\\/(jpeg|jpg|png|gif|bmp|tiff)/;\nconst DEFAULT_MAX_SIZE = 1024 * 1024; // 1 MB\n\nexport const CustomImageUploader = ({\n quillRef,\n editorFieldName,\n allowedImageTypes = ALLOWED_TYPES_TEXT,\n uploadAsset = () => null,\n zIndex = 1,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const [error, setError] = useState(null);\n const [inProgress, setInProgress] = useState(false);\n const [lastSelection, setLastSelection] = useState({ index: 0, length: 0 });\n\n const elementId = `uploadImage${editorFieldName}`;\n\n // eslint-disable-next-line consistent-return\n const handleFileChange = async (files) => {\n if (!inProgress) {\n setError(null);\n const selectedFile = files[0];\n if (!selectedFile) {\n setError('Please select a file.');\n return false;\n }\n if (!selectedFile.type.match(ALLOWED_TYPES)) {\n setError('File must be an image.');\n } else if (selectedFile.size > DEFAULT_MAX_SIZE) {\n setError('File is too large.');\n } else {\n const fr = new FileReader();\n fr.onload = async () => {\n setInProgress(true);\n try {\n const url = await uploadAsset({\n name: selectedFile.name,\n type: selectedFile.type,\n description: selectedFile.name,\n isSystemAsset: false,\n file: fr.result,\n });\n setIsOpen(false);\n quillRef?.getEditor().insertEmbed(lastSelection?.index || 0, 'image', url);\n } catch (e) {\n setError('An error has occurred, try again');\n }\n setInProgress(false);\n };\n fr.readAsArrayBuffer(selectedFile);\n }\n }\n };\n return (\n <>\n <TippedButton\n zIndex={zIndex}\n tip=\"Insert Image\"\n onClick={() => {\n setLastSelection(quillRef?.getEditor().getSelection());\n setIsOpen(true);\n }}\n >\n <Image color={['neutral', 500]} size=\"s\" />\n </TippedButton>\n <DSModal\n isOpen={isOpen}\n title=\"\"\n onConfirm={() => {\n setIsOpen(false);\n }}\n onClose={() => {\n setIsOpen(false);\n }}\n showClose\n version={2}\n size=\"xsmall\"\n modalType={MODAL_TYPE_V2.DECISION}\n confirmLabel=\"Cancel\"\n message=\"\"\n >\n {!inProgress && (\n <DSUploader\n containerProps={{ id: elementId }}\n showAltAction={false}\n acceptedTypesText={allowedImageTypes}\n onDrop={handleFileChange}\n />\n )}\n {inProgress && 'Upload in progress...'}\n {error && <div style={{ color: 'red', marginTop: '10px' }}>{error}</div>}\n </DSModal>\n </>\n );\n};\n"],"names":["ALLOWED_TYPES_TEXT","ALLOWED_TYPES","DEFAULT_MAX_SIZE","CustomImageUploader","quillRef","editorFieldName","allowedImageTypes","uploadAsset","zIndex","useState","isOpen","setIsOpen","error","setError","inProgress","setInProgress","index","length","lastSelection","setLastSelection","elementId","handleFileChange","files","selectedFile","type","match","size","fr","FileReader","onload","name","description","isSystemAsset","file","result","url","getEditor","insertEmbed","readAsArrayBuffer","React","TippedButton","getSelection","Image","DSModal","MODAL_TYPE_V2","DECISION","DSUploader","id","color","marginTop"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomToolbar.js","sources":["../../../src/components/CustomToolbar.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable complexity */\n/* eslint-disable jsx-a11y/control-has-associated-label */\n/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\n/* eslint-disable react/button-has-type */\nimport React, { useState } from 'react';\nimport DSButton from '@elliemae/ds-button';\nimport { ArrowheadDown } from '@elliemae/ds-icons';\nimport DSDropdownMenu from '@elliemae/ds-dropdownmenu';\nimport { colors, fonts, sizes, sizesReal } from '../constants';\nimport { TippedButton } from './TippedButton';\nimport { TippedSelect } from './TippedSelect';\n\n// Functions -----------------------------------------\nconst optionsToValues = (options) => options.map((opt) => opt.toLowerCase().replace(' ', '-'));\n\n// Stateless Components -----------------------------------------\n\nconst CustomFields = () => <span>ᐸᐳ</span>; // eslint-disable-line react/jsx-one-expression-per-line\nconst Color = ({ color }) => <option value={color} />;\nconst Colors = ({ className, tip, zIndex }) => (\n <TippedSelect className={className} tip={tip} zIndex={zIndex}>\n {colors.map((color) => (\n <Color key={color} color={color} />\n ))}\n </TippedSelect>\n);\n\nexport const CustomDropdown = ({\n options,\n label,\n onSelectMenuItem = () => null,\n onClickOutsideMenu = () => null,\n onClose = () => null,\n closeMenuOnItemSelection,\n isOpen,\n minWidth,\n maxWidth,\n zIndex = 10,\n}) => (\n <DSDropdownMenu\n onClickOutsideMenu={onClickOutsideMenu}\n options={options}\n onSelectMenuItem={onSelectMenuItem}\n onClose={onClose}\n closeMenuOnItemSelection={closeMenuOnItemSelection}\n isOpen={isOpen}\n minWidth={minWidth}\n maxWidth={maxWidth}\n zIndex={zIndex}\n preventOverflow=\"scrollParent\"\n triggerComponent={<DSButton labelText={label} buttonType=\"text\" icon={<ArrowheadDown />} />}\n />\n);\n\nconst Divider = () => (\n <div\n style={{\n height: '21px',\n width: '1px',\n margin: '0 10px',\n padding: '0',\n borderLeft: '1px solid #bbb',\n display: 'inline-block',\n }}\n ></div>\n);\n\nexport const CustomToolbar = ({\n customFields,\n customItems = [],\n hideItems = {},\n onShowHTML = () => {},\n id = 'toolbar',\n userProps,\n}) => {\n const {\n HEADER,\n FONT,\n FONT_SIZE,\n BOLD,\n ITALIC,\n UNDERLINE,\n STRIKE,\n SUB,\n SUPER,\n ORDERED_LIST,\n BULLET_LIST,\n INDENT_MINUS_ONE,\n INDENT_PLUS_ONE,\n ALIGN,\n FONT_COLOR,\n FONT_BACKGROUND_COLOR,\n HYPERLINK,\n IMAGE,\n CLEAR_FORMAT,\n SHOW_HTML,\n } = hideItems;\n const [showHTML, setShowHTML] = useState(false);\n\n const handleShowHTML = (e) => {\n e.preventDefault();\n setShowHTML(!showHTML);\n onShowHTML();\n };\n\n return (\n <div id={id} className=\"ds-ql-custom-toolbar\">\n {(!HEADER || !FONT || !FONT_SIZE) && (\n <span className=\"ql-formats\">\n {!HEADER && (\n <>\n <TippedSelect\n className=\"ql-header\"\n tip=\"Header\"\n values={['', '1', '2', '3', '4', '5', '6']}\n zIndex={userProps?.zIndex || 1}\n />\n <Divider />\n </>\n )}\n {!FONT && (\n <>\n <TippedSelect\n className=\"ql-font\"\n defaultValue=\"sans-serif\"\n options={fonts}\n tip=\"Font\"\n values={optionsToValues(fonts)}\n zIndex={userProps?.zIndex || 1}\n />\n <Divider />\n </>\n )}\n {!FONT_SIZE && (\n <>\n <TippedSelect\n className=\"ql-size\"\n options={sizes}\n tip=\"Font Size\"\n values={optionsToValues(sizesReal)}\n zIndex={userProps?.zIndex || 1}\n />\n <Divider />\n </>\n )}\n </span>\n )}\n {(!BOLD || !ITALIC || !UNDERLINE || !STRIKE) && (\n <span className=\"ql-formats\">\n {!BOLD && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-bold\" tip=\"Bold\" />}\n {!ITALIC && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-italic\" tip=\"Italic\" />}\n {!UNDERLINE && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-underline\" tip=\"Underline\" />}\n {!STRIKE && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-strike\" tip=\"Strike\" />}\n </span>\n )}\n {(!SUB || !SUPER) && (\n <span className=\"ql-formats\">\n {!SUB && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-script\" tip=\"Sub\" value=\"sub\" />}\n {!SUPER && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-script\" tip=\"Super\" value=\"super\" />}\n <Divider />\n </span>\n )}\n {(!ORDERED_LIST || !BULLET_LIST) && (\n <span className=\"ql-formats\">\n {!ORDERED_LIST && (\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-list\" tip=\"Ordered List\" value=\"ordered\" />\n )}\n {!BULLET_LIST && (\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-list\" tip=\"Bullet List\" value=\"bullet\" />\n )}\n </span>\n )}\n {(!INDENT_MINUS_ONE || !INDENT_PLUS_ONE) && (\n <span className=\"ql-formats\">\n {!INDENT_MINUS_ONE && (\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-indent\" tip=\"Indent -1\" value=\"-1\" />\n )}\n {!INDENT_PLUS_ONE && (\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-indent\" tip=\"Indent +1\" value=\"+1\" />\n )}\n </span>\n )}\n {!ALIGN && (\n <span className=\"ql-formats\">\n <TippedSelect zIndex={userProps?.zIndex || 1} className=\"ql-align\" tip=\"Align\" />\n <Divider />\n </span>\n )}\n {(!FONT_COLOR || !FONT_BACKGROUND_COLOR) && (\n <span className=\"ql-formats\">\n {!FONT_COLOR && <Colors zIndex={userProps?.zIndex || 1} className=\"ql-color\" tip=\"Font Color\" />}\n {!FONT_BACKGROUND_COLOR && (\n <Colors zIndex={userProps?.zIndex || 1} className=\"ql-background\" tip=\"Font Background Color\" />\n )}\n <Divider />\n </span>\n )}\n {(!HYPERLINK || !IMAGE) && (\n <span className=\"ql-formats\">\n {!HYPERLINK && (\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-link\" tip=\"Hyperlink: Select Text First\" />\n )}\n {!IMAGE && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-image\" tip=\"Insert Image\" />}\n <Divider />\n </span>\n )}\n {!CLEAR_FORMAT && (\n <span className=\"ql-formats\">\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-clean\" tip=\"Clear Format (Select Text)\" />\n </span>\n )}\n {!SHOW_HTML && (\n <span className=\"ql-formats\">\n <Divider />\n <TippedButton\n zIndex={userProps?.zIndex || 1}\n style={{\n width: 'fit-content',\n color: '#1e79c2',\n fontWeight: '500',\n }}\n onClick={handleShowHTML}\n tip={showHTML ? 'SHOW TEXT' : 'SHOW HTML'}\n className=\"ql-customFields-html\"\n >\n {showHTML ? 'SHOW TEXT' : 'SHOW HTML'}\n </TippedButton>\n </span>\n )}\n {customFields && (\n <span className=\"ql-formats\">\n <Divider />\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-customFields\" tip=\"Insert Custom Field\">\n <CustomFields />\n </TippedButton>\n </span>\n )}\n {customItems && (\n <span style={{ display: 'inline-flex' }}>\n {customItems.map((Item) => (\n <>\n <Divider />\n <Item />\n </>\n ))}\n </span>\n )}\n </div>\n );\n};\n"],"names":["optionsToValues","options","map","opt","toLowerCase","replace","CustomFields","React","Color","color","Colors","className","tip","zIndex","TippedSelect","colors","CustomDropdown","label","onSelectMenuItem","onClickOutsideMenu","onClose","closeMenuOnItemSelection","isOpen","minWidth","maxWidth","DSDropdownMenu","DSButton","ArrowheadDown","Divider","height","width","margin","padding","borderLeft","display","CustomToolbar","customFields","customItems","hideItems","onShowHTML","id","userProps","HEADER","FONT","FONT_SIZE","BOLD","ITALIC","UNDERLINE","STRIKE","SUB","SUPER","ORDERED_LIST","BULLET_LIST","INDENT_MINUS_ONE","INDENT_PLUS_ONE","ALIGN","FONT_COLOR","FONT_BACKGROUND_COLOR","HYPERLINK","IMAGE","CLEAR_FORMAT","SHOW_HTML","useState","showHTML","setShowHTML","handleShowHTML","e","preventDefault","fonts","sizes","sizesReal","TippedButton","fontWeight","Item"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CustomToolbar.js","sources":["../../../src/components/CustomToolbar.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable complexity */\n/* eslint-disable jsx-a11y/control-has-associated-label */\n/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\n/* eslint-disable react/button-has-type */\nimport React, { useState } from 'react';\nimport DSButton from '@elliemae/ds-button';\nimport { ArrowheadDown } from '@elliemae/ds-icons';\nimport DSDropdownMenu from '@elliemae/ds-dropdownmenu';\nimport { colors, fonts, sizes, sizesReal } from '../constants';\nimport { TippedButton } from './TippedButton';\nimport { TippedSelect } from './TippedSelect';\n\n// Functions -----------------------------------------\nconst optionsToValues = (options) => options.map((opt) => opt.toLowerCase().replace(' ', '-'));\n\n// Stateless Components -----------------------------------------\n\nconst CustomFields = () => <span>ᐸᐳ</span>; // eslint-disable-line react/jsx-one-expression-per-line\nconst Color = ({ color }) => <option value={color} />;\nconst Colors = ({ className, tip, zIndex }) => (\n <TippedSelect className={className} tip={tip} zIndex={zIndex}>\n {colors.map((color) => (\n <Color key={color} color={color} />\n ))}\n </TippedSelect>\n);\n\nexport const CustomDropdown = ({\n options,\n label,\n onSelectMenuItem = () => null,\n onClickOutsideMenu = () => null,\n onClose = () => null,\n closeMenuOnItemSelection,\n isOpen,\n minWidth,\n maxWidth,\n zIndex = 10,\n}) => (\n <DSDropdownMenu\n onClickOutsideMenu={onClickOutsideMenu}\n options={options}\n onSelectMenuItem={onSelectMenuItem}\n onClose={onClose}\n closeMenuOnItemSelection={closeMenuOnItemSelection}\n isOpen={isOpen}\n minWidth={minWidth}\n maxWidth={maxWidth}\n zIndex={zIndex}\n preventOverflow=\"scrollParent\"\n triggerComponent={<DSButton labelText={label} buttonType=\"text\" icon={<ArrowheadDown />} />}\n />\n);\n\nconst Divider = () => (\n <div\n style={{\n height: '21px',\n width: '1px',\n margin: '0 10px',\n padding: '0',\n borderLeft: '1px solid #bbb',\n display: 'inline-block',\n }}\n ></div>\n);\n\nexport const CustomToolbar = ({\n customFields,\n customItems = [],\n hideItems = {},\n onShowHTML = () => {},\n id = 'toolbar',\n userProps,\n}) => {\n const {\n HEADER,\n FONT,\n FONT_SIZE,\n BOLD,\n ITALIC,\n UNDERLINE,\n STRIKE,\n SUB,\n SUPER,\n ORDERED_LIST,\n BULLET_LIST,\n INDENT_MINUS_ONE,\n INDENT_PLUS_ONE,\n ALIGN,\n FONT_COLOR,\n FONT_BACKGROUND_COLOR,\n HYPERLINK,\n IMAGE,\n CLEAR_FORMAT,\n SHOW_HTML,\n } = hideItems;\n const [showHTML, setShowHTML] = useState(false);\n\n const handleShowHTML = (e) => {\n e.preventDefault();\n setShowHTML(!showHTML);\n onShowHTML();\n };\n\n return (\n <div id={id} className=\"ds-ql-custom-toolbar\">\n {(!HEADER || !FONT || !FONT_SIZE) && (\n <span className=\"ql-formats\">\n {!HEADER && (\n <>\n <TippedSelect\n className=\"ql-header\"\n tip=\"Header\"\n values={['', '1', '2', '3', '4', '5', '6']}\n zIndex={userProps?.zIndex || 1}\n />\n <Divider />\n </>\n )}\n {!FONT && (\n <>\n <TippedSelect\n className=\"ql-font\"\n defaultValue=\"sans-serif\"\n options={fonts}\n tip=\"Font\"\n values={optionsToValues(fonts)}\n zIndex={userProps?.zIndex || 1}\n />\n <Divider />\n </>\n )}\n {!FONT_SIZE && (\n <>\n <TippedSelect\n className=\"ql-size\"\n options={sizes}\n tip=\"Font Size\"\n values={optionsToValues(sizesReal)}\n zIndex={userProps?.zIndex || 1}\n />\n <Divider />\n </>\n )}\n </span>\n )}\n {(!BOLD || !ITALIC || !UNDERLINE || !STRIKE) && (\n <span className=\"ql-formats\">\n {!BOLD && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-bold\" tip=\"Bold\" />}\n {!ITALIC && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-italic\" tip=\"Italic\" />}\n {!UNDERLINE && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-underline\" tip=\"Underline\" />}\n {!STRIKE && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-strike\" tip=\"Strike\" />}\n </span>\n )}\n {(!SUB || !SUPER) && (\n <span className=\"ql-formats\">\n {!SUB && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-script\" tip=\"Sub\" value=\"sub\" />}\n {!SUPER && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-script\" tip=\"Super\" value=\"super\" />}\n <Divider />\n </span>\n )}\n {(!ORDERED_LIST || !BULLET_LIST) && (\n <span className=\"ql-formats\">\n {!ORDERED_LIST && (\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-list\" tip=\"Ordered List\" value=\"ordered\" />\n )}\n {!BULLET_LIST && (\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-list\" tip=\"Bullet List\" value=\"bullet\" />\n )}\n </span>\n )}\n {(!INDENT_MINUS_ONE || !INDENT_PLUS_ONE) && (\n <span className=\"ql-formats\">\n {!INDENT_MINUS_ONE && (\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-indent\" tip=\"Indent -1\" value=\"-1\" />\n )}\n {!INDENT_PLUS_ONE && (\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-indent\" tip=\"Indent +1\" value=\"+1\" />\n )}\n </span>\n )}\n {!ALIGN && (\n <span className=\"ql-formats\">\n <TippedSelect zIndex={userProps?.zIndex || 1} className=\"ql-align\" tip=\"Align\" />\n <Divider />\n </span>\n )}\n {(!FONT_COLOR || !FONT_BACKGROUND_COLOR) && (\n <span className=\"ql-formats\">\n {!FONT_COLOR && <Colors zIndex={userProps?.zIndex || 1} className=\"ql-color\" tip=\"Font Color\" />}\n {!FONT_BACKGROUND_COLOR && (\n <Colors zIndex={userProps?.zIndex || 1} className=\"ql-background\" tip=\"Font Background Color\" />\n )}\n <Divider />\n </span>\n )}\n {(!HYPERLINK || !IMAGE) && (\n <span className=\"ql-formats\">\n {!HYPERLINK && (\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-link\" tip=\"Hyperlink: Select Text First\" />\n )}\n {!IMAGE && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-image\" tip=\"Insert Image\" />}\n <Divider />\n </span>\n )}\n {!CLEAR_FORMAT && (\n <span className=\"ql-formats\">\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-clean\" tip=\"Clear Format (Select Text)\" />\n </span>\n )}\n {!SHOW_HTML && (\n <span className=\"ql-formats\">\n <Divider />\n <TippedButton\n zIndex={userProps?.zIndex || 1}\n style={{\n width: 'fit-content',\n color: '#1e79c2',\n fontWeight: '500',\n }}\n onClick={handleShowHTML}\n tip={showHTML ? 'SHOW TEXT' : 'SHOW HTML'}\n className=\"ql-customFields-html\"\n >\n {showHTML ? 'SHOW TEXT' : 'SHOW HTML'}\n </TippedButton>\n </span>\n )}\n {customFields && (\n <span className=\"ql-formats\">\n <Divider />\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-customFields\" tip=\"Insert Custom Field\">\n <CustomFields />\n </TippedButton>\n </span>\n )}\n {customItems && (\n <span style={{ display: 'inline-flex' }}>\n {customItems.map((Item) => (\n <>\n <Divider />\n <Item />\n </>\n ))}\n </span>\n )}\n </div>\n );\n};\n"],"names":["optionsToValues","options","map","opt","toLowerCase","replace","CustomFields","React","Color","color","Colors","className","tip","zIndex","TippedSelect","colors","CustomDropdown","label","onSelectMenuItem","onClickOutsideMenu","onClose","closeMenuOnItemSelection","isOpen","minWidth","maxWidth","DSDropdownMenu","DSButton","ArrowheadDown","Divider","height","width","margin","padding","borderLeft","display","CustomToolbar","customFields","customItems","hideItems","onShowHTML","id","userProps","HEADER","FONT","FONT_SIZE","BOLD","ITALIC","UNDERLINE","STRIKE","SUB","SUPER","ORDERED_LIST","BULLET_LIST","INDENT_MINUS_ONE","INDENT_PLUS_ONE","ALIGN","FONT_COLOR","FONT_BACKGROUND_COLOR","HYPERLINK","IMAGE","CLEAR_FORMAT","SHOW_HTML","useState","showHTML","setShowHTML","handleShowHTML","e","preventDefault","fonts","sizes","sizesReal","TippedButton","fontWeight","Item"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DSWYSIWYGEditorImpl.js","sources":["../../../src/components/DSWYSIWYGEditorImpl.tsx"],"sourcesContent":["/* 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';\n\nimport ImageLibraryModal from './ImageLibraryModal';\nimport InsertFieldModal from './InsertFieldModal';\nimport { CustomToolbar } from './CustomToolbar';\nimport IndentStyle from '../quillOverrides/IndentStyle';\nimport LinkFormat from '../quillOverrides/LinkFormat';\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// -----------------------------------------\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 // 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 this.state = {\n isImageModalOpen: false,\n isFieldModalOpen: false,\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 const editor = quillDomRef.getEditor();\n this.props.getQuillRef(quillDomRef);\n // https://github.com/quilljs/quill/issues/2677\n editor.clipboard.addMatcher('a', clipboardLinkWithTagMatcher);\n });\n }\n\n // eslint-disable-next-line max-params\n onChangeQuill = (html, delta, source, editor) => {\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 getEditor() {\n return this.quill.getEditor();\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 handleImageClick,\n handleCustomFieldClick,\n height,\n value,\n showRawHTML,\n onShowHTML,\n onChange,\n hideItems,\n ...editorProps\n } = this.props;\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 {...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"],"names":["Quill","register","BlotFormatter","AlignStyle","import","FontStyle","whitelist","SizeStyle","Block","tagName","IndentStyle","DSWYSIWYGEditorImpl","props","quillModules","toolbar","container","toolbarContainer","handlers","toolbarHandlers","clipboard","matchVisual","blotFormatter","onChangeQuill","html","delta","source","editor","showRawHTML","onChange","onChangeTextArea","e","target","value","onInserFieldConfirm","fieldCode","getEditor","range","getSelection","insertText","index","onImageConfirm","image","insertEmbed","url","onFieldModalClose","setState","isFieldModalOpen","onImageModalClose","isImageModalOpen","quillRef","ref","quill","LinkFormat","quillOverrides","length","map","override","state","imagesData","handleImageClick","customFields","handleCustomFieldClick","setTimeout","quillDomRef","getQuillRef","addMatcher","clipboardLinkWithTagMatcher","containerProps","customToolbar","height","onShowHTML","hideItems","editorProps","React","CustomToolbar","ReactQuill","borderBottom","width","resize","minHeight","formatHTML","ImageLibraryModal","InsertFieldModal","PureComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DSWYSIWYGEditorImpl.js","sources":["../../../src/components/DSWYSIWYGEditorImpl.tsx"],"sourcesContent":["/* 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';\n\nimport ImageLibraryModal from './ImageLibraryModal';\nimport InsertFieldModal from './InsertFieldModal';\nimport { CustomToolbar } from './CustomToolbar';\nimport IndentStyle from '../quillOverrides/IndentStyle';\nimport LinkFormat from '../quillOverrides/LinkFormat';\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// -----------------------------------------\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 // 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 this.state = {\n isImageModalOpen: false,\n isFieldModalOpen: false,\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 const editor = quillDomRef.getEditor();\n this.props.getQuillRef(quillDomRef);\n // https://github.com/quilljs/quill/issues/2677\n editor.clipboard.addMatcher('a', clipboardLinkWithTagMatcher);\n });\n }\n\n // eslint-disable-next-line max-params\n onChangeQuill = (html, delta, source, editor) => {\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 getEditor() {\n return this.quill.getEditor();\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 handleImageClick,\n handleCustomFieldClick,\n height,\n value,\n showRawHTML,\n onShowHTML,\n onChange,\n hideItems,\n ...editorProps\n } = this.props;\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 {...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"],"names":["Quill","register","BlotFormatter","AlignStyle","import","FontStyle","whitelist","SizeStyle","Block","tagName","IndentStyle","DSWYSIWYGEditorImpl","props","_classCallCheck","quillModules","toolbar","container","toolbarContainer","handlers","toolbarHandlers","clipboard","matchVisual","blotFormatter","onChangeQuill","html","delta","source","editor","showRawHTML","onChange","onChangeTextArea","e","target","value","onInserFieldConfirm","fieldCode","getEditor","range","getSelection","insertText","index","onImageConfirm","image","insertEmbed","url","onFieldModalClose","setState","isFieldModalOpen","onImageModalClose","isImageModalOpen","quillRef","ref","quill","LinkFormat","quillOverrides","length","map","override","state","imagesData","handleImageClick","customFields","handleCustomFieldClick","setTimeout","quillDomRef","getQuillRef","addMatcher","clipboardLinkWithTagMatcher","containerProps","customToolbar","height","onShowHTML","hideItems","editorProps","React","CustomToolbar","ReactQuill","borderBottom","width","resize","minHeight","formatHTML","ImageLibraryModal","InsertFieldModal","PureComponent"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageLibraryModal.js","sources":["../../../src/components/ImageLibraryModal.tsx"],"sourcesContent":["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:\n '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 (\n <DSImageLibraryModal\n {...this.props}\n onConfirm={this.onConfirm}\n onSelect={this.onSelect}\n />\n );\n }\n}\n"],"names":["ImageLibraryModal","props","onSelect","selectedImage","setState","onConfirm","state","onClose","undefined","React","DSImageLibraryModal","PureComponent","propTypes","PropTypes","func","isRequired","onReject","imagesData","arrayOf","shape","id","string","url","name","description","createdBy","createdDate","isOpen","bool","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIqBA;;;;;
|
|
1
|
+
{"version":3,"file":"ImageLibraryModal.js","sources":["../../../src/components/ImageLibraryModal.tsx"],"sourcesContent":["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:\n '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 (\n <DSImageLibraryModal\n {...this.props}\n onConfirm={this.onConfirm}\n onSelect={this.onSelect}\n />\n );\n }\n}\n"],"names":["ImageLibraryModal","props","_classCallCheck","onSelect","selectedImage","setState","onConfirm","state","onClose","undefined","React","DSImageLibraryModal","PureComponent","propTypes","PropTypes","func","isRequired","onReject","imagesData","arrayOf","shape","id","string","url","name","description","createdBy","createdDate","isOpen","bool","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIqBA;;;;;EAqCnB,2BAAYC,KAAZ,EAAmB;IAAA;;IAAAC;;IACjB,0BAAMD,KAAN;;IADiB,MAOnBE,QAPmB,GAOR,UAAAC,aAAa,EAAI;MAC1B,MAAKC,QAAL,CAAc;QAAED,aAAa,EAAbA;OAAhB;KARiB;;IAAA,MAWnBE,SAXmB,GAWP,YAAM;MAChB,IAAQF,aAAR,GAA0B,MAAKG,KAA/B,CAAQH,aAAR;MACA,kBAA+B,MAAKH,KAApC;UAAQK,SAAR,eAAQA,SAAR;UAAmBE,OAAnB,eAAmBA,OAAnB;MACAF,SAAS,CAACF,aAAD,CAAT;MACAI,OAAO;KAfU;;IAEjB,MAAKD,KAAL,GAAa;MACXH,aAAa,EAAEK;KADjB;IAFiB;;;;;WAkBnB,kBAAS;MACP,oBACEC,wCAACC,uCAAD,mCACM,KAAKV,KADX;QAEE,SAAS,EAAE,KAAKK,SAFlB;QAGE,QAAQ,EAAE,KAAKH;SAJnB;;;;;EAxD2CO,yBAAK,CAACE;;AAAhCZ,kBACZa,YAAY;EACjBP,SAAS,EAAEQ,6BAAS,CAACC,IAAV,CAAeC,UADT;EAEjBR,OAAO,EAAEM,6BAAS,CAACC,IAAV,CAAeC,UAFP;EAGjBC,QAAQ,EAAEH,6BAAS,CAACC,IAHH;EAIjBG,UAAU,EAAEJ,6BAAS,CAACK,OAAV,CACVL,6BAAS,CAACM,KAAV,CAAgB;IACdC,EAAE,EAAEP,6BAAS,CAACQ,MADA;IAEdC,GAAG,EAAET,6BAAS,CAACQ,MAAV,CAAiBN,UAFR;IAGdQ,IAAI,EAAEV,6BAAS,CAACQ,MAAV,CAAiBN,UAHT;IAIdS,WAAW,EAAEX,6BAAS,CAACQ,MAJT;IAKdI,SAAS,EAAEZ,6BAAS,CAACQ,MAAV,CAAiBN,UALd;IAMdW,WAAW,EAAEb,6BAAS,CAACQ,MAAV,CAAiBN;GANhC,CADU,CAJK;EAcjBY,MAAM,EAAEd,6BAAS,CAACe,IAAV,CAAeb;AAdN;AADAhB,kBAkBZ8B,eAAe;EACpBb,QAAQ,EAAER,SADU;EAEpBS,UAAU,EAAE,CACV;IACEK,GAAG,EAAE,6DADP;IAEEC,IAAI,EAAE,UAFR;IAGEE,SAAS,EAAE,eAHb;IAIEC,WAAW,EAAE;GALL,EAOV;IACEJ,GAAG,EACD,kGAFJ;IAGEC,IAAI,EAAE,YAHR;IAIEE,SAAS,EAAE,eAJb;IAKEC,WAAW,EAAE;GAZL;AAFQ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InsertFieldModal.js","sources":["../../../src/components/InsertFieldModal.tsx"],"sourcesContent":["/* 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/constants';\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', '« Field ID »')}\n {this.renderElements()}\n </div>\n </div>\n </DSModal>\n );\n }\n}\n"],"names":["modalTypes","Object","values","MODAL_TYPE","elementClassName","InsertFieldModal","props","onConfirm","onClose","selectedFieldCode","state","onReject","drawDiv","className","content","content2","React","drawLabel","label","value","handleElementClick","e","key","fCode","disableDoubleClick","setState","onSelect","preventSpacebarScroll","document","onkeypress","includes","target","window","event","charCode","keyCode","which","preventDefault","renderElements","customFields","map","customField","idx","extras","fieldCode","getFieldCode","focusFirst","ref","element","focus","undefined","getFieldName","fields","nextProps","modalProps","DSModal","PureComponent","propTypes","PropTypes","func","isRequired","confirmLabel","string","arrayOf","bool","isOpen","modalTitle","modalType","rejectLabel","shouldCloseOnOverlayClick","size","defaultProps","sizeOptions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InsertFieldModal.js","sources":["../../../src/components/InsertFieldModal.tsx"],"sourcesContent":["/* 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/constants';\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', '« Field ID »')}\n {this.renderElements()}\n </div>\n </div>\n </DSModal>\n );\n }\n}\n"],"names":["modalTypes","Object","values","MODAL_TYPE","elementClassName","InsertFieldModal","props","_classCallCheck","onConfirm","onClose","selectedFieldCode","state","onReject","drawDiv","className","content","content2","React","drawLabel","label","value","handleElementClick","e","key","fCode","disableDoubleClick","setState","onSelect","preventSpacebarScroll","document","onkeypress","includes","target","window","event","charCode","keyCode","which","preventDefault","renderElements","customFields","map","customField","idx","extras","fieldCode","getFieldCode","focusFirst","ref","element","focus","undefined","getFieldName","fields","nextProps","modalProps","DSModal","PureComponent","propTypes","PropTypes","func","isRequired","confirmLabel","string","arrayOf","bool","isOpen","modalTitle","modalType","rejectLabel","shouldCloseOnOverlayClick","size","defaultProps","sizeOptions"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TippedButton.js","sources":["../../../src/components/TippedButton.tsx"],"sourcesContent":["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}>\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"],"names":["TippedButton","className","tip","children","onClick","zIndex","rest","React","DSTooltipV3","e","preventDefault"],"mappings":";;;;;;;;;;;;;;;;IAaaA,YAAY,GAAG,SAAfA,YAAe;
|
|
1
|
+
{"version":3,"file":"TippedButton.js","sources":["../../../src/components/TippedButton.tsx"],"sourcesContent":["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}>\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"],"names":["TippedButton","className","tip","children","onClick","zIndex","rest","React","DSTooltipV3","e","preventDefault"],"mappings":";;;;;;;;;;;;;;;;IAaaA,YAAY,GAAG,SAAfA,YAAe;EAAA,IAC1BC,SAD0B,QAC1BA,SAD0B;MAE1BC,GAF0B,QAE1BA,GAF0B;MAG1BC,QAH0B,QAG1BA,QAH0B;0BAI1BC,OAJ0B;MAI1BA,QAJ0B,6BAIhB;IAAA,OAAM,IAAN;GAJgB;yBAK1BC,MAL0B;MAK1BA,MAL0B,4BAKjB,CALiB;MAMvBC,IANuB;;EAAA,oBAQ1BC;IAAK,SAAS,EAAC;kBACbA,wCAACC,qBAAD;IAAa,IAAI,EAAEN,GAAnB;IAAwB,MAAM,EAAEG;kBAC9BE;IACE,IAAI,EAAC,QADP;IAEE,SAAS,EAAEN,SAFb;IAGE,OAAO,EAAE,iBAACQ,CAAD,EAAO;MACdA,CAAC,CAACC,cAAF;;MACAN,QAAO,CAACK,CAAD,CAAP;;KAEEH,IAPN,GASGH,QATH,CADF,CADF,CAR0B;AAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TippedSelect.js","sources":["../../../src/components/TippedSelect.tsx"],"sourcesContent":["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}>\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"],"names":["TippedSelect","props","tip","onChange","className","options","defaultValue","values","zIndex","children","fallBackChildren","map","value","index","React","DSTooltipV3","e","persist"],"mappings":";;;;;;;;;;;IAcaA,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAA4C;
|
|
1
|
+
{"version":3,"file":"TippedSelect.js","sources":["../../../src/components/TippedSelect.tsx"],"sourcesContent":["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}>\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"],"names":["TippedSelect","props","tip","onChange","className","options","defaultValue","values","zIndex","children","fallBackChildren","map","value","index","React","DSTooltipV3","e","persist"],"mappings":";;;;;;;;;;;IAcaA,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAA4C;EACtE,IAAQC,GAAR,GAAwGD,KAAxG,CAAQC,GAAR;wBAAwGD,KAAxG,CAAaE,QAAb;MAAaA,SAAb,gCAAwB;IAAA,OAAM,IAAN;GAAxB;MAAoCC,SAApC,GAAwGH,KAAxG,CAAoCG,SAApC;MAA+CC,OAA/C,GAAwGJ,KAAxG,CAA+CI,OAA/C;4BAAwGJ,KAAxG,CAAwDK,YAAxD;MAAwDA,YAAxD,oCAAuE,EAAvE;MAA2EC,MAA3E,GAAwGN,KAAxG,CAA2EM,MAA3E;MAAmFC,MAAnF,GAAwGP,KAAxG,CAAmFO,MAAnF;MAA2FC,QAA3F,GAAwGR,KAAxG,CAA2FQ,QAA3F;;EACA,IAAMC,gBAAgB,GACpBH,MAAM,IACNA,MAAM,CAACI,GAAP,CAAW,UAACC,KAAD,EAAQC,KAAR;IAAA,oBACTC;MAAQ,GAAG,EAAEF,KAAb;MAAoB,KAAK,EAAEA,KAAK,KAAK,QAAV,GAAqB,EAArB,GAA0BA;OAClDP,OAAO,GAAGA,OAAO,CAACQ,KAAD,CAAV,GAAoB,IAD9B,CADS;GAAX,CAFF;EAQA,oBACEC;IAAK,SAAS,EAAC;kBACbA,wCAACC,qBAAD;IAAa,IAAI,EAAEb,GAAnB;IAAwB,MAAM,EAAEM;kBAC9BM,kEACEA;IACE,SAAS,EAAEV,SADb;IAEE,YAAY,EAAEE,YAFhB;IAGE,QAAQ,EAAE,kBAACU,CAAD,EAAO;MACfA,CAAC,CAACC,OAAF;;MACAd,SAAQ,CAACa,CAAD,CAAR;;KAGDP,QAAQ,IAAIC,gBARf,CADF,CADF,CADF,CADF;AAkBD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.js","sources":["../../../src/components/colors.tsx"],"sourcesContent":["function sinToHex(i, size, phase) {\n const sin = Math.sin((Math.PI / size) * 2 * i + phase);\n const int = Math.floor(sin * 127) + 128;\n const hex = int.toString(16);\n\n return hex.length === 1 ? `0${hex}` : hex;\n}\nexport function getRainbowColors(size = 28) {\n const colors = new Array(size).fill(undefined);\n return colors.map((color, idx) => {\n const red = sinToHex(idx, size, (0 * Math.PI * 2) / 3); // 0 deg\n const blue = sinToHex(idx, size, (1 * Math.PI * 2) / 3); // 120 deg\n const green = sinToHex(idx, size, (2 * Math.PI * 2) / 3); // 240 deg\n\n color = `#${red}${green}${blue}`;\n return color;\n });\n}\n"],"names":["sinToHex","i","size","phase","sin","Math","PI","int","floor","hex","toString","length","getRainbowColors","colors","Array","fill","undefined","map","color","idx","red","blue","green"],"mappings":";;;;AAAA,SAASA,QAAT,CAAkBC,CAAlB,EAAqBC,IAArB,EAA2BC,KAA3B,EAAkC;
|
|
1
|
+
{"version":3,"file":"colors.js","sources":["../../../src/components/colors.tsx"],"sourcesContent":["function sinToHex(i, size, phase) {\n const sin = Math.sin((Math.PI / size) * 2 * i + phase);\n const int = Math.floor(sin * 127) + 128;\n const hex = int.toString(16);\n\n return hex.length === 1 ? `0${hex}` : hex;\n}\nexport function getRainbowColors(size = 28) {\n const colors = new Array(size).fill(undefined);\n return colors.map((color, idx) => {\n const red = sinToHex(idx, size, (0 * Math.PI * 2) / 3); // 0 deg\n const blue = sinToHex(idx, size, (1 * Math.PI * 2) / 3); // 120 deg\n const green = sinToHex(idx, size, (2 * Math.PI * 2) / 3); // 240 deg\n\n color = `#${red}${green}${blue}`;\n return color;\n });\n}\n"],"names":["sinToHex","i","size","phase","sin","Math","PI","int","floor","hex","toString","length","getRainbowColors","colors","Array","fill","undefined","map","color","idx","red","blue","green"],"mappings":";;;;AAAA,SAASA,QAAT,CAAkBC,CAAlB,EAAqBC,IAArB,EAA2BC,KAA3B,EAAkC;EAChC,IAAMC,GAAG,GAAGC,IAAI,CAACD,GAAL,CAAUC,IAAI,CAACC,EAAL,GAAUJ,IAAX,GAAmB,CAAnB,GAAuBD,CAAvB,GAA2BE,KAApC,CAAZ;EACA,IAAMI,GAAG,GAAGF,IAAI,CAACG,KAAL,CAAWJ,GAAG,GAAG,GAAjB,IAAwB,GAApC;EACA,IAAMK,GAAG,GAAGF,GAAG,CAACG,QAAJ,CAAa,EAAb,CAAZ;EAEA,OAAOD,GAAG,CAACE,MAAJ,KAAe,CAAf,cAAuBF,GAAvB,IAA+BA,GAAtC;AACD;;AACM,SAASG,gBAAT,GAAqC;EAAA,IAAXV,IAAW,uEAAJ,EAAI;EAC1C,IAAMW,MAAM,GAAG,IAAIC,KAAJ,CAAUZ,IAAV,EAAgBa,IAAhB,CAAqBC,SAArB,CAAf;EACA,OAAOH,MAAM,CAACI,GAAP,CAAW,UAACC,KAAD,EAAQC,GAAR,EAAgB;IAChC,IAAMC,GAAG,GAAGpB,QAAQ,CAACmB,GAAD,EAAMjB,IAAN,EAAa,IAAIG,IAAI,CAACC,EAAT,GAAc,CAAf,GAAoB,CAAhC,CAApB,CADgC;;IAEhC,IAAMe,IAAI,GAAGrB,QAAQ,CAACmB,GAAD,EAAMjB,IAAN,EAAa,IAAIG,IAAI,CAACC,EAAT,GAAc,CAAf,GAAoB,CAAhC,CAArB,CAFgC;;IAGhC,IAAMgB,KAAK,GAAGtB,QAAQ,CAACmB,GAAD,EAAMjB,IAAN,EAAa,IAAIG,IAAI,CAACC,EAAT,GAAc,CAAf,GAAoB,CAAhC,CAAtB,CAHgC;;IAKhCY,KAAK,cAAOE,GAAP,SAAaE,KAAb,SAAqBD,IAArB,CAAL;IACA,OAAOH,KAAP;GANK,CAAP;AAQD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customFields.js","sources":["../../../src/components/customFields.tsx"],"sourcesContent":["export const fields = [\n 'Lender Name «315»',\n 'Lender Address «319»',\n 'Lender City «313»',\n 'Lender State «321»',\n 'Lender Zip «323»',\n 'Borrower First Name «4000»',\n 'Borrower Last Name «4002»',\n 'Total Loan Amount «2»',\n 'Loan Term «4»',\n 'Loan to Value «976»',\n 'Monthly Payment «912»',\n 'Interest Rate «3»',\n 'Loan Originator Name «1612»',\n 'Loan Originator Email «3968»',\n 'Loan Originator Phone «1823»',\n 'NMLS Loan Originator ID «3238»',\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('«') !== -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('«');\n return field.substring(0, codeIndex);\n};\n/**\n * Returns a field's id. E.g: «456»\n *\n * @param field\n */\nexport const getFieldCode = (field) => {\n const codeIndex = field.indexOf('«');\n return field.substring(codeIndex);\n};\n\nexport default {\n fields,\n getFields,\n getFieldName,\n getFieldCode,\n};\n"],"names":["fields","getFields","customFields","map","opt","index","id","label","onClick","indexOf","onOptionClick","getFieldCode","type","getFieldName","field","codeIndex","substring"],"mappings":";;;;;;IAAaA,MAAM,GAAG,CACpB,qBADoB,EAEpB,wBAFoB,EAGpB,qBAHoB,EAIpB,sBAJoB,EAKpB,oBALoB,EAMpB,8BANoB,EAOpB,6BAPoB,EAQpB,yBARoB,EASpB,iBAToB,EAUpB,uBAVoB,EAWpB,yBAXoB,EAYpB,qBAZoB,EAapB,+BAboB,EAcpB,gCAdoB,EAepB,gCAfoB,EAgBpB,kCAhBoB;AAkBtB;AACA;AACA;AACA;AACA;;IACaC,SAAS,GAAG,SAAZA,SAAY;
|
|
1
|
+
{"version":3,"file":"customFields.js","sources":["../../../src/components/customFields.tsx"],"sourcesContent":["export const fields = [\n 'Lender Name «315»',\n 'Lender Address «319»',\n 'Lender City «313»',\n 'Lender State «321»',\n 'Lender Zip «323»',\n 'Borrower First Name «4000»',\n 'Borrower Last Name «4002»',\n 'Total Loan Amount «2»',\n 'Loan Term «4»',\n 'Loan to Value «976»',\n 'Monthly Payment «912»',\n 'Interest Rate «3»',\n 'Loan Originator Name «1612»',\n 'Loan Originator Email «3968»',\n 'Loan Originator Phone «1823»',\n 'NMLS Loan Originator ID «3238»',\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('«') !== -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('«');\n return field.substring(0, codeIndex);\n};\n/**\n * Returns a field's id. E.g: «456»\n *\n * @param field\n */\nexport const getFieldCode = (field) => {\n const codeIndex = field.indexOf('«');\n return field.substring(codeIndex);\n};\n\nexport default {\n fields,\n getFields,\n getFieldName,\n getFieldCode,\n};\n"],"names":["fields","getFields","customFields","map","opt","index","id","label","onClick","indexOf","onOptionClick","getFieldCode","type","getFieldName","field","codeIndex","substring"],"mappings":";;;;;;IAAaA,MAAM,GAAG,CACpB,qBADoB,EAEpB,wBAFoB,EAGpB,qBAHoB,EAIpB,sBAJoB,EAKpB,oBALoB,EAMpB,8BANoB,EAOpB,6BAPoB,EAQpB,yBARoB,EASpB,iBAToB,EAUpB,uBAVoB,EAWpB,yBAXoB,EAYpB,qBAZoB,EAapB,+BAboB,EAcpB,gCAdoB,EAepB,gCAfoB,EAgBpB,kCAhBoB;AAkBtB;AACA;AACA;AACA;AACA;;IACaC,SAAS,GAAG,SAAZA,SAAY;EAAA,IAACC,YAAD,uEAAgBF,MAAhB;EAAA,OACvBE,YAAY,CAACC,GAAb,CAAiB,UAACC,GAAD,EAAMC,KAAN;IAAA,OAAiB;MAChCC,EAAE,YAAKF,GAAL,cAAYC,KAAZ,CAD8B;;MAGhCE,KAAK,YAAKH,GAAL,CAH2B;MAIhCI,OAAO,EAAEJ,GAAG,CAACK,OAAJ,CAAY,GAAZ,MAAqB,CAAC,CAAtB,GAA0B;QAAA,OAAM,KAAI,CAACC,aAAL,CAAmB,KAAI,CAACC,YAAL,CAAkBP,GAAlB,CAAnB,CAAN;OAA1B,GAA6E,IAJtD;MAKhCQ,IAAI,EAAER,GAAG,KAAK,EAAR,GAAa,WAAb,GAA2B;KALlB;GAAjB,CADuB;AAAA;AAQzB;AACA;AACA;AACA;AACA;;IACaS,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAAW;EACrC,IAAMC,SAAS,GAAGD,KAAK,CAACL,OAAN,CAAc,GAAd,CAAlB;EACA,OAAOK,KAAK,CAACE,SAAN,CAAgB,CAAhB,EAAmBD,SAAnB,CAAP;AACD;AACD;AACA;AACA;AACA;AACA;;IACaJ,YAAY,GAAG,SAAfA,YAAe,CAACG,KAAD,EAAW;EACrC,IAAMC,SAAS,GAAGD,KAAK,CAACL,OAAN,CAAc,GAAd,CAAlB;EACA,OAAOK,KAAK,CAACE,SAAN,CAAgBD,SAAhB,CAAP;AACD;AAED,mBAAe;EACbf,MAAM,EAANA,MADa;EAEbC,SAAS,EAATA,SAFa;EAGbY,YAAY,EAAZA,YAHa;EAIbF,YAAY,EAAZA;AAJa,CAAf;;;;;;;;"}
|
package/cjs/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../src/constants.tsx"],"sourcesContent":["/* 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"],"names":["colors","getRainbowColors","fonts","sizes","sizesReal","defaultItems","HEADER","FONT","FONT_SIZE","BOLD","ITALIC","UNDERLINE","STRIKE","SUB","SUPER","ORDERED_LIST","BULLET_LIST","INDENT_MINUS_ONE","INDENT_PLUS_ONE","ALIGN","FONT_COLOR","FONT_BACKGROUND_COLOR","HYPERLINK","IMAGE","CLEAR_FORMAT","SHOW_HTML"],"mappings":";;;;;;;;;;;IAGaA,MAAM,IACjB,SADiB,EAEjB,SAFiB,EAGjB,SAHiB,EAIjB,SAJiB,EAKjB,SALiB,EAMjB,SANiB,EAOjB,SAPiB,EAQjB,SARiB,EASjB,SATiB,EAUjB,SAViB,EAWjB,SAXiB,EAYjB,SAZiB,EAajB,SAbiB,EAcjB,SAdiB,EAejB,SAfiB,EAgBjB,SAhBiB,EAiBjB,SAjBiB,EAkBjB,SAlBiB,EAmBjB,SAnBiB,EAoBjB,SApBiB,EAqBjB,SArBiB,EAsBjB,SAtBiB,EAuBjB,SAvBiB,EAwBjB,SAxBiB,EAyBjB,SAzBiB,EA0BjB,SA1BiB,EA2BjB,SA3BiB,EA4BjB,SA5BiB,EA6BjB,SA7BiB,EA8BjB,SA9BiB,EA+BjB,SA/BiB,EAgCjB,SAhCiB,EAiCjB,SAjCiB,EAkCjB,SAlCiB,EAmCjB,SAnCiB,gDAoCdC,kCAAgB,CAAC,EAAD,CApCF;IAsCNC,KAAK,GAAG,CACnB,YADmB,EAEnB,OAFmB,EAGnB,WAHmB,EAInB,OAJmB,EAKnB,SALmB,EAMnB,WANmB;IAQRC,KAAK,GAAG,CAAC,OAAD,EAAU,QAAV,EAAoB,OAApB,EAA6B,MAA7B;IACRC,SAAS,GAAG;AAEvB,SAFuB,EAGvB,QAHuB,EAIvB,OAJuB,EAKvB,SALuB;IAQZC,YAAY,GAAG;
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../src/constants.tsx"],"sourcesContent":["/* 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"],"names":["colors","getRainbowColors","fonts","sizes","sizesReal","defaultItems","HEADER","FONT","FONT_SIZE","BOLD","ITALIC","UNDERLINE","STRIKE","SUB","SUPER","ORDERED_LIST","BULLET_LIST","INDENT_MINUS_ONE","INDENT_PLUS_ONE","ALIGN","FONT_COLOR","FONT_BACKGROUND_COLOR","HYPERLINK","IMAGE","CLEAR_FORMAT","SHOW_HTML"],"mappings":";;;;;;;;;;;IAGaA,MAAM,IACjB,SADiB,EAEjB,SAFiB,EAGjB,SAHiB,EAIjB,SAJiB,EAKjB,SALiB,EAMjB,SANiB,EAOjB,SAPiB,EAQjB,SARiB,EASjB,SATiB,EAUjB,SAViB,EAWjB,SAXiB,EAYjB,SAZiB,EAajB,SAbiB,EAcjB,SAdiB,EAejB,SAfiB,EAgBjB,SAhBiB,EAiBjB,SAjBiB,EAkBjB,SAlBiB,EAmBjB,SAnBiB,EAoBjB,SApBiB,EAqBjB,SArBiB,EAsBjB,SAtBiB,EAuBjB,SAvBiB,EAwBjB,SAxBiB,EAyBjB,SAzBiB,EA0BjB,SA1BiB,EA2BjB,SA3BiB,EA4BjB,SA5BiB,EA6BjB,SA7BiB,EA8BjB,SA9BiB,EA+BjB,SA/BiB,EAgCjB,SAhCiB,EAiCjB,SAjCiB,EAkCjB,SAlCiB,EAmCjB,SAnCiB,gDAoCdC,kCAAgB,CAAC,EAAD,CApCF;IAsCNC,KAAK,GAAG,CACnB,YADmB,EAEnB,OAFmB,EAGnB,WAHmB,EAInB,OAJmB,EAKnB,SALmB,EAMnB,WANmB;IAQRC,KAAK,GAAG,CAAC,OAAD,EAAU,QAAV,EAAoB,OAApB,EAA6B,MAA7B;IACRC,SAAS,GAAG;AAEvB,SAFuB,EAGvB,QAHuB,EAIvB,OAJuB,EAKvB,SALuB;IAQZC,YAAY,GAAG;EAC1BC,MAAM,EAAE,QADkB;EAE1BC,IAAI,EAAE,MAFoB;EAG1BC,SAAS,EAAE,MAHe;EAI1BC,IAAI,EAAE,MAJoB;EAK1BC,MAAM,EAAE,QALkB;EAM1BC,SAAS,EAAE,WANe;EAO1BC,MAAM,EAAE,QAPkB;EAQ1BC,GAAG,EAAE,KARqB;EAS1BC,KAAK,EAAE,OATmB;EAU1BC,YAAY,EAAE,cAVY;EAW1BC,WAAW,EAAE,aAXa;EAY1BC,gBAAgB,EAAE,WAZQ;EAa1BC,eAAe,EAAE,WAbS;EAc1BC,KAAK,EAAE,OAdmB;EAe1BC,UAAU,EAAE,YAfc;EAgB1BC,qBAAqB,EAAE,uBAhBG;EAiB1BC,SAAS,EAAE,WAjBe;EAkB1BC,KAAK,EAAE,OAlBmB;EAmB1BC,YAAY,EAAE,cAnBY;EAoB1BC,SAAS,EAAE;AApBe;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clipboardLinkWithTagMatcher.js","sources":["../../../src/quillMatchers/clipboardLinkWithTagMatcher.ts"],"sourcesContent":["import Delta from 'quill-delta';\n\nconst hrefTagRegexp = /%7B%7B.+%7D%7D/gm;\nexport const clipboardLinkWithTagMatcher = (node: HTMLAnchorElement, delta: Delta): Delta => {\n if (node.origin === window.location.origin) {\n const nodeHref = node.href;\n const tagMatch = nodeHref.match(hrefTagRegexp);\n if (tagMatch) {\n const [overWrittenHrefValue] = tagMatch;\n const insertLinkOperation = delta?.ops?.find((operation) => operation?.attributes?.link?.match?.(hrefTagRegexp));\n if (insertLinkOperation)\n insertLinkOperation.attributes.link = overWrittenHrefValue.replace(/%7B%7B/gm, '{{').replace(/%7D%7D/gm, '}}');\n }\n }\n return delta;\n};\n"],"names":["hrefTagRegexp","clipboardLinkWithTagMatcher","node","delta","origin","window","location","nodeHref","href","tagMatch","match","overWrittenHrefValue","insertLinkOperation","ops","find","operation","attributes","link","replace"],"mappings":";;;;;;;;;;AAEA,IAAMA,aAAa,GAAG,kBAAtB;IACaC,2BAA2B,GAAG,SAA9BA,2BAA8B,CAACC,IAAD,EAA0BC,KAA1B,EAAkD;
|
|
1
|
+
{"version":3,"file":"clipboardLinkWithTagMatcher.js","sources":["../../../src/quillMatchers/clipboardLinkWithTagMatcher.ts"],"sourcesContent":["import Delta from 'quill-delta';\n\nconst hrefTagRegexp = /%7B%7B.+%7D%7D/gm;\nexport const clipboardLinkWithTagMatcher = (node: HTMLAnchorElement, delta: Delta): Delta => {\n if (node.origin === window.location.origin) {\n const nodeHref = node.href;\n const tagMatch = nodeHref.match(hrefTagRegexp);\n if (tagMatch) {\n const [overWrittenHrefValue] = tagMatch;\n const insertLinkOperation = delta?.ops?.find((operation) => operation?.attributes?.link?.match?.(hrefTagRegexp));\n if (insertLinkOperation)\n insertLinkOperation.attributes.link = overWrittenHrefValue.replace(/%7B%7B/gm, '{{').replace(/%7D%7D/gm, '}}');\n }\n }\n return delta;\n};\n"],"names":["hrefTagRegexp","clipboardLinkWithTagMatcher","node","delta","origin","window","location","nodeHref","href","tagMatch","match","overWrittenHrefValue","insertLinkOperation","ops","find","operation","attributes","link","replace"],"mappings":";;;;;;;;;;AAEA,IAAMA,aAAa,GAAG,kBAAtB;IACaC,2BAA2B,GAAG,SAA9BA,2BAA8B,CAACC,IAAD,EAA0BC,KAA1B,EAAkD;EAC3F,IAAID,IAAI,CAACE,MAAL,KAAgBC,MAAM,CAACC,QAAP,CAAgBF,MAApC,EAA4C;IAC1C,IAAMG,QAAQ,GAAGL,IAAI,CAACM,IAAtB;IACA,IAAMC,QAAQ,GAAGF,QAAQ,CAACG,KAAT,CAAeV,aAAf,CAAjB;;IACA,IAAIS,QAAJ,EAAc;MAAA;;MACZ,mDAA+BA,QAA/B;UAAOE,oBAAP;;MACA,IAAMC,mBAAmB,GAAGT,KAAH,aAAGA,KAAH,qCAAGA,KAAK,CAAEU,GAAV,+CAAG,WAAYC,IAAZ,CAAiB,UAACC,SAAD;QAAA;;QAAA,OAAeA,SAAf,aAAeA,SAAf,gDAAeA,SAAS,CAAEC,UAA1B,oFAAe,sBAAuBC,IAAtC,qFAAe,uBAA6BP,KAA5C,2DAAe,oDAAqCV,aAArC,CAAf;OAAjB,CAA5B;MACA,IAAIY,mBAAJ,EACEA,mBAAmB,CAACI,UAApB,CAA+BC,IAA/B,GAAsCN,oBAAoB,CAACO,OAArB,CAA6B,UAA7B,EAAyC,IAAzC,EAA+CA,OAA/C,CAAuD,UAAvD,EAAmE,IAAnE,CAAtC;;;;EAGN,OAAOf,KAAP;AACD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndentStyle.js","sources":["../../../src/quillOverrides/IndentStyle.tsx"],"sourcesContent":["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"],"names":["Parchment","Quill","import","levels","multiplier","IndentAttributor","node","value","parseFloat","undefined","Attributor","Style","IndentStyle","scope","Scope","BLOCK","whitelist","map"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,SAAS,GAAGC,gBAAK,CAACC,MAAN,CAAa,WAAb,CAAlB;AACA,IAAMC,MAAM,GAAG,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,CAAf;AACA,IAAMC,UAAU,GAAG,CAAnB;;IAEMC;;;;;;;;;;;;;WACJ,aAAIC,IAAJ,EAAUC,KAAV,EAAiB;
|
|
1
|
+
{"version":3,"file":"IndentStyle.js","sources":["../../../src/quillOverrides/IndentStyle.tsx"],"sourcesContent":["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"],"names":["Parchment","Quill","import","levels","multiplier","IndentAttributor","node","value","parseFloat","undefined","Attributor","Style","IndentStyle","scope","Scope","BLOCK","whitelist","map"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,SAAS,GAAGC,gBAAK,CAACC,MAAN,CAAa,WAAb,CAAlB;AACA,IAAMC,MAAM,GAAG,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,CAAf;AACA,IAAMC,UAAU,GAAG,CAAnB;;IAEMC;;;;;;;;;;;;;WACJ,aAAIC,IAAJ,EAAUC,KAAV,EAAiB;MACf,yHAAiBD,IAAjB,YAA0BC,KAAK,GAAGH,UAAlC;;;;WAGF,eAAME,IAAN,EAAY;MACV,OAAOE,UAAU,qHAAaF,IAAb,EAAV,GAAgCF,UAAhC,IAA8CK,SAArD,CADU;;;;;EALiBT,SAAS,CAACU,UAAV,CAAqBC;AAUpD;AACA;AACA;;;IACMC,WAAW,GAAG,IAAIP,gBAAJ,CAAqB,QAArB,EAA+B,aAA/B,EAA8C;EAChEQ,KAAK,EAAEb,SAAS,CAACc,KAAV,CAAgBC,KADyC;EAEhEC,SAAS,EAAEb,MAAM,CAACc,GAAP,CAAW,UAAAV,KAAK;IAAA,iBAAOA,KAAK,GAAGH,UAAf;GAAhB;AAFqD,CAA9C;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkFormat.js","sources":["../../../src/quillOverrides/LinkFormat.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { Quill } from 'react-quill';\n\nconst sanitizeProtocol = (value) => {\n if (typeof value === 'boolean') return value;\n let newVal = value;\n if (\n !value.startsWith('http') &&\n !value.startsWith('ftp') &&\n !value.startsWith('mailto:') &&\n !value.startsWith('{{')\n ) {\n if (!value.startsWith('www')) {\n newVal = `https://www.${value}`;\n } else newVal = `https://${value}`;\n }\n return newVal;\n};\n\nfunction getIsValidProtocol(url, protocols) {\n const anchor = document.createElement('a');\n anchor.href = url;\n const protocol = anchor.href.slice(0, anchor.href.indexOf(':'));\n return protocols.indexOf(protocol) > -1;\n}\n\nconst Link = Quill.import('formats/link');\n\nclass LinkFormat extends Link {\n blotName = 'link';\n\n tagName = 'A';\n\n SANITIZED_URL = 'about:blank';\n\n PROTOCOL_WHITELIST = ['http', 'ftp', 'https', 'mailto', 'tel'];\n\n static create(value) {\n const newVal = sanitizeProtocol(value);\n const node = super.create(newVal);\n node.setAttribute('href', newVal);\n return node;\n }\n\n static formats(domNode) {\n return domNode?.getAttribute?.('href');\n }\n\n static sanitize(url) {\n return getIsValidProtocol(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL;\n }\n\n format(name, value) {\n const newVal = sanitizeProtocol(value);\n // Remove link case\n if (name === 'link' && value === false) {\n this.domNode.removeAttribute('href');\n } else if (name !== this.statics.blotName || !newVal) {\n super.format(name, newVal);\n } else {\n this.domNode.setAttribute('href', this.constructor.sanitize(newVal));\n }\n }\n}\n\nexport default LinkFormat;\n"],"names":["sanitizeProtocol","value","newVal","startsWith","getIsValidProtocol","url","protocols","anchor","document","createElement","href","protocol","slice","indexOf","Link","Quill","import","LinkFormat","blotName","tagName","SANITIZED_URL","PROTOCOL_WHITELIST","name","domNode","removeAttribute","statics","setAttribute","constructor","sanitize","node","getAttribute"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAW;
|
|
1
|
+
{"version":3,"file":"LinkFormat.js","sources":["../../../src/quillOverrides/LinkFormat.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { Quill } from 'react-quill';\n\nconst sanitizeProtocol = (value) => {\n if (typeof value === 'boolean') return value;\n let newVal = value;\n if (\n !value.startsWith('http') &&\n !value.startsWith('ftp') &&\n !value.startsWith('mailto:') &&\n !value.startsWith('{{')\n ) {\n if (!value.startsWith('www')) {\n newVal = `https://www.${value}`;\n } else newVal = `https://${value}`;\n }\n return newVal;\n};\n\nfunction getIsValidProtocol(url, protocols) {\n const anchor = document.createElement('a');\n anchor.href = url;\n const protocol = anchor.href.slice(0, anchor.href.indexOf(':'));\n return protocols.indexOf(protocol) > -1;\n}\n\nconst Link = Quill.import('formats/link');\n\nclass LinkFormat extends Link {\n blotName = 'link';\n\n tagName = 'A';\n\n SANITIZED_URL = 'about:blank';\n\n PROTOCOL_WHITELIST = ['http', 'ftp', 'https', 'mailto', 'tel'];\n\n static create(value) {\n const newVal = sanitizeProtocol(value);\n const node = super.create(newVal);\n node.setAttribute('href', newVal);\n return node;\n }\n\n static formats(domNode) {\n return domNode?.getAttribute?.('href');\n }\n\n static sanitize(url) {\n return getIsValidProtocol(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL;\n }\n\n format(name, value) {\n const newVal = sanitizeProtocol(value);\n // Remove link case\n if (name === 'link' && value === false) {\n this.domNode.removeAttribute('href');\n } else if (name !== this.statics.blotName || !newVal) {\n super.format(name, newVal);\n } else {\n this.domNode.setAttribute('href', this.constructor.sanitize(newVal));\n }\n }\n}\n\nexport default LinkFormat;\n"],"names":["sanitizeProtocol","value","newVal","startsWith","getIsValidProtocol","url","protocols","anchor","document","createElement","href","protocol","slice","indexOf","Link","Quill","import","LinkFormat","blotName","tagName","SANITIZED_URL","PROTOCOL_WHITELIST","name","domNode","removeAttribute","statics","_get","setAttribute","constructor","sanitize","node","getAttribute"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAW;EAClC,IAAI,OAAOA,KAAP,KAAiB,SAArB,EAAgC,OAAOA,KAAP;EAChC,IAAIC,MAAM,GAAGD,KAAb;;EACA,IACE,CAACA,KAAK,CAACE,UAAN,CAAiB,MAAjB,CAAD,IACA,CAACF,KAAK,CAACE,UAAN,CAAiB,KAAjB,CADD,IAEA,CAACF,KAAK,CAACE,UAAN,CAAiB,SAAjB,CAFD,IAGA,CAACF,KAAK,CAACE,UAAN,CAAiB,IAAjB,CAJH,EAKE;IACA,IAAI,CAACF,KAAK,CAACE,UAAN,CAAiB,KAAjB,CAAL,EAA8B;MAC5BD,MAAM,yBAAkBD,KAAlB,CAAN;KADF,MAEOC,MAAM,qBAAcD,KAAd,CAAN;;;EAET,OAAOC,MAAP;AACD,CAdD;;AAgBA,SAASE,kBAAT,CAA4BC,GAA5B,EAAiCC,SAAjC,EAA4C;EAC1C,IAAMC,MAAM,GAAGC,QAAQ,CAACC,aAAT,CAAuB,GAAvB,CAAf;EACAF,MAAM,CAACG,IAAP,GAAcL,GAAd;EACA,IAAMM,QAAQ,GAAGJ,MAAM,CAACG,IAAP,CAAYE,KAAZ,CAAkB,CAAlB,EAAqBL,MAAM,CAACG,IAAP,CAAYG,OAAZ,CAAoB,GAApB,CAArB,CAAjB;EACA,OAAOP,SAAS,CAACO,OAAV,CAAkBF,QAAlB,IAA8B,CAAC,CAAtC;AACD;;AAED,IAAMG,IAAI,GAAGC,gBAAK,CAACC,MAAN,CAAa,cAAb,CAAb;;IAEMC;;;;;;;;;;;;;;;UACJC,WAAW;UAEXC,UAAU;UAEVC,gBAAgB;UAEhBC,qBAAqB,CAAC,MAAD,EAAS,KAAT,EAAgB,OAAhB,EAAyB,QAAzB,EAAmC,KAAnC;;;;;;WAiBrB,gBAAOC,IAAP,EAAarB,KAAb,EAAoB;MAClB,IAAMC,MAAM,GAAGF,gBAAgB,CAACC,KAAD,CAA/B,CADkB;;MAGlB,IAAIqB,IAAI,KAAK,MAAT,IAAmBrB,KAAK,KAAK,KAAjC,EAAwC;QACtC,KAAKsB,OAAL,CAAaC,eAAb,CAA6B,MAA7B;OADF,MAEO,IAAIF,IAAI,KAAK,KAAKG,OAAL,CAAaP,QAAtB,IAAkC,CAAChB,MAAvC,EAA+C;QACpDwB,+GAAaJ,IAAb,EAAmBpB,MAAnB;OADK,MAEA;QACL,KAAKqB,OAAL,CAAaI,YAAb,CAA0B,MAA1B,EAAkC,KAAKC,WAAL,CAAiBC,QAAjB,CAA0B3B,MAA1B,CAAlC;;;;;WAvBJ,gBAAcD,KAAd,EAAqB;MACnB,IAAMC,MAAM,GAAGF,gBAAgB,CAACC,KAAD,CAA/B;;MACA,IAAM6B,IAAI,wGAAgB5B,MAAhB,CAAV;;MACA4B,IAAI,CAACH,YAAL,CAAkB,MAAlB,EAA0BzB,MAA1B;MACA,OAAO4B,IAAP;;;;WAGF,iBAAeP,OAAf,EAAwB;MAAA;;MACtB,OAAOA,OAAP,aAAOA,OAAP,gDAAOA,OAAO,CAAEQ,YAAhB,0DAAO,2BAAAR,OAAO,EAAiB,MAAjB,CAAd;;;;WAGF,kBAAgBlB,GAAhB,EAAqB;MACnB,OAAOD,kBAAkB,CAACC,GAAD,EAAM,KAAKgB,kBAAX,CAAlB,GAAmDhB,GAAnD,GAAyD,KAAKe,aAArE;;;;;EArBqBN;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlainClipboard.js","sources":["../../../src/quillOverrides/PlainClipboard.tsx"],"sourcesContent":["import { Quill } from 'react-quill';\n\nconst Clipboard = Quill.import('modules/clipboard');\nconst Delta = Quill.import('delta');\n\n/**\n * Just for the sake of an example. https://quilljs.com/docs/modules/\n */\nexport default class PlainClipboard extends Clipboard {\n convert(html = null) {\n if (typeof html === 'string') {\n this.container.innerHTML = html;\n }\n const text = this.container.innerText;\n this.container.innerHTML = '';\n return new Delta().insert(text);\n }\n}\n\n// Uncomment if adding custom clipboard, or add in the file you are importing this to\n// Quill.register('modules/clipboard', PlainClipboard)\n"],"names":["Clipboard","Quill","import","Delta","PlainClipboard","html","container","innerHTML","text","innerText","insert"],"mappings":";;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,SAAS,GAAGC,gBAAK,CAACC,MAAN,CAAa,mBAAb,CAAlB;AACA,IAAMC,KAAK,GAAGF,gBAAK,CAACC,MAAN,CAAa,OAAb,CAAd;AAEA;AACA;AACA;;IACqBE;;;;;;;;;;;;;WACnB,mBAAqB;
|
|
1
|
+
{"version":3,"file":"PlainClipboard.js","sources":["../../../src/quillOverrides/PlainClipboard.tsx"],"sourcesContent":["import { Quill } from 'react-quill';\n\nconst Clipboard = Quill.import('modules/clipboard');\nconst Delta = Quill.import('delta');\n\n/**\n * Just for the sake of an example. https://quilljs.com/docs/modules/\n */\nexport default class PlainClipboard extends Clipboard {\n convert(html = null) {\n if (typeof html === 'string') {\n this.container.innerHTML = html;\n }\n const text = this.container.innerText;\n this.container.innerHTML = '';\n return new Delta().insert(text);\n }\n}\n\n// Uncomment if adding custom clipboard, or add in the file you are importing this to\n// Quill.register('modules/clipboard', PlainClipboard)\n"],"names":["Clipboard","Quill","import","Delta","PlainClipboard","html","container","innerHTML","text","innerText","insert"],"mappings":";;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,SAAS,GAAGC,gBAAK,CAACC,MAAN,CAAa,mBAAb,CAAlB;AACA,IAAMC,KAAK,GAAGF,gBAAK,CAACC,MAAN,CAAa,OAAb,CAAd;AAEA;AACA;AACA;;IACqBE;;;;;;;;;;;;;WACnB,mBAAqB;MAAA,IAAbC,IAAa,uEAAN,IAAM;;MACnB,IAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;QAC5B,KAAKC,SAAL,CAAeC,SAAf,GAA2BF,IAA3B;;;MAEF,IAAMG,IAAI,GAAG,KAAKF,SAAL,CAAeG,SAA5B;MACA,KAAKH,SAAL,CAAeC,SAAf,GAA2B,EAA3B;MACA,OAAO,IAAIJ,KAAJ,GAAYO,MAAZ,CAAmBF,IAAnB,CAAP;;;;;EAPwCR;;;;"}
|
package/cjs/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../src/utils.tsx"],"sourcesContent":["export const formatHTML = (html) => {\n const tab = '\\t';\n let result = '';\n let indent = '';\n\n html.split(/>\\s*</).forEach((element) => {\n if (element.match(/^\\/\\w/)) {\n indent = indent.substring(tab.length);\n }\n\n result += `${indent}<${element}>\\r\\n`;\n\n if (element.match(/^<?\\w[^>]*[^/]$/)) {\n indent += tab;\n }\n });\n\n return result.substring(1, result.length - 3);\n};\n"],"names":["formatHTML","html","tab","result","indent","split","forEach","element","match","substring","length"],"mappings":";;;;IAAaA,UAAU,GAAG,SAAbA,UAAa,CAACC,IAAD,EAAU;
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../src/utils.tsx"],"sourcesContent":["export const formatHTML = (html) => {\n const tab = '\\t';\n let result = '';\n let indent = '';\n\n html.split(/>\\s*</).forEach((element) => {\n if (element.match(/^\\/\\w/)) {\n indent = indent.substring(tab.length);\n }\n\n result += `${indent}<${element}>\\r\\n`;\n\n if (element.match(/^<?\\w[^>]*[^/]$/)) {\n indent += tab;\n }\n });\n\n return result.substring(1, result.length - 3);\n};\n"],"names":["formatHTML","html","tab","result","indent","split","forEach","element","match","substring","length"],"mappings":";;;;IAAaA,UAAU,GAAG,SAAbA,UAAa,CAACC,IAAD,EAAU;EAClC,IAAMC,GAAG,GAAG,IAAZ;EACA,IAAIC,MAAM,GAAG,EAAb;EACA,IAAIC,MAAM,GAAG,EAAb;EAEAH,IAAI,CAACI,KAAL,CAAW,OAAX,EAAoBC,OAApB,CAA4B,UAACC,OAAD,EAAa;IACvC,IAAIA,OAAO,CAACC,KAAR,CAAc,OAAd,CAAJ,EAA4B;MAC1BJ,MAAM,GAAGA,MAAM,CAACK,SAAP,CAAiBP,GAAG,CAACQ,MAArB,CAAT;;;IAGFP,MAAM,cAAOC,MAAP,cAAiBG,OAAjB,UAAN;;IAEA,IAAIA,OAAO,CAACC,KAAR,CAAc,iBAAd,CAAJ,EAAsC;MACpCJ,MAAM,IAAIF,GAAV;;GARJ;EAYA,OAAOC,MAAM,CAACM,SAAP,CAAiB,CAAjB,EAAoBN,MAAM,CAACO,MAAP,GAAgB,CAApC,CAAP;AACD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DSWYSIWYGEditor.js","sources":["../../src/DSWYSIWYGEditor.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport DSWYSIWYGEditorImpl from './components/DSWYSIWYGEditorImpl';\n\nconst DSWYSIWYGEditor = ({\n value = '',\n onChange = () => null,\n getQuillRef = () => null,\n quillModules = {},\n customToolbar,\n toolbarHandlers,\n showRawHTML = false,\n height,\n hideItems,\n ...rest\n}) => {\n const emptyAction = () => {};\n const [showHTML, setShowHTML] = useState(showRawHTML);\n\n useEffect(() => setShowHTML(showRawHTML), [showRawHTML]);\n\n return (\n <DSWYSIWYGEditorImpl\n forceHttpLink\n handleCustomFieldClick={emptyAction}\n handleImageClick={emptyAction}\n quillOverrides={[]}\n value={value}\n onChange={onChange}\n getQuillRef={getQuillRef}\n quillModules={quillModules}\n customToolbar={customToolbar}\n toolbarHandlers={toolbarHandlers}\n showRawHTML={showHTML}\n onShowHTML={() => setShowHTML(!showHTML)}\n height={height}\n hideItems={hideItems}\n {...rest}\n />\n );\n};\n\nconst wysiwygEditorProps = {\n value: PropTypes.string.description('editors value').isRequired,\n onChange: PropTypes.func.description(\n `(content, delta, source, editor) : Called back with the new contents of the editor after change. \n It will be passed the HTML contents of the editor, a delta object expressing the change, the source of the change, and finally a read-only proxy to editor accessors such as getHTML(). \n ⚠️ Do not use this delta object as value, as it will cause a loop. \n Use editor.getContents() instead. See Using Deltas for details. \n Read more: https://github.com/zenoamaro/react-quill#props`,\n ).isRequired,\n getQuillRef: PropTypes.func.description('function to use quill.js ref'),\n quillModules: PropTypes.object.description('object to override quill modules'),\n customToolbar: PropTypes.element.description('custom toolbar'),\n toolbarHandlers: PropTypes.object.description('object with toolbar handlers'),\n showRawHTML: PropTypes.bool.description('whether to display html view or not').defaultValue(false),\n height: PropTypes.string.description('heigth of the editors text area'),\n readOnly: PropTypes.string.description(\n \"If true, the editor won't allow changing its contents. Wraps the Quill disable API.\",\n ),\n hideItems: PropTypes.object.description('object of defaultItems to be removed from toolbar').defaultValue({}),\n zIndex: PropTypes.number.description(\n 'zIndex to be used (required when used in a modal for correct tooltips displaying)',\n ),\n};\n\nDSWYSIWYGEditor.propTypes = wysiwygEditorProps;\n\nconst WYSIWYWithSchema = describe(DSWYSIWYGEditor);\nWYSIWYWithSchema.propTypes = wysiwygEditorProps;\n\nexport { WYSIWYWithSchema };\nexport default DSWYSIWYGEditor;\n"],"names":["DSWYSIWYGEditor","value","onChange","getQuillRef","quillModules","customToolbar","toolbarHandlers","showRawHTML","height","hideItems","rest","emptyAction","useState","showHTML","setShowHTML","useEffect","wysiwygEditorProps","PropTypes","string","description","isRequired","func","object","element","bool","defaultValue","readOnly","zIndex","number","propTypes","WYSIWYWithSchema","describe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIMA,eAAe,GAAG,SAAlBA,eAAkB,OAWlB;
|
|
1
|
+
{"version":3,"file":"DSWYSIWYGEditor.js","sources":["../../src/DSWYSIWYGEditor.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport DSWYSIWYGEditorImpl from './components/DSWYSIWYGEditorImpl';\n\nconst DSWYSIWYGEditor = ({\n value = '',\n onChange = () => null,\n getQuillRef = () => null,\n quillModules = {},\n customToolbar,\n toolbarHandlers,\n showRawHTML = false,\n height,\n hideItems,\n ...rest\n}) => {\n const emptyAction = () => {};\n const [showHTML, setShowHTML] = useState(showRawHTML);\n\n useEffect(() => setShowHTML(showRawHTML), [showRawHTML]);\n\n return (\n <DSWYSIWYGEditorImpl\n forceHttpLink\n handleCustomFieldClick={emptyAction}\n handleImageClick={emptyAction}\n quillOverrides={[]}\n value={value}\n onChange={onChange}\n getQuillRef={getQuillRef}\n quillModules={quillModules}\n customToolbar={customToolbar}\n toolbarHandlers={toolbarHandlers}\n showRawHTML={showHTML}\n onShowHTML={() => setShowHTML(!showHTML)}\n height={height}\n hideItems={hideItems}\n {...rest}\n />\n );\n};\n\nconst wysiwygEditorProps = {\n value: PropTypes.string.description('editors value').isRequired,\n onChange: PropTypes.func.description(\n `(content, delta, source, editor) : Called back with the new contents of the editor after change. \n It will be passed the HTML contents of the editor, a delta object expressing the change, the source of the change, and finally a read-only proxy to editor accessors such as getHTML(). \n ⚠️ Do not use this delta object as value, as it will cause a loop. \n Use editor.getContents() instead. See Using Deltas for details. \n Read more: https://github.com/zenoamaro/react-quill#props`,\n ).isRequired,\n getQuillRef: PropTypes.func.description('function to use quill.js ref'),\n quillModules: PropTypes.object.description('object to override quill modules'),\n customToolbar: PropTypes.element.description('custom toolbar'),\n toolbarHandlers: PropTypes.object.description('object with toolbar handlers'),\n showRawHTML: PropTypes.bool.description('whether to display html view or not').defaultValue(false),\n height: PropTypes.string.description('heigth of the editors text area'),\n readOnly: PropTypes.string.description(\n \"If true, the editor won't allow changing its contents. Wraps the Quill disable API.\",\n ),\n hideItems: PropTypes.object.description('object of defaultItems to be removed from toolbar').defaultValue({}),\n zIndex: PropTypes.number.description(\n 'zIndex to be used (required when used in a modal for correct tooltips displaying)',\n ),\n};\n\nDSWYSIWYGEditor.propTypes = wysiwygEditorProps;\n\nconst WYSIWYWithSchema = describe(DSWYSIWYGEditor);\nWYSIWYWithSchema.propTypes = wysiwygEditorProps;\n\nexport { WYSIWYWithSchema };\nexport default DSWYSIWYGEditor;\n"],"names":["DSWYSIWYGEditor","value","onChange","getQuillRef","quillModules","customToolbar","toolbarHandlers","showRawHTML","height","hideItems","rest","emptyAction","useState","showHTML","setShowHTML","useEffect","wysiwygEditorProps","PropTypes","string","description","isRequired","func","object","element","bool","defaultValue","readOnly","zIndex","number","propTypes","WYSIWYWithSchema","describe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIMA,eAAe,GAAG,SAAlBA,eAAkB,OAWlB;EAAA,sBAVJC,KAUI;MAVJA,KAUI,2BAVI,EAUJ;2BATJC,QASI;MATJA,QASI,8BATO;IAAA,OAAM,IAAN;GASP;8BARJC,WAQI;MARJA,WAQI,iCARU;IAAA,OAAM,IAAN;GAQV;+BAPJC,YAOI;MAPJA,YAOI,kCAPW,EAOX;MANJC,aAMI,QANJA,aAMI;MALJC,eAKI,QALJA,eAKI;8BAJJC,WAII;MAJJA,WAII,iCAJU,KAIV;MAHJC,MAGI,QAHJA,MAGI;MAFJC,SAEI,QAFJA,SAEI;MADDC,IACC;;EACJ,IAAMC,WAAW,GAAG,SAAdA,WAAc,GAAM,EAA1B;;EACA,gBAAgCC,QAAQ,CAACL,WAAD,CAAxC;;MAAOM,QAAP;MAAiBC,WAAjB;;EAEAC,SAAS,CAAC;IAAA,OAAMD,WAAW,CAACP,WAAD,CAAjB;GAAD,EAAiC,CAACA,WAAD,CAAjC,CAAT;EAEA,oBACE,oBAAC,mBAAD;IACE,aAAa,MADf;IAEE,sBAAsB,EAAEI,WAF1B;IAGE,gBAAgB,EAAEA,WAHpB;IAIE,cAAc,EAAE,EAJlB;IAKE,KAAK,EAAEV,KALT;IAME,QAAQ,EAAEC,QANZ;IAOE,WAAW,EAAEC,WAPf;IAQE,YAAY,EAAEC,YARhB;IASE,aAAa,EAAEC,aATjB;IAUE,eAAe,EAAEC,eAVnB;IAWE,WAAW,EAAEO,QAXf;IAYE,UAAU,EAAE;MAAA,OAAMC,WAAW,CAAC,CAACD,QAAF,CAAjB;KAZd;IAaE,MAAM,EAAEL,MAbV;IAcE,SAAS,EAAEC;KACPC,IAfN,EADF;AAmBD;;AAED,IAAMM,kBAAkB,GAAG;EACzBf,KAAK,EAAEgB,SAAS,CAACC,MAAV,CAAiBC,WAAjB,CAA6B,eAA7B,EAA8CC,UAD5B;EAEzBlB,QAAQ,EAAEe,SAAS,CAACI,IAAV,CAAeF,WAAf,4fAMRC,UARuB;EASzBjB,WAAW,EAAEc,SAAS,CAACI,IAAV,CAAeF,WAAf,CAA2B,8BAA3B,CATY;EAUzBf,YAAY,EAAEa,SAAS,CAACK,MAAV,CAAiBH,WAAjB,CAA6B,kCAA7B,CAVW;EAWzBd,aAAa,EAAEY,SAAS,CAACM,OAAV,CAAkBJ,WAAlB,CAA8B,gBAA9B,CAXU;EAYzBb,eAAe,EAAEW,SAAS,CAACK,MAAV,CAAiBH,WAAjB,CAA6B,8BAA7B,CAZQ;EAazBZ,WAAW,EAAEU,SAAS,CAACO,IAAV,CAAeL,WAAf,CAA2B,qCAA3B,EAAkEM,YAAlE,CAA+E,KAA/E,CAbY;EAczBjB,MAAM,EAAES,SAAS,CAACC,MAAV,CAAiBC,WAAjB,CAA6B,iCAA7B,CAdiB;EAezBO,QAAQ,EAAET,SAAS,CAACC,MAAV,CAAiBC,WAAjB,CACR,qFADQ,CAfe;EAkBzBV,SAAS,EAAEQ,SAAS,CAACK,MAAV,CAAiBH,WAAjB,CAA6B,mDAA7B,EAAkFM,YAAlF,CAA+F,EAA/F,CAlBc;EAmBzBE,MAAM,EAAEV,SAAS,CAACW,MAAV,CAAiBT,WAAjB,CACN,mFADM;AAnBiB,CAA3B;AAwBAnB,eAAe,CAAC6B,SAAhB,GAA4Bb,kBAA5B;IAEMc,gBAAgB,GAAGC,QAAQ,CAAC/B,eAAD;AACjC8B,gBAAgB,CAACD,SAAjB,GAA6Bb,kBAA7B;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomImageUploader.js","sources":["../../../src/components/CustomImageUploader.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable react/prop-types */\nimport React, { useState } from 'react';\nimport { Image } from '@elliemae/ds-icons';\nimport DSUploader from '@elliemae/ds-uploader';\nimport DSModal, { MODAL_TYPE_V2 } from '@elliemae/ds-modal';\nimport { TippedButton } from './TippedButton';\n\nconst ALLOWED_TYPES_TEXT = 'JPG, JPEG, PNG, GIF, BMP, TIFF';\nconst ALLOWED_TYPES = /image\\/(jpeg|jpg|png|gif|bmp|tiff)/;\nconst DEFAULT_MAX_SIZE = 1024 * 1024; // 1 MB\n\nexport const CustomImageUploader = ({\n quillRef,\n editorFieldName,\n allowedImageTypes = ALLOWED_TYPES_TEXT,\n uploadAsset = () => null,\n zIndex = 1,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const [error, setError] = useState(null);\n const [inProgress, setInProgress] = useState(false);\n const [lastSelection, setLastSelection] = useState({ index: 0, length: 0 });\n\n const elementId = `uploadImage${editorFieldName}`;\n\n // eslint-disable-next-line consistent-return\n const handleFileChange = async (files) => {\n if (!inProgress) {\n setError(null);\n const selectedFile = files[0];\n if (!selectedFile) {\n setError('Please select a file.');\n return false;\n }\n if (!selectedFile.type.match(ALLOWED_TYPES)) {\n setError('File must be an image.');\n } else if (selectedFile.size > DEFAULT_MAX_SIZE) {\n setError('File is too large.');\n } else {\n const fr = new FileReader();\n fr.onload = async () => {\n setInProgress(true);\n try {\n const url = await uploadAsset({\n name: selectedFile.name,\n type: selectedFile.type,\n description: selectedFile.name,\n isSystemAsset: false,\n file: fr.result,\n });\n setIsOpen(false);\n quillRef?.getEditor().insertEmbed(lastSelection?.index || 0, 'image', url);\n } catch (e) {\n setError('An error has occurred, try again');\n }\n setInProgress(false);\n };\n fr.readAsArrayBuffer(selectedFile);\n }\n }\n };\n return (\n <>\n <TippedButton\n zIndex={zIndex}\n tip=\"Insert Image\"\n onClick={() => {\n setLastSelection(quillRef?.getEditor().getSelection());\n setIsOpen(true);\n }}\n >\n <Image color={['neutral', 500]} size=\"s\" />\n </TippedButton>\n <DSModal\n isOpen={isOpen}\n title=\"\"\n onConfirm={() => {\n setIsOpen(false);\n }}\n onClose={() => {\n setIsOpen(false);\n }}\n showClose\n version={2}\n size=\"xsmall\"\n modalType={MODAL_TYPE_V2.DECISION}\n confirmLabel=\"Cancel\"\n message=\"\"\n >\n {!inProgress && (\n <DSUploader\n containerProps={{ id: elementId }}\n showAltAction={false}\n acceptedTypesText={allowedImageTypes}\n onDrop={handleFileChange}\n />\n )}\n {inProgress && 'Upload in progress...'}\n {error && <div style={{ color: 'red', marginTop: '10px' }}>{error}</div>}\n </DSModal>\n </>\n );\n};\n"],"names":["ALLOWED_TYPES_TEXT","ALLOWED_TYPES","DEFAULT_MAX_SIZE","CustomImageUploader","quillRef","editorFieldName","allowedImageTypes","uploadAsset","zIndex","useState","isOpen","setIsOpen","error","setError","inProgress","setInProgress","index","length","lastSelection","setLastSelection","elementId","handleFileChange","files","selectedFile","type","match","size","fr","FileReader","onload","name","description","isSystemAsset","file","result","url","getEditor","insertEmbed","readAsArrayBuffer","getSelection","MODAL_TYPE_V2","DECISION","id","color","marginTop"],"mappings":";;;;;;;;;;;;AAUA,IAAMA,kBAAkB,GAAG,gCAA3B;AACA,IAAMC,aAAa,GAAG,oCAAtB;AACA,IAAMC,gBAAgB,GAAG,OAAO,IAAhC;;IAEaC,mBAAmB,GAAG,SAAtBA,mBAAsB,OAM7B;
|
|
1
|
+
{"version":3,"file":"CustomImageUploader.js","sources":["../../../src/components/CustomImageUploader.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable react/prop-types */\nimport React, { useState } from 'react';\nimport { Image } from '@elliemae/ds-icons';\nimport DSUploader from '@elliemae/ds-uploader';\nimport DSModal, { MODAL_TYPE_V2 } from '@elliemae/ds-modal';\nimport { TippedButton } from './TippedButton';\n\nconst ALLOWED_TYPES_TEXT = 'JPG, JPEG, PNG, GIF, BMP, TIFF';\nconst ALLOWED_TYPES = /image\\/(jpeg|jpg|png|gif|bmp|tiff)/;\nconst DEFAULT_MAX_SIZE = 1024 * 1024; // 1 MB\n\nexport const CustomImageUploader = ({\n quillRef,\n editorFieldName,\n allowedImageTypes = ALLOWED_TYPES_TEXT,\n uploadAsset = () => null,\n zIndex = 1,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const [error, setError] = useState(null);\n const [inProgress, setInProgress] = useState(false);\n const [lastSelection, setLastSelection] = useState({ index: 0, length: 0 });\n\n const elementId = `uploadImage${editorFieldName}`;\n\n // eslint-disable-next-line consistent-return\n const handleFileChange = async (files) => {\n if (!inProgress) {\n setError(null);\n const selectedFile = files[0];\n if (!selectedFile) {\n setError('Please select a file.');\n return false;\n }\n if (!selectedFile.type.match(ALLOWED_TYPES)) {\n setError('File must be an image.');\n } else if (selectedFile.size > DEFAULT_MAX_SIZE) {\n setError('File is too large.');\n } else {\n const fr = new FileReader();\n fr.onload = async () => {\n setInProgress(true);\n try {\n const url = await uploadAsset({\n name: selectedFile.name,\n type: selectedFile.type,\n description: selectedFile.name,\n isSystemAsset: false,\n file: fr.result,\n });\n setIsOpen(false);\n quillRef?.getEditor().insertEmbed(lastSelection?.index || 0, 'image', url);\n } catch (e) {\n setError('An error has occurred, try again');\n }\n setInProgress(false);\n };\n fr.readAsArrayBuffer(selectedFile);\n }\n }\n };\n return (\n <>\n <TippedButton\n zIndex={zIndex}\n tip=\"Insert Image\"\n onClick={() => {\n setLastSelection(quillRef?.getEditor().getSelection());\n setIsOpen(true);\n }}\n >\n <Image color={['neutral', 500]} size=\"s\" />\n </TippedButton>\n <DSModal\n isOpen={isOpen}\n title=\"\"\n onConfirm={() => {\n setIsOpen(false);\n }}\n onClose={() => {\n setIsOpen(false);\n }}\n showClose\n version={2}\n size=\"xsmall\"\n modalType={MODAL_TYPE_V2.DECISION}\n confirmLabel=\"Cancel\"\n message=\"\"\n >\n {!inProgress && (\n <DSUploader\n containerProps={{ id: elementId }}\n showAltAction={false}\n acceptedTypesText={allowedImageTypes}\n onDrop={handleFileChange}\n />\n )}\n {inProgress && 'Upload in progress...'}\n {error && <div style={{ color: 'red', marginTop: '10px' }}>{error}</div>}\n </DSModal>\n </>\n );\n};\n"],"names":["ALLOWED_TYPES_TEXT","ALLOWED_TYPES","DEFAULT_MAX_SIZE","CustomImageUploader","quillRef","editorFieldName","allowedImageTypes","uploadAsset","zIndex","useState","isOpen","setIsOpen","error","setError","inProgress","setInProgress","index","length","lastSelection","setLastSelection","elementId","handleFileChange","files","selectedFile","type","match","size","fr","FileReader","onload","name","description","isSystemAsset","file","result","url","getEditor","insertEmbed","readAsArrayBuffer","getSelection","MODAL_TYPE_V2","DECISION","id","color","marginTop"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomToolbar.js","sources":["../../../src/components/CustomToolbar.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable complexity */\n/* eslint-disable jsx-a11y/control-has-associated-label */\n/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\n/* eslint-disable react/button-has-type */\nimport React, { useState } from 'react';\nimport DSButton from '@elliemae/ds-button';\nimport { ArrowheadDown } from '@elliemae/ds-icons';\nimport DSDropdownMenu from '@elliemae/ds-dropdownmenu';\nimport { colors, fonts, sizes, sizesReal } from '../constants';\nimport { TippedButton } from './TippedButton';\nimport { TippedSelect } from './TippedSelect';\n\n// Functions -----------------------------------------\nconst optionsToValues = (options) => options.map((opt) => opt.toLowerCase().replace(' ', '-'));\n\n// Stateless Components -----------------------------------------\n\nconst CustomFields = () => <span>ᐸᐳ</span>; // eslint-disable-line react/jsx-one-expression-per-line\nconst Color = ({ color }) => <option value={color} />;\nconst Colors = ({ className, tip, zIndex }) => (\n <TippedSelect className={className} tip={tip} zIndex={zIndex}>\n {colors.map((color) => (\n <Color key={color} color={color} />\n ))}\n </TippedSelect>\n);\n\nexport const CustomDropdown = ({\n options,\n label,\n onSelectMenuItem = () => null,\n onClickOutsideMenu = () => null,\n onClose = () => null,\n closeMenuOnItemSelection,\n isOpen,\n minWidth,\n maxWidth,\n zIndex = 10,\n}) => (\n <DSDropdownMenu\n onClickOutsideMenu={onClickOutsideMenu}\n options={options}\n onSelectMenuItem={onSelectMenuItem}\n onClose={onClose}\n closeMenuOnItemSelection={closeMenuOnItemSelection}\n isOpen={isOpen}\n minWidth={minWidth}\n maxWidth={maxWidth}\n zIndex={zIndex}\n preventOverflow=\"scrollParent\"\n triggerComponent={<DSButton labelText={label} buttonType=\"text\" icon={<ArrowheadDown />} />}\n />\n);\n\nconst Divider = () => (\n <div\n style={{\n height: '21px',\n width: '1px',\n margin: '0 10px',\n padding: '0',\n borderLeft: '1px solid #bbb',\n display: 'inline-block',\n }}\n ></div>\n);\n\nexport const CustomToolbar = ({\n customFields,\n customItems = [],\n hideItems = {},\n onShowHTML = () => {},\n id = 'toolbar',\n userProps,\n}) => {\n const {\n HEADER,\n FONT,\n FONT_SIZE,\n BOLD,\n ITALIC,\n UNDERLINE,\n STRIKE,\n SUB,\n SUPER,\n ORDERED_LIST,\n BULLET_LIST,\n INDENT_MINUS_ONE,\n INDENT_PLUS_ONE,\n ALIGN,\n FONT_COLOR,\n FONT_BACKGROUND_COLOR,\n HYPERLINK,\n IMAGE,\n CLEAR_FORMAT,\n SHOW_HTML,\n } = hideItems;\n const [showHTML, setShowHTML] = useState(false);\n\n const handleShowHTML = (e) => {\n e.preventDefault();\n setShowHTML(!showHTML);\n onShowHTML();\n };\n\n return (\n <div id={id} className=\"ds-ql-custom-toolbar\">\n {(!HEADER || !FONT || !FONT_SIZE) && (\n <span className=\"ql-formats\">\n {!HEADER && (\n <>\n <TippedSelect\n className=\"ql-header\"\n tip=\"Header\"\n values={['', '1', '2', '3', '4', '5', '6']}\n zIndex={userProps?.zIndex || 1}\n />\n <Divider />\n </>\n )}\n {!FONT && (\n <>\n <TippedSelect\n className=\"ql-font\"\n defaultValue=\"sans-serif\"\n options={fonts}\n tip=\"Font\"\n values={optionsToValues(fonts)}\n zIndex={userProps?.zIndex || 1}\n />\n <Divider />\n </>\n )}\n {!FONT_SIZE && (\n <>\n <TippedSelect\n className=\"ql-size\"\n options={sizes}\n tip=\"Font Size\"\n values={optionsToValues(sizesReal)}\n zIndex={userProps?.zIndex || 1}\n />\n <Divider />\n </>\n )}\n </span>\n )}\n {(!BOLD || !ITALIC || !UNDERLINE || !STRIKE) && (\n <span className=\"ql-formats\">\n {!BOLD && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-bold\" tip=\"Bold\" />}\n {!ITALIC && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-italic\" tip=\"Italic\" />}\n {!UNDERLINE && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-underline\" tip=\"Underline\" />}\n {!STRIKE && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-strike\" tip=\"Strike\" />}\n </span>\n )}\n {(!SUB || !SUPER) && (\n <span className=\"ql-formats\">\n {!SUB && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-script\" tip=\"Sub\" value=\"sub\" />}\n {!SUPER && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-script\" tip=\"Super\" value=\"super\" />}\n <Divider />\n </span>\n )}\n {(!ORDERED_LIST || !BULLET_LIST) && (\n <span className=\"ql-formats\">\n {!ORDERED_LIST && (\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-list\" tip=\"Ordered List\" value=\"ordered\" />\n )}\n {!BULLET_LIST && (\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-list\" tip=\"Bullet List\" value=\"bullet\" />\n )}\n </span>\n )}\n {(!INDENT_MINUS_ONE || !INDENT_PLUS_ONE) && (\n <span className=\"ql-formats\">\n {!INDENT_MINUS_ONE && (\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-indent\" tip=\"Indent -1\" value=\"-1\" />\n )}\n {!INDENT_PLUS_ONE && (\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-indent\" tip=\"Indent +1\" value=\"+1\" />\n )}\n </span>\n )}\n {!ALIGN && (\n <span className=\"ql-formats\">\n <TippedSelect zIndex={userProps?.zIndex || 1} className=\"ql-align\" tip=\"Align\" />\n <Divider />\n </span>\n )}\n {(!FONT_COLOR || !FONT_BACKGROUND_COLOR) && (\n <span className=\"ql-formats\">\n {!FONT_COLOR && <Colors zIndex={userProps?.zIndex || 1} className=\"ql-color\" tip=\"Font Color\" />}\n {!FONT_BACKGROUND_COLOR && (\n <Colors zIndex={userProps?.zIndex || 1} className=\"ql-background\" tip=\"Font Background Color\" />\n )}\n <Divider />\n </span>\n )}\n {(!HYPERLINK || !IMAGE) && (\n <span className=\"ql-formats\">\n {!HYPERLINK && (\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-link\" tip=\"Hyperlink: Select Text First\" />\n )}\n {!IMAGE && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-image\" tip=\"Insert Image\" />}\n <Divider />\n </span>\n )}\n {!CLEAR_FORMAT && (\n <span className=\"ql-formats\">\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-clean\" tip=\"Clear Format (Select Text)\" />\n </span>\n )}\n {!SHOW_HTML && (\n <span className=\"ql-formats\">\n <Divider />\n <TippedButton\n zIndex={userProps?.zIndex || 1}\n style={{\n width: 'fit-content',\n color: '#1e79c2',\n fontWeight: '500',\n }}\n onClick={handleShowHTML}\n tip={showHTML ? 'SHOW TEXT' : 'SHOW HTML'}\n className=\"ql-customFields-html\"\n >\n {showHTML ? 'SHOW TEXT' : 'SHOW HTML'}\n </TippedButton>\n </span>\n )}\n {customFields && (\n <span className=\"ql-formats\">\n <Divider />\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-customFields\" tip=\"Insert Custom Field\">\n <CustomFields />\n </TippedButton>\n </span>\n )}\n {customItems && (\n <span style={{ display: 'inline-flex' }}>\n {customItems.map((Item) => (\n <>\n <Divider />\n <Item />\n </>\n ))}\n </span>\n )}\n </div>\n );\n};\n"],"names":["optionsToValues","options","map","opt","toLowerCase","replace","CustomFields","Color","color","Colors","className","tip","zIndex","colors","CustomDropdown","label","onSelectMenuItem","onClickOutsideMenu","onClose","closeMenuOnItemSelection","isOpen","minWidth","maxWidth","Divider","height","width","margin","padding","borderLeft","display","CustomToolbar","customFields","customItems","hideItems","onShowHTML","id","userProps","HEADER","FONT","FONT_SIZE","BOLD","ITALIC","UNDERLINE","STRIKE","SUB","SUPER","ORDERED_LIST","BULLET_LIST","INDENT_MINUS_ONE","INDENT_PLUS_ONE","ALIGN","FONT_COLOR","FONT_BACKGROUND_COLOR","HYPERLINK","IMAGE","CLEAR_FORMAT","SHOW_HTML","useState","showHTML","setShowHTML","handleShowHTML","e","preventDefault","fonts","sizes","sizesReal","fontWeight","Item"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CustomToolbar.js","sources":["../../../src/components/CustomToolbar.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable complexity */\n/* eslint-disable jsx-a11y/control-has-associated-label */\n/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\n/* eslint-disable react/button-has-type */\nimport React, { useState } from 'react';\nimport DSButton from '@elliemae/ds-button';\nimport { ArrowheadDown } from '@elliemae/ds-icons';\nimport DSDropdownMenu from '@elliemae/ds-dropdownmenu';\nimport { colors, fonts, sizes, sizesReal } from '../constants';\nimport { TippedButton } from './TippedButton';\nimport { TippedSelect } from './TippedSelect';\n\n// Functions -----------------------------------------\nconst optionsToValues = (options) => options.map((opt) => opt.toLowerCase().replace(' ', '-'));\n\n// Stateless Components -----------------------------------------\n\nconst CustomFields = () => <span>ᐸᐳ</span>; // eslint-disable-line react/jsx-one-expression-per-line\nconst Color = ({ color }) => <option value={color} />;\nconst Colors = ({ className, tip, zIndex }) => (\n <TippedSelect className={className} tip={tip} zIndex={zIndex}>\n {colors.map((color) => (\n <Color key={color} color={color} />\n ))}\n </TippedSelect>\n);\n\nexport const CustomDropdown = ({\n options,\n label,\n onSelectMenuItem = () => null,\n onClickOutsideMenu = () => null,\n onClose = () => null,\n closeMenuOnItemSelection,\n isOpen,\n minWidth,\n maxWidth,\n zIndex = 10,\n}) => (\n <DSDropdownMenu\n onClickOutsideMenu={onClickOutsideMenu}\n options={options}\n onSelectMenuItem={onSelectMenuItem}\n onClose={onClose}\n closeMenuOnItemSelection={closeMenuOnItemSelection}\n isOpen={isOpen}\n minWidth={minWidth}\n maxWidth={maxWidth}\n zIndex={zIndex}\n preventOverflow=\"scrollParent\"\n triggerComponent={<DSButton labelText={label} buttonType=\"text\" icon={<ArrowheadDown />} />}\n />\n);\n\nconst Divider = () => (\n <div\n style={{\n height: '21px',\n width: '1px',\n margin: '0 10px',\n padding: '0',\n borderLeft: '1px solid #bbb',\n display: 'inline-block',\n }}\n ></div>\n);\n\nexport const CustomToolbar = ({\n customFields,\n customItems = [],\n hideItems = {},\n onShowHTML = () => {},\n id = 'toolbar',\n userProps,\n}) => {\n const {\n HEADER,\n FONT,\n FONT_SIZE,\n BOLD,\n ITALIC,\n UNDERLINE,\n STRIKE,\n SUB,\n SUPER,\n ORDERED_LIST,\n BULLET_LIST,\n INDENT_MINUS_ONE,\n INDENT_PLUS_ONE,\n ALIGN,\n FONT_COLOR,\n FONT_BACKGROUND_COLOR,\n HYPERLINK,\n IMAGE,\n CLEAR_FORMAT,\n SHOW_HTML,\n } = hideItems;\n const [showHTML, setShowHTML] = useState(false);\n\n const handleShowHTML = (e) => {\n e.preventDefault();\n setShowHTML(!showHTML);\n onShowHTML();\n };\n\n return (\n <div id={id} className=\"ds-ql-custom-toolbar\">\n {(!HEADER || !FONT || !FONT_SIZE) && (\n <span className=\"ql-formats\">\n {!HEADER && (\n <>\n <TippedSelect\n className=\"ql-header\"\n tip=\"Header\"\n values={['', '1', '2', '3', '4', '5', '6']}\n zIndex={userProps?.zIndex || 1}\n />\n <Divider />\n </>\n )}\n {!FONT && (\n <>\n <TippedSelect\n className=\"ql-font\"\n defaultValue=\"sans-serif\"\n options={fonts}\n tip=\"Font\"\n values={optionsToValues(fonts)}\n zIndex={userProps?.zIndex || 1}\n />\n <Divider />\n </>\n )}\n {!FONT_SIZE && (\n <>\n <TippedSelect\n className=\"ql-size\"\n options={sizes}\n tip=\"Font Size\"\n values={optionsToValues(sizesReal)}\n zIndex={userProps?.zIndex || 1}\n />\n <Divider />\n </>\n )}\n </span>\n )}\n {(!BOLD || !ITALIC || !UNDERLINE || !STRIKE) && (\n <span className=\"ql-formats\">\n {!BOLD && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-bold\" tip=\"Bold\" />}\n {!ITALIC && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-italic\" tip=\"Italic\" />}\n {!UNDERLINE && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-underline\" tip=\"Underline\" />}\n {!STRIKE && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-strike\" tip=\"Strike\" />}\n </span>\n )}\n {(!SUB || !SUPER) && (\n <span className=\"ql-formats\">\n {!SUB && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-script\" tip=\"Sub\" value=\"sub\" />}\n {!SUPER && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-script\" tip=\"Super\" value=\"super\" />}\n <Divider />\n </span>\n )}\n {(!ORDERED_LIST || !BULLET_LIST) && (\n <span className=\"ql-formats\">\n {!ORDERED_LIST && (\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-list\" tip=\"Ordered List\" value=\"ordered\" />\n )}\n {!BULLET_LIST && (\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-list\" tip=\"Bullet List\" value=\"bullet\" />\n )}\n </span>\n )}\n {(!INDENT_MINUS_ONE || !INDENT_PLUS_ONE) && (\n <span className=\"ql-formats\">\n {!INDENT_MINUS_ONE && (\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-indent\" tip=\"Indent -1\" value=\"-1\" />\n )}\n {!INDENT_PLUS_ONE && (\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-indent\" tip=\"Indent +1\" value=\"+1\" />\n )}\n </span>\n )}\n {!ALIGN && (\n <span className=\"ql-formats\">\n <TippedSelect zIndex={userProps?.zIndex || 1} className=\"ql-align\" tip=\"Align\" />\n <Divider />\n </span>\n )}\n {(!FONT_COLOR || !FONT_BACKGROUND_COLOR) && (\n <span className=\"ql-formats\">\n {!FONT_COLOR && <Colors zIndex={userProps?.zIndex || 1} className=\"ql-color\" tip=\"Font Color\" />}\n {!FONT_BACKGROUND_COLOR && (\n <Colors zIndex={userProps?.zIndex || 1} className=\"ql-background\" tip=\"Font Background Color\" />\n )}\n <Divider />\n </span>\n )}\n {(!HYPERLINK || !IMAGE) && (\n <span className=\"ql-formats\">\n {!HYPERLINK && (\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-link\" tip=\"Hyperlink: Select Text First\" />\n )}\n {!IMAGE && <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-image\" tip=\"Insert Image\" />}\n <Divider />\n </span>\n )}\n {!CLEAR_FORMAT && (\n <span className=\"ql-formats\">\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-clean\" tip=\"Clear Format (Select Text)\" />\n </span>\n )}\n {!SHOW_HTML && (\n <span className=\"ql-formats\">\n <Divider />\n <TippedButton\n zIndex={userProps?.zIndex || 1}\n style={{\n width: 'fit-content',\n color: '#1e79c2',\n fontWeight: '500',\n }}\n onClick={handleShowHTML}\n tip={showHTML ? 'SHOW TEXT' : 'SHOW HTML'}\n className=\"ql-customFields-html\"\n >\n {showHTML ? 'SHOW TEXT' : 'SHOW HTML'}\n </TippedButton>\n </span>\n )}\n {customFields && (\n <span className=\"ql-formats\">\n <Divider />\n <TippedButton zIndex={userProps?.zIndex || 1} className=\"ql-customFields\" tip=\"Insert Custom Field\">\n <CustomFields />\n </TippedButton>\n </span>\n )}\n {customItems && (\n <span style={{ display: 'inline-flex' }}>\n {customItems.map((Item) => (\n <>\n <Divider />\n <Item />\n </>\n ))}\n </span>\n )}\n </div>\n );\n};\n"],"names":["optionsToValues","options","map","opt","toLowerCase","replace","CustomFields","Color","color","Colors","className","tip","zIndex","colors","CustomDropdown","label","onSelectMenuItem","onClickOutsideMenu","onClose","closeMenuOnItemSelection","isOpen","minWidth","maxWidth","Divider","height","width","margin","padding","borderLeft","display","CustomToolbar","customFields","customItems","hideItems","onShowHTML","id","userProps","HEADER","FONT","FONT_SIZE","BOLD","ITALIC","UNDERLINE","STRIKE","SUB","SUPER","ORDERED_LIST","BULLET_LIST","INDENT_MINUS_ONE","INDENT_PLUS_ONE","ALIGN","FONT_COLOR","FONT_BACKGROUND_COLOR","HYPERLINK","IMAGE","CLEAR_FORMAT","SHOW_HTML","useState","showHTML","setShowHTML","handleShowHTML","e","preventDefault","fonts","sizes","sizesReal","fontWeight","Item"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DSWYSIWYGEditorImpl.js","sources":["../../../src/components/DSWYSIWYGEditorImpl.tsx"],"sourcesContent":["/* 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';\n\nimport ImageLibraryModal from './ImageLibraryModal';\nimport InsertFieldModal from './InsertFieldModal';\nimport { CustomToolbar } from './CustomToolbar';\nimport IndentStyle from '../quillOverrides/IndentStyle';\nimport LinkFormat from '../quillOverrides/LinkFormat';\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// -----------------------------------------\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 // 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 this.state = {\n isImageModalOpen: false,\n isFieldModalOpen: false,\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 const editor = quillDomRef.getEditor();\n this.props.getQuillRef(quillDomRef);\n // https://github.com/quilljs/quill/issues/2677\n editor.clipboard.addMatcher('a', clipboardLinkWithTagMatcher);\n });\n }\n\n // eslint-disable-next-line max-params\n onChangeQuill = (html, delta, source, editor) => {\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 getEditor() {\n return this.quill.getEditor();\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 handleImageClick,\n handleCustomFieldClick,\n height,\n value,\n showRawHTML,\n onShowHTML,\n onChange,\n hideItems,\n ...editorProps\n } = this.props;\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 {...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"],"names":["Quill","register","BlotFormatter","AlignStyle","import","FontStyle","whitelist","SizeStyle","Block","tagName","IndentStyle","DSWYSIWYGEditorImpl","props","quillModules","toolbar","container","toolbarContainer","handlers","toolbarHandlers","clipboard","matchVisual","blotFormatter","onChangeQuill","html","delta","source","editor","showRawHTML","onChange","onChangeTextArea","e","target","value","onInserFieldConfirm","fieldCode","getEditor","range","getSelection","insertText","index","onImageConfirm","image","insertEmbed","url","onFieldModalClose","setState","isFieldModalOpen","onImageModalClose","isImageModalOpen","quillRef","ref","quill","LinkFormat","quillOverrides","length","map","override","state","imagesData","handleImageClick","customFields","handleCustomFieldClick","setTimeout","quillDomRef","getQuillRef","addMatcher","clipboardLinkWithTagMatcher","containerProps","customToolbar","height","onShowHTML","hideItems","editorProps","borderBottom","width","resize","minHeight","formatHTML","React","PureComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DSWYSIWYGEditorImpl.js","sources":["../../../src/components/DSWYSIWYGEditorImpl.tsx"],"sourcesContent":["/* 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';\n\nimport ImageLibraryModal from './ImageLibraryModal';\nimport InsertFieldModal from './InsertFieldModal';\nimport { CustomToolbar } from './CustomToolbar';\nimport IndentStyle from '../quillOverrides/IndentStyle';\nimport LinkFormat from '../quillOverrides/LinkFormat';\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// -----------------------------------------\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 // 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 this.state = {\n isImageModalOpen: false,\n isFieldModalOpen: false,\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 const editor = quillDomRef.getEditor();\n this.props.getQuillRef(quillDomRef);\n // https://github.com/quilljs/quill/issues/2677\n editor.clipboard.addMatcher('a', clipboardLinkWithTagMatcher);\n });\n }\n\n // eslint-disable-next-line max-params\n onChangeQuill = (html, delta, source, editor) => {\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 getEditor() {\n return this.quill.getEditor();\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 handleImageClick,\n handleCustomFieldClick,\n height,\n value,\n showRawHTML,\n onShowHTML,\n onChange,\n hideItems,\n ...editorProps\n } = this.props;\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 {...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"],"names":["Quill","register","BlotFormatter","AlignStyle","import","FontStyle","whitelist","SizeStyle","Block","tagName","IndentStyle","DSWYSIWYGEditorImpl","props","quillModules","toolbar","container","toolbarContainer","handlers","toolbarHandlers","clipboard","matchVisual","blotFormatter","onChangeQuill","html","delta","source","editor","showRawHTML","onChange","onChangeTextArea","e","target","value","onInserFieldConfirm","fieldCode","getEditor","range","getSelection","insertText","index","onImageConfirm","image","insertEmbed","url","onFieldModalClose","setState","isFieldModalOpen","onImageModalClose","isImageModalOpen","quillRef","ref","quill","LinkFormat","quillOverrides","length","map","override","state","imagesData","handleImageClick","customFields","handleCustomFieldClick","setTimeout","quillDomRef","getQuillRef","addMatcher","clipboardLinkWithTagMatcher","containerProps","customToolbar","height","onShowHTML","hideItems","editorProps","borderBottom","width","resize","minHeight","formatHTML","React","PureComponent"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageLibraryModal.js","sources":["../../../src/components/ImageLibraryModal.tsx"],"sourcesContent":["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:\n '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 (\n <DSImageLibraryModal\n {...this.props}\n onConfirm={this.onConfirm}\n onSelect={this.onSelect}\n />\n );\n }\n}\n"],"names":["ImageLibraryModal","props","onSelect","selectedImage","setState","onConfirm","state","onClose","undefined","React","PureComponent","propTypes","PropTypes","func","isRequired","onReject","imagesData","arrayOf","shape","id","string","url","name","description","createdBy","createdDate","isOpen","bool","defaultProps"],"mappings":";;;;;;;;;;;;;;IAIqBA;;;;;
|
|
1
|
+
{"version":3,"file":"ImageLibraryModal.js","sources":["../../../src/components/ImageLibraryModal.tsx"],"sourcesContent":["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:\n '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 (\n <DSImageLibraryModal\n {...this.props}\n onConfirm={this.onConfirm}\n onSelect={this.onSelect}\n />\n );\n }\n}\n"],"names":["ImageLibraryModal","props","onSelect","selectedImage","setState","onConfirm","state","onClose","undefined","React","PureComponent","propTypes","PropTypes","func","isRequired","onReject","imagesData","arrayOf","shape","id","string","url","name","description","createdBy","createdDate","isOpen","bool","defaultProps"],"mappings":";;;;;;;;;;;;;;IAIqBA;;;;;EAqCnB,2BAAYC,KAAZ,EAAmB;IAAA;;IAAA;;IACjB,0BAAMA,KAAN;;IADiB,MAOnBC,QAPmB,GAOR,UAAAC,aAAa,EAAI;MAC1B,MAAKC,QAAL,CAAc;QAAED,aAAa,EAAbA;OAAhB;KARiB;;IAAA,MAWnBE,SAXmB,GAWP,YAAM;MAChB,IAAQF,aAAR,GAA0B,MAAKG,KAA/B,CAAQH,aAAR;MACA,kBAA+B,MAAKF,KAApC;UAAQI,SAAR,eAAQA,SAAR;UAAmBE,OAAnB,eAAmBA,OAAnB;MACAF,SAAS,CAACF,aAAD,CAAT;MACAI,OAAO;KAfU;;IAEjB,MAAKD,KAAL,GAAa;MACXH,aAAa,EAAEK;KADjB;IAFiB;;;;;WAkBnB,kBAAS;MACP,oBACE,oBAAC,mBAAD,eACM,KAAKP,KADX;QAEE,SAAS,EAAE,KAAKI,SAFlB;QAGE,QAAQ,EAAE,KAAKH;SAJnB;;;;;EAxD2CO,KAAK,CAACC;;AAAhCV,kBACZW,YAAY;EACjBN,SAAS,EAAEO,SAAS,CAACC,IAAV,CAAeC,UADT;EAEjBP,OAAO,EAAEK,SAAS,CAACC,IAAV,CAAeC,UAFP;EAGjBC,QAAQ,EAAEH,SAAS,CAACC,IAHH;EAIjBG,UAAU,EAAEJ,SAAS,CAACK,OAAV,CACVL,SAAS,CAACM,KAAV,CAAgB;IACdC,EAAE,EAAEP,SAAS,CAACQ,MADA;IAEdC,GAAG,EAAET,SAAS,CAACQ,MAAV,CAAiBN,UAFR;IAGdQ,IAAI,EAAEV,SAAS,CAACQ,MAAV,CAAiBN,UAHT;IAIdS,WAAW,EAAEX,SAAS,CAACQ,MAJT;IAKdI,SAAS,EAAEZ,SAAS,CAACQ,MAAV,CAAiBN,UALd;IAMdW,WAAW,EAAEb,SAAS,CAACQ,MAAV,CAAiBN;GANhC,CADU,CAJK;EAcjBY,MAAM,EAAEd,SAAS,CAACe,IAAV,CAAeb;AAdN;AADAd,kBAkBZ4B,eAAe;EACpBb,QAAQ,EAAEP,SADU;EAEpBQ,UAAU,EAAE,CACV;IACEK,GAAG,EAAE,6DADP;IAEEC,IAAI,EAAE,UAFR;IAGEE,SAAS,EAAE,eAHb;IAIEC,WAAW,EAAE;GALL,EAOV;IACEJ,GAAG,EACD,kGAFJ;IAGEC,IAAI,EAAE,YAHR;IAIEE,SAAS,EAAE,eAJb;IAKEC,WAAW,EAAE;GAZL;AAFQ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InsertFieldModal.js","sources":["../../../src/components/InsertFieldModal.tsx"],"sourcesContent":["/* 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/constants';\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', '« Field ID »')}\n {this.renderElements()}\n </div>\n </div>\n </DSModal>\n );\n }\n}\n"],"names":["modalTypes","Object","values","MODAL_TYPE","elementClassName","InsertFieldModal","props","onConfirm","onClose","selectedFieldCode","state","onReject","drawDiv","className","content","content2","drawLabel","label","value","handleElementClick","e","key","fCode","disableDoubleClick","setState","onSelect","preventSpacebarScroll","document","onkeypress","includes","target","window","event","charCode","keyCode","which","preventDefault","renderElements","customFields","map","customField","idx","extras","fieldCode","getFieldCode","focusFirst","ref","element","focus","undefined","getFieldName","fields","nextProps","modalProps","React","PureComponent","propTypes","PropTypes","func","isRequired","confirmLabel","string","arrayOf","bool","isOpen","modalTitle","modalType","rejectLabel","shouldCloseOnOverlayClick","size","defaultProps","sizeOptions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InsertFieldModal.js","sources":["../../../src/components/InsertFieldModal.tsx"],"sourcesContent":["/* 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/constants';\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', '« Field ID »')}\n {this.renderElements()}\n </div>\n </div>\n </DSModal>\n );\n }\n}\n"],"names":["modalTypes","Object","values","MODAL_TYPE","elementClassName","InsertFieldModal","props","onConfirm","onClose","selectedFieldCode","state","onReject","drawDiv","className","content","content2","drawLabel","label","value","handleElementClick","e","key","fCode","disableDoubleClick","setState","onSelect","preventSpacebarScroll","document","onkeypress","includes","target","window","event","charCode","keyCode","which","preventDefault","renderElements","customFields","map","customField","idx","extras","fieldCode","getFieldCode","focusFirst","ref","element","focus","undefined","getFieldName","fields","nextProps","modalProps","React","PureComponent","propTypes","PropTypes","func","isRequired","confirmLabel","string","arrayOf","bool","isOpen","modalTitle","modalType","rejectLabel","shouldCloseOnOverlayClick","size","defaultProps","sizeOptions"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TippedButton.js","sources":["../../../src/components/TippedButton.tsx"],"sourcesContent":["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}>\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"],"names":["TippedButton","className","tip","children","onClick","zIndex","rest","e","preventDefault"],"mappings":";;;;;;IAaaA,YAAY,GAAG,SAAfA,YAAe;
|
|
1
|
+
{"version":3,"file":"TippedButton.js","sources":["../../../src/components/TippedButton.tsx"],"sourcesContent":["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}>\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"],"names":["TippedButton","className","tip","children","onClick","zIndex","rest","e","preventDefault"],"mappings":";;;;;;IAaaA,YAAY,GAAG,SAAfA,YAAe;EAAA,IAC1BC,SAD0B,QAC1BA,SAD0B;MAE1BC,GAF0B,QAE1BA,GAF0B;MAG1BC,QAH0B,QAG1BA,QAH0B;0BAI1BC,OAJ0B;MAI1BA,QAJ0B,6BAIhB;IAAA,OAAM,IAAN;GAJgB;yBAK1BC,MAL0B;MAK1BA,MAL0B,4BAKjB,CALiB;MAMvBC,IANuB;;EAAA,oBAQ1B;IAAK,SAAS,EAAC;kBACb,oBAAC,WAAD;IAAa,IAAI,EAAEJ,GAAnB;IAAwB,MAAM,EAAEG;kBAC9B;IACE,IAAI,EAAC,QADP;IAEE,SAAS,EAAEJ,SAFb;IAGE,OAAO,EAAE,iBAACM,CAAD,EAAO;MACdA,CAAC,CAACC,cAAF;;MACAJ,QAAO,CAACG,CAAD,CAAP;;KAEED,IAPN,GASGH,QATH,CADF,CADF,CAR0B;AAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TippedSelect.js","sources":["../../../src/components/TippedSelect.tsx"],"sourcesContent":["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}>\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"],"names":["TippedSelect","props","tip","onChange","className","options","defaultValue","values","zIndex","children","fallBackChildren","map","value","index","e","persist"],"mappings":";;;IAcaA,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAA4C;
|
|
1
|
+
{"version":3,"file":"TippedSelect.js","sources":["../../../src/components/TippedSelect.tsx"],"sourcesContent":["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}>\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"],"names":["TippedSelect","props","tip","onChange","className","options","defaultValue","values","zIndex","children","fallBackChildren","map","value","index","e","persist"],"mappings":";;;IAcaA,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAA4C;EACtE,IAAQC,GAAR,GAAwGD,KAAxG,CAAQC,GAAR;wBAAwGD,KAAxG,CAAaE,QAAb;MAAaA,SAAb,gCAAwB;IAAA,OAAM,IAAN;GAAxB;MAAoCC,SAApC,GAAwGH,KAAxG,CAAoCG,SAApC;MAA+CC,OAA/C,GAAwGJ,KAAxG,CAA+CI,OAA/C;4BAAwGJ,KAAxG,CAAwDK,YAAxD;MAAwDA,YAAxD,oCAAuE,EAAvE;MAA2EC,MAA3E,GAAwGN,KAAxG,CAA2EM,MAA3E;MAAmFC,MAAnF,GAAwGP,KAAxG,CAAmFO,MAAnF;MAA2FC,QAA3F,GAAwGR,KAAxG,CAA2FQ,QAA3F;;EACA,IAAMC,gBAAgB,GACpBH,MAAM,IACNA,MAAM,CAACI,GAAP,CAAW,UAACC,KAAD,EAAQC,KAAR;IAAA,oBACT;MAAQ,GAAG,EAAED,KAAb;MAAoB,KAAK,EAAEA,KAAK,KAAK,QAAV,GAAqB,EAArB,GAA0BA;OAClDP,OAAO,GAAGA,OAAO,CAACQ,KAAD,CAAV,GAAoB,IAD9B,CADS;GAAX,CAFF;EAQA,oBACE;IAAK,SAAS,EAAC;kBACb,oBAAC,WAAD;IAAa,IAAI,EAAEX,GAAnB;IAAwB,MAAM,EAAEM;kBAC9B,8CACE;IACE,SAAS,EAAEJ,SADb;IAEE,YAAY,EAAEE,YAFhB;IAGE,QAAQ,EAAE,kBAACQ,CAAD,EAAO;MACfA,CAAC,CAACC,OAAF;;MACAZ,SAAQ,CAACW,CAAD,CAAR;;KAGDL,QAAQ,IAAIC,gBARf,CADF,CADF,CADF,CADF;AAkBD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.js","sources":["../../../src/components/colors.tsx"],"sourcesContent":["function sinToHex(i, size, phase) {\n const sin = Math.sin((Math.PI / size) * 2 * i + phase);\n const int = Math.floor(sin * 127) + 128;\n const hex = int.toString(16);\n\n return hex.length === 1 ? `0${hex}` : hex;\n}\nexport function getRainbowColors(size = 28) {\n const colors = new Array(size).fill(undefined);\n return colors.map((color, idx) => {\n const red = sinToHex(idx, size, (0 * Math.PI * 2) / 3); // 0 deg\n const blue = sinToHex(idx, size, (1 * Math.PI * 2) / 3); // 120 deg\n const green = sinToHex(idx, size, (2 * Math.PI * 2) / 3); // 240 deg\n\n color = `#${red}${green}${blue}`;\n return color;\n });\n}\n"],"names":["sinToHex","i","size","phase","sin","Math","PI","int","floor","hex","toString","length","getRainbowColors","colors","Array","fill","undefined","map","color","idx","red","blue","green"],"mappings":"AAAA,SAASA,QAAT,CAAkBC,CAAlB,EAAqBC,IAArB,EAA2BC,KAA3B,EAAkC;
|
|
1
|
+
{"version":3,"file":"colors.js","sources":["../../../src/components/colors.tsx"],"sourcesContent":["function sinToHex(i, size, phase) {\n const sin = Math.sin((Math.PI / size) * 2 * i + phase);\n const int = Math.floor(sin * 127) + 128;\n const hex = int.toString(16);\n\n return hex.length === 1 ? `0${hex}` : hex;\n}\nexport function getRainbowColors(size = 28) {\n const colors = new Array(size).fill(undefined);\n return colors.map((color, idx) => {\n const red = sinToHex(idx, size, (0 * Math.PI * 2) / 3); // 0 deg\n const blue = sinToHex(idx, size, (1 * Math.PI * 2) / 3); // 120 deg\n const green = sinToHex(idx, size, (2 * Math.PI * 2) / 3); // 240 deg\n\n color = `#${red}${green}${blue}`;\n return color;\n });\n}\n"],"names":["sinToHex","i","size","phase","sin","Math","PI","int","floor","hex","toString","length","getRainbowColors","colors","Array","fill","undefined","map","color","idx","red","blue","green"],"mappings":"AAAA,SAASA,QAAT,CAAkBC,CAAlB,EAAqBC,IAArB,EAA2BC,KAA3B,EAAkC;EAChC,IAAMC,GAAG,GAAGC,IAAI,CAACD,GAAL,CAAUC,IAAI,CAACC,EAAL,GAAUJ,IAAX,GAAmB,CAAnB,GAAuBD,CAAvB,GAA2BE,KAApC,CAAZ;EACA,IAAMI,GAAG,GAAGF,IAAI,CAACG,KAAL,CAAWJ,GAAG,GAAG,GAAjB,IAAwB,GAApC;EACA,IAAMK,GAAG,GAAGF,GAAG,CAACG,QAAJ,CAAa,EAAb,CAAZ;EAEA,OAAOD,GAAG,CAACE,MAAJ,KAAe,CAAf,cAAuBF,GAAvB,IAA+BA,GAAtC;AACD;;AACM,SAASG,gBAAT,GAAqC;EAAA,IAAXV,IAAW,uEAAJ,EAAI;EAC1C,IAAMW,MAAM,GAAG,IAAIC,KAAJ,CAAUZ,IAAV,EAAgBa,IAAhB,CAAqBC,SAArB,CAAf;EACA,OAAOH,MAAM,CAACI,GAAP,CAAW,UAACC,KAAD,EAAQC,GAAR,EAAgB;IAChC,IAAMC,GAAG,GAAGpB,QAAQ,CAACmB,GAAD,EAAMjB,IAAN,EAAa,IAAIG,IAAI,CAACC,EAAT,GAAc,CAAf,GAAoB,CAAhC,CAApB,CADgC;;IAEhC,IAAMe,IAAI,GAAGrB,QAAQ,CAACmB,GAAD,EAAMjB,IAAN,EAAa,IAAIG,IAAI,CAACC,EAAT,GAAc,CAAf,GAAoB,CAAhC,CAArB,CAFgC;;IAGhC,IAAMgB,KAAK,GAAGtB,QAAQ,CAACmB,GAAD,EAAMjB,IAAN,EAAa,IAAIG,IAAI,CAACC,EAAT,GAAc,CAAf,GAAoB,CAAhC,CAAtB,CAHgC;;IAKhCY,KAAK,cAAOE,GAAP,SAAaE,KAAb,SAAqBD,IAArB,CAAL;IACA,OAAOH,KAAP;GANK,CAAP;AAQD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customFields.js","sources":["../../../src/components/customFields.tsx"],"sourcesContent":["export const fields = [\n 'Lender Name «315»',\n 'Lender Address «319»',\n 'Lender City «313»',\n 'Lender State «321»',\n 'Lender Zip «323»',\n 'Borrower First Name «4000»',\n 'Borrower Last Name «4002»',\n 'Total Loan Amount «2»',\n 'Loan Term «4»',\n 'Loan to Value «976»',\n 'Monthly Payment «912»',\n 'Interest Rate «3»',\n 'Loan Originator Name «1612»',\n 'Loan Originator Email «3968»',\n 'Loan Originator Phone «1823»',\n 'NMLS Loan Originator ID «3238»',\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('«') !== -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('«');\n return field.substring(0, codeIndex);\n};\n/**\n * Returns a field's id. E.g: «456»\n *\n * @param field\n */\nexport const getFieldCode = (field) => {\n const codeIndex = field.indexOf('«');\n return field.substring(codeIndex);\n};\n\nexport default {\n fields,\n getFields,\n getFieldName,\n getFieldCode,\n};\n"],"names":["fields","getFields","customFields","map","opt","index","id","label","onClick","indexOf","onOptionClick","getFieldCode","type","getFieldName","field","codeIndex","substring"],"mappings":";;IAAaA,MAAM,GAAG,CACpB,qBADoB,EAEpB,wBAFoB,EAGpB,qBAHoB,EAIpB,sBAJoB,EAKpB,oBALoB,EAMpB,8BANoB,EAOpB,6BAPoB,EAQpB,yBARoB,EASpB,iBAToB,EAUpB,uBAVoB,EAWpB,yBAXoB,EAYpB,qBAZoB,EAapB,+BAboB,EAcpB,gCAdoB,EAepB,gCAfoB,EAgBpB,kCAhBoB;AAkBtB;AACA;AACA;AACA;AACA;;IACaC,SAAS,GAAG,SAAZA,SAAY;
|
|
1
|
+
{"version":3,"file":"customFields.js","sources":["../../../src/components/customFields.tsx"],"sourcesContent":["export const fields = [\n 'Lender Name «315»',\n 'Lender Address «319»',\n 'Lender City «313»',\n 'Lender State «321»',\n 'Lender Zip «323»',\n 'Borrower First Name «4000»',\n 'Borrower Last Name «4002»',\n 'Total Loan Amount «2»',\n 'Loan Term «4»',\n 'Loan to Value «976»',\n 'Monthly Payment «912»',\n 'Interest Rate «3»',\n 'Loan Originator Name «1612»',\n 'Loan Originator Email «3968»',\n 'Loan Originator Phone «1823»',\n 'NMLS Loan Originator ID «3238»',\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('«') !== -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('«');\n return field.substring(0, codeIndex);\n};\n/**\n * Returns a field's id. E.g: «456»\n *\n * @param field\n */\nexport const getFieldCode = (field) => {\n const codeIndex = field.indexOf('«');\n return field.substring(codeIndex);\n};\n\nexport default {\n fields,\n getFields,\n getFieldName,\n getFieldCode,\n};\n"],"names":["fields","getFields","customFields","map","opt","index","id","label","onClick","indexOf","onOptionClick","getFieldCode","type","getFieldName","field","codeIndex","substring"],"mappings":";;IAAaA,MAAM,GAAG,CACpB,qBADoB,EAEpB,wBAFoB,EAGpB,qBAHoB,EAIpB,sBAJoB,EAKpB,oBALoB,EAMpB,8BANoB,EAOpB,6BAPoB,EAQpB,yBARoB,EASpB,iBAToB,EAUpB,uBAVoB,EAWpB,yBAXoB,EAYpB,qBAZoB,EAapB,+BAboB,EAcpB,gCAdoB,EAepB,gCAfoB,EAgBpB,kCAhBoB;AAkBtB;AACA;AACA;AACA;AACA;;IACaC,SAAS,GAAG,SAAZA,SAAY;EAAA,IAACC,YAAD,uEAAgBF,MAAhB;EAAA,OACvBE,YAAY,CAACC,GAAb,CAAiB,UAACC,GAAD,EAAMC,KAAN;IAAA,OAAiB;MAChCC,EAAE,YAAKF,GAAL,cAAYC,KAAZ,CAD8B;;MAGhCE,KAAK,YAAKH,GAAL,CAH2B;MAIhCI,OAAO,EAAEJ,GAAG,CAACK,OAAJ,CAAY,GAAZ,MAAqB,CAAC,CAAtB,GAA0B;QAAA,OAAM,KAAI,CAACC,aAAL,CAAmB,KAAI,CAACC,YAAL,CAAkBP,GAAlB,CAAnB,CAAN;OAA1B,GAA6E,IAJtD;MAKhCQ,IAAI,EAAER,GAAG,KAAK,EAAR,GAAa,WAAb,GAA2B;KALlB;GAAjB,CADuB;AAAA;AAQzB;AACA;AACA;AACA;AACA;;IACaS,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAAW;EACrC,IAAMC,SAAS,GAAGD,KAAK,CAACL,OAAN,CAAc,GAAd,CAAlB;EACA,OAAOK,KAAK,CAACE,SAAN,CAAgB,CAAhB,EAAmBD,SAAnB,CAAP;AACD;AACD;AACA;AACA;AACA;AACA;;IACaJ,YAAY,GAAG,SAAfA,YAAe,CAACG,KAAD,EAAW;EACrC,IAAMC,SAAS,GAAGD,KAAK,CAACL,OAAN,CAAc,GAAd,CAAlB;EACA,OAAOK,KAAK,CAACE,SAAN,CAAgBD,SAAhB,CAAP;AACD;AAED,mBAAe;EACbf,MAAM,EAANA,MADa;EAEbC,SAAS,EAATA,SAFa;EAGbY,YAAY,EAAZA,YAHa;EAIbF,YAAY,EAAZA;AAJa,CAAf;;;;"}
|
package/esm/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../src/constants.tsx"],"sourcesContent":["/* 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"],"names":["colors","getRainbowColors","fonts","sizes","sizesReal","defaultItems","HEADER","FONT","FONT_SIZE","BOLD","ITALIC","UNDERLINE","STRIKE","SUB","SUPER","ORDERED_LIST","BULLET_LIST","INDENT_MINUS_ONE","INDENT_PLUS_ONE","ALIGN","FONT_COLOR","FONT_BACKGROUND_COLOR","HYPERLINK","IMAGE","CLEAR_FORMAT","SHOW_HTML"],"mappings":";;;IAGaA,MAAM,IACjB,SADiB,EAEjB,SAFiB,EAGjB,SAHiB,EAIjB,SAJiB,EAKjB,SALiB,EAMjB,SANiB,EAOjB,SAPiB,EAQjB,SARiB,EASjB,SATiB,EAUjB,SAViB,EAWjB,SAXiB,EAYjB,SAZiB,EAajB,SAbiB,EAcjB,SAdiB,EAejB,SAfiB,EAgBjB,SAhBiB,EAiBjB,SAjBiB,EAkBjB,SAlBiB,EAmBjB,SAnBiB,EAoBjB,SApBiB,EAqBjB,SArBiB,EAsBjB,SAtBiB,EAuBjB,SAvBiB,EAwBjB,SAxBiB,EAyBjB,SAzBiB,EA0BjB,SA1BiB,EA2BjB,SA3BiB,EA4BjB,SA5BiB,EA6BjB,SA7BiB,EA8BjB,SA9BiB,EA+BjB,SA/BiB,EAgCjB,SAhCiB,EAiCjB,SAjCiB,EAkCjB,SAlCiB,EAmCjB,SAnCiB,4BAoCdC,gBAAgB,CAAC,EAAD,CApCF;IAsCNC,KAAK,GAAG,CACnB,YADmB,EAEnB,OAFmB,EAGnB,WAHmB,EAInB,OAJmB,EAKnB,SALmB,EAMnB,WANmB;IAQRC,KAAK,GAAG,CAAC,OAAD,EAAU,QAAV,EAAoB,OAApB,EAA6B,MAA7B;IACRC,SAAS,GAAG;AAEvB,SAFuB,EAGvB,QAHuB,EAIvB,OAJuB,EAKvB,SALuB;IAQZC,YAAY,GAAG;
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../src/constants.tsx"],"sourcesContent":["/* 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"],"names":["colors","getRainbowColors","fonts","sizes","sizesReal","defaultItems","HEADER","FONT","FONT_SIZE","BOLD","ITALIC","UNDERLINE","STRIKE","SUB","SUPER","ORDERED_LIST","BULLET_LIST","INDENT_MINUS_ONE","INDENT_PLUS_ONE","ALIGN","FONT_COLOR","FONT_BACKGROUND_COLOR","HYPERLINK","IMAGE","CLEAR_FORMAT","SHOW_HTML"],"mappings":";;;IAGaA,MAAM,IACjB,SADiB,EAEjB,SAFiB,EAGjB,SAHiB,EAIjB,SAJiB,EAKjB,SALiB,EAMjB,SANiB,EAOjB,SAPiB,EAQjB,SARiB,EASjB,SATiB,EAUjB,SAViB,EAWjB,SAXiB,EAYjB,SAZiB,EAajB,SAbiB,EAcjB,SAdiB,EAejB,SAfiB,EAgBjB,SAhBiB,EAiBjB,SAjBiB,EAkBjB,SAlBiB,EAmBjB,SAnBiB,EAoBjB,SApBiB,EAqBjB,SArBiB,EAsBjB,SAtBiB,EAuBjB,SAvBiB,EAwBjB,SAxBiB,EAyBjB,SAzBiB,EA0BjB,SA1BiB,EA2BjB,SA3BiB,EA4BjB,SA5BiB,EA6BjB,SA7BiB,EA8BjB,SA9BiB,EA+BjB,SA/BiB,EAgCjB,SAhCiB,EAiCjB,SAjCiB,EAkCjB,SAlCiB,EAmCjB,SAnCiB,4BAoCdC,gBAAgB,CAAC,EAAD,CApCF;IAsCNC,KAAK,GAAG,CACnB,YADmB,EAEnB,OAFmB,EAGnB,WAHmB,EAInB,OAJmB,EAKnB,SALmB,EAMnB,WANmB;IAQRC,KAAK,GAAG,CAAC,OAAD,EAAU,QAAV,EAAoB,OAApB,EAA6B,MAA7B;IACRC,SAAS,GAAG;AAEvB,SAFuB,EAGvB,QAHuB,EAIvB,OAJuB,EAKvB,SALuB;IAQZC,YAAY,GAAG;EAC1BC,MAAM,EAAE,QADkB;EAE1BC,IAAI,EAAE,MAFoB;EAG1BC,SAAS,EAAE,MAHe;EAI1BC,IAAI,EAAE,MAJoB;EAK1BC,MAAM,EAAE,QALkB;EAM1BC,SAAS,EAAE,WANe;EAO1BC,MAAM,EAAE,QAPkB;EAQ1BC,GAAG,EAAE,KARqB;EAS1BC,KAAK,EAAE,OATmB;EAU1BC,YAAY,EAAE,cAVY;EAW1BC,WAAW,EAAE,aAXa;EAY1BC,gBAAgB,EAAE,WAZQ;EAa1BC,eAAe,EAAE,WAbS;EAc1BC,KAAK,EAAE,OAdmB;EAe1BC,UAAU,EAAE,YAfc;EAgB1BC,qBAAqB,EAAE,uBAhBG;EAiB1BC,SAAS,EAAE,WAjBe;EAkB1BC,KAAK,EAAE,OAlBmB;EAmB1BC,YAAY,EAAE,cAnBY;EAoB1BC,SAAS,EAAE;AApBe;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clipboardLinkWithTagMatcher.js","sources":["../../../src/quillMatchers/clipboardLinkWithTagMatcher.ts"],"sourcesContent":["import Delta from 'quill-delta';\n\nconst hrefTagRegexp = /%7B%7B.+%7D%7D/gm;\nexport const clipboardLinkWithTagMatcher = (node: HTMLAnchorElement, delta: Delta): Delta => {\n if (node.origin === window.location.origin) {\n const nodeHref = node.href;\n const tagMatch = nodeHref.match(hrefTagRegexp);\n if (tagMatch) {\n const [overWrittenHrefValue] = tagMatch;\n const insertLinkOperation = delta?.ops?.find((operation) => operation?.attributes?.link?.match?.(hrefTagRegexp));\n if (insertLinkOperation)\n insertLinkOperation.attributes.link = overWrittenHrefValue.replace(/%7B%7B/gm, '{{').replace(/%7D%7D/gm, '}}');\n }\n }\n return delta;\n};\n"],"names":["hrefTagRegexp","clipboardLinkWithTagMatcher","node","delta","origin","window","location","nodeHref","href","tagMatch","match","overWrittenHrefValue","insertLinkOperation","ops","find","operation","attributes","link","replace"],"mappings":";;AAEA,IAAMA,aAAa,GAAG,kBAAtB;IACaC,2BAA2B,GAAG,SAA9BA,2BAA8B,CAACC,IAAD,EAA0BC,KAA1B,EAAkD;
|
|
1
|
+
{"version":3,"file":"clipboardLinkWithTagMatcher.js","sources":["../../../src/quillMatchers/clipboardLinkWithTagMatcher.ts"],"sourcesContent":["import Delta from 'quill-delta';\n\nconst hrefTagRegexp = /%7B%7B.+%7D%7D/gm;\nexport const clipboardLinkWithTagMatcher = (node: HTMLAnchorElement, delta: Delta): Delta => {\n if (node.origin === window.location.origin) {\n const nodeHref = node.href;\n const tagMatch = nodeHref.match(hrefTagRegexp);\n if (tagMatch) {\n const [overWrittenHrefValue] = tagMatch;\n const insertLinkOperation = delta?.ops?.find((operation) => operation?.attributes?.link?.match?.(hrefTagRegexp));\n if (insertLinkOperation)\n insertLinkOperation.attributes.link = overWrittenHrefValue.replace(/%7B%7B/gm, '{{').replace(/%7D%7D/gm, '}}');\n }\n }\n return delta;\n};\n"],"names":["hrefTagRegexp","clipboardLinkWithTagMatcher","node","delta","origin","window","location","nodeHref","href","tagMatch","match","overWrittenHrefValue","insertLinkOperation","ops","find","operation","attributes","link","replace"],"mappings":";;AAEA,IAAMA,aAAa,GAAG,kBAAtB;IACaC,2BAA2B,GAAG,SAA9BA,2BAA8B,CAACC,IAAD,EAA0BC,KAA1B,EAAkD;EAC3F,IAAID,IAAI,CAACE,MAAL,KAAgBC,MAAM,CAACC,QAAP,CAAgBF,MAApC,EAA4C;IAC1C,IAAMG,QAAQ,GAAGL,IAAI,CAACM,IAAtB;IACA,IAAMC,QAAQ,GAAGF,QAAQ,CAACG,KAAT,CAAeV,aAAf,CAAjB;;IACA,IAAIS,QAAJ,EAAc;MAAA;;MACZ,+BAA+BA,QAA/B;UAAOE,oBAAP;;MACA,IAAMC,mBAAmB,GAAGT,KAAH,aAAGA,KAAH,qCAAGA,KAAK,CAAEU,GAAV,+CAAG,WAAYC,IAAZ,CAAiB,UAACC,SAAD;QAAA;;QAAA,OAAeA,SAAf,aAAeA,SAAf,gDAAeA,SAAS,CAAEC,UAA1B,oFAAe,sBAAuBC,IAAtC,qFAAe,uBAA6BP,KAA5C,2DAAe,oDAAqCV,aAArC,CAAf;OAAjB,CAA5B;MACA,IAAIY,mBAAJ,EACEA,mBAAmB,CAACI,UAApB,CAA+BC,IAA/B,GAAsCN,oBAAoB,CAACO,OAArB,CAA6B,UAA7B,EAAyC,IAAzC,EAA+CA,OAA/C,CAAuD,UAAvD,EAAmE,IAAnE,CAAtC;;;;EAGN,OAAOf,KAAP;AACD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndentStyle.js","sources":["../../../src/quillOverrides/IndentStyle.tsx"],"sourcesContent":["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"],"names":["Parchment","Quill","import","levels","multiplier","IndentAttributor","node","value","parseFloat","undefined","Attributor","Style","IndentStyle","scope","Scope","BLOCK","whitelist","map"],"mappings":";;;;;;;;;;;AAEA,IAAMA,SAAS,GAAGC,KAAK,CAACC,MAAN,CAAa,WAAb,CAAlB;AACA,IAAMC,MAAM,GAAG,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,CAAf;AACA,IAAMC,UAAU,GAAG,CAAnB;;IAEMC;;;;;;;;;;;;;WACJ,aAAIC,IAAJ,EAAUC,KAAV,EAAiB;
|
|
1
|
+
{"version":3,"file":"IndentStyle.js","sources":["../../../src/quillOverrides/IndentStyle.tsx"],"sourcesContent":["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"],"names":["Parchment","Quill","import","levels","multiplier","IndentAttributor","node","value","parseFloat","undefined","Attributor","Style","IndentStyle","scope","Scope","BLOCK","whitelist","map"],"mappings":";;;;;;;;;;;AAEA,IAAMA,SAAS,GAAGC,KAAK,CAACC,MAAN,CAAa,WAAb,CAAlB;AACA,IAAMC,MAAM,GAAG,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,CAAf;AACA,IAAMC,UAAU,GAAG,CAAnB;;IAEMC;;;;;;;;;;;;;WACJ,aAAIC,IAAJ,EAAUC,KAAV,EAAiB;MACf,iFAAiBD,IAAjB,YAA0BC,KAAK,GAAGH,UAAlC;;;;WAGF,eAAME,IAAN,EAAY;MACV,OAAOE,UAAU,6EAAaF,IAAb,EAAV,GAAgCF,UAAhC,IAA8CK,SAArD,CADU;;;;;EALiBT,SAAS,CAACU,UAAV,CAAqBC;AAUpD;AACA;AACA;;;IACMC,WAAW,GAAG,IAAIP,gBAAJ,CAAqB,QAArB,EAA+B,aAA/B,EAA8C;EAChEQ,KAAK,EAAEb,SAAS,CAACc,KAAV,CAAgBC,KADyC;EAEhEC,SAAS,EAAEb,MAAM,CAACc,GAAP,CAAW,UAAAV,KAAK;IAAA,iBAAOA,KAAK,GAAGH,UAAf;GAAhB;AAFqD,CAA9C;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkFormat.js","sources":["../../../src/quillOverrides/LinkFormat.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { Quill } from 'react-quill';\n\nconst sanitizeProtocol = (value) => {\n if (typeof value === 'boolean') return value;\n let newVal = value;\n if (\n !value.startsWith('http') &&\n !value.startsWith('ftp') &&\n !value.startsWith('mailto:') &&\n !value.startsWith('{{')\n ) {\n if (!value.startsWith('www')) {\n newVal = `https://www.${value}`;\n } else newVal = `https://${value}`;\n }\n return newVal;\n};\n\nfunction getIsValidProtocol(url, protocols) {\n const anchor = document.createElement('a');\n anchor.href = url;\n const protocol = anchor.href.slice(0, anchor.href.indexOf(':'));\n return protocols.indexOf(protocol) > -1;\n}\n\nconst Link = Quill.import('formats/link');\n\nclass LinkFormat extends Link {\n blotName = 'link';\n\n tagName = 'A';\n\n SANITIZED_URL = 'about:blank';\n\n PROTOCOL_WHITELIST = ['http', 'ftp', 'https', 'mailto', 'tel'];\n\n static create(value) {\n const newVal = sanitizeProtocol(value);\n const node = super.create(newVal);\n node.setAttribute('href', newVal);\n return node;\n }\n\n static formats(domNode) {\n return domNode?.getAttribute?.('href');\n }\n\n static sanitize(url) {\n return getIsValidProtocol(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL;\n }\n\n format(name, value) {\n const newVal = sanitizeProtocol(value);\n // Remove link case\n if (name === 'link' && value === false) {\n this.domNode.removeAttribute('href');\n } else if (name !== this.statics.blotName || !newVal) {\n super.format(name, newVal);\n } else {\n this.domNode.setAttribute('href', this.constructor.sanitize(newVal));\n }\n }\n}\n\nexport default LinkFormat;\n"],"names":["sanitizeProtocol","value","newVal","startsWith","getIsValidProtocol","url","protocols","anchor","document","createElement","href","protocol","slice","indexOf","Link","Quill","import","LinkFormat","blotName","tagName","SANITIZED_URL","PROTOCOL_WHITELIST","name","domNode","removeAttribute","statics","setAttribute","constructor","sanitize","node","getAttribute"],"mappings":";;;;;;;;;;;;AAGA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAW;
|
|
1
|
+
{"version":3,"file":"LinkFormat.js","sources":["../../../src/quillOverrides/LinkFormat.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { Quill } from 'react-quill';\n\nconst sanitizeProtocol = (value) => {\n if (typeof value === 'boolean') return value;\n let newVal = value;\n if (\n !value.startsWith('http') &&\n !value.startsWith('ftp') &&\n !value.startsWith('mailto:') &&\n !value.startsWith('{{')\n ) {\n if (!value.startsWith('www')) {\n newVal = `https://www.${value}`;\n } else newVal = `https://${value}`;\n }\n return newVal;\n};\n\nfunction getIsValidProtocol(url, protocols) {\n const anchor = document.createElement('a');\n anchor.href = url;\n const protocol = anchor.href.slice(0, anchor.href.indexOf(':'));\n return protocols.indexOf(protocol) > -1;\n}\n\nconst Link = Quill.import('formats/link');\n\nclass LinkFormat extends Link {\n blotName = 'link';\n\n tagName = 'A';\n\n SANITIZED_URL = 'about:blank';\n\n PROTOCOL_WHITELIST = ['http', 'ftp', 'https', 'mailto', 'tel'];\n\n static create(value) {\n const newVal = sanitizeProtocol(value);\n const node = super.create(newVal);\n node.setAttribute('href', newVal);\n return node;\n }\n\n static formats(domNode) {\n return domNode?.getAttribute?.('href');\n }\n\n static sanitize(url) {\n return getIsValidProtocol(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL;\n }\n\n format(name, value) {\n const newVal = sanitizeProtocol(value);\n // Remove link case\n if (name === 'link' && value === false) {\n this.domNode.removeAttribute('href');\n } else if (name !== this.statics.blotName || !newVal) {\n super.format(name, newVal);\n } else {\n this.domNode.setAttribute('href', this.constructor.sanitize(newVal));\n }\n }\n}\n\nexport default LinkFormat;\n"],"names":["sanitizeProtocol","value","newVal","startsWith","getIsValidProtocol","url","protocols","anchor","document","createElement","href","protocol","slice","indexOf","Link","Quill","import","LinkFormat","blotName","tagName","SANITIZED_URL","PROTOCOL_WHITELIST","name","domNode","removeAttribute","statics","setAttribute","constructor","sanitize","node","getAttribute"],"mappings":";;;;;;;;;;;;AAGA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAW;EAClC,IAAI,OAAOA,KAAP,KAAiB,SAArB,EAAgC,OAAOA,KAAP;EAChC,IAAIC,MAAM,GAAGD,KAAb;;EACA,IACE,CAACA,KAAK,CAACE,UAAN,CAAiB,MAAjB,CAAD,IACA,CAACF,KAAK,CAACE,UAAN,CAAiB,KAAjB,CADD,IAEA,CAACF,KAAK,CAACE,UAAN,CAAiB,SAAjB,CAFD,IAGA,CAACF,KAAK,CAACE,UAAN,CAAiB,IAAjB,CAJH,EAKE;IACA,IAAI,CAACF,KAAK,CAACE,UAAN,CAAiB,KAAjB,CAAL,EAA8B;MAC5BD,MAAM,yBAAkBD,KAAlB,CAAN;KADF,MAEOC,MAAM,qBAAcD,KAAd,CAAN;;;EAET,OAAOC,MAAP;AACD,CAdD;;AAgBA,SAASE,kBAAT,CAA4BC,GAA5B,EAAiCC,SAAjC,EAA4C;EAC1C,IAAMC,MAAM,GAAGC,QAAQ,CAACC,aAAT,CAAuB,GAAvB,CAAf;EACAF,MAAM,CAACG,IAAP,GAAcL,GAAd;EACA,IAAMM,QAAQ,GAAGJ,MAAM,CAACG,IAAP,CAAYE,KAAZ,CAAkB,CAAlB,EAAqBL,MAAM,CAACG,IAAP,CAAYG,OAAZ,CAAoB,GAApB,CAArB,CAAjB;EACA,OAAOP,SAAS,CAACO,OAAV,CAAkBF,QAAlB,IAA8B,CAAC,CAAtC;AACD;;AAED,IAAMG,IAAI,GAAGC,KAAK,CAACC,MAAN,CAAa,cAAb,CAAb;;IAEMC;;;;;;;;;;;;;;;UACJC,WAAW;UAEXC,UAAU;UAEVC,gBAAgB;UAEhBC,qBAAqB,CAAC,MAAD,EAAS,KAAT,EAAgB,OAAhB,EAAyB,QAAzB,EAAmC,KAAnC;;;;;;WAiBrB,gBAAOC,IAAP,EAAarB,KAAb,EAAoB;MAClB,IAAMC,MAAM,GAAGF,gBAAgB,CAACC,KAAD,CAA/B,CADkB;;MAGlB,IAAIqB,IAAI,KAAK,MAAT,IAAmBrB,KAAK,KAAK,KAAjC,EAAwC;QACtC,KAAKsB,OAAL,CAAaC,eAAb,CAA6B,MAA7B;OADF,MAEO,IAAIF,IAAI,KAAK,KAAKG,OAAL,CAAaP,QAAtB,IAAkC,CAAChB,MAAvC,EAA+C;QACpD,uEAAaoB,IAAb,EAAmBpB,MAAnB;OADK,MAEA;QACL,KAAKqB,OAAL,CAAaG,YAAb,CAA0B,MAA1B,EAAkC,KAAKC,WAAL,CAAiBC,QAAjB,CAA0B1B,MAA1B,CAAlC;;;;;WAvBJ,gBAAcD,KAAd,EAAqB;MACnB,IAAMC,MAAM,GAAGF,gBAAgB,CAACC,KAAD,CAA/B;;MACA,IAAM4B,IAAI,gEAAgB3B,MAAhB,CAAV;;MACA2B,IAAI,CAACH,YAAL,CAAkB,MAAlB,EAA0BxB,MAA1B;MACA,OAAO2B,IAAP;;;;WAGF,iBAAeN,OAAf,EAAwB;MAAA;;MACtB,OAAOA,OAAP,aAAOA,OAAP,gDAAOA,OAAO,CAAEO,YAAhB,0DAAO,2BAAAP,OAAO,EAAiB,MAAjB,CAAd;;;;WAGF,kBAAgBlB,GAAhB,EAAqB;MACnB,OAAOD,kBAAkB,CAACC,GAAD,EAAM,KAAKgB,kBAAX,CAAlB,GAAmDhB,GAAnD,GAAyD,KAAKe,aAArE;;;;;EArBqBN;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlainClipboard.js","sources":["../../../src/quillOverrides/PlainClipboard.tsx"],"sourcesContent":["import { Quill } from 'react-quill';\n\nconst Clipboard = Quill.import('modules/clipboard');\nconst Delta = Quill.import('delta');\n\n/**\n * Just for the sake of an example. https://quilljs.com/docs/modules/\n */\nexport default class PlainClipboard extends Clipboard {\n convert(html = null) {\n if (typeof html === 'string') {\n this.container.innerHTML = html;\n }\n const text = this.container.innerText;\n this.container.innerHTML = '';\n return new Delta().insert(text);\n }\n}\n\n// Uncomment if adding custom clipboard, or add in the file you are importing this to\n// Quill.register('modules/clipboard', PlainClipboard)\n"],"names":["Clipboard","Quill","import","Delta","PlainClipboard","html","container","innerHTML","text","innerText","insert"],"mappings":";;;;;;;;;;AAEA,IAAMA,SAAS,GAAGC,KAAK,CAACC,MAAN,CAAa,mBAAb,CAAlB;AACA,IAAMC,KAAK,GAAGF,KAAK,CAACC,MAAN,CAAa,OAAb,CAAd;AAEA;AACA;AACA;;IACqBE;;;;;;;;;;;;;WACnB,mBAAqB;
|
|
1
|
+
{"version":3,"file":"PlainClipboard.js","sources":["../../../src/quillOverrides/PlainClipboard.tsx"],"sourcesContent":["import { Quill } from 'react-quill';\n\nconst Clipboard = Quill.import('modules/clipboard');\nconst Delta = Quill.import('delta');\n\n/**\n * Just for the sake of an example. https://quilljs.com/docs/modules/\n */\nexport default class PlainClipboard extends Clipboard {\n convert(html = null) {\n if (typeof html === 'string') {\n this.container.innerHTML = html;\n }\n const text = this.container.innerText;\n this.container.innerHTML = '';\n return new Delta().insert(text);\n }\n}\n\n// Uncomment if adding custom clipboard, or add in the file you are importing this to\n// Quill.register('modules/clipboard', PlainClipboard)\n"],"names":["Clipboard","Quill","import","Delta","PlainClipboard","html","container","innerHTML","text","innerText","insert"],"mappings":";;;;;;;;;;AAEA,IAAMA,SAAS,GAAGC,KAAK,CAACC,MAAN,CAAa,mBAAb,CAAlB;AACA,IAAMC,KAAK,GAAGF,KAAK,CAACC,MAAN,CAAa,OAAb,CAAd;AAEA;AACA;AACA;;IACqBE;;;;;;;;;;;;;WACnB,mBAAqB;MAAA,IAAbC,IAAa,uEAAN,IAAM;;MACnB,IAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;QAC5B,KAAKC,SAAL,CAAeC,SAAf,GAA2BF,IAA3B;;;MAEF,IAAMG,IAAI,GAAG,KAAKF,SAAL,CAAeG,SAA5B;MACA,KAAKH,SAAL,CAAeC,SAAf,GAA2B,EAA3B;MACA,OAAO,IAAIJ,KAAJ,GAAYO,MAAZ,CAAmBF,IAAnB,CAAP;;;;;EAPwCR;;;;"}
|
package/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../src/utils.tsx"],"sourcesContent":["export const formatHTML = (html) => {\n const tab = '\\t';\n let result = '';\n let indent = '';\n\n html.split(/>\\s*</).forEach((element) => {\n if (element.match(/^\\/\\w/)) {\n indent = indent.substring(tab.length);\n }\n\n result += `${indent}<${element}>\\r\\n`;\n\n if (element.match(/^<?\\w[^>]*[^/]$/)) {\n indent += tab;\n }\n });\n\n return result.substring(1, result.length - 3);\n};\n"],"names":["formatHTML","html","tab","result","indent","split","forEach","element","match","substring","length"],"mappings":"IAAaA,UAAU,GAAG,SAAbA,UAAa,CAACC,IAAD,EAAU;
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../src/utils.tsx"],"sourcesContent":["export const formatHTML = (html) => {\n const tab = '\\t';\n let result = '';\n let indent = '';\n\n html.split(/>\\s*</).forEach((element) => {\n if (element.match(/^\\/\\w/)) {\n indent = indent.substring(tab.length);\n }\n\n result += `${indent}<${element}>\\r\\n`;\n\n if (element.match(/^<?\\w[^>]*[^/]$/)) {\n indent += tab;\n }\n });\n\n return result.substring(1, result.length - 3);\n};\n"],"names":["formatHTML","html","tab","result","indent","split","forEach","element","match","substring","length"],"mappings":"IAAaA,UAAU,GAAG,SAAbA,UAAa,CAACC,IAAD,EAAU;EAClC,IAAMC,GAAG,GAAG,IAAZ;EACA,IAAIC,MAAM,GAAG,EAAb;EACA,IAAIC,MAAM,GAAG,EAAb;EAEAH,IAAI,CAACI,KAAL,CAAW,OAAX,EAAoBC,OAApB,CAA4B,UAACC,OAAD,EAAa;IACvC,IAAIA,OAAO,CAACC,KAAR,CAAc,OAAd,CAAJ,EAA4B;MAC1BJ,MAAM,GAAGA,MAAM,CAACK,SAAP,CAAiBP,GAAG,CAACQ,MAArB,CAAT;;;IAGFP,MAAM,cAAOC,MAAP,cAAiBG,OAAjB,UAAN;;IAEA,IAAIA,OAAO,CAACC,KAAR,CAAc,iBAAd,CAAJ,EAAsC;MACpCJ,MAAM,IAAIF,GAAV;;GARJ;EAYA,OAAOC,MAAM,CAACM,SAAP,CAAiB,CAAjB,EAAoBN,MAAM,CAACO,MAAP,GAAgB,CAApC,CAAP;AACD;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-wysiwygeditor",
|
|
3
|
-
"version": "1.61.
|
|
3
|
+
"version": "1.61.13",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Ellie Mae - Dim Sum - WYSIWYG Editor",
|
|
6
6
|
"main": "cjs/index.js",
|
|
@@ -16,13 +16,13 @@
|
|
|
16
16
|
"build": "node ../../scripts/build/build.js"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@elliemae/ds-basic": "1.61.
|
|
20
|
-
"@elliemae/ds-dropdownmenu": "1.61.
|
|
21
|
-
"@elliemae/ds-icons": "1.61.
|
|
22
|
-
"@elliemae/ds-imagelibrarymodal": "1.61.
|
|
23
|
-
"@elliemae/ds-modal": "1.61.
|
|
24
|
-
"@elliemae/ds-shared": "1.61.
|
|
25
|
-
"@elliemae/ds-uploader": "1.61.
|
|
19
|
+
"@elliemae/ds-basic": "1.61.13",
|
|
20
|
+
"@elliemae/ds-dropdownmenu": "1.61.13",
|
|
21
|
+
"@elliemae/ds-icons": "1.61.13",
|
|
22
|
+
"@elliemae/ds-imagelibrarymodal": "1.61.13",
|
|
23
|
+
"@elliemae/ds-modal": "1.61.13",
|
|
24
|
+
"@elliemae/ds-shared": "1.61.13",
|
|
25
|
+
"@elliemae/ds-uploader": "1.61.13",
|
|
26
26
|
"prop-types": "~15.7.2",
|
|
27
27
|
"quill-blot-formatter": "~1.0.5",
|
|
28
28
|
"react-desc": "^4.1.2",
|