@elliemae/ds-wysiwygeditor 3.0.0-next.13 → 3.0.0-next.17

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.
@@ -62,7 +62,7 @@ var React = __toESM(require("react"));
62
62
  var import_react = __toESM(require("react"));
63
63
  var import_prop_types = __toESM(require("prop-types"));
64
64
  var import_ds_modal = __toESM(require("@elliemae/ds-modal"));
65
- var import_constants = require("@elliemae/ds-shared/constants");
65
+ var import_ds_shared = require("@elliemae/ds-shared");
66
66
  var import_lodash = require("lodash");
67
67
  var import_customFields = require("./customFields");
68
68
  const modalTypes = Object.values(import_ds_modal.MODAL_TYPE);
@@ -205,7 +205,7 @@ InsertFieldModal.defaultProps = {
205
205
  modalType: modalTypes[1],
206
206
  rejectLabel: "Cancel",
207
207
  shouldCloseOnOverlayClick: true,
208
- size: import_constants.sizeOptions[1],
208
+ size: import_ds_shared.sizeOptions[1],
209
209
  onSelect: void 0
210
210
  };
211
211
  module.exports = __toCommonJS(InsertFieldModal_exports);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/InsertFieldModal.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "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', '\u00AB Field ID \u00BB')}\n {this.renderElements()}\n </div>\n </div>\n </DSModal>\n );\n }\n}\n", "import * as React from 'react';\nexport { React };\n"],
4
+ "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';\nimport { includes } from 'lodash';\nimport { fields, getFieldName, getFieldCode } from './customFields';\n\nconst modalTypes = Object.values(MODAL_TYPE);\nconst elementClassName = 'insertfieldmodal-element';\n\nexport default class InsertFieldModal extends React.PureComponent {\n static propTypes = {\n onConfirm: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n confirmLabel: PropTypes.string,\n customFields: PropTypes.arrayOf(PropTypes.string),\n disableDoubleClick: PropTypes.bool,\n isOpen: PropTypes.bool,\n modalTitle: PropTypes.string,\n modalType: PropTypes.string,\n rejectLabel: PropTypes.string,\n shouldCloseOnOverlayClick: PropTypes.bool,\n size: PropTypes.string,\n onSelect: PropTypes.func,\n };\n\n static defaultProps = {\n confirmLabel: 'Add',\n customFields: fields,\n disableDoubleClick: false,\n isOpen: true,\n modalTitle: 'Add Field',\n modalType: modalTypes[1],\n rejectLabel: 'Cancel',\n shouldCloseOnOverlayClick: true,\n size: sizeOptions[1],\n onSelect: undefined,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n selectedFieldCode: getFieldCode(fields[0]),\n };\n this.preventSpacebarScroll();\n }\n\n componentDidMount() {\n const { customFields } = this.props;\n if (customFields) {\n this.handleElementClick({}, customFields[0]);\n this.focusFirst = true;\n }\n }\n\n getDerivedStateFromProps(nextProps) {\n const { customFields } = this.props;\n if (!customFields && nextProps.customFields) {\n this.setState({ selectedFieldCode: customFields[0] });\n }\n }\n\n onConfirm = () => {\n const { onConfirm, onClose } = this.props;\n const { selectedFieldCode } = this.state;\n onConfirm(selectedFieldCode);\n onClose();\n };\n\n onReject = () => {\n const { onReject, onClose } = this.props;\n if (onReject) {\n onReject();\n } else {\n onClose();\n }\n };\n\n drawDiv = (className, content, content2) => (\n <div className={className}>\n <span>{content}</span>\n <span>{content2}</span>\n </div>\n );\n\n drawLabel = (className, label, value) => (\n <div className={className}>\n <span className=\"label\">{label}</span>\n <span className=\"value\">{value}</span>\n </div>\n );\n\n handleElementClick = (e, selectedFieldCode) => {\n if (e.key && e.key !== ' ') {\n return;\n }\n const { selectedFieldCode: fCode } = this.state;\n const { disableDoubleClick } = this.props;\n if (selectedFieldCode === fCode && !disableDoubleClick) {\n this.onConfirm();\n return;\n }\n this.setState({\n selectedFieldCode,\n });\n const { onSelect } = this.props;\n if (onSelect) {\n onSelect(selectedFieldCode);\n }\n };\n\n preventSpacebarScroll = () => {\n document.onkeypress = function (e) {\n if (!includes(e.target.className, elementClassName)) {\n return true;\n }\n e = e || window.event;\n const charCode = e.keyCode || e.which;\n if (charCode === 32) {\n e.preventDefault();\n return false;\n }\n return true;\n };\n };\n\n renderElements = () => {\n const { customFields } = this.props;\n if (!customFields) {\n return 'Empty';\n }\n const { selectedFieldCode } = this.state;\n return customFields.map((customField, idx) => {\n const extras = {};\n const fieldCode = getFieldCode(customField);\n if (this.focusFirst && idx === 0) {\n extras.ref = (element) => element && element.focus();\n this.focusFirst = undefined;\n } else if (fieldCode === selectedFieldCode) {\n extras.ref = (element) => element && element.focus();\n }\n return (\n <div\n key={fieldCode}\n className={elementClassName}\n onClick={(e) => this.handleElementClick(e, fieldCode)}\n onKeyUp={(e) => this.handleElementClick(e, fieldCode)}\n role=\"button\"\n tabIndex={0}\n {...extras}\n >\n {this.drawLabel('content', getFieldName(customField), fieldCode)}\n </div>\n );\n });\n };\n\n render() {\n const { customFields, onSelect, ...modalProps } = this.props;\n return (\n <DSModal {...modalProps} className=\"insert-field-modal\" onConfirm={this.onConfirm} onReject={this.onReject}>\n <div className=\"wrapper\">\n <div className=\"col-1\">\n {this.drawDiv('title', 'Field Name', '\u00AB Field ID \u00BB')}\n {this.renderElements()}\n </div>\n </div>\n </DSModal>\n );\n }\n}\n", "import * as React from 'react';\nexport { React };\n"],
5
5
  "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -33,7 +33,7 @@ import * as React from "react";
