@plasmicpkgs/plasmic-basic-components 0.0.258 → 0.0.259

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/Video.d.ts CHANGED
@@ -1,8 +1,13 @@
1
1
  import registerComponent, { ComponentMeta } from "@plasmicapp/host/registerComponent";
2
2
  import React from "react";
3
3
  export declare type VideoProps = Pick<React.ComponentProps<"video">, "autoPlay" | "controls" | "loop" | "muted" | "playsInline" | "poster" | "preload" | "src">;
4
- export declare const Video: React.ForwardRefExoticComponent<Pick<React.DetailedHTMLProps<React.VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, "autoPlay" | "controls" | "loop" | "muted" | "playsInline" | "poster" | "preload" | "src"> & React.RefAttributes<HTMLVideoElement>>;
4
+ interface VideoActions {
5
+ play(): void;
6
+ pause(): void;
7
+ }
8
+ export declare const Video: React.ForwardRefExoticComponent<Pick<React.DetailedHTMLProps<React.VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, "autoPlay" | "controls" | "loop" | "muted" | "playsInline" | "poster" | "preload" | "src"> & React.RefAttributes<VideoActions>>;
5
9
  export declare const videoMeta: ComponentMeta<VideoProps>;
6
10
  export declare function registerVideo(loader?: {
7
11
  registerComponent: typeof registerComponent;
8
12
  }, customVideoMeta?: ComponentMeta<VideoProps>): void;
13
+ export {};
@@ -1300,8 +1300,21 @@ function registerTimer(loader, customMeta) {
1300
1300
  }
1301
1301
 
1302
1302
  var Video = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
1303
+ var videoRef = React.useRef(null);
1304
+ React.useImperativeHandle(ref, function () {
1305
+ return {
1306
+ play: function play() {
1307
+ var _videoRef$current;
1308
+ (_videoRef$current = videoRef.current) == null || _videoRef$current.play();
1309
+ },
1310
+ pause: function pause() {
1311
+ var _videoRef$current2;
1312
+ (_videoRef$current2 = videoRef.current) == null || _videoRef$current2.pause();
1313
+ }
1314
+ };
1315
+ }, []);
1303
1316
  return React__default.createElement("video", Object.assign({
1304
- ref: ref
1317
+ ref: videoRef
1305
1318
  }, props));
1306
1319
  });
1307
1320
  var videoMeta = {
@@ -1359,6 +1372,16 @@ var videoMeta = {
1359
1372
  height: "hug",
1360
1373
  width: "640px",
1361
1374
  maxWidth: "100%"
1375
+ },
1376
+ refActions: {
1377
+ play: {
1378
+ description: "Play the video",
1379
+ argTypes: []
1380
+ },
1381
+ pause: {
1382
+ description: "Pause the video",
1383
+ argTypes: []
1384
+ }
1362
1385
  }
1363
1386
  };
