@plasmicapp/react-web 0.2.250 → 0.2.252

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 (56) hide show
  1. package/LICENSE.app.md +661 -0
  2. package/dist/all.d.ts +73 -47
  3. package/dist/auth/PlasmicPageGuard.d.ts +1 -1
  4. package/dist/index.cjs.js +7 -2
  5. package/dist/index.cjs.js.map +1 -1
  6. package/dist/plume/collection-utils.d.ts +3 -3
  7. package/dist/plume/menu-button/DropdownMenu.d.ts +1 -1
  8. package/dist/react-utils.d.ts +1 -1
  9. package/dist/react-web.esm.js +7 -2
  10. package/dist/react-web.esm.js.map +1 -1
  11. package/dist/render/PlasmicHead/index.d.ts +1 -1
  12. package/dist/render/PlasmicIcon.d.ts +1 -1
  13. package/dist/render/PlasmicLink.d.ts +2 -2
  14. package/dist/render/PlasmicSlot.d.ts +2 -2
  15. package/dist/render/ssr.d.ts +1 -1
  16. package/dist/states/valtio.d.ts +1 -1
  17. package/dist/stories/PlasmicImg.stories.d.ts +2 -3
  18. package/dist/stories/UseDollarState.stories.d.ts +22 -23
  19. package/lib/auth/PlasmicPageGuard.d.ts +1 -1
  20. package/package.json +19 -12
  21. package/skinny/dist/auth/PlasmicPageGuard.d.ts +1 -1
  22. package/skinny/dist/{collection-utils-12be6625.js → collection-utils-b8088b18.js} +4 -4
  23. package/skinny/dist/{collection-utils-12be6625.js.map → collection-utils-b8088b18.js.map} +1 -1
  24. package/skinny/dist/{common-e74df507.js → common-7e2bbe30.js} +8 -3
  25. package/skinny/dist/common-7e2bbe30.js.map +1 -0
  26. package/skinny/dist/index.js +4 -4
  27. package/skinny/dist/plume/button/index.js +2 -2
  28. package/skinny/dist/plume/checkbox/index.js +5 -5
  29. package/skinny/dist/plume/collection-utils.d.ts +3 -3
  30. package/skinny/dist/plume/menu/index.js +6 -6
  31. package/skinny/dist/plume/menu-button/DropdownMenu.d.ts +1 -1
  32. package/skinny/dist/plume/menu-button/index.js +5 -5
  33. package/skinny/dist/plume/select/index.js +6 -6
  34. package/skinny/dist/plume/switch/index.js +5 -5
  35. package/skinny/dist/plume/text-input/index.js +2 -2
  36. package/skinny/dist/plume/triggered-overlay/index.js +4 -4
  37. package/skinny/dist/{plume-utils-3d2c0c98.js → plume-utils-9472dfe6.js} +2 -2
  38. package/skinny/dist/{plume-utils-3d2c0c98.js.map → plume-utils-9472dfe6.js.map} +1 -1
  39. package/skinny/dist/{props-utils-30c7073a.js → props-utils-b08721e5.js} +2 -2
  40. package/skinny/dist/{props-utils-30c7073a.js.map → props-utils-b08721e5.js.map} +1 -1
  41. package/skinny/dist/{react-utils-8796beba.js → react-utils-d266354d.js} +2 -2
  42. package/skinny/dist/{react-utils-8796beba.js.map → react-utils-d266354d.js.map} +1 -1
  43. package/skinny/dist/react-utils.d.ts +1 -1
  44. package/skinny/dist/render/PlasmicHead/index.d.ts +1 -1
  45. package/skinny/dist/render/PlasmicIcon.d.ts +1 -1
  46. package/skinny/dist/render/PlasmicImg/index.js +2 -2
  47. package/skinny/dist/render/PlasmicLink.d.ts +2 -2
  48. package/skinny/dist/render/PlasmicSlot.d.ts +2 -2
  49. package/skinny/dist/render/ssr.d.ts +1 -1
  50. package/skinny/dist/{ssr-90db5fad.js → ssr-145c6cd2.js} +2 -2
  51. package/skinny/dist/{ssr-90db5fad.js.map → ssr-145c6cd2.js.map} +1 -1
  52. package/skinny/dist/states/valtio.d.ts +1 -1
  53. package/skinny/dist/stories/PlasmicImg.stories.d.ts +2 -3
  54. package/skinny/dist/stories/UseDollarState.stories.d.ts +22 -23
  55. package/LICENSE.md +0 -21
  56. package/skinny/dist/common-e74df507.js.map +0 -1
@@ -1,6 +1,6 @@
1
- import { c as __rest, a as __assign, p as pick, d as __spreadArray, e as __read, o as omit } from '../../common-e74df507.js';
1
+ import { c as __rest, a as __assign, p as pick, d as __spreadArray, e as __read, o as omit } from '../../common-7e2bbe30.js';
2
2
  import * as React from 'react';
3
- import { m as mergeVariantToggles } from '../../plume-utils-3d2c0c98.js';
3
+ import { m as mergeVariantToggles } from '../../plume-utils-9472dfe6.js';
4
4
 
