@plasmicpkgs/react-quill 1.0.6 → 1.0.7
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/index.d.ts +7 -0
- package/dist/react-quill.cjs.development.js +22 -22
- package/dist/react-quill.cjs.development.js.map +1 -1
- package/dist/react-quill.cjs.production.min.js +1 -1
- package/dist/react-quill.cjs.production.min.js.map +1 -1
- package/dist/react-quill.esm.js +22 -23
- package/dist/react-quill.esm.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -7,5 +7,12 @@ export declare function Quill(props: ReactQuillProps & {
|
|
|
7
7
|
customToolbar: any[];
|
|
8
8
|
toolbar: Record<ToolbarOptionsType, any>;
|
|
9
9
|
}): React.JSX.Element | null;
|
|
10
|
+
export declare const quillHelpers: {
|
|
11
|
+
states: {
|
|
12
|
+
value: {
|
|
13
|
+
onChangeArgsToValue: ((value: string, delta: import("quill").DeltaStatic, source: import("quill").Sources, editor: import("react-quill").UnprivilegedEditor) => void) | undefined;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
};
|
|
10
17
|
export declare function registerQuill(loader?: Registerable): void;
|
|
11
18
|
export {};
|
|
@@ -59,10 +59,10 @@ var useIsomorphicLayoutEffect = isBrowser ? React__default.useLayoutEffect : Rea
|
|
|
59
59
|
var _excluded = ["containerClassName", "toolbar", "customToolbar"];
|
|
60
60
|
var ReactQuill = typeof window !== "undefined" ? /*#__PURE__*/require("react-quill") : null;
|
|
61
61
|
var TEXT_STYLE_DICT = {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
62
|
+
bold: "bold",
|
|
63
|
+
italic: "italic",
|
|
64
|
+
underline: "underline",
|
|
65
|
+
strikethrough: "strike"
|
|
66
66
|
};
|
|
67
67
|
var HEADING_TYPES_DICT = {
|
|
68
68
|
"Heading 1": 1,
|
|
@@ -71,7 +71,7 @@ var HEADING_TYPES_DICT = {
|
|
|
71
71
|
"Heading 4": 4,
|
|
72
72
|
"Heading 5": 5,
|
|
73
73
|
"Heading 6": 6,
|
|
74
|
-
|
|
74
|
+
Body: "normal"
|
|
75
75
|
};
|
|
76
76
|
var FONT_SIZES = ["small", "medium", "large", "huge"];
|
|
77
77
|
var COLOR_TYPE_DICT = {
|
|
@@ -79,9 +79,9 @@ var COLOR_TYPE_DICT = {
|
|
|
79
79
|
"text background": "background"
|
|
80
80
|
};
|
|
81
81
|
var FORMATTING_TYPES_DICT = {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
82
|
+
alignment: "align",
|
|
83
|
+
list: "list",
|
|
84
|
+
indentation: "indent",
|
|
85
85
|
"text direction": "direction",
|
|
86
86
|
"clear formatting": "clean"
|
|
87
87
|
};
|
|
@@ -118,9 +118,9 @@ function Quill(props) {
|
|
|
118
118
|
return _ref = {}, _ref[COLOR_TYPE_DICT[key]] = [], _ref;
|
|
119
119
|
});
|
|
120
120
|
var scriptControls = script ? [{
|
|
121
|
-
|
|
121
|
+
script: "super"
|
|
122
122
|
}, {
|
|
123
|
-
|
|
123
|
+
script: "sub"
|
|
124
124
|
}] : undefined;
|
|
125
125
|
var fontControls = [fontFamily ? {
|
|
126
126
|
font: []
|
|
@@ -144,18 +144,18 @@ function Quill(props) {
|
|
|
144
144
|
var _listControlsGroup$pu, _listControlsGroup$pu2, _otherFormattingContr, _indentationControlsG, _indentationControlsG2, _otherFormattingContr2;
|
|
145
145
|
switch (f) {
|
|
146
146
|
case "list":
|
|
147
|
-
listControlsGroup.push((_listControlsGroup$pu = {}, _listControlsGroup$pu[FORMATTING_TYPES_DICT["list"]] =
|
|
148
|
-
listControlsGroup.push((_listControlsGroup$pu2 = {}, _listControlsGroup$pu2[FORMATTING_TYPES_DICT["list"]] =
|
|
147
|
+
listControlsGroup.push((_listControlsGroup$pu = {}, _listControlsGroup$pu[FORMATTING_TYPES_DICT["list"]] = "ordered", _listControlsGroup$pu));
|
|
148
|
+
listControlsGroup.push((_listControlsGroup$pu2 = {}, _listControlsGroup$pu2[FORMATTING_TYPES_DICT["list"]] = "bullet", _listControlsGroup$pu2));
|
|
149
149
|
break;
|
|
150
150
|
case "alignment":
|
|
151
151
|
otherFormattingControlsGroup.push((_otherFormattingContr = {}, _otherFormattingContr[FORMATTING_TYPES_DICT["alignment"]] = [], _otherFormattingContr));
|
|
152
152
|
break;
|
|
153
153
|
case "indentation":
|
|
154
|
-
indentationControlsGroup.push((_indentationControlsG = {}, _indentationControlsG[FORMATTING_TYPES_DICT["indentation"]] =
|
|
155
|
-
indentationControlsGroup.push((_indentationControlsG2 = {}, _indentationControlsG2[FORMATTING_TYPES_DICT["indentation"]] =
|
|
154
|
+
indentationControlsGroup.push((_indentationControlsG = {}, _indentationControlsG[FORMATTING_TYPES_DICT["indentation"]] = "-1", _indentationControlsG));
|
|
155
|
+
indentationControlsGroup.push((_indentationControlsG2 = {}, _indentationControlsG2[FORMATTING_TYPES_DICT["indentation"]] = "+1", _indentationControlsG2));
|
|
156
156
|
break;
|
|
157
157
|
case "text direction":
|
|
158
|
-
otherFormattingControlsGroup.push((_otherFormattingContr2 = {}, _otherFormattingContr2[FORMATTING_TYPES_DICT["text direction"]] =
|
|
158
|
+
otherFormattingControlsGroup.push((_otherFormattingContr2 = {}, _otherFormattingContr2[FORMATTING_TYPES_DICT["text direction"]] = "rtl", _otherFormattingContr2));
|
|
159
159
|
break;
|
|
160
160
|
case "clear formatting":
|
|
161
161
|
otherFormattingControlsGroup.push(FORMATTING_TYPES_DICT["clear formatting"]);
|
|
@@ -184,7 +184,7 @@ function Quill(props) {
|
|
|
184
184
|
modules: modules
|
|
185
185
|
}, rest)));
|
|
186
186
|
}
|
|
187
|
-
var
|
|
187
|
+
var quillHelpers = {
|
|
188
188
|
states: {
|
|
189
189
|
value: {
|
|
190
190
|
onChangeArgsToValue: function onChangeArgsToValue(content, _delta, _source, _editor) {
|
|
@@ -240,9 +240,8 @@ var toolbarFields = {
|
|
|
240
240
|
defaultValue: INPUT_TYPES
|
|
241
241
|
}
|
|
242
242
|
};
|
|
243
|
-
var importName = "ReactQuill";
|
|
244
243
|
function registerQuill(loader) {
|
|
245
|
-
registerComponentHelper(loader,
|
|
244
|
+
registerComponentHelper(loader, ReactQuill, {
|
|
246
245
|
name: "hostless-react-quill",
|
|
247
246
|
displayName: "Rich Text Editor",
|
|
248
247
|
classNameProp: "containerClassName",
|
|
@@ -374,18 +373,19 @@ function registerQuill(loader) {
|
|
|
374
373
|
valueProp: "value",
|
|
375
374
|
onChangeProp: "onChange",
|
|
376
375
|
variableType: "text"
|
|
377
|
-
},
|
|
376
|
+
}, quillHelpers.states.value)
|
|
378
377
|
},
|
|
379
378
|
componentHelpers: {
|
|
380
|
-
helpers:
|
|
381
|
-
importName:
|
|
379
|
+
helpers: quillHelpers,
|
|
380
|
+
importName: "quillHelpers",
|
|
382
381
|
importPath: "@plasmicpkgs/react-quill"
|
|
383
382
|
},
|
|
384
|
-
importName:
|
|
383
|
+
importName: "Quill",
|
|
385
384
|
importPath: "@plasmicpkgs/react-quill"
|
|
386
385
|
});
|
|
387
386
|
}
|
|
388
387
|
|
|
389
388
|
exports.Quill = Quill;
|
|
389
|
+
exports.quillHelpers = quillHelpers;
|
|
390
390
|
exports.registerQuill = registerQuill;
|
|
391
391
|
//# sourceMappingURL=react-quill.cjs.development.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-quill.cjs.development.js","sources":["../src/utils.ts","../src/useIsClient.ts","../src/index.tsx"],"sourcesContent":["import {\n ComponentMeta,\n default as registerComponent,\n} from \"@plasmicapp/host/registerComponent\";\nimport {\n default as registerGlobalContext,\n GlobalContextMeta,\n} from \"@plasmicapp/host/registerGlobalContext\";\nimport { default as registerToken } from \"@plasmicapp/host/registerToken\";\nimport React from \"react\";\n\nexport type Registerable = {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n registerToken: typeof registerToken;\n};\n\nexport function makeRegisterComponent<T extends React.ComponentType<any>>(\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n registerComponentHelper(loader, component, meta);\n };\n}\n\nexport function makeRegisterGlobalContext<T extends React.ComponentType<any>>(\n component: T,\n meta: GlobalContextMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n if (loader) {\n loader.registerGlobalContext(component, meta);\n } else {\n registerGlobalContext(component, meta);\n }\n };\n}\n\nexport function registerComponentHelper<T extends React.ComponentType<any>>(\n loader: Registerable | undefined,\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n if (loader) {\n loader.registerComponent(component, meta);\n } else {\n registerComponent(component, meta);\n }\n}\n\ntype ReactElt = {\n children: ReactElt | ReactElt[];\n props: {\n children: ReactElt | ReactElt[];\n [prop: string]: any;\n } | null;\n type: React.ComponentType<any> | null;\n key: string | null;\n} | null;\n\nexport function traverseReactEltTree(\n children: React.ReactNode,\n callback: (elt: ReactElt) => void\n) {\n const rec = (elts: ReactElt | ReactElt[] | null) => {\n (Array.isArray(elts) ? elts : [elts]).forEach((elt) => {\n if (elt) {\n callback(elt);\n if (elt.children) {\n rec(elt.children);\n }\n if (elt.props?.children && elt.props.children !== elt.children) {\n rec(elt.props.children);\n }\n }\n });\n };\n rec(children as any);\n}\n\nexport function asArray<T>(x: T[] | T | undefined | null) {\n if (Array.isArray(x)) {\n return x;\n } else if (x == null) {\n return [];\n } else {\n return [x];\n }\n}\n","import React from \"react\";\n\nexport function useIsClient() {\n const [loaded, setLoaded] = React.useState(false);\n useIsomorphicLayoutEffect(() => {\n setLoaded(true);\n });\n return loaded;\n}\n\nconst isBrowser = typeof window !== \"undefined\";\nexport const useIsomorphicLayoutEffect = isBrowser\n ? React.useLayoutEffect\n : React.useEffect;","import React, { useMemo } from \"react\";\nimport { ReactQuillProps } from \"react-quill\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\nimport { PropType } from \"@plasmicapp/host\";\nimport { useIsClient } from \"./useIsClient\";\nconst ReactQuill =\n typeof window !== \"undefined\" ? require(\"react-quill\") : null;\n\n\ntype ToolbarOptionsType = \"textStyle\" | \"script\" | \"fontFamily\" | \"heading\" | \"fontSizes\" | \"colors\" | \"formatting\" | \"inputTypes\";\n\nconst TEXT_STYLE_DICT = {\n \"bold\": \"bold\",\n \"italic\": \"italic\",\n \"underline\": \"underline\",\n \"strikethrough\": \"strike\",\n}\n\nconst HEADING_TYPES_DICT = {\n \"Heading 1\": 1,\n \"Heading 2\": 2,\n \"Heading 3\": 3,\n \"Heading 4\": 4,\n \"Heading 5\": 5,\n \"Heading 6\": 6,\n \"Body\": \"normal\",\n}\n\nconst FONT_SIZES = [\n \"small\",\n \"medium\",\n \"large\",\n \"huge\",\n];\n\nconst COLOR_TYPE_DICT = {\n \"text color\": \"color\",\n \"text background\": \"background\"\n}\n\nconst FORMATTING_TYPES_DICT = {\n \"alignment\": \"align\",\n \"list\": \"list\",\n \"indentation\": \"indent\",\n \"text direction\": \"direction\",\n \"clear formatting\": \"clean\"\n};\n\nconst INPUT_TYPES = [\n \"link\",\"blockquote\",\"image\",\"video\",\"code-block\",\"formula\"\n]\n\nexport function Quill(props: ReactQuillProps & {\n containerClassName: string;\n customToolbar: any[];\n toolbar: Record<ToolbarOptionsType, any>;\n}) {\n const isClient = useIsClient();\n \n const {containerClassName, toolbar, customToolbar, ...rest} = props;\n\n const modules = useMemo(() => {\n\n if (customToolbar) {\n return {\n toolbar: customToolbar,\n }\n }\n\n const {\n textStyle,\n fontFamily,\n heading,\n fontSizes,\n colors,\n script,\n formatting,\n inputTypes,\n } = toolbar;\n \n const textStyleControls = Object.keys(TEXT_STYLE_DICT)\n .filter(key => textStyle.includes(key))\n .map((key) => TEXT_STYLE_DICT[key as keyof typeof TEXT_STYLE_DICT]);\n \n const colorControls = Object.keys(COLOR_TYPE_DICT)\n .filter(key => colors.includes(key))\n .map((key) => ({ [COLOR_TYPE_DICT[key as keyof typeof COLOR_TYPE_DICT]]: [] }));\n \n const scriptControls = script \n ? [{ 'script': 'super'}, { 'script': 'sub'}] : undefined;\n \n const fontControls = [\n fontFamily ?{font: []} : undefined,\n heading.length\n ? {\n header: Object.keys(HEADING_TYPES_DICT)\n .filter(key => heading.includes(key))\n .map((key) => HEADING_TYPES_DICT[key as keyof typeof HEADING_TYPES_DICT])}\n : undefined,\n fontSizes.length\n ? {size: FONT_SIZES.filter(fs => fontSizes.includes(fs))}\n : undefined,\n ].filter(i => i);\n \n const listControlsGroup: any[] = [];\n const indentationControlsGroup: any[] = [];\n const otherFormattingControlsGroup: any[] = [];\n \n formatting?.map((f: keyof typeof FORMATTING_TYPES_DICT) => {\n switch(f) {\n case \"list\":\n listControlsGroup.push({ [FORMATTING_TYPES_DICT[\"list\"]]: 'ordered'});\n listControlsGroup.push({ [FORMATTING_TYPES_DICT[\"list\"]]: 'bullet' });\n break;\n case \"alignment\":\n otherFormattingControlsGroup.push({ [FORMATTING_TYPES_DICT[\"alignment\"]]: []});\n break;\n case \"indentation\":\n indentationControlsGroup.push({ [FORMATTING_TYPES_DICT[\"indentation\"]]: '-1'});\n indentationControlsGroup.push({ [FORMATTING_TYPES_DICT[\"indentation\"]]: '+1'});\n break;\n case \"text direction\":\n otherFormattingControlsGroup.push({ [FORMATTING_TYPES_DICT[\"text direction\"]]: 'rtl' });\n break;\n case \"clear formatting\":\n otherFormattingControlsGroup.push(FORMATTING_TYPES_DICT[\"clear formatting\"]);\n break;\n }\n });\n \n const otherInputControls = inputTypes.length ? INPUT_TYPES.filter(inp => inputTypes.includes(inp)) : undefined;\n \n return {\n toolbar: [\n textStyleControls,\n colorControls,\n scriptControls,\n fontControls,\n listControlsGroup,\n indentationControlsGroup,\n otherFormattingControlsGroup,\n otherInputControls,\n ].filter(i => i?.length)\n }\n }, [toolbar, customToolbar]);\n\n const key = useMemo(() => JSON.stringify(modules) + String(rest.preserveWhitespace), [rest.preserveWhitespace, modules]);\n\n if (!isClient) {\n return null;\n }\n\n return (\n <div className={containerClassName}>\n <ReactQuill \n key={key} \n modules={modules}\n {...rest}\n />\n </div>\n )\n}\n\nconst quillHelpers_ = {\n states: {\n value: {\n onChangeArgsToValue: ((content, _delta, _source, _editor) => {\n return content;\n }) as ReactQuillProps[\"onChange\"],\n }\n }\n}\n\nconst toolbarFields: Record<ToolbarOptionsType, PropType<any>> = {\n textStyle: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(TEXT_STYLE_DICT),\n defaultValue: Object.keys(TEXT_STYLE_DICT)\n },\n colors: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(COLOR_TYPE_DICT),\n defaultValue: Object.keys(COLOR_TYPE_DICT),\n },\n script: {\n displayName: \"Super/Sub Script\",\n type: \"boolean\",\n defaultValue: true,\n },\n fontFamily: {\n type: \"boolean\",\n defaultValue: true,\n },\n heading: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(HEADING_TYPES_DICT),\n defaultValue: Object.keys(HEADING_TYPES_DICT),\n },\n fontSizes: {\n type: \"choice\",\n multiSelect: true,\n options: FONT_SIZES,\n defaultValue: FONT_SIZES,\n },\n formatting: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(FORMATTING_TYPES_DICT),\n defaultValue: Object.keys(FORMATTING_TYPES_DICT),\n },\n inputTypes: {\n type: \"choice\",\n multiSelect: true,\n options:INPUT_TYPES,\n defaultValue:INPUT_TYPES,\n },\n} as const;\n\nconst importName = \"ReactQuill\";\n\nexport function registerQuill(loader?: Registerable) {\n registerComponentHelper(loader, Quill, {\n name: \"hostless-react-quill\",\n displayName: \"Rich Text Editor\",\n classNameProp: \"containerClassName\",\n defaultStyles: {\n width: \"stretch\"\n },\n props: {\n value: {\n type: \"string\",\n displayName: \"HTML Value\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Contents of the editor\",\n },\n toolbar: {\n type: \"object\",\n fields: {...toolbarFields}, \n defaultValue: Object.keys(toolbarFields)\n .reduce((acc: any, key) => {\n acc[key] = (toolbarFields[key as keyof typeof toolbarFields] as any).defaultValue;\n return acc;\n }, {}),\n description: \"Customize the toolbar to show/hide controls\",\n },\n customToolbar: {\n type: \"array\",\n advanced: true,\n description: \"Custom toolbar configuration for Quill editor. Overrides the existing toolbar.\"\n },\n placeholder: \"string\",\n preserveWhitespace: {\n type: \"boolean\",\n description: \"Prevents Quill from collapsing continuous whitespaces on paste\",\n advanced: true, \n defaultValue: true,\n },\n readOnly: {\n type: \"boolean\",\n description: \"Prevents user from changing the contents of the editor\",\n defaultValue: false,\n advanced: true,\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"content\",\n type: \"string\",\n },\n {\n name: \"delta\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\"\n },\n {\n name: \"editor\",\n type: \"object\"\n }\n ],\n },\n onChangeSelection: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"range\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\"\n },\n {\n name: \"editor\",\n type: \"object\"\n }\n ],\n },\n onFocus: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"range\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\"\n },\n {\n name: \"editor\",\n type: \"object\"\n }\n ],\n },\n onBlur: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"previousRange\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\"\n },\n {\n name: \"editor\",\n type: \"object\"\n }\n ],\n },\n onKeyPress: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n }\n ],\n },\n onKeyDown: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n }\n ],\n },\n onKeyUp: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n }\n ],\n },\n } as any,\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n // initVal: \"\",\n ...quillHelpers_.states.value,\n },\n },\n componentHelpers: {\n helpers: quillHelpers_,\n importName,\n importPath: \"@plasmicpkgs/react-quill\",\n },\n importName,\n importPath: \"@plasmicpkgs/react-quill\",\n });\n}"],"names":["registerComponentHelper","loader","component","meta","registerComponent","useIsClient","_React$useState","React","useState","loaded","setLoaded","useIsomorphicLayoutEffect","isBrowser","window","useLayoutEffect","useEffect","ReactQuill","require","TEXT_STYLE_DICT","HEADING_TYPES_DICT","FONT_SIZES","COLOR_TYPE_DICT","FORMATTING_TYPES_DICT","INPUT_TYPES","Quill","props","isClient","containerClassName","toolbar","customToolbar","rest","_objectWithoutPropertiesLoose","_excluded","modules","useMemo","textStyle","fontFamily","heading","fontSizes","colors","script","formatting","inputTypes","textStyleControls","Object","keys","filter","key","includes","map","colorControls","_ref","scriptControls","undefined","fontControls","font","length","header","size","fs","i","listControlsGroup","indentationControlsGroup","otherFormattingControlsGroup","f","push","_listControlsGroup$pu","_listControlsGroup$pu2","_otherFormattingContr","_indentationControlsG","_indentationControlsG2","_otherFormattingContr2","otherInputControls","inp","JSON","stringify","String","preserveWhitespace","className","quillHelpers_","states","value","onChangeArgsToValue","content","_delta","_source","_editor","toolbarFields","type","multiSelect","options","defaultValue","displayName","importName","registerQuill","name","classNameProp","defaultStyles","width","editOnly","uncontrolledProp","description","fields","_extends","reduce","acc","advanced","placeholder","readOnly","onChange","argTypes","onChangeSelection","onFocus","onBlur","onKeyPress","onKeyDown","onKeyUp","valueProp","onChangeProp","variableType","componentHelpers","helpers","importPath"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAuCgBA,uBAAuBA,CACrCC,MAAgC,EAChCC,SAAY,EACZC,IAA4C;EAE5C,IAAIF,MAAM,EAAE;IACVA,MAAM,CAACG,iBAAiB,CAACF,SAAS,EAAEC,IAAI,CAAC;GAC1C,MAAM;IACLC,iBAAiB,CAACF,SAAS,EAAEC,IAAI,CAAC;;AAEtC;;SC/CgBE,WAAWA;EACvB,IAAAC,eAAA,GAA4BC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;IAA1CC,MAAM,GAAAH,eAAA;IAAEI,SAAS,GAAAJ,eAAA;EACxBK,yBAAyB,CAAC;IACtBD,SAAS,CAAC,IAAI,CAAC;GAClB,CAAC;EACF,OAAOD,MAAM;AACjB;AAEA,IAAMG,SAAS,GAAG,OAAOC,MAAM,KAAK,WAAW;AAC/C,AAAO,IAAMF,yBAAyB,GAAGC,SAAS,GAC5CL,cAAK,CAACO,eAAe,GACrBP,cAAK,CAACQ,SAAS;;;ACbrB,AAKA,IAAMC,UAAU,GACd,OAAOH,MAAM,KAAK,WAAW,gBAAGI,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;AAK/D,IAAMC,eAAe,GAAG;EACtB,MAAM,EAAE,MAAM;EACd,QAAQ,EAAE,QAAQ;EAClB,WAAW,EAAE,WAAW;EACxB,eAAe,EAAE;CAClB;AAED,IAAMC,kBAAkB,GAAG;EACzB,WAAW,EAAE,CAAC;EACd,WAAW,EAAE,CAAC;EACd,WAAW,EAAE,CAAC;EACd,WAAW,EAAE,CAAC;EACd,WAAW,EAAE,CAAC;EACd,WAAW,EAAE,CAAC;EACd,MAAM,EAAE;CACT;AAED,IAAMC,UAAU,GAAG,CACjB,OAAO,EACP,QAAQ,EACR,OAAO,EACP,MAAM,CACP;AAED,IAAMC,eAAe,GAAG;EACtB,YAAY,EAAE,OAAO;EACrB,iBAAiB,EAAE;CACpB;AAED,IAAMC,qBAAqB,GAAG;EAC5B,WAAW,EAAE,OAAO;EACpB,MAAM,EAAE,MAAM;EACd,aAAa,EAAE,QAAQ;EACvB,gBAAgB,EAAE,WAAW;EAC7B,kBAAkB,EAAE;CACrB;AAED,IAAMC,WAAW,GAAG,CAClB,MAAM,EAAC,YAAY,EAAC,OAAO,EAAC,OAAO,EAAC,YAAY,EAAC,SAAS,CAC3D;AAED,SAAgBC,KAAKA,CAACC,KAIrB;EACC,IAAMC,QAAQ,GAAGrB,WAAW,EAAE;EAE9B,IAAOsB,kBAAkB,GAAqCF,KAAK,CAA5DE,kBAAkB;IAAEC,OAAO,GAA4BH,KAAK,CAAxCG,OAAO;IAAEC,aAAa,GAAaJ,KAAK,CAA/BI,aAAa;IAAKC,IAAI,GAAAC,6BAAA,CAAIN,KAAK,EAAAO,SAAA;EAEnE,IAAMC,OAAO,GAAGC,aAAO,CAAC;IAEtB,IAAIL,aAAa,EAAE;MACjB,OAAO;QACLD,OAAO,EAAEC;OACV;;IAGH,IACEM,SAAS,GAQPP,OAAO,CARTO,SAAS;MACTC,UAAU,GAORR,OAAO,CAPTQ,UAAU;MACVC,OAAO,GAMLT,OAAO,CANTS,OAAO;MACPC,SAAS,GAKPV,OAAO,CALTU,SAAS;MACTC,MAAM,GAIJX,OAAO,CAJTW,MAAM;MACNC,MAAM,GAGJZ,OAAO,CAHTY,MAAM;MACNC,UAAU,GAERb,OAAO,CAFTa,UAAU;MACVC,UAAU,GACRd,OAAO,CADTc,UAAU;IAGZ,IAAMC,iBAAiB,GAAGC,MAAM,CAACC,IAAI,CAAC3B,eAAe,CAAC,CACnD4B,MAAM,CAAC,UAAAC,GAAG;MAAA,OAAIZ,SAAS,CAACa,QAAQ,CAACD,GAAG,CAAC;MAAC,CACtCE,GAAG,CAAC,UAACF,GAAG;MAAA,OAAK7B,eAAe,CAAC6B,GAAmC,CAAC;MAAC;IAErE,IAAMG,aAAa,GAAGN,MAAM,CAACC,IAAI,CAACxB,eAAe,CAAC,CAC/CyB,MAAM,CAAC,UAAAC,GAAG;MAAA,OAAIR,MAAM,CAACS,QAAQ,CAACD,GAAG,CAAC;MAAC,CACnCE,GAAG,CAAC,UAACF,GAAG;MAAA,IAAAI,IAAA;MAAA,OAAAA,IAAA,OAAAA,IAAA,CAAS9B,eAAe,CAAC0B,GAAmC,CAAC,IAAG,EAAE,EAAAI,IAAA;KAAG,CAAC;IAEjF,IAAMC,cAAc,GAAGZ,MAAM,GAC3B,CAAC;MAAE,QAAQ,EAAE;KAAQ,EAAE;MAAE,QAAQ,EAAE;KAAM,CAAC,GAAGa,SAAS;IAExD,IAAMC,YAAY,GAAG,CACnBlB,UAAU,GAAE;MAACmB,IAAI,EAAE;KAAG,GAAGF,SAAS,EAClChB,OAAO,CAACmB,MAAM,GACV;MACEC,MAAM,EAAEb,MAAM,CAACC,IAAI,CAAC1B,kBAAkB,CAAC,CACpC2B,MAAM,CAAC,UAAAC,GAAG;QAAA,OAAIV,OAAO,CAACW,QAAQ,CAACD,GAAG,CAAC;QAAC,CACpCE,GAAG,CAAC,UAACF,GAAG;QAAA,OAAK5B,kBAAkB,CAAC4B,GAAsC,CAAC;;KAAE,GAC9EM,SAAS,EACbf,SAAS,CAACkB,MAAM,GACZ;MAACE,IAAI,EAAEtC,UAAU,CAAC0B,MAAM,CAAC,UAAAa,EAAE;QAAA,OAAIrB,SAAS,CAACU,QAAQ,CAACW,EAAE,CAAC;;KAAE,GACvDN,SAAS,CACd,CAACP,MAAM,CAAC,UAAAc,CAAC;MAAA,OAAIA,CAAC;MAAC;IAEhB,IAAMC,iBAAiB,GAAU,EAAE;IACnC,IAAMC,wBAAwB,GAAU,EAAE;IAC1C,IAAMC,4BAA4B,GAAU,EAAE;IAE9CtB,UAAU,YAAVA,UAAU,CAAEQ,GAAG,CAAC,UAACe,CAAqC;;MACpD,QAAOA,CAAC;QACN,KAAK,MAAM;UACTH,iBAAiB,CAACI,IAAI,EAAAC,qBAAA,OAAAA,qBAAA,CAAK5C,qBAAqB,CAAC,MAAM,CAAC,IAAG,SAAS,EAAA4C,qBAAA,EAAE;UACtEL,iBAAiB,CAACI,IAAI,EAAAE,sBAAA,OAAAA,sBAAA,CAAK7C,qBAAqB,CAAC,MAAM,CAAC,IAAG,QAAQ,EAAA6C,sBAAA,EAAG;UACtE;QACF,KAAK,WAAW;UACdJ,4BAA4B,CAACE,IAAI,EAAAG,qBAAA,OAAAA,qBAAA,CAAI9C,qBAAqB,CAAC,WAAW,CAAC,IAAG,EAAE,EAAA8C,qBAAA,EAAE;UAC9E;QACA,KAAK,aAAa;UAChBN,wBAAwB,CAACG,IAAI,EAAAI,qBAAA,OAAAA,qBAAA,CAAI/C,qBAAqB,CAAC,aAAa,CAAC,IAAG,IAAI,EAAA+C,qBAAA,EAAE;UAC9EP,wBAAwB,CAACG,IAAI,EAAAK,sBAAA,OAAAA,sBAAA,CAAIhD,qBAAqB,CAAC,aAAa,CAAC,IAAG,IAAI,EAAAgD,sBAAA,EAAE;UAChF;QACF,KAAK,gBAAgB;UACnBP,4BAA4B,CAACE,IAAI,EAAAM,sBAAA,OAAAA,sBAAA,CAAIjD,qBAAqB,CAAC,gBAAgB,CAAC,IAAG,KAAK,EAAAiD,sBAAA,EAAG;UACvF;QACF,KAAK,kBAAkB;UACrBR,4BAA4B,CAACE,IAAI,CAAC3C,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;UAC5E;;KAEL,CAAC;IAEF,IAAMkD,kBAAkB,GAAG9B,UAAU,CAACc,MAAM,GAAGjC,WAAW,CAACuB,MAAM,CAAC,UAAA2B,GAAG;MAAA,OAAI/B,UAAU,CAACM,QAAQ,CAACyB,GAAG,CAAC;MAAC,GAAGpB,SAAS;IAE9G,OAAO;MACLzB,OAAO,EAAE,CACPe,iBAAiB,EACjBO,aAAa,EACbE,cAAc,EACdE,YAAY,EACZO,iBAAiB,EACjBC,wBAAwB,EACxBC,4BAA4B,EAC5BS,kBAAkB,CACnB,CAAC1B,MAAM,CAAC,UAAAc,CAAC;QAAA,OAAIA,CAAC,oBAADA,CAAC,CAAEJ,MAAM;;KACxB;GACF,EAAE,CAAC5B,OAAO,EAAEC,aAAa,CAAC,CAAC;EAE5B,IAAMkB,GAAG,GAAGb,aAAO,CAAC;IAAA,OAAMwC,IAAI,CAACC,SAAS,CAAC1C,OAAO,CAAC,GAAG2C,MAAM,CAAC9C,IAAI,CAAC+C,kBAAkB,CAAC;KAAE,CAAC/C,IAAI,CAAC+C,kBAAkB,EAAE5C,OAAO,CAAC,CAAC;EAExH,IAAI,CAACP,QAAQ,EAAE;IACb,OAAO,IAAI;;EAGb,OACEnB;IAAKuE,SAAS,EAAEnD;KACdpB,6BAACS,UAAU;IACT+B,GAAG,EAAEA,GAAG;IACRd,OAAO,EAAEA;KACLH,IAAI,EACR,CACE;AAEV;AAEA,IAAMiD,aAAa,GAAG;EACpBC,MAAM,EAAE;IACNC,KAAK,EAAE;MACLC,mBAAmB,EAAG,SAAAA,oBAACC,OAAO,EAAEC,MAAM,EAAEC,OAAO,EAAEC,OAAO;QACtD,OAAOH,OAAO;;;;CAIrB;AAED,IAAMI,aAAa,GAA8C;EAC/DpD,SAAS,EAAE;IACTqD,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,IAAI;IACjBC,OAAO,eAAE9C,MAAM,CAACC,IAAI,CAAC3B,eAAe,CAAC;IACrCyE,YAAY,eAAE/C,MAAM,CAACC,IAAI,CAAC3B,eAAe;GAC1C;EACDqB,MAAM,EAAE;IACNiD,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,IAAI;IACjBC,OAAO,eAAE9C,MAAM,CAACC,IAAI,CAACxB,eAAe,CAAC;IACrCsE,YAAY,eAAE/C,MAAM,CAACC,IAAI,CAACxB,eAAe;GAC1C;EACDmB,MAAM,EAAE;IACNoD,WAAW,EAAE,kBAAkB;IAC/BJ,IAAI,EAAE,SAAS;IACfG,YAAY,EAAE;GACf;EACDvD,UAAU,EAAE;IACVoD,IAAI,EAAE,SAAS;IACfG,YAAY,EAAE;GACf;EACDtD,OAAO,EAAE;IACPmD,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,IAAI;IACjBC,OAAO,eAAE9C,MAAM,CAACC,IAAI,CAAC1B,kBAAkB,CAAC;IACxCwE,YAAY,eAAE/C,MAAM,CAACC,IAAI,CAAC1B,kBAAkB;GAC7C;EACDmB,SAAS,EAAE;IACTkD,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,IAAI;IACjBC,OAAO,EAAEtE,UAAU;IACnBuE,YAAY,EAAEvE;GACf;EACDqB,UAAU,EAAE;IACV+C,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,IAAI;IACjBC,OAAO,eAAE9C,MAAM,CAACC,IAAI,CAACvB,qBAAqB,CAAC;IAC3CqE,YAAY,eAAE/C,MAAM,CAACC,IAAI,CAACvB,qBAAqB;GAChD;EACDoB,UAAU,EAAE;IACV8C,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,IAAI;IACjBC,OAAO,EAACnE,WAAW;IACnBoE,YAAY,EAACpE;;CAEP;AAEV,IAAMsE,UAAU,GAAG,YAAY;AAE/B,SAAgBC,aAAaA,CAAC7F,MAAqB;EACjDD,uBAAuB,CAACC,MAAM,EAAEuB,KAAK,EAAE;IACrCuE,IAAI,EAAE,sBAAsB;IAC5BH,WAAW,EAAE,kBAAkB;IAC/BI,aAAa,EAAE,oBAAoB;IACnCC,aAAa,EAAE;MACbC,KAAK,EAAE;KACR;IACDzE,KAAK,EAAE;MACLwD,KAAK,EAAE;QACLO,IAAI,EAAE,QAAQ;QACdI,WAAW,EAAE,YAAY;QACzBO,QAAQ,EAAE,IAAI;QACdC,gBAAgB,EAAE,cAAc;QAChCC,WAAW,EAAE;OACd;MACDzE,OAAO,EAAE;QACP4D,IAAI,EAAE,QAAQ;QACdc,MAAM,EAAAC,QAAA,KAAMhB,aAAa,CAAC;QAC1BI,YAAY,EAAE/C,MAAM,CAACC,IAAI,CAAC0C,aAAa,CAAC,CACrCiB,MAAM,CAAC,UAACC,GAAQ,EAAE1D,GAAG;UACpB0D,GAAG,CAAC1D,GAAG,CAAC,GAAIwC,aAAa,CAACxC,GAAiC,CAAS,CAAC4C,YAAY;UACjF,OAAOc,GAAG;SACX,EAAE,EAAE,CAAC;QACRJ,WAAW,EAAE;OACd;MACDxE,aAAa,EAAE;QACb2D,IAAI,EAAE,OAAO;QACbkB,QAAQ,EAAE,IAAI;QACdL,WAAW,EAAE;OACd;MACDM,WAAW,EAAE,QAAQ;MACrB9B,kBAAkB,EAAE;QAClBW,IAAI,EAAE,SAAS;QACfa,WAAW,EAAE,gEAAgE;QAC7EK,QAAQ,EAAE,IAAI;QACdf,YAAY,EAAE;OACf;MACDiB,QAAQ,EAAE;QACRpB,IAAI,EAAE,SAAS;QACfa,WAAW,EAAE,wDAAwD;QACrEV,YAAY,EAAE,KAAK;QACnBe,QAAQ,EAAE;OACX;MACDG,QAAQ,EAAE;QACRrB,IAAI,EAAE,cAAc;QACpBkB,QAAQ,EAAE,IAAI;QACdI,QAAQ,EAAE,CACR;UACEf,IAAI,EAAE,SAAS;UACfP,IAAI,EAAE;SACP,EACD;UACEO,IAAI,EAAE,OAAO;UACbP,IAAI,EAAE;SACP,EACD;UACEO,IAAI,EAAE,QAAQ;UACdP,IAAI,EAAE;SACP,EACD;UACEO,IAAI,EAAE,QAAQ;UACdP,IAAI,EAAE;SACP;OAEJ;MACDuB,iBAAiB,EAAE;QACjBvB,IAAI,EAAE,cAAc;QACpBkB,QAAQ,EAAE,IAAI;QACdI,QAAQ,EAAE,CACR;UACEf,IAAI,EAAE,OAAO;UACbP,IAAI,EAAE;SACP,EACD;UACEO,IAAI,EAAE,QAAQ;UACdP,IAAI,EAAE;SACP,EACD;UACEO,IAAI,EAAE,QAAQ;UACdP,IAAI,EAAE;SACP;OAEJ;MACDwB,OAAO,EAAE;QACPxB,IAAI,EAAE,cAAc;QACpBkB,QAAQ,EAAE,IAAI;QACdI,QAAQ,EAAE,CACR;UACEf,IAAI,EAAE,OAAO;UACbP,IAAI,EAAE;SACP,EACD;UACEO,IAAI,EAAE,QAAQ;UACdP,IAAI,EAAE;SACP,EACD;UACEO,IAAI,EAAE,QAAQ;UACdP,IAAI,EAAE;SACP;OAEJ;MACDyB,MAAM,EAAE;QACNzB,IAAI,EAAE,cAAc;QACpBkB,QAAQ,EAAE,IAAI;QACdI,QAAQ,EAAE,CACR;UACEf,IAAI,EAAE,eAAe;UACrBP,IAAI,EAAE;SACP,EACD;UACEO,IAAI,EAAE,QAAQ;UACdP,IAAI,EAAE;SACP,EACD;UACEO,IAAI,EAAE,QAAQ;UACdP,IAAI,EAAE;SACP;OAEJ;MACD0B,UAAU,EAAE;QACV1B,IAAI,EAAE,cAAc;QACpBkB,QAAQ,EAAE,IAAI;QACdI,QAAQ,EAAE,CACR;UACEf,IAAI,EAAE,OAAO;UACbP,IAAI,EAAE;SACP;OAEJ;MACD2B,SAAS,EAAE;QACT3B,IAAI,EAAE,cAAc;QACpBkB,QAAQ,EAAE,IAAI;QACdI,QAAQ,EAAE,CACR;UACEf,IAAI,EAAE,OAAO;UACbP,IAAI,EAAE;SACP;OAEJ;MACD4B,OAAO,EAAE;QACP5B,IAAI,EAAE,cAAc;QACpBkB,QAAQ,EAAE,IAAI;QACdI,QAAQ,EAAE,CACR;UACEf,IAAI,EAAE,OAAO;UACbP,IAAI,EAAE;SACP;;KAGC;IACRR,MAAM,EAAE;MACJC,KAAK,EAAAsB,QAAA;QACHf,IAAI,EAAE,UAAU;QAChB6B,SAAS,EAAE,OAAO;QAClBC,YAAY,EAAE,UAAU;QACxBC,YAAY,EAAE;SAEXxC,aAAa,CAACC,MAAM,CAACC,KAAK;KAElC;IACDuC,gBAAgB,EAAE;MAChBC,OAAO,EAAE1C,aAAa;MACtBc,UAAU,EAAVA,UAAU;MACV6B,UAAU,EAAE;KACb;IACD7B,UAAU,EAAVA,UAAU;IACV6B,UAAU,EAAE;GACb,CAAC;AACJ;;;;;"}
|
|
1
|
+
{"version":3,"file":"react-quill.cjs.development.js","sources":["../src/utils.ts","../src/useIsClient.ts","../src/index.tsx"],"sourcesContent":["import {\n ComponentMeta,\n default as registerComponent,\n} from \"@plasmicapp/host/registerComponent\";\nimport {\n default as registerGlobalContext,\n GlobalContextMeta,\n} from \"@plasmicapp/host/registerGlobalContext\";\nimport { default as registerToken } from \"@plasmicapp/host/registerToken\";\nimport React from \"react\";\n\nexport type Registerable = {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n registerToken: typeof registerToken;\n};\n\nexport function makeRegisterComponent<T extends React.ComponentType<any>>(\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n registerComponentHelper(loader, component, meta);\n };\n}\n\nexport function makeRegisterGlobalContext<T extends React.ComponentType<any>>(\n component: T,\n meta: GlobalContextMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n if (loader) {\n loader.registerGlobalContext(component, meta);\n } else {\n registerGlobalContext(component, meta);\n }\n };\n}\n\nexport function registerComponentHelper<T extends React.ComponentType<any>>(\n loader: Registerable | undefined,\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n if (loader) {\n loader.registerComponent(component, meta);\n } else {\n registerComponent(component, meta);\n }\n}\n\ntype ReactElt = {\n children: ReactElt | ReactElt[];\n props: {\n children: ReactElt | ReactElt[];\n [prop: string]: any;\n } | null;\n type: React.ComponentType<any> | null;\n key: string | null;\n} | null;\n\nexport function traverseReactEltTree(\n children: React.ReactNode,\n callback: (elt: ReactElt) => void\n) {\n const rec = (elts: ReactElt | ReactElt[] | null) => {\n (Array.isArray(elts) ? elts : [elts]).forEach((elt) => {\n if (elt) {\n callback(elt);\n if (elt.children) {\n rec(elt.children);\n }\n if (elt.props?.children && elt.props.children !== elt.children) {\n rec(elt.props.children);\n }\n }\n });\n };\n rec(children as any);\n}\n\nexport function asArray<T>(x: T[] | T | undefined | null) {\n if (Array.isArray(x)) {\n return x;\n } else if (x == null) {\n return [];\n } else {\n return [x];\n }\n}\n","import React from \"react\";\n\nexport function useIsClient() {\n const [loaded, setLoaded] = React.useState(false);\n useIsomorphicLayoutEffect(() => {\n setLoaded(true);\n });\n return loaded;\n}\n\nconst isBrowser = typeof window !== \"undefined\";\nexport const useIsomorphicLayoutEffect = isBrowser\n ? React.useLayoutEffect\n : React.useEffect;","import React, { useMemo } from \"react\";\nimport { ReactQuillProps } from \"react-quill\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\nimport { PropType } from \"@plasmicapp/host\";\nimport { useIsClient } from \"./useIsClient\";\nconst ReactQuill =\n typeof window !== \"undefined\" ? require(\"react-quill\") : null;\n\ntype ToolbarOptionsType =\n | \"textStyle\"\n | \"script\"\n | \"fontFamily\"\n | \"heading\"\n | \"fontSizes\"\n | \"colors\"\n | \"formatting\"\n | \"inputTypes\";\n\nconst TEXT_STYLE_DICT = {\n bold: \"bold\",\n italic: \"italic\",\n underline: \"underline\",\n strikethrough: \"strike\",\n};\n\nconst HEADING_TYPES_DICT = {\n \"Heading 1\": 1,\n \"Heading 2\": 2,\n \"Heading 3\": 3,\n \"Heading 4\": 4,\n \"Heading 5\": 5,\n \"Heading 6\": 6,\n Body: \"normal\",\n};\n\nconst FONT_SIZES = [\"small\", \"medium\", \"large\", \"huge\"];\n\nconst COLOR_TYPE_DICT = {\n \"text color\": \"color\",\n \"text background\": \"background\",\n};\n\nconst FORMATTING_TYPES_DICT = {\n alignment: \"align\",\n list: \"list\",\n indentation: \"indent\",\n \"text direction\": \"direction\",\n \"clear formatting\": \"clean\",\n};\n\nconst INPUT_TYPES = [\n \"link\",\n \"blockquote\",\n \"image\",\n \"video\",\n \"code-block\",\n \"formula\",\n];\n\nexport function Quill(\n props: ReactQuillProps & {\n containerClassName: string;\n customToolbar: any[];\n toolbar: Record<ToolbarOptionsType, any>;\n }\n) {\n const isClient = useIsClient();\n\n const { containerClassName, toolbar, customToolbar, ...rest } = props;\n\n const modules = useMemo(() => {\n if (customToolbar) {\n return {\n toolbar: customToolbar,\n };\n }\n\n const {\n textStyle,\n fontFamily,\n heading,\n fontSizes,\n colors,\n script,\n formatting,\n inputTypes,\n } = toolbar;\n\n const textStyleControls = Object.keys(TEXT_STYLE_DICT)\n .filter((key) => textStyle.includes(key))\n .map((key) => TEXT_STYLE_DICT[key as keyof typeof TEXT_STYLE_DICT]);\n\n const colorControls = Object.keys(COLOR_TYPE_DICT)\n .filter((key) => colors.includes(key))\n .map((key) => ({\n [COLOR_TYPE_DICT[key as keyof typeof COLOR_TYPE_DICT]]: [],\n }));\n\n const scriptControls = script\n ? [{ script: \"super\" }, { script: \"sub\" }]\n : undefined;\n\n const fontControls = [\n fontFamily ? { font: [] } : undefined,\n heading.length\n ? {\n header: Object.keys(HEADING_TYPES_DICT)\n .filter((key) => heading.includes(key))\n .map(\n (key) =>\n HEADING_TYPES_DICT[key as keyof typeof HEADING_TYPES_DICT]\n ),\n }\n : undefined,\n fontSizes.length\n ? { size: FONT_SIZES.filter((fs) => fontSizes.includes(fs)) }\n : undefined,\n ].filter((i) => i);\n\n const listControlsGroup: any[] = [];\n const indentationControlsGroup: any[] = [];\n const otherFormattingControlsGroup: any[] = [];\n\n formatting?.map((f: keyof typeof FORMATTING_TYPES_DICT) => {\n switch (f) {\n case \"list\":\n listControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"list\"]]: \"ordered\",\n });\n listControlsGroup.push({ [FORMATTING_TYPES_DICT[\"list\"]]: \"bullet\" });\n break;\n case \"alignment\":\n otherFormattingControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"alignment\"]]: [],\n });\n break;\n case \"indentation\":\n indentationControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"indentation\"]]: \"-1\",\n });\n indentationControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"indentation\"]]: \"+1\",\n });\n break;\n case \"text direction\":\n otherFormattingControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"text direction\"]]: \"rtl\",\n });\n break;\n case \"clear formatting\":\n otherFormattingControlsGroup.push(\n FORMATTING_TYPES_DICT[\"clear formatting\"]\n );\n break;\n }\n });\n\n const otherInputControls = inputTypes.length\n ? INPUT_TYPES.filter((inp) => inputTypes.includes(inp))\n : undefined;\n\n return {\n toolbar: [\n textStyleControls,\n colorControls,\n scriptControls,\n fontControls,\n listControlsGroup,\n indentationControlsGroup,\n otherFormattingControlsGroup,\n otherInputControls,\n ].filter((i) => i?.length),\n };\n }, [toolbar, customToolbar]);\n\n const key = useMemo(\n () => JSON.stringify(modules) + String(rest.preserveWhitespace),\n [rest.preserveWhitespace, modules]\n );\n\n if (!isClient) {\n return null;\n }\n\n return (\n <div className={containerClassName}>\n <ReactQuill key={key} modules={modules} {...rest} />\n </div>\n );\n}\n\nexport const quillHelpers = {\n states: {\n value: {\n onChangeArgsToValue: ((content, _delta, _source, _editor) => {\n return content;\n }) as ReactQuillProps[\"onChange\"],\n },\n },\n};\n\nconst toolbarFields: Record<ToolbarOptionsType, PropType<any>> = {\n textStyle: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(TEXT_STYLE_DICT),\n defaultValue: Object.keys(TEXT_STYLE_DICT),\n },\n colors: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(COLOR_TYPE_DICT),\n defaultValue: Object.keys(COLOR_TYPE_DICT),\n },\n script: {\n displayName: \"Super/Sub Script\",\n type: \"boolean\",\n defaultValue: true,\n },\n fontFamily: {\n type: \"boolean\",\n defaultValue: true,\n },\n heading: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(HEADING_TYPES_DICT),\n defaultValue: Object.keys(HEADING_TYPES_DICT),\n },\n fontSizes: {\n type: \"choice\",\n multiSelect: true,\n options: FONT_SIZES,\n defaultValue: FONT_SIZES,\n },\n formatting: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(FORMATTING_TYPES_DICT),\n defaultValue: Object.keys(FORMATTING_TYPES_DICT),\n },\n inputTypes: {\n type: \"choice\",\n multiSelect: true,\n options: INPUT_TYPES,\n defaultValue: INPUT_TYPES,\n },\n} as const;\n\nexport function registerQuill(loader?: Registerable) {\n registerComponentHelper(loader, ReactQuill, {\n name: \"hostless-react-quill\",\n displayName: \"Rich Text Editor\",\n classNameProp: \"containerClassName\",\n defaultStyles: {\n width: \"stretch\",\n },\n props: {\n value: {\n type: \"string\",\n displayName: \"HTML Value\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Contents of the editor\",\n },\n toolbar: {\n type: \"object\",\n fields: { ...toolbarFields },\n defaultValue: Object.keys(toolbarFields).reduce((acc: any, key) => {\n acc[key] = (\n toolbarFields[key as keyof typeof toolbarFields] as any\n ).defaultValue;\n return acc;\n }, {}),\n description: \"Customize the toolbar to show/hide controls\",\n },\n customToolbar: {\n type: \"array\",\n advanced: true,\n description:\n \"Custom toolbar configuration for Quill editor. Overrides the existing toolbar.\",\n },\n placeholder: \"string\",\n preserveWhitespace: {\n type: \"boolean\",\n description:\n \"Prevents Quill from collapsing continuous whitespaces on paste\",\n advanced: true,\n defaultValue: true,\n },\n readOnly: {\n type: \"boolean\",\n description: \"Prevents user from changing the contents of the editor\",\n defaultValue: false,\n advanced: true,\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"content\",\n type: \"string\",\n },\n {\n name: \"delta\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onChangeSelection: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"range\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onFocus: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"range\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onBlur: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"previousRange\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onKeyPress: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n onKeyDown: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n onKeyUp: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n } as any,\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n // initVal: \"\",\n ...quillHelpers.states.value,\n },\n },\n componentHelpers: {\n helpers: quillHelpers,\n importName: \"quillHelpers\",\n importPath: \"@plasmicpkgs/react-quill\",\n },\n importName: \"Quill\",\n importPath: \"@plasmicpkgs/react-quill\",\n });\n}\n"],"names":["registerComponentHelper","loader","component","meta","registerComponent","useIsClient","_React$useState","React","useState","loaded","setLoaded","useIsomorphicLayoutEffect","isBrowser","window","useLayoutEffect","useEffect","ReactQuill","require","TEXT_STYLE_DICT","bold","italic","underline","strikethrough","HEADING_TYPES_DICT","Body","FONT_SIZES","COLOR_TYPE_DICT","FORMATTING_TYPES_DICT","alignment","list","indentation","INPUT_TYPES","Quill","props","isClient","containerClassName","toolbar","customToolbar","rest","_objectWithoutPropertiesLoose","_excluded","modules","useMemo","textStyle","fontFamily","heading","fontSizes","colors","script","formatting","inputTypes","textStyleControls","Object","keys","filter","key","includes","map","colorControls","_ref","scriptControls","undefined","fontControls","font","length","header","size","fs","i","listControlsGroup","indentationControlsGroup","otherFormattingControlsGroup","f","push","_listControlsGroup$pu","_listControlsGroup$pu2","_otherFormattingContr","_indentationControlsG","_indentationControlsG2","_otherFormattingContr2","otherInputControls","inp","JSON","stringify","String","preserveWhitespace","className","quillHelpers","states","value","onChangeArgsToValue","content","_delta","_source","_editor","toolbarFields","type","multiSelect","options","defaultValue","displayName","registerQuill","name","classNameProp","defaultStyles","width","editOnly","uncontrolledProp","description","fields","_extends","reduce","acc","advanced","placeholder","readOnly","onChange","argTypes","onChangeSelection","onFocus","onBlur","onKeyPress","onKeyDown","onKeyUp","valueProp","onChangeProp","variableType","componentHelpers","helpers","importName","importPath"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react"),n=e(t),a=e(require("@plasmicapp/host/registerComponent"));function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(this,arguments)}require("@plasmicapp/host/registerGlobalContext");var o="undefined"!=typeof window?n.useLayoutEffect:n.useEffect,i=["containerClassName","toolbar","customToolbar"],l="undefined"!=typeof window?require("react-quill"):null,s={bold:"bold",italic:"italic",underline:"underline",strikethrough:"strike"},c={"Heading 1":1,"Heading 2":2,"Heading 3":3,"Heading 4":4,"Heading 5":5,"Heading 6":6,Body:"normal"},u=["small","medium","large","huge"],p={"text color":"color","text background":"background"},d={alignment:"align",list:"list",indentation:"indent","text direction":"direction","clear formatting":"clean"},y=["link","blockquote","image","video","code-block","formula"]
|
|
1
|
+
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react"),n=e(t),a=e(require("@plasmicapp/host/registerComponent"));function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(this,arguments)}require("@plasmicapp/host/registerGlobalContext");var o="undefined"!=typeof window?n.useLayoutEffect:n.useEffect,i=["containerClassName","toolbar","customToolbar"],l="undefined"!=typeof window?require("react-quill"):null,s={bold:"bold",italic:"italic",underline:"underline",strikethrough:"strike"},c={"Heading 1":1,"Heading 2":2,"Heading 3":3,"Heading 4":4,"Heading 5":5,"Heading 6":6,Body:"normal"},u=["small","medium","large","huge"],p={"text color":"color","text background":"background"},d={alignment:"align",list:"list",indentation:"indent","text direction":"direction","clear formatting":"clean"},y=["link","blockquote","image","video","code-block","formula"],f={states:{value:{onChangeArgsToValue:function(e,t,n,a){return e}}}},m={textStyle:{type:"choice",multiSelect:!0,options:Object.keys(s),defaultValue:Object.keys(s)},colors:{type:"choice",multiSelect:!0,options:Object.keys(p),defaultValue:Object.keys(p)},script:{displayName:"Super/Sub Script",type:"boolean",defaultValue:!0},fontFamily:{type:"boolean",defaultValue:!0},heading:{type:"choice",multiSelect:!0,options:Object.keys(c),defaultValue:Object.keys(c)},fontSizes:{type:"choice",multiSelect:!0,options:u,defaultValue:u},formatting:{type:"choice",multiSelect:!0,options:Object.keys(d),defaultValue:Object.keys(d)},inputTypes:{type:"choice",multiSelect:!0,options:y,defaultValue:y}};exports.Quill=function(e){var a,r,f,m=(r=(a=n.useState(!1))[0],f=a[1],o((function(){f(!0)})),r),g=e.containerClassName,b=e.toolbar,h=e.customToolbar,v=function(e,t){if(null==e)return{};var n,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)t.indexOf(n=o[a])>=0||(r[n]=e[n]);return r}(e,i),j=t.useMemo((function(){if(h)return{toolbar:h};var e=b.textStyle,t=b.fontFamily,n=b.heading,a=b.fontSizes,r=b.colors,o=b.script,i=b.formatting,l=b.inputTypes,f=Object.keys(s).filter((function(t){return e.includes(t)})).map((function(e){return s[e]})),m=Object.keys(p).filter((function(e){return r.includes(e)})).map((function(e){var t;return(t={})[p[e]]=[],t})),g=o?[{script:"super"},{script:"sub"}]:void 0,v=[t?{font:[]}:void 0,n.length?{header:Object.keys(c).filter((function(e){return n.includes(e)})).map((function(e){return c[e]}))}:void 0,a.length?{size:u.filter((function(e){return a.includes(e)}))}:void 0].filter((function(e){return e})),j=[],k=[],O=[];null==i||i.map((function(e){var t,n,a,r,o,i;switch(e){case"list":j.push(((t={})[d.list]="ordered",t)),j.push(((n={})[d.list]="bullet",n));break;case"alignment":O.push(((a={})[d.alignment]=[],a));break;case"indentation":k.push(((r={})[d.indentation]="-1",r)),k.push(((o={})[d.indentation]="+1",o));break;case"text direction":O.push(((i={})[d["text direction"]]="rtl",i));break;case"clear formatting":O.push(d["clear formatting"])}}));var S=l.length?y.filter((function(e){return l.includes(e)})):void 0;return{toolbar:[f,m,g,v,j,k,O,S].filter((function(e){return null==e?void 0:e.length}))}}),[b,h]),k=t.useMemo((function(){return JSON.stringify(j)+String(v.preserveWhitespace)}),[v.preserveWhitespace,j]);return m?n.createElement("div",{className:g},n.createElement(l,Object.assign({key:k,modules:j},v))):null},exports.quillHelpers=f,exports.registerQuill=function(e){!function(e,t,n){e?e.registerComponent(t,n):a(t,n)}(e,l,{name:"hostless-react-quill",displayName:"Rich Text Editor",classNameProp:"containerClassName",defaultStyles:{width:"stretch"},props:{value:{type:"string",displayName:"HTML Value",editOnly:!0,uncontrolledProp:"defaultValue",description:"Contents of the editor"},toolbar:{type:"object",fields:r({},m),defaultValue:Object.keys(m).reduce((function(e,t){return e[t]=m[t].defaultValue,e}),{}),description:"Customize the toolbar to show/hide controls"},customToolbar:{type:"array",advanced:!0,description:"Custom toolbar configuration for Quill editor. Overrides the existing toolbar."},placeholder:"string",preserveWhitespace:{type:"boolean",description:"Prevents Quill from collapsing continuous whitespaces on paste",advanced:!0,defaultValue:!0},readOnly:{type:"boolean",description:"Prevents user from changing the contents of the editor",defaultValue:!1,advanced:!0},onChange:{type:"eventHandler",advanced:!0,argTypes:[{name:"content",type:"string"},{name:"delta",type:"object"},{name:"source",type:"string"},{name:"editor",type:"object"}]},onChangeSelection:{type:"eventHandler",advanced:!0,argTypes:[{name:"range",type:"object"},{name:"source",type:"string"},{name:"editor",type:"object"}]},onFocus:{type:"eventHandler",advanced:!0,argTypes:[{name:"range",type:"object"},{name:"source",type:"string"},{name:"editor",type:"object"}]},onBlur:{type:"eventHandler",advanced:!0,argTypes:[{name:"previousRange",type:"object"},{name:"source",type:"string"},{name:"editor",type:"object"}]},onKeyPress:{type:"eventHandler",advanced:!0,argTypes:[{name:"event",type:"object"}]},onKeyDown:{type:"eventHandler",advanced:!0,argTypes:[{name:"event",type:"object"}]},onKeyUp:{type:"eventHandler",advanced:!0,argTypes:[{name:"event",type:"object"}]}},states:{value:r({type:"writable",valueProp:"value",onChangeProp:"onChange",variableType:"text"},f.states.value)},componentHelpers:{helpers:f,importName:"quillHelpers",importPath:"@plasmicpkgs/react-quill"},importName:"Quill",importPath:"@plasmicpkgs/react-quill"})};
|
|
2
2
|
//# sourceMappingURL=react-quill.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-quill.cjs.production.min.js","sources":["../src/useIsClient.ts","../src/index.tsx","../src/utils.ts"],"sourcesContent":["import React from \"react\";\n\nexport function useIsClient() {\n const [loaded, setLoaded] = React.useState(false);\n useIsomorphicLayoutEffect(() => {\n setLoaded(true);\n });\n return loaded;\n}\n\nconst isBrowser = typeof window !== \"undefined\";\nexport const useIsomorphicLayoutEffect = isBrowser\n ? React.useLayoutEffect\n : React.useEffect;","import React, { useMemo } from \"react\";\nimport { ReactQuillProps } from \"react-quill\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\nimport { PropType } from \"@plasmicapp/host\";\nimport { useIsClient } from \"./useIsClient\";\nconst ReactQuill =\n typeof window !== \"undefined\" ? require(\"react-quill\") : null;\n\n\ntype ToolbarOptionsType = \"textStyle\" | \"script\" | \"fontFamily\" | \"heading\" | \"fontSizes\" | \"colors\" | \"formatting\" | \"inputTypes\";\n\nconst TEXT_STYLE_DICT = {\n \"bold\": \"bold\",\n \"italic\": \"italic\",\n \"underline\": \"underline\",\n \"strikethrough\": \"strike\",\n}\n\nconst HEADING_TYPES_DICT = {\n \"Heading 1\": 1,\n \"Heading 2\": 2,\n \"Heading 3\": 3,\n \"Heading 4\": 4,\n \"Heading 5\": 5,\n \"Heading 6\": 6,\n \"Body\": \"normal\",\n}\n\nconst FONT_SIZES = [\n \"small\",\n \"medium\",\n \"large\",\n \"huge\",\n];\n\nconst COLOR_TYPE_DICT = {\n \"text color\": \"color\",\n \"text background\": \"background\"\n}\n\nconst FORMATTING_TYPES_DICT = {\n \"alignment\": \"align\",\n \"list\": \"list\",\n \"indentation\": \"indent\",\n \"text direction\": \"direction\",\n \"clear formatting\": \"clean\"\n};\n\nconst INPUT_TYPES = [\n \"link\",\"blockquote\",\"image\",\"video\",\"code-block\",\"formula\"\n]\n\nexport function Quill(props: ReactQuillProps & {\n containerClassName: string;\n customToolbar: any[];\n toolbar: Record<ToolbarOptionsType, any>;\n}) {\n const isClient = useIsClient();\n \n const {containerClassName, toolbar, customToolbar, ...rest} = props;\n\n const modules = useMemo(() => {\n\n if (customToolbar) {\n return {\n toolbar: customToolbar,\n }\n }\n\n const {\n textStyle,\n fontFamily,\n heading,\n fontSizes,\n colors,\n script,\n formatting,\n inputTypes,\n } = toolbar;\n \n const textStyleControls = Object.keys(TEXT_STYLE_DICT)\n .filter(key => textStyle.includes(key))\n .map((key) => TEXT_STYLE_DICT[key as keyof typeof TEXT_STYLE_DICT]);\n \n const colorControls = Object.keys(COLOR_TYPE_DICT)\n .filter(key => colors.includes(key))\n .map((key) => ({ [COLOR_TYPE_DICT[key as keyof typeof COLOR_TYPE_DICT]]: [] }));\n \n const scriptControls = script \n ? [{ 'script': 'super'}, { 'script': 'sub'}] : undefined;\n \n const fontControls = [\n fontFamily ?{font: []} : undefined,\n heading.length\n ? {\n header: Object.keys(HEADING_TYPES_DICT)\n .filter(key => heading.includes(key))\n .map((key) => HEADING_TYPES_DICT[key as keyof typeof HEADING_TYPES_DICT])}\n : undefined,\n fontSizes.length\n ? {size: FONT_SIZES.filter(fs => fontSizes.includes(fs))}\n : undefined,\n ].filter(i => i);\n \n const listControlsGroup: any[] = [];\n const indentationControlsGroup: any[] = [];\n const otherFormattingControlsGroup: any[] = [];\n \n formatting?.map((f: keyof typeof FORMATTING_TYPES_DICT) => {\n switch(f) {\n case \"list\":\n listControlsGroup.push({ [FORMATTING_TYPES_DICT[\"list\"]]: 'ordered'});\n listControlsGroup.push({ [FORMATTING_TYPES_DICT[\"list\"]]: 'bullet' });\n break;\n case \"alignment\":\n otherFormattingControlsGroup.push({ [FORMATTING_TYPES_DICT[\"alignment\"]]: []});\n break;\n case \"indentation\":\n indentationControlsGroup.push({ [FORMATTING_TYPES_DICT[\"indentation\"]]: '-1'});\n indentationControlsGroup.push({ [FORMATTING_TYPES_DICT[\"indentation\"]]: '+1'});\n break;\n case \"text direction\":\n otherFormattingControlsGroup.push({ [FORMATTING_TYPES_DICT[\"text direction\"]]: 'rtl' });\n break;\n case \"clear formatting\":\n otherFormattingControlsGroup.push(FORMATTING_TYPES_DICT[\"clear formatting\"]);\n break;\n }\n });\n \n const otherInputControls = inputTypes.length ? INPUT_TYPES.filter(inp => inputTypes.includes(inp)) : undefined;\n \n return {\n toolbar: [\n textStyleControls,\n colorControls,\n scriptControls,\n fontControls,\n listControlsGroup,\n indentationControlsGroup,\n otherFormattingControlsGroup,\n otherInputControls,\n ].filter(i => i?.length)\n }\n }, [toolbar, customToolbar]);\n\n const key = useMemo(() => JSON.stringify(modules) + String(rest.preserveWhitespace), [rest.preserveWhitespace, modules]);\n\n if (!isClient) {\n return null;\n }\n\n return (\n <div className={containerClassName}>\n <ReactQuill \n key={key} \n modules={modules}\n {...rest}\n />\n </div>\n )\n}\n\nconst quillHelpers_ = {\n states: {\n value: {\n onChangeArgsToValue: ((content, _delta, _source, _editor) => {\n return content;\n }) as ReactQuillProps[\"onChange\"],\n }\n }\n}\n\nconst toolbarFields: Record<ToolbarOptionsType, PropType<any>> = {\n textStyle: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(TEXT_STYLE_DICT),\n defaultValue: Object.keys(TEXT_STYLE_DICT)\n },\n colors: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(COLOR_TYPE_DICT),\n defaultValue: Object.keys(COLOR_TYPE_DICT),\n },\n script: {\n displayName: \"Super/Sub Script\",\n type: \"boolean\",\n defaultValue: true,\n },\n fontFamily: {\n type: \"boolean\",\n defaultValue: true,\n },\n heading: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(HEADING_TYPES_DICT),\n defaultValue: Object.keys(HEADING_TYPES_DICT),\n },\n fontSizes: {\n type: \"choice\",\n multiSelect: true,\n options: FONT_SIZES,\n defaultValue: FONT_SIZES,\n },\n formatting: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(FORMATTING_TYPES_DICT),\n defaultValue: Object.keys(FORMATTING_TYPES_DICT),\n },\n inputTypes: {\n type: \"choice\",\n multiSelect: true,\n options:INPUT_TYPES,\n defaultValue:INPUT_TYPES,\n },\n} as const;\n\nconst importName = \"ReactQuill\";\n\nexport function registerQuill(loader?: Registerable) {\n registerComponentHelper(loader, Quill, {\n name: \"hostless-react-quill\",\n displayName: \"Rich Text Editor\",\n classNameProp: \"containerClassName\",\n defaultStyles: {\n width: \"stretch\"\n },\n props: {\n value: {\n type: \"string\",\n displayName: \"HTML Value\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Contents of the editor\",\n },\n toolbar: {\n type: \"object\",\n fields: {...toolbarFields}, \n defaultValue: Object.keys(toolbarFields)\n .reduce((acc: any, key) => {\n acc[key] = (toolbarFields[key as keyof typeof toolbarFields] as any).defaultValue;\n return acc;\n }, {}),\n description: \"Customize the toolbar to show/hide controls\",\n },\n customToolbar: {\n type: \"array\",\n advanced: true,\n description: \"Custom toolbar configuration for Quill editor. Overrides the existing toolbar.\"\n },\n placeholder: \"string\",\n preserveWhitespace: {\n type: \"boolean\",\n description: \"Prevents Quill from collapsing continuous whitespaces on paste\",\n advanced: true, \n defaultValue: true,\n },\n readOnly: {\n type: \"boolean\",\n description: \"Prevents user from changing the contents of the editor\",\n defaultValue: false,\n advanced: true,\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"content\",\n type: \"string\",\n },\n {\n name: \"delta\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\"\n },\n {\n name: \"editor\",\n type: \"object\"\n }\n ],\n },\n onChangeSelection: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"range\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\"\n },\n {\n name: \"editor\",\n type: \"object\"\n }\n ],\n },\n onFocus: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"range\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\"\n },\n {\n name: \"editor\",\n type: \"object\"\n }\n ],\n },\n onBlur: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"previousRange\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\"\n },\n {\n name: \"editor\",\n type: \"object\"\n }\n ],\n },\n onKeyPress: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n }\n ],\n },\n onKeyDown: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n }\n ],\n },\n onKeyUp: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n }\n ],\n },\n } as any,\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n // initVal: \"\",\n ...quillHelpers_.states.value,\n },\n },\n componentHelpers: {\n helpers: quillHelpers_,\n importName,\n importPath: \"@plasmicpkgs/react-quill\",\n },\n importName,\n importPath: \"@plasmicpkgs/react-quill\",\n });\n}","import {\n ComponentMeta,\n default as registerComponent,\n} from \"@plasmicapp/host/registerComponent\";\nimport {\n default as registerGlobalContext,\n GlobalContextMeta,\n} from \"@plasmicapp/host/registerGlobalContext\";\nimport { default as registerToken } from \"@plasmicapp/host/registerToken\";\nimport React from \"react\";\n\nexport type Registerable = {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n registerToken: typeof registerToken;\n};\n\nexport function makeRegisterComponent<T extends React.ComponentType<any>>(\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n registerComponentHelper(loader, component, meta);\n };\n}\n\nexport function makeRegisterGlobalContext<T extends React.ComponentType<any>>(\n component: T,\n meta: GlobalContextMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n if (loader) {\n loader.registerGlobalContext(component, meta);\n } else {\n registerGlobalContext(component, meta);\n }\n };\n}\n\nexport function registerComponentHelper<T extends React.ComponentType<any>>(\n loader: Registerable | undefined,\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n if (loader) {\n loader.registerComponent(component, meta);\n } else {\n registerComponent(component, meta);\n }\n}\n\ntype ReactElt = {\n children: ReactElt | ReactElt[];\n props: {\n children: ReactElt | ReactElt[];\n [prop: string]: any;\n } | null;\n type: React.ComponentType<any> | null;\n key: string | null;\n} | null;\n\nexport function traverseReactEltTree(\n children: React.ReactNode,\n callback: (elt: ReactElt) => void\n) {\n const rec = (elts: ReactElt | ReactElt[] | null) => {\n (Array.isArray(elts) ? elts : [elts]).forEach((elt) => {\n if (elt) {\n callback(elt);\n if (elt.children) {\n rec(elt.children);\n }\n if (elt.props?.children && elt.props.children !== elt.children) {\n rec(elt.props.children);\n }\n }\n });\n };\n rec(children as any);\n}\n\nexport function asArray<T>(x: T[] | T | undefined | null) {\n if (Array.isArray(x)) {\n return x;\n } else if (x == null) {\n return [];\n } else {\n return [x];\n }\n}\n"],"names":["useIsomorphicLayoutEffect","window","React","useLayoutEffect","useEffect","ReactQuill","require","TEXT_STYLE_DICT","bold","italic","underline","strikethrough","HEADING_TYPES_DICT","Heading 1","Heading 2","Heading 3","Heading 4","Heading 5","Heading 6","Body","FONT_SIZES","COLOR_TYPE_DICT","text color","text background","FORMATTING_TYPES_DICT","alignment","list","indentation","text direction","clear formatting","INPUT_TYPES","Quill","props","_React$useState","loaded","setLoaded","isClient","useState","containerClassName","toolbar","customToolbar","rest","_objectWithoutPropertiesLoose","_excluded","modules","useMemo","textStyle","fontFamily","heading","fontSizes","colors","script","formatting","inputTypes","textStyleControls","Object","keys","filter","key","includes","map","colorControls","_ref","scriptControls","undefined","fontControls","font","length","header","size","fs","i","listControlsGroup","indentationControlsGroup","otherFormattingControlsGroup","f","push","_listControlsGroup$pu","_listControlsGroup$pu2","_otherFormattingContr","_indentationControlsG","_indentationControlsG2","_otherFormattingContr2","otherInputControls","inp","JSON","stringify","String","preserveWhitespace","className","quillHelpers_","states","value","onChangeArgsToValue","content","_delta","_source","_editor","toolbarFields","type","multiSelect","options","defaultValue","displayName","loader","component","meta","registerComponent","registerComponentHelper","name","classNameProp","defaultStyles","width","editOnly","uncontrolledProp","description","fields","_extends","reduce","acc","advanced","placeholder","readOnly","onChange","argTypes","onChangeSelection","onFocus","onBlur","onKeyPress","onKeyDown","onKeyUp","valueProp","onChangeProp","variableType","componentHelpers","helpers","importName","importPath"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-quill.cjs.production.min.js","sources":["../src/useIsClient.ts","../src/index.tsx","../src/utils.ts"],"sourcesContent":["import React from \"react\";\n\nexport function useIsClient() {\n const [loaded, setLoaded] = React.useState(false);\n useIsomorphicLayoutEffect(() => {\n setLoaded(true);\n });\n return loaded;\n}\n\nconst isBrowser = typeof window !== \"undefined\";\nexport const useIsomorphicLayoutEffect = isBrowser\n ? React.useLayoutEffect\n : React.useEffect;","import React, { useMemo } from \"react\";\nimport { ReactQuillProps } from \"react-quill\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\nimport { PropType } from \"@plasmicapp/host\";\nimport { useIsClient } from \"./useIsClient\";\nconst ReactQuill =\n typeof window !== \"undefined\" ? require(\"react-quill\") : null;\n\ntype ToolbarOptionsType =\n | \"textStyle\"\n | \"script\"\n | \"fontFamily\"\n | \"heading\"\n | \"fontSizes\"\n | \"colors\"\n | \"formatting\"\n | \"inputTypes\";\n\nconst TEXT_STYLE_DICT = {\n bold: \"bold\",\n italic: \"italic\",\n underline: \"underline\",\n strikethrough: \"strike\",\n};\n\nconst HEADING_TYPES_DICT = {\n \"Heading 1\": 1,\n \"Heading 2\": 2,\n \"Heading 3\": 3,\n \"Heading 4\": 4,\n \"Heading 5\": 5,\n \"Heading 6\": 6,\n Body: \"normal\",\n};\n\nconst FONT_SIZES = [\"small\", \"medium\", \"large\", \"huge\"];\n\nconst COLOR_TYPE_DICT = {\n \"text color\": \"color\",\n \"text background\": \"background\",\n};\n\nconst FORMATTING_TYPES_DICT = {\n alignment: \"align\",\n list: \"list\",\n indentation: \"indent\",\n \"text direction\": \"direction\",\n \"clear formatting\": \"clean\",\n};\n\nconst INPUT_TYPES = [\n \"link\",\n \"blockquote\",\n \"image\",\n \"video\",\n \"code-block\",\n \"formula\",\n];\n\nexport function Quill(\n props: ReactQuillProps & {\n containerClassName: string;\n customToolbar: any[];\n toolbar: Record<ToolbarOptionsType, any>;\n }\n) {\n const isClient = useIsClient();\n\n const { containerClassName, toolbar, customToolbar, ...rest } = props;\n\n const modules = useMemo(() => {\n if (customToolbar) {\n return {\n toolbar: customToolbar,\n };\n }\n\n const {\n textStyle,\n fontFamily,\n heading,\n fontSizes,\n colors,\n script,\n formatting,\n inputTypes,\n } = toolbar;\n\n const textStyleControls = Object.keys(TEXT_STYLE_DICT)\n .filter((key) => textStyle.includes(key))\n .map((key) => TEXT_STYLE_DICT[key as keyof typeof TEXT_STYLE_DICT]);\n\n const colorControls = Object.keys(COLOR_TYPE_DICT)\n .filter((key) => colors.includes(key))\n .map((key) => ({\n [COLOR_TYPE_DICT[key as keyof typeof COLOR_TYPE_DICT]]: [],\n }));\n\n const scriptControls = script\n ? [{ script: \"super\" }, { script: \"sub\" }]\n : undefined;\n\n const fontControls = [\n fontFamily ? { font: [] } : undefined,\n heading.length\n ? {\n header: Object.keys(HEADING_TYPES_DICT)\n .filter((key) => heading.includes(key))\n .map(\n (key) =>\n HEADING_TYPES_DICT[key as keyof typeof HEADING_TYPES_DICT]\n ),\n }\n : undefined,\n fontSizes.length\n ? { size: FONT_SIZES.filter((fs) => fontSizes.includes(fs)) }\n : undefined,\n ].filter((i) => i);\n\n const listControlsGroup: any[] = [];\n const indentationControlsGroup: any[] = [];\n const otherFormattingControlsGroup: any[] = [];\n\n formatting?.map((f: keyof typeof FORMATTING_TYPES_DICT) => {\n switch (f) {\n case \"list\":\n listControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"list\"]]: \"ordered\",\n });\n listControlsGroup.push({ [FORMATTING_TYPES_DICT[\"list\"]]: \"bullet\" });\n break;\n case \"alignment\":\n otherFormattingControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"alignment\"]]: [],\n });\n break;\n case \"indentation\":\n indentationControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"indentation\"]]: \"-1\",\n });\n indentationControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"indentation\"]]: \"+1\",\n });\n break;\n case \"text direction\":\n otherFormattingControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"text direction\"]]: \"rtl\",\n });\n break;\n case \"clear formatting\":\n otherFormattingControlsGroup.push(\n FORMATTING_TYPES_DICT[\"clear formatting\"]\n );\n break;\n }\n });\n\n const otherInputControls = inputTypes.length\n ? INPUT_TYPES.filter((inp) => inputTypes.includes(inp))\n : undefined;\n\n return {\n toolbar: [\n textStyleControls,\n colorControls,\n scriptControls,\n fontControls,\n listControlsGroup,\n indentationControlsGroup,\n otherFormattingControlsGroup,\n otherInputControls,\n ].filter((i) => i?.length),\n };\n }, [toolbar, customToolbar]);\n\n const key = useMemo(\n () => JSON.stringify(modules) + String(rest.preserveWhitespace),\n [rest.preserveWhitespace, modules]\n );\n\n if (!isClient) {\n return null;\n }\n\n return (\n <div className={containerClassName}>\n <ReactQuill key={key} modules={modules} {...rest} />\n </div>\n );\n}\n\nexport const quillHelpers = {\n states: {\n value: {\n onChangeArgsToValue: ((content, _delta, _source, _editor) => {\n return content;\n }) as ReactQuillProps[\"onChange\"],\n },\n },\n};\n\nconst toolbarFields: Record<ToolbarOptionsType, PropType<any>> = {\n textStyle: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(TEXT_STYLE_DICT),\n defaultValue: Object.keys(TEXT_STYLE_DICT),\n },\n colors: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(COLOR_TYPE_DICT),\n defaultValue: Object.keys(COLOR_TYPE_DICT),\n },\n script: {\n displayName: \"Super/Sub Script\",\n type: \"boolean\",\n defaultValue: true,\n },\n fontFamily: {\n type: \"boolean\",\n defaultValue: true,\n },\n heading: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(HEADING_TYPES_DICT),\n defaultValue: Object.keys(HEADING_TYPES_DICT),\n },\n fontSizes: {\n type: \"choice\",\n multiSelect: true,\n options: FONT_SIZES,\n defaultValue: FONT_SIZES,\n },\n formatting: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(FORMATTING_TYPES_DICT),\n defaultValue: Object.keys(FORMATTING_TYPES_DICT),\n },\n inputTypes: {\n type: \"choice\",\n multiSelect: true,\n options: INPUT_TYPES,\n defaultValue: INPUT_TYPES,\n },\n} as const;\n\nexport function registerQuill(loader?: Registerable) {\n registerComponentHelper(loader, ReactQuill, {\n name: \"hostless-react-quill\",\n displayName: \"Rich Text Editor\",\n classNameProp: \"containerClassName\",\n defaultStyles: {\n width: \"stretch\",\n },\n props: {\n value: {\n type: \"string\",\n displayName: \"HTML Value\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Contents of the editor\",\n },\n toolbar: {\n type: \"object\",\n fields: { ...toolbarFields },\n defaultValue: Object.keys(toolbarFields).reduce((acc: any, key) => {\n acc[key] = (\n toolbarFields[key as keyof typeof toolbarFields] as any\n ).defaultValue;\n return acc;\n }, {}),\n description: \"Customize the toolbar to show/hide controls\",\n },\n customToolbar: {\n type: \"array\",\n advanced: true,\n description:\n \"Custom toolbar configuration for Quill editor. Overrides the existing toolbar.\",\n },\n placeholder: \"string\",\n preserveWhitespace: {\n type: \"boolean\",\n description:\n \"Prevents Quill from collapsing continuous whitespaces on paste\",\n advanced: true,\n defaultValue: true,\n },\n readOnly: {\n type: \"boolean\",\n description: \"Prevents user from changing the contents of the editor\",\n defaultValue: false,\n advanced: true,\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"content\",\n type: \"string\",\n },\n {\n name: \"delta\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onChangeSelection: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"range\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onFocus: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"range\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onBlur: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"previousRange\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onKeyPress: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n onKeyDown: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n onKeyUp: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n } as any,\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n // initVal: \"\",\n ...quillHelpers.states.value,\n },\n },\n componentHelpers: {\n helpers: quillHelpers,\n importName: \"quillHelpers\",\n importPath: \"@plasmicpkgs/react-quill\",\n },\n importName: \"Quill\",\n importPath: \"@plasmicpkgs/react-quill\",\n });\n}\n","import {\n ComponentMeta,\n default as registerComponent,\n} from \"@plasmicapp/host/registerComponent\";\nimport {\n default as registerGlobalContext,\n GlobalContextMeta,\n} from \"@plasmicapp/host/registerGlobalContext\";\nimport { default as registerToken } from \"@plasmicapp/host/registerToken\";\nimport React from \"react\";\n\nexport type Registerable = {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n registerToken: typeof registerToken;\n};\n\nexport function makeRegisterComponent<T extends React.ComponentType<any>>(\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n registerComponentHelper(loader, component, meta);\n };\n}\n\nexport function makeRegisterGlobalContext<T extends React.ComponentType<any>>(\n component: T,\n meta: GlobalContextMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n if (loader) {\n loader.registerGlobalContext(component, meta);\n } else {\n registerGlobalContext(component, meta);\n }\n };\n}\n\nexport function registerComponentHelper<T extends React.ComponentType<any>>(\n loader: Registerable | undefined,\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n if (loader) {\n loader.registerComponent(component, meta);\n } else {\n registerComponent(component, meta);\n }\n}\n\ntype ReactElt = {\n children: ReactElt | ReactElt[];\n props: {\n children: ReactElt | ReactElt[];\n [prop: string]: any;\n } | null;\n type: React.ComponentType<any> | null;\n key: string | null;\n} | null;\n\nexport function traverseReactEltTree(\n children: React.ReactNode,\n callback: (elt: ReactElt) => void\n) {\n const rec = (elts: ReactElt | ReactElt[] | null) => {\n (Array.isArray(elts) ? elts : [elts]).forEach((elt) => {\n if (elt) {\n callback(elt);\n if (elt.children) {\n rec(elt.children);\n }\n if (elt.props?.children && elt.props.children !== elt.children) {\n rec(elt.props.children);\n }\n }\n });\n };\n rec(children as any);\n}\n\nexport function asArray<T>(x: T[] | T | undefined | null) {\n if (Array.isArray(x)) {\n return x;\n } else if (x == null) {\n return [];\n } else {\n return [x];\n }\n}\n"],"names":["useIsomorphicLayoutEffect","window","React","useLayoutEffect","useEffect","ReactQuill","require","TEXT_STYLE_DICT","bold","italic","underline","strikethrough","HEADING_TYPES_DICT","Heading 1","Heading 2","Heading 3","Heading 4","Heading 5","Heading 6","Body","FONT_SIZES","COLOR_TYPE_DICT","text color","text background","FORMATTING_TYPES_DICT","alignment","list","indentation","text direction","clear formatting","INPUT_TYPES","quillHelpers","states","value","onChangeArgsToValue","content","_delta","_source","_editor","toolbarFields","textStyle","type","multiSelect","options","Object","keys","defaultValue","colors","script","displayName","fontFamily","heading","fontSizes","formatting","inputTypes","props","_React$useState","loaded","setLoaded","isClient","useState","containerClassName","toolbar","customToolbar","rest","_objectWithoutPropertiesLoose","_excluded","modules","useMemo","textStyleControls","filter","key","includes","map","colorControls","_ref","scriptControls","undefined","fontControls","font","length","header","size","fs","i","listControlsGroup","indentationControlsGroup","otherFormattingControlsGroup","f","push","_listControlsGroup$pu","_listControlsGroup$pu2","_otherFormattingContr","_indentationControlsG","_indentationControlsG2","_otherFormattingContr2","otherInputControls","inp","JSON","stringify","String","preserveWhitespace","className","loader","component","meta","registerComponent","registerComponentHelper","name","classNameProp","defaultStyles","width","editOnly","uncontrolledProp","description","fields","_extends","reduce","acc","advanced","placeholder","readOnly","onChange","argTypes","onChangeSelection","onFocus","onBlur","onKeyPress","onKeyDown","onKeyUp","valueProp","onChangeProp","variableType","componentHelpers","helpers","importName","importPath"],"mappings":"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"}
|
package/dist/react-quill.esm.js
CHANGED
|
@@ -52,10 +52,10 @@ var useIsomorphicLayoutEffect = isBrowser ? React.useLayoutEffect : React.useEff
|
|
|
52
52
|
var _excluded = ["containerClassName", "toolbar", "customToolbar"];
|
|
53
53
|
var ReactQuill = typeof window !== "undefined" ? /*#__PURE__*/require("react-quill") : null;
|
|
54
54
|
var TEXT_STYLE_DICT = {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
bold: "bold",
|
|
56
|
+
italic: "italic",
|
|
57
|
+
underline: "underline",
|
|
58
|
+
strikethrough: "strike"
|
|
59
59
|
};
|
|
60
60
|
var HEADING_TYPES_DICT = {
|
|
61
61
|
"Heading 1": 1,
|
|
@@ -64,7 +64,7 @@ var HEADING_TYPES_DICT = {
|
|
|
64
64
|
"Heading 4": 4,
|
|
65
65
|
"Heading 5": 5,
|
|
66
66
|
"Heading 6": 6,
|
|
67
|
-
|
|
67
|
+
Body: "normal"
|
|
68
68
|
};
|
|
69
69
|
var FONT_SIZES = ["small", "medium", "large", "huge"];
|
|
70
70
|
var COLOR_TYPE_DICT = {
|
|
@@ -72,9 +72,9 @@ var COLOR_TYPE_DICT = {
|
|
|
72
72
|
"text background": "background"
|
|
73
73
|
};
|
|
74
74
|
var FORMATTING_TYPES_DICT = {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
alignment: "align",
|
|
76
|
+
list: "list",
|
|
77
|
+
indentation: "indent",
|
|
78
78
|
"text direction": "direction",
|
|
79
79
|
"clear formatting": "clean"
|
|
80
80
|
};
|
|
@@ -111,9 +111,9 @@ function Quill(props) {
|
|
|
111
111
|
return _ref = {}, _ref[COLOR_TYPE_DICT[key]] = [], _ref;
|
|
112
112
|
});
|
|
113
113
|
var scriptControls = script ? [{
|
|
114
|
-
|
|
114
|
+
script: "super"
|
|
115
115
|
}, {
|
|
116
|
-
|
|
116
|
+
script: "sub"
|
|
117
117
|
}] : undefined;
|
|
118
118
|
var fontControls = [fontFamily ? {
|
|
119
119
|
font: []
|
|
@@ -137,18 +137,18 @@ function Quill(props) {
|
|
|
137
137
|
var _listControlsGroup$pu, _listControlsGroup$pu2, _otherFormattingContr, _indentationControlsG, _indentationControlsG2, _otherFormattingContr2;
|
|
138
138
|
switch (f) {
|
|
139
139
|
case "list":
|
|
140
|
-
listControlsGroup.push((_listControlsGroup$pu = {}, _listControlsGroup$pu[FORMATTING_TYPES_DICT["list"]] =
|
|
141
|
-
listControlsGroup.push((_listControlsGroup$pu2 = {}, _listControlsGroup$pu2[FORMATTING_TYPES_DICT["list"]] =
|
|
140
|
+
listControlsGroup.push((_listControlsGroup$pu = {}, _listControlsGroup$pu[FORMATTING_TYPES_DICT["list"]] = "ordered", _listControlsGroup$pu));
|
|
141
|
+
listControlsGroup.push((_listControlsGroup$pu2 = {}, _listControlsGroup$pu2[FORMATTING_TYPES_DICT["list"]] = "bullet", _listControlsGroup$pu2));
|
|
142
142
|
break;
|
|
143
143
|
case "alignment":
|
|
144
144
|
otherFormattingControlsGroup.push((_otherFormattingContr = {}, _otherFormattingContr[FORMATTING_TYPES_DICT["alignment"]] = [], _otherFormattingContr));
|
|
145
145
|
break;
|
|
146
146
|
case "indentation":
|
|
147
|
-
indentationControlsGroup.push((_indentationControlsG = {}, _indentationControlsG[FORMATTING_TYPES_DICT["indentation"]] =
|
|
148
|
-
indentationControlsGroup.push((_indentationControlsG2 = {}, _indentationControlsG2[FORMATTING_TYPES_DICT["indentation"]] =
|
|
147
|
+
indentationControlsGroup.push((_indentationControlsG = {}, _indentationControlsG[FORMATTING_TYPES_DICT["indentation"]] = "-1", _indentationControlsG));
|
|
148
|
+
indentationControlsGroup.push((_indentationControlsG2 = {}, _indentationControlsG2[FORMATTING_TYPES_DICT["indentation"]] = "+1", _indentationControlsG2));
|
|
149
149
|
break;
|
|
150
150
|
case "text direction":
|
|
151
|
-
otherFormattingControlsGroup.push((_otherFormattingContr2 = {}, _otherFormattingContr2[FORMATTING_TYPES_DICT["text direction"]] =
|
|
151
|
+
otherFormattingControlsGroup.push((_otherFormattingContr2 = {}, _otherFormattingContr2[FORMATTING_TYPES_DICT["text direction"]] = "rtl", _otherFormattingContr2));
|
|
152
152
|
break;
|
|
153
153
|
case "clear formatting":
|
|
154
154
|
otherFormattingControlsGroup.push(FORMATTING_TYPES_DICT["clear formatting"]);
|
|
@@ -177,7 +177,7 @@ function Quill(props) {
|
|
|
177
177
|
modules: modules
|
|
178
178
|
}, rest)));
|
|
179
179
|
}
|
|
180
|
-
var
|
|
180
|
+
var quillHelpers = {
|
|
181
181
|
states: {
|
|
182
182
|
value: {
|
|
183
183
|
onChangeArgsToValue: function onChangeArgsToValue(content, _delta, _source, _editor) {
|
|
@@ -233,9 +233,8 @@ var toolbarFields = {
|
|
|
233
233
|
defaultValue: INPUT_TYPES
|
|
234
234
|
}
|
|
235
235
|
};
|
|
236
|
-
var importName = "ReactQuill";
|
|
237
236
|
function registerQuill(loader) {
|
|
238
|
-
registerComponentHelper(loader,
|
|
237
|
+
registerComponentHelper(loader, ReactQuill, {
|
|
239
238
|
name: "hostless-react-quill",
|
|
240
239
|
displayName: "Rich Text Editor",
|
|
241
240
|
classNameProp: "containerClassName",
|
|
@@ -367,17 +366,17 @@ function registerQuill(loader) {
|
|
|
367
366
|
valueProp: "value",
|
|
368
367
|
onChangeProp: "onChange",
|
|
369
368
|
variableType: "text"
|
|
370
|
-
},
|
|
369
|
+
}, quillHelpers.states.value)
|
|
371
370
|
},
|
|
372
371
|
componentHelpers: {
|
|
373
|
-
helpers:
|
|
374
|
-
importName:
|
|
372
|
+
helpers: quillHelpers,
|
|
373
|
+
importName: "quillHelpers",
|
|
375
374
|
importPath: "@plasmicpkgs/react-quill"
|
|
376
375
|
},
|
|
377
|
-
importName:
|
|
376
|
+
importName: "Quill",
|
|
378
377
|
importPath: "@plasmicpkgs/react-quill"
|
|
379
378
|
});
|
|
380
379
|
}
|
|
381
380
|
|
|
382
|
-
export { Quill, registerQuill };
|
|
381
|
+
export { Quill, quillHelpers, registerQuill };
|
|
383
382
|
//# sourceMappingURL=react-quill.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-quill.esm.js","sources":["../src/utils.ts","../src/useIsClient.ts","../src/index.tsx"],"sourcesContent":["import {\n ComponentMeta,\n default as registerComponent,\n} from \"@plasmicapp/host/registerComponent\";\nimport {\n default as registerGlobalContext,\n GlobalContextMeta,\n} from \"@plasmicapp/host/registerGlobalContext\";\nimport { default as registerToken } from \"@plasmicapp/host/registerToken\";\nimport React from \"react\";\n\nexport type Registerable = {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n registerToken: typeof registerToken;\n};\n\nexport function makeRegisterComponent<T extends React.ComponentType<any>>(\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n registerComponentHelper(loader, component, meta);\n };\n}\n\nexport function makeRegisterGlobalContext<T extends React.ComponentType<any>>(\n component: T,\n meta: GlobalContextMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n if (loader) {\n loader.registerGlobalContext(component, meta);\n } else {\n registerGlobalContext(component, meta);\n }\n };\n}\n\nexport function registerComponentHelper<T extends React.ComponentType<any>>(\n loader: Registerable | undefined,\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n if (loader) {\n loader.registerComponent(component, meta);\n } else {\n registerComponent(component, meta);\n }\n}\n\ntype ReactElt = {\n children: ReactElt | ReactElt[];\n props: {\n children: ReactElt | ReactElt[];\n [prop: string]: any;\n } | null;\n type: React.ComponentType<any> | null;\n key: string | null;\n} | null;\n\nexport function traverseReactEltTree(\n children: React.ReactNode,\n callback: (elt: ReactElt) => void\n) {\n const rec = (elts: ReactElt | ReactElt[] | null) => {\n (Array.isArray(elts) ? elts : [elts]).forEach((elt) => {\n if (elt) {\n callback(elt);\n if (elt.children) {\n rec(elt.children);\n }\n if (elt.props?.children && elt.props.children !== elt.children) {\n rec(elt.props.children);\n }\n }\n });\n };\n rec(children as any);\n}\n\nexport function asArray<T>(x: T[] | T | undefined | null) {\n if (Array.isArray(x)) {\n return x;\n } else if (x == null) {\n return [];\n } else {\n return [x];\n }\n}\n","import React from \"react\";\n\nexport function useIsClient() {\n const [loaded, setLoaded] = React.useState(false);\n useIsomorphicLayoutEffect(() => {\n setLoaded(true);\n });\n return loaded;\n}\n\nconst isBrowser = typeof window !== \"undefined\";\nexport const useIsomorphicLayoutEffect = isBrowser\n ? React.useLayoutEffect\n : React.useEffect;","import React, { useMemo } from \"react\";\nimport { ReactQuillProps } from \"react-quill\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\nimport { PropType } from \"@plasmicapp/host\";\nimport { useIsClient } from \"./useIsClient\";\nconst ReactQuill =\n typeof window !== \"undefined\" ? require(\"react-quill\") : null;\n\n\ntype ToolbarOptionsType = \"textStyle\" | \"script\" | \"fontFamily\" | \"heading\" | \"fontSizes\" | \"colors\" | \"formatting\" | \"inputTypes\";\n\nconst TEXT_STYLE_DICT = {\n \"bold\": \"bold\",\n \"italic\": \"italic\",\n \"underline\": \"underline\",\n \"strikethrough\": \"strike\",\n}\n\nconst HEADING_TYPES_DICT = {\n \"Heading 1\": 1,\n \"Heading 2\": 2,\n \"Heading 3\": 3,\n \"Heading 4\": 4,\n \"Heading 5\": 5,\n \"Heading 6\": 6,\n \"Body\": \"normal\",\n}\n\nconst FONT_SIZES = [\n \"small\",\n \"medium\",\n \"large\",\n \"huge\",\n];\n\nconst COLOR_TYPE_DICT = {\n \"text color\": \"color\",\n \"text background\": \"background\"\n}\n\nconst FORMATTING_TYPES_DICT = {\n \"alignment\": \"align\",\n \"list\": \"list\",\n \"indentation\": \"indent\",\n \"text direction\": \"direction\",\n \"clear formatting\": \"clean\"\n};\n\nconst INPUT_TYPES = [\n \"link\",\"blockquote\",\"image\",\"video\",\"code-block\",\"formula\"\n]\n\nexport function Quill(props: ReactQuillProps & {\n containerClassName: string;\n customToolbar: any[];\n toolbar: Record<ToolbarOptionsType, any>;\n}) {\n const isClient = useIsClient();\n \n const {containerClassName, toolbar, customToolbar, ...rest} = props;\n\n const modules = useMemo(() => {\n\n if (customToolbar) {\n return {\n toolbar: customToolbar,\n }\n }\n\n const {\n textStyle,\n fontFamily,\n heading,\n fontSizes,\n colors,\n script,\n formatting,\n inputTypes,\n } = toolbar;\n \n const textStyleControls = Object.keys(TEXT_STYLE_DICT)\n .filter(key => textStyle.includes(key))\n .map((key) => TEXT_STYLE_DICT[key as keyof typeof TEXT_STYLE_DICT]);\n \n const colorControls = Object.keys(COLOR_TYPE_DICT)\n .filter(key => colors.includes(key))\n .map((key) => ({ [COLOR_TYPE_DICT[key as keyof typeof COLOR_TYPE_DICT]]: [] }));\n \n const scriptControls = script \n ? [{ 'script': 'super'}, { 'script': 'sub'}] : undefined;\n \n const fontControls = [\n fontFamily ?{font: []} : undefined,\n heading.length\n ? {\n header: Object.keys(HEADING_TYPES_DICT)\n .filter(key => heading.includes(key))\n .map((key) => HEADING_TYPES_DICT[key as keyof typeof HEADING_TYPES_DICT])}\n : undefined,\n fontSizes.length\n ? {size: FONT_SIZES.filter(fs => fontSizes.includes(fs))}\n : undefined,\n ].filter(i => i);\n \n const listControlsGroup: any[] = [];\n const indentationControlsGroup: any[] = [];\n const otherFormattingControlsGroup: any[] = [];\n \n formatting?.map((f: keyof typeof FORMATTING_TYPES_DICT) => {\n switch(f) {\n case \"list\":\n listControlsGroup.push({ [FORMATTING_TYPES_DICT[\"list\"]]: 'ordered'});\n listControlsGroup.push({ [FORMATTING_TYPES_DICT[\"list\"]]: 'bullet' });\n break;\n case \"alignment\":\n otherFormattingControlsGroup.push({ [FORMATTING_TYPES_DICT[\"alignment\"]]: []});\n break;\n case \"indentation\":\n indentationControlsGroup.push({ [FORMATTING_TYPES_DICT[\"indentation\"]]: '-1'});\n indentationControlsGroup.push({ [FORMATTING_TYPES_DICT[\"indentation\"]]: '+1'});\n break;\n case \"text direction\":\n otherFormattingControlsGroup.push({ [FORMATTING_TYPES_DICT[\"text direction\"]]: 'rtl' });\n break;\n case \"clear formatting\":\n otherFormattingControlsGroup.push(FORMATTING_TYPES_DICT[\"clear formatting\"]);\n break;\n }\n });\n \n const otherInputControls = inputTypes.length ? INPUT_TYPES.filter(inp => inputTypes.includes(inp)) : undefined;\n \n return {\n toolbar: [\n textStyleControls,\n colorControls,\n scriptControls,\n fontControls,\n listControlsGroup,\n indentationControlsGroup,\n otherFormattingControlsGroup,\n otherInputControls,\n ].filter(i => i?.length)\n }\n }, [toolbar, customToolbar]);\n\n const key = useMemo(() => JSON.stringify(modules) + String(rest.preserveWhitespace), [rest.preserveWhitespace, modules]);\n\n if (!isClient) {\n return null;\n }\n\n return (\n <div className={containerClassName}>\n <ReactQuill \n key={key} \n modules={modules}\n {...rest}\n />\n </div>\n )\n}\n\nconst quillHelpers_ = {\n states: {\n value: {\n onChangeArgsToValue: ((content, _delta, _source, _editor) => {\n return content;\n }) as ReactQuillProps[\"onChange\"],\n }\n }\n}\n\nconst toolbarFields: Record<ToolbarOptionsType, PropType<any>> = {\n textStyle: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(TEXT_STYLE_DICT),\n defaultValue: Object.keys(TEXT_STYLE_DICT)\n },\n colors: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(COLOR_TYPE_DICT),\n defaultValue: Object.keys(COLOR_TYPE_DICT),\n },\n script: {\n displayName: \"Super/Sub Script\",\n type: \"boolean\",\n defaultValue: true,\n },\n fontFamily: {\n type: \"boolean\",\n defaultValue: true,\n },\n heading: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(HEADING_TYPES_DICT),\n defaultValue: Object.keys(HEADING_TYPES_DICT),\n },\n fontSizes: {\n type: \"choice\",\n multiSelect: true,\n options: FONT_SIZES,\n defaultValue: FONT_SIZES,\n },\n formatting: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(FORMATTING_TYPES_DICT),\n defaultValue: Object.keys(FORMATTING_TYPES_DICT),\n },\n inputTypes: {\n type: \"choice\",\n multiSelect: true,\n options:INPUT_TYPES,\n defaultValue:INPUT_TYPES,\n },\n} as const;\n\nconst importName = \"ReactQuill\";\n\nexport function registerQuill(loader?: Registerable) {\n registerComponentHelper(loader, Quill, {\n name: \"hostless-react-quill\",\n displayName: \"Rich Text Editor\",\n classNameProp: \"containerClassName\",\n defaultStyles: {\n width: \"stretch\"\n },\n props: {\n value: {\n type: \"string\",\n displayName: \"HTML Value\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Contents of the editor\",\n },\n toolbar: {\n type: \"object\",\n fields: {...toolbarFields}, \n defaultValue: Object.keys(toolbarFields)\n .reduce((acc: any, key) => {\n acc[key] = (toolbarFields[key as keyof typeof toolbarFields] as any).defaultValue;\n return acc;\n }, {}),\n description: \"Customize the toolbar to show/hide controls\",\n },\n customToolbar: {\n type: \"array\",\n advanced: true,\n description: \"Custom toolbar configuration for Quill editor. Overrides the existing toolbar.\"\n },\n placeholder: \"string\",\n preserveWhitespace: {\n type: \"boolean\",\n description: \"Prevents Quill from collapsing continuous whitespaces on paste\",\n advanced: true, \n defaultValue: true,\n },\n readOnly: {\n type: \"boolean\",\n description: \"Prevents user from changing the contents of the editor\",\n defaultValue: false,\n advanced: true,\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"content\",\n type: \"string\",\n },\n {\n name: \"delta\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\"\n },\n {\n name: \"editor\",\n type: \"object\"\n }\n ],\n },\n onChangeSelection: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"range\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\"\n },\n {\n name: \"editor\",\n type: \"object\"\n }\n ],\n },\n onFocus: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"range\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\"\n },\n {\n name: \"editor\",\n type: \"object\"\n }\n ],\n },\n onBlur: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"previousRange\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\"\n },\n {\n name: \"editor\",\n type: \"object\"\n }\n ],\n },\n onKeyPress: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n }\n ],\n },\n onKeyDown: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n }\n ],\n },\n onKeyUp: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n }\n ],\n },\n } as any,\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n // initVal: \"\",\n ...quillHelpers_.states.value,\n },\n },\n componentHelpers: {\n helpers: quillHelpers_,\n importName,\n importPath: \"@plasmicpkgs/react-quill\",\n },\n importName,\n importPath: \"@plasmicpkgs/react-quill\",\n });\n}"],"names":["registerComponentHelper","loader","component","meta","registerComponent","useIsClient","_React$useState","React","useState","loaded","setLoaded","useIsomorphicLayoutEffect","isBrowser","window","useLayoutEffect","useEffect","ReactQuill","require","TEXT_STYLE_DICT","HEADING_TYPES_DICT","FONT_SIZES","COLOR_TYPE_DICT","FORMATTING_TYPES_DICT","INPUT_TYPES","Quill","props","isClient","containerClassName","toolbar","customToolbar","rest","_objectWithoutPropertiesLoose","_excluded","modules","useMemo","textStyle","fontFamily","heading","fontSizes","colors","script","formatting","inputTypes","textStyleControls","Object","keys","filter","key","includes","map","colorControls","_ref","scriptControls","undefined","fontControls","font","length","header","size","fs","i","listControlsGroup","indentationControlsGroup","otherFormattingControlsGroup","f","push","_listControlsGroup$pu","_listControlsGroup$pu2","_otherFormattingContr","_indentationControlsG","_indentationControlsG2","_otherFormattingContr2","otherInputControls","inp","JSON","stringify","String","preserveWhitespace","className","quillHelpers_","states","value","onChangeArgsToValue","content","_delta","_source","_editor","toolbarFields","type","multiSelect","options","defaultValue","displayName","importName","registerQuill","name","classNameProp","defaultStyles","width","editOnly","uncontrolledProp","description","fields","_extends","reduce","acc","advanced","placeholder","readOnly","onChange","argTypes","onChangeSelection","onFocus","onBlur","onKeyPress","onKeyDown","onKeyUp","valueProp","onChangeProp","variableType","componentHelpers","helpers","importPath"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAuCgBA,uBAAuBA,CACrCC,MAAgC,EAChCC,SAAY,EACZC,IAA4C;EAE5C,IAAIF,MAAM,EAAE;IACVA,MAAM,CAACG,iBAAiB,CAACF,SAAS,EAAEC,IAAI,CAAC;GAC1C,MAAM;IACLC,iBAAiB,CAACF,SAAS,EAAEC,IAAI,CAAC;;AAEtC;;SC/CgBE,WAAWA;EACvB,IAAAC,eAAA,GAA4BC,KAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;IAA1CC,MAAM,GAAAH,eAAA;IAAEI,SAAS,GAAAJ,eAAA;EACxBK,yBAAyB,CAAC;IACtBD,SAAS,CAAC,IAAI,CAAC;GAClB,CAAC;EACF,OAAOD,MAAM;AACjB;AAEA,IAAMG,SAAS,GAAG,OAAOC,MAAM,KAAK,WAAW;AAC/C,AAAO,IAAMF,yBAAyB,GAAGC,SAAS,GAC5CL,KAAK,CAACO,eAAe,GACrBP,KAAK,CAACQ,SAAS;;;ACbrB,AAKA,IAAMC,UAAU,GACd,OAAOH,MAAM,KAAK,WAAW,gBAAGI,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;AAK/D,IAAMC,eAAe,GAAG;EACtB,MAAM,EAAE,MAAM;EACd,QAAQ,EAAE,QAAQ;EAClB,WAAW,EAAE,WAAW;EACxB,eAAe,EAAE;CAClB;AAED,IAAMC,kBAAkB,GAAG;EACzB,WAAW,EAAE,CAAC;EACd,WAAW,EAAE,CAAC;EACd,WAAW,EAAE,CAAC;EACd,WAAW,EAAE,CAAC;EACd,WAAW,EAAE,CAAC;EACd,WAAW,EAAE,CAAC;EACd,MAAM,EAAE;CACT;AAED,IAAMC,UAAU,GAAG,CACjB,OAAO,EACP,QAAQ,EACR,OAAO,EACP,MAAM,CACP;AAED,IAAMC,eAAe,GAAG;EACtB,YAAY,EAAE,OAAO;EACrB,iBAAiB,EAAE;CACpB;AAED,IAAMC,qBAAqB,GAAG;EAC5B,WAAW,EAAE,OAAO;EACpB,MAAM,EAAE,MAAM;EACd,aAAa,EAAE,QAAQ;EACvB,gBAAgB,EAAE,WAAW;EAC7B,kBAAkB,EAAE;CACrB;AAED,IAAMC,WAAW,GAAG,CAClB,MAAM,EAAC,YAAY,EAAC,OAAO,EAAC,OAAO,EAAC,YAAY,EAAC,SAAS,CAC3D;AAED,SAAgBC,KAAKA,CAACC,KAIrB;EACC,IAAMC,QAAQ,GAAGrB,WAAW,EAAE;EAE9B,IAAOsB,kBAAkB,GAAqCF,KAAK,CAA5DE,kBAAkB;IAAEC,OAAO,GAA4BH,KAAK,CAAxCG,OAAO;IAAEC,aAAa,GAAaJ,KAAK,CAA/BI,aAAa;IAAKC,IAAI,GAAAC,6BAAA,CAAIN,KAAK,EAAAO,SAAA;EAEnE,IAAMC,OAAO,GAAGC,OAAO,CAAC;IAEtB,IAAIL,aAAa,EAAE;MACjB,OAAO;QACLD,OAAO,EAAEC;OACV;;IAGH,IACEM,SAAS,GAQPP,OAAO,CARTO,SAAS;MACTC,UAAU,GAORR,OAAO,CAPTQ,UAAU;MACVC,OAAO,GAMLT,OAAO,CANTS,OAAO;MACPC,SAAS,GAKPV,OAAO,CALTU,SAAS;MACTC,MAAM,GAIJX,OAAO,CAJTW,MAAM;MACNC,MAAM,GAGJZ,OAAO,CAHTY,MAAM;MACNC,UAAU,GAERb,OAAO,CAFTa,UAAU;MACVC,UAAU,GACRd,OAAO,CADTc,UAAU;IAGZ,IAAMC,iBAAiB,GAAGC,MAAM,CAACC,IAAI,CAAC3B,eAAe,CAAC,CACnD4B,MAAM,CAAC,UAAAC,GAAG;MAAA,OAAIZ,SAAS,CAACa,QAAQ,CAACD,GAAG,CAAC;MAAC,CACtCE,GAAG,CAAC,UAACF,GAAG;MAAA,OAAK7B,eAAe,CAAC6B,GAAmC,CAAC;MAAC;IAErE,IAAMG,aAAa,GAAGN,MAAM,CAACC,IAAI,CAACxB,eAAe,CAAC,CAC/CyB,MAAM,CAAC,UAAAC,GAAG;MAAA,OAAIR,MAAM,CAACS,QAAQ,CAACD,GAAG,CAAC;MAAC,CACnCE,GAAG,CAAC,UAACF,GAAG;MAAA,IAAAI,IAAA;MAAA,OAAAA,IAAA,OAAAA,IAAA,CAAS9B,eAAe,CAAC0B,GAAmC,CAAC,IAAG,EAAE,EAAAI,IAAA;KAAG,CAAC;IAEjF,IAAMC,cAAc,GAAGZ,MAAM,GAC3B,CAAC;MAAE,QAAQ,EAAE;KAAQ,EAAE;MAAE,QAAQ,EAAE;KAAM,CAAC,GAAGa,SAAS;IAExD,IAAMC,YAAY,GAAG,CACnBlB,UAAU,GAAE;MAACmB,IAAI,EAAE;KAAG,GAAGF,SAAS,EAClChB,OAAO,CAACmB,MAAM,GACV;MACEC,MAAM,EAAEb,MAAM,CAACC,IAAI,CAAC1B,kBAAkB,CAAC,CACpC2B,MAAM,CAAC,UAAAC,GAAG;QAAA,OAAIV,OAAO,CAACW,QAAQ,CAACD,GAAG,CAAC;QAAC,CACpCE,GAAG,CAAC,UAACF,GAAG;QAAA,OAAK5B,kBAAkB,CAAC4B,GAAsC,CAAC;;KAAE,GAC9EM,SAAS,EACbf,SAAS,CAACkB,MAAM,GACZ;MAACE,IAAI,EAAEtC,UAAU,CAAC0B,MAAM,CAAC,UAAAa,EAAE;QAAA,OAAIrB,SAAS,CAACU,QAAQ,CAACW,EAAE,CAAC;;KAAE,GACvDN,SAAS,CACd,CAACP,MAAM,CAAC,UAAAc,CAAC;MAAA,OAAIA,CAAC;MAAC;IAEhB,IAAMC,iBAAiB,GAAU,EAAE;IACnC,IAAMC,wBAAwB,GAAU,EAAE;IAC1C,IAAMC,4BAA4B,GAAU,EAAE;IAE9CtB,UAAU,YAAVA,UAAU,CAAEQ,GAAG,CAAC,UAACe,CAAqC;;MACpD,QAAOA,CAAC;QACN,KAAK,MAAM;UACTH,iBAAiB,CAACI,IAAI,EAAAC,qBAAA,OAAAA,qBAAA,CAAK5C,qBAAqB,CAAC,MAAM,CAAC,IAAG,SAAS,EAAA4C,qBAAA,EAAE;UACtEL,iBAAiB,CAACI,IAAI,EAAAE,sBAAA,OAAAA,sBAAA,CAAK7C,qBAAqB,CAAC,MAAM,CAAC,IAAG,QAAQ,EAAA6C,sBAAA,EAAG;UACtE;QACF,KAAK,WAAW;UACdJ,4BAA4B,CAACE,IAAI,EAAAG,qBAAA,OAAAA,qBAAA,CAAI9C,qBAAqB,CAAC,WAAW,CAAC,IAAG,EAAE,EAAA8C,qBAAA,EAAE;UAC9E;QACA,KAAK,aAAa;UAChBN,wBAAwB,CAACG,IAAI,EAAAI,qBAAA,OAAAA,qBAAA,CAAI/C,qBAAqB,CAAC,aAAa,CAAC,IAAG,IAAI,EAAA+C,qBAAA,EAAE;UAC9EP,wBAAwB,CAACG,IAAI,EAAAK,sBAAA,OAAAA,sBAAA,CAAIhD,qBAAqB,CAAC,aAAa,CAAC,IAAG,IAAI,EAAAgD,sBAAA,EAAE;UAChF;QACF,KAAK,gBAAgB;UACnBP,4BAA4B,CAACE,IAAI,EAAAM,sBAAA,OAAAA,sBAAA,CAAIjD,qBAAqB,CAAC,gBAAgB,CAAC,IAAG,KAAK,EAAAiD,sBAAA,EAAG;UACvF;QACF,KAAK,kBAAkB;UACrBR,4BAA4B,CAACE,IAAI,CAAC3C,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;UAC5E;;KAEL,CAAC;IAEF,IAAMkD,kBAAkB,GAAG9B,UAAU,CAACc,MAAM,GAAGjC,WAAW,CAACuB,MAAM,CAAC,UAAA2B,GAAG;MAAA,OAAI/B,UAAU,CAACM,QAAQ,CAACyB,GAAG,CAAC;MAAC,GAAGpB,SAAS;IAE9G,OAAO;MACLzB,OAAO,EAAE,CACPe,iBAAiB,EACjBO,aAAa,EACbE,cAAc,EACdE,YAAY,EACZO,iBAAiB,EACjBC,wBAAwB,EACxBC,4BAA4B,EAC5BS,kBAAkB,CACnB,CAAC1B,MAAM,CAAC,UAAAc,CAAC;QAAA,OAAIA,CAAC,oBAADA,CAAC,CAAEJ,MAAM;;KACxB;GACF,EAAE,CAAC5B,OAAO,EAAEC,aAAa,CAAC,CAAC;EAE5B,IAAMkB,GAAG,GAAGb,OAAO,CAAC;IAAA,OAAMwC,IAAI,CAACC,SAAS,CAAC1C,OAAO,CAAC,GAAG2C,MAAM,CAAC9C,IAAI,CAAC+C,kBAAkB,CAAC;KAAE,CAAC/C,IAAI,CAAC+C,kBAAkB,EAAE5C,OAAO,CAAC,CAAC;EAExH,IAAI,CAACP,QAAQ,EAAE;IACb,OAAO,IAAI;;EAGb,OACEnB;IAAKuE,SAAS,EAAEnD;KACdpB,oBAACS,UAAU;IACT+B,GAAG,EAAEA,GAAG;IACRd,OAAO,EAAEA;KACLH,IAAI,EACR,CACE;AAEV;AAEA,IAAMiD,aAAa,GAAG;EACpBC,MAAM,EAAE;IACNC,KAAK,EAAE;MACLC,mBAAmB,EAAG,SAAAA,oBAACC,OAAO,EAAEC,MAAM,EAAEC,OAAO,EAAEC,OAAO;QACtD,OAAOH,OAAO;;;;CAIrB;AAED,IAAMI,aAAa,GAA8C;EAC/DpD,SAAS,EAAE;IACTqD,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,IAAI;IACjBC,OAAO,eAAE9C,MAAM,CAACC,IAAI,CAAC3B,eAAe,CAAC;IACrCyE,YAAY,eAAE/C,MAAM,CAACC,IAAI,CAAC3B,eAAe;GAC1C;EACDqB,MAAM,EAAE;IACNiD,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,IAAI;IACjBC,OAAO,eAAE9C,MAAM,CAACC,IAAI,CAACxB,eAAe,CAAC;IACrCsE,YAAY,eAAE/C,MAAM,CAACC,IAAI,CAACxB,eAAe;GAC1C;EACDmB,MAAM,EAAE;IACNoD,WAAW,EAAE,kBAAkB;IAC/BJ,IAAI,EAAE,SAAS;IACfG,YAAY,EAAE;GACf;EACDvD,UAAU,EAAE;IACVoD,IAAI,EAAE,SAAS;IACfG,YAAY,EAAE;GACf;EACDtD,OAAO,EAAE;IACPmD,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,IAAI;IACjBC,OAAO,eAAE9C,MAAM,CAACC,IAAI,CAAC1B,kBAAkB,CAAC;IACxCwE,YAAY,eAAE/C,MAAM,CAACC,IAAI,CAAC1B,kBAAkB;GAC7C;EACDmB,SAAS,EAAE;IACTkD,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,IAAI;IACjBC,OAAO,EAAEtE,UAAU;IACnBuE,YAAY,EAAEvE;GACf;EACDqB,UAAU,EAAE;IACV+C,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,IAAI;IACjBC,OAAO,eAAE9C,MAAM,CAACC,IAAI,CAACvB,qBAAqB,CAAC;IAC3CqE,YAAY,eAAE/C,MAAM,CAACC,IAAI,CAACvB,qBAAqB;GAChD;EACDoB,UAAU,EAAE;IACV8C,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,IAAI;IACjBC,OAAO,EAACnE,WAAW;IACnBoE,YAAY,EAACpE;;CAEP;AAEV,IAAMsE,UAAU,GAAG,YAAY;AAE/B,SAAgBC,aAAaA,CAAC7F,MAAqB;EACjDD,uBAAuB,CAACC,MAAM,EAAEuB,KAAK,EAAE;IACrCuE,IAAI,EAAE,sBAAsB;IAC5BH,WAAW,EAAE,kBAAkB;IAC/BI,aAAa,EAAE,oBAAoB;IACnCC,aAAa,EAAE;MACbC,KAAK,EAAE;KACR;IACDzE,KAAK,EAAE;MACLwD,KAAK,EAAE;QACLO,IAAI,EAAE,QAAQ;QACdI,WAAW,EAAE,YAAY;QACzBO,QAAQ,EAAE,IAAI;QACdC,gBAAgB,EAAE,cAAc;QAChCC,WAAW,EAAE;OACd;MACDzE,OAAO,EAAE;QACP4D,IAAI,EAAE,QAAQ;QACdc,MAAM,EAAAC,QAAA,KAAMhB,aAAa,CAAC;QAC1BI,YAAY,EAAE/C,MAAM,CAACC,IAAI,CAAC0C,aAAa,CAAC,CACrCiB,MAAM,CAAC,UAACC,GAAQ,EAAE1D,GAAG;UACpB0D,GAAG,CAAC1D,GAAG,CAAC,GAAIwC,aAAa,CAACxC,GAAiC,CAAS,CAAC4C,YAAY;UACjF,OAAOc,GAAG;SACX,EAAE,EAAE,CAAC;QACRJ,WAAW,EAAE;OACd;MACDxE,aAAa,EAAE;QACb2D,IAAI,EAAE,OAAO;QACbkB,QAAQ,EAAE,IAAI;QACdL,WAAW,EAAE;OACd;MACDM,WAAW,EAAE,QAAQ;MACrB9B,kBAAkB,EAAE;QAClBW,IAAI,EAAE,SAAS;QACfa,WAAW,EAAE,gEAAgE;QAC7EK,QAAQ,EAAE,IAAI;QACdf,YAAY,EAAE;OACf;MACDiB,QAAQ,EAAE;QACRpB,IAAI,EAAE,SAAS;QACfa,WAAW,EAAE,wDAAwD;QACrEV,YAAY,EAAE,KAAK;QACnBe,QAAQ,EAAE;OACX;MACDG,QAAQ,EAAE;QACRrB,IAAI,EAAE,cAAc;QACpBkB,QAAQ,EAAE,IAAI;QACdI,QAAQ,EAAE,CACR;UACEf,IAAI,EAAE,SAAS;UACfP,IAAI,EAAE;SACP,EACD;UACEO,IAAI,EAAE,OAAO;UACbP,IAAI,EAAE;SACP,EACD;UACEO,IAAI,EAAE,QAAQ;UACdP,IAAI,EAAE;SACP,EACD;UACEO,IAAI,EAAE,QAAQ;UACdP,IAAI,EAAE;SACP;OAEJ;MACDuB,iBAAiB,EAAE;QACjBvB,IAAI,EAAE,cAAc;QACpBkB,QAAQ,EAAE,IAAI;QACdI,QAAQ,EAAE,CACR;UACEf,IAAI,EAAE,OAAO;UACbP,IAAI,EAAE;SACP,EACD;UACEO,IAAI,EAAE,QAAQ;UACdP,IAAI,EAAE;SACP,EACD;UACEO,IAAI,EAAE,QAAQ;UACdP,IAAI,EAAE;SACP;OAEJ;MACDwB,OAAO,EAAE;QACPxB,IAAI,EAAE,cAAc;QACpBkB,QAAQ,EAAE,IAAI;QACdI,QAAQ,EAAE,CACR;UACEf,IAAI,EAAE,OAAO;UACbP,IAAI,EAAE;SACP,EACD;UACEO,IAAI,EAAE,QAAQ;UACdP,IAAI,EAAE;SACP,EACD;UACEO,IAAI,EAAE,QAAQ;UACdP,IAAI,EAAE;SACP;OAEJ;MACDyB,MAAM,EAAE;QACNzB,IAAI,EAAE,cAAc;QACpBkB,QAAQ,EAAE,IAAI;QACdI,QAAQ,EAAE,CACR;UACEf,IAAI,EAAE,eAAe;UACrBP,IAAI,EAAE;SACP,EACD;UACEO,IAAI,EAAE,QAAQ;UACdP,IAAI,EAAE;SACP,EACD;UACEO,IAAI,EAAE,QAAQ;UACdP,IAAI,EAAE;SACP;OAEJ;MACD0B,UAAU,EAAE;QACV1B,IAAI,EAAE,cAAc;QACpBkB,QAAQ,EAAE,IAAI;QACdI,QAAQ,EAAE,CACR;UACEf,IAAI,EAAE,OAAO;UACbP,IAAI,EAAE;SACP;OAEJ;MACD2B,SAAS,EAAE;QACT3B,IAAI,EAAE,cAAc;QACpBkB,QAAQ,EAAE,IAAI;QACdI,QAAQ,EAAE,CACR;UACEf,IAAI,EAAE,OAAO;UACbP,IAAI,EAAE;SACP;OAEJ;MACD4B,OAAO,EAAE;QACP5B,IAAI,EAAE,cAAc;QACpBkB,QAAQ,EAAE,IAAI;QACdI,QAAQ,EAAE,CACR;UACEf,IAAI,EAAE,OAAO;UACbP,IAAI,EAAE;SACP;;KAGC;IACRR,MAAM,EAAE;MACJC,KAAK,EAAAsB,QAAA;QACHf,IAAI,EAAE,UAAU;QAChB6B,SAAS,EAAE,OAAO;QAClBC,YAAY,EAAE,UAAU;QACxBC,YAAY,EAAE;SAEXxC,aAAa,CAACC,MAAM,CAACC,KAAK;KAElC;IACDuC,gBAAgB,EAAE;MAChBC,OAAO,EAAE1C,aAAa;MACtBc,UAAU,EAAVA,UAAU;MACV6B,UAAU,EAAE;KACb;IACD7B,UAAU,EAAVA,UAAU;IACV6B,UAAU,EAAE;GACb,CAAC;AACJ;;;;"}
|
|
1
|
+
{"version":3,"file":"react-quill.esm.js","sources":["../src/utils.ts","../src/useIsClient.ts","../src/index.tsx"],"sourcesContent":["import {\n ComponentMeta,\n default as registerComponent,\n} from \"@plasmicapp/host/registerComponent\";\nimport {\n default as registerGlobalContext,\n GlobalContextMeta,\n} from \"@plasmicapp/host/registerGlobalContext\";\nimport { default as registerToken } from \"@plasmicapp/host/registerToken\";\nimport React from \"react\";\n\nexport type Registerable = {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n registerToken: typeof registerToken;\n};\n\nexport function makeRegisterComponent<T extends React.ComponentType<any>>(\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n registerComponentHelper(loader, component, meta);\n };\n}\n\nexport function makeRegisterGlobalContext<T extends React.ComponentType<any>>(\n component: T,\n meta: GlobalContextMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n if (loader) {\n loader.registerGlobalContext(component, meta);\n } else {\n registerGlobalContext(component, meta);\n }\n };\n}\n\nexport function registerComponentHelper<T extends React.ComponentType<any>>(\n loader: Registerable | undefined,\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n if (loader) {\n loader.registerComponent(component, meta);\n } else {\n registerComponent(component, meta);\n }\n}\n\ntype ReactElt = {\n children: ReactElt | ReactElt[];\n props: {\n children: ReactElt | ReactElt[];\n [prop: string]: any;\n } | null;\n type: React.ComponentType<any> | null;\n key: string | null;\n} | null;\n\nexport function traverseReactEltTree(\n children: React.ReactNode,\n callback: (elt: ReactElt) => void\n) {\n const rec = (elts: ReactElt | ReactElt[] | null) => {\n (Array.isArray(elts) ? elts : [elts]).forEach((elt) => {\n if (elt) {\n callback(elt);\n if (elt.children) {\n rec(elt.children);\n }\n if (elt.props?.children && elt.props.children !== elt.children) {\n rec(elt.props.children);\n }\n }\n });\n };\n rec(children as any);\n}\n\nexport function asArray<T>(x: T[] | T | undefined | null) {\n if (Array.isArray(x)) {\n return x;\n } else if (x == null) {\n return [];\n } else {\n return [x];\n }\n}\n","import React from \"react\";\n\nexport function useIsClient() {\n const [loaded, setLoaded] = React.useState(false);\n useIsomorphicLayoutEffect(() => {\n setLoaded(true);\n });\n return loaded;\n}\n\nconst isBrowser = typeof window !== \"undefined\";\nexport const useIsomorphicLayoutEffect = isBrowser\n ? React.useLayoutEffect\n : React.useEffect;","import React, { useMemo } from \"react\";\nimport { ReactQuillProps } from \"react-quill\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\nimport { PropType } from \"@plasmicapp/host\";\nimport { useIsClient } from \"./useIsClient\";\nconst ReactQuill =\n typeof window !== \"undefined\" ? require(\"react-quill\") : null;\n\ntype ToolbarOptionsType =\n | \"textStyle\"\n | \"script\"\n | \"fontFamily\"\n | \"heading\"\n | \"fontSizes\"\n | \"colors\"\n | \"formatting\"\n | \"inputTypes\";\n\nconst TEXT_STYLE_DICT = {\n bold: \"bold\",\n italic: \"italic\",\n underline: \"underline\",\n strikethrough: \"strike\",\n};\n\nconst HEADING_TYPES_DICT = {\n \"Heading 1\": 1,\n \"Heading 2\": 2,\n \"Heading 3\": 3,\n \"Heading 4\": 4,\n \"Heading 5\": 5,\n \"Heading 6\": 6,\n Body: \"normal\",\n};\n\nconst FONT_SIZES = [\"small\", \"medium\", \"large\", \"huge\"];\n\nconst COLOR_TYPE_DICT = {\n \"text color\": \"color\",\n \"text background\": \"background\",\n};\n\nconst FORMATTING_TYPES_DICT = {\n alignment: \"align\",\n list: \"list\",\n indentation: \"indent\",\n \"text direction\": \"direction\",\n \"clear formatting\": \"clean\",\n};\n\nconst INPUT_TYPES = [\n \"link\",\n \"blockquote\",\n \"image\",\n \"video\",\n \"code-block\",\n \"formula\",\n];\n\nexport function Quill(\n props: ReactQuillProps & {\n containerClassName: string;\n customToolbar: any[];\n toolbar: Record<ToolbarOptionsType, any>;\n }\n) {\n const isClient = useIsClient();\n\n const { containerClassName, toolbar, customToolbar, ...rest } = props;\n\n const modules = useMemo(() => {\n if (customToolbar) {\n return {\n toolbar: customToolbar,\n };\n }\n\n const {\n textStyle,\n fontFamily,\n heading,\n fontSizes,\n colors,\n script,\n formatting,\n inputTypes,\n } = toolbar;\n\n const textStyleControls = Object.keys(TEXT_STYLE_DICT)\n .filter((key) => textStyle.includes(key))\n .map((key) => TEXT_STYLE_DICT[key as keyof typeof TEXT_STYLE_DICT]);\n\n const colorControls = Object.keys(COLOR_TYPE_DICT)\n .filter((key) => colors.includes(key))\n .map((key) => ({\n [COLOR_TYPE_DICT[key as keyof typeof COLOR_TYPE_DICT]]: [],\n }));\n\n const scriptControls = script\n ? [{ script: \"super\" }, { script: \"sub\" }]\n : undefined;\n\n const fontControls = [\n fontFamily ? { font: [] } : undefined,\n heading.length\n ? {\n header: Object.keys(HEADING_TYPES_DICT)\n .filter((key) => heading.includes(key))\n .map(\n (key) =>\n HEADING_TYPES_DICT[key as keyof typeof HEADING_TYPES_DICT]\n ),\n }\n : undefined,\n fontSizes.length\n ? { size: FONT_SIZES.filter((fs) => fontSizes.includes(fs)) }\n : undefined,\n ].filter((i) => i);\n\n const listControlsGroup: any[] = [];\n const indentationControlsGroup: any[] = [];\n const otherFormattingControlsGroup: any[] = [];\n\n formatting?.map((f: keyof typeof FORMATTING_TYPES_DICT) => {\n switch (f) {\n case \"list\":\n listControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"list\"]]: \"ordered\",\n });\n listControlsGroup.push({ [FORMATTING_TYPES_DICT[\"list\"]]: \"bullet\" });\n break;\n case \"alignment\":\n otherFormattingControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"alignment\"]]: [],\n });\n break;\n case \"indentation\":\n indentationControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"indentation\"]]: \"-1\",\n });\n indentationControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"indentation\"]]: \"+1\",\n });\n break;\n case \"text direction\":\n otherFormattingControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"text direction\"]]: \"rtl\",\n });\n break;\n case \"clear formatting\":\n otherFormattingControlsGroup.push(\n FORMATTING_TYPES_DICT[\"clear formatting\"]\n );\n break;\n }\n });\n\n const otherInputControls = inputTypes.length\n ? INPUT_TYPES.filter((inp) => inputTypes.includes(inp))\n : undefined;\n\n return {\n toolbar: [\n textStyleControls,\n colorControls,\n scriptControls,\n fontControls,\n listControlsGroup,\n indentationControlsGroup,\n otherFormattingControlsGroup,\n otherInputControls,\n ].filter((i) => i?.length),\n };\n }, [toolbar, customToolbar]);\n\n const key = useMemo(\n () => JSON.stringify(modules) + String(rest.preserveWhitespace),\n [rest.preserveWhitespace, modules]\n );\n\n if (!isClient) {\n return null;\n }\n\n return (\n <div className={containerClassName}>\n <ReactQuill key={key} modules={modules} {...rest} />\n </div>\n );\n}\n\nexport const quillHelpers = {\n states: {\n value: {\n onChangeArgsToValue: ((content, _delta, _source, _editor) => {\n return content;\n }) as ReactQuillProps[\"onChange\"],\n },\n },\n};\n\nconst toolbarFields: Record<ToolbarOptionsType, PropType<any>> = {\n textStyle: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(TEXT_STYLE_DICT),\n defaultValue: Object.keys(TEXT_STYLE_DICT),\n },\n colors: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(COLOR_TYPE_DICT),\n defaultValue: Object.keys(COLOR_TYPE_DICT),\n },\n script: {\n displayName: \"Super/Sub Script\",\n type: \"boolean\",\n defaultValue: true,\n },\n fontFamily: {\n type: \"boolean\",\n defaultValue: true,\n },\n heading: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(HEADING_TYPES_DICT),\n defaultValue: Object.keys(HEADING_TYPES_DICT),\n },\n fontSizes: {\n type: \"choice\",\n multiSelect: true,\n options: FONT_SIZES,\n defaultValue: FONT_SIZES,\n },\n formatting: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(FORMATTING_TYPES_DICT),\n defaultValue: Object.keys(FORMATTING_TYPES_DICT),\n },\n inputTypes: {\n type: \"choice\",\n multiSelect: true,\n options: INPUT_TYPES,\n defaultValue: INPUT_TYPES,\n },\n} as const;\n\nexport function registerQuill(loader?: Registerable) {\n registerComponentHelper(loader, ReactQuill, {\n name: \"hostless-react-quill\",\n displayName: \"Rich Text Editor\",\n classNameProp: \"containerClassName\",\n defaultStyles: {\n width: \"stretch\",\n },\n props: {\n value: {\n type: \"string\",\n displayName: \"HTML Value\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Contents of the editor\",\n },\n toolbar: {\n type: \"object\",\n fields: { ...toolbarFields },\n defaultValue: Object.keys(toolbarFields).reduce((acc: any, key) => {\n acc[key] = (\n toolbarFields[key as keyof typeof toolbarFields] as any\n ).defaultValue;\n return acc;\n }, {}),\n description: \"Customize the toolbar to show/hide controls\",\n },\n customToolbar: {\n type: \"array\",\n advanced: true,\n description:\n \"Custom toolbar configuration for Quill editor. Overrides the existing toolbar.\",\n },\n placeholder: \"string\",\n preserveWhitespace: {\n type: \"boolean\",\n description:\n \"Prevents Quill from collapsing continuous whitespaces on paste\",\n advanced: true,\n defaultValue: true,\n },\n readOnly: {\n type: \"boolean\",\n description: \"Prevents user from changing the contents of the editor\",\n defaultValue: false,\n advanced: true,\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"content\",\n type: \"string\",\n },\n {\n name: \"delta\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onChangeSelection: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"range\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onFocus: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"range\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onBlur: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"previousRange\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onKeyPress: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n onKeyDown: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n onKeyUp: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n } as any,\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n // initVal: \"\",\n ...quillHelpers.states.value,\n },\n },\n componentHelpers: {\n helpers: quillHelpers,\n importName: \"quillHelpers\",\n importPath: \"@plasmicpkgs/react-quill\",\n },\n importName: \"Quill\",\n importPath: \"@plasmicpkgs/react-quill\",\n });\n}\n"],"names":["registerComponentHelper","loader","component","meta","registerComponent","useIsClient","_React$useState","React","useState","loaded","setLoaded","useIsomorphicLayoutEffect","isBrowser","window","useLayoutEffect","useEffect","ReactQuill","require","TEXT_STYLE_DICT","bold","italic","underline","strikethrough","HEADING_TYPES_DICT","Body","FONT_SIZES","COLOR_TYPE_DICT","FORMATTING_TYPES_DICT","alignment","list","indentation","INPUT_TYPES","Quill","props","isClient","containerClassName","toolbar","customToolbar","rest","_objectWithoutPropertiesLoose","_excluded","modules","useMemo","textStyle","fontFamily","heading","fontSizes","colors","script","formatting","inputTypes","textStyleControls","Object","keys","filter","key","includes","map","colorControls","_ref","scriptControls","undefined","fontControls","font","length","header","size","fs","i","listControlsGroup","indentationControlsGroup","otherFormattingControlsGroup","f","push","_listControlsGroup$pu","_listControlsGroup$pu2","_otherFormattingContr","_indentationControlsG","_indentationControlsG2","_otherFormattingContr2","otherInputControls","inp","JSON","stringify","String","preserveWhitespace","className","quillHelpers","states","value","onChangeArgsToValue","content","_delta","_source","_editor","toolbarFields","type","multiSelect","options","defaultValue","displayName","registerQuill","name","classNameProp","defaultStyles","width","editOnly","uncontrolledProp","description","fields","_extends","reduce","acc","advanced","placeholder","readOnly","onChange","argTypes","onChangeSelection","onFocus","onBlur","onKeyPress","onKeyDown","onKeyUp","valueProp","onChangeProp","variableType","componentHelpers","helpers","importName","importPath"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plasmicpkgs/react-quill",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"description": "Plasmic registration call for react-quill WYSIWYG Editor",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -48,5 +48,5 @@
|
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"react-quill": "^2.0.0"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "6d0343b0cd44eca520aa2af24508bd28f2118b38"
|
|
52
52
|
}
|