33
33
  import React2 from "react";
34
34
  import PropTypes from "prop-types";
35
35
  import DSModal, { MODAL_TYPE } from "@elliemae/ds-modal";
36
- import { sizeOptions } from "@elliemae/ds-shared/constants";
36
+ import { sizeOptions } from "@elliemae/ds-shared";
37
37
  import { includes } from "lodash";
38
38
  import { fields, getFieldName, getFieldCode } from "./customFields";
39
39
  const modalTypes = Object.values(MODAL_TYPE);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/InsertFieldModal.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable react/static-property-placement */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport DSModal, { MODAL_TYPE } from '@elliemae/ds-modal';\nimport { sizeOptions } from '@elliemae/ds-shared/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', '\u00AB Field ID \u00BB')}\n {this.renderElements()}\n </div>\n </div>\n </DSModal>\n );\n }\n}\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable react/static-property-placement */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport DSModal, { MODAL_TYPE } from '@elliemae/ds-modal';\nimport { sizeOptions } from '@elliemae/ds-shared';\nimport { includes } from 'lodash';\nimport { fields, getFieldName, getFieldCode } from './customFields';\n\nconst modalTypes = Object.values(MODAL_TYPE);\nconst elementClassName = 'insertfieldmodal-element';\n\nexport default class InsertFieldModal extends React.PureComponent {\n static propTypes = {\n onConfirm: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n confirmLabel: PropTypes.string,\n customFields: PropTypes.arrayOf(PropTypes.string),\n disableDoubleClick: PropTypes.bool,\n isOpen: PropTypes.bool,\n modalTitle: PropTypes.string,\n modalType: PropTypes.string,\n rejectLabel: PropTypes.string,\n shouldCloseOnOverlayClick: PropTypes.bool,\n size: PropTypes.string,\n onSelect: PropTypes.func,\n };\n\n static defaultProps = {\n confirmLabel: 'Add',\n customFields: fields,\n disableDoubleClick: false,\n isOpen: true,\n modalTitle: 'Add Field',\n modalType: modalTypes[1],\n rejectLabel: 'Cancel',\n shouldCloseOnOverlayClick: true,\n size: sizeOptions[1],\n onSelect: undefined,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n selectedFieldCode: getFieldCode(fields[0]),\n };\n this.preventSpacebarScroll();\n }\n\n componentDidMount() {\n const { customFields } = this.props;\n if (customFields) {\n this.handleElementClick({}, customFields[0]);\n this.focusFirst = true;\n }\n }\n\n getDerivedStateFromProps(nextProps) {\n const { customFields } = this.props;\n if (!customFields && nextProps.customFields) {\n this.setState({ selectedFieldCode: customFields[0] });\n }\n }\n\n onConfirm = () => {\n const { onConfirm, onClose } = this.props;\n const { selectedFieldCode } = this.state;\n onConfirm(selectedFieldCode);\n onClose();\n };\n\n onReject = () => {\n const { onReject, onClose } = this.props;\n if (onReject) {\n onReject();\n } else {\n onClose();\n }\n };\n\n drawDiv = (className, content, content2) => (\n <div className={className}>\n <span>{content}</span>\n <span>{content2}</span>\n </div>\n );\n\n drawLabel = (className, label, value) => (\n <div className={className}>\n <span className=\"label\">{label}</span>\n <span className=\"value\">{value}</span>\n </div>\n );\n\n handleElementClick = (e, selectedFieldCode) => {\n if (e.key && e.key !== ' ') {\n return;\n }\n const { selectedFieldCode: fCode } = this.state;\n const { disableDoubleClick } = this.props;\n if (selectedFieldCode === fCode && !disableDoubleClick) {\n this.onConfirm();\n return;\n }\n this.setState({\n selectedFieldCode,\n });\n const { onSelect } = this.props;\n if (onSelect) {\n onSelect(selectedFieldCode);\n }\n };\n\n preventSpacebarScroll = () => {\n document.onkeypress = function (e) {\n if (!includes(e.target.className, elementClassName)) {\n return true;\n }\n e = e || window.event;\n const charCode = e.keyCode || e.which;\n if (charCode === 32) {\n e.preventDefault();\n return false;\n }\n return true;\n };\n };\n\n renderElements = () => {\n const { customFields } = this.props;\n if (!customFields) {\n return 'Empty';\n }\n const { selectedFieldCode } = this.state;\n return customFields.map((customField, idx) => {\n const extras = {};\n const fieldCode = getFieldCode(customField);\n if (this.focusFirst && idx === 0) {\n extras.ref = (element) => element && element.focus();\n this.focusFirst = undefined;\n } else if (fieldCode === selectedFieldCode) {\n extras.ref = (element) => element && element.focus();\n }\n return (\n <div\n key={fieldCode}\n className={elementClassName}\n onClick={(e) => this.handleElementClick(e, fieldCode)}\n onKeyUp={(e) => this.handleElementClick(e, fieldCode)}\n role=\"button\"\n tabIndex={0}\n {...extras}\n >\n {this.drawLabel('content', getFieldName(customField), fieldCode)}\n </div>\n );\n });\n };\n\n render() {\n const { customFields, onSelect, ...modalProps } = this.props;\n return (\n <DSModal {...modalProps} className=\"insert-field-modal\" onConfirm={this.onConfirm} onReject={this.onReject}>\n <div className=\"wrapper\">\n <div className=\"col-1\">\n {this.drawDiv('title', 'Field Name', '\u00AB Field ID \u00BB')}\n {this.renderElements()}\n </div>\n </div>\n </DSModal>\n );\n }\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-wysiwygeditor",
3
- "version": "3.0.0-next.13",
3
+ "version": "3.0.0-next.17",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - WYSIWYG Editor",
6
6
  "files": [
@@ -99,14 +99,14 @@
99
99
  "indent": 4
100
100
  },
101
101
  "dependencies": {
102
- "@elliemae/ds-button": "3.0.0-next.13",
103
- "@elliemae/ds-dropdownmenu": "3.0.0-next.13",
104
- "@elliemae/ds-icons": "3.0.0-next.13",
105
- "@elliemae/ds-imagelibrarymodal": "3.0.0-next.13",
106
- "@elliemae/ds-modal": "3.0.0-next.13",
107
- "@elliemae/ds-shared": "3.0.0-next.13",
108
- "@elliemae/ds-tooltip": "3.0.0-next.13",
109
- "@elliemae/ds-uploader": "3.0.0-next.13",
102
+ "@elliemae/ds-button": "3.0.0-next.17",
103
+ "@elliemae/ds-dropdownmenu": "3.0.0-next.17",
104
+ "@elliemae/ds-icons": "3.0.0-next.17",
105
+ "@elliemae/ds-imagelibrarymodal": "3.0.0-next.17",
106
+ "@elliemae/ds-modal": "3.0.0-next.17",
107
+ "@elliemae/ds-shared": "3.0.0-next.17",
108
+ "@elliemae/ds-tooltip": "3.0.0-next.17",
109
+ "@elliemae/ds-uploader": "3.0.0-next.17",
110
110
  "prop-types": "~15.8.1",
111
111
  "quill-blot-formatter": "~1.0.5",
112
112
  "quill-delta": "4.2.2",