@plasmicpkgs/react-quill 1.0.70 → 1.0.72

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.
@@ -10,30 +10,22 @@ var registerComponent = _interopDefault(require('@plasmicapp/host/registerCompon
10
10
  require('@plasmicapp/host/registerGlobalContext');
11
11
 
12
12
  function _extends() {
13
- _extends = Object.assign ? Object.assign.bind() : function (target) {
14
- for (var i = 1; i < arguments.length; i++) {
15
- var source = arguments[i];
16
- for (var key in source) {
17
- if (Object.prototype.hasOwnProperty.call(source, key)) {
18
- target[key] = source[key];
19
- }
20
- }
13
+ return _extends = Object.assign ? Object.assign.bind() : function (n) {
14
+ for (var e = 1; e < arguments.length; e++) {
15
+ var t = arguments[e];
16
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
21
17
  }
22
- return target;
23
- };
24
- return _extends.apply(this, arguments);
18
+ return n;
19
+ }, _extends.apply(null, arguments);
25
20
  }
26
- function _objectWithoutPropertiesLoose(source, excluded) {
27
- if (source == null) return {};
28
- var target = {};
29
- var sourceKeys = Object.keys(source);
30
- var key, i;
31
- for (i = 0; i < sourceKeys.length; i++) {
32
- key = sourceKeys[i];
33
- if (excluded.indexOf(key) >= 0) continue;
34
- target[key] = source[key];
21
+ function _objectWithoutPropertiesLoose(r, e) {
22
+ if (null == r) return {};
23
+ var t = {};
24
+ for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
25
+ if (-1 !== e.indexOf(n)) continue;
26
+ t[n] = r[n];
35
27
  }
36
- return target;
28
+ return t;
37
29
  }
38
30
 
39
31
  function registerComponentHelper(loader, component, meta) {
@@ -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\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, 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).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 helpText:\n \"Check toolbarOptions here: https://quilljs.com/docs/modules/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","helpText","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.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, 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).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 helpText:\n \"Check toolbarOptions here: https://quilljs.com/docs/modules/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","helpText","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 o(){return(o=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 r="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,o,f,m=(o=(a=n.useState(!1))[0],f=a[1],r((function(){f(!0)})),o),g=e.containerClassName,b=e.toolbar,h=e.customToolbar,v=function(e,t){if(null==e)return{};var n,a,o={},r=Object.keys(e);for(a=0;a<r.length;a++)t.indexOf(n=r[a])>=0||(o[n]=e[n]);return o}(e,i),j=t.useMemo((function(){if(h)return{toolbar:h};var e=b.textStyle,t=b.fontFamily,n=b.heading,a=b.fontSizes,o=b.colors,r=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 o.includes(e)})).map((function(e){var t;return(t={})[p[e]]=[],t})),g=r?[{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,o,r,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(((o={})[d.indentation]="-1",o)),k.push(((r={})[d.indentation]="+1",r));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.quillHelpers=m,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:o({},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.",helpText:"Check toolbarOptions here: https://quilljs.com/docs/modules/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:o({type:"writable",valueProp:"value",onChangeProp:"onChange",variableType:"text"},m.states.value)},componentHelpers:{helpers:m,importName:"quillHelpers",importPath:"@plasmicpkgs/react-quill"},importName:"Quill",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)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(null,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={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(-1!==t.indexOf(a))continue;n[a]=e[a]}return n}(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.quillHelpers=m,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.",helpText:"Check toolbarOptions here: https://quilljs.com/docs/modules/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:"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\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, 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).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 helpText:\n \"Check toolbarOptions here: https://quilljs.com/docs/modules/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","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","helpText","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, 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).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 helpText:\n \"Check toolbarOptions here: https://quilljs.com/docs/modules/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","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","helpText","placeholder","readOnly","onChange","argTypes","onChangeSelection","onFocus","onBlur","onKeyPress","onKeyDown","onKeyUp","valueProp","onChangeProp","variableType","componentHelpers","helpers","importName","importPath"],"mappings":"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"}
@@ -3,30 +3,22 @@ import registerComponent from '@plasmicapp/host/registerComponent';
3
3
  import '@plasmicapp/host/registerGlobalContext';
4
4
 
5
5
  function _extends() {
6
- _extends = Object.assign ? Object.assign.bind() : function (target) {
7
- for (var i = 1; i < arguments.length; i++) {
8
- var source = arguments[i];
9
- for (var key in source) {
10
- if (Object.prototype.hasOwnProperty.call(source, key)) {
11
- target[key] = source[key];
12
- }
13
- }
6
+ return _extends = Object.assign ? Object.assign.bind() : function (n) {
7
+ for (var e = 1; e < arguments.length; e++) {
8
+ var t = arguments[e];
9
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
14
10
  }
15
- return target;
16
- };
17
- return _extends.apply(this, arguments);
11
+ return n;
12
+ }, _extends.apply(null, arguments);
18
13
  }
19
- function _objectWithoutPropertiesLoose(source, excluded) {
20
- if (source == null) return {};
21
- var target = {};
22
- var sourceKeys = Object.keys(source);
23
- var key, i;
24
- for (i = 0; i < sourceKeys.length; i++) {
25
- key = sourceKeys[i];
26
- if (excluded.indexOf(key) >= 0) continue;
27
- target[key] = source[key];
14
+ function _objectWithoutPropertiesLoose(r, e) {
15
+ if (null == r) return {};
16
+ var t = {};
17
+ for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
18
+ if (-1 !== e.indexOf(n)) continue;
19
+ t[n] = r[n];
28
20
  }
29
- return target;
21
+ return t;
30
22
  }
31
23
 
32
24
  function registerComponentHelper(loader, component, meta) {
@@ -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\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, 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).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 helpText:\n \"Check toolbarOptions here: https://quilljs.com/docs/modules/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","helpText","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.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, 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).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 helpText:\n \"Check toolbarOptions here: https://quilljs.com/docs/modules/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","helpText","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.70",
3
+ "version": "1.0.72",
4
4
  "description": "Plasmic registration call for react-quill WYSIWYG Editor",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -28,7 +28,7 @@
28
28
  "analyze": "size-limit --why"
29
29
  },
30
30
  "devDependencies": {
31
- "@plasmicapp/data-sources": "0.1.171",
31
+ "@plasmicapp/data-sources": "0.1.173",
32
32
  "@plasmicapp/host": "1.0.211",
33
33
  "@size-limit/preset-small-lib": "^4.11.0",
34
34
  "@types/node": "^14.0.26",
@@ -49,5 +49,5 @@
49
49
  "dependencies": {
50
50
  "react-quill": "^2.0.0"
51
51
  },
52
- "gitHead": "93119895a0d403158e497a0abdccdcb24d670fb7"
52
+ "gitHead": "c482864587b4c85076159728edf351b79372050a"
53
53
  }