@plasmicapp/react-web 0.2.106 → 0.2.109

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.
Files changed (34) hide show
  1. package/dist/all.d.ts +3 -1
  2. package/dist/plume/triggered-overlay/triggered-overlay.d.ts +1 -1
  3. package/dist/react-web.cjs.development.js +8 -2
  4. package/dist/react-web.cjs.development.js.map +1 -1
  5. package/dist/react-web.cjs.production.min.js +1 -1
  6. package/dist/react-web.cjs.production.min.js.map +1 -1
  7. package/dist/react-web.esm.js +8 -2
  8. package/dist/react-web.esm.js.map +1 -1
  9. package/dist/render/{PlasmicHead.d.ts → PlasmicHead/index.d.ts} +2 -0
  10. package/package.json +1 -1
  11. package/skinny/dist/index.js +3 -2
  12. package/skinny/dist/index.js.map +1 -1
  13. package/skinny/dist/plume/checkbox/index.js +2 -1
  14. package/skinny/dist/plume/checkbox/index.js.map +1 -1
  15. package/skinny/dist/plume/menu/index.js +2 -1
  16. package/skinny/dist/plume/menu/index.js.map +1 -1
  17. package/skinny/dist/plume/menu-button/index.js +2 -1
  18. package/skinny/dist/plume/menu-button/index.js.map +1 -1
  19. package/skinny/dist/plume/select/index.js +2 -1
  20. package/skinny/dist/plume/select/index.js.map +1 -1
  21. package/skinny/dist/plume/switch/index.js +2 -1
  22. package/skinny/dist/plume/switch/index.js.map +1 -1
  23. package/skinny/dist/plume/triggered-overlay/index.js +3 -2
  24. package/skinny/dist/plume/triggered-overlay/index.js.map +1 -1
  25. package/skinny/dist/plume/triggered-overlay/triggered-overlay.d.ts +1 -1
  26. package/skinny/dist/render/PlasmicHead/index.d.ts +37 -0
  27. package/skinny/dist/render/PlasmicHead/index.js +55 -0
  28. package/skinny/dist/render/PlasmicHead/index.js.map +1 -0
  29. package/skinny/dist/ssr-5141fc77.js +158 -0
  30. package/skinny/dist/ssr-5141fc77.js.map +1 -0
  31. package/skinny/dist/ssr-84e27ffb.js +110 -0
  32. package/skinny/dist/ssr-84e27ffb.js.map +1 -0
  33. package/skinny/dist/ssr-b1615b80.js +110 -0
  34. package/skinny/dist/ssr-b1615b80.js.map +1 -0
