@plasmicpkgs/react-quill 1.0.10 → 1.0.12

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.
@@ -241,7 +241,7 @@ var toolbarFields = {
241
241
  }
242
242
  };
243
243
  function registerQuill(loader) {
244
- registerComponentHelper(loader, ReactQuill, {
244
+ registerComponentHelper(loader, Quill, {
245
245
  name: "hostless-react-quill",
246
246
  displayName: "Rich Text Editor",
247
247
  classNameProp: "containerClassName",
@@ -268,7 +268,8 @@ function registerQuill(loader) {
268
268
  customToolbar: {
269
269
  type: "array",
270
270
  advanced: true,
271
- description: "Custom toolbar configuration for Quill editor. Overrides the existing toolbar."
271
+ description: "Custom toolbar configuration for Quill editor. Overrides the existing toolbar.",
272
+ helpText: "Check toolbarOptions here: https://quilljs.com/docs/modules/toolbar"
272
273
  },
273
274
  placeholder: "string",
274
275
  preserveWhitespace: {
@@ -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, ReactQuill, {\n name: \"hostless-react-quill\",\n displayName: \"Rich Text Editor\",\n classNameProp: \"containerClassName\",\n defaultStyles: {\n width: \"stretch\",\n },\n props: {\n value: {\n type: \"string\",\n displayName: \"HTML Value\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Contents of the editor\",\n },\n toolbar: {\n type: \"object\",\n fields: { ...toolbarFields },\n defaultValue: Object.keys(toolbarFields).reduce((acc: any, key) => {\n acc[key] = (\n toolbarFields[key as keyof typeof toolbarFields] as any\n ).defaultValue;\n return acc;\n }, {}),\n description: \"Customize the toolbar to show/hide controls\",\n },\n customToolbar: {\n type: \"array\",\n advanced: true,\n description:\n \"Custom toolbar configuration for Quill editor. Overrides the existing toolbar.\",\n },\n placeholder: \"string\",\n preserveWhitespace: {\n type: \"boolean\",\n description:\n \"Prevents Quill from collapsing continuous whitespaces on paste\",\n advanced: true,\n defaultValue: true,\n },\n readOnly: {\n type: \"boolean\",\n description: \"Prevents user from changing the contents of the editor\",\n defaultValue: false,\n advanced: true,\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"content\",\n type: \"string\",\n },\n {\n name: \"delta\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onChangeSelection: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"range\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onFocus: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"range\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onBlur: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"previousRange\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onKeyPress: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n onKeyDown: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n onKeyUp: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n } as any,\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n // initVal: \"\",\n ...quillHelpers.states.value,\n },\n },\n componentHelpers: {\n helpers: quillHelpers,\n importName: \"quillHelpers\",\n importPath: \"@plasmicpkgs/react-quill\",\n },\n importName: \"Quill\",\n importPath: \"@plasmicpkgs/react-quill\",\n });\n}\n"],"names":["registerComponentHelper","loader","component","meta","registerComponent","useIsClient","_React$useState","React","useState","loaded","setLoaded","useIsomorphicLayoutEffect","isBrowser","window","useLayoutEffect","useEffect","ReactQuill","require","TEXT_STYLE_DICT","bold","italic","underline","strikethrough","HEADING_TYPES_DICT","Body","FONT_SIZES","COLOR_TYPE_DICT","FORMATTING_TYPES_DICT","alignment","list","indentation","INPUT_TYPES","Quill","props","isClient","containerClassName","toolbar","customToolbar","rest","_objectWithoutPropertiesLoose","_excluded","modules","useMemo","textStyle","fontFamily","heading","fontSizes","colors","script","formatting","inputTypes","textStyleControls","Object","keys","filter","key","includes","map","colorControls","_ref","scriptControls","undefined","fontControls","font","length","header","size","fs","i","listControlsGroup","indentationControlsGroup","otherFormattingControlsGroup","f","push","_listControlsGroup$pu","_listControlsGroup$pu2","_otherFormattingContr","_indentationControlsG","_indentationControlsG2","_otherFormattingContr2","otherInputControls","inp","JSON","stringify","String","preserveWhitespace","className","quillHelpers","states","value","onChangeArgsToValue","content","_delta","_source","_editor","toolbarFields","type","multiSelect","options","defaultValue","displayName","registerQuill","name","classNameProp","defaultStyles","width","editOnly","uncontrolledProp","description","fields","_extends","reduce","acc","advanced","placeholder","readOnly","onChange","argTypes","onChangeSelection","onFocus","onBlur","onKeyPress","onKeyDown","onKeyUp","valueProp","onChangeProp","variableType","componentHelpers","helpers","importName","importPath"],"mappings":"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"}
1
+ {"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 r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(this,arguments)}require("@plasmicapp/host/registerGlobalContext");var o="undefined"!=typeof window?n.useLayoutEffect:n.useEffect,i=["containerClassName","toolbar","customToolbar"],l="undefined"!=typeof window?require("react-quill"):null,s={bold:"bold",italic:"italic",underline:"underline",strikethrough:"strike"},c={"Heading 1":1,"Heading 2":2,"Heading 3":3,"Heading 4":4,"Heading 5":5,"Heading 6":6,Body:"normal"},u=["small","medium","large","huge"],p={"text color":"color","text background":"background"},d={alignment:"align",list:"list",indentation:"indent","text direction":"direction","clear formatting":"clean"},y=["link","blockquote","image","video","code-block","formula"],f={states:{value:{onChangeArgsToValue:function(e,t,n,a){return e}}}},m={textStyle:{type:"choice",multiSelect:!0,options:Object.keys(s),defaultValue:Object.keys(s)},colors:{type:"choice",multiSelect:!0,options:Object.keys(p),defaultValue:Object.keys(p)},script:{displayName:"Super/Sub Script",type:"boolean",defaultValue:!0},fontFamily:{type:"boolean",defaultValue:!0},heading:{type:"choice",multiSelect:!0,options:Object.keys(c),defaultValue:Object.keys(c)},fontSizes:{type:"choice",multiSelect:!0,options:u,defaultValue:u},formatting:{type:"choice",multiSelect:!0,options:Object.keys(d),defaultValue:Object.keys(d)},inputTypes:{type:"choice",multiSelect:!0,options:y,defaultValue:y}};exports.Quill=function(e){var a,r,f,m=(r=(a=n.useState(!1))[0],f=a[1],o((function(){f(!0)})),r),g=e.containerClassName,b=e.toolbar,h=e.customToolbar,v=function(e,t){if(null==e)return{};var n,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)t.indexOf(n=o[a])>=0||(r[n]=e[n]);return r}(e,i),j=t.useMemo((function(){if(h)return{toolbar:h};var e=b.textStyle,t=b.fontFamily,n=b.heading,a=b.fontSizes,r=b.colors,o=b.script,i=b.formatting,l=b.inputTypes,f=Object.keys(s).filter((function(t){return e.includes(t)})).map((function(e){return s[e]})),m=Object.keys(p).filter((function(e){return r.includes(e)})).map((function(e){var t;return(t={})[p[e]]=[],t})),g=o?[{script:"super"},{script:"sub"}]:void 0,v=[t?{font:[]}:void 0,n.length?{header:Object.keys(c).filter((function(e){return n.includes(e)})).map((function(e){return c[e]}))}:void 0,a.length?{size:u.filter((function(e){return a.includes(e)}))}:void 0].filter((function(e){return e})),j=[],k=[],O=[];null==i||i.map((function(e){var t,n,a,r,o,i;switch(e){case"list":j.push(((t={})[d.list]="ordered",t)),j.push(((n={})[d.list]="bullet",n));break;case"alignment":O.push(((a={})[d.alignment]=[],a));break;case"indentation":k.push(((r={})[d.indentation]="-1",r)),k.push(((o={})[d.indentation]="+1",o));break;case"text direction":O.push(((i={})[d["text direction"]]="rtl",i));break;case"clear formatting":O.push(d["clear formatting"])}}));var S=l.length?y.filter((function(e){return l.includes(e)})):void 0;return{toolbar:[f,m,g,v,j,k,O,S].filter((function(e){return null==e?void 0:e.length}))}}),[b,h]),k=t.useMemo((function(){return JSON.stringify(j)+String(v.preserveWhitespace)}),[v.preserveWhitespace,j]);return m?n.createElement("div",{className:g},n.createElement(l,Object.assign({key:k,modules:j},v))):null},exports.quillHelpers=f,exports.registerQuill=function(e){!function(e,t,n){e?e.registerComponent(t,n):a(t,n)}(e,l,{name:"hostless-react-quill",displayName:"Rich Text Editor",classNameProp:"containerClassName",defaultStyles:{width:"stretch"},props:{value:{type:"string",displayName:"HTML Value",editOnly:!0,uncontrolledProp:"defaultValue",description:"Contents of the editor"},toolbar:{type:"object",fields:r({},m),defaultValue:Object.keys(m).reduce((function(e,t){return e[t]=m[t].defaultValue,e}),{}),description:"Customize the toolbar to show/hide controls"},customToolbar:{type:"array",advanced:!0,description:"Custom toolbar configuration for Quill editor. Overrides the existing toolbar."},placeholder:"string",preserveWhitespace:{type:"boolean",description:"Prevents Quill from collapsing continuous whitespaces on paste",advanced:!0,defaultValue:!0},readOnly:{type:"boolean",description:"Prevents user from changing the contents of the editor",defaultValue:!1,advanced:!0},onChange:{type:"eventHandler",advanced:!0,argTypes:[{name:"content",type:"string"},{name:"delta",type:"object"},{name:"source",type:"string"},{name:"editor",type:"object"}]},onChangeSelection:{type:"eventHandler",advanced:!0,argTypes:[{name:"range",type:"object"},{name:"source",type:"string"},{name:"editor",type:"object"}]},onFocus:{type:"eventHandler",advanced:!0,argTypes:[{name:"range",type:"object"},{name:"source",type:"string"},{name:"editor",type:"object"}]},onBlur:{type:"eventHandler",advanced:!0,argTypes:[{name:"previousRange",type:"object"},{name:"source",type:"string"},{name:"editor",type:"object"}]},onKeyPress:{type:"eventHandler",advanced:!0,argTypes:[{name:"event",type:"object"}]},onKeyDown:{type:"eventHandler",advanced:!0,argTypes:[{name:"event",type:"object"}]},onKeyUp:{type:"eventHandler",advanced:!0,argTypes:[{name:"event",type:"object"}]}},states:{value:r({type:"writable",valueProp:"value",onChangeProp:"onChange",variableType:"text"},f.states.value)},componentHelpers:{helpers:f,importName:"quillHelpers",importPath:"@plasmicpkgs/react-quill"},importName:"Quill",importPath:"@plasmicpkgs/react-quill"})};
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"})};
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, ReactQuill, {\n name: \"hostless-react-quill\",\n displayName: \"Rich Text Editor\",\n classNameProp: \"containerClassName\",\n defaultStyles: {\n width: \"stretch\",\n },\n props: {\n value: {\n type: \"string\",\n displayName: \"HTML Value\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Contents of the editor\",\n },\n toolbar: {\n type: \"object\",\n fields: { ...toolbarFields },\n defaultValue: Object.keys(toolbarFields).reduce((acc: any, key) => {\n acc[key] = (\n toolbarFields[key as keyof typeof toolbarFields] as any\n ).defaultValue;\n return acc;\n }, {}),\n description: \"Customize the toolbar to show/hide controls\",\n },\n customToolbar: {\n type: \"array\",\n advanced: true,\n description:\n \"Custom toolbar configuration for Quill editor. Overrides the existing toolbar.\",\n },\n placeholder: \"string\",\n preserveWhitespace: {\n type: \"boolean\",\n description:\n \"Prevents Quill from collapsing continuous whitespaces on paste\",\n advanced: true,\n defaultValue: true,\n },\n readOnly: {\n type: \"boolean\",\n description: \"Prevents user from changing the contents of the editor\",\n defaultValue: false,\n advanced: true,\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"content\",\n type: \"string\",\n },\n {\n name: \"delta\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onChangeSelection: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"range\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onFocus: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"range\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onBlur: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"previousRange\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onKeyPress: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n onKeyDown: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n onKeyUp: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n } as any,\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n // initVal: \"\",\n ...quillHelpers.states.value,\n },\n },\n componentHelpers: {\n helpers: quillHelpers,\n importName: \"quillHelpers\",\n importPath: \"@plasmicpkgs/react-quill\",\n },\n importName: \"Quill\",\n importPath: \"@plasmicpkgs/react-quill\",\n });\n}\n","import {\n ComponentMeta,\n default as registerComponent,\n} from \"@plasmicapp/host/registerComponent\";\nimport {\n default as registerGlobalContext,\n GlobalContextMeta,\n} from \"@plasmicapp/host/registerGlobalContext\";\nimport { default as registerToken } from \"@plasmicapp/host/registerToken\";\nimport React from \"react\";\n\nexport type Registerable = {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n registerToken: typeof registerToken;\n};\n\nexport function makeRegisterComponent<T extends React.ComponentType<any>>(\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n registerComponentHelper(loader, component, meta);\n };\n}\n\nexport function makeRegisterGlobalContext<T extends React.ComponentType<any>>(\n component: T,\n meta: GlobalContextMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n if (loader) {\n loader.registerGlobalContext(component, meta);\n } else {\n registerGlobalContext(component, meta);\n }\n };\n}\n\nexport function registerComponentHelper<T extends React.ComponentType<any>>(\n loader: Registerable | undefined,\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n if (loader) {\n loader.registerComponent(component, meta);\n } else {\n registerComponent(component, meta);\n }\n}\n\ntype ReactElt = {\n children: ReactElt | ReactElt[];\n props: {\n children: ReactElt | ReactElt[];\n [prop: string]: any;\n } | null;\n type: React.ComponentType<any> | null;\n key: string | null;\n} | null;\n\nexport function traverseReactEltTree(\n children: React.ReactNode,\n callback: (elt: ReactElt) => void\n) {\n const rec = (elts: ReactElt | ReactElt[] | null) => {\n (Array.isArray(elts) ? elts : [elts]).forEach((elt) => {\n if (elt) {\n callback(elt);\n if (elt.children) {\n rec(elt.children);\n }\n if (elt.props?.children && elt.props.children !== elt.children) {\n rec(elt.props.children);\n }\n }\n });\n };\n rec(children as any);\n}\n\nexport function asArray<T>(x: T[] | T | undefined | null) {\n if (Array.isArray(x)) {\n return x;\n } else if (x == null) {\n return [];\n } else {\n return [x];\n }\n}\n"],"names":["useIsomorphicLayoutEffect","window","React","useLayoutEffect","useEffect","ReactQuill","require","TEXT_STYLE_DICT","bold","italic","underline","strikethrough","HEADING_TYPES_DICT","Heading 1","Heading 2","Heading 3","Heading 4","Heading 5","Heading 6","Body","FONT_SIZES","COLOR_TYPE_DICT","text color","text background","FORMATTING_TYPES_DICT","alignment","list","indentation","text direction","clear formatting","INPUT_TYPES","quillHelpers","states","value","onChangeArgsToValue","content","_delta","_source","_editor","toolbarFields","textStyle","type","multiSelect","options","Object","keys","defaultValue","colors","script","displayName","fontFamily","heading","fontSizes","formatting","inputTypes","props","_React$useState","loaded","setLoaded","isClient","useState","containerClassName","toolbar","customToolbar","rest","_objectWithoutPropertiesLoose","_excluded","modules","useMemo","textStyleControls","filter","key","includes","map","colorControls","_ref","scriptControls","undefined","fontControls","font","length","header","size","fs","i","listControlsGroup","indentationControlsGroup","otherFormattingControlsGroup","f","push","_listControlsGroup$pu","_listControlsGroup$pu2","_otherFormattingContr","_indentationControlsG","_indentationControlsG2","_otherFormattingContr2","otherInputControls","inp","JSON","stringify","String","preserveWhitespace","className","loader","component","meta","registerComponent","registerComponentHelper","name","classNameProp","defaultStyles","width","editOnly","uncontrolledProp","description","fields","_extends","reduce","acc","advanced","placeholder","readOnly","onChange","argTypes","onChangeSelection","onFocus","onBlur","onKeyPress","onKeyDown","onKeyUp","valueProp","onChangeProp","variableType","componentHelpers","helpers","importName","importPath"],"mappings":"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"}
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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"}
@@ -234,7 +234,7 @@ var toolbarFields = {
234
234
  }
235
235
  };
236
236
  function registerQuill(loader) {
237
- registerComponentHelper(loader, ReactQuill, {
237
+ registerComponentHelper(loader, Quill, {
238
238
  name: "hostless-react-quill",
239
239
  displayName: "Rich Text Editor",
240
240
  classNameProp: "containerClassName",
@@ -261,7 +261,8 @@ function registerQuill(loader) {
261
261
  customToolbar: {
262
262
  type: "array",
263
263
  advanced: true,
264
- description: "Custom toolbar configuration for Quill editor. Overrides the existing toolbar."
264
+ description: "Custom toolbar configuration for Quill editor. Overrides the existing toolbar.",
265
+ helpText: "Check toolbarOptions here: https://quilljs.com/docs/modules/toolbar"
265
266
  },
266
267
  placeholder: "string",
267
268
  preserveWhitespace: {
@@ -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, ReactQuill, {\n name: \"hostless-react-quill\",\n displayName: \"Rich Text Editor\",\n classNameProp: \"containerClassName\",\n defaultStyles: {\n width: \"stretch\",\n },\n props: {\n value: {\n type: \"string\",\n displayName: \"HTML Value\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Contents of the editor\",\n },\n toolbar: {\n type: \"object\",\n fields: { ...toolbarFields },\n defaultValue: Object.keys(toolbarFields).reduce((acc: any, key) => {\n acc[key] = (\n toolbarFields[key as keyof typeof toolbarFields] as any\n ).defaultValue;\n return acc;\n }, {}),\n description: \"Customize the toolbar to show/hide controls\",\n },\n customToolbar: {\n type: \"array\",\n advanced: true,\n description:\n \"Custom toolbar configuration for Quill editor. Overrides the existing toolbar.\",\n },\n placeholder: \"string\",\n preserveWhitespace: {\n type: \"boolean\",\n description:\n \"Prevents Quill from collapsing continuous whitespaces on paste\",\n advanced: true,\n defaultValue: true,\n },\n readOnly: {\n type: \"boolean\",\n description: \"Prevents user from changing the contents of the editor\",\n defaultValue: false,\n advanced: true,\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"content\",\n type: \"string\",\n },\n {\n name: \"delta\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onChangeSelection: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"range\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onFocus: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"range\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onBlur: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"previousRange\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onKeyPress: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n onKeyDown: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n onKeyUp: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n } as any,\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n // initVal: \"\",\n ...quillHelpers.states.value,\n },\n },\n componentHelpers: {\n helpers: quillHelpers,\n importName: \"quillHelpers\",\n importPath: \"@plasmicpkgs/react-quill\",\n },\n importName: \"Quill\",\n importPath: \"@plasmicpkgs/react-quill\",\n });\n}\n"],"names":["registerComponentHelper","loader","component","meta","registerComponent","useIsClient","_React$useState","React","useState","loaded","setLoaded","useIsomorphicLayoutEffect","isBrowser","window","useLayoutEffect","useEffect","ReactQuill","require","TEXT_STYLE_DICT","bold","italic","underline","strikethrough","HEADING_TYPES_DICT","Body","FONT_SIZES","COLOR_TYPE_DICT","FORMATTING_TYPES_DICT","alignment","list","indentation","INPUT_TYPES","Quill","props","isClient","containerClassName","toolbar","customToolbar","rest","_objectWithoutPropertiesLoose","_excluded","modules","useMemo","textStyle","fontFamily","heading","fontSizes","colors","script","formatting","inputTypes","textStyleControls","Object","keys","filter","key","includes","map","colorControls","_ref","scriptControls","undefined","fontControls","font","length","header","size","fs","i","listControlsGroup","indentationControlsGroup","otherFormattingControlsGroup","f","push","_listControlsGroup$pu","_listControlsGroup$pu2","_otherFormattingContr","_indentationControlsG","_indentationControlsG2","_otherFormattingContr2","otherInputControls","inp","JSON","stringify","String","preserveWhitespace","className","quillHelpers","states","value","onChangeArgsToValue","content","_delta","_source","_editor","toolbarFields","type","multiSelect","options","defaultValue","displayName","registerQuill","name","classNameProp","defaultStyles","width","editOnly","uncontrolledProp","description","fields","_extends","reduce","acc","advanced","placeholder","readOnly","onChange","argTypes","onChangeSelection","onFocus","onBlur","onKeyPress","onKeyDown","onKeyUp","valueProp","onChangeProp","variableType","componentHelpers","helpers","importName","importPath"],"mappings":"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"}
1
+ {"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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAuCgBA,uBAAuBA,CACrCC,MAAgC,EAChCC,SAAY,EACZC,IAA4C;EAE5C,IAAIF,MAAM,EAAE;IACVA,MAAM,CAACG,iBAAiB,CAACF,SAAS,EAAEC,IAAI,CAAC;GAC1C,MAAM;IACLC,iBAAiB,CAACF,SAAS,EAAEC,IAAI,CAAC;;AAEtC;;SC/CgBE,WAAWA;EACvB,IAAAC,eAAA,GAA4BC,KAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;IAA1CC,MAAM,GAAAH,eAAA;IAAEI,SAAS,GAAAJ,eAAA;EACxBK,yBAAyB,CAAC;IACtBD,SAAS,CAAC,IAAI,CAAC;GAClB,CAAC;EACF,OAAOD,MAAM;AACjB;AAEA,IAAMG,SAAS,GAAG,OAAOC,MAAM,KAAK,WAAW;AAC/C,AAAO,IAAMF,yBAAyB,GAAGC,SAAS,GAC5CL,KAAK,CAACO,eAAe,GACrBP,KAAK,CAACQ,SAAS;;;ACbrB,AAKA,IAAMC,UAAU,GACd,OAAOH,MAAM,KAAK,WAAW,gBAAGI,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;AAY/D,IAAMC,eAAe,GAAG;EACtBC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE,QAAQ;EAChBC,SAAS,EAAE,WAAW;EACtBC,aAAa,EAAE;CAChB;AAED,IAAMC,kBAAkB,GAAG;EACzB,WAAW,EAAE,CAAC;EACd,WAAW,EAAE,CAAC;EACd,WAAW,EAAE,CAAC;EACd,WAAW,EAAE,CAAC;EACd,WAAW,EAAE,CAAC;EACd,WAAW,EAAE,CAAC;EACdC,IAAI,EAAE;CACP;AAED,IAAMC,UAAU,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC;AAEvD,IAAMC,eAAe,GAAG;EACtB,YAAY,EAAE,OAAO;EACrB,iBAAiB,EAAE;CACpB;AAED,IAAMC,qBAAqB,GAAG;EAC5BC,SAAS,EAAE,OAAO;EAClBC,IAAI,EAAE,MAAM;EACZC,WAAW,EAAE,QAAQ;EACrB,gBAAgB,EAAE,WAAW;EAC7B,kBAAkB,EAAE;CACrB;AAED,IAAMC,WAAW,GAAG,CAClB,MAAM,EACN,YAAY,EACZ,OAAO,EACP,OAAO,EACP,YAAY,EACZ,SAAS,CACV;AAED,SAAgBC,KAAKA,CACnBC,KAIC;EAED,IAAMC,QAAQ,GAAG7B,WAAW,EAAE;EAE9B,IAAQ8B,kBAAkB,GAAsCF,KAAK,CAA7DE,kBAAkB;IAAEC,OAAO,GAA6BH,KAAK,CAAzCG,OAAO;IAAEC,aAAa,GAAcJ,KAAK,CAAhCI,aAAa;IAAKC,IAAI,GAAAC,6BAAA,CAAKN,KAAK,EAAAO,SAAA;EAErE,IAAMC,OAAO,GAAGC,OAAO,CAAC;IACtB,IAAIL,aAAa,EAAE;MACjB,OAAO;QACLD,OAAO,EAAEC;OACV;;IAGH,IACEM,SAAS,GAQPP,OAAO,CARTO,SAAS;MACTC,UAAU,GAORR,OAAO,CAPTQ,UAAU;MACVC,OAAO,GAMLT,OAAO,CANTS,OAAO;MACPC,SAAS,GAKPV,OAAO,CALTU,SAAS;MACTC,MAAM,GAIJX,OAAO,CAJTW,MAAM;MACNC,MAAM,GAGJZ,OAAO,CAHTY,MAAM;MACNC,UAAU,GAERb,OAAO,CAFTa,UAAU;MACVC,UAAU,GACRd,OAAO,CADTc,UAAU;IAGZ,IAAMC,iBAAiB,GAAGC,MAAM,CAACC,IAAI,CAACnC,eAAe,CAAC,CACnDoC,MAAM,CAAC,UAACC,GAAG;MAAA,OAAKZ,SAAS,CAACa,QAAQ,CAACD,GAAG,CAAC;MAAC,CACxCE,GAAG,CAAC,UAACF,GAAG;MAAA,OAAKrC,eAAe,CAACqC,GAAmC,CAAC;MAAC;IAErE,IAAMG,aAAa,GAAGN,MAAM,CAACC,IAAI,CAAC3B,eAAe,CAAC,CAC/C4B,MAAM,CAAC,UAACC,GAAG;MAAA,OAAKR,MAAM,CAACS,QAAQ,CAACD,GAAG,CAAC;MAAC,CACrCE,GAAG,CAAC,UAACF,GAAG;MAAA,IAAAI,IAAA;MAAA,OAAAA,IAAA,OAAAA,IAAA,CACNjC,eAAe,CAAC6B,GAAmC,CAAC,IAAG,EAAE,EAAAI,IAAA;KAC1D,CAAC;IAEL,IAAMC,cAAc,GAAGZ,MAAM,GACzB,CAAC;MAAEA,MAAM,EAAE;KAAS,EAAE;MAAEA,MAAM,EAAE;KAAO,CAAC,GACxCa,SAAS;IAEb,IAAMC,YAAY,GAAG,CACnBlB,UAAU,GAAG;MAAEmB,IAAI,EAAE;KAAI,GAAGF,SAAS,EACrChB,OAAO,CAACmB,MAAM,GACV;MACEC,MAAM,EAAEb,MAAM,CAACC,IAAI,CAAC9B,kBAAkB,CAAC,CACpC+B,MAAM,CAAC,UAACC,GAAG;QAAA,OAAKV,OAAO,CAACW,QAAQ,CAACD,GAAG,CAAC;QAAC,CACtCE,GAAG,CACF,UAACF,GAAG;QAAA,OACFhC,kBAAkB,CAACgC,GAAsC,CAAC;;KAEjE,GACDM,SAAS,EACbf,SAAS,CAACkB,MAAM,GACZ;MAAEE,IAAI,EAAEzC,UAAU,CAAC6B,MAAM,CAAC,UAACa,EAAE;QAAA,OAAKrB,SAAS,CAACU,QAAQ,CAACW,EAAE,CAAC;;KAAG,GAC3DN,SAAS,CACd,CAACP,MAAM,CAAC,UAACc,CAAC;MAAA,OAAKA,CAAC;MAAC;IAElB,IAAMC,iBAAiB,GAAU,EAAE;IACnC,IAAMC,wBAAwB,GAAU,EAAE;IAC1C,IAAMC,4BAA4B,GAAU,EAAE;IAE9CtB,UAAU,YAAVA,UAAU,CAAEQ,GAAG,CAAC,UAACe,CAAqC;;MACpD,QAAQA,CAAC;QACP,KAAK,MAAM;UACTH,iBAAiB,CAACI,IAAI,EAAAC,qBAAA,OAAAA,qBAAA,CACnB/C,qBAAqB,CAAC,MAAM,CAAC,IAAG,SAAS,EAAA+C,qBAAA,EAC1C;UACFL,iBAAiB,CAACI,IAAI,EAAAE,sBAAA,OAAAA,sBAAA,CAAIhD,qBAAqB,CAAC,MAAM,CAAC,IAAG,QAAQ,EAAAgD,sBAAA,EAAG;UACrE;QACF,KAAK,WAAW;UACdJ,4BAA4B,CAACE,IAAI,EAAAG,qBAAA,OAAAA,qBAAA,CAC9BjD,qBAAqB,CAAC,WAAW,CAAC,IAAG,EAAE,EAAAiD,qBAAA,EACxC;UACF;QACF,KAAK,aAAa;UAChBN,wBAAwB,CAACG,IAAI,EAAAI,qBAAA,OAAAA,qBAAA,CAC1BlD,qBAAqB,CAAC,aAAa,CAAC,IAAG,IAAI,EAAAkD,qBAAA,EAC5C;UACFP,wBAAwB,CAACG,IAAI,EAAAK,sBAAA,OAAAA,sBAAA,CAC1BnD,qBAAqB,CAAC,aAAa,CAAC,IAAG,IAAI,EAAAmD,sBAAA,EAC5C;UACF;QACF,KAAK,gBAAgB;UACnBP,4BAA4B,CAACE,IAAI,EAAAM,sBAAA,OAAAA,sBAAA,CAC9BpD,qBAAqB,CAAC,gBAAgB,CAAC,IAAG,KAAK,EAAAoD,sBAAA,EAChD;UACF;QACF,KAAK,kBAAkB;UACrBR,4BAA4B,CAACE,IAAI,CAC/B9C,qBAAqB,CAAC,kBAAkB,CAAC,CAC1C;UACD;;KAEL,CAAC;IAEF,IAAMqD,kBAAkB,GAAG9B,UAAU,CAACc,MAAM,GACxCjC,WAAW,CAACuB,MAAM,CAAC,UAAC2B,GAAG;MAAA,OAAK/B,UAAU,CAACM,QAAQ,CAACyB,GAAG,CAAC;MAAC,GACrDpB,SAAS;IAEb,OAAO;MACLzB,OAAO,EAAE,CACPe,iBAAiB,EACjBO,aAAa,EACbE,cAAc,EACdE,YAAY,EACZO,iBAAiB,EACjBC,wBAAwB,EACxBC,4BAA4B,EAC5BS,kBAAkB,CACnB,CAAC1B,MAAM,CAAC,UAACc,CAAC;QAAA,OAAKA,CAAC,oBAADA,CAAC,CAAEJ,MAAM;;KAC1B;GACF,EAAE,CAAC5B,OAAO,EAAEC,aAAa,CAAC,CAAC;EAE5B,IAAMkB,GAAG,GAAGb,OAAO,CACjB;IAAA,OAAMwC,IAAI,CAACC,SAAS,CAAC1C,OAAO,CAAC,GAAG2C,MAAM,CAAC9C,IAAI,CAAC+C,kBAAkB,CAAC;KAC/D,CAAC/C,IAAI,CAAC+C,kBAAkB,EAAE5C,OAAO,CAAC,CACnC;EAED,IAAI,CAACP,QAAQ,EAAE;IACb,OAAO,IAAI;;EAGb,OACE3B;IAAK+E,SAAS,EAAEnD;KACd5B,oBAACS,UAAU;IAACuC,GAAG,EAAEA,GAAG;IAAEd,OAAO,EAAEA;KAAaH,IAAI,EAAI,CAChD;AAEV;AAEA,IAAaiD,YAAY,GAAG;EAC1BC,MAAM,EAAE;IACNC,KAAK,EAAE;MACLC,mBAAmB,EAAG,SAAAA,oBAACC,OAAO,EAAEC,MAAM,EAAEC,OAAO,EAAEC,OAAO;QACtD,OAAOH,OAAO;;;;CAIrB;AAED,IAAMI,aAAa,GAA8C;EAC/DpD,SAAS,EAAE;IACTqD,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,IAAI;IACjBC,OAAO,eAAE9C,MAAM,CAACC,IAAI,CAACnC,eAAe,CAAC;IACrCiF,YAAY,eAAE/C,MAAM,CAACC,IAAI,CAACnC,eAAe;GAC1C;EACD6B,MAAM,EAAE;IACNiD,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,IAAI;IACjBC,OAAO,eAAE9C,MAAM,CAACC,IAAI,CAAC3B,eAAe,CAAC;IACrCyE,YAAY,eAAE/C,MAAM,CAACC,IAAI,CAAC3B,eAAe;GAC1C;EACDsB,MAAM,EAAE;IACNoD,WAAW,EAAE,kBAAkB;IAC/BJ,IAAI,EAAE,SAAS;IACfG,YAAY,EAAE;GACf;EACDvD,UAAU,EAAE;IACVoD,IAAI,EAAE,SAAS;IACfG,YAAY,EAAE;GACf;EACDtD,OAAO,EAAE;IACPmD,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,IAAI;IACjBC,OAAO,eAAE9C,MAAM,CAACC,IAAI,CAAC9B,kBAAkB,CAAC;IACxC4E,YAAY,eAAE/C,MAAM,CAACC,IAAI,CAAC9B,kBAAkB;GAC7C;EACDuB,SAAS,EAAE;IACTkD,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,IAAI;IACjBC,OAAO,EAAEzE,UAAU;IACnB0E,YAAY,EAAE1E;GACf;EACDwB,UAAU,EAAE;IACV+C,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,IAAI;IACjBC,OAAO,eAAE9C,MAAM,CAACC,IAAI,CAAC1B,qBAAqB,CAAC;IAC3CwE,YAAY,eAAE/C,MAAM,CAACC,IAAI,CAAC1B,qBAAqB;GAChD;EACDuB,UAAU,EAAE;IACV8C,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,IAAI;IACjBC,OAAO,EAAEnE,WAAW;IACpBoE,YAAY,EAAEpE;;CAER;AAEV,SAAgBsE,aAAaA,CAACpG,MAAqB;EACjDD,uBAAuB,CAACC,MAAM,EAAE+B,KAAK,EAAE;IACrCsE,IAAI,EAAE,sBAAsB;IAC5BF,WAAW,EAAE,kBAAkB;IAC/BG,aAAa,EAAE,oBAAoB;IACnCC,aAAa,EAAE;MACbC,KAAK,EAAE;KACR;IACDxE,KAAK,EAAE;MACLwD,KAAK,EAAE;QACLO,IAAI,EAAE,QAAQ;QACdI,WAAW,EAAE,YAAY;QACzBM,QAAQ,EAAE,IAAI;QACdC,gBAAgB,EAAE,cAAc;QAChCC,WAAW,EAAE;OACd;MACDxE,OAAO,EAAE;QACP4D,IAAI,EAAE,QAAQ;QACda,MAAM,EAAAC,QAAA,KAAOf,aAAa,CAAE;QAC5BI,YAAY,EAAE/C,MAAM,CAACC,IAAI,CAAC0C,aAAa,CAAC,CAACgB,MAAM,CAAC,UAACC,GAAQ,EAAEzD,GAAG;UAC5DyD,GAAG,CAACzD,GAAG,CAAC,GACNwC,aAAa,CAACxC,GAAiC,CAChD,CAAC4C,YAAY;UACd,OAAOa,GAAG;SACX,EAAE,EAAE,CAAC;QACNJ,WAAW,EAAE;OACd;MACDvE,aAAa,EAAE;QACb2D,IAAI,EAAE,OAAO;QACbiB,QAAQ,EAAE,IAAI;QACdL,WAAW,EACT,gFAAgF;QAClFM,QAAQ,EACN;OACH;MACDC,WAAW,EAAE,QAAQ;MACrB9B,kBAAkB,EAAE;QAClBW,IAAI,EAAE,SAAS;QACfY,WAAW,EACT,gEAAgE;QAClEK,QAAQ,EAAE,IAAI;QACdd,YAAY,EAAE;OACf;MACDiB,QAAQ,EAAE;QACRpB,IAAI,EAAE,SAAS;QACfY,WAAW,EAAE,wDAAwD;QACrET,YAAY,EAAE,KAAK;QACnBc,QAAQ,EAAE;OACX;MACDI,QAAQ,EAAE;QACRrB,IAAI,EAAE,cAAc;QACpBiB,QAAQ,EAAE,IAAI;QACdK,QAAQ,EAAE,CACR;UACEhB,IAAI,EAAE,SAAS;UACfN,IAAI,EAAE;SACP,EACD;UACEM,IAAI,EAAE,OAAO;UACbN,IAAI,EAAE;SACP,EACD;UACEM,IAAI,EAAE,QAAQ;UACdN,IAAI,EAAE;SACP,EACD;UACEM,IAAI,EAAE,QAAQ;UACdN,IAAI,EAAE;SACP;OAEJ;MACDuB,iBAAiB,EAAE;QACjBvB,IAAI,EAAE,cAAc;QACpBiB,QAAQ,EAAE,IAAI;QACdK,QAAQ,EAAE,CACR;UACEhB,IAAI,EAAE,OAAO;UACbN,IAAI,EAAE;SACP,EACD;UACEM,IAAI,EAAE,QAAQ;UACdN,IAAI,EAAE;SACP,EACD;UACEM,IAAI,EAAE,QAAQ;UACdN,IAAI,EAAE;SACP;OAEJ;MACDwB,OAAO,EAAE;QACPxB,IAAI,EAAE,cAAc;QACpBiB,QAAQ,EAAE,IAAI;QACdK,QAAQ,EAAE,CACR;UACEhB,IAAI,EAAE,OAAO;UACbN,IAAI,EAAE;SACP,EACD;UACEM,IAAI,EAAE,QAAQ;UACdN,IAAI,EAAE;SACP,EACD;UACEM,IAAI,EAAE,QAAQ;UACdN,IAAI,EAAE;SACP;OAEJ;MACDyB,MAAM,EAAE;QACNzB,IAAI,EAAE,cAAc;QACpBiB,QAAQ,EAAE,IAAI;QACdK,QAAQ,EAAE,CACR;UACEhB,IAAI,EAAE,eAAe;UACrBN,IAAI,EAAE;SACP,EACD;UACEM,IAAI,EAAE,QAAQ;UACdN,IAAI,EAAE;SACP,EACD;UACEM,IAAI,EAAE,QAAQ;UACdN,IAAI,EAAE;SACP;OAEJ;MACD0B,UAAU,EAAE;QACV1B,IAAI,EAAE,cAAc;QACpBiB,QAAQ,EAAE,IAAI;QACdK,QAAQ,EAAE,CACR;UACEhB,IAAI,EAAE,OAAO;UACbN,IAAI,EAAE;SACP;OAEJ;MACD2B,SAAS,EAAE;QACT3B,IAAI,EAAE,cAAc;QACpBiB,QAAQ,EAAE,IAAI;QACdK,QAAQ,EAAE,CACR;UACEhB,IAAI,EAAE,OAAO;UACbN,IAAI,EAAE;SACP;OAEJ;MACD4B,OAAO,EAAE;QACP5B,IAAI,EAAE,cAAc;QACpBiB,QAAQ,EAAE,IAAI;QACdK,QAAQ,EAAE,CACR;UACEhB,IAAI,EAAE,OAAO;UACbN,IAAI,EAAE;SACP;;KAGC;IACRR,MAAM,EAAE;MACNC,KAAK,EAAAqB,QAAA;QACHd,IAAI,EAAE,UAAU;QAChB6B,SAAS,EAAE,OAAO;QAClBC,YAAY,EAAE,UAAU;QACxBC,YAAY,EAAE;SAEXxC,YAAY,CAACC,MAAM,CAACC,KAAK;KAE/B;IACDuC,gBAAgB,EAAE;MAChBC,OAAO,EAAE1C,YAAY;MACrB2C,UAAU,EAAE,cAAc;MAC1BC,UAAU,EAAE;KACb;IACDD,UAAU,EAAE,OAAO;IACnBC,UAAU,EAAE;GACb,CAAC;AACJ;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plasmicpkgs/react-quill",
3
- "version": "1.0.10",
3
+ "version": "1.0.12",
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.113",
31
+ "@plasmicapp/data-sources": "0.1.114",
32
32
  "@plasmicapp/host": "1.0.164",
33
33
  "@size-limit/preset-small-lib": "^4.11.0",
34
34
  "@types/node": "^14.0.26",
@@ -48,5 +48,5 @@
48
48
  "dependencies": {
49
49
  "react-quill": "^2.0.0"
50
50
  },
51
- "gitHead": "ac2c8228e924c2ba0c8d76d24c635d879adbf8aa"
51
+ "gitHead": "5d769615959db92f992904c782b1ab431f2c58ab"
52
52
  }