@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.
- package/dist/cjs/DSWYSIWYGEditor.js +128 -0
- package/dist/cjs/DSWYSIWYGEditor.js.map +7 -0
- package/dist/cjs/components/CustomImageUploader.js +123 -0
- package/dist/cjs/components/CustomImageUploader.js.map +7 -0
- package/dist/cjs/components/CustomToolbar.js +261 -0
- package/dist/cjs/components/CustomToolbar.js.map +7 -0
- package/dist/cjs/components/DSWYSIWYGEditorImpl.js +255 -0
- package/dist/cjs/components/DSWYSIWYGEditorImpl.js.map +7 -0
- package/dist/cjs/components/ImageLibraryModal.js +108 -0
- package/dist/cjs/components/ImageLibraryModal.js.map +7 -0
- package/dist/cjs/components/InsertFieldModal.js +212 -0
- package/dist/cjs/components/InsertFieldModal.js.map +7 -0
- package/dist/cjs/components/TippedButton.js +91 -0
- package/dist/cjs/components/TippedButton.js.map +7 -0
- package/dist/cjs/components/TippedSelect.js +57 -0
- package/dist/cjs/components/TippedSelect.js.map +7 -0
- package/dist/cjs/components/colors.js +50 -0
- package/dist/cjs/components/colors.js.map +7 -0
- package/dist/cjs/components/customFields.js +76 -0
- package/dist/cjs/components/customFields.js.map +7 -0
- package/dist/cjs/constants.js +114 -0
- package/dist/cjs/constants.js.map +7 -0
- package/dist/cjs/index.js +39 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/quillMatchers/clipboardLinkWithTagMatcher.js +48 -0
- package/dist/cjs/quillMatchers/clipboardLinkWithTagMatcher.js.map +7 -0
- package/dist/cjs/quillOverrides/IndentStyle.js +51 -0
- package/dist/cjs/quillOverrides/IndentStyle.js.map +7 -0
- package/dist/cjs/quillOverrides/LinkFormat.js +86 -0
- package/dist/cjs/quillOverrides/LinkFormat.js.map +7 -0
- package/dist/cjs/quillOverrides/PlainClipboard.js +47 -0
- package/dist/cjs/quillOverrides/PlainClipboard.js.map +7 -0
- package/dist/cjs/utils.js +50 -0
- package/dist/cjs/utils.js.map +7 -0
- package/dist/esm/DSWYSIWYGEditor.js +101 -0
- package/dist/esm/DSWYSIWYGEditor.js.map +7 -0
- package/dist/esm/components/CustomImageUploader.js +94 -0
- package/dist/esm/components/CustomImageUploader.js.map +7 -0
- package/dist/esm/components/CustomToolbar.js +232 -0
- package/dist/esm/components/CustomToolbar.js.map +7 -0
- package/dist/esm/components/DSWYSIWYGEditorImpl.js +228 -0
- package/dist/esm/components/DSWYSIWYGEditorImpl.js.map +7 -0
- package/dist/esm/components/ImageLibraryModal.js +81 -0
- package/dist/esm/components/ImageLibraryModal.js.map +7 -0
- package/dist/esm/components/InsertFieldModal.js +185 -0
- package/dist/esm/components/InsertFieldModal.js.map +7 -0
- package/dist/esm/components/TippedButton.js +64 -0
- package/dist/esm/components/TippedButton.js.map +7 -0
- package/dist/esm/components/TippedSelect.js +28 -0
- package/dist/esm/components/TippedSelect.js.map +7 -0
- package/dist/esm/components/colors.js +21 -0
- package/dist/esm/components/colors.js.map +7 -0
- package/dist/esm/components/customFields.js +47 -0
- package/dist/esm/components/customFields.js.map +7 -0
- package/dist/esm/constants.js +85 -0
- package/dist/esm/constants.js.map +7 -0
- package/dist/esm/index.js +10 -0
- package/dist/esm/index.js.map +7 -0
- package/dist/esm/quillMatchers/clipboardLinkWithTagMatcher.js +19 -0
- package/dist/esm/quillMatchers/clipboardLinkWithTagMatcher.js.map +7 -0
- package/dist/esm/quillOverrides/IndentStyle.js +22 -0
- package/dist/esm/quillOverrides/IndentStyle.js.map +7 -0
- package/dist/esm/quillOverrides/LinkFormat.js +57 -0
- package/dist/esm/quillOverrides/LinkFormat.js.map +7 -0
- package/dist/esm/quillOverrides/PlainClipboard.js +18 -0
- package/dist/esm/quillOverrides/PlainClipboard.js.map +7 -0
- package/dist/esm/utils.js +21 -0
- package/dist/esm/utils.js.map +7 -0
- package/package.json +64 -55
- package/cjs/DSWYSIWYGEditor.js +0 -82
- package/cjs/components/CustomImageUploader.js +0 -125
- package/cjs/components/CustomToolbar.js +0 -282
- package/cjs/components/DSWYSIWYGEditorImpl.js +0 -256
- package/cjs/components/ImageLibraryModal.js +0 -72
- package/cjs/components/InsertFieldModal.js +0 -218
- package/cjs/components/TippedButton.js +0 -56
- package/cjs/components/TippedSelect.js +0 -46
- package/cjs/components/colors.js +0 -30
- package/cjs/components/customFields.js +0 -57
- package/cjs/constants.js +0 -40
- package/cjs/index.js +0 -21
- package/cjs/quillMatchers/clipboardLinkWithTagMatcher.js +0 -33
- package/cjs/quillOverrides/IndentStyle.js +0 -29
- package/cjs/quillOverrides/LinkFormat.js +0 -68
- package/cjs/quillOverrides/PlainClipboard.js +0 -27
- package/cjs/utils.js +0 -27
- package/esm/DSWYSIWYGEditor.js +0 -72
- package/esm/components/CustomImageUploader.js +0 -115
- package/esm/components/CustomToolbar.js +0 -271
- package/esm/components/DSWYSIWYGEditorImpl.js +0 -245
- package/esm/components/ImageLibraryModal.js +0 -64
- package/esm/components/InsertFieldModal.js +0 -208
- package/esm/components/TippedButton.js +0 -46
- package/esm/components/TippedSelect.js +0 -38
- package/esm/components/colors.js +0 -26
- package/esm/components/customFields.js +0 -49
- package/esm/constants.js +0 -32
- package/esm/index.js +0 -4
- package/esm/quillMatchers/clipboardLinkWithTagMatcher.js +0 -29
- package/esm/quillOverrides/IndentStyle.js +0 -27
- package/esm/quillOverrides/LinkFormat.js +0 -66
- package/esm/quillOverrides/PlainClipboard.js +0 -25
- package/esm/utils.js +0 -23
- package/types/DSWYSIWYGEditor.d.ts +0 -75
- package/types/components/CustomImageUploader.d.ts +0 -8
- package/types/components/CustomToolbar.d.ts +0 -21
- package/types/components/DSWYSIWYGEditorImpl.d.ts +0 -15
- package/types/components/ImageLibraryModal.d.ts +0 -31
- package/types/components/InsertFieldModal.d.ts +0 -41
- package/types/components/TippedButton.d.ts +0 -12
- package/types/components/TippedSelect.d.ts +0 -13
- package/types/components/colors.d.ts +0 -1
- package/types/components/customFields.d.ts +0 -36
- package/types/constants.d.ts +0 -26
- package/types/index.d.ts +0 -4
- package/types/quillMatchers/clipboardLinkWithTagMatcher.d.ts +0 -2
- package/types/quillOverrides/IndentStyle.d.ts +0 -10
- package/types/quillOverrides/LinkFormat.d.ts +0 -12
- package/types/quillOverrides/PlainClipboard.d.ts +0 -8
- 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
|