@plasmicpkgs/plasmic-yotpo 0.0.77 → 0.0.79

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.
@@ -509,9 +509,9 @@ function YotpoReviews(_ref2) {
509
509
  if (!productPrice || !currency) {
510
510
  return React__default.createElement("div", null, " Please enter Product price and Currency");
511
511
  }
512
- var review = Object.values(reviewsData).flatMap(function (item, i) {
513
- return (isArray(item) ? item : [item]).filter(function (review) {
514
- return review.id === reviewId;
512
+ var review = Object.values(reviewsData).flatMap(function (item) {
513
+ return (isArray(item) ? item : [item]).filter(function (r) {
514
+ return r.id === reviewId;
515
515
  });
516
516
  });
517
517
  var renderedData = reviewData == null ? void 0 : reviewData.response.review.products.map(function (item) {
@@ -646,9 +646,9 @@ function YotpoStarRating(_ref5) {
646
646
  if (!review) {
647
647
  return React__default.createElement("div", null, "Please configure the Yotpo Credentials provider with valid AppKey.");
648
648
  }
649
- var product = Object.values(reviews).flatMap(function (item, i) {
650
- return (isArray(item) ? item : [item]).filter(function (review) {
651
- return review.id === productId;
649
+ var product = Object.values(reviews).flatMap(function (item) {
650
+ return (isArray(item) ? item : [item]).filter(function (r) {
651
+ return r.id === productId;
652
652
  });
653
653
  });
654
654
  var renderedData = review == null ? void 0 : review.response.review.products.map(function (item) {
@@ -1 +1 @@
1
- {"version":3,"file":"plasmic-yotpo.cjs.development.js","sources":["../src/yotpo.tsx","../src/index.tsx"],"sourcesContent":["import { ComponentMeta, GlobalContextMeta } from \"@plasmicapp/host\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport isArray from \"lodash/isArray\";\nimport React, { useContext } from \"react\";\n\nimport { Image, ProductElement, ReviewResponse } from \"./types\";\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\nconst modulePath = \"@plasmicpkgs/plasmic-yotpo\";\n\ninterface YotpoProps {\n appKey: string;\n uToken: string;\n}\n\nconst CredentialsContext = React.createContext<YotpoProps | undefined>(\n undefined\n);\n\nexport const YotpoCredentialsProviderMeta: GlobalContextMeta<YotpoProps> = {\n name: \"Yotpo\",\n displayName: \"Yotpo Credentials Provider\",\n description:\n \"Your app key is sometimes referred to as your Store ID.[get your App Key](https://support.yotpo.com/en/article/finding-your-yotpo-app-key-and-secret-key).\",\n importName: \"Yotpo\",\n importPath: modulePath,\n props: {\n appKey: {\n type: \"string\",\n displayName: \"App Key\",\n description: \"App Key of your Yotpo Store \",\n },\n uToken: {\n type: \"string\",\n displayName: \"UToken\",\n description:\n \"Utoken is required in non-public API calls to ensure private account data is accessible only by authorized users.\",\n },\n },\n};\n\nexport function YotpoCredentialsProvider({\n appKey,\n uToken,\n children,\n}: React.PropsWithChildren<YotpoProps>) {\n return (\n <CredentialsContext.Provider value={{ appKey, uToken }}>\n {children}\n </CredentialsContext.Provider>\n );\n}\n\ninterface YotpoReviewsProps {\n reviewId?: string;\n productPrice?: string;\n currency?: string;\n setControlContextData?: (data: {\n reviews?: { name: string; id: number }[];\n }) => void;\n className?: string;\n}\n\nexport const YotpoReviewsMeta: ComponentMeta<YotpoReviewsProps> = {\n name: \"hostless-yotpo-star-reviews\",\n displayName: \"Yotpo Reviews\",\n importName: \"YotpoReviews\",\n importPath: modulePath,\n providesData: true,\n description: \"Yotpo Reviews for your product pages \",\n defaultStyles: {\n width: \"400px\",\n height: \"600px\",\n },\n props: {\n reviewId: {\n type: \"choice\",\n options: (props, ctx) =>\n ctx?.reviews?.map((item: any) => ({\n label: item?.name,\n value: item?.id,\n })) ?? [],\n displayName: \"Review\",\n description: \"Review Widget which to be displayed\",\n },\n productPrice: {\n type: \"string\",\n displayName: \"Price\",\n description: \"Price of the Product\",\n },\n currency: {\n type: \"string\",\n displayName: \"Currency\",\n description: \"Currency\",\n },\n },\n};\n\nexport function YotpoReviews({\n reviewId,\n setControlContextData,\n productPrice,\n currency,\n className,\n}: YotpoReviewsProps) {\n const creds = ensure(useContext(CredentialsContext));\n const cacheKey = JSON.stringify({\n creds,\n reviewId,\n });\n React.useEffect(() => {\n const script = document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.async = true;\n script.innerHTML = `(function e(){var e=document.createElement(\"script\");e.type=\"text/javascript\",e.async=true,e.src=\"//staticw2.yotpo.com/${creds.appKey}/widget.js\";var t=document.getElementsByTagName(\"script\")[0];t.parentNode.insertBefore(e,t)})();`;\n document.body.appendChild(script);\n\n return () => {\n document.body.removeChild(script);\n };\n }, [creds]);\n\n const { data: reviewsData } = usePlasmicQueryData<any | null>(\n `${cacheKey}/reviews`,\n async () => {\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/v1/apps/${creds.appKey}/reviews?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n\n const { data: reviewData } = usePlasmicQueryData<ReviewResponse | null>(\n `${cacheKey}/review`,\n async () => {\n if (!reviewId) {\n return undefined;\n }\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/reviews/${reviewId}?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n\n if (!reviewsData) {\n return (\n <div>\n Please configure the Yotpo Credentials provider with valid AppKey.\n </div>\n );\n }\n const data = Object.values(reviewsData).map((item: any) => item);\n\n setControlContextData?.({\n reviews: data[0] || [],\n });\n\n if (!creds.uToken || !creds.appKey) {\n return <div>Please specify a valid API Credentials: uToken,appKey</div>;\n }\n\n if (!reviewData) {\n return <div>Please choose the reviewId</div>;\n }\n\n if (!productPrice || !currency) {\n return <div> Please enter Product price and Currency</div>;\n }\n\n const review = Object.values(reviewsData).flatMap((item: any, i: number) =>\n (isArray(item) ? item : [item]).filter(\n (review: any) => review.id === reviewId\n )\n );\n\n const renderedData = reviewData?.response.review.products.map(\n (item: ProductElement) => {\n const imageUrl = item?.Product.images.map((image: Image) => {\n return image.image_url;\n });\n return (\n <div\n key={item.Product.id}\n className=\"yotpo yotpo-main-widget\"\n data-product-id={review[0]?.sku}\n data-price={productPrice}\n data-currency={currency}\n data-name={item?.Product.name}\n data-url={item?.Product.shorten_url}\n data-image-url={imageUrl}\n ></div>\n );\n }\n );\n return <div className={className}>{renderedData}</div>;\n}\n\ninterface YotpoStarRatingProps {\n productId: string;\n className?: string;\n setControlContextData?: (data: {\n reviews?: { name: string; id: number }[];\n }) => void;\n}\n\nexport const YotpoStarRatingMeta: ComponentMeta<YotpoStarRatingProps> = {\n name: \"hostless-yotpo-star-rating\",\n displayName: \"Yotpo Star Rating\",\n importName: \"YotpoStarRating\",\n importPath: modulePath,\n providesData: true,\n description: \"Yotpo Star Rating for your product pages \",\n props: {\n productId: {\n type: \"choice\",\n options: (props, ctx) =>\n ctx?.reviews?.map((item: any) => ({\n label: item?.name,\n value: item?.id,\n })) ?? [],\n displayName: \"Product\",\n description: \"Product which you want to show rating\",\n },\n },\n};\n\nexport function YotpoStarRating({\n productId,\n className,\n setControlContextData,\n}: YotpoStarRatingProps) {\n const creds = ensure(useContext(CredentialsContext));\n const cacheKey = JSON.stringify({\n creds,\n productId,\n });\n React.useEffect(() => {\n const script = document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.async = true;\n script.innerHTML = `(function e(){var e=document.createElement(\"script\");e.type=\"text/javascript\",e.async=true,e.src=\"//staticw2.yotpo.com/${creds.appKey}/widget.js\";var t=document.getElementsByTagName(\"script\")[0];t.parentNode.insertBefore(e,t)})();`;\n document.body.appendChild(script);\n\n return () => {\n document.body.removeChild(script);\n };\n }, [creds]);\n\n const { data: reviews } = usePlasmicQueryData<any | null>(\n `${cacheKey}/starReviews`,\n async () => {\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/v1/apps/${creds.appKey}/reviews?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n const { data: review } = usePlasmicQueryData<ReviewResponse | null>(\n `${cacheKey}/starReview`,\n async () => {\n if (!productId) {\n return undefined;\n }\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/reviews/${productId}?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n\n if (!creds.uToken || !creds.appKey) {\n return <div>Please specify a valid API Credentials: uToken,appKey</div>;\n }\n\n if (!reviews) {\n return (\n <div>\n Please configure the Yotpo Credentials provider with valid AppKey.\n </div>\n );\n }\n\n const data = Object.values(reviews).map((item: any) => item);\n\n setControlContextData?.({\n reviews: data[0] || [],\n });\n\n if (!review) {\n return (\n <div>\n Please configure the Yotpo Credentials provider with valid AppKey.\n </div>\n );\n }\n const product = Object.values(reviews).flatMap((item: any, i: number) =>\n (isArray(item) ? item : [item]).filter(\n (review: any) => review.id === productId\n )\n );\n\n const renderedData = review?.response.review.products.map(\n (item: ProductElement) => (\n <div\n className=\"yotpo bottomLine\"\n data-product-id={product[0]?.sku}\n data-url={item.Product.product_url}\n />\n )\n );\n\n return <div className={className}>{renderedData}</div>;\n}\n","import React from 'react'\nimport registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport {\n YotpoCredentialsProvider,\n YotpoCredentialsProviderMeta,\n YotpoReviewsMeta,\n YotpoReviews,\n YotpoStarRating,\n YotpoStarRatingMeta\n} from \"./yotpo\";\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n const _registerComponent = <T extends React.ComponentType<any>>(\n Component: T,\n defaultMeta: ComponentMeta<React.ComponentProps<T>>\n ) => {\n if (loader) {\n loader.registerComponent(Component, defaultMeta);\n } else {\n registerComponent(Component, defaultMeta);\n }\n };\n\n if (loader) {\n loader.registerGlobalContext(\n YotpoCredentialsProvider,\n YotpoCredentialsProviderMeta\n );\n } else {\n registerGlobalContext(\n YotpoCredentialsProvider,\n YotpoCredentialsProviderMeta\n );\n }\n\n _registerComponent(YotpoReviews, YotpoReviewsMeta);\n _registerComponent(YotpoStarRating, YotpoStarRatingMeta);\n\n}\n\nexport * from \"./yotpo\";\n"],"names":["ensure","x","undefined","Error","modulePath","CredentialsContext","React","createContext","YotpoCredentialsProviderMeta","name","displayName","description","importName","importPath","props","appKey","type","uToken","YotpoCredentialsProvider","_ref","children","Provider","value","YotpoReviewsMeta","providesData","defaultStyles","width","height","reviewId","options","ctx","_ctx$reviews$map","_ctx$reviews","reviews","map","item","label","id","productPrice","currency","YotpoReviews","_ref2","setControlContextData","className","creds","useContext","cacheKey","JSON","stringify","useEffect","script","document","createElement","async","innerHTML","body","appendChild","removeChild","_usePlasmicQueryData","usePlasmicQueryData","_asyncToGenerator","_regeneratorRuntime","mark","_callee","res","wrap","_callee$","_context","prev","next","method","headers","accept","fetch","sent","abrupt","json","stop","reviewsData","data","_usePlasmicQueryData2","_callee2","_callee2$","_context2","reviewData","Object","values","review","flatMap","i","isArray","filter","renderedData","response","products","imageUrl","Product","images","image","image_url","key","_review$","sku","shorten_url","YotpoStarRatingMeta","productId","_ctx$reviews$map2","_ctx$reviews2","YotpoStarRating","_ref5","_usePlasmicQueryData3","_callee3","_callee3$","_context3","_usePlasmicQueryData4","_callee4","_callee4$","_context4","product","_product$","product_url","registerAll","loader","_registerComponent","Component","defaultMeta","registerComponent","registerGlobalContext"],"mappings":"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"}
1
+ {"version":3,"file":"plasmic-yotpo.cjs.development.js","sources":["../src/yotpo.tsx","../src/index.tsx"],"sourcesContent":["import { CodeComponentMeta } from \"@plasmicapp/host/registerComponent\";\nimport { GlobalContextMeta } from \"@plasmicapp/host/registerGlobalContext\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport isArray from \"lodash/isArray\";\nimport React, { useContext } from \"react\";\n\nimport { Image, ProductElement, ReviewResponse } from \"./types\";\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\nconst modulePath = \"@plasmicpkgs/plasmic-yotpo\";\n\ninterface YotpoProps {\n appKey: string;\n uToken: string;\n}\n\nconst CredentialsContext = React.createContext<YotpoProps | undefined>(\n undefined\n);\n\nexport const YotpoCredentialsProviderMeta: GlobalContextMeta<YotpoProps> = {\n name: \"Yotpo\",\n displayName: \"Yotpo Credentials Provider\",\n description:\n \"Your app key is sometimes referred to as your Store ID.[get your App Key](https://support.yotpo.com/en/article/finding-your-yotpo-app-key-and-secret-key).\",\n importName: \"Yotpo\",\n importPath: modulePath,\n props: {\n appKey: {\n type: \"string\",\n displayName: \"App Key\",\n description: \"App Key of your Yotpo Store \",\n },\n uToken: {\n type: \"string\",\n displayName: \"UToken\",\n description:\n \"Utoken is required in non-public API calls to ensure private account data is accessible only by authorized users.\",\n },\n },\n};\n\nexport function YotpoCredentialsProvider({\n appKey,\n uToken,\n children,\n}: React.PropsWithChildren<YotpoProps>) {\n return (\n <CredentialsContext.Provider value={{ appKey, uToken }}>\n {children}\n </CredentialsContext.Provider>\n );\n}\n\ninterface YotpoReviewsProps {\n reviewId?: string;\n productPrice?: string;\n currency?: string;\n setControlContextData?: (data: {\n reviews?: { name: string; id: number }[];\n }) => void;\n className?: string;\n}\n\nexport const YotpoReviewsMeta: CodeComponentMeta<YotpoReviewsProps> = {\n name: \"hostless-yotpo-star-reviews\",\n displayName: \"Yotpo Reviews\",\n importName: \"YotpoReviews\",\n importPath: modulePath,\n providesData: true,\n description: \"Yotpo Reviews for your product pages \",\n defaultStyles: {\n width: \"400px\",\n height: \"600px\",\n },\n props: {\n reviewId: {\n type: \"choice\",\n options: (props, ctx) =>\n ctx?.reviews?.map((item: any) => ({\n label: item?.name,\n value: item?.id,\n })) ?? [],\n displayName: \"Review\",\n description: \"Review Widget which to be displayed\",\n },\n productPrice: {\n type: \"string\",\n displayName: \"Price\",\n description: \"Price of the Product\",\n },\n currency: {\n type: \"string\",\n displayName: \"Currency\",\n description: \"Currency\",\n },\n },\n};\n\nexport function YotpoReviews({\n reviewId,\n setControlContextData,\n productPrice,\n currency,\n className,\n}: YotpoReviewsProps) {\n const creds = ensure(useContext(CredentialsContext));\n const cacheKey = JSON.stringify({\n creds,\n reviewId,\n });\n React.useEffect(() => {\n const script = document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.async = true;\n script.innerHTML = `(function e(){var e=document.createElement(\"script\");e.type=\"text/javascript\",e.async=true,e.src=\"//staticw2.yotpo.com/${creds.appKey}/widget.js\";var t=document.getElementsByTagName(\"script\")[0];t.parentNode.insertBefore(e,t)})();`;\n document.body.appendChild(script);\n\n return () => {\n document.body.removeChild(script);\n };\n }, [creds]);\n\n const { data: reviewsData } = usePlasmicQueryData<any | null>(\n `${cacheKey}/reviews`,\n async () => {\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/v1/apps/${creds.appKey}/reviews?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n\n const { data: reviewData } = usePlasmicQueryData<ReviewResponse | null>(\n `${cacheKey}/review`,\n async () => {\n if (!reviewId) {\n return undefined;\n }\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/reviews/${reviewId}?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n\n if (!reviewsData) {\n return (\n <div>\n Please configure the Yotpo Credentials provider with valid AppKey.\n </div>\n );\n }\n const data = Object.values(reviewsData).map((item: any) => item);\n\n setControlContextData?.({\n reviews: data[0] || [],\n });\n\n if (!creds.uToken || !creds.appKey) {\n return <div>Please specify a valid API Credentials: uToken,appKey</div>;\n }\n\n if (!reviewData) {\n return <div>Please choose the reviewId</div>;\n }\n\n if (!productPrice || !currency) {\n return <div> Please enter Product price and Currency</div>;\n }\n\n const review = Object.values(reviewsData).flatMap((item: any) =>\n (isArray(item) ? item : [item]).filter((r: any) => r.id === reviewId)\n );\n\n const renderedData = reviewData?.response.review.products.map(\n (item: ProductElement) => {\n const imageUrl = item?.Product.images.map((image: Image) => {\n return image.image_url;\n });\n return (\n <div\n key={item.Product.id}\n className=\"yotpo yotpo-main-widget\"\n data-product-id={review[0]?.sku}\n data-price={productPrice}\n data-currency={currency}\n data-name={item?.Product.name}\n data-url={item?.Product.shorten_url}\n data-image-url={imageUrl}\n ></div>\n );\n }\n );\n return <div className={className}>{renderedData}</div>;\n}\n\ninterface YotpoStarRatingProps {\n productId: string;\n className?: string;\n setControlContextData?: (data: {\n reviews?: { name: string; id: number }[];\n }) => void;\n}\n\nexport const YotpoStarRatingMeta: CodeComponentMeta<YotpoStarRatingProps> = {\n name: \"hostless-yotpo-star-rating\",\n displayName: \"Yotpo Star Rating\",\n importName: \"YotpoStarRating\",\n importPath: modulePath,\n providesData: true,\n description: \"Yotpo Star Rating for your product pages \",\n props: {\n productId: {\n type: \"choice\",\n options: (props, ctx) =>\n ctx?.reviews?.map((item: any) => ({\n label: item?.name,\n value: item?.id,\n })) ?? [],\n displayName: \"Product\",\n description: \"Product which you want to show rating\",\n },\n },\n};\n\nexport function YotpoStarRating({\n productId,\n className,\n setControlContextData,\n}: YotpoStarRatingProps) {\n const creds = ensure(useContext(CredentialsContext));\n const cacheKey = JSON.stringify({\n creds,\n productId,\n });\n React.useEffect(() => {\n const script = document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.async = true;\n script.innerHTML = `(function e(){var e=document.createElement(\"script\");e.type=\"text/javascript\",e.async=true,e.src=\"//staticw2.yotpo.com/${creds.appKey}/widget.js\";var t=document.getElementsByTagName(\"script\")[0];t.parentNode.insertBefore(e,t)})();`;\n document.body.appendChild(script);\n\n return () => {\n document.body.removeChild(script);\n };\n }, [creds]);\n\n const { data: reviews } = usePlasmicQueryData<any | null>(\n `${cacheKey}/starReviews`,\n async () => {\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/v1/apps/${creds.appKey}/reviews?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n const { data: review } = usePlasmicQueryData<ReviewResponse | null>(\n `${cacheKey}/starReview`,\n async () => {\n if (!productId) {\n return undefined;\n }\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/reviews/${productId}?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n\n if (!creds.uToken || !creds.appKey) {\n return <div>Please specify a valid API Credentials: uToken,appKey</div>;\n }\n\n if (!reviews) {\n return (\n <div>\n Please configure the Yotpo Credentials provider with valid AppKey.\n </div>\n );\n }\n\n const data = Object.values(reviews).map((item: any) => item);\n\n setControlContextData?.({\n reviews: data[0] || [],\n });\n\n if (!review) {\n return (\n <div>\n Please configure the Yotpo Credentials provider with valid AppKey.\n </div>\n );\n }\n const product = Object.values(reviews).flatMap((item: any) =>\n (isArray(item) ? item : [item]).filter((r: any) => r.id === productId)\n );\n\n const renderedData = review?.response.review.products.map(\n (item: ProductElement) => (\n <div\n className=\"yotpo bottomLine\"\n data-product-id={product[0]?.sku}\n data-url={item.Product.product_url}\n />\n )\n );\n\n return <div className={className}>{renderedData}</div>;\n}\n","import registerComponent, {\n CodeComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport React from \"react\";\nimport {\n YotpoCredentialsProvider,\n YotpoCredentialsProviderMeta,\n YotpoReviews,\n YotpoReviewsMeta,\n YotpoStarRating,\n YotpoStarRatingMeta,\n} from \"./yotpo\";\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n const _registerComponent = <T extends React.ComponentType<any>>(\n Component: T,\n defaultMeta: CodeComponentMeta<React.ComponentProps<T>>\n ) => {\n if (loader) {\n loader.registerComponent(Component, defaultMeta);\n } else {\n registerComponent(Component, defaultMeta);\n }\n };\n\n if (loader) {\n loader.registerGlobalContext(\n YotpoCredentialsProvider,\n YotpoCredentialsProviderMeta\n );\n } else {\n registerGlobalContext(\n YotpoCredentialsProvider,\n YotpoCredentialsProviderMeta\n );\n }\n\n _registerComponent(YotpoReviews, YotpoReviewsMeta);\n _registerComponent(YotpoStarRating, YotpoStarRatingMeta);\n}\n\nexport * from \"./yotpo\";\n"],"names":["ensure","x","undefined","Error","modulePath","CredentialsContext","React","createContext","YotpoCredentialsProviderMeta","name","displayName","description","importName","importPath","props","appKey","type","uToken","YotpoCredentialsProvider","_ref","children","Provider","value","YotpoReviewsMeta","providesData","defaultStyles","width","height","reviewId","options","ctx","_ctx$reviews$map","_ctx$reviews","reviews","map","item","label","id","productPrice","currency","YotpoReviews","_ref2","setControlContextData","className","creds","useContext","cacheKey","JSON","stringify","useEffect","script","document","createElement","async","innerHTML","body","appendChild","removeChild","_usePlasmicQueryData","usePlasmicQueryData","_asyncToGenerator","_regeneratorRuntime","mark","_callee","res","wrap","_callee$","_context","prev","next","method","headers","accept","fetch","sent","abrupt","json","stop","reviewsData","data","_usePlasmicQueryData2","_callee2","_callee2$","_context2","reviewData","Object","values","review","flatMap","isArray","filter","r","renderedData","response","products","imageUrl","Product","images","image","image_url","key","_review$","sku","shorten_url","YotpoStarRatingMeta","productId","_ctx$reviews$map2","_ctx$reviews2","YotpoStarRating","_ref5","_usePlasmicQueryData3","_callee3","_callee3$","_context3","_usePlasmicQueryData4","_callee4","_callee4$","_context4","product","_product$","product_url","registerAll","loader","_registerComponent","Component","defaultMeta","registerComponent","registerGlobalContext"],"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=e(require("@plasmicapp/host/registerGlobalContext")),n=require("@plasmicapp/query"),o=e(require("lodash/isArray")),a=require("react"),i=e(a);function u(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function c(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){u(a,n,o,i,c,"next",e)}function c(e){u(a,n,o,i,c,"throw",e)}i(void 0)}))}}function s(){s=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",u=a.asyncIterator||"@@asyncIterator",c=a.toStringTag||"@@toStringTag";function p(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{p({},"")}catch(e){p=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=Object.create((t&&t.prototype instanceof m?t:m).prototype),i=new Y(n||[]);return o(a,"_invoke",{value:N(e,r,i)}),a}function d(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var f="suspendedStart",v="executing",h="completed",y={};function m(){}function g(){}function w(){}var x={};p(x,i,(function(){return this}));var b=Object.getPrototypeOf,E=b&&b(b(O([])));E&&E!==r&&n.call(E,i)&&(x=E);var P=w.prototype=m.prototype=Object.create(x);function k(e){["next","throw","return"].forEach((function(t){p(e,t,(function(e){return this._invoke(t,e)}))}))}function j(e,t){function r(o,a,i,u){var c=d(e[o],e,a);if("throw"!==c.type){var s=c.arg,p=s.value;return p&&"object"==typeof p&&n.call(p,"__await")?t.resolve(p.__await).then((function(e){r("next",e,i,u)}),(function(e){r("throw",e,i,u)})):t.resolve(p).then((function(e){s.value=e,i(s)}),(function(e){return r("throw",e,i,u)}))}u(c.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 N(t,r,n){var o=f;return function(a,i){if(o===v)throw Error("Generator is already running");if(o===h){if("throw"===a)throw i;return{value:e,done:!0}}for(n.method=a,n.arg=i;;){var u=n.delegate;if(u){var c=L(u,n);if(c){if(c===y)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===f)throw o=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=v;var s=d(t,r,n);if("normal"===s.type){if(o=n.done?h:"suspendedYield",s.arg===y)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=h,n.method="throw",n.arg=s.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=d(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 C(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 T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function Y(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(C,this),this.reset(!0)}function O(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=w,o(P,"constructor",{value:w,configurable:!0}),o(w,"constructor",{value:g,configurable:!0}),g.displayName=p(w,c,"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,w):(e.__proto__=w,p(e,c,"GeneratorFunction")),e.prototype=Object.create(P),e},t.awrap=function(e){return{__await:e}},k(j.prototype),p(j.prototype,u,(function(){return this})),t.AsyncIterator=j,t.async=function(e,r,n,o,a){void 0===a&&(a=Promise);var i=new j(l(e,r,n,o),a);return t.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},k(P),p(P,c,"Generator"),p(P,i,(function(){return this})),p(P,"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=O,Y.prototype={constructor:Y,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(T),!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 u.type="throw",u.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],u=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(c&&s){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!s)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),T(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;T(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:O(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),y}},t}function p(e){if(null==e)throw new Error("Value must not be undefined or null");return e}var l="@plasmicpkgs/plasmic-yotpo",d=i.createContext(void 0),f={name:"Yotpo",displayName:"Yotpo Credentials Provider",description:"Your app key is sometimes referred to as your Store ID.[get your App Key](https://support.yotpo.com/en/article/finding-your-yotpo-app-key-and-secret-key).",importName:"Yotpo",importPath:l,props:{appKey:{type:"string",displayName:"App Key",description:"App Key of your Yotpo Store "},uToken:{type:"string",displayName:"UToken",description:"Utoken is required in non-public API calls to ensure private account data is accessible only by authorized users."}}};function v(e){return i.createElement(d.Provider,{value:{appKey:e.appKey,uToken:e.uToken}},e.children)}var h={name:"hostless-yotpo-star-reviews",displayName:"Yotpo Reviews",importName:"YotpoReviews",importPath:l,providesData:!0,description:"Yotpo Reviews for your product pages ",defaultStyles:{width:"400px",height:"600px"},props:{reviewId:{type:"choice",options:function(e,t){var r,n;return null!=(r=null==t||null==(n=t.reviews)?void 0:n.map((function(e){return{label:null==e?void 0:e.name,value:null==e?void 0:e.id}})))?r:[]},displayName:"Review",description:"Review Widget which to be displayed"},productPrice:{type:"string",displayName:"Price",description:"Price of the Product"},currency:{type:"string",displayName:"Currency",description:"Currency"}}};function y(e){var t=e.reviewId,r=e.setControlContextData,u=e.productPrice,l=e.currency,f=e.className,v=p(a.useContext(d)),h=JSON.stringify({creds:v,reviewId:t});i.useEffect((function(){var e=document.createElement("script");return e.type="text/javascript",e.async=!0,e.innerHTML='(function e(){var e=document.createElement("script");e.type="text/javascript",e.async=true,e.src="//staticw2.yotpo.com/'+v.appKey+'/widget.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})();',document.body.appendChild(e),function(){document.body.removeChild(e)}}),[v]);var y=n.usePlasmicQueryData(h+"/reviews",c(s().mark((function e(){var t;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t={method:"GET",headers:{accept:"application/json","Content-Type":"application/json"}},e.next=3,fetch("https://api.yotpo.com/v1/apps/"+v.appKey+"/reviews?utoken="+v.uToken,t);case 3:return e.abrupt("return",e.sent.json());case 5:case"end":return e.stop()}}),e)})))).data,m=n.usePlasmicQueryData(h+"/review",c(s().mark((function e(){var r;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return",void 0);case 2:return r={method:"GET",headers:{accept:"application/json","Content-Type":"application/json"}},e.next=5,fetch("https://api.yotpo.com/reviews/"+t+"?utoken="+v.uToken,r);case 5:return e.abrupt("return",e.sent.json());case 7:case"end":return e.stop()}}),e)})))).data;if(!y)return i.createElement("div",null,"Please configure the Yotpo Credentials provider with valid AppKey.");var g=Object.values(y).map((function(e){return e}));if(null==r||r({reviews:g[0]||[]}),!v.uToken||!v.appKey)return i.createElement("div",null,"Please specify a valid API Credentials: uToken,appKey");if(!m)return i.createElement("div",null,"Please choose the reviewId");if(!u||!l)return i.createElement("div",null," Please enter Product price and Currency");var w=Object.values(y).flatMap((function(e,r){return(o(e)?e:[e]).filter((function(e){return e.id===t}))})),x=null==m?void 0:m.response.review.products.map((function(e){var t,r=null==e?void 0:e.Product.images.map((function(e){return e.image_url}));return i.createElement("div",{key:e.Product.id,className:"yotpo yotpo-main-widget","data-product-id":null==(t=w[0])?void 0:t.sku,"data-price":u,"data-currency":l,"data-name":null==e?void 0:e.Product.name,"data-url":null==e?void 0:e.Product.shorten_url,"data-image-url":r})}));return i.createElement("div",{className:f},x)}var m={name:"hostless-yotpo-star-rating",displayName:"Yotpo Star Rating",importName:"YotpoStarRating",importPath:l,providesData:!0,description:"Yotpo Star Rating for your product pages ",props:{productId:{type:"choice",options:function(e,t){var r,n;return null!=(r=null==t||null==(n=t.reviews)?void 0:n.map((function(e){return{label:null==e?void 0:e.name,value:null==e?void 0:e.id}})))?r:[]},displayName:"Product",description:"Product which you want to show rating"}}};function g(e){var t=e.productId,r=e.className,u=e.setControlContextData,l=p(a.useContext(d)),f=JSON.stringify({creds:l,productId:t});i.useEffect((function(){var e=document.createElement("script");return e.type="text/javascript",e.async=!0,e.innerHTML='(function e(){var e=document.createElement("script");e.type="text/javascript",e.async=true,e.src="//staticw2.yotpo.com/'+l.appKey+'/widget.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})();',document.body.appendChild(e),function(){document.body.removeChild(e)}}),[l]);var v=n.usePlasmicQueryData(f+"/starReviews",c(s().mark((function e(){var t;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t={method:"GET",headers:{accept:"application/json","Content-Type":"application/json"}},e.next=3,fetch("https://api.yotpo.com/v1/apps/"+l.appKey+"/reviews?utoken="+l.uToken,t);case 3:return e.abrupt("return",e.sent.json());case 5:case"end":return e.stop()}}),e)})))).data,h=n.usePlasmicQueryData(f+"/starReview",c(s().mark((function e(){var r;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return",void 0);case 2:return r={method:"GET",headers:{accept:"application/json","Content-Type":"application/json"}},e.next=5,fetch("https://api.yotpo.com/reviews/"+t+"?utoken="+l.uToken,r);case 5:return e.abrupt("return",e.sent.json());case 7:case"end":return e.stop()}}),e)})))).data;if(!l.uToken||!l.appKey)return i.createElement("div",null,"Please specify a valid API Credentials: uToken,appKey");if(!v)return i.createElement("div",null,"Please configure the Yotpo Credentials provider with valid AppKey.");var y=Object.values(v).map((function(e){return e}));if(null==u||u({reviews:y[0]||[]}),!h)return i.createElement("div",null,"Please configure the Yotpo Credentials provider with valid AppKey.");var m=Object.values(v).flatMap((function(e,r){return(o(e)?e:[e]).filter((function(e){return e.id===t}))})),g=null==h?void 0:h.response.review.products.map((function(e){var t;return i.createElement("div",{className:"yotpo bottomLine","data-product-id":null==(t=m[0])?void 0:t.sku,"data-url":e.Product.product_url})}));return i.createElement("div",{className:r},g)}exports.YotpoCredentialsProvider=v,exports.YotpoCredentialsProviderMeta=f,exports.YotpoReviews=y,exports.YotpoReviewsMeta=h,exports.YotpoStarRating=g,exports.YotpoStarRatingMeta=m,exports.ensure=p,exports.registerAll=function(e){var n=function(r,n){e?e.registerComponent(r,n):t(r,n)};e?e.registerGlobalContext(v,f):r(v,f),n(y,h),n(g,m)};
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=e(require("@plasmicapp/host/registerGlobalContext")),n=require("@plasmicapp/query"),o=e(require("lodash/isArray")),a=require("react"),i=e(a);function u(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function c(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){u(a,n,o,i,c,"next",e)}function c(e){u(a,n,o,i,c,"throw",e)}i(void 0)}))}}function s(){s=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",u=a.asyncIterator||"@@asyncIterator",c=a.toStringTag||"@@toStringTag";function p(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{p({},"")}catch(e){p=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=Object.create((t&&t.prototype instanceof m?t:m).prototype),i=new Y(n||[]);return o(a,"_invoke",{value:N(e,r,i)}),a}function d(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var f="suspendedStart",v="executing",h="completed",y={};function m(){}function g(){}function w(){}var x={};p(x,i,(function(){return this}));var b=Object.getPrototypeOf,E=b&&b(b(O([])));E&&E!==r&&n.call(E,i)&&(x=E);var P=w.prototype=m.prototype=Object.create(x);function k(e){["next","throw","return"].forEach((function(t){p(e,t,(function(e){return this._invoke(t,e)}))}))}function j(e,t){function r(o,a,i,u){var c=d(e[o],e,a);if("throw"!==c.type){var s=c.arg,p=s.value;return p&&"object"==typeof p&&n.call(p,"__await")?t.resolve(p.__await).then((function(e){r("next",e,i,u)}),(function(e){r("throw",e,i,u)})):t.resolve(p).then((function(e){s.value=e,i(s)}),(function(e){return r("throw",e,i,u)}))}u(c.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 N(t,r,n){var o=f;return function(a,i){if(o===v)throw Error("Generator is already running");if(o===h){if("throw"===a)throw i;return{value:e,done:!0}}for(n.method=a,n.arg=i;;){var u=n.delegate;if(u){var c=L(u,n);if(c){if(c===y)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===f)throw o=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=v;var s=d(t,r,n);if("normal"===s.type){if(o=n.done?h:"suspendedYield",s.arg===y)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=h,n.method="throw",n.arg=s.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=d(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 C(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 T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function Y(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(C,this),this.reset(!0)}function O(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=w,o(P,"constructor",{value:w,configurable:!0}),o(w,"constructor",{value:g,configurable:!0}),g.displayName=p(w,c,"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,w):(e.__proto__=w,p(e,c,"GeneratorFunction")),e.prototype=Object.create(P),e},t.awrap=function(e){return{__await:e}},k(j.prototype),p(j.prototype,u,(function(){return this})),t.AsyncIterator=j,t.async=function(e,r,n,o,a){void 0===a&&(a=Promise);var i=new j(l(e,r,n,o),a);return t.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},k(P),p(P,c,"Generator"),p(P,i,(function(){return this})),p(P,"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=O,Y.prototype={constructor:Y,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(T),!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 u.type="throw",u.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],u=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(c&&s){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!s)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),T(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;T(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:O(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),y}},t}function p(e){if(null==e)throw new Error("Value must not be undefined or null");return e}var l="@plasmicpkgs/plasmic-yotpo",d=i.createContext(void 0),f={name:"Yotpo",displayName:"Yotpo Credentials Provider",description:"Your app key is sometimes referred to as your Store ID.[get your App Key](https://support.yotpo.com/en/article/finding-your-yotpo-app-key-and-secret-key).",importName:"Yotpo",importPath:l,props:{appKey:{type:"string",displayName:"App Key",description:"App Key of your Yotpo Store "},uToken:{type:"string",displayName:"UToken",description:"Utoken is required in non-public API calls to ensure private account data is accessible only by authorized users."}}};function v(e){return i.createElement(d.Provider,{value:{appKey:e.appKey,uToken:e.uToken}},e.children)}var h={name:"hostless-yotpo-star-reviews",displayName:"Yotpo Reviews",importName:"YotpoReviews",importPath:l,providesData:!0,description:"Yotpo Reviews for your product pages ",defaultStyles:{width:"400px",height:"600px"},props:{reviewId:{type:"choice",options:function(e,t){var r,n;return null!=(r=null==t||null==(n=t.reviews)?void 0:n.map((function(e){return{label:null==e?void 0:e.name,value:null==e?void 0:e.id}})))?r:[]},displayName:"Review",description:"Review Widget which to be displayed"},productPrice:{type:"string",displayName:"Price",description:"Price of the Product"},currency:{type:"string",displayName:"Currency",description:"Currency"}}};function y(e){var t=e.reviewId,r=e.setControlContextData,u=e.productPrice,l=e.currency,f=e.className,v=p(a.useContext(d)),h=JSON.stringify({creds:v,reviewId:t});i.useEffect((function(){var e=document.createElement("script");return e.type="text/javascript",e.async=!0,e.innerHTML='(function e(){var e=document.createElement("script");e.type="text/javascript",e.async=true,e.src="//staticw2.yotpo.com/'+v.appKey+'/widget.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})();',document.body.appendChild(e),function(){document.body.removeChild(e)}}),[v]);var y=n.usePlasmicQueryData(h+"/reviews",c(s().mark((function e(){var t;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t={method:"GET",headers:{accept:"application/json","Content-Type":"application/json"}},e.next=3,fetch("https://api.yotpo.com/v1/apps/"+v.appKey+"/reviews?utoken="+v.uToken,t);case 3:return e.abrupt("return",e.sent.json());case 5:case"end":return e.stop()}}),e)})))).data,m=n.usePlasmicQueryData(h+"/review",c(s().mark((function e(){var r;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return",void 0);case 2:return r={method:"GET",headers:{accept:"application/json","Content-Type":"application/json"}},e.next=5,fetch("https://api.yotpo.com/reviews/"+t+"?utoken="+v.uToken,r);case 5:return e.abrupt("return",e.sent.json());case 7:case"end":return e.stop()}}),e)})))).data;if(!y)return i.createElement("div",null,"Please configure the Yotpo Credentials provider with valid AppKey.");var g=Object.values(y).map((function(e){return e}));if(null==r||r({reviews:g[0]||[]}),!v.uToken||!v.appKey)return i.createElement("div",null,"Please specify a valid API Credentials: uToken,appKey");if(!m)return i.createElement("div",null,"Please choose the reviewId");if(!u||!l)return i.createElement("div",null," Please enter Product price and Currency");var w=Object.values(y).flatMap((function(e){return(o(e)?e:[e]).filter((function(e){return e.id===t}))})),x=null==m?void 0:m.response.review.products.map((function(e){var t,r=null==e?void 0:e.Product.images.map((function(e){return e.image_url}));return i.createElement("div",{key:e.Product.id,className:"yotpo yotpo-main-widget","data-product-id":null==(t=w[0])?void 0:t.sku,"data-price":u,"data-currency":l,"data-name":null==e?void 0:e.Product.name,"data-url":null==e?void 0:e.Product.shorten_url,"data-image-url":r})}));return i.createElement("div",{className:f},x)}var m={name:"hostless-yotpo-star-rating",displayName:"Yotpo Star Rating",importName:"YotpoStarRating",importPath:l,providesData:!0,description:"Yotpo Star Rating for your product pages ",props:{productId:{type:"choice",options:function(e,t){var r,n;return null!=(r=null==t||null==(n=t.reviews)?void 0:n.map((function(e){return{label:null==e?void 0:e.name,value:null==e?void 0:e.id}})))?r:[]},displayName:"Product",description:"Product which you want to show rating"}}};function g(e){var t=e.productId,r=e.className,u=e.setControlContextData,l=p(a.useContext(d)),f=JSON.stringify({creds:l,productId:t});i.useEffect((function(){var e=document.createElement("script");return e.type="text/javascript",e.async=!0,e.innerHTML='(function e(){var e=document.createElement("script");e.type="text/javascript",e.async=true,e.src="//staticw2.yotpo.com/'+l.appKey+'/widget.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})();',document.body.appendChild(e),function(){document.body.removeChild(e)}}),[l]);var v=n.usePlasmicQueryData(f+"/starReviews",c(s().mark((function e(){var t;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t={method:"GET",headers:{accept:"application/json","Content-Type":"application/json"}},e.next=3,fetch("https://api.yotpo.com/v1/apps/"+l.appKey+"/reviews?utoken="+l.uToken,t);case 3:return e.abrupt("return",e.sent.json());case 5:case"end":return e.stop()}}),e)})))).data,h=n.usePlasmicQueryData(f+"/starReview",c(s().mark((function e(){var r;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return",void 0);case 2:return r={method:"GET",headers:{accept:"application/json","Content-Type":"application/json"}},e.next=5,fetch("https://api.yotpo.com/reviews/"+t+"?utoken="+l.uToken,r);case 5:return e.abrupt("return",e.sent.json());case 7:case"end":return e.stop()}}),e)})))).data;if(!l.uToken||!l.appKey)return i.createElement("div",null,"Please specify a valid API Credentials: uToken,appKey");if(!v)return i.createElement("div",null,"Please configure the Yotpo Credentials provider with valid AppKey.");var y=Object.values(v).map((function(e){return e}));if(null==u||u({reviews:y[0]||[]}),!h)return i.createElement("div",null,"Please configure the Yotpo Credentials provider with valid AppKey.");var m=Object.values(v).flatMap((function(e){return(o(e)?e:[e]).filter((function(e){return e.id===t}))})),g=null==h?void 0:h.response.review.products.map((function(e){var t;return i.createElement("div",{className:"yotpo bottomLine","data-product-id":null==(t=m[0])?void 0:t.sku,"data-url":e.Product.product_url})}));return i.createElement("div",{className:r},g)}exports.YotpoCredentialsProvider=v,exports.YotpoCredentialsProviderMeta=f,exports.YotpoReviews=y,exports.YotpoReviewsMeta=h,exports.YotpoStarRating=g,exports.YotpoStarRatingMeta=m,exports.ensure=p,exports.registerAll=function(e){var n=function(r,n){e?e.registerComponent(r,n):t(r,n)};e?e.registerGlobalContext(v,f):r(v,f),n(y,h),n(g,m)};
2
2
  //# sourceMappingURL=plasmic-yotpo.cjs.production.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plasmic-yotpo.cjs.production.min.js","sources":["../src/yotpo.tsx","../src/index.tsx"],"sourcesContent":["import { ComponentMeta, GlobalContextMeta } from \"@plasmicapp/host\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport isArray from \"lodash/isArray\";\nimport React, { useContext } from \"react\";\n\nimport { Image, ProductElement, ReviewResponse } from \"./types\";\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\nconst modulePath = \"@plasmicpkgs/plasmic-yotpo\";\n\ninterface YotpoProps {\n appKey: string;\n uToken: string;\n}\n\nconst CredentialsContext = React.createContext<YotpoProps | undefined>(\n undefined\n);\n\nexport const YotpoCredentialsProviderMeta: GlobalContextMeta<YotpoProps> = {\n name: \"Yotpo\",\n displayName: \"Yotpo Credentials Provider\",\n description:\n \"Your app key is sometimes referred to as your Store ID.[get your App Key](https://support.yotpo.com/en/article/finding-your-yotpo-app-key-and-secret-key).\",\n importName: \"Yotpo\",\n importPath: modulePath,\n props: {\n appKey: {\n type: \"string\",\n displayName: \"App Key\",\n description: \"App Key of your Yotpo Store \",\n },\n uToken: {\n type: \"string\",\n displayName: \"UToken\",\n description:\n \"Utoken is required in non-public API calls to ensure private account data is accessible only by authorized users.\",\n },\n },\n};\n\nexport function YotpoCredentialsProvider({\n appKey,\n uToken,\n children,\n}: React.PropsWithChildren<YotpoProps>) {\n return (\n <CredentialsContext.Provider value={{ appKey, uToken }}>\n {children}\n </CredentialsContext.Provider>\n );\n}\n\ninterface YotpoReviewsProps {\n reviewId?: string;\n productPrice?: string;\n currency?: string;\n setControlContextData?: (data: {\n reviews?: { name: string; id: number }[];\n }) => void;\n className?: string;\n}\n\nexport const YotpoReviewsMeta: ComponentMeta<YotpoReviewsProps> = {\n name: \"hostless-yotpo-star-reviews\",\n displayName: \"Yotpo Reviews\",\n importName: \"YotpoReviews\",\n importPath: modulePath,\n providesData: true,\n description: \"Yotpo Reviews for your product pages \",\n defaultStyles: {\n width: \"400px\",\n height: \"600px\",\n },\n props: {\n reviewId: {\n type: \"choice\",\n options: (props, ctx) =>\n ctx?.reviews?.map((item: any) => ({\n label: item?.name,\n value: item?.id,\n })) ?? [],\n displayName: \"Review\",\n description: \"Review Widget which to be displayed\",\n },\n productPrice: {\n type: \"string\",\n displayName: \"Price\",\n description: \"Price of the Product\",\n },\n currency: {\n type: \"string\",\n displayName: \"Currency\",\n description: \"Currency\",\n },\n },\n};\n\nexport function YotpoReviews({\n reviewId,\n setControlContextData,\n productPrice,\n currency,\n className,\n}: YotpoReviewsProps) {\n const creds = ensure(useContext(CredentialsContext));\n const cacheKey = JSON.stringify({\n creds,\n reviewId,\n });\n React.useEffect(() => {\n const script = document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.async = true;\n script.innerHTML = `(function e(){var e=document.createElement(\"script\");e.type=\"text/javascript\",e.async=true,e.src=\"//staticw2.yotpo.com/${creds.appKey}/widget.js\";var t=document.getElementsByTagName(\"script\")[0];t.parentNode.insertBefore(e,t)})();`;\n document.body.appendChild(script);\n\n return () => {\n document.body.removeChild(script);\n };\n }, [creds]);\n\n const { data: reviewsData } = usePlasmicQueryData<any | null>(\n `${cacheKey}/reviews`,\n async () => {\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/v1/apps/${creds.appKey}/reviews?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n\n const { data: reviewData } = usePlasmicQueryData<ReviewResponse | null>(\n `${cacheKey}/review`,\n async () => {\n if (!reviewId) {\n return undefined;\n }\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/reviews/${reviewId}?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n\n if (!reviewsData) {\n return (\n <div>\n Please configure the Yotpo Credentials provider with valid AppKey.\n </div>\n );\n }\n const data = Object.values(reviewsData).map((item: any) => item);\n\n setControlContextData?.({\n reviews: data[0] || [],\n });\n\n if (!creds.uToken || !creds.appKey) {\n return <div>Please specify a valid API Credentials: uToken,appKey</div>;\n }\n\n if (!reviewData) {\n return <div>Please choose the reviewId</div>;\n }\n\n if (!productPrice || !currency) {\n return <div> Please enter Product price and Currency</div>;\n }\n\n const review = Object.values(reviewsData).flatMap((item: any, i: number) =>\n (isArray(item) ? item : [item]).filter(\n (review: any) => review.id === reviewId\n )\n );\n\n const renderedData = reviewData?.response.review.products.map(\n (item: ProductElement) => {\n const imageUrl = item?.Product.images.map((image: Image) => {\n return image.image_url;\n });\n return (\n <div\n key={item.Product.id}\n className=\"yotpo yotpo-main-widget\"\n data-product-id={review[0]?.sku}\n data-price={productPrice}\n data-currency={currency}\n data-name={item?.Product.name}\n data-url={item?.Product.shorten_url}\n data-image-url={imageUrl}\n ></div>\n );\n }\n );\n return <div className={className}>{renderedData}</div>;\n}\n\ninterface YotpoStarRatingProps {\n productId: string;\n className?: string;\n setControlContextData?: (data: {\n reviews?: { name: string; id: number }[];\n }) => void;\n}\n\nexport const YotpoStarRatingMeta: ComponentMeta<YotpoStarRatingProps> = {\n name: \"hostless-yotpo-star-rating\",\n displayName: \"Yotpo Star Rating\",\n importName: \"YotpoStarRating\",\n importPath: modulePath,\n providesData: true,\n description: \"Yotpo Star Rating for your product pages \",\n props: {\n productId: {\n type: \"choice\",\n options: (props, ctx) =>\n ctx?.reviews?.map((item: any) => ({\n label: item?.name,\n value: item?.id,\n })) ?? [],\n displayName: \"Product\",\n description: \"Product which you want to show rating\",\n },\n },\n};\n\nexport function YotpoStarRating({\n productId,\n className,\n setControlContextData,\n}: YotpoStarRatingProps) {\n const creds = ensure(useContext(CredentialsContext));\n const cacheKey = JSON.stringify({\n creds,\n productId,\n });\n React.useEffect(() => {\n const script = document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.async = true;\n script.innerHTML = `(function e(){var e=document.createElement(\"script\");e.type=\"text/javascript\",e.async=true,e.src=\"//staticw2.yotpo.com/${creds.appKey}/widget.js\";var t=document.getElementsByTagName(\"script\")[0];t.parentNode.insertBefore(e,t)})();`;\n document.body.appendChild(script);\n\n return () => {\n document.body.removeChild(script);\n };\n }, [creds]);\n\n const { data: reviews } = usePlasmicQueryData<any | null>(\n `${cacheKey}/starReviews`,\n async () => {\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/v1/apps/${creds.appKey}/reviews?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n const { data: review } = usePlasmicQueryData<ReviewResponse | null>(\n `${cacheKey}/starReview`,\n async () => {\n if (!productId) {\n return undefined;\n }\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/reviews/${productId}?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n\n if (!creds.uToken || !creds.appKey) {\n return <div>Please specify a valid API Credentials: uToken,appKey</div>;\n }\n\n if (!reviews) {\n return (\n <div>\n Please configure the Yotpo Credentials provider with valid AppKey.\n </div>\n );\n }\n\n const data = Object.values(reviews).map((item: any) => item);\n\n setControlContextData?.({\n reviews: data[0] || [],\n });\n\n if (!review) {\n return (\n <div>\n Please configure the Yotpo Credentials provider with valid AppKey.\n </div>\n );\n }\n const product = Object.values(reviews).flatMap((item: any, i: number) =>\n (isArray(item) ? item : [item]).filter(\n (review: any) => review.id === productId\n )\n );\n\n const renderedData = review?.response.review.products.map(\n (item: ProductElement) => (\n <div\n className=\"yotpo bottomLine\"\n data-product-id={product[0]?.sku}\n data-url={item.Product.product_url}\n />\n )\n );\n\n return <div className={className}>{renderedData}</div>;\n}\n","import React from 'react'\nimport registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport {\n YotpoCredentialsProvider,\n YotpoCredentialsProviderMeta,\n YotpoReviewsMeta,\n YotpoReviews,\n YotpoStarRating,\n YotpoStarRatingMeta\n} from \"./yotpo\";\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n const _registerComponent = <T extends React.ComponentType<any>>(\n Component: T,\n defaultMeta: ComponentMeta<React.ComponentProps<T>>\n ) => {\n if (loader) {\n loader.registerComponent(Component, defaultMeta);\n } else {\n registerComponent(Component, defaultMeta);\n }\n };\n\n if (loader) {\n loader.registerGlobalContext(\n YotpoCredentialsProvider,\n YotpoCredentialsProviderMeta\n );\n } else {\n registerGlobalContext(\n YotpoCredentialsProvider,\n YotpoCredentialsProviderMeta\n );\n }\n\n _registerComponent(YotpoReviews, YotpoReviewsMeta);\n _registerComponent(YotpoStarRating, YotpoStarRatingMeta);\n\n}\n\nexport * from \"./yotpo\";\n"],"names":["ensure","x","Error","modulePath","CredentialsContext","React","createContext","undefined","YotpoCredentialsProviderMeta","name","displayName","description","importName","importPath","props","appKey","type","uToken","YotpoCredentialsProvider","_ref","Provider","value","children","YotpoReviewsMeta","providesData","defaultStyles","width","height","reviewId","options","ctx","_ctx$reviews$map","_ctx$reviews","reviews","map","item","label","id","productPrice","currency","YotpoReviews","_ref2","setControlContextData","className","creds","useContext","cacheKey","JSON","stringify","useEffect","script","document","createElement","async","innerHTML","body","appendChild","removeChild","reviewsData","usePlasmicQueryData","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","method","headers","accept","Content-Type","fetch","abrupt","sent","json","stop","data","reviewData","_callee2","_context2","Object","values","review","flatMap","i","isArray","filter","renderedData","response","products","imageUrl","Product","images","image","image_url","key","_review$","sku","shorten_url","YotpoStarRatingMeta","productId","_ctx$reviews$map2","_ctx$reviews2","YotpoStarRating","_ref5","_callee3","_context3","_callee4","_context4","product","_product$","product_url","loader","_registerComponent","Component","defaultMeta","registerComponent","registerGlobalContext"],"mappings":"q/NAOgBA,EAAUC,GACxB,GAAIA,MAAAA,EAEF,MAAM,IAAIC,6CAEV,OAAOD,EAIX,IAAME,EAAa,6BAObC,EAAqBC,EAAMC,mBAC/BC,GAGWC,EAA8D,CACzEC,KAAM,QACNC,YAAa,6BACbC,YACE,6JACFC,WAAY,QACZC,WAAYV,EACZW,MAAO,CACLC,OAAQ,CACNC,KAAM,SACNN,YAAa,UACbC,YAAa,gCAEfM,OAAQ,CACND,KAAM,SACNN,YAAa,SACbC,YACE,gIAKQO,EAAwBC,GAKtC,OACEd,gBAACD,EAAmBgB,UAASC,MAAO,CAAEN,OALlCI,EAANJ,OAKgDE,OAJ1CE,EAANF,SACQE,EAARG,cAmBWC,EAAqD,CAChEd,KAAM,8BACNC,YAAa,gBACbE,WAAY,eACZC,WAAYV,EACZqB,cAAc,EACdb,YAAa,wCACbc,cAAe,CACbC,MAAO,QACPC,OAAQ,SAEVb,MAAO,CACLc,SAAU,CACRZ,KAAM,SACNa,QAAS,SAACf,EAAOgB,GAAG,IAAAC,EAAAC,EAAA,cAAAD,QAClBD,UAAGE,EAAHF,EAAKG,gBAALD,EAAcE,KAAI,SAACC,GAAS,MAAM,CAChCC,YAAOD,SAAAA,EAAM1B,KACbY,YAAOc,SAAAA,EAAME,QACZN,EAAI,IACTrB,YAAa,SACbC,YAAa,uCAEf2B,aAAc,CACZtB,KAAM,SACNN,YAAa,QACbC,YAAa,wBAEf4B,SAAU,CACRvB,KAAM,SACNN,YAAa,WACbC,YAAa,uBAKH6B,EAAYC,OAC1Bb,EAAQa,EAARb,SACAc,EAAqBD,EAArBC,sBACAJ,EAAYG,EAAZH,aACAC,EAAQE,EAARF,SACAI,EAASF,EAATE,UAEMC,EAAQ5C,EAAO6C,aAAWzC,IAC1B0C,EAAWC,KAAKC,UAAU,CAC9BJ,MAAAA,EACAhB,SAAAA,IAEFvB,EAAM4C,WAAU,WACd,IAAMC,EAASC,SAASC,cAAc,UAMtC,OALAF,EAAOlC,KAAO,kBACdkC,EAAOG,OAAQ,EACfH,EAAOI,oIAAsIV,EAAM7B,0GACnJoC,SAASI,KAAKC,YAAYN,GAEnB,WACLC,SAASI,KAAKE,YAAYP,MAE3B,CAACN,IAEJ,IAAcc,EAAgBC,sBACzBb,aAAQc,EAAAC,IAAAC,MACX,SAAAC,IAAA,IAAAlC,EAAA,OAAAgC,IAAAG,eAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAOG,OANKtC,EAAU,CACduC,OAAQ,MACRC,QAAS,CACPC,OAAQ,mBACRC,eAAgB,qBAEnBN,EAAAE,OAEiBK,uCACiB5B,EAAM7B,0BAAyB6B,EAAM3B,OACtEY,GACD,OAHQ,OAAAoC,EAAAQ,gBAAAR,EAAAS,KAIEC,QAAM,OAAA,UAAA,OAAAV,EAAAW,UAAAb,QAfbc,KAmBMC,EAAenB,sBACxBb,YAAQc,EAAAC,IAAAC,MACX,SAAAiB,IAAA,IAAAlD,EAAA,OAAAgC,IAAAG,eAAAgB,GAAA,cAAAA,EAAAd,KAAAc,EAAAb,MAAA,OAAA,GACOvC,GAAQoD,EAAAb,OAAA,MAAA,OAAAa,EAAAP,qBACJlE,GAAS,OAQjB,OANKsB,EAAU,CACduC,OAAQ,MACRC,QAAS,CACPC,OAAQ,mBACRC,eAAgB,qBAEnBS,EAAAb,OAEiBK,uCACiB5C,aAAmBgB,EAAM3B,OAC1DY,GACD,OAHQ,OAAAmD,EAAAP,gBAAAO,EAAAN,KAIEC,QAAM,OAAA,UAAA,OAAAK,EAAAJ,UAAAG,QAlBbF,KAsBR,IAAKnB,EACH,OACErD,iGAKJ,IAAMwE,EAAOI,OAAOC,OAAOxB,GAAaxB,KAAI,SAACC,GAAS,OAAKA,KAM3D,SAJAO,GAAAA,EAAwB,CACtBT,QAAS4C,EAAK,IAAM,MAGjBjC,EAAM3B,SAAW2B,EAAM7B,OAC1B,OAAOV,oFAGT,IAAKyE,EACH,OAAOzE,yDAGT,IAAKiC,IAAiBC,EACpB,OAAOlC,uEAGT,IAAM8E,EAASF,OAAOC,OAAOxB,GAAa0B,SAAQ,SAACjD,EAAWkD,GAAS,OACpEC,EAAQnD,GAAQA,EAAO,CAACA,IAAOoD,QAC9B,SAACJ,GAAW,OAAKA,EAAO9C,KAAOT,QAI7B4D,QAAeV,SAAAA,EAAYW,SAASN,OAAOO,SAASxD,KACxD,SAACC,SACOwD,QAAWxD,SAAAA,EAAMyD,QAAQC,OAAO3D,KAAI,SAAC4D,GACzC,OAAOA,EAAMC,aAEf,OACE1F,uBACE2F,IAAK7D,EAAKyD,QAAQvD,GAClBM,UAAU,qDACOwC,EAAO,WAAPc,EAAWC,iBAChB5D,kBACGC,oBACJJ,SAAAA,EAAMyD,QAAQnF,sBACf0B,SAAAA,EAAMyD,QAAQO,6BACRR,OAKxB,OAAOtF,uBAAKsC,UAAWA,GAAY6C,OAWxBY,EAA2D,CACtE3F,KAAM,6BACNC,YAAa,oBACbE,WAAY,kBACZC,WAAYV,EACZqB,cAAc,EACdb,YAAa,4CACbG,MAAO,CACLuF,UAAW,CACTrF,KAAM,SACNa,QAAS,SAACf,EAAOgB,GAAG,IAAAwE,EAAAC,EAAA,cAAAD,QAClBxE,UAAGyE,EAAHzE,EAAKG,gBAALsE,EAAcrE,KAAI,SAACC,GAAS,MAAM,CAChCC,YAAOD,SAAAA,EAAM1B,KACbY,YAAOc,SAAAA,EAAME,QACZiE,EAAI,IACT5F,YAAa,UACbC,YAAa,oDAKH6F,EAAeC,OAC7BJ,EAASI,EAATJ,UACA1D,EAAS8D,EAAT9D,UACAD,EAAqB+D,EAArB/D,sBAEME,EAAQ5C,EAAO6C,aAAWzC,IAC1B0C,EAAWC,KAAKC,UAAU,CAC9BJ,MAAAA,EACAyD,UAAAA,IAEFhG,EAAM4C,WAAU,WACd,IAAMC,EAASC,SAASC,cAAc,UAMtC,OALAF,EAAOlC,KAAO,kBACdkC,EAAOG,OAAQ,EACfH,EAAOI,oIAAsIV,EAAM7B,0GACnJoC,SAASI,KAAKC,YAAYN,GAEnB,WACLC,SAASI,KAAKE,YAAYP,MAE3B,CAACN,IAEJ,IAAcX,EAAY0B,sBACrBb,iBAAQc,EAAAC,IAAAC,MACX,SAAA4C,IAAA,IAAA7E,EAAA,OAAAgC,IAAAG,eAAA2C,GAAA,cAAAA,EAAAzC,KAAAyC,EAAAxC,MAAA,OAOG,OANKtC,EAAU,CACduC,OAAQ,MACRC,QAAS,CACPC,OAAQ,mBACRC,eAAgB,qBAEnBoC,EAAAxC,OAEiBK,uCACiB5B,EAAM7B,0BAAyB6B,EAAM3B,OACtEY,GACD,OAHQ,OAAA8E,EAAAlC,gBAAAkC,EAAAjC,KAIEC,QAAM,OAAA,UAAA,OAAAgC,EAAA/B,UAAA8B,QAfb7B,KAkBMM,EAAWxB,sBACpBb,gBAAQc,EAAAC,IAAAC,MACX,SAAA8C,IAAA,IAAA/E,EAAA,OAAAgC,IAAAG,eAAA6C,GAAA,cAAAA,EAAA3C,KAAA2C,EAAA1C,MAAA,OAAA,GACOkC,GAASQ,EAAA1C,OAAA,MAAA,OAAA0C,EAAApC,qBACLlE,GAAS,OAQjB,OANKsB,EAAU,CACduC,OAAQ,MACRC,QAAS,CACPC,OAAQ,mBACRC,eAAgB,qBAEnBsC,EAAA1C,OAEiBK,uCACiB6B,aAAoBzD,EAAM3B,OAC3DY,GACD,OAHQ,OAAAgF,EAAApC,gBAAAoC,EAAAnC,KAIEC,QAAM,OAAA,UAAA,OAAAkC,EAAAjC,UAAAgC,QAlBb/B,KAsBR,IAAKjC,EAAM3B,SAAW2B,EAAM7B,OAC1B,OAAOV,oFAGT,IAAK4B,EACH,OACE5B,iGAMJ,IAAMwE,EAAOI,OAAOC,OAAOjD,GAASC,KAAI,SAACC,GAAS,OAAKA,KAMvD,SAJAO,GAAAA,EAAwB,CACtBT,QAAS4C,EAAK,IAAM,MAGjBM,EACH,OACE9E,iGAKJ,IAAMyG,EAAU7B,OAAOC,OAAOjD,GAASmD,SAAQ,SAACjD,EAAWkD,GAAS,OACjEC,EAAQnD,GAAQA,EAAO,CAACA,IAAOoD,QAC9B,SAACJ,GAAW,OAAKA,EAAO9C,KAAOgE,QAI7Bb,QAAeL,SAAAA,EAAQM,SAASN,OAAOO,SAASxD,KACpD,SAACC,GAAoB,IAAA4E,EAAA,OACnB1G,uBACEsC,UAAU,8CACOmE,EAAQ,WAARC,EAAYb,eACnB/D,EAAKyD,QAAQoB,iBAK7B,OAAO3G,uBAAKsC,UAAWA,GAAY6C,qOCtVTyB,GAI1B,IAAMC,EAAqB,SACzBC,EACAC,GAEIH,EACFA,EAAOI,kBAAkBF,EAAWC,GAEpCC,EAAkBF,EAAWC,IAI7BH,EACFA,EAAOK,sBACLpG,EACAV,GAGF8G,EACEpG,EACAV,GAIJ0G,EAAmB1E,EAAcjB,GACjC2F,EAAmBV,EAAiBJ"}
1
+ {"version":3,"file":"plasmic-yotpo.cjs.production.min.js","sources":["../src/yotpo.tsx","../src/index.tsx"],"sourcesContent":["import { CodeComponentMeta } from \"@plasmicapp/host/registerComponent\";\nimport { GlobalContextMeta } from \"@plasmicapp/host/registerGlobalContext\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport isArray from \"lodash/isArray\";\nimport React, { useContext } from \"react\";\n\nimport { Image, ProductElement, ReviewResponse } from \"./types\";\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\nconst modulePath = \"@plasmicpkgs/plasmic-yotpo\";\n\ninterface YotpoProps {\n appKey: string;\n uToken: string;\n}\n\nconst CredentialsContext = React.createContext<YotpoProps | undefined>(\n undefined\n);\n\nexport const YotpoCredentialsProviderMeta: GlobalContextMeta<YotpoProps> = {\n name: \"Yotpo\",\n displayName: \"Yotpo Credentials Provider\",\n description:\n \"Your app key is sometimes referred to as your Store ID.[get your App Key](https://support.yotpo.com/en/article/finding-your-yotpo-app-key-and-secret-key).\",\n importName: \"Yotpo\",\n importPath: modulePath,\n props: {\n appKey: {\n type: \"string\",\n displayName: \"App Key\",\n description: \"App Key of your Yotpo Store \",\n },\n uToken: {\n type: \"string\",\n displayName: \"UToken\",\n description:\n \"Utoken is required in non-public API calls to ensure private account data is accessible only by authorized users.\",\n },\n },\n};\n\nexport function YotpoCredentialsProvider({\n appKey,\n uToken,\n children,\n}: React.PropsWithChildren<YotpoProps>) {\n return (\n <CredentialsContext.Provider value={{ appKey, uToken }}>\n {children}\n </CredentialsContext.Provider>\n );\n}\n\ninterface YotpoReviewsProps {\n reviewId?: string;\n productPrice?: string;\n currency?: string;\n setControlContextData?: (data: {\n reviews?: { name: string; id: number }[];\n }) => void;\n className?: string;\n}\n\nexport const YotpoReviewsMeta: CodeComponentMeta<YotpoReviewsProps> = {\n name: \"hostless-yotpo-star-reviews\",\n displayName: \"Yotpo Reviews\",\n importName: \"YotpoReviews\",\n importPath: modulePath,\n providesData: true,\n description: \"Yotpo Reviews for your product pages \",\n defaultStyles: {\n width: \"400px\",\n height: \"600px\",\n },\n props: {\n reviewId: {\n type: \"choice\",\n options: (props, ctx) =>\n ctx?.reviews?.map((item: any) => ({\n label: item?.name,\n value: item?.id,\n })) ?? [],\n displayName: \"Review\",\n description: \"Review Widget which to be displayed\",\n },\n productPrice: {\n type: \"string\",\n displayName: \"Price\",\n description: \"Price of the Product\",\n },\n currency: {\n type: \"string\",\n displayName: \"Currency\",\n description: \"Currency\",\n },\n },\n};\n\nexport function YotpoReviews({\n reviewId,\n setControlContextData,\n productPrice,\n currency,\n className,\n}: YotpoReviewsProps) {\n const creds = ensure(useContext(CredentialsContext));\n const cacheKey = JSON.stringify({\n creds,\n reviewId,\n });\n React.useEffect(() => {\n const script = document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.async = true;\n script.innerHTML = `(function e(){var e=document.createElement(\"script\");e.type=\"text/javascript\",e.async=true,e.src=\"//staticw2.yotpo.com/${creds.appKey}/widget.js\";var t=document.getElementsByTagName(\"script\")[0];t.parentNode.insertBefore(e,t)})();`;\n document.body.appendChild(script);\n\n return () => {\n document.body.removeChild(script);\n };\n }, [creds]);\n\n const { data: reviewsData } = usePlasmicQueryData<any | null>(\n `${cacheKey}/reviews`,\n async () => {\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/v1/apps/${creds.appKey}/reviews?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n\n const { data: reviewData } = usePlasmicQueryData<ReviewResponse | null>(\n `${cacheKey}/review`,\n async () => {\n if (!reviewId) {\n return undefined;\n }\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/reviews/${reviewId}?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n\n if (!reviewsData) {\n return (\n <div>\n Please configure the Yotpo Credentials provider with valid AppKey.\n </div>\n );\n }\n const data = Object.values(reviewsData).map((item: any) => item);\n\n setControlContextData?.({\n reviews: data[0] || [],\n });\n\n if (!creds.uToken || !creds.appKey) {\n return <div>Please specify a valid API Credentials: uToken,appKey</div>;\n }\n\n if (!reviewData) {\n return <div>Please choose the reviewId</div>;\n }\n\n if (!productPrice || !currency) {\n return <div> Please enter Product price and Currency</div>;\n }\n\n const review = Object.values(reviewsData).flatMap((item: any) =>\n (isArray(item) ? item : [item]).filter((r: any) => r.id === reviewId)\n );\n\n const renderedData = reviewData?.response.review.products.map(\n (item: ProductElement) => {\n const imageUrl = item?.Product.images.map((image: Image) => {\n return image.image_url;\n });\n return (\n <div\n key={item.Product.id}\n className=\"yotpo yotpo-main-widget\"\n data-product-id={review[0]?.sku}\n data-price={productPrice}\n data-currency={currency}\n data-name={item?.Product.name}\n data-url={item?.Product.shorten_url}\n data-image-url={imageUrl}\n ></div>\n );\n }\n );\n return <div className={className}>{renderedData}</div>;\n}\n\ninterface YotpoStarRatingProps {\n productId: string;\n className?: string;\n setControlContextData?: (data: {\n reviews?: { name: string; id: number }[];\n }) => void;\n}\n\nexport const YotpoStarRatingMeta: CodeComponentMeta<YotpoStarRatingProps> = {\n name: \"hostless-yotpo-star-rating\",\n displayName: \"Yotpo Star Rating\",\n importName: \"YotpoStarRating\",\n importPath: modulePath,\n providesData: true,\n description: \"Yotpo Star Rating for your product pages \",\n props: {\n productId: {\n type: \"choice\",\n options: (props, ctx) =>\n ctx?.reviews?.map((item: any) => ({\n label: item?.name,\n value: item?.id,\n })) ?? [],\n displayName: \"Product\",\n description: \"Product which you want to show rating\",\n },\n },\n};\n\nexport function YotpoStarRating({\n productId,\n className,\n setControlContextData,\n}: YotpoStarRatingProps) {\n const creds = ensure(useContext(CredentialsContext));\n const cacheKey = JSON.stringify({\n creds,\n productId,\n });\n React.useEffect(() => {\n const script = document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.async = true;\n script.innerHTML = `(function e(){var e=document.createElement(\"script\");e.type=\"text/javascript\",e.async=true,e.src=\"//staticw2.yotpo.com/${creds.appKey}/widget.js\";var t=document.getElementsByTagName(\"script\")[0];t.parentNode.insertBefore(e,t)})();`;\n document.body.appendChild(script);\n\n return () => {\n document.body.removeChild(script);\n };\n }, [creds]);\n\n const { data: reviews } = usePlasmicQueryData<any | null>(\n `${cacheKey}/starReviews`,\n async () => {\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/v1/apps/${creds.appKey}/reviews?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n const { data: review } = usePlasmicQueryData<ReviewResponse | null>(\n `${cacheKey}/starReview`,\n async () => {\n if (!productId) {\n return undefined;\n }\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/reviews/${productId}?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n\n if (!creds.uToken || !creds.appKey) {\n return <div>Please specify a valid API Credentials: uToken,appKey</div>;\n }\n\n if (!reviews) {\n return (\n <div>\n Please configure the Yotpo Credentials provider with valid AppKey.\n </div>\n );\n }\n\n const data = Object.values(reviews).map((item: any) => item);\n\n setControlContextData?.({\n reviews: data[0] || [],\n });\n\n if (!review) {\n return (\n <div>\n Please configure the Yotpo Credentials provider with valid AppKey.\n </div>\n );\n }\n const product = Object.values(reviews).flatMap((item: any) =>\n (isArray(item) ? item : [item]).filter((r: any) => r.id === productId)\n );\n\n const renderedData = review?.response.review.products.map(\n (item: ProductElement) => (\n <div\n className=\"yotpo bottomLine\"\n data-product-id={product[0]?.sku}\n data-url={item.Product.product_url}\n />\n )\n );\n\n return <div className={className}>{renderedData}</div>;\n}\n","import registerComponent, {\n CodeComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport React from \"react\";\nimport {\n YotpoCredentialsProvider,\n YotpoCredentialsProviderMeta,\n YotpoReviews,\n YotpoReviewsMeta,\n YotpoStarRating,\n YotpoStarRatingMeta,\n} from \"./yotpo\";\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n const _registerComponent = <T extends React.ComponentType<any>>(\n Component: T,\n defaultMeta: CodeComponentMeta<React.ComponentProps<T>>\n ) => {\n if (loader) {\n loader.registerComponent(Component, defaultMeta);\n } else {\n registerComponent(Component, defaultMeta);\n }\n };\n\n if (loader) {\n loader.registerGlobalContext(\n YotpoCredentialsProvider,\n YotpoCredentialsProviderMeta\n );\n } else {\n registerGlobalContext(\n YotpoCredentialsProvider,\n YotpoCredentialsProviderMeta\n );\n }\n\n _registerComponent(YotpoReviews, YotpoReviewsMeta);\n _registerComponent(YotpoStarRating, YotpoStarRatingMeta);\n}\n\nexport * from \"./yotpo\";\n"],"names":["ensure","x","Error","modulePath","CredentialsContext","React","createContext","undefined","YotpoCredentialsProviderMeta","name","displayName","description","importName","importPath","props","appKey","type","uToken","YotpoCredentialsProvider","_ref","Provider","value","children","YotpoReviewsMeta","providesData","defaultStyles","width","height","reviewId","options","ctx","_ctx$reviews$map","_ctx$reviews","reviews","map","item","label","id","productPrice","currency","YotpoReviews","_ref2","setControlContextData","className","creds","useContext","cacheKey","JSON","stringify","useEffect","script","document","createElement","async","innerHTML","body","appendChild","removeChild","reviewsData","usePlasmicQueryData","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","method","headers","accept","Content-Type","fetch","abrupt","sent","json","stop","data","reviewData","_callee2","_context2","Object","values","review","flatMap","isArray","filter","r","renderedData","response","products","imageUrl","Product","images","image","image_url","key","_review$","sku","shorten_url","YotpoStarRatingMeta","productId","_ctx$reviews$map2","_ctx$reviews2","YotpoStarRating","_ref5","_callee3","_context3","_callee4","_context4","product","_product$","product_url","loader","_registerComponent","Component","defaultMeta","registerComponent","registerGlobalContext"],"mappings":"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"}
@@ -502,9 +502,9 @@ function YotpoReviews(_ref2) {
502
502
  if (!productPrice || !currency) {
503
503
  return React.createElement("div", null, " Please enter Product price and Currency");
504
504
  }
505
- var review = Object.values(reviewsData).flatMap(function (item, i) {
506
- return (isArray(item) ? item : [item]).filter(function (review) {
507
- return review.id === reviewId;
505
+ var review = Object.values(reviewsData).flatMap(function (item) {
506
+ return (isArray(item) ? item : [item]).filter(function (r) {
507
+ return r.id === reviewId;
508
508
  });
509
509
  });
510
510
  var renderedData = reviewData == null ? void 0 : reviewData.response.review.products.map(function (item) {
@@ -639,9 +639,9 @@ function YotpoStarRating(_ref5) {
639
639
  if (!review) {
640
640
  return React.createElement("div", null, "Please configure the Yotpo Credentials provider with valid AppKey.");
641
641
  }
642
- var product = Object.values(reviews).flatMap(function (item, i) {
643
- return (isArray(item) ? item : [item]).filter(function (review) {
644
- return review.id === productId;
642
+ var product = Object.values(reviews).flatMap(function (item) {
643
+ return (isArray(item) ? item : [item]).filter(function (r) {
644
+ return r.id === productId;
645
645
  });
646
646
  });
647
647
  var renderedData = review == null ? void 0 : review.response.review.products.map(function (item) {
@@ -1 +1 @@
1
- {"version":3,"file":"plasmic-yotpo.esm.js","sources":["../src/yotpo.tsx","../src/index.tsx"],"sourcesContent":["import { ComponentMeta, GlobalContextMeta } from \"@plasmicapp/host\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport isArray from \"lodash/isArray\";\nimport React, { useContext } from \"react\";\n\nimport { Image, ProductElement, ReviewResponse } from \"./types\";\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\nconst modulePath = \"@plasmicpkgs/plasmic-yotpo\";\n\ninterface YotpoProps {\n appKey: string;\n uToken: string;\n}\n\nconst CredentialsContext = React.createContext<YotpoProps | undefined>(\n undefined\n);\n\nexport const YotpoCredentialsProviderMeta: GlobalContextMeta<YotpoProps> = {\n name: \"Yotpo\",\n displayName: \"Yotpo Credentials Provider\",\n description:\n \"Your app key is sometimes referred to as your Store ID.[get your App Key](https://support.yotpo.com/en/article/finding-your-yotpo-app-key-and-secret-key).\",\n importName: \"Yotpo\",\n importPath: modulePath,\n props: {\n appKey: {\n type: \"string\",\n displayName: \"App Key\",\n description: \"App Key of your Yotpo Store \",\n },\n uToken: {\n type: \"string\",\n displayName: \"UToken\",\n description:\n \"Utoken is required in non-public API calls to ensure private account data is accessible only by authorized users.\",\n },\n },\n};\n\nexport function YotpoCredentialsProvider({\n appKey,\n uToken,\n children,\n}: React.PropsWithChildren<YotpoProps>) {\n return (\n <CredentialsContext.Provider value={{ appKey, uToken }}>\n {children}\n </CredentialsContext.Provider>\n );\n}\n\ninterface YotpoReviewsProps {\n reviewId?: string;\n productPrice?: string;\n currency?: string;\n setControlContextData?: (data: {\n reviews?: { name: string; id: number }[];\n }) => void;\n className?: string;\n}\n\nexport const YotpoReviewsMeta: ComponentMeta<YotpoReviewsProps> = {\n name: \"hostless-yotpo-star-reviews\",\n displayName: \"Yotpo Reviews\",\n importName: \"YotpoReviews\",\n importPath: modulePath,\n providesData: true,\n description: \"Yotpo Reviews for your product pages \",\n defaultStyles: {\n width: \"400px\",\n height: \"600px\",\n },\n props: {\n reviewId: {\n type: \"choice\",\n options: (props, ctx) =>\n ctx?.reviews?.map((item: any) => ({\n label: item?.name,\n value: item?.id,\n })) ?? [],\n displayName: \"Review\",\n description: \"Review Widget which to be displayed\",\n },\n productPrice: {\n type: \"string\",\n displayName: \"Price\",\n description: \"Price of the Product\",\n },\n currency: {\n type: \"string\",\n displayName: \"Currency\",\n description: \"Currency\",\n },\n },\n};\n\nexport function YotpoReviews({\n reviewId,\n setControlContextData,\n productPrice,\n currency,\n className,\n}: YotpoReviewsProps) {\n const creds = ensure(useContext(CredentialsContext));\n const cacheKey = JSON.stringify({\n creds,\n reviewId,\n });\n React.useEffect(() => {\n const script = document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.async = true;\n script.innerHTML = `(function e(){var e=document.createElement(\"script\");e.type=\"text/javascript\",e.async=true,e.src=\"//staticw2.yotpo.com/${creds.appKey}/widget.js\";var t=document.getElementsByTagName(\"script\")[0];t.parentNode.insertBefore(e,t)})();`;\n document.body.appendChild(script);\n\n return () => {\n document.body.removeChild(script);\n };\n }, [creds]);\n\n const { data: reviewsData } = usePlasmicQueryData<any | null>(\n `${cacheKey}/reviews`,\n async () => {\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/v1/apps/${creds.appKey}/reviews?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n\n const { data: reviewData } = usePlasmicQueryData<ReviewResponse | null>(\n `${cacheKey}/review`,\n async () => {\n if (!reviewId) {\n return undefined;\n }\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/reviews/${reviewId}?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n\n if (!reviewsData) {\n return (\n <div>\n Please configure the Yotpo Credentials provider with valid AppKey.\n </div>\n );\n }\n const data = Object.values(reviewsData).map((item: any) => item);\n\n setControlContextData?.({\n reviews: data[0] || [],\n });\n\n if (!creds.uToken || !creds.appKey) {\n return <div>Please specify a valid API Credentials: uToken,appKey</div>;\n }\n\n if (!reviewData) {\n return <div>Please choose the reviewId</div>;\n }\n\n if (!productPrice || !currency) {\n return <div> Please enter Product price and Currency</div>;\n }\n\n const review = Object.values(reviewsData).flatMap((item: any, i: number) =>\n (isArray(item) ? item : [item]).filter(\n (review: any) => review.id === reviewId\n )\n );\n\n const renderedData = reviewData?.response.review.products.map(\n (item: ProductElement) => {\n const imageUrl = item?.Product.images.map((image: Image) => {\n return image.image_url;\n });\n return (\n <div\n key={item.Product.id}\n className=\"yotpo yotpo-main-widget\"\n data-product-id={review[0]?.sku}\n data-price={productPrice}\n data-currency={currency}\n data-name={item?.Product.name}\n data-url={item?.Product.shorten_url}\n data-image-url={imageUrl}\n ></div>\n );\n }\n );\n return <div className={className}>{renderedData}</div>;\n}\n\ninterface YotpoStarRatingProps {\n productId: string;\n className?: string;\n setControlContextData?: (data: {\n reviews?: { name: string; id: number }[];\n }) => void;\n}\n\nexport const YotpoStarRatingMeta: ComponentMeta<YotpoStarRatingProps> = {\n name: \"hostless-yotpo-star-rating\",\n displayName: \"Yotpo Star Rating\",\n importName: \"YotpoStarRating\",\n importPath: modulePath,\n providesData: true,\n description: \"Yotpo Star Rating for your product pages \",\n props: {\n productId: {\n type: \"choice\",\n options: (props, ctx) =>\n ctx?.reviews?.map((item: any) => ({\n label: item?.name,\n value: item?.id,\n })) ?? [],\n displayName: \"Product\",\n description: \"Product which you want to show rating\",\n },\n },\n};\n\nexport function YotpoStarRating({\n productId,\n className,\n setControlContextData,\n}: YotpoStarRatingProps) {\n const creds = ensure(useContext(CredentialsContext));\n const cacheKey = JSON.stringify({\n creds,\n productId,\n });\n React.useEffect(() => {\n const script = document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.async = true;\n script.innerHTML = `(function e(){var e=document.createElement(\"script\");e.type=\"text/javascript\",e.async=true,e.src=\"//staticw2.yotpo.com/${creds.appKey}/widget.js\";var t=document.getElementsByTagName(\"script\")[0];t.parentNode.insertBefore(e,t)})();`;\n document.body.appendChild(script);\n\n return () => {\n document.body.removeChild(script);\n };\n }, [creds]);\n\n const { data: reviews } = usePlasmicQueryData<any | null>(\n `${cacheKey}/starReviews`,\n async () => {\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/v1/apps/${creds.appKey}/reviews?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n const { data: review } = usePlasmicQueryData<ReviewResponse | null>(\n `${cacheKey}/starReview`,\n async () => {\n if (!productId) {\n return undefined;\n }\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/reviews/${productId}?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n\n if (!creds.uToken || !creds.appKey) {\n return <div>Please specify a valid API Credentials: uToken,appKey</div>;\n }\n\n if (!reviews) {\n return (\n <div>\n Please configure the Yotpo Credentials provider with valid AppKey.\n </div>\n );\n }\n\n const data = Object.values(reviews).map((item: any) => item);\n\n setControlContextData?.({\n reviews: data[0] || [],\n });\n\n if (!review) {\n return (\n <div>\n Please configure the Yotpo Credentials provider with valid AppKey.\n </div>\n );\n }\n const product = Object.values(reviews).flatMap((item: any, i: number) =>\n (isArray(item) ? item : [item]).filter(\n (review: any) => review.id === productId\n )\n );\n\n const renderedData = review?.response.review.products.map(\n (item: ProductElement) => (\n <div\n className=\"yotpo bottomLine\"\n data-product-id={product[0]?.sku}\n data-url={item.Product.product_url}\n />\n )\n );\n\n return <div className={className}>{renderedData}</div>;\n}\n","import React from 'react'\nimport registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport {\n YotpoCredentialsProvider,\n YotpoCredentialsProviderMeta,\n YotpoReviewsMeta,\n YotpoReviews,\n YotpoStarRating,\n YotpoStarRatingMeta\n} from \"./yotpo\";\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n const _registerComponent = <T extends React.ComponentType<any>>(\n Component: T,\n defaultMeta: ComponentMeta<React.ComponentProps<T>>\n ) => {\n if (loader) {\n loader.registerComponent(Component, defaultMeta);\n } else {\n registerComponent(Component, defaultMeta);\n }\n };\n\n if (loader) {\n loader.registerGlobalContext(\n YotpoCredentialsProvider,\n YotpoCredentialsProviderMeta\n );\n } else {\n registerGlobalContext(\n YotpoCredentialsProvider,\n YotpoCredentialsProviderMeta\n );\n }\n\n _registerComponent(YotpoReviews, YotpoReviewsMeta);\n _registerComponent(YotpoStarRating, YotpoStarRatingMeta);\n\n}\n\nexport * from \"./yotpo\";\n"],"names":["ensure","x","undefined","Error","modulePath","CredentialsContext","React","createContext","YotpoCredentialsProviderMeta","name","displayName","description","importName","importPath","props","appKey","type","uToken","YotpoCredentialsProvider","_ref","children","Provider","value","YotpoReviewsMeta","providesData","defaultStyles","width","height","reviewId","options","ctx","_ctx$reviews$map","_ctx$reviews","reviews","map","item","label","id","productPrice","currency","YotpoReviews","_ref2","setControlContextData","className","creds","useContext","cacheKey","JSON","stringify","useEffect","script","document","createElement","async","innerHTML","body","appendChild","removeChild","_usePlasmicQueryData","usePlasmicQueryData","_asyncToGenerator","_regeneratorRuntime","mark","_callee","res","wrap","_callee$","_context","prev","next","method","headers","accept","fetch","sent","abrupt","json","stop","reviewsData","data","_usePlasmicQueryData2","_callee2","_callee2$","_context2","reviewData","Object","values","review","flatMap","i","isArray","filter","renderedData","response","products","imageUrl","Product","images","image","image_url","key","_review$","sku","shorten_url","YotpoStarRatingMeta","productId","_ctx$reviews$map2","_ctx$reviews2","YotpoStarRating","_ref5","_usePlasmicQueryData3","_callee3","_callee3$","_context3","_usePlasmicQueryData4","_callee4","_callee4$","_context4","product","_product$","product_url","registerAll","loader","_registerComponent","Component","defaultMeta","registerComponent","registerGlobalContext"],"mappings":"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"}
1
+ {"version":3,"file":"plasmic-yotpo.esm.js","sources":["../src/yotpo.tsx","../src/index.tsx"],"sourcesContent":["import { CodeComponentMeta } from \"@plasmicapp/host/registerComponent\";\nimport { GlobalContextMeta } from \"@plasmicapp/host/registerGlobalContext\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport isArray from \"lodash/isArray\";\nimport React, { useContext } from \"react\";\n\nimport { Image, ProductElement, ReviewResponse } from \"./types\";\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\nconst modulePath = \"@plasmicpkgs/plasmic-yotpo\";\n\ninterface YotpoProps {\n appKey: string;\n uToken: string;\n}\n\nconst CredentialsContext = React.createContext<YotpoProps | undefined>(\n undefined\n);\n\nexport const YotpoCredentialsProviderMeta: GlobalContextMeta<YotpoProps> = {\n name: \"Yotpo\",\n displayName: \"Yotpo Credentials Provider\",\n description:\n \"Your app key is sometimes referred to as your Store ID.[get your App Key](https://support.yotpo.com/en/article/finding-your-yotpo-app-key-and-secret-key).\",\n importName: \"Yotpo\",\n importPath: modulePath,\n props: {\n appKey: {\n type: \"string\",\n displayName: \"App Key\",\n description: \"App Key of your Yotpo Store \",\n },\n uToken: {\n type: \"string\",\n displayName: \"UToken\",\n description:\n \"Utoken is required in non-public API calls to ensure private account data is accessible only by authorized users.\",\n },\n },\n};\n\nexport function YotpoCredentialsProvider({\n appKey,\n uToken,\n children,\n}: React.PropsWithChildren<YotpoProps>) {\n return (\n <CredentialsContext.Provider value={{ appKey, uToken }}>\n {children}\n </CredentialsContext.Provider>\n );\n}\n\ninterface YotpoReviewsProps {\n reviewId?: string;\n productPrice?: string;\n currency?: string;\n setControlContextData?: (data: {\n reviews?: { name: string; id: number }[];\n }) => void;\n className?: string;\n}\n\nexport const YotpoReviewsMeta: CodeComponentMeta<YotpoReviewsProps> = {\n name: \"hostless-yotpo-star-reviews\",\n displayName: \"Yotpo Reviews\",\n importName: \"YotpoReviews\",\n importPath: modulePath,\n providesData: true,\n description: \"Yotpo Reviews for your product pages \",\n defaultStyles: {\n width: \"400px\",\n height: \"600px\",\n },\n props: {\n reviewId: {\n type: \"choice\",\n options: (props, ctx) =>\n ctx?.reviews?.map((item: any) => ({\n label: item?.name,\n value: item?.id,\n })) ?? [],\n displayName: \"Review\",\n description: \"Review Widget which to be displayed\",\n },\n productPrice: {\n type: \"string\",\n displayName: \"Price\",\n description: \"Price of the Product\",\n },\n currency: {\n type: \"string\",\n displayName: \"Currency\",\n description: \"Currency\",\n },\n },\n};\n\nexport function YotpoReviews({\n reviewId,\n setControlContextData,\n productPrice,\n currency,\n className,\n}: YotpoReviewsProps) {\n const creds = ensure(useContext(CredentialsContext));\n const cacheKey = JSON.stringify({\n creds,\n reviewId,\n });\n React.useEffect(() => {\n const script = document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.async = true;\n script.innerHTML = `(function e(){var e=document.createElement(\"script\");e.type=\"text/javascript\",e.async=true,e.src=\"//staticw2.yotpo.com/${creds.appKey}/widget.js\";var t=document.getElementsByTagName(\"script\")[0];t.parentNode.insertBefore(e,t)})();`;\n document.body.appendChild(script);\n\n return () => {\n document.body.removeChild(script);\n };\n }, [creds]);\n\n const { data: reviewsData } = usePlasmicQueryData<any | null>(\n `${cacheKey}/reviews`,\n async () => {\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/v1/apps/${creds.appKey}/reviews?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n\n const { data: reviewData } = usePlasmicQueryData<ReviewResponse | null>(\n `${cacheKey}/review`,\n async () => {\n if (!reviewId) {\n return undefined;\n }\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/reviews/${reviewId}?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n\n if (!reviewsData) {\n return (\n <div>\n Please configure the Yotpo Credentials provider with valid AppKey.\n </div>\n );\n }\n const data = Object.values(reviewsData).map((item: any) => item);\n\n setControlContextData?.({\n reviews: data[0] || [],\n });\n\n if (!creds.uToken || !creds.appKey) {\n return <div>Please specify a valid API Credentials: uToken,appKey</div>;\n }\n\n if (!reviewData) {\n return <div>Please choose the reviewId</div>;\n }\n\n if (!productPrice || !currency) {\n return <div> Please enter Product price and Currency</div>;\n }\n\n const review = Object.values(reviewsData).flatMap((item: any) =>\n (isArray(item) ? item : [item]).filter((r: any) => r.id === reviewId)\n );\n\n const renderedData = reviewData?.response.review.products.map(\n (item: ProductElement) => {\n const imageUrl = item?.Product.images.map((image: Image) => {\n return image.image_url;\n });\n return (\n <div\n key={item.Product.id}\n className=\"yotpo yotpo-main-widget\"\n data-product-id={review[0]?.sku}\n data-price={productPrice}\n data-currency={currency}\n data-name={item?.Product.name}\n data-url={item?.Product.shorten_url}\n data-image-url={imageUrl}\n ></div>\n );\n }\n );\n return <div className={className}>{renderedData}</div>;\n}\n\ninterface YotpoStarRatingProps {\n productId: string;\n className?: string;\n setControlContextData?: (data: {\n reviews?: { name: string; id: number }[];\n }) => void;\n}\n\nexport const YotpoStarRatingMeta: CodeComponentMeta<YotpoStarRatingProps> = {\n name: \"hostless-yotpo-star-rating\",\n displayName: \"Yotpo Star Rating\",\n importName: \"YotpoStarRating\",\n importPath: modulePath,\n providesData: true,\n description: \"Yotpo Star Rating for your product pages \",\n props: {\n productId: {\n type: \"choice\",\n options: (props, ctx) =>\n ctx?.reviews?.map((item: any) => ({\n label: item?.name,\n value: item?.id,\n })) ?? [],\n displayName: \"Product\",\n description: \"Product which you want to show rating\",\n },\n },\n};\n\nexport function YotpoStarRating({\n productId,\n className,\n setControlContextData,\n}: YotpoStarRatingProps) {\n const creds = ensure(useContext(CredentialsContext));\n const cacheKey = JSON.stringify({\n creds,\n productId,\n });\n React.useEffect(() => {\n const script = document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.async = true;\n script.innerHTML = `(function e(){var e=document.createElement(\"script\");e.type=\"text/javascript\",e.async=true,e.src=\"//staticw2.yotpo.com/${creds.appKey}/widget.js\";var t=document.getElementsByTagName(\"script\")[0];t.parentNode.insertBefore(e,t)})();`;\n document.body.appendChild(script);\n\n return () => {\n document.body.removeChild(script);\n };\n }, [creds]);\n\n const { data: reviews } = usePlasmicQueryData<any | null>(\n `${cacheKey}/starReviews`,\n async () => {\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/v1/apps/${creds.appKey}/reviews?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n const { data: review } = usePlasmicQueryData<ReviewResponse | null>(\n `${cacheKey}/starReview`,\n async () => {\n if (!productId) {\n return undefined;\n }\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/reviews/${productId}?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n\n if (!creds.uToken || !creds.appKey) {\n return <div>Please specify a valid API Credentials: uToken,appKey</div>;\n }\n\n if (!reviews) {\n return (\n <div>\n Please configure the Yotpo Credentials provider with valid AppKey.\n </div>\n );\n }\n\n const data = Object.values(reviews).map((item: any) => item);\n\n setControlContextData?.({\n reviews: data[0] || [],\n });\n\n if (!review) {\n return (\n <div>\n Please configure the Yotpo Credentials provider with valid AppKey.\n </div>\n );\n }\n const product = Object.values(reviews).flatMap((item: any) =>\n (isArray(item) ? item : [item]).filter((r: any) => r.id === productId)\n );\n\n const renderedData = review?.response.review.products.map(\n (item: ProductElement) => (\n <div\n className=\"yotpo bottomLine\"\n data-product-id={product[0]?.sku}\n data-url={item.Product.product_url}\n />\n )\n );\n\n return <div className={className}>{renderedData}</div>;\n}\n","import registerComponent, {\n CodeComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport React from \"react\";\nimport {\n YotpoCredentialsProvider,\n YotpoCredentialsProviderMeta,\n YotpoReviews,\n YotpoReviewsMeta,\n YotpoStarRating,\n YotpoStarRatingMeta,\n} from \"./yotpo\";\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n const _registerComponent = <T extends React.ComponentType<any>>(\n Component: T,\n defaultMeta: CodeComponentMeta<React.ComponentProps<T>>\n ) => {\n if (loader) {\n loader.registerComponent(Component, defaultMeta);\n } else {\n registerComponent(Component, defaultMeta);\n }\n };\n\n if (loader) {\n loader.registerGlobalContext(\n YotpoCredentialsProvider,\n YotpoCredentialsProviderMeta\n );\n } else {\n registerGlobalContext(\n YotpoCredentialsProvider,\n YotpoCredentialsProviderMeta\n );\n }\n\n _registerComponent(YotpoReviews, YotpoReviewsMeta);\n _registerComponent(YotpoStarRating, YotpoStarRatingMeta);\n}\n\nexport * from \"./yotpo\";\n"],"names":["ensure","x","undefined","Error","modulePath","CredentialsContext","React","createContext","YotpoCredentialsProviderMeta","name","displayName","description","importName","importPath","props","appKey","type","uToken","YotpoCredentialsProvider","_ref","children","Provider","value","YotpoReviewsMeta","providesData","defaultStyles","width","height","reviewId","options","ctx","_ctx$reviews$map","_ctx$reviews","reviews","map","item","label","id","productPrice","currency","YotpoReviews","_ref2","setControlContextData","className","creds","useContext","cacheKey","JSON","stringify","useEffect","script","document","createElement","async","innerHTML","body","appendChild","removeChild","_usePlasmicQueryData","usePlasmicQueryData","_asyncToGenerator","_regeneratorRuntime","mark","_callee","res","wrap","_callee$","_context","prev","next","method","headers","accept","fetch","sent","abrupt","json","stop","reviewsData","data","_usePlasmicQueryData2","_callee2","_callee2$","_context2","reviewData","Object","values","review","flatMap","isArray","filter","r","renderedData","response","products","imageUrl","Product","images","image","image_url","key","_review$","sku","shorten_url","YotpoStarRatingMeta","productId","_ctx$reviews$map2","_ctx$reviews2","YotpoStarRating","_ref5","_usePlasmicQueryData3","_callee3","_callee3$","_context3","_usePlasmicQueryData4","_callee4","_callee4$","_context4","product","_product$","product_url","registerAll","loader","_registerComponent","Component","defaultMeta","registerComponent","registerGlobalContext"],"mappings":"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"}
package/dist/yotpo.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { ComponentMeta, GlobalContextMeta } from "@plasmicapp/host";
1
+ import { CodeComponentMeta } from "@plasmicapp/host/registerComponent";
2
+ import { GlobalContextMeta } from "@plasmicapp/host/registerGlobalContext";
2
3
  import React from "react";
3
4
  export declare function ensure<T>(x: T | null | undefined): T;
4
5
  interface YotpoProps {
@@ -19,7 +20,7 @@ interface YotpoReviewsProps {
19
20
  }) => void;
20
21
  className?: string;
21
22
  }
22
- export declare const YotpoReviewsMeta: ComponentMeta<YotpoReviewsProps>;
23
+ export declare const YotpoReviewsMeta: CodeComponentMeta<YotpoReviewsProps>;
23
24
  export declare function YotpoReviews({ reviewId, setControlContextData, productPrice, currency, className, }: YotpoReviewsProps): React.JSX.Element;
24
25
  interface YotpoStarRatingProps {
25
26
  productId: string;
@@ -31,6 +32,6 @@ interface YotpoStarRatingProps {
31
32
  }[];
32
33
  }) => void;
33
34
  }
34
- export declare const YotpoStarRatingMeta: ComponentMeta<YotpoStarRatingProps>;
35
+ export declare const YotpoStarRatingMeta: CodeComponentMeta<YotpoStarRatingProps>;
35
36
  export declare function YotpoStarRating({ productId, className, setControlContextData, }: YotpoStarRatingProps): React.JSX.Element;
36
37
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plasmicpkgs/plasmic-yotpo",
3
- "version": "0.0.77",
3
+ "version": "0.0.79",
4
4
  "description": "Plasmic Yotpo components.",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -34,8 +34,8 @@
34
34
  }
35
35
  ],
36
36
  "devDependencies": {
37
- "@plasmicapp/host": "1.0.233",
38
- "@plasmicapp/query": "0.1.81",
37
+ "@plasmicapp/host": "1.0.234",
38
+ "@plasmicapp/query": "0.1.82",
39
39
  "@types/dlv": "^1.1.2",
40
40
  "@types/react": "^18.0.27",
41
41
  "@types/react-dom": "^18.0.10",
@@ -51,5 +51,5 @@
51
51
  "dlv": "^1.1.3",
52
52
  "lodash": "^4.17.21"
53
53
  },
54
- "gitHead": "592d26e3b6a7199b682855fba6458851a37d7e3d"
54
+ "gitHead": "bbba4b6636e69a3441c6dbe4cefb860ed30e826f"
55
55
  }