1364
1387
  function registerVideo(loader, customVideoMeta) {
@@ -1 +1 @@
1
- {"version":3,"file":"plasmic-basic-components.cjs.development.js","sources":["../src/ConditionGuard.tsx","../src/Data.tsx","../src/common.ts","../src/Embed.tsx","../src/Iframe.tsx","../src/LoadingBoundary.tsx","../src/Repeater.tsx","../src/ScrollRevealer.tsx","../src/SideEffect.tsx","../src/Timer.tsx","../src/Video.tsx"],"sourcesContent":["import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport React from \"react\";\n\nexport interface ConditionGuardProps {\n condition: boolean;\n onNotSatisfied?: () => Promise<void>;\n children: React.ReactNode;\n skipPaths?: Array<{ path: string }>;\n}\n\nfunction ConditionGuardOnNotSatisfied({\n onNotSatisfied,\n}: Pick<ConditionGuardProps, \"onNotSatisfied\">) {\n const ref = React.useRef(false);\n React.useEffect(() => {\n if (!ref.current) {\n ref.current = true;\n onNotSatisfied?.();\n }\n }, [onNotSatisfied]);\n return null;\n}\n\nfunction isCurrentLocationInSkipPaths(skipPaths?: Array<{ path: string }>) {\n const pathname = window.location.pathname;\n // Ignore search params\n const currentPath = window.location.origin + pathname;\n const plasmicPathname = (globalThis as any)?.[\"__PLASMIC_STUDIO_PATH\"]?.();\n return skipPaths?.some(\n ({ path }) =>\n path === pathname || path === currentPath || path === plasmicPathname\n );\n}\n\nexport function ConditionGuard({\n condition,\n onNotSatisfied,\n children,\n skipPaths,\n}: ConditionGuardProps) {\n if (!condition && !isCurrentLocationInSkipPaths(skipPaths)) {\n return <ConditionGuardOnNotSatisfied onNotSatisfied={onNotSatisfied} />;\n }\n\n return <>{children}</>;\n}\n\nexport const conditionGuardMeta: ComponentMeta<ConditionGuardProps> = {\n name: \"hostless-condition-guard\",\n displayName: \"Condition Guard\",\n description:\n \"Ensure some condition, or else run an interaction. Examples: ensure all users have a database row, or require new users to setup a profile.\",\n importName: \"ConditionGuard\",\n importPath: \"@plasmicpkgs/plasmic-basic-components\",\n props: {\n children: \"slot\",\n condition: {\n type: \"boolean\",\n displayName: \"Condition\",\n description: \"The condition to guard against\",\n helpText:\n \"Condition to check. Render contents only if true. Run interaction if false.\",\n defaultValue: true,\n },\n onNotSatisfied: {\n type: \"eventHandler\",\n displayName: \"On condition false\",\n description: \"The action to run when the condition is not satisfied\",\n argTypes: [],\n },\n skipPaths: {\n type: \"array\",\n displayName: \"Skip Paths\",\n description: \"Paths that the action should not run\",\n itemType: {\n type: \"object\",\n fields: {\n path: \"href\",\n },\n nameFunc: (item: any) => item?.path,\n },\n },\n },\n};\n\nexport function registerConditionGuard(\n loader?: { registerComponent: typeof registerComponent },\n customConditionGuardMeta?: ComponentMeta<ConditionGuardProps>\n) {\n if (loader) {\n loader.registerComponent(\n ConditionGuard,\n customConditionGuardMeta ?? conditionGuardMeta\n );\n } else {\n registerComponent(\n ConditionGuard,\n customConditionGuardMeta ?? conditionGuardMeta\n );\n }\n}\n","import {\n applySelector as _applySelector,\n ComponentMeta,\n DataProvider as _DataProvider,\n DataProviderProps,\n repeatedElement,\n SelectorDict,\n useDataEnv as _useDataEnv,\n useSelector as _useSelector,\n useSelectors as _useSelectors,\n} from \"@plasmicapp/host\";\nimport registerComponent from \"@plasmicapp/host/registerComponent\";\nimport React, { ComponentProps, createElement, ReactNode } from \"react\";\n\nconst thisModule = \"@plasmicpkgs/plasmic-basic-components\";\n\n/**\n * @deprecated This should be imported from @plasmicapp/host instead.\n */\nexport const applySelector: typeof _applySelector = function (...args) {\n console.warn(\n \"DEPRECATED: Import applySelector from @plasmicapp/host instead.\"\n );\n return _applySelector(...args);\n};\n\n/**\n * @deprecated This should be imported from @plasmicapp/host instead.\n */\nexport const useSelector: typeof _useSelector = function (...args) {\n console.warn(\"DEPRECATED: Import useSelector from @plasmicapp/host instead.\");\n return _useSelector(...args);\n};\n\n/**\n * @deprecated This should be imported from @plasmicapp/host instead.\n */\nexport const useSelectors: typeof _useSelectors = function (...args) {\n console.warn(\n \"DEPRECATED: Import useSelectors from @plasmicapp/host instead.\"\n );\n return _useSelectors(...args);\n};\n\n/**\n * @deprecated This should be imported from @plasmicapp/host instead.\n */\nexport const useDataEnv: typeof _useDataEnv = function (...args) {\n console.warn(\"DEPRECATED: Import useDataEnv from @plasmicapp/host instead.\");\n return _useDataEnv(...args);\n};\n\nexport const DataProvider: typeof _DataProvider = function (...args) {\n return _DataProvider(...args);\n};\n\nexport interface CommonDynamicProps {\n className?: string;\n tag?: string;\n propSelectors?: SelectorDict;\n}\n\nexport function DynamicElement<\n Tag extends keyof JSX.IntrinsicElements = \"div\"\n>({\n tag = \"div\",\n className,\n children,\n propSelectors,\n ...props\n}: CommonDynamicProps & ComponentProps<Tag>) {\n const computed = _useSelectors(propSelectors);\n return createElement(tag, {\n children,\n ...props,\n ...computed,\n className: className + \" \" + computed.className,\n });\n}\n\nexport interface DynamicTextProps extends CommonDynamicProps {\n selector?: string;\n}\n\nexport function DynamicText({\n selector,\n propSelectors,\n ...props\n}: DynamicTextProps) {\n return (\n <DynamicElement\n {...props}\n propSelectors={{ ...propSelectors, children: selector }}\n >\n {/*This is the default text*/}\n (DynamicText requires a selector)\n </DynamicElement>\n );\n}\n\nexport interface DynamicImageProps\n extends CommonDynamicProps,\n ComponentProps<\"img\"> {\n selector?: string;\n}\n\nexport function DynamicImage({\n selector,\n propSelectors,\n ...props\n}: DynamicImageProps) {\n return (\n <DynamicElement<\"img\">\n tag={\"img\"}\n loading={\"lazy\"}\n style={{\n objectFit: \"cover\",\n }}\n {...props}\n propSelectors={{ ...propSelectors, src: selector }}\n // Default image placeholder\n src=\"https://studio.plasmic.app/static/img/placeholder.png\"\n />\n );\n}\n\nexport interface DynamicRepeaterProps {\n children?: ReactNode;\n loopItemName?: string;\n keySelector?: string;\n selector?: string;\n data?: any;\n}\n\nexport function DynamicRepeater({\n children,\n loopItemName,\n keySelector,\n selector,\n data,\n}: DynamicRepeaterProps) {\n // Defaults to an array of three items.\n const finalData = data ?? _useSelector(selector) ?? [1, 2, 3];\n return (\n <>\n {finalData?.map?.((item: any, index: number) => (\n <_DataProvider\n key={_applySelector(item, keySelector) ?? index}\n name={loopItemName}\n data={item}\n >\n {repeatedElement(index, children)}\n </_DataProvider>\n ))}\n </>\n );\n}\n\nexport const dynamicRepeaterProps = {\n selector: {\n type: \"string\",\n description:\n \"The selector expression to use to get the array of data to loop over, such as: someVariable.0.someField\",\n },\n loopItemName: {\n type: \"string\",\n defaultValue: \"item\",\n description:\n \"The name of the variable to use to store the current item in the loop\",\n },\n children: {\n type: \"slot\",\n isRepeated: true,\n },\n} as const;\n\nexport const dynamicRepeaterMeta: ComponentMeta<DynamicRepeaterProps> = {\n name: \"hostless-dynamic-repeater\",\n displayName: \"Dynamic Repeater\",\n importName: \"DynamicRepeater\",\n importPath: thisModule,\n props: dynamicRepeaterProps,\n};\n\nexport function registerDynamicRepeater(\n loader?: { registerComponent: typeof registerComponent },\n customDynamicRepeaterMeta?: ComponentMeta<DynamicRepeaterProps>\n) {\n if (loader) {\n loader.registerComponent(\n DynamicRepeater,\n customDynamicRepeaterMeta ?? dynamicRepeaterMeta\n );\n } else {\n registerComponent(\n DynamicRepeater,\n customDynamicRepeaterMeta ?? dynamicRepeaterMeta\n );\n }\n}\n\nexport const dataProviderMeta: ComponentMeta<DataProviderProps> = {\n name: \"hostless-data-provider\",\n displayName: \"Data Provider\",\n importName: \"DataProvider\",\n importPath: thisModule,\n providesData: true,\n // description: \"Makes some specified data available to the subtree in a context\",\n props: {\n name: {\n type: \"string\",\n defaultValue: \"celebrities\",\n description: \"The name of the variable to store the data in\",\n },\n data: {\n type: \"object\",\n defaultValue: [\n {\n name: \"Fill Murray\",\n birthYear: 1950,\n profilePicture: [\"https://www.fillmurray.com/200/300\"],\n },\n {\n name: \"Place Cage\",\n birthYear: 1950,\n profilePicture: [\"https://www.placecage.com/200/300\"],\n },\n ],\n },\n children: {\n type: \"slot\",\n },\n },\n};\n\nexport function registerDataProvider(\n loader?: { registerComponent: typeof registerComponent },\n customDataProviderMeta?: ComponentMeta<DataProviderProps>\n) {\n if (loader) {\n loader.registerComponent(\n _DataProvider,\n customDataProviderMeta ?? dataProviderMeta\n );\n } else {\n registerComponent(\n _DataProvider,\n customDataProviderMeta ?? dataProviderMeta\n );\n }\n}\n\nconst dynamicPropsWithoutTag = {\n propSelectors: {\n type: \"object\",\n defaultValueHint: {},\n description:\n \"An object whose keys are prop names and values are selector expressions. Use this to set any prop to a dynamic value.\",\n },\n} as const;\n\nconst dynamicProps = {\n ...dynamicPropsWithoutTag,\n tag: {\n type: \"string\",\n defaultValueHint: \"div\",\n description: \"The HTML tag to use\",\n },\n} as const;\n\n// TODO Eventually we'll want to expose all the base HTML properties, but in the nicer way that we do within the studio.\n\nexport const dynamicElementMeta: ComponentMeta<CommonDynamicProps> = {\n name: \"hostless-dynamic-element\",\n displayName: \"Dynamic Element\",\n importName: \"DynamicElement\",\n importPath: thisModule,\n props: { ...dynamicProps, children: \"slot\" },\n};\n\nexport function registerDynamicElement(\n loader?: { registerComponent: typeof registerComponent },\n customDynamicElementMeta?: ComponentMeta<CommonDynamicProps>\n) {\n if (loader) {\n loader.registerComponent(\n DynamicElement,\n customDynamicElementMeta ?? dynamicElementMeta\n );\n } else {\n registerComponent(\n DynamicElement,\n customDynamicElementMeta ?? dynamicElementMeta\n );\n }\n}\n\nexport const dynamicTextMeta: ComponentMeta<DynamicTextProps> = {\n name: \"hostless-dynamic-text\",\n importName: \"DynamicText\",\n displayName: \"Dynamic Text\",\n importPath: thisModule,\n props: {\n ...dynamicProps,\n selector: {\n type: \"string\",\n description:\n \"The selector expression to use to get the text, such as: someVariable.0.someField\",\n },\n },\n};\n\nexport function registerDynamicText(\n loader?: { registerComponent: typeof registerComponent },\n customDynamicTextMeta?: ComponentMeta<DynamicTextProps>\n) {\n if (loader) {\n loader.registerComponent(\n DynamicText,\n customDynamicTextMeta ?? dynamicTextMeta\n );\n } else {\n registerComponent(DynamicText, customDynamicTextMeta ?? dynamicTextMeta);\n }\n}\n\nexport const dynamicImageMeta: ComponentMeta<DynamicImageProps> = {\n name: \"hostless-dynamic-image\",\n displayName: \"Dynamic Image\",\n importName: \"DynamicImage\",\n importPath: thisModule,\n props: {\n ...dynamicPropsWithoutTag,\n selector: {\n type: \"string\",\n description:\n \"The selector expression to use to get the image source URL, such as: someVariable.0.someField\",\n },\n },\n};\n\nexport function registerDynamicImage(\n loader?: { registerComponent: typeof registerComponent },\n customDynamicImageMeta?: ComponentMeta<DynamicImageProps>\n) {\n if (loader) {\n loader.registerComponent(\n DynamicImage,\n customDynamicImageMeta ?? dynamicImageMeta\n );\n } else {\n registerComponent(DynamicImage, customDynamicImageMeta ?? dynamicImageMeta);\n }\n}\n","import React from \"react\";\n\nexport const tuple = <T extends any[]>(...args: T): T => args;\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 const isBrowser = typeof window !== \"undefined\";\n\nexport const useIsomorphicLayoutEffect = isBrowser\n ? React.useLayoutEffect\n : React.useEffect;\n\nexport function useFirstRender() {\n const ref = React.useRef(true);\n const firstRender = ref.current;\n ref.current = false;\n return firstRender;\n}\n\n// Fix for React.useId type since it's only available for React 18+\nexport const useId: (() => string) | undefined = React.useId;\n","import { usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport React, { useEffect, useRef } from \"react\";\nimport { ensure, useFirstRender, useId } from \"./common\";\n\nexport interface EmbedProps {\n className?: string;\n code: string;\n hideInEditor?: boolean;\n}\n\n/**\n * A common use case for embedding HTML snippets is loading/running script tags, so most of the logic here is for\n * handling that.\n *\n * You can't just write innerHTML with some <script> tags in there. You need to explicitly add each one via the DOM API.\n *\n * You also can't just add the script tags and expect them to run sequentially, and sometimes there are multiple scripts\n * with dependencies on each other. You have to explicitly wait for earlier ones to finish loading.\n *\n * One last complication is that Next.js can run the effect multiple times in development mode. There's nothing actually\n * that we can/should do about that, but just something to be aware of if you are here debugging issues.\n */\nexport function Embed({ className, code, hideInEditor = false }: EmbedProps) {\n const rootElt = useRef<HTMLDivElement>(null);\n const inEditor = usePlasmicCanvasContext();\n const htmlId = useId?.();\n const firstRender = useFirstRender();\n useEffect(() => {\n if (hideInEditor && inEditor) {\n return;\n }\n // If it's the first render and we already set the global id for this component, it means that\n // the HTML is already present in the DOM from the server-rendered HTML. We don't want to re-run.\n // If it's not the first render, then it can mean that some dependency changed.\n if (\n htmlId &&\n !inEditor &&\n firstRender &&\n (window as any)[makePlasmicVarName(htmlId)]\n ) {\n return;\n }\n\n // Load scripts sequentially one at a time, since later scripts can depend on earlier ones.\n let cleanup = false;\n (async () => {\n for (const oldScript of Array.from(\n ensure(rootElt.current).querySelectorAll(\"script\")\n )) {\n const newScript = document.createElement(\"script\");\n // This doesn't actually have the effect we want, we need to explicitly wait on the load event, since all\n // dynamically injected scripts are always async.\n newScript.async = false;\n Array.from(oldScript.attributes).forEach((attr) =>\n newScript.setAttribute(attr.name, attr.value)\n );\n newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n ensure(oldScript.parentNode).replaceChild(newScript, oldScript);\n // Only scripts with src will ever fire a load event.\n if (newScript.src) {\n await new Promise((resolve) =>\n newScript.addEventListener(\"load\", resolve)\n );\n if (cleanup) {\n return;\n }\n }\n }\n return () => {\n cleanup = true;\n };\n })();\n }, [htmlId, code, hideInEditor, inEditor]);\n const effectiveCode =\n hideInEditor && inEditor\n ? \"\"\n : inEditor || !htmlId\n ? code\n : addIdentifierScript(htmlId, code);\n return (\n <div\n ref={rootElt}\n className={className}\n dangerouslySetInnerHTML={{ __html: effectiveCode }}\n style={{ whiteSpace: \"normal\" }}\n />\n );\n}\n\nfunction makePlasmicVarName(id: string) {\n return `__plasmic_${id.replace(/[^a-z0-9]/gi, \"\")}`;\n}\n\nfunction addIdentifierScript(id: string, code: string) {\n return `<script>\n var ${makePlasmicVarName(id)} = 1;\n </script>\n ${code}`;\n}\n\nexport const embedMeta: ComponentMeta<EmbedProps> = {\n name: \"hostless-embed\",\n displayName: \"Embed HTML\",\n importName: \"Embed\",\n importPath: \"@plasmicpkgs/plasmic-basic-components\",\n props: {\n code: {\n type: \"code\",\n lang: \"html\",\n defaultValue: \"<div>Paste your embed code via the right sidebar</div>\",\n description: \"The HTML code to be embedded\",\n },\n hideInEditor: {\n type: \"boolean\",\n displayName: \"Hide in editor\",\n description:\n \"Disable running the code while editing in Plasmic Studio (may require reload)\",\n editOnly: true,\n },\n },\n defaultStyles: {\n maxWidth: \"100%\",\n },\n};\n\nexport function registerEmbed(\n loader?: { registerComponent: typeof registerComponent },\n customEmbedMeta?: ComponentMeta<EmbedProps>\n) {\n if (loader) {\n loader.registerComponent(Embed, customEmbedMeta ?? embedMeta);\n } else {\n registerComponent(Embed, customEmbedMeta ?? embedMeta);\n }\n}\n","import { ComponentMeta, PlasmicCanvasContext } from \"@plasmicapp/host\";\nimport registerComponent from \"@plasmicapp/host/registerComponent\";\nimport React, { useContext } from \"react\";\n\nexport interface IframeProps {\n useHtml?: boolean;\n srcDoc?: string;\n src?: string;\n sandbox?: string;\n preview?: boolean;\n className?: string;\n onLoad?: React.ComponentProps<\"iframe\">[\"onLoad\"];\n}\n\nexport function Iframe({\n preview,\n src,\n srcDoc,\n sandbox,\n useHtml,\n className,\n onLoad,\n}: IframeProps) {\n const isEditing = useContext(PlasmicCanvasContext);\n if (isEditing && !preview) {\n return (\n <div className={className}>\n <div\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n background: \"#eee\",\n color: \"#888\",\n fontSize: \"36px\",\n fontFamily: \"sans-serif\",\n fontWeight: \"bold\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n overflow: \"hidden\",\n }}\n >\n Iframe placeholder\n </div>\n </div>\n );\n }\n const srcProps = useHtml ? { srcDoc } : { src };\n return (\n <iframe\n {...srcProps}\n sandbox={sandbox}\n className={className}\n onLoad={onLoad}\n />\n );\n}\n\nexport const iframeMeta: ComponentMeta<IframeProps> = {\n name: \"hostless-iframe\",\n displayName: \"Iframe\",\n importName: \"Iframe\",\n importPath: \"@plasmicpkgs/plasmic-basic-components\",\n props: {\n useHtml: {\n type: \"boolean\",\n displayName: \"Use HTML source\",\n description:\n \"Insert custom HTML directly into the iframe instead of using a URL.\",\n defaultValue: false,\n advanced: true,\n },\n sandbox: {\n type: \"string\",\n displayName: \"Sandbox\",\n description:\n \"Controls the restrictions applied to the content embedded in the iframe.\",\n },\n srcDoc: {\n type: \"code\",\n lang: \"html\",\n displayName: \"HTML source\",\n description: \"Raw HTML content that will be rendered inside an iframe.\",\n defaultValue: `<div><h3>Heading</h3><p>Example text...</p></div>`,\n hidden: (props) => !props.useHtml,\n },\n src: {\n type: \"string\",\n defaultValue: \"https://www.example.com\",\n hidden: (props) => !!props.useHtml,\n },\n preview: {\n type: \"boolean\",\n description: \"Load the iframe while editing in Plasmic Studio\",\n },\n onLoad: {\n type: \"eventHandler\",\n argTypes: [{ name: \"event\", type: \"object\" }],\n },\n },\n defaultStyles: {\n width: \"300px\",\n height: \"150px\",\n maxWidth: \"100%\",\n },\n};\n\nexport function registerIframe(\n loader?: { registerComponent: typeof registerComponent },\n customIframeMeta?: ComponentMeta<IframeProps>\n) {\n if (loader) {\n loader.registerComponent(Iframe, customIframeMeta ?? iframeMeta);\n } else {\n registerComponent(Iframe, customIframeMeta ?? iframeMeta);\n }\n}\n","import { DataProvider, useDataEnv } from \"@plasmicapp/host\";\nimport registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport * as plasmicQuery from \"@plasmicapp/query\";\nimport React, { Suspense, useState } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"./common\";\n\ninterface LoadingBoundaryProps {\n loadingState?: React.ReactNode;\n children?: React.ReactNode;\n forceLoading?: boolean;\n}\n\nconst reactMajorVersion = +React.version.split(\".\")[0];\n\nif (reactMajorVersion < 18) {\n console.warn(\"The LoadingBoundary component only works with React 18+\");\n}\n\nconst enableLoadingBoundaryKey = \"plasmicInternalEnableLoadingBoundary\";\nconst hasLoadingBoundaryKey = \"plasmicInternalHasLoadingBoundary\";\n\nfunction useIsClient() {\n const [loaded, setLoaded] = useState(false);\n useIsomorphicLayoutEffect(() => {\n setLoaded(true);\n }, []);\n return loaded;\n}\n\nlet hasWarnedDisabledLoadingBoundary = false;\n\nfunction warnDisabledLoadingBoundary() {\n if (!hasWarnedDisabledLoadingBoundary) {\n hasWarnedDisabledLoadingBoundary = true;\n console.warn(\n `LoadingBoundary feature is not enabled. To use the LoadingBoundary component make sure to upgrade your @plasmicapp/* dependencies to the latest version and to wrap you App inside <PlasmicRootProvider />`\n );\n }\n}\n\nexport function LoadingBoundary({\n children,\n forceLoading,\n loadingState,\n}: LoadingBoundaryProps) {\n const isClient = useIsClient();\n const enableLoadingBoundary = !!useDataEnv()?.[enableLoadingBoundaryKey];\n\n if ((!isClient && !plasmicQuery.isPlasmicPrepass?.()) || forceLoading) {\n return <>{loadingState ?? null}</>;\n }\n\n if (reactMajorVersion < 18) {\n return <>{children ?? null}</>;\n }\n\n if (!enableLoadingBoundary) {\n warnDisabledLoadingBoundary();\n return <>{children ?? null}</>;\n }\n\n return (\n <Suspense fallback={<>{loadingState ?? null}</>}>\n <DataProvider hidden name={hasLoadingBoundaryKey} data={true}>\n {children ?? null}\n </DataProvider>\n </Suspense>\n );\n}\n\nexport const loadingBoundaryMeta: ComponentMeta<LoadingBoundaryProps> = {\n name: \"hostless-loading-boundary\",\n displayName: \"Loading Boundary\",\n importName: \"LoadingBoundary\",\n importPath: \"@plasmicpkgs/plasmic-basic-components\",\n props: {\n children: \"slot\",\n loadingState: {\n type: \"slot\",\n displayName: \"Loading state\",\n defaultValue: {\n type: \"text\",\n value: \"Loading...\",\n },\n },\n forceLoading: {\n type: \"boolean\",\n editOnly: true,\n displayName: \"Preview loading\",\n description:\n \"Force preview the 'Loading' state - impacts only editor, and not published page behavior\",\n },\n },\n providesData: true,\n styleSections: false,\n description: \"Handle the loading state of queries and integrations\",\n};\n\nexport function registerLoadingBoundary(\n loader?: { registerComponent: typeof registerComponent },\n customLoadingBoundaryMeta?: ComponentMeta<LoadingBoundaryProps>\n) {\n if (loader) {\n loader.registerComponent(\n LoadingBoundary,\n customLoadingBoundaryMeta ?? loadingBoundaryMeta\n );\n } else {\n registerComponent(\n LoadingBoundary,\n customLoadingBoundaryMeta ?? loadingBoundaryMeta\n );\n }\n}\n","import {\n ComponentMeta,\n DataProvider,\n registerComponent,\n repeatedElement,\n} from \"@plasmicapp/host\";\nimport React from \"react\";\n\nconst thisModule = \"@plasmicpkgs/plasmic-basic-components\";\n\nconst defaultItemName = \"currentItem\";\nconst defaultIndexName = \"currentIndex\";\n\ninterface RepeaterProps<T> {\n children: React.ReactNode;\n items: T[];\n itemName?: string;\n indexName?: string;\n}\n\nexport function Repeater<T>(props: RepeaterProps<T>) {\n const { children, items, itemName, indexName } = props;\n\n if (!Array.isArray(items)) {\n throw new Error(\"Repeater received an invalid collection: not an array.\");\n }\n\n return (\n <>\n {items.map((item, index) => (\n <DataProvider\n key={index.toString()}\n name={itemName || defaultItemName}\n data={item}\n >\n <DataProvider name={indexName || defaultIndexName} data={index}>\n {repeatedElement(index, children)}\n </DataProvider>\n </DataProvider>\n ))}\n </>\n );\n}\n\nexport const repeaterMeta: ComponentMeta<RepeaterProps<any>> = {\n name: `plasmic-repeater`,\n displayName: \"Repeater\",\n importName: \"Repeater\",\n importPath: thisModule,\n providesData: true,\n props: {\n children: {\n type: \"slot\",\n isRepeated: true,\n },\n items: {\n type: \"array\",\n defaultValue: [1, 2, 3],\n displayName: \"Collection\",\n description: \"Items array (JavaScript expression).\",\n },\n itemName: {\n type: \"string\",\n defaultValue: defaultItemName,\n defaultValueHint: defaultItemName,\n displayName: \"Item\",\n description: \"Data context key for the current item.\",\n },\n indexName: {\n type: \"string\",\n defaultValue: defaultIndexName,\n defaultValueHint: defaultIndexName,\n displayName: \"Index\",\n description: \"Data context key for the index of the current item.\",\n },\n },\n};\n\nexport function registerRepeater(\n loader?: { registerComponent: typeof registerComponent },\n customRepeaterMeta?: ComponentMeta<RepeaterProps<any>>\n) {\n if (loader) {\n loader.registerComponent(Repeater, customRepeaterMeta ?? repeaterMeta);\n } else {\n registerComponent(Repeater, customRepeaterMeta ?? repeaterMeta);\n }\n}\n","import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport React, {\n ReactNode,\n RefObject,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nexport function useDirectionalIntersection({\n ref,\n scrollDownThreshold = 0.5,\n scrollUpThreshold = 0,\n}: {\n ref: RefObject<HTMLElement>;\n scrollDownThreshold?: number;\n scrollUpThreshold?: number;\n}) {\n const [revealed, setRevealed] = useState(false);\n useEffect(() => {\n if (ref.current && typeof IntersectionObserver === \"function\") {\n const handler = (entries: IntersectionObserverEntry[]) => {\n if (entries[0].intersectionRatio >= scrollDownThreshold) {\n setRevealed(true);\n } else if (entries[0].intersectionRatio <= scrollUpThreshold) {\n setRevealed(false);\n }\n };\n\n const observer = new IntersectionObserver(handler, {\n root: null,\n rootMargin: \"0%\",\n threshold: [scrollUpThreshold, scrollDownThreshold],\n });\n observer.observe(ref.current);\n\n return () => {\n setRevealed(false);\n observer.disconnect();\n };\n }\n return () => {};\n }, [ref.current, scrollDownThreshold, scrollUpThreshold]);\n return revealed;\n}\n\nexport interface ScrollRevealerProps {\n children?: ReactNode;\n className?: string;\n scrollUpThreshold?: number;\n scrollDownThreshold?: number;\n}\n\n/**\n * Unlike react-awesome-reveal, ScrollRevealer:\n *\n * - has configurable thresholds\n * - triggers arbitrary render/unrender animations\n *\n * TODO: Merge this inta a general Reveal component, perhaps forking react-awesome-reveal, so that we don't have two different reveal components for users.\n */\nexport function ScrollRevealer({\n children,\n className,\n scrollDownThreshold = 0.5,\n scrollUpThreshold = 0,\n}: ScrollRevealerProps) {\n const intersectionRef = useRef<HTMLDivElement>(null);\n const revealed = useDirectionalIntersection({\n ref: intersectionRef,\n scrollUpThreshold,\n scrollDownThreshold,\n });\n return (\n <div className={className} ref={intersectionRef}>\n {revealed ? children : null}\n </div>\n );\n}\n\nexport const scrollRevealerMeta: ComponentMeta<ScrollRevealerProps> = {\n name: \"hostless-scroll-revealer\",\n importName: \"ScrollRevealer\",\n displayName: \"Scroll Revealer\",\n importPath: \"@plasmicpkgs/plasmic-basic-components\",\n props: {\n children: \"slot\",\n scrollDownThreshold: {\n type: \"number\",\n displayName: \"Scroll down threshold\",\n defaultValueHint: 0.5,\n description:\n \"How much of the element (as a fraction) must you scroll into view for it to appear (defaults to 0.5)\",\n },\n scrollUpThreshold: {\n type: \"number\",\n displayName: \"Scroll up threshold\",\n defaultValueHint: 0,\n description:\n \"While scrolling up, how much of the element (as a fraction) can still be scrolled in view before it disappears (defaults to 0, meaning you must scroll up until it's completely out of view)\",\n },\n },\n defaultStyles: {\n width: \"stretch\",\n maxWidth: \"100%\",\n },\n};\n\nexport function registerScrollRevealer(\n loader?: { registerComponent: typeof registerComponent },\n customScrollRevealerMeta?: ComponentMeta<ScrollRevealerProps>\n) {\n if (loader) {\n loader.registerComponent(\n ScrollRevealer,\n customScrollRevealerMeta ?? scrollRevealerMeta\n );\n } else {\n registerComponent(\n ScrollRevealer,\n customScrollRevealerMeta ?? scrollRevealerMeta\n );\n }\n}\n","import registerComponent, {\n CodeComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport React from \"react\";\n\nexport interface SideEffectProps {\n onMount?: () => Promise<void>;\n onUnmount?: () => Promise<void>;\n deps?: unknown[];\n}\n\nexport function SideEffect({ deps, onMount, onUnmount }: SideEffectProps) {\n React.useEffect(() => {\n onMount?.();\n return () => {\n onUnmount?.();\n };\n }, deps ?? []);\n return null;\n}\n\nexport const sideEffectMeta: CodeComponentMeta<SideEffectProps> = {\n name: \"hostless-side-effect\",\n displayName: \"Side Effect\",\n description: \"Run actions on load, unload, and when data changes.\",\n importName: \"SideEffect\",\n importPath: \"@plasmicpkgs/plasmic-basic-components\",\n props: {\n onMount: {\n type: \"eventHandler\",\n displayName: \"On load\",\n description: \"Actions to run when this Side Effect component is mounted.\",\n argTypes: [],\n },\n onUnmount: {\n type: \"eventHandler\",\n displayName: \"On unload\",\n description:\n \"Actions to run when this Side Effect component is unmounted.\",\n argTypes: [],\n },\n deps: {\n type: \"array\",\n displayName: \"When data changes\",\n description:\n \"List of values which should trigger a re-run of the actions if changed.\",\n },\n },\n};\n\nexport function registerSideEffect(\n loader?: { registerComponent: typeof registerComponent },\n customMeta?: CodeComponentMeta<SideEffectProps>\n) {\n if (loader) {\n loader.registerComponent(SideEffect, customMeta ?? sideEffectMeta);\n } else {\n registerComponent(SideEffect, customMeta ?? sideEffectMeta);\n }\n}\n","import registerComponent, {\n CodeComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { useEffect, useMemo, useRef } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"./common\";\n\nexport interface TimerProps {\n onTick: () => void;\n isRunning?: boolean;\n intervalSeconds?: number;\n runWhileEditing: boolean;\n \"data-plasmic-canvas-envs\"?: number;\n}\n\nexport function useInterval(callback: () => void, delay: number | null) {\n const savedCallback = useRef(callback);\n\n // Remember the latest callback if it changes.\n useIsomorphicLayoutEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Set up the interval.\n useEffect(() => {\n // Don't schedule if no delay is specified.\n // Note: 0 is a valid value for delay.\n if (!delay && delay !== 0) {\n return;\n }\n\n const id = setInterval(() => savedCallback.current(), delay);\n\n return () => clearInterval(id);\n }, [delay]);\n}\n\nexport function Timer({\n intervalSeconds = 1,\n isRunning = false,\n onTick = () => {},\n runWhileEditing,\n \"data-plasmic-canvas-envs\": canvasId,\n}: TimerProps) {\n const isEditMode = useMemo(() => canvasId !== undefined, [canvasId]);\n useInterval(\n onTick,\n // Delay in milliseconds or null to stop it\n isRunning && (isEditMode ? runWhileEditing : true)\n ? intervalSeconds * 1000\n : null\n );\n return null;\n}\n\nexport const timerMeta: CodeComponentMeta<TimerProps> = {\n name: \"hostless-timer\",\n displayName: \"Timer\",\n description: \"Run something periodically\",\n importName: \"Timer\",\n importPath: \"@plasmicpkgs/plasmic-basic-components\",\n props: {\n onTick: {\n type: \"eventHandler\",\n displayName: \"Run this every interval\",\n description: \"Actions to run periodically\",\n argTypes: [],\n },\n isRunning: {\n type: \"boolean\",\n displayName: \"Is Running?\",\n defaultValue: true,\n },\n runWhileEditing: {\n type: \"boolean\",\n displayName: \"Run while editing\",\n description:\n \"Normally this only runs in the live site or in preview mode, but you can force it to run even while you are editing in the canvas (Please enable interactive mode to observe state changes)\",\n defaultValue: false,\n },\n intervalSeconds: {\n type: \"number\",\n displayName: \"Interval (seconds)\",\n description: \"Interval in seconds\",\n },\n },\n};\n\nexport function registerTimer(\n loader?: { registerComponent: typeof registerComponent },\n customMeta?: CodeComponentMeta<TimerProps>\n) {\n if (loader) {\n loader.registerComponent(Timer, customMeta ?? timerMeta);\n } else {\n registerComponent(Timer, customMeta ?? timerMeta);\n }\n}\n","import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport React from \"react\";\n\nexport type VideoProps = Pick<\n React.ComponentProps<\"video\">,\n | \"autoPlay\"\n | \"controls\"\n | \"loop\"\n | \"muted\"\n | \"playsInline\"\n | \"poster\"\n | \"preload\"\n | \"src\"\n>;\n\nexport const Video = React.forwardRef<HTMLVideoElement, VideoProps>(\n (props: VideoProps, ref) => {\n return <video ref={ref} {...props} />;\n }\n);\n\nexport const videoMeta: ComponentMeta<VideoProps> = {\n name: \"hostless-html-video\",\n importName: \"Video\",\n displayName: \"HTML Video\",\n importPath: \"@plasmicpkgs/plasmic-basic-components\",\n props: {\n src: {\n type: \"string\",\n defaultValue:\n \"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm\",\n displayName: \"Source URL\",\n description: \"URL to a video file.\",\n },\n autoPlay: {\n type: \"boolean\",\n displayName: \"Auto Play\",\n description:\n \"Whether the video show automatically start playing when the player loads. Chrome and other browsers require 'muted' to also be set for 'autoplay' to work.\",\n helpText: \"Requires 'Muted' to also be set for 'Auto Play' to work.\",\n },\n controls: {\n type: \"boolean\",\n displayName: \"Show Controls\",\n description: \"Whether the video player controls should be displayed\",\n defaultValue: true,\n },\n playsInline: {\n type: \"boolean\",\n displayName: \"Plays inline\",\n description:\n \"Usually on mobile, when tilted landscape, videos can play fullscreen. Turn this on to prevent that.\",\n },\n loop: {\n type: \"boolean\",\n displayName: \"Loop\",\n description: \"Whether the video should be played again after it finishes\",\n },\n muted: {\n type: \"boolean\",\n displayName: \"Muted\",\n description: \"Whether audio should be muted\",\n },\n poster: {\n type: \"imageUrl\",\n displayName: \"Poster (placeholder) image\",\n description: \"Image to show while video is downloading\",\n },\n preload: {\n type: \"choice\",\n options: [\"none\", \"metadata\", \"auto\"],\n displayName: \"Preload\",\n description:\n \"Whether to preload nothing, metadata only, or the full video\",\n },\n },\n defaultStyles: {\n height: \"hug\",\n width: \"640px\",\n maxWidth: \"100%\",\n },\n};\n\nexport function registerVideo(\n loader?: { registerComponent: typeof registerComponent },\n customVideoMeta?: ComponentMeta<VideoProps>\n) {\n if (loader) {\n loader.registerComponent(Video, customVideoMeta ?? videoMeta);\n } else {\n registerComponent(Video, customVideoMeta ?? videoMeta);\n }\n}\n"],"names":["ConditionGuardOnNotSatisfied","_ref","onNotSatisfied","ref","React","useRef","useEffect","current","isCurrentLocationInSkipPaths","skipPaths","pathname","window","location","currentPath","origin","plasmicPathname","globalThis","_globalThis$__PLASMIC","call","some","_ref2","path","ConditionGuard","_ref3","condition","children","conditionGuardMeta","name","displayName","description","importName","importPath","props","type","helpText","defaultValue","argTypes","itemType","fields","nameFunc","item","registerConditionGuard","loader","customConditionGuardMeta","registerComponent","thisModule","applySelector","console","warn","_applySelector","apply","arguments","useSelector","_useSelector","useSelectors","_useSelectors","useDataEnv","_useDataEnv","DataProvider","_DataProvider","DynamicElement","tag","_ref$tag","className","propSelectors","_objectWithoutPropertiesLoose","_excluded","computed","createElement","_extends","DynamicText","selector","_excluded2","DynamicImage","_excluded3","loading","style","objectFit","src","DynamicRepeater","_ref4","loopItemName","keySelector","data","finalData","_ref5","map","index","_applySelector2","key","repeatedElement","dynamicRepeaterProps","isRepeated","dynamicRepeaterMeta","registerDynamicRepeater","customDynamicRepeaterMeta","dataProviderMeta","providesData","birthYear","profilePicture","registerDataProvider","customDataProviderMeta","dynamicPropsWithoutTag","defaultValueHint","dynamicProps","dynamicElementMeta","registerDynamicElement","customDynamicElementMeta","dynamicTextMeta","registerDynamicText","customDynamicTextMeta","dynamicImageMeta","registerDynamicImage","customDynamicImageMeta","ensure","x","undefined","Error","isBrowser","useIsomorphicLayoutEffect","useLayoutEffect","useFirstRender","firstRender","useId","Embed","code","_ref$hideInEditor","hideInEditor","rootElt","inEditor","usePlasmicCanvasContext","htmlId","makePlasmicVarName","cleanup","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_loop","_ret","_i","_Array$from","wrap","_callee$","_context2","prev","next","oldScript","newScript","_loop$","_context","document","async","Array","from","attributes","forEach","attr","setAttribute","value","appendChild","createTextNode","innerHTML","parentNode","replaceChild","Promise","resolve","addEventListener","abrupt","v","stop","querySelectorAll","length","delegateYield","t0","effectiveCode","addIdentifierScript","dangerouslySetInnerHTML","__html","whiteSpace","id","replace","embedMeta","lang","editOnly","defaultStyles","maxWidth","registerEmbed","customEmbedMeta","Iframe","preview","srcDoc","sandbox","useHtml","onLoad","isEditing","useContext","PlasmicCanvasContext","position","top","left","right","bottom","background","color","fontSize","fontFamily","fontWeight","display","alignItems","justifyContent","overflow","srcProps","iframeMeta","advanced","hidden","width","height","registerIframe","customIframeMeta","reactMajorVersion","version","split","enableLoadingBoundaryKey","hasLoadingBoundaryKey","useIsClient","_useState","useState","loaded","setLoaded","hasWarnedDisabledLoadingBoundary","warnDisabledLoadingBoundary","LoadingBoundary","forceLoading","loadingState","isClient","enableLoadingBoundary","plasmicQuery","Suspense","fallback","loadingBoundaryMeta","styleSections","registerLoadingBoundary","customLoadingBoundaryMeta","defaultItemName","defaultIndexName","Repeater","items","itemName","indexName","isArray","toString","repeaterMeta","registerRepeater","customRepeaterMeta","useDirectionalIntersection","_ref$scrollDownThresh","scrollDownThreshold","_ref$scrollUpThreshol","scrollUpThreshold","revealed","setRevealed","IntersectionObserver","handler","entries","intersectionRatio","observer","root","rootMargin","threshold","observe","disconnect","ScrollRevealer","_ref2$scrollDownThres","_ref2$scrollUpThresho","intersectionRef","scrollRevealerMeta","registerScrollRevealer","customScrollRevealerMeta","SideEffect","deps","onMount","onUnmount","sideEffectMeta","registerSideEffect","customMeta","useInterval","callback","delay","savedCallback","setInterval","clearInterval","Timer","intervalSeconds","_ref$intervalSeconds","_ref$isRunning","isRunning","_ref$onTick","onTick","runWhileEditing","canvasId","isEditMode","useMemo","timerMeta","registerTimer","Video","forwardRef","videoMeta","autoPlay","controls","playsInline","loop","muted","poster","preload","options","registerVideo","customVideoMeta"],"mappings":"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"}
1
+ {"version":3,"file":"plasmic-basic-components.cjs.development.js","sources":["../src/ConditionGuard.tsx","../src/Data.tsx","../src/common.ts","../src/Embed.tsx","../src/Iframe.tsx","../src/LoadingBoundary.tsx","../src/Repeater.tsx","../src/ScrollRevealer.tsx","../src/SideEffect.tsx","../src/Timer.tsx","../src/Video.tsx"],"sourcesContent":["import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport React from \"react\";\n\nexport interface ConditionGuardProps {\n condition: boolean;\n onNotSatisfied?: () => Promise<void>;\n children: React.ReactNode;\n skipPaths?: Array<{ path: string }>;\n}\n\nfunction ConditionGuardOnNotSatisfied({\n onNotSatisfied,\n}: Pick<ConditionGuardProps, \"onNotSatisfied\">) {\n const ref = React.useRef(false);\n React.useEffect(() => {\n if (!ref.current) {\n ref.current = true;\n onNotSatisfied?.();\n }\n }, [onNotSatisfied]);\n return null;\n}\n\nfunction isCurrentLocationInSkipPaths(skipPaths?: Array<{ path: string }>) {\n const pathname = window.location.pathname;\n // Ignore search params\n const currentPath = window.location.origin + pathname;\n const plasmicPathname = (globalThis as any)?.[\"__PLASMIC_STUDIO_PATH\"]?.();\n return skipPaths?.some(\n ({ path }) =>\n path === pathname || path === currentPath || path === plasmicPathname\n );\n}\n\nexport function ConditionGuard({\n condition,\n onNotSatisfied,\n children,\n skipPaths,\n}: ConditionGuardProps) {\n if (!condition && !isCurrentLocationInSkipPaths(skipPaths)) {\n return <ConditionGuardOnNotSatisfied onNotSatisfied={onNotSatisfied} />;\n }\n\n return <>{children}</>;\n}\n\nexport const conditionGuardMeta: ComponentMeta<ConditionGuardProps> = {\n name: \"hostless-condition-guard\",\n displayName: \"Condition Guard\",\n description:\n \"Ensure some condition, or else run an interaction. Examples: ensure all users have a database row, or require new users to setup a profile.\",\n importName: \"ConditionGuard\",\n importPath: \"@plasmicpkgs/plasmic-basic-components\",\n props: {\n children: \"slot\",\n condition: {\n type: \"boolean\",\n displayName: \"Condition\",\n description: \"The condition to guard against\",\n helpText:\n \"Condition to check. Render contents only if true. Run interaction if false.\",\n defaultValue: true,\n },\n onNotSatisfied: {\n type: \"eventHandler\",\n displayName: \"On condition false\",\n description: \"The action to run when the condition is not satisfied\",\n argTypes: [],\n },\n skipPaths: {\n type: \"array\",\n displayName: \"Skip Paths\",\n description: \"Paths that the action should not run\",\n itemType: {\n type: \"object\",\n fields: {\n path: \"href\",\n },\n nameFunc: (item: any) => item?.path,\n },\n },\n },\n};\n\nexport function registerConditionGuard(\n loader?: { registerComponent: typeof registerComponent },\n customConditionGuardMeta?: ComponentMeta<ConditionGuardProps>\n) {\n if (loader) {\n loader.registerComponent(\n ConditionGuard,\n customConditionGuardMeta ?? conditionGuardMeta\n );\n } else {\n registerComponent(\n ConditionGuard,\n customConditionGuardMeta ?? conditionGuardMeta\n );\n }\n}\n","import {\n applySelector as _applySelector,\n ComponentMeta,\n DataProvider as _DataProvider,\n DataProviderProps,\n repeatedElement,\n SelectorDict,\n useDataEnv as _useDataEnv,\n useSelector as _useSelector,\n useSelectors as _useSelectors,\n} from \"@plasmicapp/host\";\nimport registerComponent from \"@plasmicapp/host/registerComponent\";\nimport React, { ComponentProps, createElement, ReactNode } from \"react\";\n\nconst thisModule = \"@plasmicpkgs/plasmic-basic-components\";\n\n/**\n * @deprecated This should be imported from @plasmicapp/host instead.\n */\nexport const applySelector: typeof _applySelector = function (...args) {\n console.warn(\n \"DEPRECATED: Import applySelector from @plasmicapp/host instead.\"\n );\n return _applySelector(...args);\n};\n\n/**\n * @deprecated This should be imported from @plasmicapp/host instead.\n */\nexport const useSelector: typeof _useSelector = function (...args) {\n console.warn(\"DEPRECATED: Import useSelector from @plasmicapp/host instead.\");\n return _useSelector(...args);\n};\n\n/**\n * @deprecated This should be imported from @plasmicapp/host instead.\n */\nexport const useSelectors: typeof _useSelectors = function (...args) {\n console.warn(\n \"DEPRECATED: Import useSelectors from @plasmicapp/host instead.\"\n );\n return _useSelectors(...args);\n};\n\n/**\n * @deprecated This should be imported from @plasmicapp/host instead.\n */\nexport const useDataEnv: typeof _useDataEnv = function (...args) {\n console.warn(\"DEPRECATED: Import useDataEnv from @plasmicapp/host instead.\");\n return _useDataEnv(...args);\n};\n\nexport const DataProvider: typeof _DataProvider = function (...args) {\n return _DataProvider(...args);\n};\n\nexport interface CommonDynamicProps {\n className?: string;\n tag?: string;\n propSelectors?: SelectorDict;\n}\n\nexport function DynamicElement<\n Tag extends keyof JSX.IntrinsicElements = \"div\"\n>({\n tag = \"div\",\n className,\n children,\n propSelectors,\n ...props\n}: CommonDynamicProps & ComponentProps<Tag>) {\n const computed = _useSelectors(propSelectors);\n return createElement(tag, {\n children,\n ...props,\n ...computed,\n className: className + \" \" + computed.className,\n });\n}\n\nexport interface DynamicTextProps extends CommonDynamicProps {\n selector?: string;\n}\n\nexport function DynamicText({\n selector,\n propSelectors,\n ...props\n}: DynamicTextProps) {\n return (\n <DynamicElement\n {...props}\n propSelectors={{ ...propSelectors, children: selector }}\n >\n {/*This is the default text*/}\n (DynamicText requires a selector)\n </DynamicElement>\n );\n}\n\nexport interface DynamicImageProps\n extends CommonDynamicProps,\n ComponentProps<\"img\"> {\n selector?: string;\n}\n\nexport function DynamicImage({\n selector,\n propSelectors,\n ...props\n}: DynamicImageProps) {\n return (\n <DynamicElement<\"img\">\n tag={\"img\"}\n loading={\"lazy\"}\n style={{\n objectFit: \"cover\",\n }}\n {...props}\n propSelectors={{ ...propSelectors, src: selector }}\n // Default image placeholder\n src=\"https://studio.plasmic.app/static/img/placeholder.png\"\n />\n );\n}\n\nexport interface DynamicRepeaterProps {\n children?: ReactNode;\n loopItemName?: string;\n keySelector?: string;\n selector?: string;\n data?: any;\n}\n\nexport function DynamicRepeater({\n children,\n loopItemName,\n keySelector,\n selector,\n data,\n}: DynamicRepeaterProps) {\n // Defaults to an array of three items.\n const finalData = data ?? _useSelector(selector) ?? [1, 2, 3];\n return (\n <>\n {finalData?.map?.((item: any, index: number) => (\n <_DataProvider\n key={_applySelector(item, keySelector) ?? index}\n name={loopItemName}\n data={item}\n >\n {repeatedElement(index, children)}\n </_DataProvider>\n ))}\n </>\n );\n}\n\nexport const dynamicRepeaterProps = {\n selector: {\n type: \"string\",\n description:\n \"The selector expression to use to get the array of data to loop over, such as: someVariable.0.someField\",\n },\n loopItemName: {\n type: \"string\",\n defaultValue: \"item\",\n description:\n \"The name of the variable to use to store the current item in the loop\",\n },\n children: {\n type: \"slot\",\n isRepeated: true,\n },\n} as const;\n\nexport const dynamicRepeaterMeta: ComponentMeta<DynamicRepeaterProps> = {\n name: \"hostless-dynamic-repeater\",\n displayName: \"Dynamic Repeater\",\n importName: \"DynamicRepeater\",\n importPath: thisModule,\n props: dynamicRepeaterProps,\n};\n\nexport function registerDynamicRepeater(\n loader?: { registerComponent: typeof registerComponent },\n customDynamicRepeaterMeta?: ComponentMeta<DynamicRepeaterProps>\n) {\n if (loader) {\n loader.registerComponent(\n DynamicRepeater,\n customDynamicRepeaterMeta ?? dynamicRepeaterMeta\n );\n } else {\n registerComponent(\n DynamicRepeater,\n customDynamicRepeaterMeta ?? dynamicRepeaterMeta\n );\n }\n}\n\nexport const dataProviderMeta: ComponentMeta<DataProviderProps> = {\n name: \"hostless-data-provider\",\n displayName: \"Data Provider\",\n importName: \"DataProvider\",\n importPath: thisModule,\n providesData: true,\n // description: \"Makes some specified data available to the subtree in a context\",\n props: {\n name: {\n type: \"string\",\n defaultValue: \"celebrities\",\n description: \"The name of the variable to store the data in\",\n },\n data: {\n type: \"object\",\n defaultValue: [\n {\n name: \"Fill Murray\",\n birthYear: 1950,\n profilePicture: [\"https://www.fillmurray.com/200/300\"],\n },\n {\n name: \"Place Cage\",\n birthYear: 1950,\n profilePicture: [\"https://www.placecage.com/200/300\"],\n },\n ],\n },\n children: {\n type: \"slot\",\n },\n },\n};\n\nexport function registerDataProvider(\n loader?: { registerComponent: typeof registerComponent },\n customDataProviderMeta?: ComponentMeta<DataProviderProps>\n) {\n if (loader) {\n loader.registerComponent(\n _DataProvider,\n customDataProviderMeta ?? dataProviderMeta\n );\n } else {\n registerComponent(\n _DataProvider,\n customDataProviderMeta ?? dataProviderMeta\n );\n }\n}\n\nconst dynamicPropsWithoutTag = {\n propSelectors: {\n type: \"object\",\n defaultValueHint: {},\n description:\n \"An object whose keys are prop names and values are selector expressions. Use this to set any prop to a dynamic value.\",\n },\n} as const;\n\nconst dynamicProps = {\n ...dynamicPropsWithoutTag,\n tag: {\n type: \"string\",\n defaultValueHint: \"div\",\n description: \"The HTML tag to use\",\n },\n} as const;\n\n// TODO Eventually we'll want to expose all the base HTML properties, but in the nicer way that we do within the studio.\n\nexport const dynamicElementMeta: ComponentMeta<CommonDynamicProps> = {\n name: \"hostless-dynamic-element\",\n displayName: \"Dynamic Element\",\n importName: \"DynamicElement\",\n importPath: thisModule,\n props: { ...dynamicProps, children: \"slot\" },\n};\n\nexport function registerDynamicElement(\n loader?: { registerComponent: typeof registerComponent },\n customDynamicElementMeta?: ComponentMeta<CommonDynamicProps>\n) {\n if (loader) {\n loader.registerComponent(\n DynamicElement,\n customDynamicElementMeta ?? dynamicElementMeta\n );\n } else {\n registerComponent(\n DynamicElement,\n customDynamicElementMeta ?? dynamicElementMeta\n );\n }\n}\n\nexport const dynamicTextMeta: ComponentMeta<DynamicTextProps> = {\n name: \"hostless-dynamic-text\",\n importName: \"DynamicText\",\n displayName: \"Dynamic Text\",\n importPath: thisModule,\n props: {\n ...dynamicProps,\n selector: {\n type: \"string\",\n description:\n \"The selector expression to use to get the text, such as: someVariable.0.someField\",\n },\n },\n};\n\nexport function registerDynamicText(\n loader?: { registerComponent: typeof registerComponent },\n customDynamicTextMeta?: ComponentMeta<DynamicTextProps>\n) {\n if (loader) {\n loader.registerComponent(\n DynamicText,\n customDynamicTextMeta ?? dynamicTextMeta\n );\n } else {\n registerComponent(DynamicText, customDynamicTextMeta ?? dynamicTextMeta);\n }\n}\n\nexport const dynamicImageMeta: ComponentMeta<DynamicImageProps> = {\n name: \"hostless-dynamic-image\",\n displayName: \"Dynamic Image\",\n importName: \"DynamicImage\",\n importPath: thisModule,\n props: {\n ...dynamicPropsWithoutTag,\n selector: {\n type: \"string\",\n description:\n \"The selector expression to use to get the image source URL, such as: someVariable.0.someField\",\n },\n },\n};\n\nexport function registerDynamicImage(\n loader?: { registerComponent: typeof registerComponent },\n customDynamicImageMeta?: ComponentMeta<DynamicImageProps>\n) {\n if (loader) {\n loader.registerComponent(\n DynamicImage,\n customDynamicImageMeta ?? dynamicImageMeta\n );\n } else {\n registerComponent(DynamicImage, customDynamicImageMeta ?? dynamicImageMeta);\n }\n}\n","import React from \"react\";\n\nexport const tuple = <T extends any[]>(...args: T): T => args;\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 const isBrowser = typeof window !== \"undefined\";\n\nexport const useIsomorphicLayoutEffect = isBrowser\n ? React.useLayoutEffect\n : React.useEffect;\n\nexport function useFirstRender() {\n const ref = React.useRef(true);\n const firstRender = ref.current;\n ref.current = false;\n return firstRender;\n}\n\n// Fix for React.useId type since it's only available for React 18+\nexport const useId: (() => string) | undefined = React.useId;\n","import { usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport React, { useEffect, useRef } from \"react\";\nimport { ensure, useFirstRender, useId } from \"./common\";\n\nexport interface EmbedProps {\n className?: string;\n code: string;\n hideInEditor?: boolean;\n}\n\n/**\n * A common use case for embedding HTML snippets is loading/running script tags, so most of the logic here is for\n * handling that.\n *\n * You can't just write innerHTML with some <script> tags in there. You need to explicitly add each one via the DOM API.\n *\n * You also can't just add the script tags and expect them to run sequentially, and sometimes there are multiple scripts\n * with dependencies on each other. You have to explicitly wait for earlier ones to finish loading.\n *\n * One last complication is that Next.js can run the effect multiple times in development mode. There's nothing actually\n * that we can/should do about that, but just something to be aware of if you are here debugging issues.\n */\nexport function Embed({ className, code, hideInEditor = false }: EmbedProps) {\n const rootElt = useRef<HTMLDivElement>(null);\n const inEditor = usePlasmicCanvasContext();\n const htmlId = useId?.();\n const firstRender = useFirstRender();\n useEffect(() => {\n if (hideInEditor && inEditor) {\n return;\n }\n // If it's the first render and we already set the global id for this component, it means that\n // the HTML is already present in the DOM from the server-rendered HTML. We don't want to re-run.\n // If it's not the first render, then it can mean that some dependency changed.\n if (\n htmlId &&\n !inEditor &&\n firstRender &&\n (window as any)[makePlasmicVarName(htmlId)]\n ) {\n return;\n }\n\n // Load scripts sequentially one at a time, since later scripts can depend on earlier ones.\n let cleanup = false;\n (async () => {\n for (const oldScript of Array.from(\n ensure(rootElt.current).querySelectorAll(\"script\")\n )) {\n const newScript = document.createElement(\"script\");\n // This doesn't actually have the effect we want, we need to explicitly wait on the load event, since all\n // dynamically injected scripts are always async.\n newScript.async = false;\n Array.from(oldScript.attributes).forEach((attr) =>\n newScript.setAttribute(attr.name, attr.value)\n );\n newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n ensure(oldScript.parentNode).replaceChild(newScript, oldScript);\n // Only scripts with src will ever fire a load event.\n if (newScript.src) {\n await new Promise((resolve) =>\n newScript.addEventListener(\"load\", resolve)\n );\n if (cleanup) {\n return;\n }\n }\n }\n return () => {\n cleanup = true;\n };\n })();\n }, [htmlId, code, hideInEditor, inEditor]);\n const effectiveCode =\n hideInEditor && inEditor\n ? \"\"\n : inEditor || !htmlId\n ? code\n : addIdentifierScript(htmlId, code);\n return (\n <div\n ref={rootElt}\n className={className}\n dangerouslySetInnerHTML={{ __html: effectiveCode }}\n style={{ whiteSpace: \"normal\" }}\n />\n );\n}\n\nfunction makePlasmicVarName(id: string) {\n return `__plasmic_${id.replace(/[^a-z0-9]/gi, \"\")}`;\n}\n\nfunction addIdentifierScript(id: string, code: string) {\n return `<script>\n var ${makePlasmicVarName(id)} = 1;\n </script>\n ${code}`;\n}\n\nexport const embedMeta: ComponentMeta<EmbedProps> = {\n name: \"hostless-embed\",\n displayName: \"Embed HTML\",\n importName: \"Embed\",\n importPath: \"@plasmicpkgs/plasmic-basic-components\",\n props: {\n code: {\n type: \"code\",\n lang: \"html\",\n defaultValue: \"<div>Paste your embed code via the right sidebar</div>\",\n description: \"The HTML code to be embedded\",\n },\n hideInEditor: {\n type: \"boolean\",\n displayName: \"Hide in editor\",\n description:\n \"Disable running the code while editing in Plasmic Studio (may require reload)\",\n editOnly: true,\n },\n },\n defaultStyles: {\n maxWidth: \"100%\",\n },\n};\n\nexport function registerEmbed(\n loader?: { registerComponent: typeof registerComponent },\n customEmbedMeta?: ComponentMeta<EmbedProps>\n) {\n if (loader) {\n loader.registerComponent(Embed, customEmbedMeta ?? embedMeta);\n } else {\n registerComponent(Embed, customEmbedMeta ?? embedMeta);\n }\n}\n","import { ComponentMeta, PlasmicCanvasContext } from \"@plasmicapp/host\";\nimport registerComponent from \"@plasmicapp/host/registerComponent\";\nimport React, { useContext } from \"react\";\n\nexport interface IframeProps {\n useHtml?: boolean;\n srcDoc?: string;\n src?: string;\n sandbox?: string;\n preview?: boolean;\n className?: string;\n onLoad?: React.ComponentProps<\"iframe\">[\"onLoad\"];\n}\n\nexport function Iframe({\n preview,\n src,\n srcDoc,\n sandbox,\n useHtml,\n className,\n onLoad,\n}: IframeProps) {\n const isEditing = useContext(PlasmicCanvasContext);\n if (isEditing && !preview) {\n return (\n <div className={className}>\n <div\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n background: \"#eee\",\n color: \"#888\",\n fontSize: \"36px\",\n fontFamily: \"sans-serif\",\n fontWeight: \"bold\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n overflow: \"hidden\",\n }}\n >\n Iframe placeholder\n </div>\n </div>\n );\n }\n const srcProps = useHtml ? { srcDoc } : { src };\n return (\n <iframe\n {...srcProps}\n sandbox={sandbox}\n className={className}\n onLoad={onLoad}\n />\n );\n}\n\nexport const iframeMeta: ComponentMeta<IframeProps> = {\n name: \"hostless-iframe\",\n displayName: \"Iframe\",\n importName: \"Iframe\",\n importPath: \"@plasmicpkgs/plasmic-basic-components\",\n props: {\n useHtml: {\n type: \"boolean\",\n displayName: \"Use HTML source\",\n description:\n \"Insert custom HTML directly into the iframe instead of using a URL.\",\n defaultValue: false,\n advanced: true,\n },\n sandbox: {\n type: \"string\",\n displayName: \"Sandbox\",\n description:\n \"Controls the restrictions applied to the content embedded in the iframe.\",\n },\n srcDoc: {\n type: \"code\",\n lang: \"html\",\n displayName: \"HTML source\",\n description: \"Raw HTML content that will be rendered inside an iframe.\",\n defaultValue: `<div><h3>Heading</h3><p>Example text...</p></div>`,\n hidden: (props) => !props.useHtml,\n },\n src: {\n type: \"string\",\n defaultValue: \"https://www.example.com\",\n hidden: (props) => !!props.useHtml,\n },\n preview: {\n type: \"boolean\",\n description: \"Load the iframe while editing in Plasmic Studio\",\n },\n onLoad: {\n type: \"eventHandler\",\n argTypes: [{ name: \"event\", type: \"object\" }],\n },\n },\n defaultStyles: {\n width: \"300px\",\n height: \"150px\",\n maxWidth: \"100%\",\n },\n};\n\nexport function registerIframe(\n loader?: { registerComponent: typeof registerComponent },\n customIframeMeta?: ComponentMeta<IframeProps>\n) {\n if (loader) {\n loader.registerComponent(Iframe, customIframeMeta ?? iframeMeta);\n } else {\n registerComponent(Iframe, customIframeMeta ?? iframeMeta);\n }\n}\n","import { DataProvider, useDataEnv } from \"@plasmicapp/host\";\nimport registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport * as plasmicQuery from \"@plasmicapp/query\";\nimport React, { Suspense, useState } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"./common\";\n\ninterface LoadingBoundaryProps {\n loadingState?: React.ReactNode;\n children?: React.ReactNode;\n forceLoading?: boolean;\n}\n\nconst reactMajorVersion = +React.version.split(\".\")[0];\n\nif (reactMajorVersion < 18) {\n console.warn(\"The LoadingBoundary component only works with React 18+\");\n}\n\nconst enableLoadingBoundaryKey = \"plasmicInternalEnableLoadingBoundary\";\nconst hasLoadingBoundaryKey = \"plasmicInternalHasLoadingBoundary\";\n\nfunction useIsClient() {\n const [loaded, setLoaded] = useState(false);\n useIsomorphicLayoutEffect(() => {\n setLoaded(true);\n }, []);\n return loaded;\n}\n\nlet hasWarnedDisabledLoadingBoundary = false;\n\nfunction warnDisabledLoadingBoundary() {\n if (!hasWarnedDisabledLoadingBoundary) {\n hasWarnedDisabledLoadingBoundary = true;\n console.warn(\n `LoadingBoundary feature is not enabled. To use the LoadingBoundary component make sure to upgrade your @plasmicapp/* dependencies to the latest version and to wrap you App inside <PlasmicRootProvider />`\n );\n }\n}\n\nexport function LoadingBoundary({\n children,\n forceLoading,\n loadingState,\n}: LoadingBoundaryProps) {\n const isClient = useIsClient();\n const enableLoadingBoundary = !!useDataEnv()?.[enableLoadingBoundaryKey];\n\n if ((!isClient && !plasmicQuery.isPlasmicPrepass?.()) || forceLoading) {\n return <>{loadingState ?? null}</>;\n }\n\n if (reactMajorVersion < 18) {\n return <>{children ?? null}</>;\n }\n\n if (!enableLoadingBoundary) {\n warnDisabledLoadingBoundary();\n return <>{children ?? null}</>;\n }\n\n return (\n <Suspense fallback={<>{loadingState ?? null}</>}>\n <DataProvider hidden name={hasLoadingBoundaryKey} data={true}>\n {children ?? null}\n </DataProvider>\n </Suspense>\n );\n}\n\nexport const loadingBoundaryMeta: ComponentMeta<LoadingBoundaryProps> = {\n name: \"hostless-loading-boundary\",\n displayName: \"Loading Boundary\",\n importName: \"LoadingBoundary\",\n importPath: \"@plasmicpkgs/plasmic-basic-components\",\n props: {\n children: \"slot\",\n loadingState: {\n type: \"slot\",\n displayName: \"Loading state\",\n defaultValue: {\n type: \"text\",\n value: \"Loading...\",\n },\n },\n forceLoading: {\n type: \"boolean\",\n editOnly: true,\n displayName: \"Preview loading\",\n description:\n \"Force preview the 'Loading' state - impacts only editor, and not published page behavior\",\n },\n },\n providesData: true,\n styleSections: false,\n description: \"Handle the loading state of queries and integrations\",\n};\n\nexport function registerLoadingBoundary(\n loader?: { registerComponent: typeof registerComponent },\n customLoadingBoundaryMeta?: ComponentMeta<LoadingBoundaryProps>\n) {\n if (loader) {\n loader.registerComponent(\n LoadingBoundary,\n customLoadingBoundaryMeta ?? loadingBoundaryMeta\n );\n } else {\n registerComponent(\n LoadingBoundary,\n customLoadingBoundaryMeta ?? loadingBoundaryMeta\n );\n }\n}\n","import {\n ComponentMeta,\n DataProvider,\n registerComponent,\n repeatedElement,\n} from \"@plasmicapp/host\";\nimport React from \"react\";\n\nconst thisModule = \"@plasmicpkgs/plasmic-basic-components\";\n\nconst defaultItemName = \"currentItem\";\nconst defaultIndexName = \"currentIndex\";\n\ninterface RepeaterProps<T> {\n children: React.ReactNode;\n items: T[];\n itemName?: string;\n indexName?: string;\n}\n\nexport function Repeater<T>(props: RepeaterProps<T>) {\n const { children, items, itemName, indexName } = props;\n\n if (!Array.isArray(items)) {\n throw new Error(\"Repeater received an invalid collection: not an array.\");\n }\n\n return (\n <>\n {items.map((item, index) => (\n <DataProvider\n key={index.toString()}\n name={itemName || defaultItemName}\n data={item}\n >\n <DataProvider name={indexName || defaultIndexName} data={index}>\n {repeatedElement(index, children)}\n </DataProvider>\n </DataProvider>\n ))}\n </>\n );\n}\n\nexport const repeaterMeta: ComponentMeta<RepeaterProps<any>> = {\n name: `plasmic-repeater`,\n displayName: \"Repeater\",\n importName: \"Repeater\",\n importPath: thisModule,\n providesData: true,\n props: {\n children: {\n type: \"slot\",\n isRepeated: true,\n },\n items: {\n type: \"array\",\n defaultValue: [1, 2, 3],\n displayName: \"Collection\",\n description: \"Items array (JavaScript expression).\",\n },\n itemName: {\n type: \"string\",\n defaultValue: defaultItemName,\n defaultValueHint: defaultItemName,\n displayName: \"Item\",\n description: \"Data context key for the current item.\",\n },\n indexName: {\n type: \"string\",\n defaultValue: defaultIndexName,\n defaultValueHint: defaultIndexName,\n displayName: \"Index\",\n description: \"Data context key for the index of the current item.\",\n },\n },\n};\n\nexport function registerRepeater(\n loader?: { registerComponent: typeof registerComponent },\n customRepeaterMeta?: ComponentMeta<RepeaterProps<any>>\n) {\n if (loader) {\n loader.registerComponent(Repeater, customRepeaterMeta ?? repeaterMeta);\n } else {\n registerComponent(Repeater, customRepeaterMeta ?? repeaterMeta);\n }\n}\n","import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport React, {\n ReactNode,\n RefObject,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nexport function useDirectionalIntersection({\n ref,\n scrollDownThreshold = 0.5,\n scrollUpThreshold = 0,\n}: {\n ref: RefObject<HTMLElement>;\n scrollDownThreshold?: number;\n scrollUpThreshold?: number;\n}) {\n const [revealed, setRevealed] = useState(false);\n useEffect(() => {\n if (ref.current && typeof IntersectionObserver === \"function\") {\n const handler = (entries: IntersectionObserverEntry[]) => {\n if (entries[0].intersectionRatio >= scrollDownThreshold) {\n setRevealed(true);\n } else if (entries[0].intersectionRatio <= scrollUpThreshold) {\n setRevealed(false);\n }\n };\n\n const observer = new IntersectionObserver(handler, {\n root: null,\n rootMargin: \"0%\",\n threshold: [scrollUpThreshold, scrollDownThreshold],\n });\n observer.observe(ref.current);\n\n return () => {\n setRevealed(false);\n observer.disconnect();\n };\n }\n return () => {};\n }, [ref.current, scrollDownThreshold, scrollUpThreshold]);\n return revealed;\n}\n\nexport interface ScrollRevealerProps {\n children?: ReactNode;\n className?: string;\n scrollUpThreshold?: number;\n scrollDownThreshold?: number;\n}\n\n/**\n * Unlike react-awesome-reveal, ScrollRevealer:\n *\n * - has configurable thresholds\n * - triggers arbitrary render/unrender animations\n *\n * TODO: Merge this inta a general Reveal component, perhaps forking react-awesome-reveal, so that we don't have two different reveal components for users.\n */\nexport function ScrollRevealer({\n children,\n className,\n scrollDownThreshold = 0.5,\n scrollUpThreshold = 0,\n}: ScrollRevealerProps) {\n const intersectionRef = useRef<HTMLDivElement>(null);\n const revealed = useDirectionalIntersection({\n ref: intersectionRef,\n scrollUpThreshold,\n scrollDownThreshold,\n });\n return (\n <div className={className} ref={intersectionRef}>\n {revealed ? children : null}\n </div>\n );\n}\n\nexport const scrollRevealerMeta: ComponentMeta<ScrollRevealerProps> = {\n name: \"hostless-scroll-revealer\",\n importName: \"ScrollRevealer\",\n displayName: \"Scroll Revealer\",\n importPath: \"@plasmicpkgs/plasmic-basic-components\",\n props: {\n children: \"slot\",\n scrollDownThreshold: {\n type: \"number\",\n displayName: \"Scroll down threshold\",\n defaultValueHint: 0.5,\n description:\n \"How much of the element (as a fraction) must you scroll into view for it to appear (defaults to 0.5)\",\n },\n scrollUpThreshold: {\n type: \"number\",\n displayName: \"Scroll up threshold\",\n defaultValueHint: 0,\n description:\n \"While scrolling up, how much of the element (as a fraction) can still be scrolled in view before it disappears (defaults to 0, meaning you must scroll up until it's completely out of view)\",\n },\n },\n defaultStyles: {\n width: \"stretch\",\n maxWidth: \"100%\",\n },\n};\n\nexport function registerScrollRevealer(\n loader?: { registerComponent: typeof registerComponent },\n customScrollRevealerMeta?: ComponentMeta<ScrollRevealerProps>\n) {\n if (loader) {\n loader.registerComponent(\n ScrollRevealer,\n customScrollRevealerMeta ?? scrollRevealerMeta\n );\n } else {\n registerComponent(\n ScrollRevealer,\n customScrollRevealerMeta ?? scrollRevealerMeta\n );\n }\n}\n","import registerComponent, {\n CodeComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport React from \"react\";\n\nexport interface SideEffectProps {\n onMount?: () => Promise<void>;\n onUnmount?: () => Promise<void>;\n deps?: unknown[];\n}\n\nexport function SideEffect({ deps, onMount, onUnmount }: SideEffectProps) {\n React.useEffect(() => {\n onMount?.();\n return () => {\n onUnmount?.();\n };\n }, deps ?? []);\n return null;\n}\n\nexport const sideEffectMeta: CodeComponentMeta<SideEffectProps> = {\n name: \"hostless-side-effect\",\n displayName: \"Side Effect\",\n description: \"Run actions on load, unload, and when data changes.\",\n importName: \"SideEffect\",\n importPath: \"@plasmicpkgs/plasmic-basic-components\",\n props: {\n onMount: {\n type: \"eventHandler\",\n displayName: \"On load\",\n description: \"Actions to run when this Side Effect component is mounted.\",\n argTypes: [],\n },\n onUnmount: {\n type: \"eventHandler\",\n displayName: \"On unload\",\n description:\n \"Actions to run when this Side Effect component is unmounted.\",\n argTypes: [],\n },\n deps: {\n type: \"array\",\n displayName: \"When data changes\",\n description:\n \"List of values which should trigger a re-run of the actions if changed.\",\n },\n },\n};\n\nexport function registerSideEffect(\n loader?: { registerComponent: typeof registerComponent },\n customMeta?: CodeComponentMeta<SideEffectProps>\n) {\n if (loader) {\n loader.registerComponent(SideEffect, customMeta ?? sideEffectMeta);\n } else {\n registerComponent(SideEffect, customMeta ?? sideEffectMeta);\n }\n}\n","import registerComponent, {\n CodeComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { useEffect, useMemo, useRef } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"./common\";\n\nexport interface TimerProps {\n onTick: () => void;\n isRunning?: boolean;\n intervalSeconds?: number;\n runWhileEditing: boolean;\n \"data-plasmic-canvas-envs\"?: number;\n}\n\nexport function useInterval(callback: () => void, delay: number | null) {\n const savedCallback = useRef(callback);\n\n // Remember the latest callback if it changes.\n useIsomorphicLayoutEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Set up the interval.\n useEffect(() => {\n // Don't schedule if no delay is specified.\n // Note: 0 is a valid value for delay.\n if (!delay && delay !== 0) {\n return;\n }\n\n const id = setInterval(() => savedCallback.current(), delay);\n\n return () => clearInterval(id);\n }, [delay]);\n}\n\nexport function Timer({\n intervalSeconds = 1,\n isRunning = false,\n onTick = () => {},\n runWhileEditing,\n \"data-plasmic-canvas-envs\": canvasId,\n}: TimerProps) {\n const isEditMode = useMemo(() => canvasId !== undefined, [canvasId]);\n useInterval(\n onTick,\n // Delay in milliseconds or null to stop it\n isRunning && (isEditMode ? runWhileEditing : true)\n ? intervalSeconds * 1000\n : null\n );\n return null;\n}\n\nexport const timerMeta: CodeComponentMeta<TimerProps> = {\n name: \"hostless-timer\",\n displayName: \"Timer\",\n description: \"Run something periodically\",\n importName: \"Timer\",\n importPath: \"@plasmicpkgs/plasmic-basic-components\",\n props: {\n onTick: {\n type: \"eventHandler\",\n displayName: \"Run this every interval\",\n description: \"Actions to run periodically\",\n argTypes: [],\n },\n isRunning: {\n type: \"boolean\",\n displayName: \"Is Running?\",\n defaultValue: true,\n },\n runWhileEditing: {\n type: \"boolean\",\n displayName: \"Run while editing\",\n description:\n \"Normally this only runs in the live site or in preview mode, but you can force it to run even while you are editing in the canvas (Please enable interactive mode to observe state changes)\",\n defaultValue: false,\n },\n intervalSeconds: {\n type: \"number\",\n displayName: \"Interval (seconds)\",\n description: \"Interval in seconds\",\n },\n },\n};\n\nexport function registerTimer(\n loader?: { registerComponent: typeof registerComponent },\n customMeta?: CodeComponentMeta<TimerProps>\n) {\n if (loader) {\n loader.registerComponent(Timer, customMeta ?? timerMeta);\n } else {\n registerComponent(Timer, customMeta ?? timerMeta);\n }\n}\n","import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport React, { useImperativeHandle, useRef } from \"react\";\n\nexport type VideoProps = Pick<\n React.ComponentProps<\"video\">,\n | \"autoPlay\"\n | \"controls\"\n | \"loop\"\n | \"muted\"\n | \"playsInline\"\n | \"poster\"\n | \"preload\"\n | \"src\"\n>;\n\ninterface VideoActions {\n play(): void;\n pause(): void;\n}\n\nexport const Video = React.forwardRef<VideoActions, VideoProps>(\n (props: VideoProps, ref) => {\n const videoRef = useRef<HTMLVideoElement>(null);\n\n useImperativeHandle(\n ref,\n () => {\n return {\n play() {\n videoRef.current?.play();\n },\n pause() {\n videoRef.current?.pause();\n },\n };\n },\n []\n );\n\n return <video ref={videoRef} {...props} />;\n }\n);\n\nexport const videoMeta: ComponentMeta<VideoProps> = {\n name: \"hostless-html-video\",\n importName: \"Video\",\n displayName: \"HTML Video\",\n importPath: \"@plasmicpkgs/plasmic-basic-components\",\n props: {\n src: {\n type: \"string\",\n defaultValue:\n \"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm\",\n displayName: \"Source URL\",\n description: \"URL to a video file.\",\n },\n autoPlay: {\n type: \"boolean\",\n displayName: \"Auto Play\",\n description:\n \"Whether the video show automatically start playing when the player loads. Chrome and other browsers require 'muted' to also be set for 'autoplay' to work.\",\n helpText: \"Requires 'Muted' to also be set for 'Auto Play' to work.\",\n },\n controls: {\n type: \"boolean\",\n displayName: \"Show Controls\",\n description: \"Whether the video player controls should be displayed\",\n defaultValue: true,\n },\n playsInline: {\n type: \"boolean\",\n displayName: \"Plays inline\",\n description:\n \"Usually on mobile, when tilted landscape, videos can play fullscreen. Turn this on to prevent that.\",\n },\n loop: {\n type: \"boolean\",\n displayName: \"Loop\",\n description: \"Whether the video should be played again after it finishes\",\n },\n muted: {\n type: \"boolean\",\n displayName: \"Muted\",\n description: \"Whether audio should be muted\",\n },\n poster: {\n type: \"imageUrl\",\n displayName: \"Poster (placeholder) image\",\n description: \"Image to show while video is downloading\",\n },\n preload: {\n type: \"choice\",\n options: [\"none\", \"metadata\", \"auto\"],\n displayName: \"Preload\",\n description:\n \"Whether to preload nothing, metadata only, or the full video\",\n },\n },\n defaultStyles: {\n height: \"hug\",\n width: \"640px\",\n maxWidth: \"100%\",\n },\n refActions: {\n play: {\n description: \"Play the video\",\n argTypes: [],\n },\n pause: {\n description: \"Pause the video\",\n argTypes: [],\n },\n },\n};\n\nexport function registerVideo(\n loader?: { registerComponent: typeof registerComponent },\n customVideoMeta?: ComponentMeta<VideoProps>\n) {\n if (loader) {\n loader.registerComponent(Video, customVideoMeta ?? videoMeta);\n } else {\n registerComponent(Video, customVideoMeta ?? videoMeta);\n }\n}\n"],"names":["ConditionGuardOnNotSatisfied","_ref","onNotSatisfied","ref","React","useRef","useEffect","current","isCurrentLocationInSkipPaths","skipPaths","pathname","window","location","currentPath","origin","plasmicPathname","globalThis","_globalThis$__PLASMIC","call","some","_ref2","path","ConditionGuard","_ref3","condition","children","conditionGuardMeta","name","displayName","description","importName","importPath","props","type","helpText","defaultValue","argTypes","itemType","fields","nameFunc","item","registerConditionGuard","loader","customConditionGuardMeta","registerComponent","thisModule","applySelector","console","warn","_applySelector","apply","arguments","useSelector","_useSelector","useSelectors","_useSelectors","useDataEnv","_useDataEnv","DataProvider","_DataProvider","DynamicElement","tag","_ref$tag","className","propSelectors","_objectWithoutPropertiesLoose","_excluded","computed","createElement","_extends","DynamicText","selector","_excluded2","DynamicImage","_excluded3","loading","style","objectFit","src","DynamicRepeater","_ref4","loopItemName","keySelector","data","finalData","_ref5","map","index","_applySelector2","key","repeatedElement","dynamicRepeaterProps","isRepeated","dynamicRepeaterMeta","registerDynamicRepeater","customDynamicRepeaterMeta","dataProviderMeta","providesData","birthYear","profilePicture","registerDataProvider","customDataProviderMeta","dynamicPropsWithoutTag","defaultValueHint","dynamicProps","dynamicElementMeta","registerDynamicElement","customDynamicElementMeta","dynamicTextMeta","registerDynamicText","customDynamicTextMeta","dynamicImageMeta","registerDynamicImage","customDynamicImageMeta","ensure","x","undefined","Error","isBrowser","useIsomorphicLayoutEffect","useLayoutEffect","useFirstRender","firstRender","useId","Embed","code","_ref$hideInEditor","hideInEditor","rootElt","inEditor","usePlasmicCanvasContext","htmlId","makePlasmicVarName","cleanup","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_loop","_ret","_i","_Array$from","wrap","_callee$","_context2","prev","next","oldScript","newScript","_loop$","_context","document","async","Array","from","attributes","forEach","attr","setAttribute","value","appendChild","createTextNode","innerHTML","parentNode","replaceChild","Promise","resolve","addEventListener","abrupt","v","stop","querySelectorAll","length","delegateYield","t0","effectiveCode","addIdentifierScript","dangerouslySetInnerHTML","__html","whiteSpace","id","replace","embedMeta","lang","editOnly","defaultStyles","maxWidth","registerEmbed","customEmbedMeta","Iframe","preview","srcDoc","sandbox","useHtml","onLoad","isEditing","useContext","PlasmicCanvasContext","position","top","left","right","bottom","background","color","fontSize","fontFamily","fontWeight","display","alignItems","justifyContent","overflow","srcProps","iframeMeta","advanced","hidden","width","height","registerIframe","customIframeMeta","reactMajorVersion","version","split","enableLoadingBoundaryKey","hasLoadingBoundaryKey","useIsClient","_useState","useState","loaded","setLoaded","hasWarnedDisabledLoadingBoundary","warnDisabledLoadingBoundary","LoadingBoundary","forceLoading","loadingState","isClient","enableLoadingBoundary","plasmicQuery","Suspense","fallback","loadingBoundaryMeta","styleSections","registerLoadingBoundary","customLoadingBoundaryMeta","defaultItemName","defaultIndexName","Repeater","items","itemName","indexName","isArray","toString","repeaterMeta","registerRepeater","customRepeaterMeta","useDirectionalIntersection","_ref$scrollDownThresh","scrollDownThreshold","_ref$scrollUpThreshol","scrollUpThreshold","revealed","setRevealed","IntersectionObserver","handler","entries","intersectionRatio","observer","root","rootMargin","threshold","observe","disconnect","ScrollRevealer","_ref2$scrollDownThres","_ref2$scrollUpThresho","intersectionRef","scrollRevealerMeta","registerScrollRevealer","customScrollRevealerMeta","SideEffect","deps","onMount","onUnmount","sideEffectMeta","registerSideEffect","customMeta","useInterval","callback","delay","savedCallback","setInterval","clearInterval","Timer","intervalSeconds","_ref$intervalSeconds","_ref$isRunning","isRunning","_ref$onTick","onTick","runWhileEditing","canvasId","isEditMode","useMemo","timerMeta","registerTimer","Video","forwardRef","videoRef","useImperativeHandle","play","_videoRef$current","pause","_videoRef$current2","videoMeta","autoPlay","controls","playsInline","loop","muted","poster","preload","options","refActions","registerVideo","customVideoMeta"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("@plasmicapp/host/registerComponent")),r=require("react"),n=e(r),o=require("@plasmicapp/host"),a=require("@plasmicapp/query");function i(e){var t=e.onNotSatisfied,r=n.useRef(!1);return n.useEffect((function(){r.current||(r.current=!0,null==t||t())}),[t]),null}function s(e){var t,r,o,a,s,l=e.onNotSatisfied,c=e.children;return e.condition||(t=e.skipPaths,o=window.location.pathname,a=window.location.origin+o,s=null==globalThis||null==(r=globalThis.__PLASMIC_STUDIO_PATH)?void 0:r.call(globalThis),null==t?void 0:t.some((function(e){var t=e.path;return t===o||t===a||t===s})))?n.createElement(n.Fragment,null,c):n.createElement(i,{onNotSatisfied:l})}var l={name:"hostless-condition-guard",displayName:"Condition Guard",description:"Ensure some condition, or else run an interaction. Examples: ensure all users have a database row, or require new users to setup a profile.",importName:"ConditionGuard",importPath:"@plasmicpkgs/plasmic-basic-components",props:{children:"slot",condition:{type:"boolean",displayName:"Condition",description:"The condition to guard against",helpText:"Condition to check. Render contents only if true. Run interaction if false.",defaultValue:!0},onNotSatisfied:{type:"eventHandler",displayName:"On condition false",description:"The action to run when the condition is not satisfied",argTypes:[]},skipPaths:{type:"array",displayName:"Skip Paths",description:"Paths that the action should not run",itemType:{type:"object",fields:{path:"href"},nameFunc:function(e){return null==e?void 0:e.path}}}}};function c(e,t,r,n,o,a,i){try{var s=e[a](i),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,o)}function u(){return(u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}function p(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}function d(){d=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(e,t,r){e[t]=r.value},a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",s=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function u(e,t,r,n){var a=Object.create((t&&t.prototype instanceof v?t:v).prototype),i=new R(n||[]);return o(a,"_invoke",{value:T(e,r,i)}),a}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var m="suspendedStart",h="executing",f="completed",y={};function v(){}function g(){}function b(){}var x={};c(x,i,(function(){return this}));var w=Object.getPrototypeOf,E=w&&w(w(k([])));E&&E!==r&&n.call(E,i)&&(x=E);var N=b.prototype=v.prototype=Object.create(x);function P(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function S(e,t){function r(o,a,i,s){var l=p(e[o],e,a);if("throw"!==l.type){var c=l.arg,u=c.value;return u&&"object"==typeof u&&n.call(u,"__await")?t.resolve(u.__await).then((function(e){r("next",e,i,s)}),(function(e){r("throw",e,i,s)})):t.resolve(u).then((function(e){c.value=e,i(c)}),(function(e){return r("throw",e,i,s)}))}s(l.arg)}var a;o(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,o){r(e,n,t,o)}))}return a=a?a.then(o,o):o()}})}function T(t,r,n){var o=m;return function(a,i){if(o===h)throw Error("Generator is already running");if(o===f){if("throw"===a)throw i;return{value:e,done:!0}}for(n.method=a,n.arg=i;;){var s=n.delegate;if(s){var l=L(s,n);if(l){if(l===y)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===m)throw o=f,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=h;var c=p(t,r,n);if("normal"===c.type){if(o=n.done?f:"suspendedYield",c.arg===y)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(o=f,n.method="throw",n.arg=c.arg)}}}function L(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,L(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var a=p(o,t.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,y;var i=a.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,y):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function D(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function I(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function R(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(D,this),this.reset(!0)}function k(t){if(t||""===t){var r=t[i];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return a.next=a}}throw new TypeError(typeof t+" is not iterable")}return g.prototype=b,o(N,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:g,configurable:!0}),g.displayName=c(b,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,c(e,l,"GeneratorFunction")),e.prototype=Object.create(N),e},t.awrap=function(e){return{__await:e}},P(S.prototype),c(S.prototype,s,(function(){return this})),t.AsyncIterator=S,t.async=function(e,r,n,o,a){void 0===a&&(a=Promise);var i=new S(u(e,r,n,o),a);return t.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},P(N),c(N,l,"Generator"),c(N,i,(function(){return this})),c(N,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=k,R.prototype={constructor:R,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(I),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function o(n,o){return s.type="throw",s.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],s=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var l=n.call(i,"catchLoc"),c=n.call(i,"finallyLoc");if(l&&c){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(l){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!c)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,y):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),y},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),I(r),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;I(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:k(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),y}},t}var m=["tag","className","children","propSelectors"],h=["selector","propSelectors"],f=["selector","propSelectors"],y="@plasmicpkgs/plasmic-basic-components";function v(e){var t=e.tag,n=void 0===t?"div":t,a=e.className,i=e.children,s=e.propSelectors,l=p(e,m),c=o.useSelectors(s);return r.createElement(n,u({children:i},l,c,{className:a+" "+c.className}))}function g(e){var t=e.selector,r=e.propSelectors,o=p(e,h);return n.createElement(v,Object.assign({},o,{propSelectors:u({},r,{children:t})}),"(DynamicText requires a selector)")}function b(e){var t=e.selector,r=e.propSelectors,o=p(e,f);return n.createElement(v,Object.assign({tag:"img",loading:"lazy",style:{objectFit:"cover"}},o,{propSelectors:u({},r,{src:t}),src:"https://studio.plasmic.app/static/img/placeholder.png"}))}function x(e){var t,r=e.children,a=e.loopItemName,i=e.keySelector,s=e.data,l=null!=(t=null!=s?s:o.useSelector(e.selector))?t:[1,2,3];return n.createElement(n.Fragment,null,null==l||null==l.map?void 0:l.map((function(e,t){var s;return n.createElement(o.DataProvider,{key:null!=(s=o.applySelector(e,i))?s:t,name:a,data:e},o.repeatedElement(t,r))})))}var w={selector:{type:"string",description:"The selector expression to use to get the array of data to loop over, such as: someVariable.0.someField"},loopItemName:{type:"string",defaultValue:"item",description:"The name of the variable to use to store the current item in the loop"},children:{type:"slot",isRepeated:!0}},E={name:"hostless-dynamic-repeater",displayName:"Dynamic Repeater",importName:"DynamicRepeater",importPath:y,props:w},N={name:"hostless-data-provider",displayName:"Data Provider",importName:"DataProvider",importPath:y,providesData:!0,props:{name:{type:"string",defaultValue:"celebrities",description:"The name of the variable to store the data in"},data:{type:"object",defaultValue:[{name:"Fill Murray",birthYear:1950,profilePicture:["https://www.fillmurray.com/200/300"]},{name:"Place Cage",birthYear:1950,profilePicture:["https://www.placecage.com/200/300"]}]},children:{type:"slot"}}},P={propSelectors:{type:"object",defaultValueHint:{},description:"An object whose keys are prop names and values are selector expressions. Use this to set any prop to a dynamic value."}},S=u({},P,{tag:{type:"string",defaultValueHint:"div",description:"The HTML tag to use"}}),T={name:"hostless-dynamic-element",displayName:"Dynamic Element",importName:"DynamicElement",importPath:y,props:u({},S,{children:"slot"})},L={name:"hostless-dynamic-text",importName:"DynamicText",displayName:"Dynamic Text",importPath:y,props:u({},S,{selector:{type:"string",description:"The selector expression to use to get the text, such as: someVariable.0.someField"}})},D={name:"hostless-dynamic-image",displayName:"Dynamic Image",importName:"DynamicImage",importPath:y,props:u({},P,{selector:{type:"string",description:"The selector expression to use to get the image source URL, such as: someVariable.0.someField"}})};function I(e){if(null==e)throw new Error("Value must not be undefined or null");return e}var R="undefined"!=typeof window?n.useLayoutEffect:n.useEffect,k=n.useId;function C(e){var t=e.className,a=e.code,i=e.hideInEditor,s=void 0!==i&&i,l=r.useRef(null),u=o.usePlasmicCanvasContext(),p=null==k?void 0:k(),m=function(){var e=n.useRef(!0),t=e.current;return e.current=!1,t}();r.useEffect((function(){if((!s||!u)&&(!p||u||!m||!window[M(p)])){var e,t=!1;(e=d().mark((function e(){var r,n,o,a;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=d().mark((function e(){var r,n;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=a[o],(n=document.createElement("script")).async=!1,Array.from(r.attributes).forEach((function(e){return n.setAttribute(e.name,e.value)})),n.appendChild(document.createTextNode(r.innerHTML)),I(r.parentNode).replaceChild(n,r),!n.src){e.next=11;break}return e.next=9,new Promise((function(e){return n.addEventListener("load",e)}));case 9:if(!t){e.next=11;break}return e.abrupt("return",{v:void 0});case 11:case"end":return e.stop()}}),e)})),o=0,a=Array.from(I(l.current).querySelectorAll("script"));case 2:if(!(o<a.length)){e.next=10;break}return e.delegateYield(r(),"t0",4);case 4:if(!(n=e.t0)){e.next=7;break}return e.abrupt("return",n.v);case 7:o++,e.next=2;break;case 10:return e.abrupt("return",(function(){t=!0}));case 11:case"end":return e.stop()}}),e)})),function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){c(a,n,o,i,s,"next",e)}function s(e){c(a,n,o,i,s,"throw",e)}i(void 0)}))})()}}),[p,a,s,u]);var h=s&&u?"":u||!p?a:function(e,t){return"<script>\n var "+M(e)+" = 1;\n <\/script>\n "+t}(p,a);return n.createElement("div",{ref:l,className:t,dangerouslySetInnerHTML:{__html:h},style:{whiteSpace:"normal"}})}function M(e){return"__plasmic_"+e.replace(/[^a-z0-9]/gi,"")}var O={name:"hostless-embed",displayName:"Embed HTML",importName:"Embed",importPath:"@plasmicpkgs/plasmic-basic-components",props:{code:{type:"code",lang:"html",defaultValue:"<div>Paste your embed code via the right sidebar</div>",description:"The HTML code to be embedded"},hideInEditor:{type:"boolean",displayName:"Hide in editor",description:"Disable running the code while editing in Plasmic Studio (may require reload)",editOnly:!0}},defaultStyles:{maxWidth:"100%"}};function H(e){var t=e.preview,a=e.src,i=e.srcDoc,s=e.sandbox,l=e.useHtml,c=e.className,u=e.onLoad;return r.useContext(o.PlasmicCanvasContext)&&!t?n.createElement("div",{className:c},n.createElement("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,background:"#eee",color:"#888",fontSize:"36px",fontFamily:"sans-serif",fontWeight:"bold",display:"flex",alignItems:"center",justifyContent:"center",overflow:"hidden"}},"Iframe placeholder")):n.createElement("iframe",Object.assign({},l?{srcDoc:i}:{src:a},{sandbox:s,className:c,onLoad:u}))}var V={name:"hostless-iframe",displayName:"Iframe",importName:"Iframe",importPath:"@plasmicpkgs/plasmic-basic-components",props:{useHtml:{type:"boolean",displayName:"Use HTML source",description:"Insert custom HTML directly into the iframe instead of using a URL.",defaultValue:!1,advanced:!0},sandbox:{type:"string",displayName:"Sandbox",description:"Controls the restrictions applied to the content embedded in the iframe."},srcDoc:{type:"code",lang:"html",displayName:"HTML source",description:"Raw HTML content that will be rendered inside an iframe.",defaultValue:"<div><h3>Heading</h3><p>Example text...</p></div>",hidden:function(e){return!e.useHtml}},src:{type:"string",defaultValue:"https://www.example.com",hidden:function(e){return!!e.useHtml}},preview:{type:"boolean",description:"Load the iframe while editing in Plasmic Studio"},onLoad:{type:"eventHandler",argTypes:[{name:"event",type:"object"}]}},defaultStyles:{width:"300px",height:"150px",maxWidth:"100%"}},j=+n.version.split(".")[0];j<18&&console.warn("The LoadingBoundary component only works with React 18+");var _=!1;function A(e){var t,i,s,l,c=e.children,u=e.forceLoading,p=e.loadingState,d=(s=(i=r.useState(!1))[0],l=i[1],R((function(){l(!0)}),[]),s),m=!(null==(t=o.useDataEnv())||!t.plasmicInternalEnableLoadingBoundary);return(d||null!=a.isPlasmicPrepass&&a.isPlasmicPrepass())&&!u?j<18?n.createElement(n.Fragment,null,null!=c?c:null):m?n.createElement(r.Suspense,{fallback:n.createElement(n.Fragment,null,null!=p?p:null)},n.createElement(o.DataProvider,{hidden:!0,name:"plasmicInternalHasLoadingBoundary",data:!0},null!=c?c:null)):(_||(_=!0,console.warn("LoadingBoundary feature is not enabled. To use the LoadingBoundary component make sure to upgrade your @plasmicapp/* dependencies to the latest version and to wrap you App inside <PlasmicRootProvider />")),n.createElement(n.Fragment,null,null!=c?c:null)):n.createElement(n.Fragment,null,null!=p?p:null)}var F={name:"hostless-loading-boundary",displayName:"Loading Boundary",importName:"LoadingBoundary",importPath:"@plasmicpkgs/plasmic-basic-components",props:{children:"slot",loadingState:{type:"slot",displayName:"Loading state",defaultValue:{type:"text",value:"Loading..."}},forceLoading:{type:"boolean",editOnly:!0,displayName:"Preview loading",description:"Force preview the 'Loading' state - impacts only editor, and not published page behavior"}},providesData:!0,styleSections:!1,description:"Handle the loading state of queries and integrations"};function U(e){var t=e.children,r=e.items,a=e.itemName,i=e.indexName;if(!Array.isArray(r))throw new Error("Repeater received an invalid collection: not an array.");return n.createElement(n.Fragment,null,r.map((function(e,r){return n.createElement(o.DataProvider,{key:r.toString(),name:a||"currentItem",data:e},n.createElement(o.DataProvider,{name:i||"currentIndex",data:r},o.repeatedElement(r,t)))})))}var W={name:"plasmic-repeater",displayName:"Repeater",importName:"Repeater",importPath:"@plasmicpkgs/plasmic-basic-components",providesData:!0,props:{children:{type:"slot",isRepeated:!0},items:{type:"array",defaultValue:[1,2,3],displayName:"Collection",description:"Items array (JavaScript expression)."},itemName:{type:"string",defaultValue:"currentItem",defaultValueHint:"currentItem",displayName:"Item",description:"Data context key for the current item."},indexName:{type:"string",defaultValue:"currentIndex",defaultValueHint:"currentIndex",displayName:"Index",description:"Data context key for the index of the current item."}}};function G(e){var t=e.ref,n=e.scrollDownThreshold,o=void 0===n?.5:n,a=e.scrollUpThreshold,i=void 0===a?0:a,s=r.useState(!1),l=s[0],c=s[1];return r.useEffect((function(){if(t.current&&"function"==typeof IntersectionObserver){var e=new IntersectionObserver((function(e){e[0].intersectionRatio>=o?c(!0):e[0].intersectionRatio<=i&&c(!1)}),{root:null,rootMargin:"0%",threshold:[i,o]});return e.observe(t.current),function(){c(!1),e.disconnect()}}return function(){}}),[t.current,o,i]),l}function q(e){var t=e.children,o=e.className,a=e.scrollDownThreshold,i=void 0===a?.5:a,s=e.scrollUpThreshold,l=void 0===s?0:s,c=r.useRef(null),u=G({ref:c,scrollUpThreshold:l,scrollDownThreshold:i});return n.createElement("div",{className:o,ref:c},u?t:null)}var B={name:"hostless-scroll-revealer",importName:"ScrollRevealer",displayName:"Scroll Revealer",importPath:"@plasmicpkgs/plasmic-basic-components",props:{children:"slot",scrollDownThreshold:{type:"number",displayName:"Scroll down threshold",defaultValueHint:.5,description:"How much of the element (as a fraction) must you scroll into view for it to appear (defaults to 0.5)"},scrollUpThreshold:{type:"number",displayName:"Scroll up threshold",defaultValueHint:0,description:"While scrolling up, how much of the element (as a fraction) can still be scrolled in view before it disappears (defaults to 0, meaning you must scroll up until it's completely out of view)"}},defaultStyles:{width:"stretch",maxWidth:"100%"}};function Y(e){var t=e.deps,r=e.onMount,o=e.onUnmount;return n.useEffect((function(){return null==r||r(),function(){null==o||o()}}),null!=t?t:[]),null}var z={name:"hostless-side-effect",displayName:"Side Effect",description:"Run actions on load, unload, and when data changes.",importName:"SideEffect",importPath:"@plasmicpkgs/plasmic-basic-components",props:{onMount:{type:"eventHandler",displayName:"On load",description:"Actions to run when this Side Effect component is mounted.",argTypes:[]},onUnmount:{type:"eventHandler",displayName:"On unload",description:"Actions to run when this Side Effect component is unmounted.",argTypes:[]},deps:{type:"array",displayName:"When data changes",description:"List of values which should trigger a re-run of the actions if changed."}}};function J(e,t){var n=r.useRef(e);R((function(){n.current=e}),[e]),r.useEffect((function(){if(t||0===t){var e=setInterval((function(){return n.current()}),t);return function(){return clearInterval(e)}}}),[t])}function K(e){var t=e.intervalSeconds,n=void 0===t?1:t,o=e.isRunning,a=void 0!==o&&o,i=e.onTick,s=void 0===i?function(){}:i,l=e.runWhileEditing,c=e["data-plasmic-canvas-envs"],u=r.useMemo((function(){return void 0!==c}),[c]);return J(s,!a||u&&!l?null:1e3*n),null}var Q={name:"hostless-timer",displayName:"Timer",description:"Run something periodically",importName:"Timer",importPath:"@plasmicpkgs/plasmic-basic-components",props:{onTick:{type:"eventHandler",displayName:"Run this every interval",description:"Actions to run periodically",argTypes:[]},isRunning:{type:"boolean",displayName:"Is Running?",defaultValue:!0},runWhileEditing:{type:"boolean",displayName:"Run while editing",description:"Normally this only runs in the live site or in preview mode, but you can force it to run even while you are editing in the canvas (Please enable interactive mode to observe state changes)",defaultValue:!1},intervalSeconds:{type:"number",displayName:"Interval (seconds)",description:"Interval in seconds"}}},X=n.forwardRef((function(e,t){return n.createElement("video",Object.assign({ref:t},e))})),Z={name:"hostless-html-video",importName:"Video",displayName:"HTML Video",importPath:"@plasmicpkgs/plasmic-basic-components",props:{src:{type:"string",defaultValue:"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm",displayName:"Source URL",description:"URL to a video file."},autoPlay:{type:"boolean",displayName:"Auto Play",description:"Whether the video show automatically start playing when the player loads. Chrome and other browsers require 'muted' to also be set for 'autoplay' to work.",helpText:"Requires 'Muted' to also be set for 'Auto Play' to work."},controls:{type:"boolean",displayName:"Show Controls",description:"Whether the video player controls should be displayed",defaultValue:!0},playsInline:{type:"boolean",displayName:"Plays inline",description:"Usually on mobile, when tilted landscape, videos can play fullscreen. Turn this on to prevent that."},loop:{type:"boolean",displayName:"Loop",description:"Whether the video should be played again after it finishes"},muted:{type:"boolean",displayName:"Muted",description:"Whether audio should be muted"},poster:{type:"imageUrl",displayName:"Poster (placeholder) image",description:"Image to show while video is downloading"},preload:{type:"choice",options:["none","metadata","auto"],displayName:"Preload",description:"Whether to preload nothing, metadata only, or the full video"}},defaultStyles:{height:"hug",width:"640px",maxWidth:"100%"}};exports.ConditionGuard=s,exports.DataProvider=function(){return o.DataProvider.apply(void 0,arguments)},exports.DynamicElement=v,exports.DynamicImage=b,exports.DynamicRepeater=x,exports.DynamicText=g,exports.Embed=C,exports.Iframe=H,exports.LoadingBoundary=A,exports.Repeater=U,exports.ScrollRevealer=q,exports.SideEffect=Y,exports.Timer=K,exports.Video=X,exports.applySelector=function(){return console.warn("DEPRECATED: Import applySelector from @plasmicapp/host instead."),o.applySelector.apply(void 0,arguments)},exports.conditionGuardMeta=l,exports.dataProviderMeta=N,exports.dynamicElementMeta=T,exports.dynamicImageMeta=D,exports.dynamicRepeaterMeta=E,exports.dynamicRepeaterProps=w,exports.dynamicTextMeta=L,exports.embedMeta=O,exports.iframeMeta=V,exports.loadingBoundaryMeta=F,exports.registerConditionGuard=function(e,r){e?e.registerComponent(s,null!=r?r:l):t(s,null!=r?r:l)},exports.registerDataProvider=function(e,r){e?e.registerComponent(o.DataProvider,null!=r?r:N):t(o.DataProvider,null!=r?r:N)},exports.registerDynamicElement=function(e,r){e?e.registerComponent(v,null!=r?r:T):t(v,null!=r?r:T)},exports.registerDynamicImage=function(e,r){e?e.registerComponent(b,null!=r?r:D):t(b,null!=r?r:D)},exports.registerDynamicRepeater=function(e,r){e?e.registerComponent(x,null!=r?r:E):t(x,null!=r?r:E)},exports.registerDynamicText=function(e,r){e?e.registerComponent(g,null!=r?r:L):t(g,null!=r?r:L)},exports.registerEmbed=function(e,r){e?e.registerComponent(C,null!=r?r:O):t(C,null!=r?r:O)},exports.registerIframe=function(e,r){e?e.registerComponent(H,null!=r?r:V):t(H,null!=r?r:V)},exports.registerLoadingBoundary=function(e,r){e?e.registerComponent(A,null!=r?r:F):t(A,null!=r?r:F)},exports.registerRepeater=function(e,t){e?e.registerComponent(U,null!=t?t:W):o.registerComponent(U,null!=t?t:W)},exports.registerScrollRevealer=function(e,r){e?e.registerComponent(q,null!=r?r:B):t(q,null!=r?r:B)},exports.registerSideEffect=function(e,r){e?e.registerComponent(Y,null!=r?r:z):t(Y,null!=r?r:z)},exports.registerTimer=function(e,r){e?e.registerComponent(K,null!=r?r:Q):t(K,null!=r?r:Q)},exports.registerVideo=function(e,r){e?e.registerComponent(X,null!=r?r:Z):t(X,null!=r?r:Z)},exports.repeaterMeta=W,exports.scrollRevealerMeta=B,exports.sideEffectMeta=z,exports.timerMeta=Q,exports.useDataEnv=function(){return console.warn("DEPRECATED: Import useDataEnv from @plasmicapp/host instead."),o.useDataEnv.apply(void 0,arguments)},exports.useDirectionalIntersection=G,exports.useInterval=J,exports.useSelector=function(){return console.warn("DEPRECATED: Import useSelector from @plasmicapp/host instead."),o.useSelector.apply(void 0,arguments)},exports.useSelectors=function(){return console.warn("DEPRECATED: Import useSelectors from @plasmicapp/host instead."),o.useSelectors.apply(void 0,arguments)},exports.videoMeta=Z;
1
+ "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("@plasmicapp/host/registerComponent")),r=require("react"),n=e(r),o=require("@plasmicapp/host"),a=require("@plasmicapp/query");function i(e){var t=e.onNotSatisfied,r=n.useRef(!1);return n.useEffect((function(){r.current||(r.current=!0,null==t||t())}),[t]),null}function s(e){var t,r,o,a,s,l=e.onNotSatisfied,c=e.children;return e.condition||(t=e.skipPaths,o=window.location.pathname,a=window.location.origin+o,s=null==globalThis||null==(r=globalThis.__PLASMIC_STUDIO_PATH)?void 0:r.call(globalThis),null==t?void 0:t.some((function(e){var t=e.path;return t===o||t===a||t===s})))?n.createElement(n.Fragment,null,c):n.createElement(i,{onNotSatisfied:l})}var l={name:"hostless-condition-guard",displayName:"Condition Guard",description:"Ensure some condition, or else run an interaction. Examples: ensure all users have a database row, or require new users to setup a profile.",importName:"ConditionGuard",importPath:"@plasmicpkgs/plasmic-basic-components",props:{children:"slot",condition:{type:"boolean",displayName:"Condition",description:"The condition to guard against",helpText:"Condition to check. Render contents only if true. Run interaction if false.",defaultValue:!0},onNotSatisfied:{type:"eventHandler",displayName:"On condition false",description:"The action to run when the condition is not satisfied",argTypes:[]},skipPaths:{type:"array",displayName:"Skip Paths",description:"Paths that the action should not run",itemType:{type:"object",fields:{path:"href"},nameFunc:function(e){return null==e?void 0:e.path}}}}};function c(e,t,r,n,o,a,i){try{var s=e[a](i),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,o)}function u(){return(u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}function p(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}function d(){d=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(e,t,r){e[t]=r.value},a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",s=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function u(e,t,r,n){var a=Object.create((t&&t.prototype instanceof v?t:v).prototype),i=new R(n||[]);return o(a,"_invoke",{value:T(e,r,i)}),a}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var m="suspendedStart",h="executing",f="completed",y={};function v(){}function g(){}function b(){}var x={};c(x,i,(function(){return this}));var w=Object.getPrototypeOf,E=w&&w(w(k([])));E&&E!==r&&n.call(E,i)&&(x=E);var N=b.prototype=v.prototype=Object.create(x);function P(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function S(e,t){function r(o,a,i,s){var l=p(e[o],e,a);if("throw"!==l.type){var c=l.arg,u=c.value;return u&&"object"==typeof u&&n.call(u,"__await")?t.resolve(u.__await).then((function(e){r("next",e,i,s)}),(function(e){r("throw",e,i,s)})):t.resolve(u).then((function(e){c.value=e,i(c)}),(function(e){return r("throw",e,i,s)}))}s(l.arg)}var a;o(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,o){r(e,n,t,o)}))}return a=a?a.then(o,o):o()}})}function T(t,r,n){var o=m;return function(a,i){if(o===h)throw Error("Generator is already running");if(o===f){if("throw"===a)throw i;return{value:e,done:!0}}for(n.method=a,n.arg=i;;){var s=n.delegate;if(s){var l=L(s,n);if(l){if(l===y)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===m)throw o=f,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=h;var c=p(t,r,n);if("normal"===c.type){if(o=n.done?f:"suspendedYield",c.arg===y)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(o=f,n.method="throw",n.arg=c.arg)}}}function L(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,L(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var a=p(o,t.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,y;var i=a.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,y):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function D(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function I(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function R(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(D,this),this.reset(!0)}function k(t){if(t||""===t){var r=t[i];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return a.next=a}}throw new TypeError(typeof t+" is not iterable")}return g.prototype=b,o(N,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:g,configurable:!0}),g.displayName=c(b,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,c(e,l,"GeneratorFunction")),e.prototype=Object.create(N),e},t.awrap=function(e){return{__await:e}},P(S.prototype),c(S.prototype,s,(function(){return this})),t.AsyncIterator=S,t.async=function(e,r,n,o,a){void 0===a&&(a=Promise);var i=new S(u(e,r,n,o),a);return t.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},P(N),c(N,l,"Generator"),c(N,i,(function(){return this})),c(N,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=k,R.prototype={constructor:R,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(I),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function o(n,o){return s.type="throw",s.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],s=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var l=n.call(i,"catchLoc"),c=n.call(i,"finallyLoc");if(l&&c){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(l){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!c)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,y):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),y},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),I(r),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;I(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:k(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),y}},t}var m=["tag","className","children","propSelectors"],h=["selector","propSelectors"],f=["selector","propSelectors"],y="@plasmicpkgs/plasmic-basic-components";function v(e){var t=e.tag,n=void 0===t?"div":t,a=e.className,i=e.children,s=e.propSelectors,l=p(e,m),c=o.useSelectors(s);return r.createElement(n,u({children:i},l,c,{className:a+" "+c.className}))}function g(e){var t=e.selector,r=e.propSelectors,o=p(e,h);return n.createElement(v,Object.assign({},o,{propSelectors:u({},r,{children:t})}),"(DynamicText requires a selector)")}function b(e){var t=e.selector,r=e.propSelectors,o=p(e,f);return n.createElement(v,Object.assign({tag:"img",loading:"lazy",style:{objectFit:"cover"}},o,{propSelectors:u({},r,{src:t}),src:"https://studio.plasmic.app/static/img/placeholder.png"}))}function x(e){var t,r=e.children,a=e.loopItemName,i=e.keySelector,s=e.data,l=null!=(t=null!=s?s:o.useSelector(e.selector))?t:[1,2,3];return n.createElement(n.Fragment,null,null==l||null==l.map?void 0:l.map((function(e,t){var s;return n.createElement(o.DataProvider,{key:null!=(s=o.applySelector(e,i))?s:t,name:a,data:e},o.repeatedElement(t,r))})))}var w={selector:{type:"string",description:"The selector expression to use to get the array of data to loop over, such as: someVariable.0.someField"},loopItemName:{type:"string",defaultValue:"item",description:"The name of the variable to use to store the current item in the loop"},children:{type:"slot",isRepeated:!0}},E={name:"hostless-dynamic-repeater",displayName:"Dynamic Repeater",importName:"DynamicRepeater",importPath:y,props:w},N={name:"hostless-data-provider",displayName:"Data Provider",importName:"DataProvider",importPath:y,providesData:!0,props:{name:{type:"string",defaultValue:"celebrities",description:"The name of the variable to store the data in"},data:{type:"object",defaultValue:[{name:"Fill Murray",birthYear:1950,profilePicture:["https://www.fillmurray.com/200/300"]},{name:"Place Cage",birthYear:1950,profilePicture:["https://www.placecage.com/200/300"]}]},children:{type:"slot"}}},P={propSelectors:{type:"object",defaultValueHint:{},description:"An object whose keys are prop names and values are selector expressions. Use this to set any prop to a dynamic value."}},S=u({},P,{tag:{type:"string",defaultValueHint:"div",description:"The HTML tag to use"}}),T={name:"hostless-dynamic-element",displayName:"Dynamic Element",importName:"DynamicElement",importPath:y,props:u({},S,{children:"slot"})},L={name:"hostless-dynamic-text",importName:"DynamicText",displayName:"Dynamic Text",importPath:y,props:u({},S,{selector:{type:"string",description:"The selector expression to use to get the text, such as: someVariable.0.someField"}})},D={name:"hostless-dynamic-image",displayName:"Dynamic Image",importName:"DynamicImage",importPath:y,props:u({},P,{selector:{type:"string",description:"The selector expression to use to get the image source URL, such as: someVariable.0.someField"}})};function I(e){if(null==e)throw new Error("Value must not be undefined or null");return e}var R="undefined"!=typeof window?n.useLayoutEffect:n.useEffect,k=n.useId;function C(e){var t=e.className,a=e.code,i=e.hideInEditor,s=void 0!==i&&i,l=r.useRef(null),u=o.usePlasmicCanvasContext(),p=null==k?void 0:k(),m=function(){var e=n.useRef(!0),t=e.current;return e.current=!1,t}();r.useEffect((function(){if((!s||!u)&&(!p||u||!m||!window[M(p)])){var e,t=!1;(e=d().mark((function e(){var r,n,o,a;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=d().mark((function e(){var r,n;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=a[o],(n=document.createElement("script")).async=!1,Array.from(r.attributes).forEach((function(e){return n.setAttribute(e.name,e.value)})),n.appendChild(document.createTextNode(r.innerHTML)),I(r.parentNode).replaceChild(n,r),!n.src){e.next=11;break}return e.next=9,new Promise((function(e){return n.addEventListener("load",e)}));case 9:if(!t){e.next=11;break}return e.abrupt("return",{v:void 0});case 11:case"end":return e.stop()}}),e)})),o=0,a=Array.from(I(l.current).querySelectorAll("script"));case 2:if(!(o<a.length)){e.next=10;break}return e.delegateYield(r(),"t0",4);case 4:if(!(n=e.t0)){e.next=7;break}return e.abrupt("return",n.v);case 7:o++,e.next=2;break;case 10:return e.abrupt("return",(function(){t=!0}));case 11:case"end":return e.stop()}}),e)})),function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){c(a,n,o,i,s,"next",e)}function s(e){c(a,n,o,i,s,"throw",e)}i(void 0)}))})()}}),[p,a,s,u]);var h=s&&u?"":u||!p?a:function(e,t){return"<script>\n var "+M(e)+" = 1;\n <\/script>\n "+t}(p,a);return n.createElement("div",{ref:l,className:t,dangerouslySetInnerHTML:{__html:h},style:{whiteSpace:"normal"}})}function M(e){return"__plasmic_"+e.replace(/[^a-z0-9]/gi,"")}var H={name:"hostless-embed",displayName:"Embed HTML",importName:"Embed",importPath:"@plasmicpkgs/plasmic-basic-components",props:{code:{type:"code",lang:"html",defaultValue:"<div>Paste your embed code via the right sidebar</div>",description:"The HTML code to be embedded"},hideInEditor:{type:"boolean",displayName:"Hide in editor",description:"Disable running the code while editing in Plasmic Studio (may require reload)",editOnly:!0}},defaultStyles:{maxWidth:"100%"}};function O(e){var t=e.preview,a=e.src,i=e.srcDoc,s=e.sandbox,l=e.useHtml,c=e.className,u=e.onLoad;return r.useContext(o.PlasmicCanvasContext)&&!t?n.createElement("div",{className:c},n.createElement("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,background:"#eee",color:"#888",fontSize:"36px",fontFamily:"sans-serif",fontWeight:"bold",display:"flex",alignItems:"center",justifyContent:"center",overflow:"hidden"}},"Iframe placeholder")):n.createElement("iframe",Object.assign({},l?{srcDoc:i}:{src:a},{sandbox:s,className:c,onLoad:u}))}var V={name:"hostless-iframe",displayName:"Iframe",importName:"Iframe",importPath:"@plasmicpkgs/plasmic-basic-components",props:{useHtml:{type:"boolean",displayName:"Use HTML source",description:"Insert custom HTML directly into the iframe instead of using a URL.",defaultValue:!1,advanced:!0},sandbox:{type:"string",displayName:"Sandbox",description:"Controls the restrictions applied to the content embedded in the iframe."},srcDoc:{type:"code",lang:"html",displayName:"HTML source",description:"Raw HTML content that will be rendered inside an iframe.",defaultValue:"<div><h3>Heading</h3><p>Example text...</p></div>",hidden:function(e){return!e.useHtml}},src:{type:"string",defaultValue:"https://www.example.com",hidden:function(e){return!!e.useHtml}},preview:{type:"boolean",description:"Load the iframe while editing in Plasmic Studio"},onLoad:{type:"eventHandler",argTypes:[{name:"event",type:"object"}]}},defaultStyles:{width:"300px",height:"150px",maxWidth:"100%"}},j=+n.version.split(".")[0];j<18&&console.warn("The LoadingBoundary component only works with React 18+");var _=!1;function A(e){var t,i,s,l,c=e.children,u=e.forceLoading,p=e.loadingState,d=(s=(i=r.useState(!1))[0],l=i[1],R((function(){l(!0)}),[]),s),m=!(null==(t=o.useDataEnv())||!t.plasmicInternalEnableLoadingBoundary);return(d||null!=a.isPlasmicPrepass&&a.isPlasmicPrepass())&&!u?j<18?n.createElement(n.Fragment,null,null!=c?c:null):m?n.createElement(r.Suspense,{fallback:n.createElement(n.Fragment,null,null!=p?p:null)},n.createElement(o.DataProvider,{hidden:!0,name:"plasmicInternalHasLoadingBoundary",data:!0},null!=c?c:null)):(_||(_=!0,console.warn("LoadingBoundary feature is not enabled. To use the LoadingBoundary component make sure to upgrade your @plasmicapp/* dependencies to the latest version and to wrap you App inside <PlasmicRootProvider />")),n.createElement(n.Fragment,null,null!=c?c:null)):n.createElement(n.Fragment,null,null!=p?p:null)}var F={name:"hostless-loading-boundary",displayName:"Loading Boundary",importName:"LoadingBoundary",importPath:"@plasmicpkgs/plasmic-basic-components",props:{children:"slot",loadingState:{type:"slot",displayName:"Loading state",defaultValue:{type:"text",value:"Loading..."}},forceLoading:{type:"boolean",editOnly:!0,displayName:"Preview loading",description:"Force preview the 'Loading' state - impacts only editor, and not published page behavior"}},providesData:!0,styleSections:!1,description:"Handle the loading state of queries and integrations"};function U(e){var t=e.children,r=e.items,a=e.itemName,i=e.indexName;if(!Array.isArray(r))throw new Error("Repeater received an invalid collection: not an array.");return n.createElement(n.Fragment,null,r.map((function(e,r){return n.createElement(o.DataProvider,{key:r.toString(),name:a||"currentItem",data:e},n.createElement(o.DataProvider,{name:i||"currentIndex",data:r},o.repeatedElement(r,t)))})))}var W={name:"plasmic-repeater",displayName:"Repeater",importName:"Repeater",importPath:"@plasmicpkgs/plasmic-basic-components",providesData:!0,props:{children:{type:"slot",isRepeated:!0},items:{type:"array",defaultValue:[1,2,3],displayName:"Collection",description:"Items array (JavaScript expression)."},itemName:{type:"string",defaultValue:"currentItem",defaultValueHint:"currentItem",displayName:"Item",description:"Data context key for the current item."},indexName:{type:"string",defaultValue:"currentIndex",defaultValueHint:"currentIndex",displayName:"Index",description:"Data context key for the index of the current item."}}};function G(e){var t=e.ref,n=e.scrollDownThreshold,o=void 0===n?.5:n,a=e.scrollUpThreshold,i=void 0===a?0:a,s=r.useState(!1),l=s[0],c=s[1];return r.useEffect((function(){if(t.current&&"function"==typeof IntersectionObserver){var e=new IntersectionObserver((function(e){e[0].intersectionRatio>=o?c(!0):e[0].intersectionRatio<=i&&c(!1)}),{root:null,rootMargin:"0%",threshold:[i,o]});return e.observe(t.current),function(){c(!1),e.disconnect()}}return function(){}}),[t.current,o,i]),l}function q(e){var t=e.children,o=e.className,a=e.scrollDownThreshold,i=void 0===a?.5:a,s=e.scrollUpThreshold,l=void 0===s?0:s,c=r.useRef(null),u=G({ref:c,scrollUpThreshold:l,scrollDownThreshold:i});return n.createElement("div",{className:o,ref:c},u?t:null)}var B={name:"hostless-scroll-revealer",importName:"ScrollRevealer",displayName:"Scroll Revealer",importPath:"@plasmicpkgs/plasmic-basic-components",props:{children:"slot",scrollDownThreshold:{type:"number",displayName:"Scroll down threshold",defaultValueHint:.5,description:"How much of the element (as a fraction) must you scroll into view for it to appear (defaults to 0.5)"},scrollUpThreshold:{type:"number",displayName:"Scroll up threshold",defaultValueHint:0,description:"While scrolling up, how much of the element (as a fraction) can still be scrolled in view before it disappears (defaults to 0, meaning you must scroll up until it's completely out of view)"}},defaultStyles:{width:"stretch",maxWidth:"100%"}};function Y(e){var t=e.deps,r=e.onMount,o=e.onUnmount;return n.useEffect((function(){return null==r||r(),function(){null==o||o()}}),null!=t?t:[]),null}var z={name:"hostless-side-effect",displayName:"Side Effect",description:"Run actions on load, unload, and when data changes.",importName:"SideEffect",importPath:"@plasmicpkgs/plasmic-basic-components",props:{onMount:{type:"eventHandler",displayName:"On load",description:"Actions to run when this Side Effect component is mounted.",argTypes:[]},onUnmount:{type:"eventHandler",displayName:"On unload",description:"Actions to run when this Side Effect component is unmounted.",argTypes:[]},deps:{type:"array",displayName:"When data changes",description:"List of values which should trigger a re-run of the actions if changed."}}};function J(e,t){var n=r.useRef(e);R((function(){n.current=e}),[e]),r.useEffect((function(){if(t||0===t){var e=setInterval((function(){return n.current()}),t);return function(){return clearInterval(e)}}}),[t])}function K(e){var t=e.intervalSeconds,n=void 0===t?1:t,o=e.isRunning,a=void 0!==o&&o,i=e.onTick,s=void 0===i?function(){}:i,l=e.runWhileEditing,c=e["data-plasmic-canvas-envs"],u=r.useMemo((function(){return void 0!==c}),[c]);return J(s,!a||u&&!l?null:1e3*n),null}var Q={name:"hostless-timer",displayName:"Timer",description:"Run something periodically",importName:"Timer",importPath:"@plasmicpkgs/plasmic-basic-components",props:{onTick:{type:"eventHandler",displayName:"Run this every interval",description:"Actions to run periodically",argTypes:[]},isRunning:{type:"boolean",displayName:"Is Running?",defaultValue:!0},runWhileEditing:{type:"boolean",displayName:"Run while editing",description:"Normally this only runs in the live site or in preview mode, but you can force it to run even while you are editing in the canvas (Please enable interactive mode to observe state changes)",defaultValue:!1},intervalSeconds:{type:"number",displayName:"Interval (seconds)",description:"Interval in seconds"}}},X=n.forwardRef((function(e,t){var o=r.useRef(null);return r.useImperativeHandle(t,(function(){return{play:function(){var e;null==(e=o.current)||e.play()},pause:function(){var e;null==(e=o.current)||e.pause()}}}),[]),n.createElement("video",Object.assign({ref:o},e))})),Z={name:"hostless-html-video",importName:"Video",displayName:"HTML Video",importPath:"@plasmicpkgs/plasmic-basic-components",props:{src:{type:"string",defaultValue:"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm",displayName:"Source URL",description:"URL to a video file."},autoPlay:{type:"boolean",displayName:"Auto Play",description:"Whether the video show automatically start playing when the player loads. Chrome and other browsers require 'muted' to also be set for 'autoplay' to work.",helpText:"Requires 'Muted' to also be set for 'Auto Play' to work."},controls:{type:"boolean",displayName:"Show Controls",description:"Whether the video player controls should be displayed",defaultValue:!0},playsInline:{type:"boolean",displayName:"Plays inline",description:"Usually on mobile, when tilted landscape, videos can play fullscreen. Turn this on to prevent that."},loop:{type:"boolean",displayName:"Loop",description:"Whether the video should be played again after it finishes"},muted:{type:"boolean",displayName:"Muted",description:"Whether audio should be muted"},poster:{type:"imageUrl",displayName:"Poster (placeholder) image",description:"Image to show while video is downloading"},preload:{type:"choice",options:["none","metadata","auto"],displayName:"Preload",description:"Whether to preload nothing, metadata only, or the full video"}},defaultStyles:{height:"hug",width:"640px",maxWidth:"100%"},refActions:{play:{description:"Play the video",argTypes:[]},pause:{description:"Pause the video",argTypes:[]}}};exports.ConditionGuard=s,exports.DataProvider=function(){return o.DataProvider.apply(void 0,arguments)},exports.DynamicElement=v,exports.DynamicImage=b,exports.DynamicRepeater=x,exports.DynamicText=g,exports.Embed=C,exports.Iframe=O,exports.LoadingBoundary=A,exports.Repeater=U,exports.ScrollRevealer=q,exports.SideEffect=Y,exports.Timer=K,exports.Video=X,exports.applySelector=function(){return console.warn("DEPRECATED: Import applySelector from @plasmicapp/host instead."),o.applySelector.apply(void 0,arguments)},exports.conditionGuardMeta=l,exports.dataProviderMeta=N,exports.dynamicElementMeta=T,exports.dynamicImageMeta=D,exports.dynamicRepeaterMeta=E,exports.dynamicRepeaterProps=w,exports.dynamicTextMeta=L,exports.embedMeta=H,exports.iframeMeta=V,exports.loadingBoundaryMeta=F,exports.registerConditionGuard=function(e,r){e?e.registerComponent(s,null!=r?r:l):t(s,null!=r?r:l)},exports.registerDataProvider=function(e,r){e?e.registerComponent(o.DataProvider,null!=r?r:N):t(o.DataProvider,null!=r?r:N)},exports.registerDynamicElement=function(e,r){e?e.registerComponent(v,null!=r?r:T):t(v,null!=r?r:T)},exports.registerDynamicImage=function(e,r){e?e.registerComponent(b,null!=r?r:D):t(b,null!=r?r:D)},exports.registerDynamicRepeater=function(e,r){e?e.registerComponent(x,null!=r?r:E):t(x,null!=r?r:E)},exports.registerDynamicText=function(e,r){e?e.registerComponent(g,null!=r?r:L):t(g,null!=r?r:L)},exports.registerEmbed=function(e,r){e?e.registerComponent(C,null!=r?r:H):t(C,null!=r?r:H)},exports.registerIframe=function(e,r){e?e.registerComponent(O,null!=r?r:V):t(O,null!=r?r:V)},exports.registerLoadingBoundary=function(e,r){e?e.registerComponent(A,null!=r?r:F):t(A,null!=r?r:F)},exports.registerRepeater=function(e,t){e?e.registerComponent(U,null!=t?t:W):o.registerComponent(U,null!=t?t:W)},exports.registerScrollRevealer=function(e,r){e?e.registerComponent(q,null!=r?r:B):t(q,null!=r?r:B)},exports.registerSideEffect=function(e,r){e?e.registerComponent(Y,null!=r?r:z):t(Y,null!=r?r:z)},exports.registerTimer=function(e,r){e?e.registerComponent(K,null!=r?r:Q):t(K,null!=r?r:Q)},exports.registerVideo=function(e,r){e?e.registerComponent(X,null!=r?r:Z):t(X,null!=r?r:Z)},exports.repeaterMeta=W,exports.scrollRevealerMeta=B,exports.sideEffectMeta=z,exports.timerMeta=Q,exports.useDataEnv=function(){return console.warn("DEPRECATED: Import useDataEnv from @plasmicapp/host instead."),o.useDataEnv.apply(void 0,arguments)},exports.useDirectionalIntersection=G,exports.useInterval=J,exports.useSelector=function(){return console.warn("DEPRECATED: Import useSelector from @plasmicapp/host instead."),o.useSelector.apply(void 0,arguments)},exports.useSelectors=function(){return console.warn("DEPRECATED: Import useSelectors from @plasmicapp/host instead."),o.useSelectors.apply(void 0,arguments)},exports.videoMeta=Z;
2
2
  //# sourceMappingURL=plasmic-basic-components.cjs.production.min.js.map