@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 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
- "bold": "bold",
63
- "italic": "italic",
64
- "underline": "underline",
65
- "strikethrough": "strike"
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
- "Body": "normal"
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
- "alignment": "align",
83
- "list": "list",
84
- "indentation": "indent",
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
- 'script': 'super'
121
+ script: "super"
122
122
  }, {
123
- 'script': 'sub'
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"]] = 'ordered', _listControlsGroup$pu));
148
- listControlsGroup.push((_listControlsGroup$pu2 = {}, _listControlsGroup$pu2[FORMATTING_TYPES_DICT["list"]] = 'bullet', _listControlsGroup$pu2));
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"]] = '-1', _indentationControlsG));
155
- indentationControlsGroup.push((_indentationControlsG2 = {}, _indentationControlsG2[FORMATTING_TYPES_DICT["indentation"]] = '+1', _indentationControlsG2));
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"]] = 'rtl', _otherFormattingContr2));
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 quillHelpers_ = {
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, Quill, {
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
- }, quillHelpers_.states.value)
376
+ }, quillHelpers.states.value)
378
377
  },
379
378
  componentHelpers: {
380
- helpers: quillHelpers_,
381
- importName: importName,
379
+ helpers: quillHelpers,
380
+ importName: "quillHelpers",
382
381
  importPath: "@plasmicpkgs/react-quill"
383
382
  },
384
- importName: 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"];function f(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}var m={states:{value:{onChangeArgsToValue:function(e,t,n,a){return e}}}},g={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=f,exports.registerQuill=function(e){!function(e,t,n){e?e.registerComponent(t,n):a(t,n)}(e,f,{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({},g),defaultValue:Object.keys(g).reduce((function(e,t){return e[t]=g[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"},m.states.value)},componentHelpers:{helpers:m,importName:"ReactQuill",importPath:"@plasmicpkgs/react-quill"},importName:"ReactQuill",importPath:"@plasmicpkgs/react-quill"})};
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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"}
@@ -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
- "bold": "bold",
56
- "italic": "italic",
57
- "underline": "underline",
58
- "strikethrough": "strike"
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
- "Body": "normal"
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
- "alignment": "align",
76
- "list": "list",
77
- "indentation": "indent",
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
- 'script': 'super'
114
+ script: "super"
115
115
  }, {
116
- 'script': 'sub'
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"]] = 'ordered', _listControlsGroup$pu));
141
- listControlsGroup.push((_listControlsGroup$pu2 = {}, _listControlsGroup$pu2[FORMATTING_TYPES_DICT["list"]] = 'bullet', _listControlsGroup$pu2));
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"]] = '-1', _indentationControlsG));
148
- indentationControlsGroup.push((_indentationControlsG2 = {}, _indentationControlsG2[FORMATTING_TYPES_DICT["indentation"]] = '+1', _indentationControlsG2));
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"]] = 'rtl', _otherFormattingContr2));
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 quillHelpers_ = {
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, Quill, {
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
- }, quillHelpers_.states.value)
369
+ }, quillHelpers.states.value)
371
370
  },
372
371
  componentHelpers: {
373
- helpers: quillHelpers_,
374
- importName: importName,
372
+ helpers: quillHelpers,
373
+ importName: "quillHelpers",
375
374
  importPath: "@plasmicpkgs/react-quill"
376
375
  },
377
- importName: 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":"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"}
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.6",
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": "07863c702fe90fad546df84838265ab7348f2470"
51
+ "gitHead": "6d0343b0cd44eca520aa2af24508bd28f2118b38"
52
52
  }