@plasmicpkgs/plasmic-yotpo 0.0.53 → 0.0.55

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.
@@ -11,6 +11,31 @@ var isArray = _interopDefault(require('lodash/isArray'));
11
11
  var React = require('react');
12
12
  var React__default = _interopDefault(React);
13
13
 
14
+ function asyncGeneratorStep(n, t, e, r, o, a, c) {
15
+ try {
16
+ var i = n[a](c),
17
+ u = i.value;
18
+ } catch (n) {
19
+ return void e(n);
20
+ }
21
+ i.done ? t(u) : Promise.resolve(u).then(r, o);
22
+ }
23
+ function _asyncToGenerator(n) {
24
+ return function () {
25
+ var t = this,
26
+ e = arguments;
27
+ return new Promise(function (r, o) {
28
+ var a = n.apply(t, e);
29
+ function _next(n) {
30
+ asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
31
+ }
32
+ function _throw(n) {
33
+ asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
34
+ }
35
+ _next(void 0);
36
+ });
37
+ };
38
+ }
14
39
  function _regeneratorRuntime() {
15
40
  _regeneratorRuntime = function () {
16
41
  return e;
@@ -119,7 +144,7 @@ function _regeneratorRuntime() {
119
144
  function makeInvokeMethod(e, r, n) {
120
145
  var o = h;
121
146
  return function (i, a) {
122
- if (o === f) throw new Error("Generator is already running");
147
+ if (o === f) throw Error("Generator is already running");
123
148
  if (o === s) {
124
149
  if ("throw" === i) throw a;
125
150
  return {
@@ -261,7 +286,7 @@ function _regeneratorRuntime() {
261
286
  } else if (c) {
262
287
  if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
263
288
  } else {
264
- if (!u) throw new Error("try statement without catch or finally");
289
+ if (!u) throw Error("try statement without catch or finally");
265
290
  if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
266
291
  }
267
292
  }
@@ -301,7 +326,7 @@ function _regeneratorRuntime() {
301
326
  return o;
302
327
  }
303
328
  }
304
- throw new Error("illegal catch attempt");
329
+ throw Error("illegal catch attempt");
305
330
  },
306
331
  delegateYield: function (e, r, n) {
307
332
  return this.delegate = {
@@ -312,36 +337,6 @@ function _regeneratorRuntime() {
312
337
  }
313
338
  }, e;
314
339
  }
315
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
316
- try {
317
- var info = gen[key](arg);
318
- var value = info.value;
319
- } catch (error) {
320
- reject(error);
321
- return;
322
- }
323
- if (info.done) {
324
- resolve(value);
325
- } else {
326
- Promise.resolve(value).then(_next, _throw);
327
- }
328
- }
329
- function _asyncToGenerator(fn) {
330
- return function () {
331
- var self = this,
332
- args = arguments;
333
- return new Promise(function (resolve, reject) {
334
- var gen = fn.apply(self, args);
335
- function _next(value) {
336
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
337
- }
338
- function _throw(err) {
339
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
340
- }
341
- _next(undefined);
342
- });
343
- };
344
- }
345
340
 
346
341
  function ensure(x) {
347
342
  if (x === null || x === undefined) {
@@ -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 { 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,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(){u=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",c=a.asyncIterator||"@@asyncIterator",s=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 new 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,s,"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,s,"GeneratorFunction")),e.prototype=Object.create(P),e},t.awrap=function(e){return{__await:e}},k(j.prototype),p(j.prototype,c,(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,s,"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 new 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 new 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 c(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 s(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){c(a,n,o,i,u,"next",e)}function u(e){c(a,n,o,i,u,"throw",e)}i(void 0)}))}}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,c=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",s(u().mark((function e(){var t;return u().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",s(u().mark((function e(){var r;return u().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(!c||!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":c,"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,c=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",s(u().mark((function e(){var t;return u().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",s(u().mark((function e(){var r;return u().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==c||c({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,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)};
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":"igOAOgBA,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 { 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":"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"}
@@ -4,6 +4,31 @@ import { usePlasmicQueryData } from '@plasmicapp/query';
4
4
  import isArray from 'lodash-es/isArray';
5
5
  import React, { useContext } from 'react';
6
6
 
7
+ function asyncGeneratorStep(n, t, e, r, o, a, c) {
8
+ try {
9
+ var i = n[a](c),
10
+ u = i.value;
11
+ } catch (n) {
12
+ return void e(n);
13
+ }
14
+ i.done ? t(u) : Promise.resolve(u).then(r, o);
15
+ }
16
+ function _asyncToGenerator(n) {
17
+ return function () {
18
+ var t = this,
19
+ e = arguments;
20
+ return new Promise(function (r, o) {
21
+ var a = n.apply(t, e);
22
+ function _next(n) {
23
+ asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
24
+ }
25
+ function _throw(n) {
26
+ asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
27
+ }
28
+ _next(void 0);
29
+ });
30
+ };
31
+ }
7
32
  function _regeneratorRuntime() {
8
33
  _regeneratorRuntime = function () {
9
34
  return e;
@@ -112,7 +137,7 @@ function _regeneratorRuntime() {
112
137
  function makeInvokeMethod(e, r, n) {
113
138
  var o = h;
114
139
  return function (i, a) {
115
- if (o === f) throw new Error("Generator is already running");
140
+ if (o === f) throw Error("Generator is already running");
116
141
  if (o === s) {
117
142
  if ("throw" === i) throw a;
118
143
  return {
@@ -254,7 +279,7 @@ function _regeneratorRuntime() {
254
279
  } else if (c) {
255
280
  if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
256
281
  } else {
257
- if (!u) throw new Error("try statement without catch or finally");
282
+ if (!u) throw Error("try statement without catch or finally");
258
283
  if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
259
284
  }
260
285
  }
@@ -294,7 +319,7 @@ function _regeneratorRuntime() {
294
319
  return o;
295
320
  }
296
321
  }
297
- throw new Error("illegal catch attempt");
322
+ throw Error("illegal catch attempt");
298
323
  },
299
324
  delegateYield: function (e, r, n) {
300
325
  return this.delegate = {
@@ -305,36 +330,6 @@ function _regeneratorRuntime() {
305
330
  }
306
331
  }, e;
307
332
  }
308
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
309
- try {
310
- var info = gen[key](arg);
311
- var value = info.value;
312
- } catch (error) {
313
- reject(error);
314
- return;
315
- }
316
- if (info.done) {
317
- resolve(value);
318
- } else {
319
- Promise.resolve(value).then(_next, _throw);
320
- }
321
- }
322
- function _asyncToGenerator(fn) {
323
- return function () {
324
- var self = this,
325
- args = arguments;
326
- return new Promise(function (resolve, reject) {
327
- var gen = fn.apply(self, args);
328
- function _next(value) {
329
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
330
- }
331
- function _throw(err) {
332
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
333
- }
334
- _next(undefined);
335
- });
336
- };
337
- }
338
333
 
339
334
  function ensure(x) {
340
335
  if (x === null || x === undefined) {
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAOgBA,MAAMA,CAAIC,CAAuB;EAC/C,IAAIA,CAAC,KAAK,IAAI,IAAIA,CAAC,KAAKC,SAAS,EAAE;IACjC;IACA,MAAM,IAAIC,KAAK,sCAAsC,CAAC;GACvD,MAAM;IACL,OAAOF,CAAC;;AAEZ;AAEA,IAAMG,UAAU,GAAG,4BAA4B;AAO/C,IAAMC,kBAAkB,gBAAGC,KAAK,CAACC,aAAa,CAC5CL,SAAS,CACV;IAEYM,4BAA4B,GAAkC;EACzEC,IAAI,EAAE,OAAO;EACbC,WAAW,EAAE,4BAA4B;EACzCC,WAAW,EACT,4JAA4J;EAC9JC,UAAU,EAAE,OAAO;EACnBC,UAAU,EAAET,UAAU;EACtBU,KAAK,EAAE;IACLC,MAAM,EAAE;MACNC,IAAI,EAAE,QAAQ;MACdN,WAAW,EAAE,SAAS;MACtBC,WAAW,EAAE;KACd;IACDM,MAAM,EAAE;MACND,IAAI,EAAE,QAAQ;MACdN,WAAW,EAAE,QAAQ;MACrBC,WAAW,EACT;;;;SAKQO,wBAAwBA,CAAAC,IAAA;MACtCJ,MAAM,GAAAI,IAAA,CAANJ,MAAM;IACNE,MAAM,GAAAE,IAAA,CAANF,MAAM;IACNG,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EAER,OACEd,oBAACD,kBAAkB,CAACgB,QAAQ;IAACC,KAAK,EAAE;MAAEP,MAAM,EAANA,MAAM;MAAEE,MAAM,EAANA;;KAC3CG,QAAQ,CACmB;AAElC;IAYaG,gBAAgB,GAAqC;EAChEd,IAAI,EAAE,6BAA6B;EACnCC,WAAW,EAAE,eAAe;EAC5BE,UAAU,EAAE,cAAc;EAC1BC,UAAU,EAAET,UAAU;EACtBoB,YAAY,EAAE,IAAI;EAClBb,WAAW,EAAE,uCAAuC;EACpDc,aAAa,EAAE;IACbC,KAAK,EAAE,OAAO;IACdC,MAAM,EAAE;GACT;EACDb,KAAK,EAAE;IACLc,QAAQ,EAAE;MACRZ,IAAI,EAAE,QAAQ;MACda,OAAO,EAAE,SAAAA,QAACf,KAAK,EAAEgB,GAAG;QAAA,IAAAC,gBAAA,EAAAC,YAAA;QAAA,QAAAD,gBAAA,GAClBD,GAAG,aAAAE,YAAA,GAAHF,GAAG,CAAEG,OAAO,qBAAZD,YAAA,CAAcE,GAAG,CAAC,UAACC,IAAS;UAAA,OAAM;YAChCC,KAAK,EAAED,IAAI,oBAAJA,IAAI,CAAE1B,IAAI;YACjBa,KAAK,EAAEa,IAAI,oBAAJA,IAAI,CAAEE;WACd;SAAC,CAAC,YAAAN,gBAAA,GAAI,EAAE;;MACXrB,WAAW,EAAE,QAAQ;MACrBC,WAAW,EAAE;KACd;IACD2B,YAAY,EAAE;MACZtB,IAAI,EAAE,QAAQ;MACdN,WAAW,EAAE,OAAO;MACpBC,WAAW,EAAE;KACd;IACD4B,QAAQ,EAAE;MACRvB,IAAI,EAAE,QAAQ;MACdN,WAAW,EAAE,UAAU;MACvBC,WAAW,EAAE;;;;SAKH6B,YAAYA,CAAAC,KAAA;MAC1Bb,QAAQ,GAAAa,KAAA,CAARb,QAAQ;IACRc,qBAAqB,GAAAD,KAAA,CAArBC,qBAAqB;IACrBJ,YAAY,GAAAG,KAAA,CAAZH,YAAY;IACZC,QAAQ,GAAAE,KAAA,CAARF,QAAQ;IACRI,SAAS,GAAAF,KAAA,CAATE,SAAS;EAET,IAAMC,KAAK,GAAG5C,MAAM,CAAC6C,UAAU,CAACxC,kBAAkB,CAAC,CAAC;EACpD,IAAMyC,QAAQ,GAAGC,IAAI,CAACC,SAAS,CAAC;IAC9BJ,KAAK,EAALA,KAAK;IACLhB,QAAQ,EAARA;GACD,CAAC;EACFtB,KAAK,CAAC2C,SAAS,CAAC;IACd,IAAMC,MAAM,GAAGC,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC;IAC/CF,MAAM,CAAClC,IAAI,GAAG,iBAAiB;IAC/BkC,MAAM,CAACG,KAAK,GAAG,IAAI;IACnBH,MAAM,CAACI,SAAS,oIAA6HV,KAAK,CAAC7B,MAAM,wGAAkG;IAC3PoC,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACN,MAAM,CAAC;IAEjC,OAAO;MACLC,QAAQ,CAACI,IAAI,CAACE,WAAW,CAACP,MAAM,CAAC;KAClC;GACF,EAAE,CAACN,KAAK,CAAC,CAAC;EAEX,IAAAc,oBAAA,GAA8BC,mBAAmB,CAC5Cb,QAAQ,4BAAAc,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CACX,SAAAC;MAAA,IAAAlC,OAAA,EAAAmC,GAAA;MAAA,OAAAH,mBAAA,GAAAI,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YACQxC,OAAO,GAAG;cACdyC,MAAM,EAAE,KAAK;cACbC,OAAO,EAAE;gBACPC,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE;;aAEnB;YAAAL,QAAA,CAAAE,IAAA;YAAA,OAEiBI,KAAK,oCACY7B,KAAK,CAAC7B,MAAM,wBAAmB6B,KAAK,CAAC3B,MAAM,EAC5EY,OAAO,CACR;UAAA;YAHKmC,GAAG,GAAAG,QAAA,CAAAO,IAAA;YAAA,OAAAP,QAAA,CAAAQ,MAAA,WAIFX,GAAG,CAACY,IAAI,EAAE;UAAA;UAAA;YAAA,OAAAT,QAAA,CAAAU,IAAA;;SAAAd,OAAA;KAClB,GACF;IAjBae,WAAW,GAAApB,oBAAA,CAAjBqB,IAAI;EAmBZ,IAAAC,qBAAA,GAA6BrB,mBAAmB,CAC3Cb,QAAQ,2BAAAc,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CACX,SAAAmB;MAAA,IAAApD,OAAA,EAAAmC,GAAA;MAAA,OAAAH,mBAAA,GAAAI,IAAA,UAAAiB,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAf,IAAA,GAAAe,SAAA,CAAAd,IAAA;UAAA;YAAA,IACOzC,QAAQ;cAAAuD,SAAA,CAAAd,IAAA;cAAA;;YAAA,OAAAc,SAAA,CAAAR,MAAA,WACJzE,SAAS;UAAA;YAEZ2B,OAAO,GAAG;cACdyC,MAAM,EAAE,KAAK;cACbC,OAAO,EAAE;gBACPC,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE;;aAEnB;YAAAW,SAAA,CAAAd,IAAA;YAAA,OAEiBI,KAAK,oCACY7C,QAAQ,gBAAWgB,KAAK,CAAC3B,MAAM,EAChEY,OAAO,CACR;UAAA;YAHKmC,GAAG,GAAAmB,SAAA,CAAAT,IAAA;YAAA,OAAAS,SAAA,CAAAR,MAAA,WAIFX,GAAG,CAACY,IAAI,EAAE;UAAA;UAAA;YAAA,OAAAO,SAAA,CAAAN,IAAA;;SAAAI,QAAA;KAClB,GACF;IApBaG,UAAU,GAAAJ,qBAAA,CAAhBD,IAAI;EAsBZ,IAAI,CAACD,WAAW,EAAE;IAChB,OACExE,sGAEM;;EAGV,IAAMyE,IAAI,GAAGM,MAAM,CAACC,MAAM,CAACR,WAAW,CAAC,CAAC5C,GAAG,CAAC,UAACC,IAAS;IAAA,OAAKA,IAAI;IAAC;EAEhEO,qBAAqB,YAArBA,qBAAqB,CAAG;IACtBT,OAAO,EAAE8C,IAAI,CAAC,CAAC,CAAC,IAAI;GACrB,CAAC;EAEF,IAAI,CAACnC,KAAK,CAAC3B,MAAM,IAAI,CAAC2B,KAAK,CAAC7B,MAAM,EAAE;IAClC,OAAOT,yFAAgE;;EAGzE,IAAI,CAAC8E,UAAU,EAAE;IACf,OAAO9E,8DAAqC;;EAG9C,IAAI,CAACgC,YAAY,IAAI,CAACC,QAAQ,EAAE;IAC9B,OAAOjC,4EAAmD;;EAG5D,IAAMiF,MAAM,GAAGF,MAAM,CAACC,MAAM,CAACR,WAAW,CAAC,CAACU,OAAO,CAAC,UAACrD,IAAS,EAAEsD,CAAS;IAAA,OACrE,CAACC,OAAO,CAACvD,IAAI,CAAC,GAAGA,IAAI,GAAG,CAACA,IAAI,CAAC,EAAEwD,MAAM,CACpC,UAACJ,MAAW;MAAA,OAAKA,MAAM,CAAClD,EAAE,KAAKT,QAAQ;MACxC;IACF;EAED,IAAMgE,YAAY,GAAGR,UAAU,oBAAVA,UAAU,CAAES,QAAQ,CAACN,MAAM,CAACO,QAAQ,CAAC5D,GAAG,CAC3D,UAACC,IAAoB;;IACnB,IAAM4D,QAAQ,GAAG5D,IAAI,oBAAJA,IAAI,CAAE6D,OAAO,CAACC,MAAM,CAAC/D,GAAG,CAAC,UAACgE,KAAY;MACrD,OAAOA,KAAK,CAACC,SAAS;KACvB,CAAC;IACF,OACE7F;MACE8F,GAAG,EAAEjE,IAAI,CAAC6D,OAAO,CAAC3D,EAAE;MACpBM,SAAS,EAAC,yBAAyB;qCAClB4C,MAAM,CAAC,CAAC,CAAC,qBAATc,QAAA,CAAWC,GAAG;oBACnBhE,YAAY;uBACTC,QAAQ;mBACZJ,IAAI,oBAAJA,IAAI,CAAE6D,OAAO,CAACvF,IAAI;kBACnB0B,IAAI,oBAAJA,IAAI,CAAE6D,OAAO,CAACO,WAAW;wBACnBR;MACX;GAEV,CACF;EACD,OAAOzF;IAAKqC,SAAS,EAAEA;KAAYiD,YAAY,CAAO;AACxD;IAUaY,mBAAmB,GAAwC;EACtE/F,IAAI,EAAE,4BAA4B;EAClCC,WAAW,EAAE,mBAAmB;EAChCE,UAAU,EAAE,iBAAiB;EAC7BC,UAAU,EAAET,UAAU;EACtBoB,YAAY,EAAE,IAAI;EAClBb,WAAW,EAAE,2CAA2C;EACxDG,KAAK,EAAE;IACL2F,SAAS,EAAE;MACTzF,IAAI,EAAE,QAAQ;MACda,OAAO,EAAE,SAAAA,QAACf,KAAK,EAAEgB,GAAG;QAAA,IAAA4E,iBAAA,EAAAC,aAAA;QAAA,QAAAD,iBAAA,GAClB5E,GAAG,aAAA6E,aAAA,GAAH7E,GAAG,CAAEG,OAAO,qBAAZ0E,aAAA,CAAczE,GAAG,CAAC,UAACC,IAAS;UAAA,OAAM;YAChCC,KAAK,EAAED,IAAI,oBAAJA,IAAI,CAAE1B,IAAI;YACjBa,KAAK,EAAEa,IAAI,oBAAJA,IAAI,CAAEE;WACd;SAAC,CAAC,YAAAqE,iBAAA,GAAI,EAAE;;MACXhG,WAAW,EAAE,SAAS;MACtBC,WAAW,EAAE;;;;SAKHiG,eAAeA,CAAAC,KAAA;MAC7BJ,SAAS,GAAAI,KAAA,CAATJ,SAAS;IACT9D,SAAS,GAAAkE,KAAA,CAATlE,SAAS;IACTD,qBAAqB,GAAAmE,KAAA,CAArBnE,qBAAqB;EAErB,IAAME,KAAK,GAAG5C,MAAM,CAAC6C,UAAU,CAACxC,kBAAkB,CAAC,CAAC;EACpD,IAAMyC,QAAQ,GAAGC,IAAI,CAACC,SAAS,CAAC;IAC9BJ,KAAK,EAALA,KAAK;IACL6D,SAAS,EAATA;GACD,CAAC;EACFnG,KAAK,CAAC2C,SAAS,CAAC;IACd,IAAMC,MAAM,GAAGC,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC;IAC/CF,MAAM,CAAClC,IAAI,GAAG,iBAAiB;IAC/BkC,MAAM,CAACG,KAAK,GAAG,IAAI;IACnBH,MAAM,CAACI,SAAS,oIAA6HV,KAAK,CAAC7B,MAAM,wGAAkG;IAC3PoC,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACN,MAAM,CAAC;IAEjC,OAAO;MACLC,QAAQ,CAACI,IAAI,CAACE,WAAW,CAACP,MAAM,CAAC;KAClC;GACF,EAAE,CAACN,KAAK,CAAC,CAAC;EAEX,IAAAkE,qBAAA,GAA0BnD,mBAAmB,CACxCb,QAAQ,gCAAAc,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CACX,SAAAiD;MAAA,IAAAlF,OAAA,EAAAmC,GAAA;MAAA,OAAAH,mBAAA,GAAAI,IAAA,UAAA+C,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAA7C,IAAA,GAAA6C,SAAA,CAAA5C,IAAA;UAAA;YACQxC,OAAO,GAAG;cACdyC,MAAM,EAAE,KAAK;cACbC,OAAO,EAAE;gBACPC,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE;;aAEnB;YAAAyC,SAAA,CAAA5C,IAAA;YAAA,OAEiBI,KAAK,oCACY7B,KAAK,CAAC7B,MAAM,wBAAmB6B,KAAK,CAAC3B,MAAM,EAC5EY,OAAO,CACR;UAAA;YAHKmC,GAAG,GAAAiD,SAAA,CAAAvC,IAAA;YAAA,OAAAuC,SAAA,CAAAtC,MAAA,WAIFX,GAAG,CAACY,IAAI,EAAE;UAAA;UAAA;YAAA,OAAAqC,SAAA,CAAApC,IAAA;;SAAAkC,QAAA;KAClB,GACF;IAjBa9E,OAAO,GAAA6E,qBAAA,CAAb/B,IAAI;EAkBZ,IAAAmC,qBAAA,GAAyBvD,mBAAmB,CACvCb,QAAQ,+BAAAc,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CACX,SAAAqD;MAAA,IAAAtF,OAAA,EAAAmC,GAAA;MAAA,OAAAH,mBAAA,GAAAI,IAAA,UAAAmD,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAjD,IAAA,GAAAiD,SAAA,CAAAhD,IAAA;UAAA;YAAA,IACOoC,SAAS;cAAAY,SAAA,CAAAhD,IAAA;cAAA;;YAAA,OAAAgD,SAAA,CAAA1C,MAAA,WACLzE,SAAS;UAAA;YAEZ2B,OAAO,GAAG;cACdyC,MAAM,EAAE,KAAK;cACbC,OAAO,EAAE;gBACPC,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE;;aAEnB;YAAA6C,SAAA,CAAAhD,IAAA;YAAA,OAEiBI,KAAK,oCACYgC,SAAS,gBAAW7D,KAAK,CAAC3B,MAAM,EACjEY,OAAO,CACR;UAAA;YAHKmC,GAAG,GAAAqD,SAAA,CAAA3C,IAAA;YAAA,OAAA2C,SAAA,CAAA1C,MAAA,WAIFX,GAAG,CAACY,IAAI,EAAE;UAAA;UAAA;YAAA,OAAAyC,SAAA,CAAAxC,IAAA;;SAAAsC,QAAA;KAClB,GACF;IApBa5B,MAAM,GAAA2B,qBAAA,CAAZnC,IAAI;EAsBZ,IAAI,CAACnC,KAAK,CAAC3B,MAAM,IAAI,CAAC2B,KAAK,CAAC7B,MAAM,EAAE;IAClC,OAAOT,yFAAgE;;EAGzE,IAAI,CAAC2B,OAAO,EAAE;IACZ,OACE3B,sGAEM;;EAIV,IAAMyE,IAAI,GAAGM,MAAM,CAACC,MAAM,CAACrD,OAAO,CAAC,CAACC,GAAG,CAAC,UAACC,IAAS;IAAA,OAAKA,IAAI;IAAC;EAE5DO,qBAAqB,YAArBA,qBAAqB,CAAG;IACtBT,OAAO,EAAE8C,IAAI,CAAC,CAAC,CAAC,IAAI;GACrB,CAAC;EAEF,IAAI,CAACQ,MAAM,EAAE;IACX,OACEjF,sGAEM;;EAGV,IAAMgH,OAAO,GAAGjC,MAAM,CAACC,MAAM,CAACrD,OAAO,CAAC,CAACuD,OAAO,CAAC,UAACrD,IAAS,EAAEsD,CAAS;IAAA,OAClE,CAACC,OAAO,CAACvD,IAAI,CAAC,GAAGA,IAAI,GAAG,CAACA,IAAI,CAAC,EAAEwD,MAAM,CACpC,UAACJ,MAAW;MAAA,OAAKA,MAAM,CAAClD,EAAE,KAAKoE,SAAS;MACzC;IACF;EAED,IAAMb,YAAY,GAAGL,MAAM,oBAANA,MAAM,CAAEM,QAAQ,CAACN,MAAM,CAACO,QAAQ,CAAC5D,GAAG,CACvD,UAACC,IAAoB;IAAA,IAAAoF,SAAA;IAAA,OACnBjH;MACEqC,SAAS,EAAC,kBAAkB;sCACX2E,OAAO,CAAC,CAAC,CAAC,qBAAVC,SAAA,CAAYjB,GAAG;kBACtBnE,IAAI,CAAC6D,OAAO,CAACwB;MACvB;GACH,CACF;EAED,OAAOlH;IAAKqC,SAAS,EAAEA;KAAYiD,YAAY,CAAO;AACxD;;SCvVgB6B,WAAWA,CAACC,MAG3B;EACC,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CACtBC,SAAY,EACZC,WAAmD;IAEnD,IAAIH,MAAM,EAAE;MACVA,MAAM,CAACI,iBAAiB,CAACF,SAAS,EAAEC,WAAW,CAAC;KACjD,MAAM;MACLC,iBAAiB,CAACF,SAAS,EAAEC,WAAW,CAAC;;GAE5C;EAED,IAAIH,MAAM,EAAE;IACVA,MAAM,CAACK,qBAAqB,CAC1B7G,wBAAwB,EACxBV,4BAA4B,CAC7B;GACF,MAAM;IACLuH,qBAAqB,CACnB7G,wBAAwB,EACxBV,4BAA4B,CAC7B;;EAGHmH,kBAAkB,CAACnF,YAAY,EAAEjB,gBAAgB,CAAC;EAClDoG,kBAAkB,CAACf,eAAe,EAAEJ,mBAAmB,CAAC;AAE1D;;;;"}
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAOgBA,MAAMA,CAAIC,CAAuB;EAC/C,IAAIA,CAAC,KAAK,IAAI,IAAIA,CAAC,KAAKC,SAAS,EAAE;IACjC;IACA,MAAM,IAAIC,KAAK,sCAAsC,CAAC;GACvD,MAAM;IACL,OAAOF,CAAC;;AAEZ;AAEA,IAAMG,UAAU,GAAG,4BAA4B;AAO/C,IAAMC,kBAAkB,gBAAGC,KAAK,CAACC,aAAa,CAC5CL,SAAS,CACV;IAEYM,4BAA4B,GAAkC;EACzEC,IAAI,EAAE,OAAO;EACbC,WAAW,EAAE,4BAA4B;EACzCC,WAAW,EACT,4JAA4J;EAC9JC,UAAU,EAAE,OAAO;EACnBC,UAAU,EAAET,UAAU;EACtBU,KAAK,EAAE;IACLC,MAAM,EAAE;MACNC,IAAI,EAAE,QAAQ;MACdN,WAAW,EAAE,SAAS;MACtBC,WAAW,EAAE;KACd;IACDM,MAAM,EAAE;MACND,IAAI,EAAE,QAAQ;MACdN,WAAW,EAAE,QAAQ;MACrBC,WAAW,EACT;;;;SAKQO,wBAAwBA,CAAAC,IAAA;MACtCJ,MAAM,GAAAI,IAAA,CAANJ,MAAM;IACNE,MAAM,GAAAE,IAAA,CAANF,MAAM;IACNG,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EAER,OACEd,oBAACD,kBAAkB,CAACgB,QAAQ;IAACC,KAAK,EAAE;MAAEP,MAAM,EAANA,MAAM;MAAEE,MAAM,EAANA;;KAC3CG,QAAQ,CACmB;AAElC;IAYaG,gBAAgB,GAAqC;EAChEd,IAAI,EAAE,6BAA6B;EACnCC,WAAW,EAAE,eAAe;EAC5BE,UAAU,EAAE,cAAc;EAC1BC,UAAU,EAAET,UAAU;EACtBoB,YAAY,EAAE,IAAI;EAClBb,WAAW,EAAE,uCAAuC;EACpDc,aAAa,EAAE;IACbC,KAAK,EAAE,OAAO;IACdC,MAAM,EAAE;GACT;EACDb,KAAK,EAAE;IACLc,QAAQ,EAAE;MACRZ,IAAI,EAAE,QAAQ;MACda,OAAO,EAAE,SAAAA,QAACf,KAAK,EAAEgB,GAAG;QAAA,IAAAC,gBAAA,EAAAC,YAAA;QAAA,QAAAD,gBAAA,GAClBD,GAAG,aAAAE,YAAA,GAAHF,GAAG,CAAEG,OAAO,qBAAZD,YAAA,CAAcE,GAAG,CAAC,UAACC,IAAS;UAAA,OAAM;YAChCC,KAAK,EAAED,IAAI,oBAAJA,IAAI,CAAE1B,IAAI;YACjBa,KAAK,EAAEa,IAAI,oBAAJA,IAAI,CAAEE;WACd;SAAC,CAAC,YAAAN,gBAAA,GAAI,EAAE;;MACXrB,WAAW,EAAE,QAAQ;MACrBC,WAAW,EAAE;KACd;IACD2B,YAAY,EAAE;MACZtB,IAAI,EAAE,QAAQ;MACdN,WAAW,EAAE,OAAO;MACpBC,WAAW,EAAE;KACd;IACD4B,QAAQ,EAAE;MACRvB,IAAI,EAAE,QAAQ;MACdN,WAAW,EAAE,UAAU;MACvBC,WAAW,EAAE;;;;SAKH6B,YAAYA,CAAAC,KAAA;MAC1Bb,QAAQ,GAAAa,KAAA,CAARb,QAAQ;IACRc,qBAAqB,GAAAD,KAAA,CAArBC,qBAAqB;IACrBJ,YAAY,GAAAG,KAAA,CAAZH,YAAY;IACZC,QAAQ,GAAAE,KAAA,CAARF,QAAQ;IACRI,SAAS,GAAAF,KAAA,CAATE,SAAS;EAET,IAAMC,KAAK,GAAG5C,MAAM,CAAC6C,UAAU,CAACxC,kBAAkB,CAAC,CAAC;EACpD,IAAMyC,QAAQ,GAAGC,IAAI,CAACC,SAAS,CAAC;IAC9BJ,KAAK,EAALA,KAAK;IACLhB,QAAQ,EAARA;GACD,CAAC;EACFtB,KAAK,CAAC2C,SAAS,CAAC;IACd,IAAMC,MAAM,GAAGC,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC;IAC/CF,MAAM,CAAClC,IAAI,GAAG,iBAAiB;IAC/BkC,MAAM,CAACG,KAAK,GAAG,IAAI;IACnBH,MAAM,CAACI,SAAS,oIAA6HV,KAAK,CAAC7B,MAAM,wGAAkG;IAC3PoC,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACN,MAAM,CAAC;IAEjC,OAAO;MACLC,QAAQ,CAACI,IAAI,CAACE,WAAW,CAACP,MAAM,CAAC;KAClC;GACF,EAAE,CAACN,KAAK,CAAC,CAAC;EAEX,IAAAc,oBAAA,GAA8BC,mBAAmB,CAC5Cb,QAAQ,4BAAAc,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CACX,SAAAC;MAAA,IAAAlC,OAAA,EAAAmC,GAAA;MAAA,OAAAH,mBAAA,GAAAI,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YACQxC,OAAO,GAAG;cACdyC,MAAM,EAAE,KAAK;cACbC,OAAO,EAAE;gBACPC,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE;;aAEnB;YAAAL,QAAA,CAAAE,IAAA;YAAA,OAEiBI,KAAK,oCACY7B,KAAK,CAAC7B,MAAM,wBAAmB6B,KAAK,CAAC3B,MAAM,EAC5EY,OAAO,CACR;UAAA;YAHKmC,GAAG,GAAAG,QAAA,CAAAO,IAAA;YAAA,OAAAP,QAAA,CAAAQ,MAAA,WAIFX,GAAG,CAACY,IAAI,EAAE;UAAA;UAAA;YAAA,OAAAT,QAAA,CAAAU,IAAA;;SAAAd,OAAA;KAClB,GACF;IAjBae,WAAW,GAAApB,oBAAA,CAAjBqB,IAAI;EAmBZ,IAAAC,qBAAA,GAA6BrB,mBAAmB,CAC3Cb,QAAQ,2BAAAc,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CACX,SAAAmB;MAAA,IAAApD,OAAA,EAAAmC,GAAA;MAAA,OAAAH,mBAAA,GAAAI,IAAA,UAAAiB,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAf,IAAA,GAAAe,SAAA,CAAAd,IAAA;UAAA;YAAA,IACOzC,QAAQ;cAAAuD,SAAA,CAAAd,IAAA;cAAA;;YAAA,OAAAc,SAAA,CAAAR,MAAA,WACJzE,SAAS;UAAA;YAEZ2B,OAAO,GAAG;cACdyC,MAAM,EAAE,KAAK;cACbC,OAAO,EAAE;gBACPC,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE;;aAEnB;YAAAW,SAAA,CAAAd,IAAA;YAAA,OAEiBI,KAAK,oCACY7C,QAAQ,gBAAWgB,KAAK,CAAC3B,MAAM,EAChEY,OAAO,CACR;UAAA;YAHKmC,GAAG,GAAAmB,SAAA,CAAAT,IAAA;YAAA,OAAAS,SAAA,CAAAR,MAAA,WAIFX,GAAG,CAACY,IAAI,EAAE;UAAA;UAAA;YAAA,OAAAO,SAAA,CAAAN,IAAA;;SAAAI,QAAA;KAClB,GACF;IApBaG,UAAU,GAAAJ,qBAAA,CAAhBD,IAAI;EAsBZ,IAAI,CAACD,WAAW,EAAE;IAChB,OACExE,sGAEM;;EAGV,IAAMyE,IAAI,GAAGM,MAAM,CAACC,MAAM,CAACR,WAAW,CAAC,CAAC5C,GAAG,CAAC,UAACC,IAAS;IAAA,OAAKA,IAAI;IAAC;EAEhEO,qBAAqB,YAArBA,qBAAqB,CAAG;IACtBT,OAAO,EAAE8C,IAAI,CAAC,CAAC,CAAC,IAAI;GACrB,CAAC;EAEF,IAAI,CAACnC,KAAK,CAAC3B,MAAM,IAAI,CAAC2B,KAAK,CAAC7B,MAAM,EAAE;IAClC,OAAOT,yFAAgE;;EAGzE,IAAI,CAAC8E,UAAU,EAAE;IACf,OAAO9E,8DAAqC;;EAG9C,IAAI,CAACgC,YAAY,IAAI,CAACC,QAAQ,EAAE;IAC9B,OAAOjC,4EAAmD;;EAG5D,IAAMiF,MAAM,GAAGF,MAAM,CAACC,MAAM,CAACR,WAAW,CAAC,CAACU,OAAO,CAAC,UAACrD,IAAS,EAAEsD,CAAS;IAAA,OACrE,CAACC,OAAO,CAACvD,IAAI,CAAC,GAAGA,IAAI,GAAG,CAACA,IAAI,CAAC,EAAEwD,MAAM,CACpC,UAACJ,MAAW;MAAA,OAAKA,MAAM,CAAClD,EAAE,KAAKT,QAAQ;MACxC;IACF;EAED,IAAMgE,YAAY,GAAGR,UAAU,oBAAVA,UAAU,CAAES,QAAQ,CAACN,MAAM,CAACO,QAAQ,CAAC5D,GAAG,CAC3D,UAACC,IAAoB;;IACnB,IAAM4D,QAAQ,GAAG5D,IAAI,oBAAJA,IAAI,CAAE6D,OAAO,CAACC,MAAM,CAAC/D,GAAG,CAAC,UAACgE,KAAY;MACrD,OAAOA,KAAK,CAACC,SAAS;KACvB,CAAC;IACF,OACE7F;MACE8F,GAAG,EAAEjE,IAAI,CAAC6D,OAAO,CAAC3D,EAAE;MACpBM,SAAS,EAAC,yBAAyB;qCAClB4C,MAAM,CAAC,CAAC,CAAC,qBAATc,QAAA,CAAWC,GAAG;oBACnBhE,YAAY;uBACTC,QAAQ;mBACZJ,IAAI,oBAAJA,IAAI,CAAE6D,OAAO,CAACvF,IAAI;kBACnB0B,IAAI,oBAAJA,IAAI,CAAE6D,OAAO,CAACO,WAAW;wBACnBR;MACX;GAEV,CACF;EACD,OAAOzF;IAAKqC,SAAS,EAAEA;KAAYiD,YAAY,CAAO;AACxD;IAUaY,mBAAmB,GAAwC;EACtE/F,IAAI,EAAE,4BAA4B;EAClCC,WAAW,EAAE,mBAAmB;EAChCE,UAAU,EAAE,iBAAiB;EAC7BC,UAAU,EAAET,UAAU;EACtBoB,YAAY,EAAE,IAAI;EAClBb,WAAW,EAAE,2CAA2C;EACxDG,KAAK,EAAE;IACL2F,SAAS,EAAE;MACTzF,IAAI,EAAE,QAAQ;MACda,OAAO,EAAE,SAAAA,QAACf,KAAK,EAAEgB,GAAG;QAAA,IAAA4E,iBAAA,EAAAC,aAAA;QAAA,QAAAD,iBAAA,GAClB5E,GAAG,aAAA6E,aAAA,GAAH7E,GAAG,CAAEG,OAAO,qBAAZ0E,aAAA,CAAczE,GAAG,CAAC,UAACC,IAAS;UAAA,OAAM;YAChCC,KAAK,EAAED,IAAI,oBAAJA,IAAI,CAAE1B,IAAI;YACjBa,KAAK,EAAEa,IAAI,oBAAJA,IAAI,CAAEE;WACd;SAAC,CAAC,YAAAqE,iBAAA,GAAI,EAAE;;MACXhG,WAAW,EAAE,SAAS;MACtBC,WAAW,EAAE;;;;SAKHiG,eAAeA,CAAAC,KAAA;MAC7BJ,SAAS,GAAAI,KAAA,CAATJ,SAAS;IACT9D,SAAS,GAAAkE,KAAA,CAATlE,SAAS;IACTD,qBAAqB,GAAAmE,KAAA,CAArBnE,qBAAqB;EAErB,IAAME,KAAK,GAAG5C,MAAM,CAAC6C,UAAU,CAACxC,kBAAkB,CAAC,CAAC;EACpD,IAAMyC,QAAQ,GAAGC,IAAI,CAACC,SAAS,CAAC;IAC9BJ,KAAK,EAALA,KAAK;IACL6D,SAAS,EAATA;GACD,CAAC;EACFnG,KAAK,CAAC2C,SAAS,CAAC;IACd,IAAMC,MAAM,GAAGC,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC;IAC/CF,MAAM,CAAClC,IAAI,GAAG,iBAAiB;IAC/BkC,MAAM,CAACG,KAAK,GAAG,IAAI;IACnBH,MAAM,CAACI,SAAS,oIAA6HV,KAAK,CAAC7B,MAAM,wGAAkG;IAC3PoC,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACN,MAAM,CAAC;IAEjC,OAAO;MACLC,QAAQ,CAACI,IAAI,CAACE,WAAW,CAACP,MAAM,CAAC;KAClC;GACF,EAAE,CAACN,KAAK,CAAC,CAAC;EAEX,IAAAkE,qBAAA,GAA0BnD,mBAAmB,CACxCb,QAAQ,gCAAAc,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CACX,SAAAiD;MAAA,IAAAlF,OAAA,EAAAmC,GAAA;MAAA,OAAAH,mBAAA,GAAAI,IAAA,UAAA+C,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAA7C,IAAA,GAAA6C,SAAA,CAAA5C,IAAA;UAAA;YACQxC,OAAO,GAAG;cACdyC,MAAM,EAAE,KAAK;cACbC,OAAO,EAAE;gBACPC,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE;;aAEnB;YAAAyC,SAAA,CAAA5C,IAAA;YAAA,OAEiBI,KAAK,oCACY7B,KAAK,CAAC7B,MAAM,wBAAmB6B,KAAK,CAAC3B,MAAM,EAC5EY,OAAO,CACR;UAAA;YAHKmC,GAAG,GAAAiD,SAAA,CAAAvC,IAAA;YAAA,OAAAuC,SAAA,CAAAtC,MAAA,WAIFX,GAAG,CAACY,IAAI,EAAE;UAAA;UAAA;YAAA,OAAAqC,SAAA,CAAApC,IAAA;;SAAAkC,QAAA;KAClB,GACF;IAjBa9E,OAAO,GAAA6E,qBAAA,CAAb/B,IAAI;EAkBZ,IAAAmC,qBAAA,GAAyBvD,mBAAmB,CACvCb,QAAQ,+BAAAc,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CACX,SAAAqD;MAAA,IAAAtF,OAAA,EAAAmC,GAAA;MAAA,OAAAH,mBAAA,GAAAI,IAAA,UAAAmD,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAjD,IAAA,GAAAiD,SAAA,CAAAhD,IAAA;UAAA;YAAA,IACOoC,SAAS;cAAAY,SAAA,CAAAhD,IAAA;cAAA;;YAAA,OAAAgD,SAAA,CAAA1C,MAAA,WACLzE,SAAS;UAAA;YAEZ2B,OAAO,GAAG;cACdyC,MAAM,EAAE,KAAK;cACbC,OAAO,EAAE;gBACPC,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE;;aAEnB;YAAA6C,SAAA,CAAAhD,IAAA;YAAA,OAEiBI,KAAK,oCACYgC,SAAS,gBAAW7D,KAAK,CAAC3B,MAAM,EACjEY,OAAO,CACR;UAAA;YAHKmC,GAAG,GAAAqD,SAAA,CAAA3C,IAAA;YAAA,OAAA2C,SAAA,CAAA1C,MAAA,WAIFX,GAAG,CAACY,IAAI,EAAE;UAAA;UAAA;YAAA,OAAAyC,SAAA,CAAAxC,IAAA;;SAAAsC,QAAA;KAClB,GACF;IApBa5B,MAAM,GAAA2B,qBAAA,CAAZnC,IAAI;EAsBZ,IAAI,CAACnC,KAAK,CAAC3B,MAAM,IAAI,CAAC2B,KAAK,CAAC7B,MAAM,EAAE;IAClC,OAAOT,yFAAgE;;EAGzE,IAAI,CAAC2B,OAAO,EAAE;IACZ,OACE3B,sGAEM;;EAIV,IAAMyE,IAAI,GAAGM,MAAM,CAACC,MAAM,CAACrD,OAAO,CAAC,CAACC,GAAG,CAAC,UAACC,IAAS;IAAA,OAAKA,IAAI;IAAC;EAE5DO,qBAAqB,YAArBA,qBAAqB,CAAG;IACtBT,OAAO,EAAE8C,IAAI,CAAC,CAAC,CAAC,IAAI;GACrB,CAAC;EAEF,IAAI,CAACQ,MAAM,EAAE;IACX,OACEjF,sGAEM;;EAGV,IAAMgH,OAAO,GAAGjC,MAAM,CAACC,MAAM,CAACrD,OAAO,CAAC,CAACuD,OAAO,CAAC,UAACrD,IAAS,EAAEsD,CAAS;IAAA,OAClE,CAACC,OAAO,CAACvD,IAAI,CAAC,GAAGA,IAAI,GAAG,CAACA,IAAI,CAAC,EAAEwD,MAAM,CACpC,UAACJ,MAAW;MAAA,OAAKA,MAAM,CAAClD,EAAE,KAAKoE,SAAS;MACzC;IACF;EAED,IAAMb,YAAY,GAAGL,MAAM,oBAANA,MAAM,CAAEM,QAAQ,CAACN,MAAM,CAACO,QAAQ,CAAC5D,GAAG,CACvD,UAACC,IAAoB;IAAA,IAAAoF,SAAA;IAAA,OACnBjH;MACEqC,SAAS,EAAC,kBAAkB;sCACX2E,OAAO,CAAC,CAAC,CAAC,qBAAVC,SAAA,CAAYjB,GAAG;kBACtBnE,IAAI,CAAC6D,OAAO,CAACwB;MACvB;GACH,CACF;EAED,OAAOlH;IAAKqC,SAAS,EAAEA;KAAYiD,YAAY,CAAO;AACxD;;SCvVgB6B,WAAWA,CAACC,MAG3B;EACC,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CACtBC,SAAY,EACZC,WAAmD;IAEnD,IAAIH,MAAM,EAAE;MACVA,MAAM,CAACI,iBAAiB,CAACF,SAAS,EAAEC,WAAW,CAAC;KACjD,MAAM;MACLC,iBAAiB,CAACF,SAAS,EAAEC,WAAW,CAAC;;GAE5C;EAED,IAAIH,MAAM,EAAE;IACVA,MAAM,CAACK,qBAAqB,CAC1B7G,wBAAwB,EACxBV,4BAA4B,CAC7B;GACF,MAAM;IACLuH,qBAAqB,CACnB7G,wBAAwB,EACxBV,4BAA4B,CAC7B;;EAGHmH,kBAAkB,CAACnF,YAAY,EAAEjB,gBAAgB,CAAC;EAClDoG,kBAAkB,CAACf,eAAe,EAAEJ,mBAAmB,CAAC;AAE1D;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plasmicpkgs/plasmic-yotpo",
3
- "version": "0.0.53",
3
+ "version": "0.0.55",
4
4
  "description": "Plasmic Yotpo components.",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -34,7 +34,7 @@
34
34
  }
35
35
  ],
36
36
  "devDependencies": {
37
- "@plasmicapp/host": "1.0.210",
37
+ "@plasmicapp/host": "1.0.212",
38
38
  "@plasmicapp/query": "0.1.79",
39
39
  "@size-limit/preset-small-lib": "^7.0.8",
40
40
  "@types/dlv": "^1.1.2",
@@ -53,5 +53,5 @@
53
53
  "dlv": "^1.1.3",
54
54
  "lodash": "^4.17.21"
55
55
  },
56
- "gitHead": "7f923856013e0efa4eb893fa16c2f48bd4edc9c3"
56
+ "gitHead": "e14716fd42ea79a35e4844d660f6d12aa97a9768"
57
57
  }