@elliemae/ds-wysiwygeditor 2.3.1 → 3.0.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/dist/cjs/DSWYSIWYGEditor.js +128 -0
  2. package/dist/cjs/DSWYSIWYGEditor.js.map +7 -0
  3. package/dist/cjs/components/CustomImageUploader.js +123 -0
  4. package/dist/cjs/components/CustomImageUploader.js.map +7 -0
  5. package/dist/cjs/components/CustomToolbar.js +261 -0
  6. package/dist/cjs/components/CustomToolbar.js.map +7 -0
  7. package/dist/cjs/components/DSWYSIWYGEditorImpl.js +255 -0
  8. package/dist/cjs/components/DSWYSIWYGEditorImpl.js.map +7 -0
  9. package/dist/cjs/components/ImageLibraryModal.js +108 -0
  10. package/dist/cjs/components/ImageLibraryModal.js.map +7 -0
  11. package/dist/cjs/components/InsertFieldModal.js +212 -0
  12. package/dist/cjs/components/InsertFieldModal.js.map +7 -0
  13. package/dist/cjs/components/TippedButton.js +91 -0
  14. package/dist/cjs/components/TippedButton.js.map +7 -0
  15. package/dist/cjs/components/TippedSelect.js +57 -0
  16. package/dist/cjs/components/TippedSelect.js.map +7 -0
  17. package/dist/cjs/components/colors.js +50 -0
  18. package/dist/cjs/components/colors.js.map +7 -0
  19. package/dist/cjs/components/customFields.js +76 -0
  20. package/dist/cjs/components/customFields.js.map +7 -0
  21. package/dist/cjs/constants.js +114 -0
  22. package/dist/cjs/constants.js.map +7 -0
  23. package/dist/cjs/index.js +39 -0
  24. package/dist/cjs/index.js.map +7 -0
  25. package/dist/cjs/quillMatchers/clipboardLinkWithTagMatcher.js +48 -0
  26. package/dist/cjs/quillMatchers/clipboardLinkWithTagMatcher.js.map +7 -0
  27. package/dist/cjs/quillOverrides/IndentStyle.js +51 -0
  28. package/dist/cjs/quillOverrides/IndentStyle.js.map +7 -0
  29. package/dist/cjs/quillOverrides/LinkFormat.js +86 -0
  30. package/dist/cjs/quillOverrides/LinkFormat.js.map +7 -0
  31. package/dist/cjs/quillOverrides/PlainClipboard.js +47 -0
  32. package/dist/cjs/quillOverrides/PlainClipboard.js.map +7 -0
  33. package/dist/cjs/utils.js +50 -0
  34. package/dist/cjs/utils.js.map +7 -0
  35. package/dist/esm/DSWYSIWYGEditor.js +101 -0
  36. package/dist/esm/DSWYSIWYGEditor.js.map +7 -0
  37. package/dist/esm/components/CustomImageUploader.js +94 -0
  38. package/dist/esm/components/CustomImageUploader.js.map +7 -0
  39. package/dist/esm/components/CustomToolbar.js +232 -0
  40. package/dist/esm/components/CustomToolbar.js.map +7 -0
  41. package/dist/esm/components/DSWYSIWYGEditorImpl.js +228 -0
  42. package/dist/esm/components/DSWYSIWYGEditorImpl.js.map +7 -0
  43. package/dist/esm/components/ImageLibraryModal.js +81 -0
  44. package/dist/esm/components/ImageLibraryModal.js.map +7 -0
  45. package/dist/esm/components/InsertFieldModal.js +185 -0
  46. package/dist/esm/components/InsertFieldModal.js.map +7 -0
  47. package/dist/esm/components/TippedButton.js +64 -0
  48. package/dist/esm/components/TippedButton.js.map +7 -0
  49. package/dist/esm/components/TippedSelect.js +28 -0
  50. package/dist/esm/components/TippedSelect.js.map +7 -0
  51. package/dist/esm/components/colors.js +21 -0
  52. package/dist/esm/components/colors.js.map +7 -0
  53. package/dist/esm/components/customFields.js +47 -0
  54. package/dist/esm/components/customFields.js.map +7 -0
  55. package/dist/esm/constants.js +85 -0
  56. package/dist/esm/constants.js.map +7 -0
  57. package/dist/esm/index.js +10 -0
  58. package/dist/esm/index.js.map +7 -0
  59. package/dist/esm/quillMatchers/clipboardLinkWithTagMatcher.js +19 -0
  60. package/dist/esm/quillMatchers/clipboardLinkWithTagMatcher.js.map +7 -0
  61. package/dist/esm/quillOverrides/IndentStyle.js +22 -0
  62. package/dist/esm/quillOverrides/IndentStyle.js.map +7 -0
  63. package/dist/esm/quillOverrides/LinkFormat.js +57 -0
  64. package/dist/esm/quillOverrides/LinkFormat.js.map +7 -0
  65. package/dist/esm/quillOverrides/PlainClipboard.js +18 -0
  66. package/dist/esm/quillOverrides/PlainClipboard.js.map +7 -0
  67. package/dist/esm/utils.js +21 -0
  68. package/dist/esm/utils.js.map +7 -0
  69. package/package.json +64 -55
  70. package/cjs/DSWYSIWYGEditor.js +0 -82
  71. package/cjs/components/CustomImageUploader.js +0 -125
  72. package/cjs/components/CustomToolbar.js +0 -282
  73. package/cjs/components/DSWYSIWYGEditorImpl.js +0 -256
  74. package/cjs/components/ImageLibraryModal.js +0 -72
  75. package/cjs/components/InsertFieldModal.js +0 -218
  76. package/cjs/components/TippedButton.js +0 -56
  77. package/cjs/components/TippedSelect.js +0 -46
  78. package/cjs/components/colors.js +0 -30
  79. package/cjs/components/customFields.js +0 -57
  80. package/cjs/constants.js +0 -40
  81. package/cjs/index.js +0 -21
  82. package/cjs/quillMatchers/clipboardLinkWithTagMatcher.js +0 -33
  83. package/cjs/quillOverrides/IndentStyle.js +0 -29
  84. package/cjs/quillOverrides/LinkFormat.js +0 -68
  85. package/cjs/quillOverrides/PlainClipboard.js +0 -27
  86. package/cjs/utils.js +0 -27
  87. package/esm/DSWYSIWYGEditor.js +0 -72
  88. package/esm/components/CustomImageUploader.js +0 -115
  89. package/esm/components/CustomToolbar.js +0 -271
  90. package/esm/components/DSWYSIWYGEditorImpl.js +0 -245
  91. package/esm/components/ImageLibraryModal.js +0 -64
  92. package/esm/components/InsertFieldModal.js +0 -208
  93. package/esm/components/TippedButton.js +0 -46
  94. package/esm/components/TippedSelect.js +0 -38
  95. package/esm/components/colors.js +0 -26
  96. package/esm/components/customFields.js +0 -49
  97. package/esm/constants.js +0 -32
  98. package/esm/index.js +0 -4
  99. package/esm/quillMatchers/clipboardLinkWithTagMatcher.js +0 -29
  100. package/esm/quillOverrides/IndentStyle.js +0 -27
  101. package/esm/quillOverrides/LinkFormat.js +0 -66
  102. package/esm/quillOverrides/PlainClipboard.js +0 -25
  103. package/esm/utils.js +0 -23
  104. package/types/DSWYSIWYGEditor.d.ts +0 -75
  105. package/types/components/CustomImageUploader.d.ts +0 -8
  106. package/types/components/CustomToolbar.d.ts +0 -21
  107. package/types/components/DSWYSIWYGEditorImpl.d.ts +0 -15
  108. package/types/components/ImageLibraryModal.d.ts +0 -31
  109. package/types/components/InsertFieldModal.d.ts +0 -41
  110. package/types/components/TippedButton.d.ts +0 -12
  111. package/types/components/TippedSelect.d.ts +0 -13
  112. package/types/components/colors.d.ts +0 -1
  113. package/types/components/customFields.d.ts +0 -36
  114. package/types/constants.d.ts +0 -26
  115. package/types/index.d.ts +0 -4
  116. package/types/quillMatchers/clipboardLinkWithTagMatcher.d.ts +0 -2
  117. package/types/quillOverrides/IndentStyle.d.ts +0 -10
  118. package/types/quillOverrides/LinkFormat.d.ts +0 -12
  119. package/types/quillOverrides/PlainClipboard.d.ts +0 -8
  120. package/types/utils.d.ts +0 -1
