@plasmicpkgs/react-quill 1.0.112 → 1.0.114
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +18 -18
- package/dist/react-quill.cjs.development.js +1 -1
- package/dist/react-quill.cjs.development.js.map +1 -1
- package/dist/react-quill.cjs.production.min.js +1 -1
- package/dist/react-quill.cjs.production.min.js.map +1 -1
- package/dist/react-quill.esm.js +1 -1
- package/dist/react-quill.esm.js.map +1 -1
- package/dist/useIsClient.d.ts +3 -3
- package/dist/utils.d.ts +24 -24
- package/package.json +5 -5
package/dist/index.d.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { ReactQuillProps } from "react-quill";
|
|
3
|
-
import { Registerable } from "./utils";
|
|
4
|
-
|
|
5
|
-
export declare function Quill(props: ReactQuillProps & {
|
|
6
|
-
containerClassName: string;
|
|
7
|
-
customToolbar: any[];
|
|
8
|
-
toolbar: Record<ToolbarOptionsType, any>;
|
|
9
|
-
}): React.JSX.Element | null;
|
|
10
|
-
export declare const quillHelpers: {
|
|
11
|
-
states: {
|
|
12
|
-
value: {
|
|
13
|
-
onChangeArgsToValue: ((value: string, delta: import("quill").DeltaStatic, source: import("quill").Sources, editor: import("react-quill").UnprivilegedEditor) => void) | undefined;
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
export declare function registerQuill(loader?: Registerable): void;
|
|
18
|
-
export {};
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ReactQuillProps } from "react-quill";
|
|
3
|
+
import { Registerable } from "./utils";
|
|
4
|
+
type ToolbarOptionsType = "textStyle" | "script" | "fontFamily" | "heading" | "fontSizes" | "colors" | "formatting" | "inputTypes";
|
|
5
|
+
export declare function Quill(props: ReactQuillProps & {
|
|
6
|
+
containerClassName: string;
|
|
7
|
+
customToolbar: any[];
|
|
8
|
+
toolbar: Record<ToolbarOptionsType, any>;
|
|
9
|
+
}): React.JSX.Element | null;
|
|
10
|
+
export declare const quillHelpers: {
|
|
11
|
+
states: {
|
|
12
|
+
value: {
|
|
13
|
+
onChangeArgsToValue: ((value: string, delta: import("quill").DeltaStatic, source: import("quill").Sources, editor: import("react-quill").UnprivilegedEditor) => void) | undefined;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export declare function registerQuill(loader?: Registerable): void;
|
|
18
|
+
export {};
|
|
@@ -171,7 +171,7 @@ function Quill(props) {
|
|
|
171
171
|
}
|
|
172
172
|
return React__default.createElement("div", {
|
|
173
173
|
className: containerClassName
|
|
174
|
-
}, React__default.createElement(ReactQuill,
|
|
174
|
+
}, React__default.createElement(ReactQuill, _extends({
|
|
175
175
|
key: key,
|
|
176
176
|
modules: modules
|
|
177
177
|
}, rest)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-quill.cjs.development.js","sources":["../src/utils.ts","../src/useIsClient.ts","../src/index.tsx"],"sourcesContent":["import {\n CodeComponentMeta,\n default as registerComponent,\n} from \"@plasmicapp/host/registerComponent\";\nimport {\n GlobalContextMeta,\n default as registerGlobalContext,\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: CodeComponentMeta<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: CodeComponentMeta<React.ComponentProps<T>>\n) {\n if (loader) {\n loader.registerComponent(component, meta);\n } else {\n registerComponent(component, meta);\n }\n}\n\ntype ReactElt = {\n children: ReactElt | ReactElt[];\n props: {\n children: ReactElt | ReactElt[];\n [prop: string]: any;\n } | null;\n type: React.ComponentType<any> | null;\n key: string | null;\n} | null;\n\nexport function traverseReactEltTree(\n children: React.ReactNode,\n callback: (elt: ReactElt) => void\n) {\n const rec = (elts: ReactElt | ReactElt[] | null) => {\n (Array.isArray(elts) ? elts : [elts]).forEach((elt) => {\n if (elt) {\n callback(elt);\n if (elt.children) {\n rec(elt.children);\n }\n if (elt.props?.children && elt.props.children !== elt.children) {\n rec(elt.props.children);\n }\n }\n });\n };\n rec(children as any);\n}\n\nexport function asArray<T>(x: T[] | T | undefined | null) {\n if (Array.isArray(x)) {\n return x;\n } else if (x == null) {\n return [];\n } else {\n return [x];\n }\n}\n","import React from \"react\";\n\nexport function useIsClient() {\n const [loaded, setLoaded] = React.useState(false);\n useIsomorphicLayoutEffect(() => {\n setLoaded(true);\n });\n return loaded;\n}\n\nconst isBrowser = typeof window !== \"undefined\";\nexport const useIsomorphicLayoutEffect = isBrowser\n ? React.useLayoutEffect\n : React.useEffect;","import React, { useMemo } from \"react\";\nimport { ReactQuillProps } from \"react-quill\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\nimport { PropType } from \"@plasmicapp/host\";\nimport { useIsClient } from \"./useIsClient\";\nconst ReactQuill =\n typeof window !== \"undefined\" ? require(\"react-quill\") : null;\n\ntype ToolbarOptionsType =\n | \"textStyle\"\n | \"script\"\n | \"fontFamily\"\n | \"heading\"\n | \"fontSizes\"\n | \"colors\"\n | \"formatting\"\n | \"inputTypes\";\n\nconst TEXT_STYLE_DICT = {\n bold: \"bold\",\n italic: \"italic\",\n underline: \"underline\",\n strikethrough: \"strike\",\n};\n\nconst HEADING_TYPES_DICT = {\n \"Heading 1\": 1,\n \"Heading 2\": 2,\n \"Heading 3\": 3,\n \"Heading 4\": 4,\n \"Heading 5\": 5,\n \"Heading 6\": 6,\n Body: \"normal\",\n};\n\nconst FONT_SIZES = [\"small\", \"medium\", \"large\", \"huge\"];\n\nconst COLOR_TYPE_DICT = {\n \"text color\": \"color\",\n \"text background\": \"background\",\n};\n\nconst FORMATTING_TYPES_DICT = {\n alignment: \"align\",\n list: \"list\",\n indentation: \"indent\",\n \"text direction\": \"direction\",\n \"clear formatting\": \"clean\",\n};\n\nconst INPUT_TYPES = [\n \"link\",\n \"blockquote\",\n \"image\",\n \"video\",\n \"code-block\",\n \"formula\",\n];\n\nexport function Quill(\n props: ReactQuillProps & {\n containerClassName: string;\n customToolbar: any[];\n toolbar: Record<ToolbarOptionsType, any>;\n }\n) {\n const isClient = useIsClient();\n\n const { containerClassName, toolbar, customToolbar, ...rest } = props;\n\n const modules = useMemo(() => {\n if (customToolbar) {\n return {\n toolbar: customToolbar,\n };\n }\n\n const {\n textStyle,\n fontFamily,\n heading,\n fontSizes,\n colors,\n script,\n formatting,\n inputTypes,\n } = toolbar;\n\n const textStyleControls = Object.keys(TEXT_STYLE_DICT)\n .filter((key) => textStyle.includes(key))\n .map((key) => TEXT_STYLE_DICT[key as keyof typeof TEXT_STYLE_DICT]);\n\n const colorControls = Object.keys(COLOR_TYPE_DICT)\n .filter((key) => colors.includes(key))\n .map((key) => ({\n [COLOR_TYPE_DICT[key as keyof typeof COLOR_TYPE_DICT]]: [],\n }));\n\n const scriptControls = script\n ? [{ script: \"super\" }, { script: \"sub\" }]\n : undefined;\n\n const fontControls = [\n fontFamily ? { font: [] } : undefined,\n heading.length\n ? {\n header: Object.keys(HEADING_TYPES_DICT)\n .filter((key) => heading.includes(key))\n .map(\n (key) =>\n HEADING_TYPES_DICT[key as keyof typeof HEADING_TYPES_DICT]\n ),\n }\n : undefined,\n fontSizes.length\n ? { size: FONT_SIZES.filter((fs) => fontSizes.includes(fs)) }\n : undefined,\n ].filter((i) => i);\n\n const listControlsGroup: any[] = [];\n const indentationControlsGroup: any[] = [];\n const otherFormattingControlsGroup: any[] = [];\n\n formatting?.map((f: keyof typeof FORMATTING_TYPES_DICT) => {\n switch (f) {\n case \"list\":\n listControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"list\"]]: \"ordered\",\n });\n listControlsGroup.push({ [FORMATTING_TYPES_DICT[\"list\"]]: \"bullet\" });\n break;\n case \"alignment\":\n otherFormattingControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"alignment\"]]: [],\n });\n break;\n case \"indentation\":\n indentationControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"indentation\"]]: \"-1\",\n });\n indentationControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"indentation\"]]: \"+1\",\n });\n break;\n case \"text direction\":\n otherFormattingControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"text direction\"]]: \"rtl\",\n });\n break;\n case \"clear formatting\":\n otherFormattingControlsGroup.push(\n FORMATTING_TYPES_DICT[\"clear formatting\"]\n );\n break;\n }\n });\n\n const otherInputControls = inputTypes.length\n ? INPUT_TYPES.filter((inp) => inputTypes.includes(inp))\n : undefined;\n\n return {\n toolbar: [\n textStyleControls,\n colorControls,\n scriptControls,\n fontControls,\n listControlsGroup,\n indentationControlsGroup,\n otherFormattingControlsGroup,\n otherInputControls,\n ].filter((i) => i?.length),\n };\n }, [toolbar, customToolbar]);\n\n const key = useMemo(\n () => JSON.stringify(modules) + String(rest.preserveWhitespace),\n [rest.preserveWhitespace, modules]\n );\n\n if (!isClient) {\n return null;\n }\n\n return (\n <div className={containerClassName}>\n <ReactQuill key={key} modules={modules} {...rest} />\n </div>\n );\n}\n\nexport const quillHelpers = {\n states: {\n value: {\n onChangeArgsToValue: ((content, _delta, _source, _editor) => {\n return content;\n }) as ReactQuillProps[\"onChange\"],\n },\n },\n};\n\nconst toolbarFields: Record<ToolbarOptionsType, PropType<any>> = {\n textStyle: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(TEXT_STYLE_DICT),\n defaultValue: Object.keys(TEXT_STYLE_DICT),\n },\n colors: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(COLOR_TYPE_DICT),\n defaultValue: Object.keys(COLOR_TYPE_DICT),\n },\n script: {\n displayName: \"Super/Sub Script\",\n type: \"boolean\",\n defaultValue: true,\n },\n fontFamily: {\n type: \"boolean\",\n defaultValue: true,\n },\n heading: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(HEADING_TYPES_DICT),\n defaultValue: Object.keys(HEADING_TYPES_DICT),\n },\n fontSizes: {\n type: \"choice\",\n multiSelect: true,\n options: FONT_SIZES,\n defaultValue: FONT_SIZES,\n },\n formatting: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(FORMATTING_TYPES_DICT),\n defaultValue: Object.keys(FORMATTING_TYPES_DICT),\n },\n inputTypes: {\n type: \"choice\",\n multiSelect: true,\n options: INPUT_TYPES,\n defaultValue: INPUT_TYPES,\n },\n} as const;\n\nexport function registerQuill(loader?: Registerable) {\n registerComponentHelper(loader, Quill, {\n name: \"hostless-react-quill\",\n displayName: \"Rich Text Editor\",\n classNameProp: \"containerClassName\",\n defaultStyles: {\n width: \"stretch\",\n },\n props: {\n value: {\n type: \"string\",\n displayName: \"HTML Value\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Contents of the editor\",\n },\n toolbar: {\n type: \"object\",\n fields: { ...toolbarFields },\n defaultValue: Object.keys(toolbarFields).reduce((acc: any, key) => {\n acc[key] = (\n toolbarFields[key as keyof typeof toolbarFields] as any\n ).defaultValue;\n return acc;\n }, {}),\n description: \"Customize the toolbar to show/hide controls\",\n },\n customToolbar: {\n type: \"array\",\n advanced: true,\n description:\n \"Custom toolbar configuration for Quill editor. Overrides the existing toolbar.\",\n helpText:\n \"Check toolbarOptions here: https://quilljs.com/docs/modules/toolbar\",\n },\n placeholder: \"string\",\n preserveWhitespace: {\n type: \"boolean\",\n description:\n \"Prevents Quill from collapsing continuous whitespaces on paste\",\n advanced: true,\n defaultValue: true,\n },\n readOnly: {\n type: \"boolean\",\n description: \"Prevents user from changing the contents of the editor\",\n defaultValue: false,\n advanced: true,\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"content\",\n type: \"string\",\n },\n {\n name: \"delta\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onChangeSelection: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"range\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onFocus: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"range\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onBlur: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"previousRange\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onKeyPress: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n onKeyDown: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n onKeyUp: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n } as any,\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n // initVal: \"\",\n ...quillHelpers.states.value,\n },\n },\n componentHelpers: {\n helpers: quillHelpers,\n importName: \"quillHelpers\",\n importPath: \"@plasmicpkgs/react-quill\",\n },\n importName: \"Quill\",\n importPath: \"@plasmicpkgs/react-quill\",\n });\n}\n"],"names":["registerComponentHelper","loader","component","meta","registerComponent","useIsClient","_React$useState","React","useState","loaded","setLoaded","useIsomorphicLayoutEffect","isBrowser","window","useLayoutEffect","useEffect","ReactQuill","require","TEXT_STYLE_DICT","bold","italic","underline","strikethrough","HEADING_TYPES_DICT","Body","FONT_SIZES","COLOR_TYPE_DICT","FORMATTING_TYPES_DICT","alignment","list","indentation","INPUT_TYPES","Quill","props","isClient","containerClassName","toolbar","customToolbar","rest","_objectWithoutPropertiesLoose","_excluded","modules","useMemo","textStyle","fontFamily","heading","fontSizes","colors","script","formatting","inputTypes","textStyleControls","Object","keys","filter","key","includes","map","colorControls","_ref","scriptControls","undefined","fontControls","font","length","header","size","fs","i","listControlsGroup","indentationControlsGroup","otherFormattingControlsGroup","f","push","_listControlsGroup$pu","_listControlsGroup$pu2","_otherFormattingContr","_indentationControlsG","_indentationControlsG2","_otherFormattingContr2","otherInputControls","inp","JSON","stringify","String","preserveWhitespace","className","quillHelpers","states","value","onChangeArgsToValue","content","_delta","_source","_editor","toolbarFields","type","multiSelect","options","defaultValue","displayName","registerQuill","name","classNameProp","defaultStyles","width","editOnly","uncontrolledProp","description","fields","_extends","reduce","acc","advanced","helpText","placeholder","readOnly","onChange","argTypes","onChangeSelection","onFocus","onBlur","onKeyPress","onKeyDown","onKeyUp","valueProp","onChangeProp","variableType","componentHelpers","helpers","importName","importPath"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-quill.cjs.development.js","sources":["../src/utils.ts","../src/useIsClient.ts","../src/index.tsx"],"sourcesContent":["import {\n CodeComponentMeta,\n default as registerComponent,\n} from \"@plasmicapp/host/registerComponent\";\nimport {\n GlobalContextMeta,\n default as registerGlobalContext,\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: CodeComponentMeta<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: CodeComponentMeta<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","_extends","quillHelpers","states","value","onChangeArgsToValue","content","_delta","_source","_editor","toolbarFields","type","multiSelect","options","defaultValue","displayName","registerQuill","name","classNameProp","defaultStyles","width","editOnly","uncontrolledProp","description","fields","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)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(null,arguments)}require("@plasmicapp/host/registerGlobalContext");var o="undefined"!=typeof window?n.useLayoutEffect:n.useEffect,i=["containerClassName","toolbar","customToolbar"],l="undefined"!=typeof window?require("react-quill"):null,s={bold:"bold",italic:"italic",underline:"underline",strikethrough:"strike"},c={"Heading 1":1,"Heading 2":2,"Heading 3":3,"Heading 4":4,"Heading 5":5,"Heading 6":6,Body:"normal"},u=["small","medium","large","huge"],p={"text color":"color","text background":"background"},d={alignment:"align",list:"list",indentation:"indent","text direction":"direction","clear formatting":"clean"},y=["link","blockquote","image","video","code-block","formula"];function f(e){var a,
|
|
1
|
+
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react"),n=e(t),a=e(require("@plasmicapp/host/registerComponent"));function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(null,arguments)}require("@plasmicapp/host/registerGlobalContext");var o="undefined"!=typeof window?n.useLayoutEffect:n.useEffect,i=["containerClassName","toolbar","customToolbar"],l="undefined"!=typeof window?require("react-quill"):null,s={bold:"bold",italic:"italic",underline:"underline",strikethrough:"strike"},c={"Heading 1":1,"Heading 2":2,"Heading 3":3,"Heading 4":4,"Heading 5":5,"Heading 6":6,Body:"normal"},u=["small","medium","large","huge"],p={"text color":"color","text background":"background"},d={alignment:"align",list:"list",indentation:"indent","text direction":"direction","clear formatting":"clean"},y=["link","blockquote","image","video","code-block","formula"];function f(e){var a,f,m,g=(f=(a=n.useState(!1))[0],m=a[1],o((function(){m(!0)})),f),b=e.containerClassName,h=e.toolbar,v=e.customToolbar,j=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(-1!==t.indexOf(a))continue;n[a]=e[a]}return n}(e,i),k=t.useMemo((function(){if(v)return{toolbar:v};var e=h.textStyle,t=h.fontFamily,n=h.heading,a=h.fontSizes,r=h.colors,o=h.script,i=h.formatting,l=h.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,b=[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,b,j,k,O,S].filter((function(e){return null==e?void 0:e.length}))}}),[h,v]),O=t.useMemo((function(){return JSON.stringify(k)+String(j.preserveWhitespace)}),[j.preserveWhitespace,k]);return g?n.createElement("div",{className:b},n.createElement(l,r({key:O,modules:k},j))):null}var m={states:{value:{onChangeArgsToValue:function(e,t,n,a){return e}}}},g={textStyle:{type:"choice",multiSelect:!0,options:Object.keys(s),defaultValue:Object.keys(s)},colors:{type:"choice",multiSelect:!0,options:Object.keys(p),defaultValue:Object.keys(p)},script:{displayName:"Super/Sub Script",type:"boolean",defaultValue:!0},fontFamily:{type:"boolean",defaultValue:!0},heading:{type:"choice",multiSelect:!0,options:Object.keys(c),defaultValue:Object.keys(c)},fontSizes:{type:"choice",multiSelect:!0,options:u,defaultValue:u},formatting:{type:"choice",multiSelect:!0,options:Object.keys(d),defaultValue:Object.keys(d)},inputTypes:{type:"choice",multiSelect:!0,options:y,defaultValue:y}};exports.Quill=f,exports.quillHelpers=m,exports.registerQuill=function(e){!function(e,t,n){e?e.registerComponent(t,n):a(t,n)}(e,f,{name:"hostless-react-quill",displayName:"Rich Text Editor",classNameProp:"containerClassName",defaultStyles:{width:"stretch"},props:{value:{type:"string",displayName:"HTML Value",editOnly:!0,uncontrolledProp:"defaultValue",description:"Contents of the editor"},toolbar:{type:"object",fields:r({},g),defaultValue:Object.keys(g).reduce((function(e,t){return e[t]=g[t].defaultValue,e}),{}),description:"Customize the toolbar to show/hide controls"},customToolbar:{type:"array",advanced:!0,description:"Custom toolbar configuration for Quill editor. Overrides the existing toolbar.",helpText:"Check toolbarOptions here: https://quilljs.com/docs/modules/toolbar"},placeholder:"string",preserveWhitespace:{type:"boolean",description:"Prevents Quill from collapsing continuous whitespaces on paste",advanced:!0,defaultValue:!0},readOnly:{type:"boolean",description:"Prevents user from changing the contents of the editor",defaultValue:!1,advanced:!0},onChange:{type:"eventHandler",advanced:!0,argTypes:[{name:"content",type:"string"},{name:"delta",type:"object"},{name:"source",type:"string"},{name:"editor",type:"object"}]},onChangeSelection:{type:"eventHandler",advanced:!0,argTypes:[{name:"range",type:"object"},{name:"source",type:"string"},{name:"editor",type:"object"}]},onFocus:{type:"eventHandler",advanced:!0,argTypes:[{name:"range",type:"object"},{name:"source",type:"string"},{name:"editor",type:"object"}]},onBlur:{type:"eventHandler",advanced:!0,argTypes:[{name:"previousRange",type:"object"},{name:"source",type:"string"},{name:"editor",type:"object"}]},onKeyPress:{type:"eventHandler",advanced:!0,argTypes:[{name:"event",type:"object"}]},onKeyDown:{type:"eventHandler",advanced:!0,argTypes:[{name:"event",type:"object"}]},onKeyUp:{type:"eventHandler",advanced:!0,argTypes:[{name:"event",type:"object"}]}},states:{value:r({type:"writable",valueProp:"value",onChangeProp:"onChange",variableType:"text"},m.states.value)},componentHelpers:{helpers:m,importName:"quillHelpers",importPath:"@plasmicpkgs/react-quill"},importName:"Quill",importPath:"@plasmicpkgs/react-quill"})};
|
|
2
2
|
//# sourceMappingURL=react-quill.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-quill.cjs.production.min.js","sources":["../src/useIsClient.ts","../src/index.tsx","../src/utils.ts"],"sourcesContent":["import React from \"react\";\n\nexport function useIsClient() {\n const [loaded, setLoaded] = React.useState(false);\n useIsomorphicLayoutEffect(() => {\n setLoaded(true);\n });\n return loaded;\n}\n\nconst isBrowser = typeof window !== \"undefined\";\nexport const useIsomorphicLayoutEffect = isBrowser\n ? React.useLayoutEffect\n : React.useEffect;","import React, { useMemo } from \"react\";\nimport { ReactQuillProps } from \"react-quill\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\nimport { PropType } from \"@plasmicapp/host\";\nimport { useIsClient } from \"./useIsClient\";\nconst ReactQuill =\n typeof window !== \"undefined\" ? require(\"react-quill\") : null;\n\ntype ToolbarOptionsType =\n | \"textStyle\"\n | \"script\"\n | \"fontFamily\"\n | \"heading\"\n | \"fontSizes\"\n | \"colors\"\n | \"formatting\"\n | \"inputTypes\";\n\nconst TEXT_STYLE_DICT = {\n bold: \"bold\",\n italic: \"italic\",\n underline: \"underline\",\n strikethrough: \"strike\",\n};\n\nconst HEADING_TYPES_DICT = {\n \"Heading 1\": 1,\n \"Heading 2\": 2,\n \"Heading 3\": 3,\n \"Heading 4\": 4,\n \"Heading 5\": 5,\n \"Heading 6\": 6,\n Body: \"normal\",\n};\n\nconst FONT_SIZES = [\"small\", \"medium\", \"large\", \"huge\"];\n\nconst COLOR_TYPE_DICT = {\n \"text color\": \"color\",\n \"text background\": \"background\",\n};\n\nconst FORMATTING_TYPES_DICT = {\n alignment: \"align\",\n list: \"list\",\n indentation: \"indent\",\n \"text direction\": \"direction\",\n \"clear formatting\": \"clean\",\n};\n\nconst INPUT_TYPES = [\n \"link\",\n \"blockquote\",\n \"image\",\n \"video\",\n \"code-block\",\n \"formula\",\n];\n\nexport function Quill(\n props: ReactQuillProps & {\n containerClassName: string;\n customToolbar: any[];\n toolbar: Record<ToolbarOptionsType, any>;\n }\n) {\n const isClient = useIsClient();\n\n const { containerClassName, toolbar, customToolbar, ...rest } = props;\n\n const modules = useMemo(() => {\n if (customToolbar) {\n return {\n toolbar: customToolbar,\n };\n }\n\n const {\n textStyle,\n fontFamily,\n heading,\n fontSizes,\n colors,\n script,\n formatting,\n inputTypes,\n } = toolbar;\n\n const textStyleControls = Object.keys(TEXT_STYLE_DICT)\n .filter((key) => textStyle.includes(key))\n .map((key) => TEXT_STYLE_DICT[key as keyof typeof TEXT_STYLE_DICT]);\n\n const colorControls = Object.keys(COLOR_TYPE_DICT)\n .filter((key) => colors.includes(key))\n .map((key) => ({\n [COLOR_TYPE_DICT[key as keyof typeof COLOR_TYPE_DICT]]: [],\n }));\n\n const scriptControls = script\n ? [{ script: \"super\" }, { script: \"sub\" }]\n : undefined;\n\n const fontControls = [\n fontFamily ? { font: [] } : undefined,\n heading.length\n ? {\n header: Object.keys(HEADING_TYPES_DICT)\n .filter((key) => heading.includes(key))\n .map(\n (key) =>\n HEADING_TYPES_DICT[key as keyof typeof HEADING_TYPES_DICT]\n ),\n }\n : undefined,\n fontSizes.length\n ? { size: FONT_SIZES.filter((fs) => fontSizes.includes(fs)) }\n : undefined,\n ].filter((i) => i);\n\n const listControlsGroup: any[] = [];\n const indentationControlsGroup: any[] = [];\n const otherFormattingControlsGroup: any[] = [];\n\n formatting?.map((f: keyof typeof FORMATTING_TYPES_DICT) => {\n switch (f) {\n case \"list\":\n listControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"list\"]]: \"ordered\",\n });\n listControlsGroup.push({ [FORMATTING_TYPES_DICT[\"list\"]]: \"bullet\" });\n break;\n case \"alignment\":\n otherFormattingControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"alignment\"]]: [],\n });\n break;\n case \"indentation\":\n indentationControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"indentation\"]]: \"-1\",\n });\n indentationControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"indentation\"]]: \"+1\",\n });\n break;\n case \"text direction\":\n otherFormattingControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"text direction\"]]: \"rtl\",\n });\n break;\n case \"clear formatting\":\n otherFormattingControlsGroup.push(\n FORMATTING_TYPES_DICT[\"clear formatting\"]\n );\n break;\n }\n });\n\n const otherInputControls = inputTypes.length\n ? INPUT_TYPES.filter((inp) => inputTypes.includes(inp))\n : undefined;\n\n return {\n toolbar: [\n textStyleControls,\n colorControls,\n scriptControls,\n fontControls,\n listControlsGroup,\n indentationControlsGroup,\n otherFormattingControlsGroup,\n otherInputControls,\n ].filter((i) => i?.length),\n };\n }, [toolbar, customToolbar]);\n\n const key = useMemo(\n () => JSON.stringify(modules) + String(rest.preserveWhitespace),\n [rest.preserveWhitespace, modules]\n );\n\n if (!isClient) {\n return null;\n }\n\n return (\n <div className={containerClassName}>\n <ReactQuill key={key} modules={modules} {...rest} />\n </div>\n );\n}\n\nexport const quillHelpers = {\n states: {\n value: {\n onChangeArgsToValue: ((content, _delta, _source, _editor) => {\n return content;\n }) as ReactQuillProps[\"onChange\"],\n },\n },\n};\n\nconst toolbarFields: Record<ToolbarOptionsType, PropType<any>> = {\n textStyle: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(TEXT_STYLE_DICT),\n defaultValue: Object.keys(TEXT_STYLE_DICT),\n },\n colors: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(COLOR_TYPE_DICT),\n defaultValue: Object.keys(COLOR_TYPE_DICT),\n },\n script: {\n displayName: \"Super/Sub Script\",\n type: \"boolean\",\n defaultValue: true,\n },\n fontFamily: {\n type: \"boolean\",\n defaultValue: true,\n },\n heading: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(HEADING_TYPES_DICT),\n defaultValue: Object.keys(HEADING_TYPES_DICT),\n },\n fontSizes: {\n type: \"choice\",\n multiSelect: true,\n options: FONT_SIZES,\n defaultValue: FONT_SIZES,\n },\n formatting: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(FORMATTING_TYPES_DICT),\n defaultValue: Object.keys(FORMATTING_TYPES_DICT),\n },\n inputTypes: {\n type: \"choice\",\n multiSelect: true,\n options: INPUT_TYPES,\n defaultValue: INPUT_TYPES,\n },\n} as const;\n\nexport function registerQuill(loader?: Registerable) {\n registerComponentHelper(loader, Quill, {\n name: \"hostless-react-quill\",\n displayName: \"Rich Text Editor\",\n classNameProp: \"containerClassName\",\n defaultStyles: {\n width: \"stretch\",\n },\n props: {\n value: {\n type: \"string\",\n displayName: \"HTML Value\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Contents of the editor\",\n },\n toolbar: {\n type: \"object\",\n fields: { ...toolbarFields },\n defaultValue: Object.keys(toolbarFields).reduce((acc: any, key) => {\n acc[key] = (\n toolbarFields[key as keyof typeof toolbarFields] as any\n ).defaultValue;\n return acc;\n }, {}),\n description: \"Customize the toolbar to show/hide controls\",\n },\n customToolbar: {\n type: \"array\",\n advanced: true,\n description:\n \"Custom toolbar configuration for Quill editor. Overrides the existing toolbar.\",\n helpText:\n \"Check toolbarOptions here: https://quilljs.com/docs/modules/toolbar\",\n },\n placeholder: \"string\",\n preserveWhitespace: {\n type: \"boolean\",\n description:\n \"Prevents Quill from collapsing continuous whitespaces on paste\",\n advanced: true,\n defaultValue: true,\n },\n readOnly: {\n type: \"boolean\",\n description: \"Prevents user from changing the contents of the editor\",\n defaultValue: false,\n advanced: true,\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"content\",\n type: \"string\",\n },\n {\n name: \"delta\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onChangeSelection: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"range\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onFocus: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"range\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onBlur: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"previousRange\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onKeyPress: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n onKeyDown: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n onKeyUp: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n } as any,\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n // initVal: \"\",\n ...quillHelpers.states.value,\n },\n },\n componentHelpers: {\n helpers: quillHelpers,\n importName: \"quillHelpers\",\n importPath: \"@plasmicpkgs/react-quill\",\n },\n importName: \"Quill\",\n importPath: \"@plasmicpkgs/react-quill\",\n });\n}\n","import {\n CodeComponentMeta,\n default as registerComponent,\n} from \"@plasmicapp/host/registerComponent\";\nimport {\n GlobalContextMeta,\n default as registerGlobalContext,\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: CodeComponentMeta<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: CodeComponentMeta<React.ComponentProps<T>>\n) {\n if (loader) {\n loader.registerComponent(component, meta);\n } else {\n registerComponent(component, meta);\n }\n}\n\ntype ReactElt = {\n children: ReactElt | ReactElt[];\n props: {\n children: ReactElt | ReactElt[];\n [prop: string]: any;\n } | null;\n type: React.ComponentType<any> | null;\n key: string | null;\n} | null;\n\nexport function traverseReactEltTree(\n children: React.ReactNode,\n callback: (elt: ReactElt) => void\n) {\n const rec = (elts: ReactElt | ReactElt[] | null) => {\n (Array.isArray(elts) ? elts : [elts]).forEach((elt) => {\n if (elt) {\n callback(elt);\n if (elt.children) {\n rec(elt.children);\n }\n if (elt.props?.children && elt.props.children !== elt.children) {\n rec(elt.props.children);\n }\n }\n });\n };\n rec(children as any);\n}\n\nexport function asArray<T>(x: T[] | T | undefined | null) {\n if (Array.isArray(x)) {\n return x;\n } else if (x == null) {\n return [];\n } else {\n return [x];\n }\n}\n"],"names":["useIsomorphicLayoutEffect","window","React","useLayoutEffect","useEffect","ReactQuill","require","TEXT_STYLE_DICT","bold","italic","underline","strikethrough","HEADING_TYPES_DICT","Heading 1","Heading 2","Heading 3","Heading 4","Heading 5","Heading 6","Body","FONT_SIZES","COLOR_TYPE_DICT","text color","text background","FORMATTING_TYPES_DICT","alignment","list","indentation","text direction","clear formatting","INPUT_TYPES","Quill","props","_React$useState","loaded","setLoaded","isClient","useState","containerClassName","toolbar","customToolbar","rest","_objectWithoutPropertiesLoose","_excluded","modules","useMemo","textStyle","fontFamily","heading","fontSizes","colors","script","formatting","inputTypes","textStyleControls","Object","keys","filter","key","includes","map","colorControls","_ref","scriptControls","undefined","fontControls","font","length","header","size","fs","i","listControlsGroup","indentationControlsGroup","otherFormattingControlsGroup","f","push","_listControlsGroup$pu","_listControlsGroup$pu2","_otherFormattingContr","_indentationControlsG","_indentationControlsG2","_otherFormattingContr2","otherInputControls","inp","JSON","stringify","String","preserveWhitespace","className","quillHelpers","states","value","onChangeArgsToValue","content","_delta","_source","_editor","toolbarFields","type","multiSelect","options","defaultValue","displayName","loader","component","meta","registerComponent","registerComponentHelper","name","classNameProp","defaultStyles","width","editOnly","uncontrolledProp","description","fields","_extends","reduce","acc","advanced","helpText","placeholder","readOnly","onChange","argTypes","onChangeSelection","onFocus","onBlur","onKeyPress","onKeyDown","onKeyUp","valueProp","onChangeProp","variableType","componentHelpers","helpers","importName","importPath"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-quill.cjs.production.min.js","sources":["../src/useIsClient.ts","../src/index.tsx","../src/utils.ts"],"sourcesContent":["import React from \"react\";\n\nexport function useIsClient() {\n const [loaded, setLoaded] = React.useState(false);\n useIsomorphicLayoutEffect(() => {\n setLoaded(true);\n });\n return loaded;\n}\n\nconst isBrowser = typeof window !== \"undefined\";\nexport const useIsomorphicLayoutEffect = isBrowser\n ? React.useLayoutEffect\n : React.useEffect;","import React, { useMemo } from \"react\";\nimport { ReactQuillProps } from \"react-quill\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\nimport { PropType } from \"@plasmicapp/host\";\nimport { useIsClient } from \"./useIsClient\";\nconst ReactQuill =\n typeof window !== \"undefined\" ? require(\"react-quill\") : null;\n\ntype ToolbarOptionsType =\n | \"textStyle\"\n | \"script\"\n | \"fontFamily\"\n | \"heading\"\n | \"fontSizes\"\n | \"colors\"\n | \"formatting\"\n | \"inputTypes\";\n\nconst TEXT_STYLE_DICT = {\n bold: \"bold\",\n italic: \"italic\",\n underline: \"underline\",\n strikethrough: \"strike\",\n};\n\nconst HEADING_TYPES_DICT = {\n \"Heading 1\": 1,\n \"Heading 2\": 2,\n \"Heading 3\": 3,\n \"Heading 4\": 4,\n \"Heading 5\": 5,\n \"Heading 6\": 6,\n Body: \"normal\",\n};\n\nconst FONT_SIZES = [\"small\", \"medium\", \"large\", \"huge\"];\n\nconst COLOR_TYPE_DICT = {\n \"text color\": \"color\",\n \"text background\": \"background\",\n};\n\nconst FORMATTING_TYPES_DICT = {\n alignment: \"align\",\n list: \"list\",\n indentation: \"indent\",\n \"text direction\": \"direction\",\n \"clear formatting\": \"clean\",\n};\n\nconst INPUT_TYPES = [\n \"link\",\n \"blockquote\",\n \"image\",\n \"video\",\n \"code-block\",\n \"formula\",\n];\n\nexport function Quill(\n props: ReactQuillProps & {\n containerClassName: string;\n customToolbar: any[];\n toolbar: Record<ToolbarOptionsType, any>;\n }\n) {\n const isClient = useIsClient();\n\n const { containerClassName, toolbar, customToolbar, ...rest } = props;\n\n const modules = useMemo(() => {\n if (customToolbar) {\n return {\n toolbar: customToolbar,\n };\n }\n\n const {\n textStyle,\n fontFamily,\n heading,\n fontSizes,\n colors,\n script,\n formatting,\n inputTypes,\n } = toolbar;\n\n const textStyleControls = Object.keys(TEXT_STYLE_DICT)\n .filter((key) => textStyle.includes(key))\n .map((key) => TEXT_STYLE_DICT[key as keyof typeof TEXT_STYLE_DICT]);\n\n const colorControls = Object.keys(COLOR_TYPE_DICT)\n .filter((key) => colors.includes(key))\n .map((key) => ({\n [COLOR_TYPE_DICT[key as keyof typeof COLOR_TYPE_DICT]]: [],\n }));\n\n const scriptControls = script\n ? [{ script: \"super\" }, { script: \"sub\" }]\n : undefined;\n\n const fontControls = [\n fontFamily ? { font: [] } : undefined,\n heading.length\n ? {\n header: Object.keys(HEADING_TYPES_DICT)\n .filter((key) => heading.includes(key))\n .map(\n (key) =>\n HEADING_TYPES_DICT[key as keyof typeof HEADING_TYPES_DICT]\n ),\n }\n : undefined,\n fontSizes.length\n ? { size: FONT_SIZES.filter((fs) => fontSizes.includes(fs)) }\n : undefined,\n ].filter((i) => i);\n\n const listControlsGroup: any[] = [];\n const indentationControlsGroup: any[] = [];\n const otherFormattingControlsGroup: any[] = [];\n\n formatting?.map((f: keyof typeof FORMATTING_TYPES_DICT) => {\n switch (f) {\n case \"list\":\n listControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"list\"]]: \"ordered\",\n });\n listControlsGroup.push({ [FORMATTING_TYPES_DICT[\"list\"]]: \"bullet\" });\n break;\n case \"alignment\":\n otherFormattingControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"alignment\"]]: [],\n });\n break;\n case \"indentation\":\n indentationControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"indentation\"]]: \"-1\",\n });\n indentationControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"indentation\"]]: \"+1\",\n });\n break;\n case \"text direction\":\n otherFormattingControlsGroup.push({\n [FORMATTING_TYPES_DICT[\"text direction\"]]: \"rtl\",\n });\n break;\n case \"clear formatting\":\n otherFormattingControlsGroup.push(\n FORMATTING_TYPES_DICT[\"clear formatting\"]\n );\n break;\n }\n });\n\n const otherInputControls = inputTypes.length\n ? INPUT_TYPES.filter((inp) => inputTypes.includes(inp))\n : undefined;\n\n return {\n toolbar: [\n textStyleControls,\n colorControls,\n scriptControls,\n fontControls,\n listControlsGroup,\n indentationControlsGroup,\n otherFormattingControlsGroup,\n otherInputControls,\n ].filter((i) => i?.length),\n };\n }, [toolbar, customToolbar]);\n\n const key = useMemo(\n () => JSON.stringify(modules) + String(rest.preserveWhitespace),\n [rest.preserveWhitespace, modules]\n );\n\n if (!isClient) {\n return null;\n }\n\n return (\n <div className={containerClassName}>\n <ReactQuill key={key} modules={modules} {...rest} />\n </div>\n );\n}\n\nexport const quillHelpers = {\n states: {\n value: {\n onChangeArgsToValue: ((content, _delta, _source, _editor) => {\n return content;\n }) as ReactQuillProps[\"onChange\"],\n },\n },\n};\n\nconst toolbarFields: Record<ToolbarOptionsType, PropType<any>> = {\n textStyle: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(TEXT_STYLE_DICT),\n defaultValue: Object.keys(TEXT_STYLE_DICT),\n },\n colors: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(COLOR_TYPE_DICT),\n defaultValue: Object.keys(COLOR_TYPE_DICT),\n },\n script: {\n displayName: \"Super/Sub Script\",\n type: \"boolean\",\n defaultValue: true,\n },\n fontFamily: {\n type: \"boolean\",\n defaultValue: true,\n },\n heading: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(HEADING_TYPES_DICT),\n defaultValue: Object.keys(HEADING_TYPES_DICT),\n },\n fontSizes: {\n type: \"choice\",\n multiSelect: true,\n options: FONT_SIZES,\n defaultValue: FONT_SIZES,\n },\n formatting: {\n type: \"choice\",\n multiSelect: true,\n options: Object.keys(FORMATTING_TYPES_DICT),\n defaultValue: Object.keys(FORMATTING_TYPES_DICT),\n },\n inputTypes: {\n type: \"choice\",\n multiSelect: true,\n options: INPUT_TYPES,\n defaultValue: INPUT_TYPES,\n },\n} as const;\n\nexport function registerQuill(loader?: Registerable) {\n registerComponentHelper(loader, Quill, {\n name: \"hostless-react-quill\",\n displayName: \"Rich Text Editor\",\n classNameProp: \"containerClassName\",\n defaultStyles: {\n width: \"stretch\",\n },\n props: {\n value: {\n type: \"string\",\n displayName: \"HTML Value\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Contents of the editor\",\n },\n toolbar: {\n type: \"object\",\n fields: { ...toolbarFields },\n defaultValue: Object.keys(toolbarFields).reduce((acc: any, key) => {\n acc[key] = (\n toolbarFields[key as keyof typeof toolbarFields] as any\n ).defaultValue;\n return acc;\n }, {}),\n description: \"Customize the toolbar to show/hide controls\",\n },\n customToolbar: {\n type: \"array\",\n advanced: true,\n description:\n \"Custom toolbar configuration for Quill editor. Overrides the existing toolbar.\",\n helpText:\n \"Check toolbarOptions here: https://quilljs.com/docs/modules/toolbar\",\n },\n placeholder: \"string\",\n preserveWhitespace: {\n type: \"boolean\",\n description:\n \"Prevents Quill from collapsing continuous whitespaces on paste\",\n advanced: true,\n defaultValue: true,\n },\n readOnly: {\n type: \"boolean\",\n description: \"Prevents user from changing the contents of the editor\",\n defaultValue: false,\n advanced: true,\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"content\",\n type: \"string\",\n },\n {\n name: \"delta\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onChangeSelection: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"range\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onFocus: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"range\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onBlur: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"previousRange\",\n type: \"object\",\n },\n {\n name: \"source\",\n type: \"string\",\n },\n {\n name: \"editor\",\n type: \"object\",\n },\n ],\n },\n onKeyPress: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n onKeyDown: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n onKeyUp: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n } as any,\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n // initVal: \"\",\n ...quillHelpers.states.value,\n },\n },\n componentHelpers: {\n helpers: quillHelpers,\n importName: \"quillHelpers\",\n importPath: \"@plasmicpkgs/react-quill\",\n },\n importName: \"Quill\",\n importPath: \"@plasmicpkgs/react-quill\",\n });\n}\n","import {\n CodeComponentMeta,\n default as registerComponent,\n} from \"@plasmicapp/host/registerComponent\";\nimport {\n GlobalContextMeta,\n default as registerGlobalContext,\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: CodeComponentMeta<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: CodeComponentMeta<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","_extends","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","reduce","acc","advanced","helpText","placeholder","readOnly","onChange","argTypes","onChangeSelection","onFocus","onBlur","onKeyPress","onKeyDown","onKeyUp","valueProp","onChangeProp","variableType","componentHelpers","helpers","importName","importPath"],"mappings":"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"}
|
package/dist/react-quill.esm.js
CHANGED
|
@@ -164,7 +164,7 @@ function Quill(props) {
|
|
|
164
164
|
}
|
|
165
165
|
return React.createElement("div", {
|
|
166
166
|
className: containerClassName
|
|
167
|
-
}, React.createElement(ReactQuill,
|
|
167
|
+
}, React.createElement(ReactQuill, _extends({
|
|
168
168
|
key: key,
|
|
169
169
|
modules: modules
|
|
170
170
|
}, rest)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-quill.esm.js","sources":["../src/utils.ts","../src/useIsClient.ts","../src/index.tsx"],"sourcesContent":["import {\n CodeComponentMeta,\n default as registerComponent,\n} from \"@plasmicapp/host/registerComponent\";\nimport {\n GlobalContextMeta,\n default as registerGlobalContext,\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: CodeComponentMeta<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: CodeComponentMeta<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,IAAgD;EAEhD,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,SAAtBA,mBAAmBA,CAAIC,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;;;;"}
|
|
1
|
+
{"version":3,"file":"react-quill.esm.js","sources":["../src/utils.ts","../src/useIsClient.ts","../src/index.tsx"],"sourcesContent":["import {\n CodeComponentMeta,\n default as registerComponent,\n} from \"@plasmicapp/host/registerComponent\";\nimport {\n GlobalContextMeta,\n default as registerGlobalContext,\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: CodeComponentMeta<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: CodeComponentMeta<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","_extends","quillHelpers","states","value","onChangeArgsToValue","content","_delta","_source","_editor","toolbarFields","type","multiSelect","options","defaultValue","displayName","registerQuill","name","classNameProp","defaultStyles","width","editOnly","uncontrolledProp","description","fields","reduce","acc","advanced","helpText","placeholder","readOnly","onChange","argTypes","onChangeSelection","onFocus","onBlur","onKeyPress","onKeyDown","onKeyUp","valueProp","onChangeProp","variableType","componentHelpers","helpers","importName","importPath"],"mappings":"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"}
|
package/dist/useIsClient.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
export declare function useIsClient(): boolean;
|
|
3
|
-
export declare const useIsomorphicLayoutEffect: typeof React.useLayoutEffect;
|
|
1
|
+
import React from "react";
|
|
2
|
+
export declare function useIsClient(): boolean;
|
|
3
|
+
export declare const useIsomorphicLayoutEffect: typeof React.useLayoutEffect;
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { CodeComponentMeta, default as registerComponent } from "@plasmicapp/host/registerComponent";
|
|
2
|
-
import { GlobalContextMeta, default as registerGlobalContext } from "@plasmicapp/host/registerGlobalContext";
|
|
3
|
-
import { default as registerToken } from "@plasmicapp/host/registerToken";
|
|
4
|
-
import React from "react";
|
|
5
|
-
export
|
|
6
|
-
registerComponent: typeof registerComponent;
|
|
7
|
-
registerGlobalContext: typeof registerGlobalContext;
|
|
8
|
-
registerToken: typeof registerToken;
|
|
9
|
-
};
|
|
10
|
-
export declare function makeRegisterComponent<T extends React.ComponentType<any>>(component: T, meta: CodeComponentMeta<React.ComponentProps<T>>): (loader?: Registerable
|
|
11
|
-
export declare function makeRegisterGlobalContext<T extends React.ComponentType<any>>(component: T, meta: GlobalContextMeta<React.ComponentProps<T>>): (loader?: Registerable
|
|
12
|
-
export declare function registerComponentHelper<T extends React.ComponentType<any>>(loader: Registerable | undefined, component: T, meta: CodeComponentMeta<React.ComponentProps<T>>): void;
|
|
13
|
-
|
|
14
|
-
children: ReactElt | ReactElt[];
|
|
15
|
-
props: {
|
|
16
|
-
children: ReactElt | ReactElt[];
|
|
17
|
-
[prop: string]: any;
|
|
18
|
-
} | null;
|
|
19
|
-
type: React.ComponentType<any> | null;
|
|
20
|
-
key: string | null;
|
|
21
|
-
} | null;
|
|
22
|
-
export declare function traverseReactEltTree(children: React.ReactNode, callback: (elt: ReactElt) => void): void;
|
|
23
|
-
export declare function asArray<T>(x: T[] | T | undefined | null): T[];
|
|
24
|
-
export {};
|
|
1
|
+
import { CodeComponentMeta, default as registerComponent } from "@plasmicapp/host/registerComponent";
|
|
2
|
+
import { GlobalContextMeta, default as registerGlobalContext } from "@plasmicapp/host/registerGlobalContext";
|
|
3
|
+
import { default as registerToken } from "@plasmicapp/host/registerToken";
|
|
4
|
+
import React from "react";
|
|
5
|
+
export type Registerable = {
|
|
6
|
+
registerComponent: typeof registerComponent;
|
|
7
|
+
registerGlobalContext: typeof registerGlobalContext;
|
|
8
|
+
registerToken: typeof registerToken;
|
|
9
|
+
};
|
|
10
|
+
export declare function makeRegisterComponent<T extends React.ComponentType<any>>(component: T, meta: CodeComponentMeta<React.ComponentProps<T>>): (loader?: Registerable) => void;
|
|
11
|
+
export declare function makeRegisterGlobalContext<T extends React.ComponentType<any>>(component: T, meta: GlobalContextMeta<React.ComponentProps<T>>): (loader?: Registerable) => void;
|
|
12
|
+
export declare function registerComponentHelper<T extends React.ComponentType<any>>(loader: Registerable | undefined, component: T, meta: CodeComponentMeta<React.ComponentProps<T>>): void;
|
|
13
|
+
type ReactElt = {
|
|
14
|
+
children: ReactElt | ReactElt[];
|
|
15
|
+
props: {
|
|
16
|
+
children: ReactElt | ReactElt[];
|
|
17
|
+
[prop: string]: any;
|
|
18
|
+
} | null;
|
|
19
|
+
type: React.ComponentType<any> | null;
|
|
20
|
+
key: string | null;
|
|
21
|
+
} | null;
|
|
22
|
+
export declare function traverseReactEltTree(children: React.ReactNode, callback: (elt: ReactElt) => void): void;
|
|
23
|
+
export declare function asArray<T>(x: T[] | T | undefined | null): T[];
|
|
24
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plasmicpkgs/react-quill",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.114",
|
|
4
4
|
"description": "Plasmic registration call for react-quill WYSIWYG Editor",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -21,15 +21,15 @@
|
|
|
21
21
|
"scripts": {
|
|
22
22
|
"build": "tsdx build",
|
|
23
23
|
"start": "tsdx watch",
|
|
24
|
-
"test": "TEST_CWD=`pwd`
|
|
24
|
+
"test": "TEST_CWD=`pwd` pnpm -w test --passWithNoTests",
|
|
25
25
|
"lint": "tsdx lint",
|
|
26
26
|
"prepublishOnly": "npm run build",
|
|
27
27
|
"size": "size-limit",
|
|
28
28
|
"analyze": "size-limit --why"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@plasmicapp/host": "2.0.
|
|
32
|
-
"@types/node": "^14.
|
|
31
|
+
"@plasmicapp/host": "2.0.8",
|
|
32
|
+
"@types/node": "^14.18.63",
|
|
33
33
|
"@types/react": "^18",
|
|
34
34
|
"tsdx": "^0.14.1",
|
|
35
35
|
"tslib": "^2.2.0"
|
|
@@ -45,5 +45,5 @@
|
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"react-quill": "^2.0.0"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "f2542f3c07f280e033323f363580af5dd8dc534b"
|
|
49
49
|
}
|