@plasmicpkgs/plasmic-yotpo 0.0.26 → 0.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/plasmic-yotpo.cjs.development.js +2 -2
- package/dist/plasmic-yotpo.cjs.development.js.map +1 -1
- package/dist/plasmic-yotpo.cjs.production.min.js +1 -1
- package/dist/plasmic-yotpo.cjs.production.min.js.map +1 -1
- package/dist/plasmic-yotpo.esm.js +2 -2
- package/dist/plasmic-yotpo.esm.js.map +1 -1
- package/package.json +3 -3
|
@@ -384,7 +384,7 @@ function YotpoCredentialsProvider(_ref) {
|
|
|
384
384
|
}, children);
|
|
385
385
|
}
|
|
386
386
|
var YotpoReviewsMeta = {
|
|
387
|
-
name: "
|
|
387
|
+
name: "hostless-yotpo-star-reviews",
|
|
388
388
|
displayName: "Yotpo Reviews",
|
|
389
389
|
importName: "YotpoReviews",
|
|
390
390
|
importPath: modulePath,
|
|
@@ -540,7 +540,7 @@ function YotpoReviews(_ref2) {
|
|
|
540
540
|
}, renderedData);
|
|
541
541
|
}
|
|
542
542
|
var YotpoStarRatingMeta = {
|
|
543
|
-
name: "
|
|
543
|
+
name: "hostless-yotpo-star-rating",
|
|
544
544
|
displayName: "Yotpo Star Rating",
|
|
545
545
|
importName: "YotpoStarRating",
|
|
546
546
|
importPath: modulePath,
|
|
@@ -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: \"Yotpo 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: \"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:"Yotpo 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:"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(){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)};
|
|
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: \"Yotpo 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: \"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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"}
|
|
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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"}
|
|
@@ -377,7 +377,7 @@ function YotpoCredentialsProvider(_ref) {
|
|
|
377
377
|
}, children);
|
|
378
378
|
}
|
|
379
379
|
var YotpoReviewsMeta = {
|
|
380
|
-
name: "
|
|
380
|
+
name: "hostless-yotpo-star-reviews",
|
|
381
381
|
displayName: "Yotpo Reviews",
|
|
382
382
|
importName: "YotpoReviews",
|
|
383
383
|
importPath: modulePath,
|
|
@@ -533,7 +533,7 @@ function YotpoReviews(_ref2) {
|
|
|
533
533
|
}, renderedData);
|
|
534
534
|
}
|
|
535
535
|
var YotpoStarRatingMeta = {
|
|
536
|
-
name: "
|
|
536
|
+
name: "hostless-yotpo-star-rating",
|
|
537
537
|
displayName: "Yotpo Star Rating",
|
|
538
538
|
importName: "YotpoStarRating",
|
|
539
539
|
importPath: modulePath,
|
|
@@ -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: \"Yotpo 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: \"Yotpo Star Rating\",\n displayName: \"Yotpo Star Rating\",\n importName: \"YotpoStarRating\",\n importPath: modulePath,\n providesData: true,\n description: \"Yotpo Star Rating for your product pages \",\n props: {\n productId: {\n type: \"choice\",\n options: (props, ctx) =>\n ctx?.reviews?.map((item: any) => ({\n label: item?.name,\n value: item?.id,\n })) ?? [],\n displayName: \"Product\",\n description: \"Product which you want to show rating\",\n },\n },\n};\n\nexport function YotpoStarRating({\n productId,\n className,\n setControlContextData,\n}: YotpoStarRatingProps) {\n const creds = ensure(useContext(CredentialsContext));\n const cacheKey = JSON.stringify({\n creds,\n productId,\n });\n React.useEffect(() => {\n const script = document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.async = true;\n script.innerHTML = `(function e(){var e=document.createElement(\"script\");e.type=\"text/javascript\",e.async=true,e.src=\"//staticw2.yotpo.com/${creds.appKey}/widget.js\";var t=document.getElementsByTagName(\"script\")[0];t.parentNode.insertBefore(e,t)})();`;\n document.body.appendChild(script);\n\n return () => {\n document.body.removeChild(script);\n };\n }, [creds]);\n\n const { data: reviews } = usePlasmicQueryData<any | null>(\n `${cacheKey}/starReviews`,\n async () => {\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/v1/apps/${creds.appKey}/reviews?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n const { data: review } = usePlasmicQueryData<ReviewResponse | null>(\n `${cacheKey}/starReview`,\n async () => {\n if (!productId) {\n return undefined;\n }\n const options = {\n method: \"GET\",\n headers: {\n accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n\n const res = await fetch(\n `https://api.yotpo.com/reviews/${productId}?utoken=${creds.uToken}`,\n options\n );\n return res.json();\n }\n );\n\n if (!creds.uToken || !creds.appKey) {\n return <div>Please specify a valid API Credentials: uToken,appKey</div>;\n }\n\n if (!reviews) {\n return (\n <div>\n Please configure the Yotpo Credentials provider with valid AppKey.\n </div>\n );\n }\n\n const data = Object.values(reviews).map((item: any) => item);\n\n setControlContextData?.({\n reviews: data[0] || [],\n });\n\n if (!review) {\n return (\n <div>\n Please configure the Yotpo Credentials provider with valid AppKey.\n </div>\n );\n }\n const product = Object.values(reviews).flatMap((item: any, i: number) =>\n (isArray(item) ? item : [item]).filter(\n (review: any) => review.id === productId\n )\n );\n\n const renderedData = review?.response.review.products.map(\n (item: ProductElement) => (\n <div\n className=\"yotpo bottomLine\"\n data-product-id={product[0]?.sku}\n data-url={item.Product.product_url}\n />\n )\n );\n\n return <div className={className}>{renderedData}</div>;\n}\n","import React from 'react'\nimport registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport {\n YotpoCredentialsProvider,\n YotpoCredentialsProviderMeta,\n YotpoReviewsMeta,\n YotpoReviews,\n YotpoStarRating,\n YotpoStarRatingMeta\n} from \"./yotpo\";\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n const _registerComponent = <T extends React.ComponentType<any>>(\n Component: T,\n defaultMeta: ComponentMeta<React.ComponentProps<T>>\n ) => {\n if (loader) {\n loader.registerComponent(Component, defaultMeta);\n } else {\n registerComponent(Component, defaultMeta);\n }\n };\n\n if (loader) {\n loader.registerGlobalContext(\n YotpoCredentialsProvider,\n YotpoCredentialsProviderMeta\n );\n } else {\n registerGlobalContext(\n YotpoCredentialsProvider,\n YotpoCredentialsProviderMeta\n );\n }\n\n _registerComponent(YotpoReviews, YotpoReviewsMeta);\n _registerComponent(YotpoStarRating, YotpoStarRatingMeta);\n\n}\n\nexport * from \"./yotpo\";\n"],"names":["ensure","x","undefined","Error","modulePath","CredentialsContext","React","createContext","YotpoCredentialsProviderMeta","name","displayName","description","importName","importPath","props","appKey","type","uToken","YotpoCredentialsProvider","_ref","children","Provider","value","YotpoReviewsMeta","providesData","defaultStyles","width","height","reviewId","options","ctx","_ctx$reviews$map","_ctx$reviews","reviews","map","item","label","id","productPrice","currency","YotpoReviews","_ref2","setControlContextData","className","creds","useContext","cacheKey","JSON","stringify","useEffect","script","document","createElement","async","innerHTML","body","appendChild","removeChild","_usePlasmicQueryData","usePlasmicQueryData","_asyncToGenerator","_regeneratorRuntime","mark","_callee","res","wrap","_callee$","_context","prev","next","method","headers","accept","fetch","sent","abrupt","json","stop","reviewsData","data","_usePlasmicQueryData2","_callee2","_callee2$","_context2","reviewData","Object","values","review","flatMap","i","isArray","filter","renderedData","response","products","imageUrl","Product","images","image","image_url","key","_review$","sku","shorten_url","YotpoStarRatingMeta","productId","_ctx$reviews$map2","_ctx$reviews2","YotpoStarRating","_ref5","_usePlasmicQueryData3","_callee3","_callee3$","_context3","_usePlasmicQueryData4","_callee4","_callee4$","_context4","product","_product$","product_url","registerAll","loader","_registerComponent","Component","defaultMeta","registerComponent","registerGlobalContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plasmic-yotpo.esm.js","sources":["../src/yotpo.tsx","../src/index.tsx"],"sourcesContent":["import { 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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plasmicpkgs/plasmic-yotpo",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.27",
|
|
4
4
|
"description": "Plasmic Yotpo components.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
],
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@plasmicapp/host": "1.0.184",
|
|
38
|
-
"@plasmicapp/query": "0.1.77",
|
|
38
|
+
"@plasmicapp/query": "^0.1.77",
|
|
39
39
|
"@size-limit/preset-small-lib": "^7.0.8",
|
|
40
40
|
"@types/dlv": "^1.1.2",
|
|
41
41
|
"@types/react": "^18.0.27",
|
|
@@ -53,5 +53,5 @@
|
|
|
53
53
|
"dlv": "^1.1.3",
|
|
54
54
|
"lodash": "^4.17.21"
|
|
55
55
|
},
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "1cbb80cf68d9e7307ee7723ecd79ccfe206752a0"
|
|
57
57
|
}
|