@@ -0,0 +1,185 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __objRest = (source, exclude) => {
21
+ var target = {};
22
+ for (var prop in source)
23
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
+ target[prop] = source[prop];
25
+ if (source != null && __getOwnPropSymbols)
26
+ for (var prop of __getOwnPropSymbols(source)) {
27
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
+ target[prop] = source[prop];
29
+ }
30
+ return target;
31
+ };
32
+ import * as React from "react";
33
+ import React2 from "react";
34
+ import PropTypes from "prop-types";
35
+ import DSModal, { MODAL_TYPE } from "@elliemae/ds-modal";
36
+ import { sizeOptions } from "@elliemae/ds-shared/constants";
37
+ import { includes } from "lodash";
38
+ import { fields, getFieldName, getFieldCode } from "./customFields";
39
+ const modalTypes = Object.values(MODAL_TYPE);
40
+ const elementClassName = "insertfieldmodal-element";
41
+ class InsertFieldModal extends React2.PureComponent {
42
+ constructor(props) {
43
+ super(props);
44
+ this.onConfirm = () => {
45
+ const { onConfirm, onClose } = this.props;
46
+ const { selectedFieldCode } = this.state;
47
+ onConfirm(selectedFieldCode);
48
+ onClose();
49
+ };
50
+ this.onReject = () => {
51
+ const { onReject, onClose } = this.props;
52
+ if (onReject) {
53
+ onReject();
54
+ } else {
55
+ onClose();
56
+ }
57
+ };
58
+ this.drawDiv = (className, content, content2) => /* @__PURE__ */ React2.createElement("div", {
59
+ className
60
+ }, /* @__PURE__ */ React2.createElement("span", null, content), /* @__PURE__ */ React2.createElement("span", null, content2));
61
+ this.drawLabel = (className, label, value) => /* @__PURE__ */ React2.createElement("div", {
62
+ className
63
+ }, /* @__PURE__ */ React2.createElement("span", {
64
+ className: "label"
65
+ }, label), /* @__PURE__ */ React2.createElement("span", {
66
+ className: "value"
67
+ }, value));
68
+ this.handleElementClick = (e, selectedFieldCode) => {
69
+ if (e.key && e.key !== " ") {
70
+ return;
71
+ }
72
+ const { selectedFieldCode: fCode } = this.state;
73
+ const { disableDoubleClick } = this.props;
74
+ if (selectedFieldCode === fCode && !disableDoubleClick) {
75
+ this.onConfirm();
76
+ return;
77
+ }
78
+ this.setState({
79
+ selectedFieldCode
80
+ });
81
+ const { onSelect } = this.props;
82
+ if (onSelect) {
83
+ onSelect(selectedFieldCode);
84
+ }
85
+ };
86
+ this.preventSpacebarScroll = () => {
87
+ document.onkeypress = function(e) {
88
+ if (!includes(e.target.className, elementClassName)) {
89
+ return true;
90
+ }
91
+ e = e || window.event;
92
+ const charCode = e.keyCode || e.which;
93
+ if (charCode === 32) {
94
+ e.preventDefault();
95
+ return false;
96
+ }
97
+ return true;
98
+ };
99
+ };
100
+ this.renderElements = () => {
101
+ const { customFields } = this.props;
102
+ if (!customFields) {
103
+ return "Empty";
104
+ }
105
+ const { selectedFieldCode } = this.state;
106
+ return customFields.map((customField, idx) => {
107
+ const extras = {};
108
+ const fieldCode = getFieldCode(customField);
109
+ if (this.focusFirst && idx === 0) {
110
+ extras.ref = (element) => element && element.focus();
111
+ this.focusFirst = void 0;
112
+ } else if (fieldCode === selectedFieldCode) {
113
+ extras.ref = (element) => element && element.focus();
114
+ }
115
+ return /* @__PURE__ */ React2.createElement("div", __spreadValues({
116
+ key: fieldCode,
117
+ className: elementClassName,
118
+ onClick: (e) => this.handleElementClick(e, fieldCode),
119
+ onKeyUp: (e) => this.handleElementClick(e, fieldCode),
120
+ role: "button",
121
+ tabIndex: 0
122
+ }, extras), this.drawLabel("content", getFieldName(customField), fieldCode));
123
+ });
124
+ };
125
+ this.state = {
126
+ selectedFieldCode: getFieldCode(fields[0])
127
+ };
128
+ this.preventSpacebarScroll();
129
+ }
130
+ componentDidMount() {
131
+ const { customFields } = this.props;
132
+ if (customFields) {
133
+ this.handleElementClick({}, customFields[0]);
134
+ this.focusFirst = true;
135
+ }
136
+ }
137
+ getDerivedStateFromProps(nextProps) {
138
+ const { customFields } = this.props;
139
+ if (!customFields && nextProps.customFields) {
140
+ this.setState({ selectedFieldCode: customFields[0] });
141
+ }
142
+ }
143
+ render() {
144
+ const _a = this.props, { customFields, onSelect } = _a, modalProps = __objRest(_a, ["customFields", "onSelect"]);
145
+ return /* @__PURE__ */ React2.createElement(DSModal, __spreadProps(__spreadValues({}, modalProps), {
146
+ className: "insert-field-modal",
147
+ onConfirm: this.onConfirm,
148
+ onReject: this.onReject
149
+ }), /* @__PURE__ */ React2.createElement("div", {
150
+ className: "wrapper"
151
+ }, /* @__PURE__ */ React2.createElement("div", {
152
+ className: "col-1"
153
+ }, this.drawDiv("title", "Field Name", "\xAB Field ID \xBB"), this.renderElements())));
154
+ }
155
+ }
156
+ InsertFieldModal.propTypes = {
157
+ onConfirm: PropTypes.func.isRequired,
158
+ onClose: PropTypes.func.isRequired,
159
+ confirmLabel: PropTypes.string,
160
+ customFields: PropTypes.arrayOf(PropTypes.string),
161
+ disableDoubleClick: PropTypes.bool,
162
+ isOpen: PropTypes.bool,
163
+ modalTitle: PropTypes.string,
164
+ modalType: PropTypes.string,
165
+ rejectLabel: PropTypes.string,
166
+ shouldCloseOnOverlayClick: PropTypes.bool,
167
+ size: PropTypes.string,
168
+ onSelect: PropTypes.func
169
+ };
170
+ InsertFieldModal.defaultProps = {
171
+ confirmLabel: "Add",
172
+ customFields: fields,
173
+ disableDoubleClick: false,
174
+ isOpen: true,
175
+ modalTitle: "Add Field",
176
+ modalType: modalTypes[1],
177
+ rejectLabel: "Cancel",
178
+ shouldCloseOnOverlayClick: true,
179
+ size: sizeOptions[1],
180
+ onSelect: void 0
181
+ };
182
+ export {
183
+ InsertFieldModal as default
184
+ };
185
+ //# sourceMappingURL=InsertFieldModal.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 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"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,64 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
4
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __spreadValues = (a, b) => {
7
+ for (var prop in b || (b = {}))
8
+ if (__hasOwnProp.call(b, prop))
9
+ __defNormalProp(a, prop, b[prop]);
10
+ if (__getOwnPropSymbols)
11
+ for (var prop of __getOwnPropSymbols(b)) {
12
+ if (__propIsEnum.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ }
15
+ return a;
16
+ };
17
+ var __objRest = (source, exclude) => {
18
+ var target = {};
19
+ for (var prop in source)
20
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
21
+ target[prop] = source[prop];
22
+ if (source != null && __getOwnPropSymbols)
23
+ for (var prop of __getOwnPropSymbols(source)) {
24
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
25
+ target[prop] = source[prop];
26
+ }
27
+ return target;
28
+ };
29
+ import * as React from "react";
30
+ import React2 from "react";
31
+ import { DSTooltipV3 } from "@elliemae/ds-tooltip";
32
+ const TippedButton = (_a) => {
33
+ var _b = _a, {
34
+ className,
35
+ tip,
36
+ children,
37
+ onClick = () => null,
38
+ zIndex = 1
39
+ } = _b, rest = __objRest(_b, [
40
+ "className",
41
+ "tip",
42
+ "children",
43
+ "onClick",
44
+ "zIndex"
45
+ ]);
46
+ return /* @__PURE__ */ React2.createElement("div", {
47
+ className: "tooltip"
48
+ }, /* @__PURE__ */ React2.createElement(DSTooltipV3, {
49
+ text: tip,
50
+ zIndex,
51
+ withoutPortal: false
52
+ }, /* @__PURE__ */ React2.createElement("button", __spreadValues({
53
+ type: "button",
54
+ className,
55
+ onClick: (e) => {
56
+ e.preventDefault();
57
+ onClick(e);
58
+ }
59
+ }, rest), children)));
60
+ };
61
+ export {
62
+ TippedButton
63
+ };
64
+ //# sourceMappingURL=TippedButton.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/TippedButton.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { DSTooltipV3 } from '@elliemae/ds-tooltip';\n\ninterface TippedButtonPropsT {\n tip: string;\n zIndex: number;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n children?: React.ReactNode;\n style?: React.CSSProperties;\n className?: string;\n value?: string;\n}\n\nexport const TippedButton = ({\n className,\n tip,\n children,\n onClick = () => null,\n zIndex = 1,\n ...rest\n}: TippedButtonPropsT): JSX.Element => (\n <div className=\"tooltip\">\n <DSTooltipV3 text={tip} zIndex={zIndex} withoutPortal={false}>\n <button\n type=\"button\"\n className={className}\n onClick={(e) => {\n e.preventDefault();\n onClick(e);\n }}\n {...rest}\n >\n {children}\n </button>\n </DSTooltipV3>\n </div>\n);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;ACAA;AACA;AAYO,MAAM,eAAe,CAAC,OAOO;AAPP,eAC3B;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU,MAAM;AAAA,IAChB,SAAS;AAAA,MALkB,IAMxB,iBANwB,IAMxB;AAAA,IALH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,8CAAC,OAAD;AAAA,IAAK,WAAU;AAAA,KACb,qCAAC,aAAD;AAAA,IAAa,MAAM;AAAA,IAAK;AAAA,IAAgB,eAAe;AAAA,KACrD,qCAAC,UAAD;AAAA,IACE,MAAK;AAAA,IACL;AAAA,IACA,SAAS,CAAC,MAAM;AACd,QAAE;AACF,cAAQ;AAAA;AAAA,KAEN,OAEH;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,28 @@
1
+ import * as React from "react";
2
+ import React2 from "react";
3
+ import { DSTooltipV3 } from "@elliemae/ds-tooltip";
4
+ const TippedSelect = (props) => {
5
+ const { tip, onChange = () => null, className, options, defaultValue = "", values, zIndex, children } = props;
6
+ const fallBackChildren = values && values.map((value, index) => /* @__PURE__ */ React2.createElement("option", {
7
+ key: value,
8
+ value: value === "normal" ? "" : value
9
+ }, options ? options[index] : null));
10
+ return /* @__PURE__ */ React2.createElement("div", {
11
+ className: "tooltip"
12
+ }, /* @__PURE__ */ React2.createElement(DSTooltipV3, {
13
+ text: tip,
14
+ zIndex,
15
+ withoutPortal: false
16
+ }, /* @__PURE__ */ React2.createElement("div", null, /* @__PURE__ */ React2.createElement("select", {
17
+ className,
18
+ defaultValue,
19
+ onChange: (e) => {
20
+ e.persist();
21
+ onChange(e);
22
+ }
23
+ }, children || fallBackChildren))));
24
+ };
25
+ export {
26
+ TippedSelect
27
+ };
28
+ //# sourceMappingURL=TippedSelect.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/TippedSelect.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { DSTooltipV3 } from '@elliemae/ds-tooltip';\n\ninterface TippedSelectPropsT {\n tip: string;\n onChange?: (e: React.ChangeEvent<HTMLSelectElement>) => void;\n className?: string;\n options?: string[];\n defaultValue?: string;\n values?: string[];\n zIndex?: number;\n children?: React.ReactNode;\n}\n\nexport const TippedSelect = (props: TippedSelectPropsT): JSX.Element => {\n const { tip, onChange = () => null, className, options, defaultValue = '', values, zIndex, children } = props;\n const fallBackChildren =\n values &&\n values.map((value, index) => (\n <option key={value} value={value === 'normal' ? '' : value}>\n {options ? options[index] : null}\n </option>\n ));\n\n return (\n <div className=\"tooltip\">\n <DSTooltipV3 text={tip} zIndex={zIndex} withoutPortal={false}>\n <div>\n <select\n className={className}\n defaultValue={defaultValue}\n onChange={(e) => {\n e.persist();\n onChange(e);\n }}\n >\n {children || fallBackChildren}\n </select>\n </div>\n </DSTooltipV3>\n </div>\n );\n};\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AAaO,MAAM,eAAe,CAAC,UAA2C;AACtE,QAAM,EAAE,KAAK,WAAW,MAAM,MAAM,WAAW,SAAS,eAAe,IAAI,QAAQ,QAAQ,aAAa;AACxG,QAAM,mBACJ,UACA,OAAO,IAAI,CAAC,OAAO,UACjB,qCAAC,UAAD;AAAA,IAAQ,KAAK;AAAA,IAAO,OAAO,UAAU,WAAW,KAAK;AAAA,KAClD,UAAU,QAAQ,SAAS;AAIlC,SACE,qCAAC,OAAD;AAAA,IAAK,WAAU;AAAA,KACb,qCAAC,aAAD;AAAA,IAAa,MAAM;AAAA,IAAK;AAAA,IAAgB,eAAe;AAAA,KACrD,qCAAC,OAAD,MACE,qCAAC,UAAD;AAAA,IACE;AAAA,IACA;AAAA,IACA,UAAU,CAAC,MAAM;AACf,QAAE;AACF,eAAS;AAAA;AAAA,KAGV,YAAY;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,21 @@
1
+ import * as React from "react";
2
+ function sinToHex(i, size, phase) {
3
+ const sin = Math.sin(Math.PI / size * 2 * i + phase);
4
+ const int = Math.floor(sin * 127) + 128;
5
+ const hex = int.toString(16);
6
+ return hex.length === 1 ? `0${hex}` : hex;
7
+ }
8
+ function getRainbowColors(size = 28) {
9
+ const colors = new Array(size).fill(void 0);
10
+ return colors.map((color, idx) => {
11
+ const red = sinToHex(idx, size, 0 * Math.PI * 2 / 3);
12
+ const blue = sinToHex(idx, size, 1 * Math.PI * 2 / 3);
13
+ const green = sinToHex(idx, size, 2 * Math.PI * 2 / 3);
14
+ color = `#${red}${green}${blue}`;
15
+ return color;
16
+ });
17
+ }
18
+ export {
19
+ getRainbowColors
20
+ };
21
+ //# sourceMappingURL=colors.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/colors.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "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"],
5
+ "mappings": "AAAA;ACAA,kBAAkB,GAAG,MAAM,OAAO;AAChC,QAAM,MAAM,KAAK,IAAK,KAAK,KAAK,OAAQ,IAAI,IAAI;AAChD,QAAM,MAAM,KAAK,MAAM,MAAM,OAAO;AACpC,QAAM,MAAM,IAAI,SAAS;AAEzB,SAAO,IAAI,WAAW,IAAI,IAAI,QAAQ;AAAA;AAEjC,0BAA0B,OAAO,IAAI;AAC1C,QAAM,SAAS,IAAI,MAAM,MAAM,KAAK;AACpC,SAAO,OAAO,IAAI,CAAC,OAAO,QAAQ;AAChC,UAAM,MAAM,SAAS,KAAK,MAAO,IAAI,KAAK,KAAK,IAAK;AACpD,UAAM,OAAO,SAAS,KAAK,MAAO,IAAI,KAAK,KAAK,IAAK;AACrD,UAAM,QAAQ,SAAS,KAAK,MAAO,IAAI,KAAK,KAAK,IAAK;AAEtD,YAAQ,IAAI,MAAM,QAAQ;AAC1B,WAAO;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,47 @@
1
+ import * as React from "react";
2
+ const fields = [
3
+ "Lender Name \xAD \xAB315\xBB",
4
+ "Lender Address \xAD \xAB319\xBB",
5
+ "Lender City \xAD \xAB313\xBB",
6
+ "Lender State \xAD \xAB321\xBB",
7
+ "Lender Zip \xAD \xAB323\xBB",
8
+ "Borrower First Name \xAD \xAB4000\xBB",
9
+ "Borrower Last Name \xAD \xAB4002\xBB",
10
+ "Total Loan Amount \xAD \xAB2\xBB",
11
+ "Loan Term \xAD \xAB4\xBB",
12
+ "Loan to Value \xAD \xAB976\xBB",
13
+ "Monthly Payment \xAD \xAB912\xBB",
14
+ "Interest Rate \xAD \xAB3\xBB",
15
+ "Loan Originator Name \xAD \xAB1612\xBB",
16
+ "Loan Originator Email \xAD \xAB3968\xBB",
17
+ "Loan Originator Phone \xAD \xAB1823\xBB",
18
+ "NMLS Loan Originator ID \xAD \xAB3238\xBB"
19
+ ];
20
+ const getFields = (customFields = fields) => customFields.map((opt, index) => ({
21
+ id: `${opt}_${index}`,
22
+ label: `${opt}`,
23
+ onClick: opt.indexOf("\xAB") !== -1 ? () => (void 0).onOptionClick((void 0).getFieldCode(opt)) : null,
24
+ type: opt === "" ? "separator" : null
25
+ }));
26
+ const getFieldName = (field) => {
27
+ const codeIndex = field.indexOf("\xAB");
28
+ return field.substring(0, codeIndex);
29
+ };
30
+ const getFieldCode = (field) => {
31
+ const codeIndex = field.indexOf("\xAB");
32
+ return field.substring(codeIndex);
33
+ };
34
+ var customFields_default = {
35
+ fields,
36
+ getFields,
37
+ getFieldName,
38
+ getFieldCode
39
+ };
40
+ export {
41
+ customFields_default as default,
42
+ fields,
43
+ getFieldCode,
44
+ getFieldName,
45
+ getFields
46
+ };
47
+ //# sourceMappingURL=customFields.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/customFields.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const fields = [\n 'Lender Name \u00AD \u00AB315\u00BB',\n 'Lender Address \u00AD \u00AB319\u00BB',\n 'Lender City \u00AD \u00AB313\u00BB',\n 'Lender State \u00AD \u00AB321\u00BB',\n 'Lender Zip \u00AD \u00AB323\u00BB',\n 'Borrower First Name \u00AD \u00AB4000\u00BB',\n 'Borrower Last Name \u00AD \u00AB4002\u00BB',\n 'Total Loan Amount \u00AD \u00AB2\u00BB',\n 'Loan Term \u00AD \u00AB4\u00BB',\n 'Loan to Value \u00AD \u00AB976\u00BB',\n 'Monthly Payment \u00AD \u00AB912\u00BB',\n 'Interest Rate \u00AD \u00AB3\u00BB',\n 'Loan Originator Name \u00AD \u00AB1612\u00BB',\n 'Loan Originator Email \u00AD \u00AB3968\u00BB',\n 'Loan Originator Phone \u00AD \u00AB1823\u00BB',\n 'NMLS Loan Originator ID \u00AD \u00AB3238\u00BB',\n];\n/**\n * Returns the fields names\n *\n * @param customFields\n */\nexport const getFields = (customFields = fields) =>\n customFields.map((opt, index) => ({\n id: `${opt}_${index}`,\n // icon: 'ADD',\n label: `${opt}`,\n onClick: opt.indexOf('\u00AB') !== -1 ? () => this.onOptionClick(this.getFieldCode(opt)) : null,\n type: opt === '' ? 'separator' : null,\n }));\n/**\n * Returns a field's name\n *\n * @param field\n */\nexport const getFieldName = (field) => {\n const codeIndex = field.indexOf('\u00AB');\n return field.substring(0, codeIndex);\n};\n/**\n * Returns a field's id. E.g: \u00AB456\u00BB\n *\n * @param field\n */\nexport const getFieldCode = (field) => {\n const codeIndex = field.indexOf('\u00AB');\n return field.substring(codeIndex);\n};\n\nexport default {\n fields,\n getFields,\n getFieldName,\n getFieldCode,\n};\n"],
5
+ "mappings": "AAAA;ACAO,MAAM,SAAS;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAOK,MAAM,YAAY,CAAC,eAAe,WACvC,aAAa,IAAI,CAAC,KAAK,UAAW;AAAA,EAChC,IAAI,GAAG,OAAO;AAAA,EAEd,OAAO,GAAG;AAAA,EACV,SAAS,IAAI,QAAQ,YAAS,KAAK,MAAM,SAAK,cAAc,SAAK,aAAa,QAAQ;AAAA,EACtF,MAAM,QAAQ,KAAK,cAAc;AAAA;AAO9B,MAAM,eAAe,CAAC,UAAU;AACrC,QAAM,YAAY,MAAM,QAAQ;AAChC,SAAO,MAAM,UAAU,GAAG;AAAA;AAOrB,MAAM,eAAe,CAAC,UAAU;AACrC,QAAM,YAAY,MAAM,QAAQ;AAChC,SAAO,MAAM,UAAU;AAAA;AAGzB,IAAO,uBAAQ;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,85 @@
1
+ import * as React from "react";
2
+ import { getRainbowColors } from "./components/colors";
3
+ const colors = [
4
+ "#000000",
5
+ "#e60000",
6
+ "#ff9900",
7
+ "#ffff00",
8
+ "#008A00",
9
+ "#0066cc",
10
+ "#9933ff",
11
+ "#ffffff",
12
+ "#facccc",
13
+ "#ffebcc",
14
+ "#ffffcc",
15
+ "#cce8cc",
16
+ "#cce0f5",
17
+ "#ebd6ff",
18
+ "#bbbbbb",
19
+ "#f06666",
20
+ "#ffc266",
21
+ "#ffff66",
22
+ "#66b966",
23
+ "#66a3e0",
24
+ "#c285ff",
25
+ "#888888",
26
+ "#a10000",
27
+ "#b26b00",
28
+ "#b2b200",
29
+ "#006100",
30
+ "#0047b2",
31
+ "#6b24b2",
32
+ "#444444",
33
+ "#5c0000",
34
+ "#663d00",
35
+ "#666600",
36
+ "#003700",
37
+ "#002966",
38
+ "#3d1466",
39
+ ...getRainbowColors(28)
40
+ ];
41
+ const fonts = [
42
+ "Sans Serif",
43
+ "Serif",
44
+ "Monospace",
45
+ "Arial",
46
+ "Georgia",
47
+ "Helvetica"
48
+ ];
49
+ const sizes = ["Small", "Normal", "Large", "Huge"];
50
+ const sizesReal = [
51
+ "X-Small",
52
+ "Normal",
53
+ "Large",
54
+ "X-Large"
55
+ ];
56
+ const defaultItems = {
57
+ HEADER: "header",
58
+ FONT: "font",
59
+ FONT_SIZE: "size",
60
+ BOLD: "bold",
61
+ ITALIC: "italic",
62
+ UNDERLINE: "underline",
63
+ STRIKE: "strike",
64
+ SUB: "sub",
65
+ SUPER: "super",
66
+ ORDERED_LIST: "ordered list",
67
+ BULLET_LIST: "bullet list",
68
+ INDENT_MINUS_ONE: "indent -1",
69
+ INDENT_PLUS_ONE: "indent +1",
70
+ ALIGN: "align",
71
+ FONT_COLOR: "font color",
72
+ FONT_BACKGROUND_COLOR: "font background color",
73
+ HYPERLINK: "hyperlink",
74
+ IMAGE: "image",
75
+ CLEAR_FORMAT: "clear format",
76
+ SHOW_HTML: "show html"
77
+ };
78
+ export {
79
+ colors,
80
+ defaultItems,
81
+ fonts,
82
+ sizes,
83
+ sizesReal
84
+ };
85
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/constants.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable prettier/prettier */\nimport { getRainbowColors } from './components/colors';\n\nexport const colors = [\n '#000000',\n '#e60000',\n '#ff9900',\n '#ffff00',\n '#008A00',\n '#0066cc',\n '#9933ff',\n '#ffffff',\n '#facccc',\n '#ffebcc',\n '#ffffcc',\n '#cce8cc',\n '#cce0f5',\n '#ebd6ff',\n '#bbbbbb',\n '#f06666',\n '#ffc266',\n '#ffff66',\n '#66b966',\n '#66a3e0',\n '#c285ff',\n '#888888',\n '#a10000',\n '#b26b00',\n '#b2b200',\n '#006100',\n '#0047b2',\n '#6b24b2',\n '#444444',\n '#5c0000',\n '#663d00',\n '#666600',\n '#003700',\n '#002966',\n '#3d1466',\n ...getRainbowColors(28),\n];\nexport const fonts = [\n 'Sans Serif',\n 'Serif',\n 'Monospace',\n 'Arial',\n 'Georgia',\n 'Helvetica',\n];\nexport const sizes = ['Small', 'Normal', 'Large', 'Huge'];\nexport const sizesReal = [\n // https://www.w3schools.com/cssref/pr_font_font-size.asp\n 'X-Small',\n 'Normal',\n 'Large',\n 'X-Large',\n];\n\nexport const defaultItems = {\n HEADER: 'header',\n FONT: 'font',\n FONT_SIZE: 'size',\n BOLD: 'bold',\n ITALIC: 'italic',\n UNDERLINE: 'underline',\n STRIKE: 'strike',\n SUB: 'sub',\n SUPER: 'super',\n ORDERED_LIST: 'ordered list',\n BULLET_LIST: 'bullet list',\n INDENT_MINUS_ONE: 'indent -1',\n INDENT_PLUS_ONE: 'indent +1',\n ALIGN: 'align',\n FONT_COLOR: 'font color',\n FONT_BACKGROUND_COLOR: 'font background color',\n HYPERLINK: 'hyperlink',\n IMAGE: 'image',\n CLEAR_FORMAT: 'clear format',\n SHOW_HTML: 'show html',\n};\n"],
5
+ "mappings": "AAAA;ACCA;AAEO,MAAM,SAAS;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG,iBAAiB;AAAA;AAEf,MAAM,QAAQ;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAEK,MAAM,QAAQ,CAAC,SAAS,UAAU,SAAS;AAC3C,MAAM,YAAY;AAAA,EAEvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAGK,MAAM,eAAe;AAAA,EAC1B,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,WAAW;AAAA,EACX,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,OAAO;AAAA,EACP,cAAc;AAAA,EACd,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,uBAAuB;AAAA,EACvB,WAAW;AAAA,EACX,OAAO;AAAA,EACP,cAAc;AAAA,EACd,WAAW;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ import { default as default2, WYSIWYWithSchema } from "./DSWYSIWYGEditor";
3
+ export * from "./components/CustomToolbar";
4
+ export * from "./components/CustomImageUploader";
5
+ export * from "./constants";
6
+ export {
7
+ WYSIWYWithSchema,
8
+ default2 as default
9
+ };
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/index.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { default, WYSIWYWithSchema } from './DSWYSIWYGEditor';\nexport * from './components/CustomToolbar';\nexport * from './components/CustomImageUploader';\nexport * from './constants';\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AACA;AACA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,19 @@
1
+ import * as React from "react";
2
+ const hrefTagRegexp = /%7B%7B.+%7D%7D/gm;
3
+ const clipboardLinkWithTagMatcher = (node, delta) => {
4
+ if (node.origin === window.location.origin) {
5
+ const nodeHref = node.href;
6
+ const tagMatch = nodeHref.match(hrefTagRegexp);
7
+ if (tagMatch) {
8
+ const [overWrittenHrefValue] = tagMatch;
9
+ const insertLinkOperation = delta?.ops?.find((operation) => operation?.attributes?.link?.match?.(hrefTagRegexp));
10
+ if (insertLinkOperation)
11
+ insertLinkOperation.attributes.link = overWrittenHrefValue.replace(/%7B%7B/gm, "{{").replace(/%7D%7D/gm, "}}");
12
+ }
13
+ }
14
+ return delta;
15
+ };
16
+ export {
17
+ clipboardLinkWithTagMatcher
18
+ };
19
+ //# sourceMappingURL=clipboardLinkWithTagMatcher.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/quillMatchers/clipboardLinkWithTagMatcher.ts"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "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"],
5
+ "mappings": "AAAA;ACEA,MAAM,gBAAgB;AACf,MAAM,8BAA8B,CAAC,MAAyB,UAAwB;AAC3F,MAAI,KAAK,WAAW,OAAO,SAAS,QAAQ;AAC1C,UAAM,WAAW,KAAK;AACtB,UAAM,WAAW,SAAS,MAAM;AAChC,QAAI,UAAU;AACZ,YAAM,CAAC,wBAAwB;AAC/B,YAAM,sBAAsB,OAAO,KAAK,KAAK,CAAC,cAAc,WAAW,YAAY,MAAM,QAAQ;AACjG,UAAI;AACF,4BAAoB,WAAW,OAAO,qBAAqB,QAAQ,YAAY,MAAM,QAAQ,YAAY;AAAA;AAAA;AAG/G,SAAO;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,22 @@
1
+ import * as React from "react";
2
+ import { Quill } from "react-quill";
3
+ const Parchment = Quill.import("parchment");
4
+ const levels = [1, 2, 3, 4, 5];
5
+ const multiplier = 2;
6
+ class IndentAttributor extends Parchment.Attributor.Style {
7
+ add(node, value) {
8
+ return super.add(node, `${value * multiplier}em`);
9
+ }
10
+ value(node) {
11
+ return parseFloat(super.value(node)) / multiplier || void 0;
12
+ }
13
+ }
14
+ const IndentStyle = new IndentAttributor("indent", "margin-left", {
15
+ scope: Parchment.Scope.BLOCK,
16
+ whitelist: levels.map((value) => `${value * multiplier}em`)
17
+ });
18
+ var IndentStyle_default = IndentStyle;
19
+ export {
20
+ IndentStyle_default as default
21
+ };
22
+ //# sourceMappingURL=IndentStyle.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/quillOverrides/IndentStyle.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { Quill } from 'react-quill';\n\nconst Parchment = Quill.import('parchment');\nconst levels = [1, 2, 3, 4, 5];\nconst multiplier = 2;\n\nclass IndentAttributor extends Parchment.Attributor.Style {\n add(node, value) {\n return super.add(node, `${value * multiplier}em`);\n }\n\n value(node) {\n return parseFloat(super.value(node)) / multiplier || undefined; // Don't return NaN\n }\n}\n\n/**\n * Meant to override quill's indent format's style and add the indentation inline instead of applying a class\n */\nconst IndentStyle = new IndentAttributor('indent', 'margin-left', {\n scope: Parchment.Scope.BLOCK,\n whitelist: levels.map(value => `${value * multiplier}em`),\n});\n\nexport default IndentStyle;\n"],
5
+ "mappings": "AAAA;ACAA;AAEA,MAAM,YAAY,MAAM,OAAO;AAC/B,MAAM,SAAS,CAAC,GAAG,GAAG,GAAG,GAAG;AAC5B,MAAM,aAAa;AAEnB,+BAA+B,UAAU,WAAW,MAAM;AAAA,EACxD,IAAI,MAAM,OAAO;AACf,WAAO,MAAM,IAAI,MAAM,GAAG,QAAQ;AAAA;AAAA,EAGpC,MAAM,MAAM;AACV,WAAO,WAAW,MAAM,MAAM,SAAS,cAAc;AAAA;AAAA;AAOzD,MAAM,cAAc,IAAI,iBAAiB,UAAU,eAAe;AAAA,EAChE,OAAO,UAAU,MAAM;AAAA,EACvB,WAAW,OAAO,IAAI,WAAS,GAAG,QAAQ;AAAA;AAG5C,IAAO,sBAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,57 @@
1
+ import * as React from "react";
2
+ import { Quill } from "react-quill";
3
+ const sanitizeProtocol = (value) => {
4
+ if (typeof value === "boolean")
5
+ return value;
6
+ let newVal = value;
7
+ if (!value.startsWith("http") && !value.startsWith("ftp") && !value.startsWith("mailto:") && !value.startsWith("{{")) {
8
+ if (!value.startsWith("www")) {
9
+ newVal = `https://www.${value}`;
10
+ } else
11
+ newVal = `https://${value}`;
12
+ }
13
+ return newVal;
14
+ };
15
+ function getIsValidProtocol(url, protocols) {
16
+ const anchor = document.createElement("a");
17
+ anchor.href = url;
18
+ const protocol = anchor.href.slice(0, anchor.href.indexOf(":"));
19
+ return protocols.indexOf(protocol) > -1;
20
+ }
21
+ const Link = Quill.import("formats/link");
22
+ class LinkFormat extends Link {
23
+ constructor() {
24
+ super(...arguments);
25
+ this.blotName = "link";
26
+ this.tagName = "A";
27
+ this.SANITIZED_URL = "about:blank";
28
+ this.PROTOCOL_WHITELIST = ["http", "ftp", "https", "mailto", "tel"];
29
+ }
30
+ static create(value) {
31
+ const newVal = sanitizeProtocol(value);
32
+ const node = super.create(newVal);
33
+ node.setAttribute("href", newVal);
34
+ return node;
35
+ }
36
+ static formats(domNode) {
37
+ return domNode?.getAttribute?.("href");
38
+ }
39
+ static sanitize(url) {
40
+ return getIsValidProtocol(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL;
41
+ }
42
+ format(name, value) {
43
+ const newVal = sanitizeProtocol(value);
44
+ if (name === "link" && value === false) {
45
+ this.domNode.removeAttribute("href");
46
+ } else if (name !== this.statics.blotName || !newVal) {
47
+ super.format(name, newVal);
48
+ } else {
49
+ this.domNode.setAttribute("href", this.constructor.sanitize(newVal));
50
+ }
51
+ }
52
+ }
53
+ var LinkFormat_default = LinkFormat;
54
+ export {
55
+ LinkFormat_default as default
56
+ };
57
+ //# sourceMappingURL=LinkFormat.js.map