5
5
  function useTextInput(plasmicClass, props, config, ref) {
6
6
  var _a, _b, _c;
@@ -1,12 +1,12 @@
1
- import { e as __read, a as __assign, p as pick, d as __spreadArray } from '../../common-e74df507.js';
1
+ import { e as __read, a as __assign, p as pick, d as __spreadArray } from '../../common-7e2bbe30.js';
2
2
  import { usePlasmicCanvasContext } from '@plasmicapp/host';
3
3
  import { FocusScope } from '@react-aria/focus';
4
4
  import { useOverlay, useOverlayPosition, DismissButton } from '@react-aria/overlays';
5
5
  import * as React from 'react';
6
6
  import * as ReactDOM from 'react-dom';
7
- import { u as useIsomorphicLayoutEffect, m as mergeProps, d as mergeRefs } from '../../react-utils-8796beba.js';
8
- import { m as mergeVariantToggles } from '../../plume-utils-3d2c0c98.js';
9
- import { g as getStyleProps } from '../../props-utils-30c7073a.js';
7
+ import { u as useIsomorphicLayoutEffect, m as mergeProps, d as mergeRefs } from '../../react-utils-d266354d.js';
8
+ import { m as mergeVariantToggles } from '../../plume-utils-9472dfe6.js';
9
+ import { g as getStyleProps } from '../../props-utils-b08721e5.js';
10
10
  import { T as TriggeredOverlayContext } from '../../context-e56b6773.js';
11
11
  import 'classnames';
12
12
 
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { l as groupBy, m as mapValues } from './common-e74df507.js';
2
+ import { l as groupBy, m as mapValues } from './common-7e2bbe30.js';
3
3
 
4
4
  var PLUME_STRICT_MODE = true;
5
5
  function mergeVariantToggles() {
@@ -32,4 +32,4 @@ function getPlumeType(child) {
32
32
  }
33
33
 
34
34
  export { PLUME_STRICT_MODE as P, getPlumeType as g, mergeVariantToggles as m, noOutline as n };
35
- //# sourceMappingURL=plume-utils-3d2c0c98.js.map
35
+ //# sourceMappingURL=plume-utils-9472dfe6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plume-utils-3d2c0c98.js","sources":["../../src/plume/plume-utils.ts"],"sourcesContent":["import * as React from \"react\";\nimport { groupBy, mapValues } from \"../common\";\nimport { SingleChoiceArg } from \"../render/elements\";\n\nexport let PLUME_STRICT_MODE = true;\n\nexport function setPlumeStrictMode(mode: boolean) {\n PLUME_STRICT_MODE = mode;\n}\n\ntype VariantArgChoices<T> = T extends (infer M)[]\n ? M\n : T extends SingleChoiceArg<infer M>\n ? M\n : never;\ntype VariantArgsChoices<V> = { [k in keyof V]-?: VariantArgChoices<V[k]> };\ntype DictValues<V extends Record<string, any>> = V[keyof V];\ntype DictTuples<V extends Record<string, any>> = DictValues<\n { [K in keyof V]: [K, V[K]] }\n>;\nexport type VariantDefTuple<V> = DictTuples<VariantArgsChoices<V>>;\n\ntype DistributeTuple<T> = T extends [infer T1, infer T2]\n ? { group: T1; variant: T2 }\n : never;\n\nexport type VariantDef<V> = DistributeTuple<VariantDefTuple<V>>;\n\nexport type PlasmicClass<\n V extends Record<string, any>,\n A extends Record<string, any>,\n O extends Record<string, any>\n> = {\n (props: { variants?: V; args?: A; overrides?: O }): React.ReactElement | null;\n internalVariantProps: (keyof V)[];\n internalArgProps: (keyof A)[];\n};\n\nexport type AnyPlasmicClass = PlasmicClass<any, any, any>;\n\nexport type PlasmicClassVariants<\n C extends AnyPlasmicClass\n> = C extends PlasmicClass<infer V, any, any> ? V : unknown;\nexport type PlasmicClassArgs<\n C extends AnyPlasmicClass\n> = C extends PlasmicClass<any, infer A, any> ? A : unknown;\nexport type PlasmicClassOverrides<\n C extends AnyPlasmicClass\n> = C extends PlasmicClass<any, any, infer O> ? O : unknown;\n\ntype BooleanLike = boolean | undefined | null;\n\nexport function mergeVariantToggles<V>(\n ...toggles: { def?: VariantDef<V>; active: BooleanLike }[]\n) {\n const definedToggles = toggles.filter((x) => !!x.def) as {\n def: VariantDef<V>;\n active: BooleanLike;\n }[];\n const grouped = groupBy(definedToggles, ({ def }) => def.group as string);\n return mapValues(grouped, (subToggles) => {\n return Object.fromEntries(\n subToggles.map(({ def, active }) => [def.variant, !!active])\n );\n });\n}\n\nexport function noOutline() {\n return { outline: \"none\" };\n}\n\nexport function getPlumeType(child: React.ReactChild): string | undefined {\n if (!React.isValidElement(child)) {\n return undefined;\n }\n const childType = child.type as any;\n return (childType.__plumeType || childType.getPlumeType?.(child.props)) as\n | string\n | undefined;\n}\n"],"names":[],"mappings":";;;AAIO,IAAI,iBAAiB,GAAG,KAAK;SAgDpB,mBAAmB,GAAA;IACjC,IAA0D,OAAA,GAAA,EAAA,CAAA;SAA1D,IAA0D,EAAA,GAAA,CAAA,EAA1D,EAA0D,GAAA,SAAA,CAAA,MAAA,EAA1D,EAA0D,EAAA,EAAA;QAA1D,OAA0D,CAAA,EAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA,CAAA;;AAE1D,IAAA,IAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,CAAC,CAAC,CAAC,GAAG,CAAP,EAAO,CAGjD,CAAC;AACJ,IAAA,IAAM,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,UAAC,EAAO,EAAA;AAAL,QAAA,IAAA,GAAG,GAAA,EAAA,CAAA,GAAA,CAAA;QAAO,OAAA,GAAG,CAAC,KAAe,CAAA;AAAnB,KAAmB,CAAC,CAAC;AAC1E,IAAA,OAAO,SAAS,CAAC,OAAO,EAAE,UAAC,UAAU,EAAA;QACnC,OAAO,MAAM,CAAC,WAAW,CACvB,UAAU,CAAC,GAAG,CAAC,UAAC,EAAe,EAAA;gBAAb,GAAG,GAAA,EAAA,CAAA,GAAA,EAAE,MAAM,GAAA,EAAA,CAAA,MAAA,CAAA;YAAO,OAAA,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;SAAA,CAAC,CAC7D,CAAC;AACJ,KAAC,CAAC,CAAC;AACL,CAAC;SAEe,SAAS,GAAA;AACvB,IAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC;AAEK,SAAU,YAAY,CAAC,KAAuB,EAAA;;AAClD,IAAA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;AAChC,QAAA,OAAO,SAAS,CAAC;AAClB,KAAA;AACD,IAAA,IAAM,SAAS,GAAG,KAAK,CAAC,IAAW,CAAC;AACpC,IAAA,QAAQ,SAAS,CAAC,WAAW,KAAI,MAAA,SAAS,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,SAAA,EAAG,KAAK,CAAC,KAAK,CAAC,CAAA,EAExD;AAChB;;;;"}
1
+ {"version":3,"file":"plume-utils-9472dfe6.js","sources":["../../src/plume/plume-utils.ts"],"sourcesContent":["import * as React from \"react\";\nimport { groupBy, mapValues } from \"../common\";\nimport { SingleChoiceArg } from \"../render/elements\";\n\nexport let PLUME_STRICT_MODE = true;\n\nexport function setPlumeStrictMode(mode: boolean) {\n PLUME_STRICT_MODE = mode;\n}\n\ntype VariantArgChoices<T> = T extends (infer M)[]\n ? M\n : T extends SingleChoiceArg<infer M>\n ? M\n : never;\ntype VariantArgsChoices<V> = { [k in keyof V]-?: VariantArgChoices<V[k]> };\ntype DictValues<V extends Record<string, any>> = V[keyof V];\ntype DictTuples<V extends Record<string, any>> = DictValues<\n { [K in keyof V]: [K, V[K]] }\n>;\nexport type VariantDefTuple<V> = DictTuples<VariantArgsChoices<V>>;\n\ntype DistributeTuple<T> = T extends [infer T1, infer T2]\n ? { group: T1; variant: T2 }\n : never;\n\nexport type VariantDef<V> = DistributeTuple<VariantDefTuple<V>>;\n\nexport type PlasmicClass<\n V extends Record<string, any>,\n A extends Record<string, any>,\n O extends Record<string, any>\n> = {\n (props: { variants?: V; args?: A; overrides?: O }): React.ReactElement | null;\n internalVariantProps: (keyof V)[];\n internalArgProps: (keyof A)[];\n};\n\nexport type AnyPlasmicClass = PlasmicClass<any, any, any>;\n\nexport type PlasmicClassVariants<\n C extends AnyPlasmicClass\n> = C extends PlasmicClass<infer V, any, any> ? V : unknown;\nexport type PlasmicClassArgs<\n C extends AnyPlasmicClass\n> = C extends PlasmicClass<any, infer A, any> ? A : unknown;\nexport type PlasmicClassOverrides<\n C extends AnyPlasmicClass\n> = C extends PlasmicClass<any, any, infer O> ? O : unknown;\n\ntype BooleanLike = boolean | undefined | null;\n\nexport function mergeVariantToggles<V>(\n ...toggles: { def?: VariantDef<V>; active: BooleanLike }[]\n) {\n const definedToggles = toggles.filter((x) => !!x.def) as {\n def: VariantDef<V>;\n active: BooleanLike;\n }[];\n const grouped = groupBy(definedToggles, ({ def }) => def.group as string);\n return mapValues(grouped, (subToggles) => {\n return Object.fromEntries(\n subToggles.map(({ def, active }) => [def.variant, !!active])\n );\n });\n}\n\nexport function noOutline() {\n return { outline: \"none\" };\n}\n\nexport function getPlumeType(child: React.ReactChild): string | undefined {\n if (!React.isValidElement(child)) {\n return undefined;\n }\n const childType = child.type as any;\n return (childType.__plumeType || childType.getPlumeType?.(child.props)) as\n | string\n | undefined;\n}\n"],"names":[],"mappings":";;;AAIO,IAAI,iBAAiB,GAAG,KAAK;SAgDpB,mBAAmB,GAAA;IACjC,IAA0D,OAAA,GAAA,EAAA,CAAA;SAA1D,IAA0D,EAAA,GAAA,CAAA,EAA1D,EAA0D,GAAA,SAAA,CAAA,MAAA,EAA1D,EAA0D,EAAA,EAAA;QAA1D,OAA0D,CAAA,EAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA,CAAA;;AAE1D,IAAA,IAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,CAAC,CAAC,CAAC,GAAG,CAAP,EAAO,CAGjD,CAAC;AACJ,IAAA,IAAM,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,UAAC,EAAO,EAAA;AAAL,QAAA,IAAA,GAAG,GAAA,EAAA,CAAA,GAAA,CAAA;QAAO,OAAA,GAAG,CAAC,KAAe,CAAA;AAAnB,KAAmB,CAAC,CAAC;AAC1E,IAAA,OAAO,SAAS,CAAC,OAAO,EAAE,UAAC,UAAU,EAAA;QACnC,OAAO,MAAM,CAAC,WAAW,CACvB,UAAU,CAAC,GAAG,CAAC,UAAC,EAAe,EAAA;gBAAb,GAAG,GAAA,EAAA,CAAA,GAAA,EAAE,MAAM,GAAA,EAAA,CAAA,MAAA,CAAA;YAAO,OAAA,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;SAAA,CAAC,CAC7D,CAAC;AACJ,KAAC,CAAC,CAAC;AACL,CAAC;SAEe,SAAS,GAAA;AACvB,IAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC;AAEK,SAAU,YAAY,CAAC,KAAuB,EAAA;;AAClD,IAAA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;AAChC,QAAA,OAAO,SAAS,CAAC;AAClB,KAAA;AACD,IAAA,IAAM,SAAS,GAAG,KAAK,CAAC,IAAW,CAAC;AACpC,IAAA,QAAQ,SAAS,CAAC,WAAW,KAAI,MAAA,SAAS,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,SAAA,EAAG,KAAK,CAAC,KAAK,CAAC,CAAA,EAExD;AAChB;;;;"}
@@ -1,8 +1,8 @@
1
- import { p as pick } from './common-e74df507.js';
1
+ import { p as pick } from './common-7e2bbe30.js';
2
2
 
3
3
  function getStyleProps(props) {
4
4
  return pick(props, "className", "style");
5
5
  }
6
6
 
7
7
  export { getStyleProps as g };
8
- //# sourceMappingURL=props-utils-30c7073a.js.map
8
+ //# sourceMappingURL=props-utils-b08721e5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"props-utils-30c7073a.js","sources":["../../src/plume/props-utils.ts"],"sourcesContent":["import * as React from \"react\";\nimport { pick, pickBy } from \"../common\";\nimport {\n AnyPlasmicClass,\n PlasmicClassArgs,\n PlasmicClassOverrides,\n PlasmicClassVariants,\n} from \"./plume-utils\";\n\nexport interface StyleProps {\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function getStyleProps<P extends StyleProps>(props: P): StyleProps {\n return pick(props, \"className\", \"style\");\n}\n\nexport function getDefaultPlasmicProps<C extends AnyPlasmicClass>(\n plasmicClass: C,\n props: Record<string, any>\n) {\n return {\n plasmicProps: {\n variants: pick(\n props,\n ...plasmicClass.internalVariantProps\n ) as PlasmicClassVariants<C>,\n args: pick(\n props,\n ...plasmicClass.internalArgProps\n ) as PlasmicClassArgs<C>,\n overrides: {} as PlasmicClassOverrides<C>,\n },\n };\n}\n\nconst RE_DATA_PROP = /^(data-.*)$/;\n\nexport function getDataProps(props: Record<string, any>) {\n return pickBy(props, (k) => RE_DATA_PROP.test(k));\n}\n"],"names":[],"mappings":";;AAcM,SAAU,aAAa,CAAuB,KAAQ,EAAA;IAC1D,OAAO,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AAC3C;;;;"}
1
+ {"version":3,"file":"props-utils-b08721e5.js","sources":["../../src/plume/props-utils.ts"],"sourcesContent":["import * as React from \"react\";\nimport { pick, pickBy } from \"../common\";\nimport {\n AnyPlasmicClass,\n PlasmicClassArgs,\n PlasmicClassOverrides,\n PlasmicClassVariants,\n} from \"./plume-utils\";\n\nexport interface StyleProps {\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function getStyleProps<P extends StyleProps>(props: P): StyleProps {\n return pick(props, \"className\", \"style\");\n}\n\nexport function getDefaultPlasmicProps<C extends AnyPlasmicClass>(\n plasmicClass: C,\n props: Record<string, any>\n) {\n return {\n plasmicProps: {\n variants: pick(\n props,\n ...plasmicClass.internalVariantProps\n ) as PlasmicClassVariants<C>,\n args: pick(\n props,\n ...plasmicClass.internalArgProps\n ) as PlasmicClassArgs<C>,\n overrides: {} as PlasmicClassOverrides<C>,\n },\n };\n}\n\nconst RE_DATA_PROP = /^(data-.*)$/;\n\nexport function getDataProps(props: Record<string, any>) {\n return pickBy(props, (k) => RE_DATA_PROP.test(k));\n}\n"],"names":[],"mappings":";;AAcM,SAAU,aAAa,CAAuB,KAAQ,EAAA;IAC1D,OAAO,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AAC3C;;;;"}
@@ -1,4 +1,4 @@
1
- import { a as __assign, f as __values, d as __spreadArray, e as __read } from './common-e74df507.js';
1
+ import { a as __assign, f as __values, d as __spreadArray, e as __read } from './common-7e2bbe30.js';
2
2
  import classNames from 'classnames';
3
3
  import React__default from 'react';
4
4
 
@@ -198,4 +198,4 @@ function getElementTypeName(element) {
198
198
  }
199
199
 
200
200
  export { NONE as N, mergePropVals as a, isBrowser as b, createElementWithChildren as c, mergeRefs as d, ensureNotArray as e, getElementTypeName as g, isReactNode as i, mergeProps as m, toChildArray as t, useIsomorphicLayoutEffect as u };
201
- //# sourceMappingURL=react-utils-8796beba.js.map
201
+ //# sourceMappingURL=react-utils-d266354d.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-utils-8796beba.js","sources":["../../src/react-utils.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport React from \"react\";\n\nexport const isBrowser = typeof window !== \"undefined\";\nexport const NONE = Symbol(\"NONE\");\n\nexport const useIsomorphicLayoutEffect = isBrowser\n ? React.useLayoutEffect\n : React.useEffect;\n\nexport function createElementWithChildren(\n elementType: any,\n props: any,\n children: React.ReactNode\n) {\n if (Array.isArray(children)) {\n return React.createElement(\n elementType,\n props,\n ...children\n ) as React.ReactElement;\n } else if (children || \"children\" in props) {\n // Only call React.createElement with `children` if there are actual children,\n // or if there was an explicit (albeit undefined) children passed via\n // props. Otherwise, if you pass `undefined` as the children argument\n // to React.createElement, the created element will have prop {children: undefined}.\n // If the `root` is an PlasmicGeneratedComponent, and these props with {children: undefined}\n // are used, then it will be taken as a `children` override, and will thus blank out\n // everything under the root node.\n return React.createElement(elementType, props, children);\n } else {\n return React.createElement(elementType, props);\n }\n}\n\nexport function ensureNotArray(children: React.ReactNode) {\n if (Array.isArray(children)) {\n if (children.length === 1) {\n return children[0];\n } else {\n return React.createElement(React.Fragment, {}, ...children);\n }\n } else {\n return children;\n }\n}\n\n/**\n * Flattens ReactNode into an array of ReactChild, but does NOT replace\n * missing keys with array index, as React.Children.toArray() does.\n */\nexport function toChildArray(children: React.ReactNode): React.ReactChild[] {\n if (isReactChild(children)) {\n return [children];\n } else if (Array.isArray(children)) {\n return children.flatMap(toChildArray);\n } else {\n return [];\n }\n}\n\nexport function isReactText(child: React.ReactNode): child is React.ReactText {\n return typeof child === \"string\" || typeof child === \"number\";\n}\n\nexport function isReactChild(\n child: React.ReactNode\n): child is React.ReactChild {\n return React.isValidElement(child) || isReactText(child);\n}\n\nexport function isReactFragment(\n child: React.ReactNode\n): child is React.ReactElement {\n return React.isValidElement(child) && child.type === React.Fragment;\n}\n\nexport function isReactNode(x: any) {\n return (\n typeof x === \"string\" || typeof x === \"number\" || React.isValidElement(x)\n );\n}\n\n// From https://stackoverflow.com/questions/54775790/forcing-excess-property-checking-on-variable-passed-to-typescript-function\n// We also wrap the error message in a Partial<> because otherwise Jetbrains IDEs will autocomplete the component with all the string methods as props - see https://github.com/plasmicapp/plasmic/issues/16.\nexport type StrictProps<T, TExpected> = Exclude<\n keyof T,\n keyof TExpected\n> extends never\n ? {}\n : Partial<\"Unexpected extraneous props\">;\n\nexport type HTMLElementRefOf<T extends keyof JSX.IntrinsicElements> = Exclude<\n React.ComponentProps<T>[\"ref\"],\n string\n>;\n\nexport function mergeProps(\n props: Record<string, any>,\n ...restProps: Record<string, any>[]\n): Record<string, any> {\n if (restProps.every((rest) => Object.keys(rest).length === 0)) {\n return props;\n }\n\n const result = { ...props };\n\n for (const rest of restProps) {\n for (const key of Object.keys(rest)) {\n result[key] = mergePropVals(key, result[key], rest[key]);\n }\n }\n\n return result;\n}\n\nfunction updateRef<T>(ref: React.Ref<T> | undefined, value: T | null) {\n if (!ref) {\n return;\n }\n\n if (typeof ref === \"function\") {\n ref(value);\n } else {\n if (!Object.isFrozen(ref)) {\n (ref as React.MutableRefObject<T | null>).current = value;\n }\n }\n}\n\nexport function mergeRefs<T>(...refs: (React.Ref<T> | undefined)[]) {\n return (value: T) => {\n for (const ref of refs) {\n updateRef(ref, value);\n }\n };\n}\n\nexport function mergePropVals(name: string, val1: any, val2: any): any {\n if (val1 === NONE || val2 === NONE) {\n // The NONE sentinel always skips all merging and returns null\n return null;\n } else if (val1 == null) {\n // If either of them is nil, prefer the other\n return val2;\n } else if (val2 == null) {\n return val1;\n } else if (name === \"className\") {\n // Special case for className -- always combine both class names\n return classNames(val1, val2);\n } else if (name === \"style\") {\n // Special case for style -- always shallow-merge style dicts\n return { ...val1, ...val2 };\n } else if (name === \"ref\") {\n // Special case for ref\n return mergeRefs(val1, val2);\n } else if (typeof val1 !== typeof val2) {\n // If the type of the two values are different, then no way to merge them.\n // Prefer val2.\n return val2;\n } else if (name.startsWith(\"on\") && typeof val1 === \"function\") {\n // Special case for event handlers -- always call both handlers\n return (...args: any[]) => {\n let res: any;\n if (typeof val1 === \"function\") {\n res = val1(...args);\n }\n if (typeof val2 === \"function\") {\n res = val2(...args);\n }\n return res;\n };\n } else {\n // For all else, prefer val2\n return val2;\n }\n}\n\nexport function getElementTypeName(element: React.ReactElement) {\n if (typeof element.type === \"string\") {\n return element.type;\n } else {\n const comp = element.type as any;\n return comp.displayName ?? comp.name ?? comp.render?.name ?? \"Component\";\n }\n}\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"react-utils-d266354d.js","sources":["../../src/react-utils.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport React from \"react\";\n\nexport const isBrowser = typeof window !== \"undefined\";\nexport const NONE = Symbol(\"NONE\");\n\nexport const useIsomorphicLayoutEffect = isBrowser\n ? React.useLayoutEffect\n : React.useEffect;\n\nexport function createElementWithChildren(\n elementType: any,\n props: any,\n children: React.ReactNode\n) {\n if (Array.isArray(children)) {\n return React.createElement(\n elementType,\n props,\n ...children\n ) as React.ReactElement;\n } else if (children || \"children\" in props) {\n // Only call React.createElement with `children` if there are actual children,\n // or if there was an explicit (albeit undefined) children passed via\n // props. Otherwise, if you pass `undefined` as the children argument\n // to React.createElement, the created element will have prop {children: undefined}.\n // If the `root` is an PlasmicGeneratedComponent, and these props with {children: undefined}\n // are used, then it will be taken as a `children` override, and will thus blank out\n // everything under the root node.\n return React.createElement(elementType, props, children);\n } else {\n return React.createElement(elementType, props);\n }\n}\n\nexport function ensureNotArray(children: React.ReactNode) {\n if (Array.isArray(children)) {\n if (children.length === 1) {\n return children[0];\n } else {\n return React.createElement(React.Fragment, {}, ...children);\n }\n } else {\n return children;\n }\n}\n\n/**\n * Flattens ReactNode into an array of ReactChild, but does NOT replace\n * missing keys with array index, as React.Children.toArray() does.\n */\nexport function toChildArray(children: React.ReactNode): React.ReactChild[] {\n if (isReactChild(children)) {\n return [children];\n } else if (Array.isArray(children)) {\n return children.flatMap(toChildArray);\n } else {\n return [];\n }\n}\n\nexport function isReactText(child: React.ReactNode): child is React.ReactText {\n return typeof child === \"string\" || typeof child === \"number\";\n}\n\nexport function isReactChild(\n child: React.ReactNode\n): child is React.ReactChild {\n return React.isValidElement(child) || isReactText(child);\n}\n\nexport function isReactFragment(\n child: React.ReactNode\n): child is React.ReactElement {\n return React.isValidElement(child) && child.type === React.Fragment;\n}\n\nexport function isReactNode(x: any) {\n return (\n typeof x === \"string\" || typeof x === \"number\" || React.isValidElement(x)\n );\n}\n\n// From https://stackoverflow.com/questions/54775790/forcing-excess-property-checking-on-variable-passed-to-typescript-function\n// We also wrap the error message in a Partial<> because otherwise Jetbrains IDEs will autocomplete the component with all the string methods as props - see https://github.com/plasmicapp/plasmic/issues/16.\nexport type StrictProps<T, TExpected> = Exclude<\n keyof T,\n keyof TExpected\n> extends never\n ? {}\n : Partial<\"Unexpected extraneous props\">;\n\nexport type HTMLElementRefOf<T extends keyof JSX.IntrinsicElements> = Exclude<\n React.ComponentProps<T>[\"ref\"],\n string\n>;\n\nexport function mergeProps(\n props: Record<string, any>,\n ...restProps: Record<string, any>[]\n): Record<string, any> {\n if (restProps.every((rest) => Object.keys(rest).length === 0)) {\n return props;\n }\n\n const result = { ...props };\n\n for (const rest of restProps) {\n for (const key of Object.keys(rest)) {\n result[key] = mergePropVals(key, result[key], rest[key]);\n }\n }\n\n return result;\n}\n\nfunction updateRef<T>(ref: React.Ref<T> | undefined, value: T | null) {\n if (!ref) {\n return;\n }\n\n if (typeof ref === \"function\") {\n ref(value);\n } else {\n if (!Object.isFrozen(ref)) {\n (ref as React.MutableRefObject<T | null>).current = value;\n }\n }\n}\n\nexport function mergeRefs<T>(...refs: (React.Ref<T> | undefined)[]) {\n return (value: T) => {\n for (const ref of refs) {\n updateRef(ref, value);\n }\n };\n}\n\nexport function mergePropVals(name: string, val1: any, val2: any): any {\n if (val1 === NONE || val2 === NONE) {\n // The NONE sentinel always skips all merging and returns null\n return null;\n } else if (val1 == null) {\n // If either of them is nil, prefer the other\n return val2;\n } else if (val2 == null) {\n return val1;\n } else if (name === \"className\") {\n // Special case for className -- always combine both class names\n return classNames(val1, val2);\n } else if (name === \"style\") {\n // Special case for style -- always shallow-merge style dicts\n return { ...val1, ...val2 };\n } else if (name === \"ref\") {\n // Special case for ref\n return mergeRefs(val1, val2);\n } else if (typeof val1 !== typeof val2) {\n // If the type of the two values are different, then no way to merge them.\n // Prefer val2.\n return val2;\n } else if (name.startsWith(\"on\") && typeof val1 === \"function\") {\n // Special case for event handlers -- always call both handlers\n return (...args: any[]) => {\n let res: any;\n if (typeof val1 === \"function\") {\n res = val1(...args);\n }\n if (typeof val2 === \"function\") {\n res = val2(...args);\n }\n return res;\n };\n } else {\n // For all else, prefer val2\n return val2;\n }\n}\n\nexport function getElementTypeName(element: React.ReactElement) {\n if (typeof element.type === \"string\") {\n return element.type;\n } else {\n const comp = element.type as any;\n return comp.displayName ?? comp.name ?? comp.render?.name ?? \"Component\";\n }\n}\n"],"names":["React"],"mappings":"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"}
@@ -2,7 +2,7 @@ import React from "react";
2
2
  export declare const isBrowser: boolean;
3
3
  export declare const NONE: unique symbol;
4
4
  export declare const useIsomorphicLayoutEffect: typeof React.useLayoutEffect;
5
- export declare function createElementWithChildren(elementType: any, props: any, children: React.ReactNode): React.ReactElement<any, string | React.JSXElementConstructor<any>> | React.CElement<any, React.Component<any, any, any>>;
5
+ export declare function createElementWithChildren(elementType: any, props: any, children: React.ReactNode): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
6
6
  export declare function ensureNotArray(children: React.ReactNode): any;
7
7
  /**
8
8
  * Flattens ReactNode into an array of ReactChild, but does NOT replace
@@ -6,7 +6,7 @@ type PlasmicHeadProps = {
6
6
  image?: string;
7
7
  canonical?: string;
8
8
  };
9
- export declare function PlasmicHead(props: PlasmicHeadProps): JSX.Element | null;
9
+ export declare function PlasmicHead(props: PlasmicHeadProps): React.JSX.Element | null;
10
10
  export declare const plasmicHeadMeta: {
11
11
  name: string;
12
12
  displayName: string;
@@ -1,4 +1,4 @@
1
1
  import * as React from "react";
2
2
  export declare function PlasmicIcon(props: React.ComponentProps<"svg"> & {
3
3
  PlasmicIconType: React.ComponentType;
4
- }): JSX.Element;
4
+ }): React.JSX.Element;
@@ -1,7 +1,7 @@
1
- import { d as __spreadArray, e as __read, c as __rest, a as __assign, p as pick } from '../../common-e74df507.js';
1
+ import { d as __spreadArray, e as __read, c as __rest, a as __assign, p as pick } from '../../common-7e2bbe30.js';
2
2
  import classNames from 'classnames';
3
3
  import React__default from 'react';
4
- import { d as mergeRefs } from '../../react-utils-8796beba.js';
4
+ import { d as mergeRefs } from '../../react-utils-d266354d.js';
5
5
 
6
6
  /**
7
7
  * Responsive `<img/>` replacement, based on `next/image`
@@ -1,3 +1,3 @@
1
1
  import React from "react";
2
- export declare const PlasmicLink: React.ForwardRefExoticComponent<Pick<any, string | number | symbol> & React.RefAttributes<any>>;
3
- export declare const PlasmicLinkInternal: React.ForwardRefExoticComponent<Pick<any, string | number | symbol> & React.RefAttributes<any>>;
2
+ export declare const PlasmicLink: React.ForwardRefExoticComponent<Omit<any, "ref"> & React.RefAttributes<any>>;
3
+ export declare const PlasmicLinkInternal: React.ForwardRefExoticComponent<Omit<any, "ref"> & React.RefAttributes<any>>;
@@ -3,9 +3,9 @@ export declare function PlasmicSlot<T extends keyof JSX.IntrinsicElements = "div
3
3
  as?: T;
4
4
  defaultContents?: React.ReactNode;
5
5
  value?: React.ReactNode;
6
- }): JSX.Element | null;
6
+ }): React.JSX.Element | null;
7
7
  export declare function renderPlasmicSlot<T extends keyof JSX.IntrinsicElements = "div">(opts: {
8
8
  as?: T;
9
9
  defaultContents?: React.ReactNode;
10
10
  value?: React.ReactNode;
11
- }): JSX.Element | null;
11
+ }): React.JSX.Element | null;
@@ -19,7 +19,7 @@ export interface PlasmicRootProviderProps extends PlasmicDataSourceContextValue
19
19
  disableLoadingBoundary?: boolean;
20
20
  suspenseFallback?: React.ReactNode;
21
21
  }
22
- export declare function PlasmicRootProvider(props: PlasmicRootProviderProps): JSX.Element;
22
+ export declare function PlasmicRootProvider(props: PlasmicRootProviderProps): React.JSX.Element;
23
23
  export declare const useIsSSR: typeof useAriaIsSSR;
24
24
  export declare function useHasPlasmicRoot(): boolean;
25
25
  /**
@@ -1,4 +1,4 @@
1
- import { a as __assign, o as omit, p as pick, d as __spreadArray, e as __read } from './common-e74df507.js';
1
+ import { a as __assign, o as omit, p as pick, d as __spreadArray, e as __read } from './common-7e2bbe30.js';
2
2
  import { PlasmicDataSourceContextProvider } from '@plasmicapp/data-sources-context';
3
3
  import { SSRProvider, useIsSSR as useIsSSR$1 } from '@react-aria/ssr';
4
4
  import * as React from 'react';
@@ -196,4 +196,4 @@ function MaybeWrap(props) {
196
196
  }
197
197
 
198
198
  export { PlasmicLink as P, Trans as T, PlasmicRootProvider as a, usePlasmicTranslator as b, useEnsureSSRProvider as c, genTranslatableString as g, useIsSSR as u };
199
- //# sourceMappingURL=ssr-90db5fad.js.map
199
+ //# sourceMappingURL=ssr-145c6cd2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ssr-90db5fad.js","sources":["../../src/render/PlasmicLink.tsx","../../src/render/translation.tsx","../../src/render/ssr.tsx"],"sourcesContent":["import { usePlasmicLinkMaybe } from \"@plasmicapp/host\";\nimport React from \"react\";\nimport { omit, pick } from \"../common\";\n\nexport const PlasmicLink = React.forwardRef(function PlasmicLink(\n props: any,\n ref: React.Ref<any>\n) {\n // The usePlasmicLinkMaybe function may be undefined, if host is not up-to-date\n const Link = usePlasmicLinkMaybe?.() ?? PlasmicLinkInternal;\n if (Link === PlasmicLink || Link === PlasmicLinkInternal) {\n // Just in case, break the cycle\n return <PlasmicLinkInternal {...props} ref={ref} />;\n } else {\n // Don't pass component/platform props to non-PlasmicLinkInternal\n return <Link {...omit(props, \"component\", \"platform\")} ref={ref} />;\n }\n});\n\nexport const PlasmicLinkInternal = React.forwardRef(\n function PlasmicLinkInternal(props: any, ref: React.Ref<any>) {\n // props.href is required for nextjs; if no props.href,\n // then we just render the default anchor element\n if (props.platform === \"nextjs\" && props.href) {\n const nextjsProps = [\n \"href\",\n \"replace\",\n \"scroll\",\n \"shallow\",\n \"passHref\",\n \"prefetch\",\n \"locale\",\n ];\n\n // If this is a fragment identifier link, then we set\n // scroll={false} so that smooth scrolling works\n const isFragment = props.href?.startsWith(\"#\");\n\n return React.createElement(\n props.component,\n {\n scroll: !isFragment,\n ...pick(props, ...nextjsProps),\n legacyBehavior: true,\n },\n <a\n {...omit(props, \"component\", \"platform\", ...nextjsProps)}\n ref={ref}\n />\n );\n }\n\n if (props.platform === \"gatsby\" && isInternalHref(props.href)) {\n return React.createElement(props.component, {\n ...omit(props, \"component\", \"platform\", \"href\"),\n ...{ to: props.href, ref },\n });\n }\n\n return <a {...omit(props, \"component\", \"platform\")} ref={ref} />;\n }\n);\n\nfunction isInternalHref(href: string): boolean {\n return /^\\/(?!\\/)/.test(href);\n}\n","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 interface PlasmicI18NContextValue {\n translator?: PlasmicTranslator;\n tagPrefix?: string;\n}\n\nexport const PlasmicTranslatorContext = React.createContext<\n PlasmicI18NContextValue | PlasmicTranslator | undefined\n>(undefined);\n\nexport interface TransProps {\n transKey?: string;\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 usePlasmicTranslator() {\n const _t = React.useContext(PlasmicTranslatorContext);\n const translator = _t\n ? typeof _t === \"function\"\n ? _t\n : _t.translator\n : undefined;\n return translator;\n}\n\nexport function genTranslatableString(\n elt: React.ReactNode,\n opts?: {\n tagPrefix?: string;\n }\n) {\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 prefix = opts?.tagPrefix ?? \"\";\n const componentId = `${prefix}${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({ transKey, children }: TransProps) {\n const _t = React.useContext(PlasmicTranslatorContext);\n const translator = _t\n ? typeof _t === \"function\"\n ? _t\n : _t.translator\n : undefined;\n if (!translator) {\n warnNoTranslationFunctionAtMostOnce();\n return children;\n }\n\n const { str, components, componentsCount } = genTranslatableString(children, {\n tagPrefix: typeof _t === \"object\" ? _t.tagPrefix : undefined,\n });\n return translator(\n transKey ?? str,\n componentsCount > 0 ? { components } : undefined\n );\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 {\n PlasmicDataSourceContextProvider,\n PlasmicDataSourceContextValue,\n} from \"@plasmicapp/data-sources-context\";\nimport { SSRProvider, useIsSSR as useAriaIsSSR } from \"@react-aria/ssr\";\nimport * as React from \"react\";\nimport { PlasmicHeadContext } from \"./PlasmicHead\";\nimport {\n PlasmicI18NContextValue,\n PlasmicTranslator,\n PlasmicTranslatorContext,\n} from \"./translation\";\nexport {\n PlasmicDataSourceContextProvider,\n useCurrentUser,\n} from \"@plasmicapp/data-sources-context\";\nimport { DataProvider, PlasmicLinkProvider } from \"@plasmicapp/host\";\nimport { PlasmicLinkInternal } from \"./PlasmicLink\";\n// import { PlasmicLink } from \"./PlasmicLink\";\n\nexport interface PlasmicRootContextValue {\n platform?: \"nextjs\" | \"gatsby\";\n}\n\nconst PlasmicRootContext = React.createContext<\n PlasmicRootContextValue | undefined\n>(undefined);\n\nexport interface PlasmicRootProviderProps\n extends PlasmicDataSourceContextValue {\n platform?: \"nextjs\" | \"gatsby\";\n children?: React.ReactNode;\n i18n?: PlasmicI18NContextValue;\n /**\n * @deprecated use i18n.translator instead\n */\n translator?: PlasmicTranslator;\n Head?: React.ComponentType<any>;\n Link?: React.ComponentType<any>;\n disableLoadingBoundary?: boolean;\n suspenseFallback?: React.ReactNode;\n}\n\nexport function PlasmicRootProvider(props: PlasmicRootProviderProps) {\n const {\n platform,\n children,\n userAuthToken,\n isUserLoading,\n authRedirectUri,\n user,\n disableLoadingBoundary,\n suspenseFallback,\n } = props;\n const context = React.useMemo(\n () => ({\n platform,\n }),\n [platform]\n );\n const dataSourceContextValue = React.useMemo(\n () => ({\n userAuthToken,\n user,\n isUserLoading,\n authRedirectUri,\n }),\n [userAuthToken, isUserLoading, user, authRedirectUri]\n );\n const reactMajorVersion = +React.version.split(\".\")[0];\n\n return (\n <MaybeWrap\n cond={!disableLoadingBoundary && reactMajorVersion >= 18}\n wrapper={(children) => (\n <DataProvider\n name=\"plasmicInternalEnableLoadingBoundary\"\n hidden\n data={true}\n >\n <React.Suspense fallback={suspenseFallback ?? \"Loading...\"}>\n {children}\n </React.Suspense>\n </DataProvider>\n )}\n >\n <PlasmicRootContext.Provider value={context}>\n <SSRProvider>\n <PlasmicDataSourceContextProvider value={dataSourceContextValue}>\n <PlasmicTranslatorContext.Provider\n value={props.i18n ?? props.translator}\n >\n <PlasmicHeadContext.Provider value={props.Head}>\n <SafePlasmicLinkProvider\n Link={props.Link ?? PlasmicLinkInternal}\n >\n {children}\n </SafePlasmicLinkProvider>\n </PlasmicHeadContext.Provider>\n </PlasmicTranslatorContext.Provider>\n </PlasmicDataSourceContextProvider>\n </SSRProvider>\n </PlasmicRootContext.Provider>\n </MaybeWrap>\n );\n}\n\n/**\n * A PlasmicLinkProvider that anticipates PlasmicLinkProvider may not exist yet from\n * @plasmicapp/host if the user is using an older version\n */\nfunction SafePlasmicLinkProvider(\n props: React.ComponentProps<typeof PlasmicLinkProvider>\n) {\n if (PlasmicLinkProvider) {\n return <PlasmicLinkProvider {...props} />;\n } else {\n return <>{props.children}</>;\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\nfunction MaybeWrap(props: {\n children: React.ReactElement;\n cond: boolean;\n wrapper: (children: React.ReactElement) => React.ReactElement;\n}) {\n return props.cond ? props.wrapper(props.children) : props.children;\n}\n"],"names":["React","useAriaIsSSR"],"mappings":"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"}
1
+ {"version":3,"file":"ssr-145c6cd2.js","sources":["../../src/render/PlasmicLink.tsx","../../src/render/translation.tsx","../../src/render/ssr.tsx"],"sourcesContent":["import { usePlasmicLinkMaybe } from \"@plasmicapp/host\";\nimport React from \"react\";\nimport { omit, pick } from \"../common\";\n\nexport const PlasmicLink = React.forwardRef(function PlasmicLink(\n props: any,\n ref: React.Ref<any>\n) {\n // The usePlasmicLinkMaybe function may be undefined, if host is not up-to-date\n const Link = usePlasmicLinkMaybe?.() ?? PlasmicLinkInternal;\n if (Link === PlasmicLink || Link === PlasmicLinkInternal) {\n // Just in case, break the cycle\n return <PlasmicLinkInternal {...props} ref={ref} />;\n } else {\n // Don't pass component/platform props to non-PlasmicLinkInternal\n return <Link {...omit(props, \"component\", \"platform\")} ref={ref} />;\n }\n});\n\nexport const PlasmicLinkInternal = React.forwardRef(\n function PlasmicLinkInternal(props: any, ref: React.Ref<any>) {\n // props.href is required for nextjs; if no props.href,\n // then we just render the default anchor element\n if (props.platform === \"nextjs\" && props.href) {\n const nextjsProps = [\n \"href\",\n \"replace\",\n \"scroll\",\n \"shallow\",\n \"passHref\",\n \"prefetch\",\n \"locale\",\n ];\n\n // If this is a fragment identifier link, then we set\n // scroll={false} so that smooth scrolling works\n const isFragment = props.href?.startsWith(\"#\");\n\n return React.createElement(\n props.component,\n {\n scroll: !isFragment,\n ...pick(props, ...nextjsProps),\n legacyBehavior: true,\n },\n <a\n {...omit(props, \"component\", \"platform\", ...nextjsProps)}\n ref={ref}\n />\n );\n }\n\n if (props.platform === \"gatsby\" && isInternalHref(props.href)) {\n return React.createElement(props.component, {\n ...omit(props, \"component\", \"platform\", \"href\"),\n ...{ to: props.href, ref },\n });\n }\n\n return <a {...omit(props, \"component\", \"platform\")} ref={ref} />;\n }\n);\n\nfunction isInternalHref(href: string): boolean {\n return /^\\/(?!\\/)/.test(href);\n}\n","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 interface PlasmicI18NContextValue {\n translator?: PlasmicTranslator;\n tagPrefix?: string;\n}\n\nexport const PlasmicTranslatorContext = React.createContext<\n PlasmicI18NContextValue | PlasmicTranslator | undefined\n>(undefined);\n\nexport interface TransProps {\n transKey?: string;\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 usePlasmicTranslator() {\n const _t = React.useContext(PlasmicTranslatorContext);\n const translator = _t\n ? typeof _t === \"function\"\n ? _t\n : _t.translator\n : undefined;\n return translator;\n}\n\nexport function genTranslatableString(\n elt: React.ReactNode,\n opts?: {\n tagPrefix?: string;\n }\n) {\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 prefix = opts?.tagPrefix ?? \"\";\n const componentId = `${prefix}${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({ transKey, children }: TransProps) {\n const _t = React.useContext(PlasmicTranslatorContext);\n const translator = _t\n ? typeof _t === \"function\"\n ? _t\n : _t.translator\n : undefined;\n if (!translator) {\n warnNoTranslationFunctionAtMostOnce();\n return children;\n }\n\n const { str, components, componentsCount } = genTranslatableString(children, {\n tagPrefix: typeof _t === \"object\" ? _t.tagPrefix : undefined,\n });\n return translator(\n transKey ?? str,\n componentsCount > 0 ? { components } : undefined\n );\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 {\n PlasmicDataSourceContextProvider,\n PlasmicDataSourceContextValue,\n} from \"@plasmicapp/data-sources-context\";\nimport { SSRProvider, useIsSSR as useAriaIsSSR } from \"@react-aria/ssr\";\nimport * as React from \"react\";\nimport { PlasmicHeadContext } from \"./PlasmicHead\";\nimport {\n PlasmicI18NContextValue,\n PlasmicTranslator,\n PlasmicTranslatorContext,\n} from \"./translation\";\nexport {\n PlasmicDataSourceContextProvider,\n useCurrentUser,\n} from \"@plasmicapp/data-sources-context\";\nimport { DataProvider, PlasmicLinkProvider } from \"@plasmicapp/host\";\nimport { PlasmicLinkInternal } from \"./PlasmicLink\";\n// import { PlasmicLink } from \"./PlasmicLink\";\n\nexport interface PlasmicRootContextValue {\n platform?: \"nextjs\" | \"gatsby\";\n}\n\nconst PlasmicRootContext = React.createContext<\n PlasmicRootContextValue | undefined\n>(undefined);\n\nexport interface PlasmicRootProviderProps\n extends PlasmicDataSourceContextValue {\n platform?: \"nextjs\" | \"gatsby\";\n children?: React.ReactNode;\n i18n?: PlasmicI18NContextValue;\n /**\n * @deprecated use i18n.translator instead\n */\n translator?: PlasmicTranslator;\n Head?: React.ComponentType<any>;\n Link?: React.ComponentType<any>;\n disableLoadingBoundary?: boolean;\n suspenseFallback?: React.ReactNode;\n}\n\nexport function PlasmicRootProvider(props: PlasmicRootProviderProps) {\n const {\n platform,\n children,\n userAuthToken,\n isUserLoading,\n authRedirectUri,\n user,\n disableLoadingBoundary,\n suspenseFallback,\n } = props;\n const context = React.useMemo(\n () => ({\n platform,\n }),\n [platform]\n );\n const dataSourceContextValue = React.useMemo(\n () => ({\n userAuthToken,\n user,\n isUserLoading,\n authRedirectUri,\n }),\n [userAuthToken, isUserLoading, user, authRedirectUri]\n );\n const reactMajorVersion = +React.version.split(\".\")[0];\n\n return (\n <MaybeWrap\n cond={!disableLoadingBoundary && reactMajorVersion >= 18}\n wrapper={(children) => (\n <DataProvider\n name=\"plasmicInternalEnableLoadingBoundary\"\n hidden\n data={true}\n >\n <React.Suspense fallback={suspenseFallback ?? \"Loading...\"}>\n {children}\n </React.Suspense>\n </DataProvider>\n )}\n >\n <PlasmicRootContext.Provider value={context}>\n <SSRProvider>\n <PlasmicDataSourceContextProvider value={dataSourceContextValue}>\n <PlasmicTranslatorContext.Provider\n value={props.i18n ?? props.translator}\n >\n <PlasmicHeadContext.Provider value={props.Head}>\n <SafePlasmicLinkProvider\n Link={props.Link ?? PlasmicLinkInternal}\n >\n {children}\n </SafePlasmicLinkProvider>\n </PlasmicHeadContext.Provider>\n </PlasmicTranslatorContext.Provider>\n </PlasmicDataSourceContextProvider>\n </SSRProvider>\n </PlasmicRootContext.Provider>\n </MaybeWrap>\n );\n}\n\n/**\n * A PlasmicLinkProvider that anticipates PlasmicLinkProvider may not exist yet from\n * @plasmicapp/host if the user is using an older version\n */\nfunction SafePlasmicLinkProvider(\n props: React.ComponentProps<typeof PlasmicLinkProvider>\n) {\n if (PlasmicLinkProvider) {\n return <PlasmicLinkProvider {...props} />;\n } else {\n return <>{props.children}</>;\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\nfunction MaybeWrap(props: {\n children: React.ReactElement;\n cond: boolean;\n wrapper: (children: React.ReactElement) => React.ReactElement;\n}) {\n return props.cond ? props.wrapper(props.children) : props.children;\n}\n"],"names":["React","useAriaIsSSR"],"mappings":";;;;;;;;AAIO,IAAM,WAAW,GAAGA,cAAK,CAAC,UAAU,CAAC,SAAS,WAAW,CAC9D,KAAU,EACV,GAAmB,EAAA;;;IAGnB,IAAM,IAAI,GAAG,CAAA,EAAA,GAAA,mBAAmB,KAAA,IAAA,IAAnB,mBAAmB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnB,mBAAmB,EAAI,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,mBAAmB,CAAC;AAC5D,IAAA,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,mBAAmB,EAAE;;QAExD,OAAOA,cAAA,CAAA,aAAA,CAAC,mBAAmB,EAAK,QAAA,CAAA,EAAA,EAAA,KAAK,IAAE,GAAG,EAAE,GAAG,EAAA,CAAA,CAAI,CAAC;AACrD,KAAA;AAAM,SAAA;;AAEL,QAAA,OAAOA,6BAAC,IAAI,EAAA,QAAA,CAAA,EAAA,EAAK,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,EAAA,GAAG,EAAE,GAAG,IAAI,CAAC;AACrE,KAAA;AACH,CAAC,EAAE;AAEI,IAAM,mBAAmB,GAAGA,cAAK,CAAC,UAAU,CACjD,SAAS,mBAAmB,CAAC,KAAU,EAAE,GAAmB,EAAA;;;;IAG1D,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE;AAC7C,QAAA,IAAM,WAAW,GAAG;YAClB,MAAM;YACN,SAAS;YACT,QAAQ;YACR,SAAS;YACT,UAAU;YACV,UAAU;YACV,QAAQ;SACT,CAAC;;;QAIF,IAAM,UAAU,GAAG,CAAA,EAAA,GAAA,KAAK,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,UAAU,CAAC,GAAG,CAAC,CAAC;AAE/C,QAAA,OAAOA,cAAK,CAAC,aAAa,CACxB,KAAK,CAAC,SAAS,EAAA,QAAA,CAAA,QAAA,CAAA,EAEb,MAAM,EAAE,CAAC,UAAU,EAAA,EAChB,IAAI,CAAC,KAAA,CAAA,KAAA,CAAA,EAAA,aAAA,CAAA,CAAA,KAAK,UAAK,WAAW,CAAA,EAAA,KAAA,CAAA,CAAA,CAAA,EAAA,EAC7B,cAAc,EAAE,IAAI,EAEtB,CAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,QAAA,CAAA,EAAA,EACM,IAAI,CAAC,KAAA,CAAA,KAAA,CAAA,EAAA,aAAA,CAAA,CAAA,KAAK,EAAE,WAAW,EAAE,UAAU,CAAA,EAAA,MAAA,CAAK,WAAW,CACvD,EAAA,KAAA,CAAA,CAAA,EAAA,EAAA,GAAG,EAAE,GAAG,EAAA,CAAA,CACR,CACH,CAAC;AACH,KAAA;AAED,IAAA,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;AAC7D,QAAA,OAAOA,cAAK,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACrC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA,EAC5C,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAA,GAAA,EAAE,EAC1B,CAAC;AACJ,KAAA;AAED,IAAA,OAAOA,cAAO,CAAA,aAAA,CAAA,GAAA,EAAA,QAAA,CAAA,EAAA,EAAA,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,EAAA,GAAG,EAAE,GAAG,IAAI,CAAC;AACnE,CAAC,CACF,CAAC;AAEF,SAAS,cAAc,CAAC,IAAY,EAAA;AAClC,IAAA,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC;;ACjDO,IAAM,wBAAwB,GAAGA,cAAK,CAAC,aAAa,CAEzD,SAAS,CAAC,CAAC;AAOb,SAAS,UAAU,CAAC,GAAQ,EAAA;AAC1B,IAAA,OAAO,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC;AACnE,CAAC;SAEe,oBAAoB,GAAA;IAClC,IAAM,EAAE,GAAGA,cAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;IACtD,IAAM,UAAU,GAAG,EAAE;AACnB,UAAE,OAAO,EAAE,KAAK,UAAU;AACxB,cAAE,EAAE;cACF,EAAE,CAAC,UAAU;UACf,SAAS,CAAC;AACd,IAAA,OAAO,UAAU,CAAC;AACpB,CAAC;AAEe,SAAA,qBAAqB,CACnC,GAAoB,EACpB,IAEC,EAAA;IAED,IAAM,UAAU,GAEZ,EAAE,CAAC;IACP,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,IAAM,OAAO,GAAG,UAAC,IAAqB,EAAA;;QACpC,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,EAAE,CAAC;AACX,SAAA;QACD,IACE,OAAO,IAAI,KAAK,QAAQ;YACxB,OAAO,IAAI,KAAK,SAAS;YACzB,OAAO,IAAI,KAAK,QAAQ,EACxB;AACA,YAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;AACxB,SAAA;AACD,QAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC5B,YAAA,OAAO,EAAE,CAAC;AACX,SAAA;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;AAC3C,YAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;iBACpB,GAAG,CAAC,UAAC,KAAK,EAAK,EAAA,OAAA,OAAO,CAAC,KAAK,CAAC,CAAd,EAAc,CAAC;iBAC9B,MAAM,CAAC,UAAC,KAAK,EAAK,EAAA,OAAA,CAAC,CAAC,KAAK,CAAP,EAAO,CAAC;iBAC1B,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,SAAA;QACD,IAAM,YAAY,GAChB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;AACpB,YAAA,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC;AAC7B,YAAA,IAAI,CAAC,KAAK,CAAC,QAAwC;aACrD,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC;AAC3C,YAAA,EAAE,CAAC;QACL,IAAM,QAAQ,GAAG,EAAA,CAAA,MAAA,CAAGA,cAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC;aACrD,GAAG,CAAC,UAAC,KAAK,EAAK,EAAA,OAAA,OAAO,CAAC,KAAK,CAAC,CAAd,EAAc,CAAC;aAC9B,MAAM,CAAC,UAAC,KAAK,EAAK,EAAA,OAAA,CAAC,CAAC,KAAK,CAAP,EAAO,CAAC;AAC1B,aAAA,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC;AACd,QAAA,IAAIA,cAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAKA,cAAK,CAAC,QAAQ,EAAE;AAC9D,YAAA,OAAO,QAAQ,CAAC;AACjB,SAAA;AACD,QAAA,IAAM,MAAM,GAAG,CAAA,EAAA,GAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,SAAS,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAC;QACrC,IAAM,WAAW,GAAG,EAAG,CAAA,MAAA,CAAA,MAAM,SAAG,eAAe,GAAG,CAAC,CAAE,CAAC;AACtD,QAAA,eAAe,EAAE,CAAC;QAClB,UAAU,CAAC,WAAW,CAAC,GAAGA,cAAK,CAAC,cAAc,CAAC,IAAI,CAAC;AAClD,cAAEA,cAAK,CAAC,YAAY,CAAC,IAAW,EAAE;AAC9B,gBAAA,GAAG,EAAE,WAAW;AAChB,gBAAA,QAAQ,EAAE,SAAS;aACpB,CAAC;cACD,IAAc,CAAC;AACpB,QAAA,OAAO,WAAI,WAAW,EAAA,GAAA,CAAA,CAAA,MAAA,CAAI,QAAQ,EAAK,IAAA,CAAA,CAAA,MAAA,CAAA,WAAW,MAAG,CAAC;AACxD,KAAC,CAAC;AAEF,IAAA,IAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACzB,OAAO;AACL,QAAA,GAAG,EAAA,GAAA;AACH,QAAA,UAAU,EAAA,UAAA;AACV,QAAA,eAAe,EAAA,eAAA;KAChB,CAAC;AACJ,CAAC;AAEK,SAAU,KAAK,CAAC,EAAkC,EAAA;QAAhC,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,CAAA;IACxC,IAAM,EAAE,GAAGA,cAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;IACtD,IAAM,UAAU,GAAG,EAAE;AACnB,UAAE,OAAO,EAAE,KAAK,UAAU;AACxB,cAAE,EAAE;cACF,EAAE,CAAC,UAAU;UACf,SAAS,CAAC;IACd,IAAI,CAAC,UAAU,EAAE;AACf,QAAA,mCAAmC,EAAE,CAAC;AACtC,QAAA,OAAO,QAAQ,CAAC;AACjB,KAAA;AAEK,IAAA,IAAA,EAAuC,GAAA,qBAAqB,CAAC,QAAQ,EAAE;AAC3E,QAAA,SAAS,EAAE,OAAO,EAAE,KAAK,QAAQ,GAAG,EAAE,CAAC,SAAS,GAAG,SAAS;KAC7D,CAAC,EAFM,GAAG,GAAA,EAAA,CAAA,GAAA,EAAE,UAAU,GAAA,EAAA,CAAA,UAAA,EAAE,eAAe,GAAA,EAAA,CAAA,eAEtC,CAAC;IACH,OAAO,UAAU,CACf,QAAQ,KAAR,IAAA,IAAA,QAAQ,cAAR,QAAQ,GAAI,GAAG,EACf,eAAe,GAAG,CAAC,GAAG,EAAE,UAAU,EAAA,UAAA,EAAE,GAAG,SAAS,CACjD,CAAC;AACJ,CAAC;AAED,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,SAAS,mCAAmC,GAAA;IAC1C,IAAI,CAAC,SAAS,EAAE;AACd,QAAA,OAAO,CAAC,IAAI,CACV,yEAAyE,CAC1E,CAAC;QACF,SAAS,GAAG,IAAI,CAAC;AAClB,KAAA;AACH,CAAC;AAED,SAAS,MAAM,CAAmB,CAAM,EAAE,GAAM,EAAA;AAC9C,IAAA,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC;AACzD;;AChHA,IAAM,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAE5C,SAAS,CAAC,CAAC;AAiBP,SAAU,mBAAmB,CAAC,KAA+B,EAAA;;AAE/D,IAAA,IAAA,QAAQ,GAQN,KAAK,CARC,QAAA,EACR,QAAQ,GAON,KAAK,CAPC,QAAA,EACR,aAAa,GAMX,KAAK,cANM,EACb,aAAa,GAKX,KAAK,CAAA,aALM,EACb,eAAe,GAIb,KAAK,CAAA,eAJQ,EACf,IAAI,GAGF,KAAK,CAHH,IAAA,EACJ,sBAAsB,GAEpB,KAAK,CAFe,sBAAA,EACtB,gBAAgB,GACd,KAAK,iBADS,CACR;IACV,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAC3B,YAAA,EAAM,QAAC;AACL,QAAA,QAAQ,EAAA,QAAA;AACT,KAAA,IAAC,EACF,CAAC,QAAQ,CAAC,CACX,CAAC;IACF,IAAM,sBAAsB,GAAG,KAAK,CAAC,OAAO,CAC1C,YAAA,EAAM,QAAC;AACL,QAAA,aAAa,EAAA,aAAA;AACb,QAAA,IAAI,EAAA,IAAA;AACJ,QAAA,aAAa,EAAA,aAAA;AACb,QAAA,eAAe,EAAA,eAAA;AAChB,KAAA,EALK,EAKJ,EACF,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,CAAC,CACtD,CAAC;AACF,IAAA,IAAM,iBAAiB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvD,IAAA,QACE,KAAA,CAAA,aAAA,CAAC,SAAS,EAAA,EACR,IAAI,EAAE,CAAC,sBAAsB,IAAI,iBAAiB,IAAI,EAAE,EACxD,OAAO,EAAE,UAAC,QAAQ,EAAK,EAAA,QACrB,KAAA,CAAA,aAAA,CAAC,YAAY,EACX,EAAA,IAAI,EAAC,sCAAsC,EAC3C,MAAM,EACN,IAAA,EAAA,IAAI,EAAE,IAAI,EAAA;AAEV,YAAA,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,QAAQ,IAAC,QAAQ,EAAE,gBAAgB,KAAhB,IAAA,IAAA,gBAAgB,cAAhB,gBAAgB,GAAI,YAAY,EACvD,EAAA,QAAQ,CACM,CACJ,IAChB,EAAA;AAED,QAAA,KAAA,CAAA,aAAA,CAAC,kBAAkB,CAAC,QAAQ,EAAC,EAAA,KAAK,EAAE,OAAO,EAAA;AACzC,YAAA,KAAA,CAAA,aAAA,CAAC,WAAW,EAAA,IAAA;AACV,gBAAA,KAAA,CAAA,aAAA,CAAC,gCAAgC,EAAA,EAAC,KAAK,EAAE,sBAAsB,EAAA;AAC7D,oBAAA,KAAA,CAAA,aAAA,CAAC,wBAAwB,CAAC,QAAQ,EAAA,EAChC,KAAK,EAAE,CAAA,EAAA,GAAA,KAAK,CAAC,IAAI,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,KAAK,CAAC,UAAU,EAAA;wBAErC,KAAC,CAAA,aAAA,CAAA,kBAAkB,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAA;4BAC5C,KAAC,CAAA,aAAA,CAAA,uBAAuB,IACtB,IAAI,EAAE,MAAA,KAAK,CAAC,IAAI,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,mBAAmB,IAEtC,QAAQ,CACe,CACE,CACI,CACH,CACvB,CACc,CACpB,EACZ;AACJ,CAAC;AAED;;;AAGG;AACH,SAAS,uBAAuB,CAC9B,KAAuD,EAAA;AAEvD,IAAA,IAAI,mBAAmB,EAAE;AACvB,QAAA,OAAO,KAAC,CAAA,aAAA,CAAA,mBAAmB,EAAK,QAAA,CAAA,EAAA,EAAA,KAAK,EAAI,CAAC;AAC3C,KAAA;AAAM,SAAA;AACL,QAAA,OAAO,KAAG,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,EAAA,KAAK,CAAC,QAAQ,CAAI,CAAC;AAC9B,KAAA;AACH,CAAC;AAEM,IAAM,QAAQ,GAAGC,WAAa;SAErB,iBAAiB,GAAA;IAC/B,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;AAChD,CAAC;AAED,IAAI,YAAY,GAAG,KAAK,CAAC;AACzB;;AAEG;SACa,oBAAoB,GAAA;AAClC,IAAA,IAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,IAAI,OAAO,IAAI,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;QACrE,OAAO;AACR,KAAA;IAED,YAAY,GAAG,IAAI,CAAC;AACpB,IAAA,OAAO,CAAC,IAAI,CACV,uLAAuL,CACxL,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAIlB,EAAA;IACC,OAAO,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;AACrE;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { StateSpecNode } from "./graph";
2
2
  import { $State, $StateSpec, Internal$State, ObjectPath, StateCell } from "./types";
3
3
  export declare const proxyObjToStateCell: WeakMap<object, Record<string | number | symbol, StateCell<any>>>;
4
- export declare const valtioSubscriptions: WeakMap<object, (() => boolean)[]>;
4
+ export declare const valtioSubscriptions: WeakMap<object, (() => void)[]>;
5
5
  export declare function tryGetStateCellFrom$StateRoot($state: $State, path: ObjectPath): StateCell<any> | undefined;
6
6
  export declare function getStateCellFrom$StateRoot($state: $State, path: ObjectPath): StateCell<any>;
7
7
  export declare function unsubscribeToValtio($$state: Internal$State, statePath: ObjectPath): void;
@@ -1,6 +1,5 @@
1
- import { ComponentMeta, ComponentStory } from "@storybook/react";
2
1
  import React from "react";
3
2
  import "../styles/plasmic.css";
4
- export declare const Base: ComponentStory<React.ForwardRefExoticComponent<import("../render/PlasmicImg").PlasmicImgProps & React.RefAttributes<HTMLElement>>>;
5
- declare const _default: ComponentMeta<React.ForwardRefExoticComponent<import("../render/PlasmicImg").PlasmicImgProps & React.RefAttributes<HTMLElement>>>;
3
+ export declare const Base: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, import("../render/PlasmicImg").PlasmicImgProps & React.RefAttributes<HTMLElement>>;
4
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, import("../render/PlasmicImg").PlasmicImgProps & React.RefAttributes<HTMLElement>>;
6
5
  export default _default;
@@ -1,4 +1,3 @@
1
- import { Story } from "@storybook/react";
2
1
  import React from "react";
3
2
  declare const _default: {
4
3
  title: string;
@@ -13,66 +12,66 @@ interface CounterArgs {
13
12
  "data-testid"?: string;
14
13
  title?: React.ReactNode;
15
14
  }
16
- export declare const PrivateCounter: Story<CounterArgs>;
17
- export declare const ReadonlyCounter: Story<{
15
+ export declare const PrivateCounter: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, CounterArgs>;
16
+ export declare const ReadonlyCounter: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, {
18
17
  counterStateType?: "readonly" | "writable" | undefined;
19
18
  }>;
20
- export declare const WritableCounter: Story<{
19
+ export declare const WritableCounter: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, {
21
20
  counterStateType?: "readonly" | "writable" | undefined;
22
21
  }>;
23
- export declare const DynamicInitCount: Story;
24
- export declare const ResetInput: Story<{
22
+ export declare const DynamicInitCount: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, import("@storybook/types").Args>;
23
+ export declare const ResetInput: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, {
25
24
  peopleList: {
26
25
  firstName: string;
27
26
  lastName: string;
28
27
  }[];
29
28
  }>;
30
- export declare const RepeatedStates: Story<{
29
+ export declare const RepeatedStates: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, {
31
30
  size: number;
32
31
  }>;
33
- export declare const NestedRepeatedCounter: Story<{}>;
34
- export declare const MatrixRepeatedCounter: Story<{}>;
35
- export declare const InitFuncFromInternalContextData: Story<{
32
+ export declare const NestedRepeatedCounter: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, {}>;
33
+ export declare const MatrixRepeatedCounter: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, {}>;
34
+ export declare const InitFuncFromInternalContextData: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, {
36
35
  products: {
37
36
  price: number;
38
37
  name: string;
39
38
  }[];
40
39
  }>;
41
- export declare const InitFuncFromRootContextData: Story<{
40
+ export declare const InitFuncFromRootContextData: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, {
42
41
  products: {
43
42
  price: number;
44
43
  name: string;
45
44
  }[];
46
45
  }>;
47
- export declare const InitFuncFromInternalContextDataWithDelay: Story<{
46
+ export declare const InitFuncFromInternalContextDataWithDelay: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, {
48
47
  products: {
49
48
  price: number;
50
49
  name: string;
51
50
  }[];
52
51
  }>;
53
- export declare const RepeatedImplicitState: Story<{}>;
52
+ export declare const RepeatedImplicitState: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, {}>;
54
53
  interface Person {
55
54
  firstName: string;
56
55
  lastName: string;
57
56
  nicknames: string[];
58
57
  }
59
- export declare const FormBuilder: Story<{
58
+ export declare const FormBuilder: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, {
60
59
  people: Person[];
61
60
  }>;
62
- export declare const FormBuilderImplicitStates: Story<{
61
+ export declare const FormBuilderImplicitStates: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, {
63
62
  people: Person[];
64
63
  }>;
65
- export declare const StateCellIsArray: Story<{
64
+ export declare const StateCellIsArray: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, {
66
65
  people: Person[];
67
66
  }>;
68
- export declare const StateCellIsMatrix: Story<{
67
+ export declare const StateCellIsMatrix: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, {
69
68
  board: number[][];
70
69
  }>;
71
- export declare const IsOnChangePropImmediatelyFired: Story<{}>;
72
- export declare const ImmutableStateCells: Story<{
70
+ export declare const IsOnChangePropImmediatelyFired: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, {}>;
71
+ export declare const ImmutableStateCells: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, {
73
72
  people: Person[];
74
73
  }>;
75
- export declare const InCanvasDollarState: Story<{}>;
76
- export declare const AddDeleteSpecsInCanvas: Story<{}>;
77
- export declare const TodoApp: Story<{}>;
78
- export declare const CycleInStateInitialization: Story<{}>;
74
+ export declare const InCanvasDollarState: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, {}>;
75
+ export declare const AddDeleteSpecsInCanvas: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, {}>;
76
+ export declare const TodoApp: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, {}>;
77
+ export declare const CycleInStateInitialization: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, {}>;
package/LICENSE.md DELETED
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2021 Plasmic
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.
@@ -1 +0,0 @@
1
- {"version":3,"file":"common-e74df507.js","sources":["../../src/common.ts"],"sourcesContent":["export function notNil<T>(x: T | undefined | null): x is T {\n return x != null;\n}\n\nexport function pick<T extends {}>(\n obj: T,\n ...keys: (string | number | symbol)[]\n): Partial<T> {\n if (Object.keys(obj).length === 0) {\n return obj;\n }\n const res: any = {};\n for (const key of keys) {\n if (key in obj) {\n res[key] = obj[key as keyof T];\n }\n }\n return res as Partial<T>;\n}\n\nexport function pickBy<T extends {}>(\n obj: T,\n func: (key: string, val: any) => boolean\n): Partial<T> {\n const res: any = {};\n for (const [key, val] of Object.entries(obj)) {\n if (func(key, val)) {\n res[key] = obj[key as keyof T];\n }\n }\n return res as Partial<T>;\n}\n\nexport function omit<T extends {}>(obj: T, ...keys: (keyof T)[]): Partial<T> {\n if (Object.keys(obj).length === 0) {\n return obj;\n }\n const res: Partial<T> = {};\n for (const key of Object.keys(obj) as (keyof T)[]) {\n if (!keys.includes(key)) {\n res[key] = obj[key];\n }\n }\n return res;\n}\n\nexport function isSubset<T>(a1: T[], a2: T[]) {\n return a1.every((x) => a2.includes(x));\n}\n\nexport function chainSingleArgFuncs<A>(...funcs: ((arg: A) => A)[]) {\n if (funcs.length === 0) {\n return undefined;\n }\n return (arg: A) => {\n let res: A = arg;\n for (const func of funcs) {\n res = func(res);\n }\n return res;\n };\n}\n\nexport function ensure<T>(x: T | null | undefined): T {\n if (x === null || x === undefined) {\n debugger;\n throw new Error(`Value must not be undefined or null`);\n } else {\n return x;\n }\n}\n\nexport function isString(x: any): x is string {\n return typeof x === \"string\";\n}\n\nexport function groupBy<T>(\n collection: T[],\n keyFunc: (x: T) => string\n): Record<string, T[]> {\n const result: Record<string, T[]> = {};\n for (const obj of collection) {\n const key = keyFunc(obj);\n if (key in result) {\n result[key].push(obj);\n } else {\n result[key] = [obj];\n }\n }\n return result;\n}\n\nexport function mapValues<V, V2>(\n obj: Record<string, V>,\n mapper: (value: V) => V2\n): Record<string, V2> {\n const result: Record<string, V2> = {};\n for (const key in obj) {\n result[key] = mapper(obj[key]);\n }\n return result;\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAM,SAAU,MAAM,CAAI,CAAuB,EAAA;IAC/C,OAAO,CAAC,IAAI,IAAI,CAAC;AACnB,CAAC;AAEK,SAAU,IAAI,CAClB,GAAM,EAAA;;IACN,IAAqC,IAAA,GAAA,EAAA,CAAA;SAArC,IAAqC,EAAA,GAAA,CAAA,EAArC,EAAqC,GAAA,SAAA,CAAA,MAAA,EAArC,EAAqC,EAAA,EAAA;QAArC,IAAqC,CAAA,EAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA,CAAA;;IAErC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AACjC,QAAA,OAAO,GAAG,CAAC;AACZ,KAAA;IACD,IAAM,GAAG,GAAQ,EAAE,CAAC;;AACpB,QAAA,KAAkB,IAAA,MAAA,GAAA,QAAA,CAAA,IAAI,CAAA,0BAAA,EAAE,CAAA,QAAA,CAAA,IAAA,EAAA,QAAA,GAAA,MAAA,CAAA,IAAA,EAAA,EAAA;AAAnB,YAAA,IAAM,GAAG,GAAA,QAAA,CAAA,KAAA,CAAA;YACZ,IAAI,GAAG,IAAI,GAAG,EAAE;gBACd,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAc,CAAC,CAAC;AAChC,aAAA;AACF,SAAA;;;;;;;;;AACD,IAAA,OAAO,GAAiB,CAAC;AAC3B,CAAC;AAeK,SAAU,IAAI,CAAe,GAAM,EAAA;;IAAE,IAAoB,IAAA,GAAA,EAAA,CAAA;SAApB,IAAoB,EAAA,GAAA,CAAA,EAApB,EAAoB,GAAA,SAAA,CAAA,MAAA,EAApB,EAAoB,EAAA,EAAA;QAApB,IAAoB,CAAA,EAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA,CAAA;;IAC7D,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AACjC,QAAA,OAAO,GAAG,CAAC;AACZ,KAAA;IACD,IAAM,GAAG,GAAe,EAAE,CAAC;;QAC3B,KAAkB,IAAA,EAAA,GAAA,QAAA,CAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAgB,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;AAA9C,YAAA,IAAM,GAAG,GAAA,EAAA,CAAA,KAAA,CAAA;AACZ,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACvB,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AACrB,aAAA;AACF,SAAA;;;;;;;;;AACD,IAAA,OAAO,GAAG,CAAC;AACb,CAAC;AAEe,SAAA,QAAQ,CAAI,EAAO,EAAE,EAAO,EAAA;AAC1C,IAAA,OAAO,EAAE,CAAC,KAAK,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAd,EAAc,CAAC,CAAC;AACzC,CAAC;SAEe,mBAAmB,GAAA;IAAI,IAA2B,KAAA,GAAA,EAAA,CAAA;SAA3B,IAA2B,EAAA,GAAA,CAAA,EAA3B,EAA2B,GAAA,SAAA,CAAA,MAAA,EAA3B,EAA2B,EAAA,EAAA;QAA3B,KAA2B,CAAA,EAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA,CAAA;;AAChE,IAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,QAAA,OAAO,SAAS,CAAC;AAClB,KAAA;AACD,IAAA,OAAO,UAAC,GAAM,EAAA;;QACZ,IAAI,GAAG,GAAM,GAAG,CAAC;;AACjB,YAAA,KAAmB,IAAA,OAAA,GAAA,QAAA,CAAA,KAAK,CAAA,4BAAA,EAAE,CAAA,SAAA,CAAA,IAAA,EAAA,SAAA,GAAA,OAAA,CAAA,IAAA,EAAA,EAAA;AAArB,gBAAA,IAAM,IAAI,GAAA,SAAA,CAAA,KAAA,CAAA;AACb,gBAAA,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;AACjB,aAAA;;;;;;;;;AACD,QAAA,OAAO,GAAG,CAAC;AACb,KAAC,CAAC;AACJ,CAAC;AAEK,SAAU,MAAM,CAAI,CAAuB,EAAA;AAC/C,IAAA,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE;AACjC,QAAA,SAAS;AACT,QAAA,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;AACxD,KAAA;AAAM,SAAA;AACL,QAAA,OAAO,CAAC,CAAC;AACV,KAAA;AACH,CAAC;AAEK,SAAU,QAAQ,CAAC,CAAM,EAAA;AAC7B,IAAA,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC;AAC/B,CAAC;AAEe,SAAA,OAAO,CACrB,UAAe,EACf,OAAyB,EAAA;;IAEzB,IAAM,MAAM,GAAwB,EAAE,CAAC;;AACvC,QAAA,KAAkB,IAAA,YAAA,GAAA,QAAA,CAAA,UAAU,CAAA,sCAAA,EAAE,CAAA,cAAA,CAAA,IAAA,EAAA,cAAA,GAAA,YAAA,CAAA,IAAA,EAAA,EAAA;AAAzB,YAAA,IAAM,GAAG,GAAA,cAAA,CAAA,KAAA,CAAA;AACZ,YAAA,IAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,GAAG,IAAI,MAAM,EAAE;gBACjB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvB,aAAA;AAAM,iBAAA;AACL,gBAAA,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrB,aAAA;AACF,SAAA;;;;;;;;;AACD,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC;AAEe,SAAA,SAAS,CACvB,GAAsB,EACtB,MAAwB,EAAA;IAExB,IAAM,MAAM,GAAuB,EAAE,CAAC;AACtC,IAAA,KAAK,IAAM,GAAG,IAAI,GAAG,EAAE;QACrB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAChC,KAAA;AACD,IAAA,OAAO,MAAM,CAAC;AAChB;;;;"}