@@ -0,0 +1,110 @@
1
+ import { SSRProvider, useIsSSR as useIsSSR$1 } from '@react-aria/ssr';
2
+ import * as React from 'react';
3
+ import React__default from 'react';
4
+ import { PlasmicHeadContext } from './render/PlasmicHead/index.js';
5
+
6
+ var PlasmicTranslatorContext = React__default.createContext(undefined);
7
+ function isIterable(val) {
8
+ return val != null && typeof val[Symbol.iterator] === "function";
9
+ }
10
+ function genTranslatableString(elt) {
11
+ var components = {};
12
+ var componentsCount = 0;
13
+ var getText = function (node) {
14
+ if (!node) {
15
+ return "";
16
+ }
17
+ if (typeof node === "number" ||
18
+ typeof node === "boolean" ||
19
+ typeof node === "string") {
20
+ return node.toString();
21
+ }
22
+ if (typeof node !== "object") {
23
+ return "";
24
+ }
25
+ if (Array.isArray(node) || isIterable(node)) {
26
+ return Array.from(node)
27
+ .map(function (child) { return getText(child); })
28
+ .filter(function (child) { return !!child; })
29
+ .join("");
30
+ }
31
+ var nodeChildren = (hasKey(node, "props") &&
32
+ hasKey(node.props, "children") &&
33
+ node.props.children) ||
34
+ (hasKey(node, "children") && node.children) ||
35
+ [];
36
+ var contents = "" + React__default.Children.toArray(nodeChildren)
37
+ .map(function (child) { return getText(child); })
38
+ .filter(function (child) { return !!child; })
39
+ .join("");
40
+ if (React__default.isValidElement(node) && node.type === React__default.Fragment) {
41
+ return contents;
42
+ }
43
+ var componentId = componentsCount + 1;
44
+ componentsCount++;
45
+ components[componentId] = React__default.isValidElement(node)
46
+ ? React__default.cloneElement(node, {
47
+ key: componentId,
48
+ children: undefined,
49
+ })
50
+ : node;
51
+ return "<" + componentId + ">" + contents + "</" + componentId + ">";
52
+ };
53
+ var str = getText(elt);
54
+ return {
55
+ str: str,
56
+ components: components,
57
+ componentsCount: componentsCount,
58
+ };
59
+ }
60
+ function Trans(_a) {
61
+ var children = _a.children;
62
+ var _t = React__default.useContext(PlasmicTranslatorContext);
63
+ if (!_t) {
64
+ warnNoTranslationFunctionAtMostOnce();
65
+ return children;
66
+ }
67
+ var _b = genTranslatableString(children), str = _b.str, components = _b.components, componentsCount = _b.componentsCount;
68
+ return _t(str, componentsCount > 0 ? { components: components } : undefined);
69
+ }
70
+ var hasWarned = false;
71
+ function warnNoTranslationFunctionAtMostOnce() {
72
+ if (!hasWarned) {
73
+ console.warn("Using Plasmic Translation but no translation function has been provided");
74
+ hasWarned = true;
75
+ }
76
+ }
77
+ function hasKey(v, key) {
78
+ return typeof v === "object" && v !== null && key in v;
79
+ }
80
+
81
+ var PlasmicRootContext = React.createContext(undefined);
82
+ function PlasmicRootProvider(props) {
83
+ var platform = props.platform, children = props.children;
84
+ var context = React.useMemo(function () { return ({
85
+ platform: platform,
86
+ }); }, [platform]);
87
+ return (React.createElement(PlasmicRootContext.Provider, { value: context },
88
+ React.createElement(SSRProvider, null,
89
+ React.createElement(PlasmicTranslatorContext.Provider, { value: props.translator },
90
+ React.createElement(PlasmicHeadContext.Provider, { value: props.Head }, children)))));
91
+ }
92
+ var useIsSSR = useIsSSR$1;
93
+ function useHasPlasmicRoot() {
94
+ return !!React.useContext(PlasmicRootContext);
95
+ }
96
+ var hasWarnedSSR = false;
97
+ /**
98
+ * Warns the user if PlasmicRootProvider is not used
99
+ */
100
+ function useEnsureSSRProvider() {
101
+ var hasRoot = useHasPlasmicRoot();
102
+ if (hasRoot || hasWarnedSSR || process.env.NODE_ENV !== "development") {
103
+ return;
104
+ }
105
+ hasWarnedSSR = true;
106
+ console.warn("Plasmic: To ensure your components work correctly with server-side rendering, please use PlasmicRootProvider at the root of your application. See https://docs.plasmic.app/learn/ssr");
107
+ }
108
+
109
+ export { PlasmicRootProvider as P, Trans as T, useEnsureSSRProvider as a, genTranslatableString as g, useIsSSR as u };
110
+ //# sourceMappingURL=ssr-84e27ffb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssr-84e27ffb.js","sources":["../../src/render/translation.tsx","../../src/render/ssr.tsx"],"sourcesContent":["import React from \"react\";\n\nexport type PlasmicTranslator = (\n str: string,\n opts?: {\n components?: {\n [key: string]: React.ReactElement;\n };\n }\n) => React.ReactNode;\n\nexport const PlasmicTranslatorContext =\n React.createContext<PlasmicTranslator | undefined>(undefined);\n\nexport interface TransProps {\n children?: React.ReactNode;\n}\n\nfunction isIterable(val: any): val is Iterable<any> {\n return val != null && typeof val[Symbol.iterator] === \"function\";\n}\n\nexport function genTranslatableString(elt: React.ReactNode) {\n const components: {\n [key: string]: React.ReactElement;\n } = {};\n let componentsCount = 0;\n\n const getText = (node: React.ReactNode): string => {\n if (!node) {\n return \"\";\n }\n if (\n typeof node === \"number\" ||\n typeof node === \"boolean\" ||\n typeof node === \"string\"\n ) {\n return node.toString();\n }\n if (typeof node !== \"object\") {\n return \"\";\n }\n if (Array.isArray(node) || isIterable(node)) {\n return Array.from(node)\n .map((child) => getText(child))\n .filter((child) => !!child)\n .join(\"\");\n }\n const nodeChildren: React.ReactNode =\n (hasKey(node, \"props\") &&\n hasKey(node.props, \"children\") &&\n (node.props.children as React.ReactNode | undefined)) ||\n (hasKey(node, \"children\") && node.children) ||\n [];\n const contents = `${React.Children.toArray(nodeChildren)\n .map((child) => getText(child))\n .filter((child) => !!child)\n .join(\"\")}`;\n if (React.isValidElement(node) && node.type === React.Fragment) {\n return contents;\n }\n const componentId = componentsCount + 1;\n componentsCount++;\n components[componentId] = React.isValidElement(node)\n ? React.cloneElement(node as any, {\n key: componentId,\n children: undefined,\n })\n : (node as never);\n return `<${componentId}>${contents}</${componentId}>`;\n };\n\n const str = getText(elt);\n return {\n str,\n components,\n componentsCount,\n };\n}\n\nexport function Trans({ children }: TransProps) {\n const _t = React.useContext(PlasmicTranslatorContext);\n if (!_t) {\n warnNoTranslationFunctionAtMostOnce();\n return children;\n }\n\n const { str, components, componentsCount } = genTranslatableString(children);\n return _t(str, componentsCount > 0 ? { components } : undefined);\n}\n\nlet hasWarned = false;\nfunction warnNoTranslationFunctionAtMostOnce() {\n if (!hasWarned) {\n console.warn(\n \"Using Plasmic Translation but no translation function has been provided\"\n );\n hasWarned = true;\n }\n}\n\nfunction hasKey<K extends string>(v: any, key: K): v is Record<K, any> {\n return typeof v === \"object\" && v !== null && key in v;\n}\n","import { SSRProvider, useIsSSR as useAriaIsSSR } from \"@react-aria/ssr\";\nimport * as React from \"react\";\nimport { PlasmicHeadContext } from \"./PlasmicHead\";\nimport { PlasmicTranslator, PlasmicTranslatorContext } from \"./translation\";\n\nexport interface PlasmicRootContextValue {\n platform?: \"nextjs\" | \"gatsby\";\n}\n\nconst PlasmicRootContext = React.createContext<\n PlasmicRootContextValue | undefined\n>(undefined);\n\nexport interface PlasmicRootProviderProps {\n platform?: \"nextjs\" | \"gatsby\";\n children?: React.ReactNode;\n translator?: PlasmicTranslator;\n Head?: React.ComponentType<any>;\n}\n\nexport function PlasmicRootProvider(props: PlasmicRootProviderProps) {\n const { platform, children } = props;\n const context = React.useMemo(\n () => ({\n platform,\n }),\n [platform]\n );\n return (\n <PlasmicRootContext.Provider value={context}>\n <SSRProvider>\n <PlasmicTranslatorContext.Provider value={props.translator}>\n <PlasmicHeadContext.Provider value={props.Head}>\n {children}\n </PlasmicHeadContext.Provider>\n </PlasmicTranslatorContext.Provider>\n </SSRProvider>\n </PlasmicRootContext.Provider>\n );\n}\n\nexport const useIsSSR = useAriaIsSSR;\n\nexport function useHasPlasmicRoot() {\n return !!React.useContext(PlasmicRootContext);\n}\n\nlet hasWarnedSSR = false;\n/**\n * Warns the user if PlasmicRootProvider is not used\n */\nexport function useEnsureSSRProvider() {\n const hasRoot = useHasPlasmicRoot();\n if (hasRoot || hasWarnedSSR || process.env.NODE_ENV !== \"development\") {\n return;\n }\n\n hasWarnedSSR = true;\n console.warn(\n `Plasmic: To ensure your components work correctly with server-side rendering, please use PlasmicRootProvider at the root of your application. See https://docs.plasmic.app/learn/ssr`\n );\n}\n"],"names":["React","useAriaIsSSR"],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ import { SSRProvider, useIsSSR as useIsSSR$1 } from '@react-aria/ssr';
2
+ import * as React from 'react';
3
+ import React__default from 'react';
4
+ import { PlasmicHeadContext } from './render/PlasmicHead/index.js';
5
+
6
+ var PlasmicTranslatorContext = React__default.createContext(undefined);
7
+ function isIterable(val) {
8
+ return val != null && typeof val[Symbol.iterator] === "function";
9
+ }
10
+ function genTranslatableString(elt) {
11
+ var components = {};
12
+ var componentsCount = 0;
13
+ var getText = function (node) {
14
+ if (!node) {
15
+ return "";
16
+ }
17
+ if (typeof node === "number" ||
18
+ typeof node === "boolean" ||
19
+ typeof node === "string") {
20
+ return node.toString();
21
+ }
22
+ if (typeof node !== "object") {
23
+ return "";
24
+ }
25
+ if (Array.isArray(node) || isIterable(node)) {
26
+ return Array.from(node)
27
+ .map(function (child) { return getText(child); })
28
+ .filter(function (child) { return !!child; })
29
+ .join("");
30
+ }
31
+ var nodeChildren = (hasKey(node, "props") &&
32
+ hasKey(node.props, "children") &&
33
+ node.props.children) ||
34
+ (hasKey(node, "children") && node.children) ||
35
+ [];
36
+ var contents = "" + React__default.Children.toArray(nodeChildren)
37
+ .map(function (child) { return getText(child); })
38
+ .filter(function (child) { return !!child; })
39
+ .join("");
40
+ if (React__default.isValidElement(node) && node.type === React__default.Fragment) {
41
+ return contents;
42
+ }
43
+ var componentId = componentsCount + 1;
44
+ componentsCount++;
45
+ components[componentId] = React__default.isValidElement(node)
46
+ ? React__default.cloneElement(node, {
47
+ key: componentId,
48
+ children: undefined,
49
+ })
50
+ : node;
51
+ return "<" + componentId + ">" + contents + "</" + componentId + ">";
52
+ };
53
+ var str = getText(elt);
54
+ return {
55
+ str: str,
56
+ components: components,
57
+ componentsCount: componentsCount,
58
+ };
59
+ }
60
+ function Trans(_a) {
61
+ var children = _a.children;
62
+ var _t = React__default.useContext(PlasmicTranslatorContext);
63
+ if (!_t) {
64
+ warnNoTranslationFunctionAtMostOnce();
65
+ return children;
66
+ }
67
+ var _b = genTranslatableString(children), str = _b.str, components = _b.components, componentsCount = _b.componentsCount;
68
+ return _t(str, componentsCount > 0 ? { components: components } : undefined);
69
+ }
70
+ var hasWarned = false;
71
+ function warnNoTranslationFunctionAtMostOnce() {
72
+ if (!hasWarned) {
73
+ console.warn("Using Plasmic Translation but no translation function has been provided");
74
+ hasWarned = true;
75
+ }
76
+ }
77
+ function hasKey(v, key) {
78
+ return typeof v === "object" && v !== null && key in v;
79
+ }
80
+
81
+ var PlasmicRootContext = React.createContext(undefined);
82
+ function PlasmicRootProvider(props) {
83
+ var platform = props.platform, children = props.children;
84
+ var context = React.useMemo(function () { return ({
85
+ platform: platform,
86
+ }); }, [platform]);
87
+ return (React.createElement(PlasmicRootContext.Provider, { value: context },
88
+ React.createElement(SSRProvider, null,
89
+ React.createElement(PlasmicTranslatorContext.Provider, { value: props.translator },
90
+ React.createElement(PlasmicHeadContext.Provider, { value: props.Head }, children)))));
91
+ }
92
+ var useIsSSR = useIsSSR$1;
93
+ function useHasPlasmicRoot() {
94
+ return !!React.useContext(PlasmicRootContext);
95
+ }
96
+ var hasWarnedSSR = false;
97
+ /**
98
+ * Warns the user if PlasmicRootProvider is not used
99
+ */
100
+ function useEnsureSSRProvider() {
101
+ var hasRoot = useHasPlasmicRoot();
102
+ if (hasRoot || hasWarnedSSR || process.env.NODE_ENV !== "development") {
103
+ return;
104
+ }
105
+ hasWarnedSSR = true;
106
+ console.warn("Plasmic: To ensure your components work correctly with server-side rendering, please use PlasmicRootProvider at the root of your application. See https://docs.plasmic.app/learn/ssr");
107
+ }
108
+
109
+ export { PlasmicRootProvider as P, Trans as T, useEnsureSSRProvider as a, genTranslatableString as g, useIsSSR as u };
110
+ //# sourceMappingURL=ssr-b1615b80.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssr-b1615b80.js","sources":["../../src/render/translation.tsx","../../src/render/ssr.tsx"],"sourcesContent":["import React from \"react\";\n\nexport type PlasmicTranslator = (\n str: string,\n opts?: {\n components?: {\n [key: string]: React.ReactElement;\n };\n }\n) => React.ReactNode;\n\nexport const PlasmicTranslatorContext =\n React.createContext<PlasmicTranslator | undefined>(undefined);\n\nexport interface TransProps {\n children?: React.ReactNode;\n}\n\nfunction isIterable(val: any): val is Iterable<any> {\n return val != null && typeof val[Symbol.iterator] === \"function\";\n}\n\nexport function genTranslatableString(elt: React.ReactNode) {\n const components: {\n [key: string]: React.ReactElement;\n } = {};\n let componentsCount = 0;\n\n const getText = (node: React.ReactNode): string => {\n if (!node) {\n return \"\";\n }\n if (\n typeof node === \"number\" ||\n typeof node === \"boolean\" ||\n typeof node === \"string\"\n ) {\n return node.toString();\n }\n if (typeof node !== \"object\") {\n return \"\";\n }\n if (Array.isArray(node) || isIterable(node)) {\n return Array.from(node)\n .map((child) => getText(child))\n .filter((child) => !!child)\n .join(\"\");\n }\n const nodeChildren: React.ReactNode =\n (hasKey(node, \"props\") &&\n hasKey(node.props, \"children\") &&\n (node.props.children as React.ReactNode | undefined)) ||\n (hasKey(node, \"children\") && node.children) ||\n [];\n const contents = `${React.Children.toArray(nodeChildren)\n .map((child) => getText(child))\n .filter((child) => !!child)\n .join(\"\")}`;\n if (React.isValidElement(node) && node.type === React.Fragment) {\n return contents;\n }\n const componentId = componentsCount + 1;\n componentsCount++;\n components[componentId] = React.isValidElement(node)\n ? React.cloneElement(node as any, {\n key: componentId,\n children: undefined,\n })\n : (node as never);\n return `<${componentId}>${contents}</${componentId}>`;\n };\n\n const str = getText(elt);\n return {\n str,\n components,\n componentsCount,\n };\n}\n\nexport function Trans({ children }: TransProps) {\n const _t = React.useContext(PlasmicTranslatorContext);\n if (!_t) {\n warnNoTranslationFunctionAtMostOnce();\n return children;\n }\n\n const { str, components, componentsCount } = genTranslatableString(children);\n return _t(str, componentsCount > 0 ? { components } : undefined);\n}\n\nlet hasWarned = false;\nfunction warnNoTranslationFunctionAtMostOnce() {\n if (!hasWarned) {\n console.warn(\n \"Using Plasmic Translation but no translation function has been provided\"\n );\n hasWarned = true;\n }\n}\n\nfunction hasKey<K extends string>(v: any, key: K): v is Record<K, any> {\n return typeof v === \"object\" && v !== null && key in v;\n}\n","import { SSRProvider, useIsSSR as useAriaIsSSR } from \"@react-aria/ssr\";\nimport * as React from \"react\";\nimport { PlasmicHeadContext } from \"./PlasmicHead\";\nimport { PlasmicTranslator, PlasmicTranslatorContext } from \"./translation\";\n\nexport interface PlasmicRootContextValue {\n platform?: \"nextjs\" | \"gatsby\";\n}\n\nconst PlasmicRootContext = React.createContext<\n PlasmicRootContextValue | undefined\n>(undefined);\n\nexport interface PlasmicRootProviderProps {\n platform?: \"nextjs\" | \"gatsby\";\n children?: React.ReactNode;\n translator?: PlasmicTranslator;\n Head?: React.ComponentType<any>;\n}\n\nexport function PlasmicRootProvider(props: PlasmicRootProviderProps) {\n const { platform, children } = props;\n const context = React.useMemo(\n () => ({\n platform,\n }),\n [platform]\n );\n return (\n <PlasmicRootContext.Provider value={context}>\n <SSRProvider>\n <PlasmicTranslatorContext.Provider value={props.translator}>\n <PlasmicHeadContext.Provider value={props.Head}>\n {children}\n </PlasmicHeadContext.Provider>\n </PlasmicTranslatorContext.Provider>\n </SSRProvider>\n </PlasmicRootContext.Provider>\n );\n}\n\nexport const useIsSSR = useAriaIsSSR;\n\nexport function useHasPlasmicRoot() {\n return !!React.useContext(PlasmicRootContext);\n}\n\nlet hasWarnedSSR = false;\n/**\n * Warns the user if PlasmicRootProvider is not used\n */\nexport function useEnsureSSRProvider() {\n const hasRoot = useHasPlasmicRoot();\n if (hasRoot || hasWarnedSSR || process.env.NODE_ENV !== \"development\") {\n return;\n }\n\n hasWarnedSSR = true;\n console.warn(\n `Plasmic: To ensure your components work correctly with server-side rendering, please use PlasmicRootProvider at the root of your application. See https://docs.plasmic.app/learn/ssr`\n );\n}\n"],"names":["React","useAriaIsSSR"],"mappings":"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"}