@gem-sdk/core 22.0.0-dev.54 → 22.0.0-dev.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/cjs/components/ComponentToolbarPreview.js +1 -1
  2. package/dist/cjs/components/ComponentWrapperPreview.js +1 -1
  3. package/dist/cjs/components/InteractionSuffix.js +1 -1
  4. package/dist/cjs/components/Render.liquid.js +5 -5
  5. package/dist/cjs/components/RenderCustomCode.js +2 -2
  6. package/dist/cjs/components/resize/Spacing.js +1 -1
  7. package/dist/cjs/components/theme-section/CreateThemeSection.js +1 -1
  8. package/dist/cjs/components/theme-section/ThemeSectionTooltip.js +1 -1
  9. package/dist/cjs/components/upgrade-element/UpgradeButton.js +1 -1
  10. package/dist/cjs/components/upgrade-element/UpgradeElement.js +1 -1
  11. package/dist/cjs/constants/plan.js +1 -0
  12. package/dist/cjs/contexts/ProductContext.js +1 -1
  13. package/dist/cjs/graphql-shopify/product-detail.generated.js +110 -0
  14. package/dist/cjs/graphql-shopify/product-medias.generated.js +80 -0
  15. package/dist/cjs/graphql-shopify/product-variants.generated.js +107 -0
  16. package/dist/cjs/helpers/builder-api-bridge/BridgeRequestError.js +1 -0
  17. package/dist/cjs/helpers/builder-api-bridge/contract.js +1 -0
  18. package/dist/cjs/helpers/builder-api-bridge/createBuilderApiFetcher.js +1 -0
  19. package/dist/cjs/helpers/builder-api-bridge/requestBridgeGraphql.js +1 -0
  20. package/dist/cjs/helpers/convert.js +1 -1
  21. package/dist/cjs/helpers/interaction/index.js +1 -1
  22. package/dist/cjs/helpers/queries/get-shopify-product.js +1 -0
  23. package/dist/cjs/hooks/useAnimations.js +1 -1
  24. package/dist/cjs/hooks/useInitialSwatchesOptions.js +1 -1
  25. package/dist/cjs/hooks/useProduct.js +1 -1
  26. package/dist/cjs/index.js +1 -1
  27. package/dist/esm/components/ComponentToolbarPreview.js +1 -1
  28. package/dist/esm/components/ComponentWrapperPreview.js +1 -1
  29. package/dist/esm/components/InteractionSuffix.js +1 -1
  30. package/dist/esm/components/Render.liquid.js +9 -9
  31. package/dist/esm/components/RenderCustomCode.js +3 -3
  32. package/dist/esm/components/resize/Spacing.js +1 -1
  33. package/dist/esm/components/theme-section/CreateThemeSection.js +1 -1
  34. package/dist/esm/components/theme-section/ThemeSectionTooltip.js +1 -1
  35. package/dist/esm/components/upgrade-element/UpgradeButton.js +1 -1
  36. package/dist/esm/components/upgrade-element/UpgradeElement.js +1 -1
  37. package/dist/esm/constants/plan.js +1 -0
  38. package/dist/esm/contexts/ProductContext.js +1 -1
  39. package/dist/esm/graphql-shopify/product-detail.generated.js +110 -0
  40. package/dist/esm/graphql-shopify/product-medias.generated.js +80 -0
  41. package/dist/esm/graphql-shopify/product-variants.generated.js +107 -0
  42. package/dist/esm/helpers/builder-api-bridge/BridgeRequestError.js +1 -0
  43. package/dist/esm/helpers/builder-api-bridge/contract.js +1 -0
  44. package/dist/esm/helpers/builder-api-bridge/createBuilderApiFetcher.js +1 -0
  45. package/dist/esm/helpers/builder-api-bridge/requestBridgeGraphql.js +1 -0
  46. package/dist/esm/helpers/convert.js +1 -1
  47. package/dist/esm/helpers/interaction/index.js +1 -1
  48. package/dist/esm/helpers/queries/get-shopify-product.js +1 -0
  49. package/dist/esm/hooks/useAnimations.js +1 -1
  50. package/dist/esm/hooks/useInitialSwatchesOptions.js +1 -1
  51. package/dist/esm/hooks/useProduct.js +1 -1
  52. package/dist/esm/index.js +1 -1
  53. package/dist/types/index.d.ts +47 -1
  54. package/package.json +5 -3
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsxs as e,Fragment as t,jsx as o}from"react/jsx-runtime";import{memo as r,useEffect as a,isValidElement as i}from"react";import{composeAdvanceStyle as p}from"../helpers/compose-advance-style.js";import{useInteraction as s}from"../hooks/useInteraction.js";import{disableWrap as n,excludeApplyStyle as d}from"./constant.js";import l from"./RenderCustomCode.js";import m from"./ComponentToolbarPreview.js";import"zustand";import{cls as c}from"../helpers/cls.js";import"swr";import"../graphql/queries/collection-detail-filter.generated.js";import"../graphql/queries/collection.generated.js";import"../graphql/queries/collections.generated.js";import"../graphql/queries/published-theme-pages.generated.js";import"../graphql/queries/store-property.generated.js";import"../graphql/queries/preview-page.generated.js";import"../graphql/queries/published-shop-metas.generated.js";import"../graphql/queries/shop-shopify.generated.js";import"../graphql/queries/articles.generated.js";import"../graphql/queries/blogs.generated.js";import"../graphql/queries/products-with-selling-plans.generated.js";import"../graphql/queries/product-variant-with-selling-plans.generated.js";import"../graphql/queries/product-variants.generated.js";import"../graphql/queries/product-little-detail.generated.js";import"../graphql/queries/product-medias.generated.js";import"../graphql/queries/productsV2.generated.js";import"../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import{usePageType as g}from"../hooks/shop.js";import"swr/infinite";import"vanilla-lazyload";import"../hooks/useCartUI.js";import"../graphql/queries/product-value-label.generated.js";import"../hooks/useStickyStore.js";import"../types/builder.js";import"../types/custom.js";import"../types/animations.js";import h from"./ComponentAnimation.js";var u=r(({children:r,...u})=>{var C;a(()=>{let e=new CustomEvent("editor:component:render",{bubbles:!0,detail:{componentUid:u.uid}});window.dispatchEvent(e)},[u.uid]);let{getAnimationByUid:b}=s(),f=b(u.uid);f&&(u.advanced={...u.advanced,animation:{desktop:f,tablet:f,mobile:f}});let q=g();if("section"===u.type)return null;let j={};if("Section"===u.tag&&u.isThemeSection&&(j["data-theme-section"]=!0),"Section"===u.tag&&u.isShopifySection&&(j["data-shopify-section"]=!0,j["data-toolbar-wrap"]=!0),u.editorConfigs){let e=u.editorConfigs;e.placeholder?.notAppendBeforeAfter&&(j["data-placeholder-not-append-before-after"]=!0),e.placeholder?.notAppendLeftRight&&(j["data-placeholder-not-append-left-right"]=!0),e.toolbar?.parent&&(j["data-toolbar-parent"]=!0),e.component?.noDelete&&(j["data-component-no-delete"]=!0),e.component?.noDuplicate&&(j["data-component-no-duplicate"]=!0),e.component?.noDragDrop&&(j["data-component-no-drag-drop"]=!0),e.component?.noSetting&&(j["data-component-no-setting"]=!0),e.component?.isThirdParty&&(j["data-component-is-third-party"]=!0),e.toolbar?.hide&&(j["data-toolbar-hide"]=!0),e.slots?.children&&(j["data-slots-children"]=!0),e.toolbar?.hide||(j["data-toolbar-wrap"]=!0)}u?.editorConfigs?.toolbar?.hide||(j["data-toolbar-wrap"]=!0);let v=p(u.advanced,u.tag,q),y=u.advanced,w={...j,"data-uid":u.uid,"data-component-type":"component","data-component-tag":u.tag,"data-component-label":u.label,"data-not-droppable":(C=u.tag,"GP_FUNNEL_PAGE"===q&&["ProductList","ProductListV3","Header"].includes(C))?"true":"false"};return n.includes(u.tag)&&i(r)?e(t,{children:[o(h,{...u}),o(l,{uid:u.uid,advanced:y}),e(r.type,{className:y?.cssClass,...r.props,style:v,builderAttrs:w,advanced:y,children:[u.isShopifySection?o(({name:t,visibility:r})=>e("div",{className:c("gp-flex gp-items-center gp-justify-center gp-gap-[8px] gp-bg-[#F4F4F4] gp-p-[16px] gp-border gp-border-[#D6D6D6]",{"gp-opacity-60":!r}),children:[e("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[o("path",{d:"M19.1475 5.16194C19.1416 5.1148 19.1197 5.0713 19.0857 5.03911C19.0516 5.00692 19.0076 4.9881 18.9614 4.98597C18.8835 4.98597 17.3469 4.95397 17.3469 4.95397C17.3469 4.95397 16.0588 3.67419 15.9342 3.5311C15.8104 3.40312 15.5619 3.43512 15.4684 3.46711L14.8166 3.67508C14.7361 3.40491 14.6323 3.14259 14.5067 2.89121C14.0566 1.99536 13.3727 1.51544 12.5659 1.51544C12.5044 1.51544 12.4577 1.51544 12.3954 1.53144C12.3642 1.49945 12.3486 1.46745 12.3175 1.45145C11.9608 1.06752 11.5107 0.875552 10.967 0.891549C9.92824 0.923543 8.88772 1.70741 8.03419 3.08318C7.44467 4.05901 6.99453 5.27392 6.8543 6.21776C5.65969 6.6017 4.82087 6.87365 4.79057 6.87365C4.18461 7.06562 4.16903 7.08161 4.09199 7.67351C4.06082 8.12144 2.47754 20.7415 2.47754 20.7415L15.7636 23.1091L21.522 21.6374C21.5064 21.6374 19.1631 5.27392 19.1475 5.16194ZM14.1492 3.89904C13.8062 4.00572 13.4648 4.11772 13.1251 4.23498C13.1251 3.69108 13.0472 2.92321 12.8143 2.28331C13.6064 2.41129 13.9942 3.33914 14.1492 3.89904ZM12.4265 4.44206C11.7279 4.66602 10.9679 4.90598 10.207 5.14594C10.4243 4.29808 10.8277 3.46623 11.3245 2.90632C11.533 2.66965 11.7863 2.47913 12.069 2.34641C12.3806 2.9712 12.4421 3.85105 12.4265 4.44206ZM10.9982 1.61143C11.2466 1.61143 11.4483 1.65942 11.6197 1.7874C11.3127 1.95192 11.0387 2.17444 10.8121 2.44329C10.1455 3.17916 9.63305 4.31408 9.43135 5.4179C8.79423 5.62586 8.17356 5.81783 7.61521 5.9938C7.98744 4.25009 9.39933 1.65942 10.9982 1.61143Z",fill:"#95BF47"}),o("path",{d:"M18.9647 4.94709C18.8851 4.94709 17.3155 4.91503 17.3155 4.91503C17.3155 4.91503 15.9981 3.63242 15.8716 3.48812C15.8261 3.43951 15.7635 3.41074 15.6973 3.40796V23.1094L21.5828 21.6344L19.1709 5.12345C19.1399 5.01122 19.0444 4.94709 18.9647 4.94709Z",fill:"#5E8E3E"}),o("path",{d:"M13.0575 8.51577L12.3029 10.8908C12.3029 10.8908 11.4602 10.5663 10.4599 10.6253C8.98595 10.6991 8.98595 11.4809 8.98595 11.6727C9.07404 12.7348 12.39 12.9709 12.5828 15.4631C12.7238 17.4251 11.3545 18.7675 9.35396 18.8708C6.96778 18.9733 5.65137 17.7939 5.65137 17.7939L6.16032 15.9794C6.16032 15.9794 7.49435 16.8203 8.5465 16.7613C9.23162 16.7318 9.4949 16.245 9.45967 15.9204C9.35396 14.5337 6.65165 14.6223 6.47645 12.3365C6.33551 10.4188 7.82712 8.48626 11.1265 8.30924C12.4076 8.23548 13.0575 8.51577 13.0575 8.51577Z",fill:"white"})]}),o("span",{className:"gp-text-[#212121] gp-text-[14px] gp-leading-[24px] gp-font-medium",children:t})]}),{name:u.name??"",visibility:!!u.isShopifyVisibility}):r.props.children,o(m,{...u})]})]}):e(t,{children:[o(h,{...u}),o(l,{uid:u.uid,advanced:y}),e("div",{style:d.includes(u.tag)?{"--mb":v?.["--mb"],"--mb-tablet":v?.["--mb-tablet"],"--mb-mobile":v?.["--mb-mobile"]}:v,className:`${u.uid} ${u.advanced?.cssClass?u.advanced?.cssClass:""}`,...w,children:[!d.includes(u.tag)&&r,i(r)&&d.includes(u.tag)&&o(r.type,{...r.props,style:v,advanced:y}),o(m,{...u})]})]})});export{u as default};
2
+ import{jsxs as e,Fragment as t,jsx as o}from"react/jsx-runtime";import{memo as r,useEffect as a,isValidElement as i}from"react";import{composeAdvanceStyle as p}from"../helpers/compose-advance-style.js";import{useInteraction as s}from"../hooks/useInteraction.js";import{disableWrap as n,excludeApplyStyle as d}from"./constant.js";import l from"./RenderCustomCode.js";import m from"./ComponentToolbarPreview.js";import"zustand";import{cls as c}from"../helpers/cls.js";import"swr";import"../graphql/queries/collection-detail-filter.generated.js";import"../graphql/queries/collection.generated.js";import"../graphql/queries/collections.generated.js";import"../graphql/queries/published-theme-pages.generated.js";import"../graphql/queries/store-property.generated.js";import"../graphql/queries/preview-page.generated.js";import"../graphql/queries/published-shop-metas.generated.js";import"../graphql/queries/shop-shopify.generated.js";import"../graphql/queries/articles.generated.js";import"../graphql/queries/blogs.generated.js";import"../graphql/queries/products-with-selling-plans.generated.js";import"../graphql/queries/product-variant-with-selling-plans.generated.js";import"../graphql/queries/product-variants.generated.js";import"../graphql/queries/product-little-detail.generated.js";import"../graphql/queries/product-medias.generated.js";import"../graphql/queries/productsV2.generated.js";import"../graphql-shopify/product-detail.generated.js";import"../graphql-shopify/product-medias.generated.js";import"../graphql-shopify/product-variants.generated.js";import"../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import{usePageType as g}from"../hooks/shop.js";import"swr/infinite";import"vanilla-lazyload";import"../hooks/useCartUI.js";import"../graphql/queries/product-value-label.generated.js";import"../hooks/useStickyStore.js";import"../types/builder.js";import"../types/custom.js";import"../types/animations.js";import h from"./ComponentAnimation.js";var u=r(({children:r,...u})=>{var C;a(()=>{let e=new CustomEvent("editor:component:render",{bubbles:!0,detail:{componentUid:u.uid}});window.dispatchEvent(e)},[u.uid]);let{getAnimationByUid:f}=s(),b=f(u.uid);b&&(u.advanced={...u.advanced,animation:{desktop:b,tablet:b,mobile:b}});let q=g();if("section"===u.type)return null;let j={};if("Section"===u.tag&&u.isThemeSection&&(j["data-theme-section"]=!0),"Section"===u.tag&&u.isShopifySection&&(j["data-shopify-section"]=!0,j["data-toolbar-wrap"]=!0),u.editorConfigs){let e=u.editorConfigs;e.placeholder?.notAppendBeforeAfter&&(j["data-placeholder-not-append-before-after"]=!0),e.placeholder?.notAppendLeftRight&&(j["data-placeholder-not-append-left-right"]=!0),e.toolbar?.parent&&(j["data-toolbar-parent"]=!0),e.component?.noDelete&&(j["data-component-no-delete"]=!0),e.component?.noDuplicate&&(j["data-component-no-duplicate"]=!0),e.component?.noDragDrop&&(j["data-component-no-drag-drop"]=!0),e.component?.noSetting&&(j["data-component-no-setting"]=!0),e.component?.isThirdParty&&(j["data-component-is-third-party"]=!0),e.toolbar?.hide&&(j["data-toolbar-hide"]=!0),e.slots?.children&&(j["data-slots-children"]=!0),e.toolbar?.hide||(j["data-toolbar-wrap"]=!0)}u?.editorConfigs?.toolbar?.hide||(j["data-toolbar-wrap"]=!0);let v=p(u.advanced,u.tag,q),y=u.advanced,w={...j,"data-uid":u.uid,"data-component-type":"component","data-component-tag":u.tag,"data-component-label":u.label,"data-not-droppable":(C=u.tag,"GP_FUNNEL_PAGE"===q&&["ProductList","ProductListV3","Header"].includes(C))?"true":"false"};return n.includes(u.tag)&&i(r)?e(t,{children:[o(h,{...u}),o(l,{uid:u.uid,advanced:y}),e(r.type,{className:y?.cssClass,...r.props,style:v,builderAttrs:w,advanced:y,children:[u.isShopifySection?o(({name:t,visibility:r})=>e("div",{className:c("gp-flex gp-items-center gp-justify-center gp-gap-[8px] gp-bg-[#F4F4F4] gp-p-[16px] gp-border gp-border-[#D6D6D6]",{"gp-opacity-60":!r}),children:[e("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[o("path",{d:"M19.1475 5.16194C19.1416 5.1148 19.1197 5.0713 19.0857 5.03911C19.0516 5.00692 19.0076 4.9881 18.9614 4.98597C18.8835 4.98597 17.3469 4.95397 17.3469 4.95397C17.3469 4.95397 16.0588 3.67419 15.9342 3.5311C15.8104 3.40312 15.5619 3.43512 15.4684 3.46711L14.8166 3.67508C14.7361 3.40491 14.6323 3.14259 14.5067 2.89121C14.0566 1.99536 13.3727 1.51544 12.5659 1.51544C12.5044 1.51544 12.4577 1.51544 12.3954 1.53144C12.3642 1.49945 12.3486 1.46745 12.3175 1.45145C11.9608 1.06752 11.5107 0.875552 10.967 0.891549C9.92824 0.923543 8.88772 1.70741 8.03419 3.08318C7.44467 4.05901 6.99453 5.27392 6.8543 6.21776C5.65969 6.6017 4.82087 6.87365 4.79057 6.87365C4.18461 7.06562 4.16903 7.08161 4.09199 7.67351C4.06082 8.12144 2.47754 20.7415 2.47754 20.7415L15.7636 23.1091L21.522 21.6374C21.5064 21.6374 19.1631 5.27392 19.1475 5.16194ZM14.1492 3.89904C13.8062 4.00572 13.4648 4.11772 13.1251 4.23498C13.1251 3.69108 13.0472 2.92321 12.8143 2.28331C13.6064 2.41129 13.9942 3.33914 14.1492 3.89904ZM12.4265 4.44206C11.7279 4.66602 10.9679 4.90598 10.207 5.14594C10.4243 4.29808 10.8277 3.46623 11.3245 2.90632C11.533 2.66965 11.7863 2.47913 12.069 2.34641C12.3806 2.9712 12.4421 3.85105 12.4265 4.44206ZM10.9982 1.61143C11.2466 1.61143 11.4483 1.65942 11.6197 1.7874C11.3127 1.95192 11.0387 2.17444 10.8121 2.44329C10.1455 3.17916 9.63305 4.31408 9.43135 5.4179C8.79423 5.62586 8.17356 5.81783 7.61521 5.9938C7.98744 4.25009 9.39933 1.65942 10.9982 1.61143Z",fill:"#95BF47"}),o("path",{d:"M18.9647 4.94709C18.8851 4.94709 17.3155 4.91503 17.3155 4.91503C17.3155 4.91503 15.9981 3.63242 15.8716 3.48812C15.8261 3.43951 15.7635 3.41074 15.6973 3.40796V23.1094L21.5828 21.6344L19.1709 5.12345C19.1399 5.01122 19.0444 4.94709 18.9647 4.94709Z",fill:"#5E8E3E"}),o("path",{d:"M13.0575 8.51577L12.3029 10.8908C12.3029 10.8908 11.4602 10.5663 10.4599 10.6253C8.98595 10.6991 8.98595 11.4809 8.98595 11.6727C9.07404 12.7348 12.39 12.9709 12.5828 15.4631C12.7238 17.4251 11.3545 18.7675 9.35396 18.8708C6.96778 18.9733 5.65137 17.7939 5.65137 17.7939L6.16032 15.9794C6.16032 15.9794 7.49435 16.8203 8.5465 16.7613C9.23162 16.7318 9.4949 16.245 9.45967 15.9204C9.35396 14.5337 6.65165 14.6223 6.47645 12.3365C6.33551 10.4188 7.82712 8.48626 11.1265 8.30924C12.4076 8.23548 13.0575 8.51577 13.0575 8.51577Z",fill:"white"})]}),o("span",{className:"gp-text-[#212121] gp-text-[14px] gp-leading-[24px] gp-font-medium",children:t})]}),{name:u.name??"",visibility:!!u.isShopifyVisibility}):r.props.children,o(m,{...u})]})]}):e(t,{children:[o(h,{...u}),o(l,{uid:u.uid,advanced:y}),e("div",{style:d.includes(u.tag)?{"--mb":v?.["--mb"],"--mb-tablet":v?.["--mb-tablet"],"--mb-mobile":v?.["--mb-mobile"]}:v,className:`${u.uid} ${u.advanced?.cssClass?u.advanced?.cssClass:""}`,...w,children:[!d.includes(u.tag)&&r,i(r)&&d.includes(u.tag)&&o(r.type,{...r.props,style:v,advanced:y}),o(m,{...u})]})]})});export{u as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,Fragment as t}from"react/jsx-runtime";import{useI18nStore as r}from"@gem-sdk/core";import"zustand";import"react";import{usePageStore as i}from"../contexts/PageContext.js";import"react-transition-group";import"./constant.js";import"swr";import{useInteraction as p}from"../helpers/interaction/index.js";import"../graphql/queries/collection-detail-filter.generated.js";import"../graphql/queries/collection.generated.js";import"../graphql/queries/collections.generated.js";import"../graphql/queries/published-theme-pages.generated.js";import"../graphql/queries/store-property.generated.js";import"../graphql/queries/preview-page.generated.js";import"../graphql/queries/published-shop-metas.generated.js";import"../graphql/queries/shop-shopify.generated.js";import"../graphql/queries/articles.generated.js";import"../graphql/queries/blogs.generated.js";import"../graphql/queries/products-with-selling-plans.generated.js";import"../graphql/queries/product-variant-with-selling-plans.generated.js";import"../graphql/queries/product-variants.generated.js";import"../graphql/queries/product-little-detail.generated.js";import"../graphql/queries/product-medias.generated.js";import"../graphql/queries/productsV2.generated.js";import"../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"swr/infinite";import"vanilla-lazyload";import"../hooks/useCartUI.js";import"../graphql/queries/product-value-label.generated.js";import"../hooks/useStickyStore.js";import"../types/builder.js";import"../types/custom.js";import"../types/animations.js";let s=({uid:s})=>{let{closeSelectOnPage:o,selectInteractionElement:a}=p(),{t:n}=r(),g=i(e=>e.interactionData?.settingType||""),l=i(e=>e.interactionData?.isSelectOnPage);return e(t,{children:l&&e("button",{className:"gp-bg-[#F4F4F4] gp-px-2 gp-h-[24px] gp-py-0.5 gp-rounded-lg gp-text-[#212121] gp-text-xs gp-font-medium gp-hidden interaction-use-custom-element",onClick:e=>{a({$target:e.target,componentUid:s,settingType:g}),o()},"data-setup-interaction":!0,children:n("TRIGGER"===g?"Set as trigger":"Set as target")})})};export{s as InteractionSuffix};
2
+ import{jsx as e,Fragment as t}from"react/jsx-runtime";import{useI18nStore as r}from"@gem-sdk/core";import"zustand";import"react";import{usePageStore as i}from"../contexts/PageContext.js";import"react-transition-group";import"./constant.js";import"swr";import{useInteraction as p}from"../helpers/interaction/index.js";import"../graphql/queries/collection-detail-filter.generated.js";import"../graphql/queries/collection.generated.js";import"../graphql/queries/collections.generated.js";import"../graphql/queries/published-theme-pages.generated.js";import"../graphql/queries/store-property.generated.js";import"../graphql/queries/preview-page.generated.js";import"../graphql/queries/published-shop-metas.generated.js";import"../graphql/queries/shop-shopify.generated.js";import"../graphql/queries/articles.generated.js";import"../graphql/queries/blogs.generated.js";import"../graphql/queries/products-with-selling-plans.generated.js";import"../graphql/queries/product-variant-with-selling-plans.generated.js";import"../graphql/queries/product-variants.generated.js";import"../graphql/queries/product-little-detail.generated.js";import"../graphql/queries/product-medias.generated.js";import"../graphql/queries/productsV2.generated.js";import"../graphql-shopify/product-detail.generated.js";import"../graphql-shopify/product-medias.generated.js";import"../graphql-shopify/product-variants.generated.js";import"../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"swr/infinite";import"vanilla-lazyload";import"../hooks/useCartUI.js";import"../graphql/queries/product-value-label.generated.js";import"../hooks/useStickyStore.js";import"../types/builder.js";import"../types/custom.js";import"../types/animations.js";let s=({uid:s})=>{let{closeSelectOnPage:o,selectInteractionElement:a}=p(),{t:n}=r(),g=i(e=>e.interactionData?.settingType||""),l=i(e=>e.interactionData?.isSelectOnPage);return e(t,{children:l&&e("button",{className:"gp-bg-[#F4F4F4] gp-px-2 gp-h-[24px] gp-py-0.5 gp-rounded-lg gp-text-[#212121] gp-text-xs gp-font-medium gp-hidden interaction-use-custom-element",onClick:e=>{a({$target:e.target,componentUid:s,settingType:g}),o()},"data-setup-interaction":!0,children:n("TRIGGER"===g?"Set as trigger":"Set as target")})})};export{s as InteractionSuffix};
@@ -1,24 +1,24 @@
1
1
  'use client';
2
- import{makeStyleResponsive as e}from"../helpers/make-style.js";import"react";import"react/jsx-runtime";import"zustand";import"swr";import"../graphql/queries/articles.generated.js";import"../graphql/queries/blogs.generated.js";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"../graphql/queries/collection-detail-filter.generated.js";import"../graphql/queries/collection.generated.js";import"../graphql/queries/collections.generated.js";import"../graphql/queries/published-theme-pages.generated.js";import"../graphql/queries/store-property.generated.js";import"../graphql/queries/preview-page.generated.js";import"../graphql/queries/published-shop-metas.generated.js";import"../graphql/queries/shop-shopify.generated.js";import"../graphql/queries/products-with-selling-plans.generated.js";import"../graphql/queries/product-variant-with-selling-plans.generated.js";import"../graphql/queries/product-variants.generated.js";import"../graphql/queries/product-little-detail.generated.js";import"../graphql/queries/product-medias.generated.js";import"swr/infinite";import"../graphql/queries/productsV2.generated.js";import"vanilla-lazyload";import"../hooks/useCartUI.js";import"../graphql/queries/product-value-label.generated.js";import"../hooks/useStickyStore.js";import"../types/builder.js";import"../types/custom.js";import"../types/animations.js";import"react-transition-group";import{disableWrap as t,customRenderChildren as r}from"./constant.js";import"@gem-sdk/core";import{composeAdvanceStyle as i}from"../helpers/compose-advance-style.js";import{baseAssetURL as s,isLocalEnv as a}from"../helpers/convert.js";import"crc-32";import{RenderIf as l,template as n}from"../helpers/render.js";let d=["CarouselItem","CarouselItemV3"],o=["Text","Heading"],p=["IconListV2","IconList"],c=["IconList","ProductVariants"],u=({uid:e,builder:s,components:a,parentId:u,extraFiles:q={},pageContext:f,additionalSettings:v,...j})=>{let y=s[e],$=a[y?.tag];if(!$||!y||y?.type==="section")return{liquid:"",extraFiles:q};{let q={extraFiles:{}},k=i(y.advanced,y.tag),x="";x=t.includes(y.tag)?l(y?.childrens?.length,()=>$({builderProps:{uid:e,builderData:y},styles:y.styles,setting:y.settings,style:k,advanced:y.advanced,parentId:d.includes(y.tag)?u:null,pageContext:f,...v,...j,builderAttrs:{...j.builderAttrs},rawChildren:y.childrens.map(e=>({...s[e],uid:e,builder:s,components:a,customProps:q,pageContext:f,...v})),children:r.includes(y.tag)?"":b({uid:e,customProps:q},y.childrens.map(e=>h({uid:e,builder:s,components:a,customProps:q,parentTag:y.tag,pageContext:f,...v})))}),()=>$({builderProps:{uid:e,builderData:y},styles:y.styles,setting:y.settings,advanced:y.advanced,style:k,isText:!!o.includes(y.tag)||null,parentId:d.includes(y.tag)?u:null,pageContext:f,...j,builderAttrs:{...j.builderAttrs}})):n`<div gp-el-wrapper style="${p.includes(y.tag)?"":k}" class="${y.uid} ${y?.childrens?.length||"IconListItemHoz"!==y.tag?"":"hidden"}">
3
- ${l(y?.childrens?.length,()=>$({builderProps:{uid:e,builderData:y},styles:y.styles,setting:y.settings,advanced:{...c.includes(y.tag)?y?.advanced:{},cssClass:y?.advanced?.cssClass},pageContext:f,...v,...j,builderAttrs:{...j.builderAttrs},rawChildren:y.childrens.map(e=>({...s[e],uid:e,builder:s,components:a,customProps:q,pageContext:f,...v})),children:r.includes(y.tag)?"":b({uid:e,customProps:q},y.childrens.map(e=>h({uid:e,builder:s,components:a,customProps:q,parentTag:y.tag,pageContext:f,...v})))}),()=>$({builderProps:{uid:e,builderData:y},styles:y.styles,setting:y.settings,advanced:{...c.includes(y.tag)?y?.advanced:{},cssClass:y?.advanced?.cssClass},pageContext:f,...v,isText:!!o.includes(y.tag)||null,style:p.includes(y.tag)?k:null,...j,builderAttrs:{...j.builderAttrs}}))}
4
- </div>`;let{cssCode:w,jsCode:A}=g(y);return w&&(x+=w),A&&(x+=A),{liquid:x=m(y,x),extraFiles:q.extraFiles}}},g=e=>{let{css:t,javascript:r,rootClassName:i}=e.advanced?.editorData||{},s=t?.replaceAll(i,e.uid),a=r?.replaceAll(i,e.uid),d=l(!!t,n`
2
+ import{makeStyleResponsive as e}from"../helpers/make-style.js";import"react";import"react/jsx-runtime";import"zustand";import"swr";import"../graphql/queries/articles.generated.js";import"../graphql/queries/blogs.generated.js";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"../graphql/queries/collection-detail-filter.generated.js";import"../graphql/queries/collection.generated.js";import"../graphql/queries/collections.generated.js";import"../graphql/queries/published-theme-pages.generated.js";import"../graphql/queries/store-property.generated.js";import"../graphql/queries/preview-page.generated.js";import"../graphql/queries/published-shop-metas.generated.js";import"../graphql/queries/shop-shopify.generated.js";import"../graphql/queries/products-with-selling-plans.generated.js";import"../graphql/queries/product-variant-with-selling-plans.generated.js";import"../graphql/queries/product-variants.generated.js";import"../graphql/queries/product-little-detail.generated.js";import"../graphql/queries/product-medias.generated.js";import"swr/infinite";import"../graphql/queries/productsV2.generated.js";import"vanilla-lazyload";import"../hooks/useCartUI.js";import"../graphql/queries/product-value-label.generated.js";import"../hooks/useStickyStore.js";import"../types/builder.js";import"../types/custom.js";import"../types/animations.js";import"react-transition-group";import{disableWrap as t,customRenderChildren as r}from"./constant.js";import"@gem-sdk/core";import"../graphql-shopify/product-detail.generated.js";import"../graphql-shopify/product-medias.generated.js";import"../graphql-shopify/product-variants.generated.js";import{composeAdvanceStyle as i}from"../helpers/compose-advance-style.js";import{IS_LIQUID as s,baseAssetURL as a,isLocalEnv as l}from"../helpers/convert.js";import"crc-32";import{RenderIf as n,template as d}from"../helpers/render.js";let o=["CarouselItem","CarouselItemV3"],p=["Text","Heading"],u=["IconListV2","IconList"],c=["IconList","ProductVariants"],g=({uid:e,builder:a,components:l,parentId:g,extraFiles:f={},pageContext:j,additionalSettings:y,...v})=>{if(!s)throw Error("RenderLiquid requires IS_LIQUID=true. This process renders Liquid but is built for TSX, so the shared helpers would take the React branch and the output would be wrong.");let $=a[e],k=l[$?.tag];if(!k||!$||$?.type==="section")return{liquid:"",extraFiles:f};{let s={extraFiles:{}},f=i($.advanced,$.tag),w="";w=t.includes($.tag)?n($?.childrens?.length,()=>k({builderProps:{uid:e,builderData:$},styles:$.styles,setting:$.settings,style:f,advanced:$.advanced,parentId:o.includes($.tag)?g:null,pageContext:j,...y,...v,builderAttrs:{...v.builderAttrs},rawChildren:$.childrens.map(e=>({...a[e],uid:e,builder:a,components:l,customProps:s,pageContext:j,...y})),children:r.includes($.tag)?"":q({uid:e,customProps:s},$.childrens.map(e=>b({uid:e,builder:a,components:l,customProps:s,parentTag:$.tag,pageContext:j,...y})))}),()=>k({builderProps:{uid:e,builderData:$},styles:$.styles,setting:$.settings,advanced:$.advanced,style:f,isText:!!p.includes($.tag)||null,parentId:o.includes($.tag)?g:null,pageContext:j,...v,builderAttrs:{...v.builderAttrs}})):d`<div gp-el-wrapper style="${u.includes($.tag)?"":f}" class="${$.uid} ${$?.childrens?.length||"IconListItemHoz"!==$.tag?"":"hidden"}">
3
+ ${n($?.childrens?.length,()=>k({builderProps:{uid:e,builderData:$},styles:$.styles,setting:$.settings,advanced:{...c.includes($.tag)?$?.advanced:{},cssClass:$?.advanced?.cssClass},pageContext:j,...y,...v,builderAttrs:{...v.builderAttrs},rawChildren:$.childrens.map(e=>({...a[e],uid:e,builder:a,components:l,customProps:s,pageContext:j,...y})),children:r.includes($.tag)?"":q({uid:e,customProps:s},$.childrens.map(e=>b({uid:e,builder:a,components:l,customProps:s,parentTag:$.tag,pageContext:j,...y})))}),()=>k({builderProps:{uid:e,builderData:$},styles:$.styles,setting:$.settings,advanced:{...c.includes($.tag)?$?.advanced:{},cssClass:$?.advanced?.cssClass},pageContext:j,...y,isText:!!p.includes($.tag)||null,style:u.includes($.tag)?f:null,...v,builderAttrs:{...v.builderAttrs}}))}
4
+ </div>`;let{cssCode:x,jsCode:I}=m($);return x&&(w+=x),I&&(w+=I),{liquid:w=h($,w),extraFiles:s.extraFiles}}},m=e=>{let{css:t,javascript:r,rootClassName:i}=e.advanced?.editorData||{},s=t?.replaceAll(i,e.uid),a=r?.replaceAll(i,e.uid),l=n(!!t,d`
5
5
  <style id="${`custom-css-${e?.uid}`}">
6
6
  ${s}
7
7
  </style>
8
- `),o=l(!!r,n`
8
+ `),o=n(!!r,d`
9
9
  <script id="${`custom-js-${e?.uid}`}">
10
10
  try {
11
11
  ${a}
12
12
  } catch(err){}
13
13
  </script>
14
- `);return{cssCode:d,jsCode:o}},m=(t,r)=>{let{advanced:i,tag:d}=t,{animation:o,op:p,hasAnimationInteraction:c,displayInitInteraction:u}=i??{},g=(e,t)=>e?.triggerConfig?.[t]?.animation??"none",m=e=>{if("desktop"===e);else if("tablet"===e)return o?.tablet??o?.desktop;else if("mobile"===e)return o?.mobile??o?.tablet??o?.desktop;return o?.desktop},h=g(m("desktop"),"appear"),b=g(m("desktop"),"hover"),q=g(m("tablet"),"appear"),f=g(m("mobile"),"appear"),v=o?.desktop?.enabled&&("none"!==h||"none"!==b)||o?.tablet?.enabled&&"none"!==q||o?.mobile?.enabled&&"none"!==f||!!c,j=o?.desktop?.enabled&&("none"!==h||"none"!==b)||o?.tablet?.enabled&&"none"!==q||o?.mobile?.enabled&&"none"!==f;if(!v)return r;let y=e=>m(e)?.enabled&&!["shake","none"].includes(g(m(e),"appear"))?"hidden":"visible",$={desktop:y("desktop"),tablet:y("tablet"),mobile:y("mobile")};return n`
14
+ `);return{cssCode:l,jsCode:o}},h=(t,r)=>{let{advanced:i,tag:s}=t,{animation:o,op:p,hasAnimationInteraction:u,displayInitInteraction:c}=i??{},g=(e,t)=>e?.triggerConfig?.[t]?.animation??"none",m=e=>{if("desktop"===e);else if("tablet"===e)return o?.tablet??o?.desktop;else if("mobile"===e)return o?.mobile??o?.tablet??o?.desktop;return o?.desktop},h=g(m("desktop"),"appear"),b=g(m("desktop"),"hover"),q=g(m("tablet"),"appear"),f=g(m("mobile"),"appear"),j=o?.desktop?.enabled&&("none"!==h||"none"!==b)||o?.tablet?.enabled&&"none"!==q||o?.mobile?.enabled&&"none"!==f||!!u,y=o?.desktop?.enabled&&("none"!==h||"none"!==b)||o?.tablet?.enabled&&"none"!==q||o?.mobile?.enabled&&"none"!==f;if(!j)return r;let v=e=>m(e)?.enabled&&!["shake","none"].includes(g(m(e),"appear"))?"hidden":"visible",$={desktop:v("desktop"),tablet:v("tablet"),mobile:v("mobile")};return d`
15
15
  <gp-animation
16
16
  gp-interaction-wrapper
17
- display-init="${!1===u?"hide":"show"}"
17
+ display-init="${!1===c?"hide":"show"}"
18
18
  style="${{display:"contents"}}"
19
19
  >
20
- <script gp-data type="application/json">${JSON.stringify({config:o,tag:d,opacity:p,notEnableAnimationWhenInit:!j})}</script>
20
+ <script gp-data type="application/json">${JSON.stringify({config:o,tag:s,opacity:p,notEnableAnimationWhenInit:!y})}</script>
21
21
  <div style="${{...e("v",$),display:"contents"}}">${r}</div>
22
22
  </gp-animation>
23
- ${l(a,'<script src="{{ \'gp-animation-v7-5.js\' | asset_url }}" defer="defer"></script>',`<script src="${s}/assets-v2/gp-animation-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
24
- `},h=e=>{let t=u(e);for(let r in t.extraFiles)Object.prototype.hasOwnProperty.call(t.extraFiles,r)&&(e.customProps.extraFiles[r]=t.extraFiles[r]);let r=new TextEncoder,i=t?.liquid?r.encode(t.liquid).length:0;if(Math.ceil(i/1024)>=180){let r=`gp-section-snippet-${e.uid}`;return e.customProps.extraFiles[r]=t.liquid,`{% render '${r}', product: product, variant: variant, product_form_id: product_form_id, productSelectedVariant: productSelectedVariant, form: form %}`}return t.liquid},b=({uid:e,customProps:t},r)=>{let i="";if(r?.length)for(let s=0;s<r.length;s++){let a=r[s];if(a){let r=i+a,l=new TextEncoder,n=r?l.encode(r).length:0;if(Math.ceil(n/1024)>=180){let r=`gp-section-snippet-${e+s}`;t.extraFiles[r]=a,i+=`{% render '${r}', product: product, variant: variant, product_form_id: product_form_id, productSelectedVariant: productSelectedVariant, form: form %}`}else i+=a}}return i};export{h as RenderChildren,b as WrapRenderChildren,u as default};
23
+ ${n(l,'<script src="{{ \'gp-animation-v7-5.js\' | asset_url }}" defer="defer"></script>',`<script src="${a}/assets-v2/gp-animation-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
24
+ `},b=e=>{let t=g(e);for(let r in t.extraFiles)Object.prototype.hasOwnProperty.call(t.extraFiles,r)&&(e.customProps.extraFiles[r]=t.extraFiles[r]);let r=new TextEncoder,i=t?.liquid?r.encode(t.liquid).length:0;if(Math.ceil(i/1024)>=180){let r=`gp-section-snippet-${e.uid}`;return e.customProps.extraFiles[r]=t.liquid,`{% render '${r}', product: product, variant: variant, product_form_id: product_form_id, productSelectedVariant: productSelectedVariant, form: form %}`}return t.liquid},q=({uid:e,customProps:t},r)=>{let i="";if(r?.length)for(let s=0;s<r.length;s++){let a=r[s];if(a){let r=i+a,l=new TextEncoder,n=r?l.encode(r).length:0;if(Math.ceil(n/1024)>=180){let r=`gp-section-snippet-${e+s}`;t.extraFiles[r]=a,i+=`{% render '${r}', product: product, variant: variant, product_form_id: product_form_id, productSelectedVariant: productSelectedVariant, form: form %}`}else i+=a}}return i};export{b as RenderChildren,q as WrapRenderChildren,g as default};
@@ -1,6 +1,6 @@
1
1
  'use client';
2
- import{jsxs as e,Fragment as r,jsx as t}from"react/jsx-runtime";import s from"next/head";import i from"next/script";import{useMemo as o}from"react";import"zustand";import"react-transition-group";import"./constant.js";import"swr";import"@gem-sdk/core";import"../graphql/queries/collection-detail-filter.generated.js";import"../graphql/queries/collection.generated.js";import"../graphql/queries/collections.generated.js";import"../graphql/queries/published-theme-pages.generated.js";import"../graphql/queries/store-property.generated.js";import"../graphql/queries/preview-page.generated.js";import"../graphql/queries/published-shop-metas.generated.js";import"../graphql/queries/shop-shopify.generated.js";import"../graphql/queries/articles.generated.js";import"../graphql/queries/blogs.generated.js";import"../graphql/queries/products-with-selling-plans.generated.js";import"../graphql/queries/product-variant-with-selling-plans.generated.js";import"../graphql/queries/product-variants.generated.js";import"../graphql/queries/product-little-detail.generated.js";import"../graphql/queries/product-medias.generated.js";import"../graphql/queries/productsV2.generated.js";import"../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import{useEditorMode as p}from"../hooks/shop.js";import"swr/infinite";import"vanilla-lazyload";import"../hooks/useCartUI.js";import"../graphql/queries/product-value-label.generated.js";import"../hooks/useStickyStore.js";import"../types/builder.js";import"../types/custom.js";import"../types/animations.js";let a=({uid:a,advanced:l})=>{let m=p(),{css:n,javascript:d,rootClassName:g}=l?.editorData||{},u=n?.replaceAll(g,a),c=d?.replaceAll(g,a),h={css:`custom-css-${a}`,javascript:`custom-js-${a}`},q=o(()=>`
2
+ import{jsxs as e,Fragment as r,jsx as t}from"react/jsx-runtime";import s from"next/head";import i from"next/script";import{useMemo as p}from"react";import"zustand";import"react-transition-group";import"./constant.js";import"swr";import"@gem-sdk/core";import"../graphql/queries/collection-detail-filter.generated.js";import"../graphql/queries/collection.generated.js";import"../graphql/queries/collections.generated.js";import"../graphql/queries/published-theme-pages.generated.js";import"../graphql/queries/store-property.generated.js";import"../graphql/queries/preview-page.generated.js";import"../graphql/queries/published-shop-metas.generated.js";import"../graphql/queries/shop-shopify.generated.js";import"../graphql/queries/articles.generated.js";import"../graphql/queries/blogs.generated.js";import"../graphql/queries/products-with-selling-plans.generated.js";import"../graphql/queries/product-variant-with-selling-plans.generated.js";import"../graphql/queries/product-variants.generated.js";import"../graphql/queries/product-little-detail.generated.js";import"../graphql/queries/product-medias.generated.js";import"../graphql/queries/productsV2.generated.js";import"../graphql-shopify/product-detail.generated.js";import"../graphql-shopify/product-medias.generated.js";import"../graphql-shopify/product-variants.generated.js";import"../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import{useEditorMode as o}from"../hooks/shop.js";import"swr/infinite";import"vanilla-lazyload";import"../hooks/useCartUI.js";import"../graphql/queries/product-value-label.generated.js";import"../hooks/useStickyStore.js";import"../types/builder.js";import"../types/custom.js";import"../types/animations.js";let a=({uid:a,advanced:l})=>{let m=o(),{css:d,javascript:n,rootClassName:g}=l?.editorData||{},u=d?.replaceAll(g,a),h=n?.replaceAll(g,a),c={css:`custom-css-${a}`,javascript:`custom-js-${a}`},q=p(()=>`
3
3
  try {
4
- ${c}
4
+ ${h}
5
5
  } catch(err){}
6
- `,[c]);return e(r,{children:[t(s,{children:!!n&&t("style",{id:h.css,dangerouslySetInnerHTML:{__html:u}})}),!!d&&"edit"!==m&&t(i,{id:h.javascript,dangerouslySetInnerHTML:{__html:q}})]})};export{a as default};
6
+ `,[h]);return e(r,{children:[t(s,{children:!!d&&t("style",{id:c.css,dangerouslySetInnerHTML:{__html:u}})}),!!n&&"edit"!==m&&t(i,{id:c.javascript,dangerouslySetInnerHTML:{__html:q}})]})};export{a as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import{useRef as o,useState as i,useCallback as n,useEffect as a}from"react";import"zustand";import{useBuilderPreviewStore as s}from"../../contexts/BuilderPreviewContext.js";import{DEVICES as l}from"../../constants/device.js";import"react-transition-group";import"../constant.js";import"swr";import"@gem-sdk/core";import"../../graphql/queries/collection-detail-filter.generated.js";import"../../graphql/queries/collection.generated.js";import"../../graphql/queries/collections.generated.js";import"../../graphql/queries/published-theme-pages.generated.js";import"../../graphql/queries/store-property.generated.js";import"../../graphql/queries/preview-page.generated.js";import"../../graphql/queries/published-shop-metas.generated.js";import"../../graphql/queries/shop-shopify.generated.js";import"../../graphql/queries/articles.generated.js";import"../../graphql/queries/blogs.generated.js";import"../../graphql/queries/products-with-selling-plans.generated.js";import"../../graphql/queries/product-variant-with-selling-plans.generated.js";import"../../graphql/queries/product-variants.generated.js";import"../../graphql/queries/product-little-detail.generated.js";import"../../graphql/queries/product-medias.generated.js";import"../../graphql/queries/productsV2.generated.js";import"../../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import{usePageType as u}from"../../hooks/shop.js";import"swr/infinite";import"vanilla-lazyload";import"../../hooks/useCartUI.js";import"../../graphql/queries/product-value-label.generated.js";import"../../hooks/useStickyStore.js";import"../../types/builder.js";import"../../types/custom.js";import"../../types/animations.js";function p(p){let c=s(e=>e.isThemeSectionEditor),m=u(),g=o(null),h=o(null),v=o(null),b=o(!1),f=o(0),q=o(0),w=o(null),[j,y]=i(0),[E,S]=i(!1),L=o(null),C=e=>{let t=e.clientY,r=Math.ceil(t-f.current),o=q.current||0,i=o+r>=0?`${o+r}px`:"0px";return{newValue:i}},x=e=>{if(g.current&&h.current){let{newValue:t}=C(e);h.current.style.height=t,g.current.style.top=t;let r=g.current.closest("[data-toolbar-wrap]");r&&(r.style.marginBottom=t,U(t))}},T=()=>{z()},k=()=>{v.current&&clearTimeout(v.current),v.current=setTimeout(()=>{b.current=!0;let e=new CustomEvent("editor:toolbar:resize-spacing",{bubbles:!0,detail:{value:!0}});window.dispatchEvent(e),document.addEventListener("mousemove",x),document.addEventListener("mouseup",T)},100)},z=()=>{v.current&&clearTimeout(v.current),b.current=!1;let e=new CustomEvent("editor:toolbar:resize-spacing",{bubbles:!0,detail:{value:!1}});if(window.dispatchEvent(e),g.current){let e=getComputedStyle(g.current),t=e.top,r=new CustomEvent("editor:toolbar:change-margin-bottom",{bubbles:!0,detail:{componentUid:p.uid,marginBottom:t}});window.dispatchEvent(r)}let t=g.current?.closest("[data-toolbar-wrap]");t&&(t.style.marginBottom=""),document.removeEventListener("mousemove",x),document.removeEventListener("mouseup",T)},A=(e,t)=>{let r=e.children.length;if(r)for(let o=0;o<r;o++){let r=e.children[o];if(r){let e=r.getAttribute(t);if(e)return r}}},B=e=>{let t=e.getAttribute("data-component-tag");return"Row"===t||"Product"===t},P=n(e=>{let t=g.current?.closest("[data-toolbar-wrap]");if(!t)return;let r=A(t,"data-toolbar");if(!r)return;let o=r.getAttribute("data-toolbar-active");if(!o)return;let i=getComputedStyle(t),n=A(t,"data-spacing"),a=n?.querySelector("[data-spacing-margin-bottom]")||null;if(a&&h.current&&g.current){let r=i.marginBottom;if(e&&U(r),0>parseFloat(r)&&(r="0"),h.current.style.height=r,g.current.style.top=r,a.setAttribute("data-spacing-margin-bottom-active","true"),B(t))h.current.style.left="0";else{let e=i.paddingLeft,t=`-${e}`,r=`translate(${t}, -100%)`;h.current.style.left=t,g.current.style.transform=r}}},[]),U=e=>{let t=parseFloat(e);y(t),S(!0),L.current&&clearTimeout(L.current),L.current=setTimeout(()=>{S(!1)},2e3);let r=t<=28&&t>=0?t/2+16:t>28?0:16;w.current&&(w.current.style.transform=`translateY(${r}px)`)},$=d(p.advanced?.["spacing-setting"]);a(()=>{let e=F($,p.advanced?.["spacing-setting"]);P(e)},[$,p.advanced,P]);let F=(e,t)=>l.some(r=>JSON.stringify(e?.[r]?.margin?.bottom)!==JSON.stringify(t?.[r]?.margin?.bottom)),M=n(()=>{P()},[P]);return a(()=>(window.addEventListener("editor:toolbar:update-margin-bottom",()=>P),window.addEventListener("editor:toolbar:update-padding-left",()=>P),window.addEventListener("resize",M),()=>{window.removeEventListener("editor:toolbar:update-margin-bottom",()=>P),window.removeEventListener("editor:toolbar:update-padding-left",()=>P),window.removeEventListener("resize",M)}),[M,P]),e(t,{children:"Section"!==p.tag&&"POST_PURCHASE"!==m&&e("div",{"data-spacing":!0,"data-spacing-theme-section":c,className:"gp-absolute gp-w-full gp-bottom-0",children:r("div",{"data-spacing-margin-bottom":!0,children:[r("div",{"data-spacing-margin-bottom-bg":!0,ref:h,children:[e("div",{"data-spacing-margin-bottom-value":!0}),e("div",{"data-active":E,"data-value-number":!0,ref:w,children:j})]}),e("div",{ref:g,"data-spacing-margin-bottom-drag":!0,onMouseDown:e=>{if(g.current){let t=getComputedStyle(g.current);f.current=e.clientY,q.current=parseFloat(t.top),k()}},onMouseUp:()=>{z()},role:"presentation"})]})})})}let d=e=>{let t=o();return a(()=>{t.current=e},[e]),t.current};export{p as default};
2
+ import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import{useRef as o,useState as i,useCallback as a,useEffect as n}from"react";import"zustand";import{useBuilderPreviewStore as s}from"../../contexts/BuilderPreviewContext.js";import{DEVICES as l}from"../../constants/device.js";import"react-transition-group";import"../constant.js";import"swr";import"@gem-sdk/core";import"../../graphql/queries/collection-detail-filter.generated.js";import"../../graphql/queries/collection.generated.js";import"../../graphql/queries/collections.generated.js";import"../../graphql/queries/published-theme-pages.generated.js";import"../../graphql/queries/store-property.generated.js";import"../../graphql/queries/preview-page.generated.js";import"../../graphql/queries/published-shop-metas.generated.js";import"../../graphql/queries/shop-shopify.generated.js";import"../../graphql/queries/articles.generated.js";import"../../graphql/queries/blogs.generated.js";import"../../graphql/queries/products-with-selling-plans.generated.js";import"../../graphql/queries/product-variant-with-selling-plans.generated.js";import"../../graphql/queries/product-variants.generated.js";import"../../graphql/queries/product-little-detail.generated.js";import"../../graphql/queries/product-medias.generated.js";import"../../graphql/queries/productsV2.generated.js";import"../../graphql-shopify/product-detail.generated.js";import"../../graphql-shopify/product-medias.generated.js";import"../../graphql-shopify/product-variants.generated.js";import"../../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import{usePageType as p}from"../../hooks/shop.js";import"swr/infinite";import"vanilla-lazyload";import"../../hooks/useCartUI.js";import"../../graphql/queries/product-value-label.generated.js";import"../../hooks/useStickyStore.js";import"../../types/builder.js";import"../../types/custom.js";import"../../types/animations.js";function d(d){let m=s(e=>e.isThemeSectionEditor),c=p(),g=o(null),h=o(null),v=o(null),b=o(!1),f=o(0),q=o(0),w=o(null),[j,y]=i(0),[E,S]=i(!1),L=o(null),C=e=>{let t=e.clientY,r=Math.ceil(t-f.current),o=q.current||0,i=o+r>=0?`${o+r}px`:"0px";return{newValue:i}},x=e=>{if(g.current&&h.current){let{newValue:t}=C(e);h.current.style.height=t,g.current.style.top=t;let r=g.current.closest("[data-toolbar-wrap]");r&&(r.style.marginBottom=t,U(t))}},T=()=>{z()},k=()=>{v.current&&clearTimeout(v.current),v.current=setTimeout(()=>{b.current=!0;let e=new CustomEvent("editor:toolbar:resize-spacing",{bubbles:!0,detail:{value:!0}});window.dispatchEvent(e),document.addEventListener("mousemove",x),document.addEventListener("mouseup",T)},100)},z=()=>{v.current&&clearTimeout(v.current),b.current=!1;let e=new CustomEvent("editor:toolbar:resize-spacing",{bubbles:!0,detail:{value:!1}});if(window.dispatchEvent(e),g.current){let e=getComputedStyle(g.current),t=e.top,r=new CustomEvent("editor:toolbar:change-margin-bottom",{bubbles:!0,detail:{componentUid:d.uid,marginBottom:t}});window.dispatchEvent(r)}let t=g.current?.closest("[data-toolbar-wrap]");t&&(t.style.marginBottom=""),document.removeEventListener("mousemove",x),document.removeEventListener("mouseup",T)},A=(e,t)=>{let r=e.children.length;if(r)for(let o=0;o<r;o++){let r=e.children[o];if(r){let e=r.getAttribute(t);if(e)return r}}},B=e=>{let t=e.getAttribute("data-component-tag");return"Row"===t||"Product"===t},P=a(e=>{let t=g.current?.closest("[data-toolbar-wrap]");if(!t)return;let r=A(t,"data-toolbar");if(!r)return;let o=r.getAttribute("data-toolbar-active");if(!o)return;let i=getComputedStyle(t),a=A(t,"data-spacing"),n=a?.querySelector("[data-spacing-margin-bottom]")||null;if(n&&h.current&&g.current){let r=i.marginBottom;if(e&&U(r),0>parseFloat(r)&&(r="0"),h.current.style.height=r,g.current.style.top=r,n.setAttribute("data-spacing-margin-bottom-active","true"),B(t))h.current.style.left="0";else{let e=i.paddingLeft,t=`-${e}`,r=`translate(${t}, -100%)`;h.current.style.left=t,g.current.style.transform=r}}},[]),U=e=>{let t=parseFloat(e);y(t),S(!0),L.current&&clearTimeout(L.current),L.current=setTimeout(()=>{S(!1)},2e3);let r=t<=28&&t>=0?t/2+16:t>28?0:16;w.current&&(w.current.style.transform=`translateY(${r}px)`)},$=u(d.advanced?.["spacing-setting"]);n(()=>{let e=F($,d.advanced?.["spacing-setting"]);P(e)},[$,d.advanced,P]);let F=(e,t)=>l.some(r=>JSON.stringify(e?.[r]?.margin?.bottom)!==JSON.stringify(t?.[r]?.margin?.bottom)),M=a(()=>{P()},[P]);return n(()=>(window.addEventListener("editor:toolbar:update-margin-bottom",()=>P),window.addEventListener("editor:toolbar:update-padding-left",()=>P),window.addEventListener("resize",M),()=>{window.removeEventListener("editor:toolbar:update-margin-bottom",()=>P),window.removeEventListener("editor:toolbar:update-padding-left",()=>P),window.removeEventListener("resize",M)}),[M,P]),e(t,{children:"Section"!==d.tag&&"POST_PURCHASE"!==c&&e("div",{"data-spacing":!0,"data-spacing-theme-section":m,className:"gp-absolute gp-w-full gp-bottom-0",children:r("div",{"data-spacing-margin-bottom":!0,children:[r("div",{"data-spacing-margin-bottom-bg":!0,ref:h,children:[e("div",{"data-spacing-margin-bottom-value":!0}),e("div",{"data-active":E,"data-value-number":!0,ref:w,children:j})]}),e("div",{ref:g,"data-spacing-margin-bottom-drag":!0,onMouseDown:e=>{if(g.current){let t=getComputedStyle(g.current);f.current=e.clientY,q.current=parseFloat(t.top),k()}},onMouseUp:()=>{z()},role:"presentation"})]})})})}let u=e=>{let t=o();return n(()=>{t.current=e},[e]),t.current};export{d as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import{useRef as i,useState as o}from"react";import{ThemeSectionTooltip as a}from"./ThemeSectionTooltip.js";import"zustand";import{useI18nStore as s}from"../../contexts/I18nContext.js";import"../constant.js";import{useShopStore as p}from"../../contexts/ShopContext.js";import"@gem-sdk/core";import"swr";import"../../graphql/queries/collection-detail-filter.generated.js";import"../../graphql/queries/collection.generated.js";import"../../graphql/queries/collections.generated.js";import"../../graphql/queries/published-theme-pages.generated.js";import"../../graphql/queries/store-property.generated.js";import"../../graphql/queries/preview-page.generated.js";import"../../graphql/queries/published-shop-metas.generated.js";import"../../graphql/queries/shop-shopify.generated.js";import"../../graphql/queries/articles.generated.js";import"../../graphql/queries/blogs.generated.js";import"../../graphql/queries/products-with-selling-plans.generated.js";import"../../graphql/queries/product-variant-with-selling-plans.generated.js";import"../../graphql/queries/product-variants.generated.js";import"../../graphql/queries/product-little-detail.generated.js";import"../../graphql/queries/product-medias.generated.js";import"../../graphql/queries/productsV2.generated.js";import"../../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"swr/infinite";import"vanilla-lazyload";import"../../hooks/useCartUI.js";import"../../graphql/queries/product-value-label.generated.js";import"../../hooks/useStickyStore.js";import"../../types/builder.js";import"../../types/custom.js";import"../../types/animations.js";let n=["starter","trial","trial2022"],l=({...l})=>{let{t:m}=s(),d=p(e=>e.plan),c=p(e=>e.createThemeSectionCount),u=p(e=>e.limitCreateThemeSection),h=n.includes(d??""),g=h||u?.isLimit,q=g||void 0===c||c<1,j=i(),[C,v]=o(!1),b=(e,t)=>{e.preventDefault(),e.stopPropagation(),t?.disabled||(g?w():f(),j.current&&clearTimeout(j.current),v(!1))},w=()=>{let e=new CustomEvent("editor:toolbar:upgrade",{bubbles:!0});window.dispatchEvent(e)},f=()=>{let e=new CustomEvent("editor:toolbar:create-theme-section",{bubbles:!0,detail:{componentUid:l.uid}});window.dispatchEvent(e)};return e(t,{children:r(a,{isFreeLimit:h,limitCreateThemeSection:u,isShow:C,isRender:q,onActions:b,onMouseEnter:()=>{q&&(j.current&&clearTimeout(j.current),j.current=setTimeout(()=>{v(!0)},600))},onMouseLeave:()=>{q&&(j.current&&clearTimeout(j.current),v(!1))},children:[q&&e("div",{"data-toolbar-create-theme-section":!0,children:"You can create reusable sections"}),e("div",{"data-toolbar-active-create-theme-section-wrapper":!0,children:r("div",{"data-toolbar-active-create-theme-section":!0,onClick:e=>b(e,{disabled:!!g}),"aria-hidden":"true",children:[r("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:[e("path",{d:"M1 2C1 1.44772 1.44772 1 2 1H6C6.55228 1 7 1.44772 7 2V6C7 6.55228 6.55228 7 6 7H2C1.44772 7 1 6.55228 1 6V2Z",fill:"#F9F9F9"}),e("path",{d:"M9 10C9 9.44772 9.44772 9 10 9H14C14.5523 9 15 9.44772 15 10V14C15 14.5523 14.5523 15 14 15H10C9.44772 15 9 14.5523 9 14V10Z",fill:"#F9F9F9"}),e("path",{d:"M2 9C1.44772 9 1 9.44772 1 10V14C1 14.5523 1.44772 15 2 15H6C6.55228 15 7 14.5523 7 14V10C7 9.44772 6.55228 9 6 9H2Z",fill:"#F9F9F9"})]}),e("p",{children:m("Create Theme Section")})]})})]})})};export{l as CreateThemeSection};
2
+ import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import{useRef as i,useState as o}from"react";import{ThemeSectionTooltip as a}from"./ThemeSectionTooltip.js";import"zustand";import{useI18nStore as s}from"../../contexts/I18nContext.js";import{isFreePlan as p}from"../../constants/plan.js";import"../constant.js";import{useShopStore as n}from"../../contexts/ShopContext.js";import"@gem-sdk/core";import"swr";import"../../graphql/queries/collection-detail-filter.generated.js";import"../../graphql/queries/collection.generated.js";import"../../graphql/queries/collections.generated.js";import"../../graphql/queries/published-theme-pages.generated.js";import"../../graphql/queries/store-property.generated.js";import"../../graphql/queries/preview-page.generated.js";import"../../graphql/queries/published-shop-metas.generated.js";import"../../graphql/queries/shop-shopify.generated.js";import"../../graphql/queries/articles.generated.js";import"../../graphql/queries/blogs.generated.js";import"../../graphql/queries/products-with-selling-plans.generated.js";import"../../graphql/queries/product-variant-with-selling-plans.generated.js";import"../../graphql/queries/product-variants.generated.js";import"../../graphql/queries/product-little-detail.generated.js";import"../../graphql/queries/product-medias.generated.js";import"../../graphql/queries/productsV2.generated.js";import"../../graphql-shopify/product-detail.generated.js";import"../../graphql-shopify/product-medias.generated.js";import"../../graphql-shopify/product-variants.generated.js";import"../../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"swr/infinite";import"vanilla-lazyload";import"../../hooks/useCartUI.js";import"../../graphql/queries/product-value-label.generated.js";import"../../hooks/useStickyStore.js";import"../../types/builder.js";import"../../types/custom.js";import"../../types/animations.js";let l=({...l})=>{let{t:d}=s(),m=n(e=>e.plan),c=n(e=>e.createThemeSectionCount),h=n(e=>e.limitCreateThemeSection),u=p(m),g=u||h?.isLimit,q=g||void 0===c||c<1,j=i(),[C,v]=o(!1),b=(e,t)=>{e.preventDefault(),e.stopPropagation(),t?.disabled||(g?f():w(),j.current&&clearTimeout(j.current),v(!1))},f=()=>{let e=new CustomEvent("editor:toolbar:upgrade",{bubbles:!0});window.dispatchEvent(e)},w=()=>{let e=new CustomEvent("editor:toolbar:create-theme-section",{bubbles:!0,detail:{componentUid:l.uid}});window.dispatchEvent(e)};return e(t,{children:r(a,{isFreeLimit:u,limitCreateThemeSection:h,isShow:C,isRender:q,onActions:b,onMouseEnter:()=>{q&&(j.current&&clearTimeout(j.current),j.current=setTimeout(()=>{v(!0)},600))},onMouseLeave:()=>{q&&(j.current&&clearTimeout(j.current),v(!1))},children:[q&&e("div",{"data-toolbar-create-theme-section":!0,children:"You can create reusable sections"}),e("div",{"data-toolbar-active-create-theme-section-wrapper":!0,children:r("div",{"data-toolbar-active-create-theme-section":!0,onClick:e=>b(e,{disabled:!!g}),"aria-hidden":"true",children:[r("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:[e("path",{d:"M1 2C1 1.44772 1.44772 1 2 1H6C6.55228 1 7 1.44772 7 2V6C7 6.55228 6.55228 7 6 7H2C1.44772 7 1 6.55228 1 6V2Z",fill:"#F9F9F9"}),e("path",{d:"M9 10C9 9.44772 9.44772 9 10 9H14C14.5523 9 15 9.44772 15 10V14C15 14.5523 14.5523 15 14 15H10C9.44772 15 9 14.5523 9 14V10Z",fill:"#F9F9F9"}),e("path",{d:"M2 9C1.44772 9 1 9.44772 1 10V14C1 14.5523 1.44772 15 2 15H6C6.55228 15 7 14.5523 7 14V10C7 9.44772 6.55228 9 6 9H2Z",fill:"#F9F9F9"})]}),e("p",{children:d("Create Theme Section")})]})})]})})};export{l as CreateThemeSection};
@@ -1 +1 @@
1
- import{jsx as e,Fragment as t,jsxs as i}from"react/jsx-runtime";import{useRef as o}from"react";import{Transition as r}from"react-transition-group";import"zustand";import{useI18nStore as s}from"../../contexts/I18nContext.js";import{cls as a}from"../../helpers/cls.js";import"../constant.js";import"swr";import"@gem-sdk/core";import"../../graphql/queries/collection-detail-filter.generated.js";import"../../graphql/queries/collection.generated.js";import"../../graphql/queries/collections.generated.js";import"../../graphql/queries/published-theme-pages.generated.js";import"../../graphql/queries/store-property.generated.js";import"../../graphql/queries/preview-page.generated.js";import"../../graphql/queries/published-shop-metas.generated.js";import"../../graphql/queries/shop-shopify.generated.js";import"../../graphql/queries/articles.generated.js";import"../../graphql/queries/blogs.generated.js";import"../../graphql/queries/products-with-selling-plans.generated.js";import"../../graphql/queries/product-variant-with-selling-plans.generated.js";import"../../graphql/queries/product-variants.generated.js";import"../../graphql/queries/product-little-detail.generated.js";import"../../graphql/queries/product-medias.generated.js";import"../../graphql/queries/productsV2.generated.js";import"../../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"swr/infinite";import"vanilla-lazyload";import"../../hooks/useCartUI.js";import"../../graphql/queries/product-value-label.generated.js";import"../../hooks/useStickyStore.js";import"../../types/builder.js";import"../../types/custom.js";import"../../types/animations.js";let n={transition:"opacity 350ms ease-out",opacity:0},l={entering:{opacity:1},entered:{opacity:1},exiting:{opacity:0},exited:{opacity:0},unmounted:{opacity:0}},p=({isShow:p,isFreeLimit:m,isRender:c,children:d,limitCreateThemeSection:h,onMouseEnter:u,onMouseLeave:g,onActions:q})=>{let{t:_}=s(),y=o(null),j=m?_("Upgrade to create Theme Section"):_("Create Theme Section"),b=()=>{window.open("https://help.gempages.net/articles/theme-section","_blank")};return e(t,{children:i("div",{className:"theme-section-tooltip-wrapper",onMouseEnter:u,onMouseLeave:g,children:[d,c&&e(r,{in:p,timeout:350,nodeRef:y,unmountOnExit:!0,children:o=>e("div",{className:"theme-section-tooltip",ref:y,style:{...n,...l[o]},children:h?.isLimit&&!m?i("div",{className:"theme-section-tooltip__body theme-section-tooltip__body-limit",children:[e("div",{className:"theme-section-tooltip__body-title theme-section-tooltip__body-limit__title",children:_("Upgrade plan")}),i("div",{className:"theme-section-tooltip__body-desc theme-section-tooltip__body-limit__desc",children:[_("You’ve reached the maximum number of theme sections on your plan")," (",h.total,"/",h.limit,")"]}),e("button",{onClick:e=>q(e),children:_("Upgrade plan to create more")})]}):i(t,{children:[e("div",{className:"theme-section-tooltip__image",children:e("img",{src:"https://ucarecdn.com/6a9f408a-aa8c-434a-890b-81067a14aceb/-/format/auto/-/preview/1920x1920/-/quality/lighter/theme-section-illustration.png",alt:""})}),i("div",{className:"theme-section-tooltip__body",children:[e("div",{className:"theme-section-tooltip__body-title",children:_("Create once, use everywhere with Theme Section")}),e("div",{className:"theme-section-tooltip__body-desc",children:_("A global section that can be used on all your GemPages & Shopify pages.")})]}),i("div",{className:a("theme-section-tooltip__action",{"theme-section-tooltip__action-limit":m}),children:[e("button",{onClick:e=>q(e),children:_(j)}),m&&e("div",{onClick:b,"aria-hidden":!0,className:"theme-section-tooltip__action-learn-more",children:_("Learn more about Theme Section")})]})]})})})]})})};export{p as ThemeSectionTooltip};
1
+ import{jsx as e,Fragment as t,jsxs as i}from"react/jsx-runtime";import{useRef as o}from"react";import{Transition as r}from"react-transition-group";import"zustand";import{useI18nStore as s}from"../../contexts/I18nContext.js";import{cls as a}from"../../helpers/cls.js";import"../constant.js";import"swr";import"@gem-sdk/core";import"../../graphql/queries/collection-detail-filter.generated.js";import"../../graphql/queries/collection.generated.js";import"../../graphql/queries/collections.generated.js";import"../../graphql/queries/published-theme-pages.generated.js";import"../../graphql/queries/store-property.generated.js";import"../../graphql/queries/preview-page.generated.js";import"../../graphql/queries/published-shop-metas.generated.js";import"../../graphql/queries/shop-shopify.generated.js";import"../../graphql/queries/articles.generated.js";import"../../graphql/queries/blogs.generated.js";import"../../graphql/queries/products-with-selling-plans.generated.js";import"../../graphql/queries/product-variant-with-selling-plans.generated.js";import"../../graphql/queries/product-variants.generated.js";import"../../graphql/queries/product-little-detail.generated.js";import"../../graphql/queries/product-medias.generated.js";import"../../graphql/queries/productsV2.generated.js";import"../../graphql-shopify/product-detail.generated.js";import"../../graphql-shopify/product-medias.generated.js";import"../../graphql-shopify/product-variants.generated.js";import"../../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"swr/infinite";import"vanilla-lazyload";import"../../hooks/useCartUI.js";import"../../graphql/queries/product-value-label.generated.js";import"../../hooks/useStickyStore.js";import"../../types/builder.js";import"../../types/custom.js";import"../../types/animations.js";let p={transition:"opacity 350ms ease-out",opacity:0},n={entering:{opacity:1},entered:{opacity:1},exiting:{opacity:0},exited:{opacity:0},unmounted:{opacity:0}},l=({isShow:l,isFreeLimit:m,isRender:c,children:d,limitCreateThemeSection:h,onMouseEnter:g,onMouseLeave:u,onActions:q})=>{let{t:y}=s(),_=o(null),j=m?y("Upgrade to create Theme Section"):y("Create Theme Section"),b=()=>{window.open("https://help.gempages.net/articles/theme-section","_blank")};return e(t,{children:i("div",{className:"theme-section-tooltip-wrapper",onMouseEnter:g,onMouseLeave:u,children:[d,c&&e(r,{in:l,timeout:350,nodeRef:_,unmountOnExit:!0,children:o=>e("div",{className:"theme-section-tooltip",ref:_,style:{...p,...n[o]},children:h?.isLimit&&!m?i("div",{className:"theme-section-tooltip__body theme-section-tooltip__body-limit",children:[e("div",{className:"theme-section-tooltip__body-title theme-section-tooltip__body-limit__title",children:y("Upgrade plan")}),i("div",{className:"theme-section-tooltip__body-desc theme-section-tooltip__body-limit__desc",children:[y("You’ve reached the maximum number of theme sections on your plan")," (",h.total,"/",h.limit,")"]}),e("button",{onClick:e=>q(e),children:y("Upgrade plan to create more")})]}):i(t,{children:[e("div",{className:"theme-section-tooltip__image",children:e("img",{src:"https://ucarecdn.com/6a9f408a-aa8c-434a-890b-81067a14aceb/-/format/auto/-/preview/1920x1920/-/quality/lighter/theme-section-illustration.png",alt:""})}),i("div",{className:"theme-section-tooltip__body",children:[e("div",{className:"theme-section-tooltip__body-title",children:y("Create once, use everywhere with Theme Section")}),e("div",{className:"theme-section-tooltip__body-desc",children:y("A global section that can be used on all your GemPages & Shopify pages.")})]}),i("div",{className:a("theme-section-tooltip__action",{"theme-section-tooltip__action-limit":m}),children:[e("button",{onClick:e=>q(e),children:y(j)}),m&&e("div",{onClick:b,"aria-hidden":!0,className:"theme-section-tooltip__action-learn-more",children:y("Learn more about Theme Section")})]})]})})})]})})};export{l as ThemeSectionTooltip};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as r}from"react/jsx-runtime";import"react";import"zustand";import{useI18nStore as t}from"../../contexts/I18nContext.js";import{cls as p}from"../../helpers/cls.js";import"react-transition-group";import"../constant.js";import"swr";import"@gem-sdk/core";import{CheckMarkIcon as s,LoadingIcon as i,CircleUpIcon as o}from"./icons.js";import"../../graphql/queries/collection-detail-filter.generated.js";import"../../graphql/queries/collection.generated.js";import"../../graphql/queries/collections.generated.js";import"../../graphql/queries/published-theme-pages.generated.js";import"../../graphql/queries/store-property.generated.js";import"../../graphql/queries/preview-page.generated.js";import"../../graphql/queries/published-shop-metas.generated.js";import"../../graphql/queries/shop-shopify.generated.js";import"../../graphql/queries/articles.generated.js";import"../../graphql/queries/blogs.generated.js";import"../../graphql/queries/products-with-selling-plans.generated.js";import"../../graphql/queries/product-variant-with-selling-plans.generated.js";import"../../graphql/queries/product-variants.generated.js";import"../../graphql/queries/product-little-detail.generated.js";import"../../graphql/queries/product-medias.generated.js";import"../../graphql/queries/productsV2.generated.js";import"../../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"swr/infinite";import"vanilla-lazyload";import"../../hooks/useCartUI.js";import"../../graphql/queries/product-value-label.generated.js";import"../../hooks/useStickyStore.js";import"../../types/builder.js";import"../../types/custom.js";import"../../types/animations.js";let a=({isLoading:a,isUpdated:l,onUpgrade:n})=>{let{t:g}=t(),d={old:{icon:r(o,{}),label:g("Update"),className:"gp-relative",showDot:!0},loading:{icon:r(i,{}),label:"",className:"gp-animate-spin gp-ease-in-out gp-px-6",showDot:!1},updated:{icon:r(s,{}),label:g("Updated"),className:"",showDot:!1}},m=d[a?"loading":l?"updated":"old"];return e("button",{disabled:a,"data-toolbar-upgrade-element":"true",className:p("gp-flex gp-gap-[6px] gp-items-center gp-font-medium disabled:gp-opacity-60 disabled:gp-cursor-not-allowed",{"gp-pointer-events-none":l}),onClick:n,children:[r("div",{className:`gp-shrink-0 gp-overflow-hidden ${m.className}`,children:m.icon}),m.showDot&&r("div",{className:"gp-absolute gp-left-[10px] gp-top-[-2px] gp-size-4 gp-overflow-hidden",children:r("div",{className:"gp-absolute gp-inset-1/4 gp-rounded-full gp-bg-[#3C67FF]"})}),m.label&&r("span",{className:"gp-text-[12px] gp-leading-5 gp-text-[#F9F9F9] gp-whitespace-nowrap",children:m.label})]})};export{a as default};
1
+ import{jsxs as e,jsx as r}from"react/jsx-runtime";import"react";import"zustand";import{useI18nStore as t}from"../../contexts/I18nContext.js";import{cls as p}from"../../helpers/cls.js";import"react-transition-group";import"../constant.js";import"swr";import"@gem-sdk/core";import{CheckMarkIcon as s,LoadingIcon as i,CircleUpIcon as a}from"./icons.js";import"../../graphql/queries/collection-detail-filter.generated.js";import"../../graphql/queries/collection.generated.js";import"../../graphql/queries/collections.generated.js";import"../../graphql/queries/published-theme-pages.generated.js";import"../../graphql/queries/store-property.generated.js";import"../../graphql/queries/preview-page.generated.js";import"../../graphql/queries/published-shop-metas.generated.js";import"../../graphql/queries/shop-shopify.generated.js";import"../../graphql/queries/articles.generated.js";import"../../graphql/queries/blogs.generated.js";import"../../graphql/queries/products-with-selling-plans.generated.js";import"../../graphql/queries/product-variant-with-selling-plans.generated.js";import"../../graphql/queries/product-variants.generated.js";import"../../graphql/queries/product-little-detail.generated.js";import"../../graphql/queries/product-medias.generated.js";import"../../graphql/queries/productsV2.generated.js";import"../../graphql-shopify/product-detail.generated.js";import"../../graphql-shopify/product-medias.generated.js";import"../../graphql-shopify/product-variants.generated.js";import"../../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"swr/infinite";import"vanilla-lazyload";import"../../hooks/useCartUI.js";import"../../graphql/queries/product-value-label.generated.js";import"../../hooks/useStickyStore.js";import"../../types/builder.js";import"../../types/custom.js";import"../../types/animations.js";let o=({isLoading:o,isUpdated:l,onUpgrade:g})=>{let{t:d}=t(),n={old:{icon:r(a,{}),label:d("Update"),className:"gp-relative",showDot:!0},loading:{icon:r(i,{}),label:"",className:"gp-animate-spin gp-ease-in-out gp-px-6",showDot:!1},updated:{icon:r(s,{}),label:d("Updated"),className:"",showDot:!1}},m=n[o?"loading":l?"updated":"old"];return e("button",{disabled:o,"data-toolbar-upgrade-element":"true",className:p("gp-flex gp-gap-[6px] gp-items-center gp-font-medium disabled:gp-opacity-60 disabled:gp-cursor-not-allowed",{"gp-pointer-events-none":l}),onClick:g,children:[r("div",{className:`gp-shrink-0 gp-overflow-hidden ${m.className}`,children:m.icon}),m.showDot&&r("div",{className:"gp-absolute gp-left-[10px] gp-top-[-2px] gp-size-4 gp-overflow-hidden",children:r("div",{className:"gp-absolute gp-inset-1/4 gp-rounded-full gp-bg-[#3C67FF]"})}),m.label&&r("span",{className:"gp-text-[12px] gp-leading-5 gp-text-[#F9F9F9] gp-whitespace-nowrap",children:m.label})]})};export{o as default};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useMemo as r,useCallback as t}from"react";import"zustand";import{usePageStore as o}from"../../contexts/PageContext.js";import"react-transition-group";import"../constant.js";import"swr";import"@gem-sdk/core";import i from"./UpgradeButton.js";import"../../graphql/queries/collection-detail-filter.generated.js";import"../../graphql/queries/collection.generated.js";import"../../graphql/queries/collections.generated.js";import"../../graphql/queries/published-theme-pages.generated.js";import"../../graphql/queries/store-property.generated.js";import"../../graphql/queries/preview-page.generated.js";import"../../graphql/queries/published-shop-metas.generated.js";import"../../graphql/queries/shop-shopify.generated.js";import"../../graphql/queries/articles.generated.js";import"../../graphql/queries/blogs.generated.js";import"../../graphql/queries/products-with-selling-plans.generated.js";import"../../graphql/queries/product-variant-with-selling-plans.generated.js";import"../../graphql/queries/product-variants.generated.js";import"../../graphql/queries/product-little-detail.generated.js";import"../../graphql/queries/product-medias.generated.js";import"../../graphql/queries/productsV2.generated.js";import"../../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import{usePageType as s}from"../../hooks/shop.js";import"swr/infinite";import"vanilla-lazyload";import"../../hooks/useCartUI.js";import"../../graphql/queries/product-value-label.generated.js";import"../../hooks/useStickyStore.js";import"../../types/builder.js";import"../../types/custom.js";import"../../types/animations.js";let p=["THEME_SECTION"],a=({tag:a,uid:l})=>{let m=o(e=>e.oldElements),n=o(e=>e.updatedElements),d=o(e=>e.updatingElements),g=s(),u=r(()=>!p.some(e=>e.includes(g)),[g]),q=r(()=>!!l&&(m?.some(e=>e.uid===l)??!1),[m,l]),h=r(()=>n?.some(e=>e.uid===l),[n,l]),c=r(()=>d?.some(e=>e.uid===l),[d,l]),j=t(e=>{h||(e.preventDefault(),e.stopPropagation(),window.dispatchEvent(new CustomEvent("editor:toolbar:upgrade-old-element",{bubbles:!0,detail:{componentUid:l,fromTag:a}})))},[h,a,l]);return a&&l&&u&&(q||h)?e(i,{isLoading:c,isUpdated:h,onUpgrade:j}):null};export{a as default};
1
+ import{jsx as e}from"react/jsx-runtime";import{useMemo as r,useCallback as t}from"react";import"zustand";import{usePageStore as o}from"../../contexts/PageContext.js";import"react-transition-group";import"../constant.js";import"swr";import"@gem-sdk/core";import i from"./UpgradeButton.js";import"../../graphql/queries/collection-detail-filter.generated.js";import"../../graphql/queries/collection.generated.js";import"../../graphql/queries/collections.generated.js";import"../../graphql/queries/published-theme-pages.generated.js";import"../../graphql/queries/store-property.generated.js";import"../../graphql/queries/preview-page.generated.js";import"../../graphql/queries/published-shop-metas.generated.js";import"../../graphql/queries/shop-shopify.generated.js";import"../../graphql/queries/articles.generated.js";import"../../graphql/queries/blogs.generated.js";import"../../graphql/queries/products-with-selling-plans.generated.js";import"../../graphql/queries/product-variant-with-selling-plans.generated.js";import"../../graphql/queries/product-variants.generated.js";import"../../graphql/queries/product-little-detail.generated.js";import"../../graphql/queries/product-medias.generated.js";import"../../graphql/queries/productsV2.generated.js";import"../../graphql-shopify/product-detail.generated.js";import"../../graphql-shopify/product-medias.generated.js";import"../../graphql-shopify/product-variants.generated.js";import"../../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import{usePageType as s}from"../../hooks/shop.js";import"swr/infinite";import"vanilla-lazyload";import"../../hooks/useCartUI.js";import"../../graphql/queries/product-value-label.generated.js";import"../../hooks/useStickyStore.js";import"../../types/builder.js";import"../../types/custom.js";import"../../types/animations.js";let p=["THEME_SECTION"],a=({tag:a,uid:l})=>{let m=o(e=>e.oldElements),d=o(e=>e.updatedElements),n=o(e=>e.updatingElements),g=s(),u=r(()=>!p.some(e=>e.includes(g)),[g]),h=r(()=>!!l&&(m?.some(e=>e.uid===l)??!1),[m,l]),q=r(()=>d?.some(e=>e.uid===l),[d,l]),c=r(()=>n?.some(e=>e.uid===l),[n,l]),j=t(e=>{q||(e.preventDefault(),e.stopPropagation(),window.dispatchEvent(new CustomEvent("editor:toolbar:upgrade-old-element",{bubbles:!0,detail:{componentUid:l,fromTag:a}})))},[q,a,l]);return a&&l&&u&&(h||q)?e(i,{isLoading:c,isUpdated:q,onUpgrade:j}):null};export{a as default};
@@ -0,0 +1 @@
1
+ let e=["starter","trial","trial2022"],r=r=>e.includes(r??"");export{e as FREE_PLANS,r as isFreePlan};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,Fragment as t}from"react/jsx-runtime";import{useId as r,useMemo as i,useContext as s,createContext as o}from"react";import{useStore as p,createStore as a}from"zustand";import"swr";import"../graphql/queries/articles.generated.js";import"../graphql/queries/blogs.generated.js";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"../graphql/queries/collection-detail-filter.generated.js";import"../graphql/queries/collection.generated.js";import"../graphql/queries/collections.generated.js";import"../graphql/queries/published-theme-pages.generated.js";import"../graphql/queries/store-property.generated.js";import"../graphql/queries/preview-page.generated.js";import"../graphql/queries/published-shop-metas.generated.js";import"../graphql/queries/shop-shopify.generated.js";import"../graphql/queries/products-with-selling-plans.generated.js";import"../graphql/queries/product-variant-with-selling-plans.generated.js";import"../graphql/queries/product-variants.generated.js";import"../graphql/queries/product-little-detail.generated.js";import"../graphql/queries/product-medias.generated.js";import"swr/infinite";import"../graphql/queries/productsV2.generated.js";import"vanilla-lazyload";import"../hooks/useCartUI.js";import"../graphql/queries/product-value-label.generated.js";import"../hooks/useStickyStore.js";import{checkInStock as l}from"../helpers/variant.js";import"../types/builder.js";import"../types/custom.js";import"../types/animations.js";import"react-transition-group";import"../components/constant.js";import"@gem-sdk/core";import{flattenConnection as n}from"../helpers/flatten-connection.js";import"../helpers/convert.js";import"crc-32";let d=o(null),u=e=>a((t,r)=>({...e,updateProperty:(e,r)=>{t(t=>({properties:t.properties?.map(t=>t.key===e?{...t,...r}:t)}))},setUseProductCompareAtPrice:e=>{t({useProductCompareAtPrice:e})},setShouldRequireUploadMessage:e=>{t({shouldRequireUploadMessage:e})},setRequireUpload:e=>{t({requireUpload:e})},addProperty:e=>{let i=r().properties;i?.some(t=>t.key===e.key)||t(t=>({properties:[...t.properties??[],e]}))},removeProperty:e=>{t(t=>({properties:t.properties?.filter(t=>t.key!==e)}))},setQuantity:e=>{t({quantity:e>0?e:1})},setProductFeaturedImage:e=>{t({featuredImageGlobal:e})},incrementQuantity:()=>{t(e=>{let t=e.quantity??1;return{quantity:t+1}})},decrementQuantity:()=>{t(e=>{let t=e.quantity??1;return{quantity:t>2?t-1:1}})},setSelectedOption:(e,r)=>{t(t=>e&&r?{selectedOptions:{...t?.selectedOptions,[e]:r}}:t)},forceSelectedOption:e=>{t(t=>({selectedOptions:{...t?.selectedOptions,...e}}))},updateIsSubmit:e=>{t({isSubmit:e})},setHasUpdatePriceFollowQuantity:e=>{t({updatePrice:e})},setHasPreSelected:e=>{t({hasPreSelected:e})},setIsChangeSelectedOption:e=>{t({isChangeSelectedOption:e})},setSubscriptionSellingType:e=>{t({subscriptionSellingType:e})},setSelectedSellingPlan:e=>{t({selectedSellingPlan:e})}})),m=({children:s,product:o,initialVariantId:p,initialVariantBaseId:a,quantity:m=1,isSyncProduct:c,hasPreSelected:g,uid:q})=>{let h=r(),j=i(()=>{let e,t={};if(o){let r=n(o.variants),i=r[0],s=r.find(e=>l(e)),d=r.find(e=>e?.id===p||e?.baseID===a)??s??i;t=d?.selectedOptions?.reduce((e,t)=>t.name?{...e,[t.name]:t.value}:e,{}),e=o.medias?.edges.find(e=>e.node?.id===d?.mediaId)?.node??o.featuredImage}return u({product:o,quantity:m,selectedOptions:t,uiqueId:h,featuredImageGlobal:e,isSyncProduct:c,hasPreSelected:g,uid:q})},[o,m,h,c,g,p,q]);return e(d.Provider,{value:j,children:e(t,{children:s})})},c=(e,t)=>{let r=s(d);if(!r)throw Error("Element of product must be used inside a Product");return p(r,e,t)};export{m as ProductProvider,c as useProductStore};
2
+ import{jsx as e,Fragment as t}from"react/jsx-runtime";import{useId as r,useMemo as i,useContext as s,createContext as o}from"react";import{useStore as p,createStore as a}from"zustand";import"swr";import"../graphql/queries/articles.generated.js";import"../graphql/queries/blogs.generated.js";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"../graphql/queries/collection-detail-filter.generated.js";import"../graphql/queries/collection.generated.js";import"../graphql/queries/collections.generated.js";import"../graphql/queries/published-theme-pages.generated.js";import"../graphql/queries/store-property.generated.js";import"../graphql/queries/preview-page.generated.js";import"../graphql/queries/published-shop-metas.generated.js";import"../graphql/queries/shop-shopify.generated.js";import"../graphql/queries/products-with-selling-plans.generated.js";import"../graphql/queries/product-variant-with-selling-plans.generated.js";import"../graphql/queries/product-variants.generated.js";import"../graphql/queries/product-little-detail.generated.js";import"../graphql/queries/product-medias.generated.js";import"swr/infinite";import"../graphql/queries/productsV2.generated.js";import"vanilla-lazyload";import"../hooks/useCartUI.js";import"../graphql/queries/product-value-label.generated.js";import"../hooks/useStickyStore.js";import{checkInStock as l}from"../helpers/variant.js";import"../types/builder.js";import"../types/custom.js";import"../types/animations.js";import"react-transition-group";import"../components/constant.js";import"@gem-sdk/core";import{flattenConnection as n}from"../helpers/flatten-connection.js";import"../graphql-shopify/product-detail.generated.js";import"../graphql-shopify/product-medias.generated.js";import"../graphql-shopify/product-variants.generated.js";import"../helpers/convert.js";import"crc-32";let d=o(null),u=e=>a((t,r)=>({...e,updateProperty:(e,r)=>{t(t=>({properties:t.properties?.map(t=>t.key===e?{...t,...r}:t)}))},setUseProductCompareAtPrice:e=>{t({useProductCompareAtPrice:e})},setShouldRequireUploadMessage:e=>{t({shouldRequireUploadMessage:e})},setRequireUpload:e=>{t({requireUpload:e})},addProperty:e=>{let i=r().properties;i?.some(t=>t.key===e.key)||t(t=>({properties:[...t.properties??[],e]}))},removeProperty:e=>{t(t=>({properties:t.properties?.filter(t=>t.key!==e)}))},setQuantity:e=>{t({quantity:e>0?e:1})},setProductFeaturedImage:e=>{t({featuredImageGlobal:e})},incrementQuantity:()=>{t(e=>{let t=e.quantity??1;return{quantity:t+1}})},decrementQuantity:()=>{t(e=>{let t=e.quantity??1;return{quantity:t>2?t-1:1}})},setSelectedOption:(e,r)=>{t(t=>e&&r?{selectedOptions:{...t?.selectedOptions,[e]:r}}:t)},forceSelectedOption:e=>{t(t=>({selectedOptions:{...t?.selectedOptions,...e}}))},updateIsSubmit:e=>{t({isSubmit:e})},setHasUpdatePriceFollowQuantity:e=>{t({updatePrice:e})},setHasPreSelected:e=>{t({hasPreSelected:e})},setIsChangeSelectedOption:e=>{t({isChangeSelectedOption:e})},setSubscriptionSellingType:e=>{t({subscriptionSellingType:e})},setSelectedSellingPlan:e=>{t({selectedSellingPlan:e})}})),m=({children:s,product:o,initialVariantId:p,initialVariantBaseId:a,quantity:m=1,isSyncProduct:c,hasPreSelected:g,uid:q})=>{let h=r(),j=i(()=>{let e,t={};if(o){let r=n(o.variants),i=r[0],s=r.find(e=>l(e)),d=r.find(e=>e?.id===p||e?.baseID===a)??s??i;t=d?.selectedOptions?.reduce((e,t)=>t.name?{...e,[t.name]:t.value}:e,{}),e=o.medias?.edges.find(e=>e.node?.id===d?.mediaId)?.node??o.featuredImage}return u({product:o,quantity:m,selectedOptions:t,uiqueId:h,featuredImageGlobal:e,isSyncProduct:c,hasPreSelected:g,uid:q})},[o,m,h,c,g,p,q]);return e(d.Provider,{value:j,children:e(t,{children:s})})},c=(e,t)=>{let r=s(d);if(!r)throw Error("Element of product must be used inside a Product");return p(r,e,t)};export{m as ProductProvider,c as useProductStore};
@@ -0,0 +1,110 @@
1
+ function e(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class t extends String{toString(){return this.value}constructor(t,i){super(t),e(this,"__apiType",void 0),e(this,"value",void 0),e(this,"__meta__",void 0),this.value=t,this.__meta__=i}}let i=new t(`
2
+ query ShopifyProductDetail($first: Int = 1, $after: String, $query: String, $sortKey: ProductSortKeys = ID, $reverse: Boolean = false, $firstOption: Int = 3, $firstCollection: Int = 20, $afterCollection: String) {
3
+ product: products(
4
+ first: $first
5
+ after: $after
6
+ query: $query
7
+ sortKey: $sortKey
8
+ reverse: $reverse
9
+ ) {
10
+ edges {
11
+ cursor
12
+ node {
13
+ id
14
+ handle
15
+ title
16
+ description
17
+ descriptionHtml
18
+ vendor
19
+ tags
20
+ createdAt
21
+ featuredMedia {
22
+ id
23
+ alt
24
+ mediaContentType
25
+ status
26
+ preview {
27
+ image {
28
+ id
29
+ url
30
+ width
31
+ height
32
+ altText
33
+ }
34
+ }
35
+ ... on MediaImage {
36
+ mimeType
37
+ image {
38
+ id
39
+ url
40
+ width
41
+ height
42
+ altText
43
+ }
44
+ }
45
+ ... on Video {
46
+ duration
47
+ filename
48
+ sources {
49
+ url
50
+ format
51
+ mimeType
52
+ width
53
+ height
54
+ }
55
+ }
56
+ ... on ExternalVideo {
57
+ host
58
+ embedUrl
59
+ originUrl
60
+ }
61
+ ... on Model3d {
62
+ filename
63
+ sources {
64
+ url
65
+ format
66
+ mimeType
67
+ }
68
+ }
69
+ }
70
+ options(first: $firstOption) {
71
+ id
72
+ name
73
+ position
74
+ optionValues {
75
+ id
76
+ name
77
+ hasVariants
78
+ swatch {
79
+ color
80
+ image {
81
+ id
82
+ image {
83
+ url
84
+ width
85
+ height
86
+ altText
87
+ }
88
+ }
89
+ }
90
+ }
91
+ }
92
+ collections(first: $firstCollection, after: $afterCollection) {
93
+ edges {
94
+ cursor
95
+ node {
96
+ id
97
+ handle
98
+ title
99
+ }
100
+ }
101
+ pageInfo {
102
+ hasNextPage
103
+ endCursor
104
+ }
105
+ }
106
+ }
107
+ }
108
+ }
109
+ }
110
+ `);export{i as ShopifyProductDetailDocument,t as TypedDocumentString};
@@ -0,0 +1,80 @@
1
+ function e(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}class r extends String{toString(){return this.value}constructor(r,t){super(r),e(this,"__apiType",void 0),e(this,"value",void 0),e(this,"__meta__",void 0),this.value=r,this.__meta__=t}}let t=new r(`
2
+ query ShopifyProductMedias($first: Int = 1, $after: String, $query: String, $sortKey: ProductSortKeys = ID, $reverse: Boolean = false, $firstMedia: Int = 50, $afterMedia: String, $sortKeyMedia: ProductMediaSortKeys = POSITION, $reverseMedia: Boolean = false) {
3
+ medias: products(
4
+ first: $first
5
+ after: $after
6
+ query: $query
7
+ sortKey: $sortKey
8
+ reverse: $reverse
9
+ ) {
10
+ edges {
11
+ node {
12
+ id
13
+ media(
14
+ first: $firstMedia
15
+ after: $afterMedia
16
+ sortKey: $sortKeyMedia
17
+ reverse: $reverseMedia
18
+ ) {
19
+ edges {
20
+ cursor
21
+ node {
22
+ id
23
+ alt
24
+ mediaContentType
25
+ status
26
+ preview {
27
+ image {
28
+ id
29
+ url
30
+ width
31
+ height
32
+ altText
33
+ }
34
+ }
35
+ ... on MediaImage {
36
+ mimeType
37
+ image {
38
+ id
39
+ url
40
+ width
41
+ height
42
+ altText
43
+ }
44
+ }
45
+ ... on Video {
46
+ duration
47
+ filename
48
+ sources {
49
+ url
50
+ format
51
+ mimeType
52
+ width
53
+ height
54
+ }
55
+ }
56
+ ... on ExternalVideo {
57
+ host
58
+ embedUrl
59
+ originUrl
60
+ }
61
+ ... on Model3d {
62
+ filename
63
+ sources {
64
+ url
65
+ format
66
+ mimeType
67
+ }
68
+ }
69
+ }
70
+ }
71
+ pageInfo {
72
+ hasNextPage
73
+ endCursor
74
+ }
75
+ }
76
+ }
77
+ }
78
+ }
79
+ }
80
+ `);export{t as ShopifyProductMediasDocument,r as TypedDocumentString};
@@ -0,0 +1,107 @@
1
+ function e(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class t extends String{toString(){return this.value}constructor(t,r){super(t),e(this,"__apiType",void 0),e(this,"value",void 0),e(this,"__meta__",void 0),this.value=t,this.__meta__=r}}let r=new t(`
2
+ query ShopifyProductVariants($first: Int = 50, $after: String, $query: String, $sortKey: ProductVariantSortKeys = POSITION, $reverse: Boolean = false) {
3
+ variants: productVariants(
4
+ first: $first
5
+ after: $after
6
+ query: $query
7
+ sortKey: $sortKey
8
+ reverse: $reverse
9
+ ) {
10
+ edges {
11
+ cursor
12
+ node {
13
+ id
14
+ title
15
+ sku
16
+ barcode
17
+ position
18
+ price
19
+ compareAtPrice
20
+ inventoryPolicy
21
+ inventoryQuantity
22
+ selectedOptions {
23
+ name
24
+ value
25
+ }
26
+ inventoryItem {
27
+ id
28
+ sku
29
+ tracked
30
+ requiresShipping
31
+ unitCost {
32
+ amount
33
+ currencyCode
34
+ }
35
+ measurement {
36
+ id
37
+ weight {
38
+ unit
39
+ value
40
+ }
41
+ }
42
+ }
43
+ image {
44
+ id
45
+ url
46
+ width
47
+ height
48
+ altText
49
+ }
50
+ media(first: 1) {
51
+ nodes {
52
+ id
53
+ alt
54
+ mediaContentType
55
+ status
56
+ preview {
57
+ image {
58
+ id
59
+ url
60
+ width
61
+ height
62
+ altText
63
+ }
64
+ }
65
+ ... on MediaImage {
66
+ mimeType
67
+ image {
68
+ id
69
+ url
70
+ width
71
+ height
72
+ altText
73
+ }
74
+ }
75
+ ... on Video {
76
+ duration
77
+ sources {
78
+ url
79
+ format
80
+ mimeType
81
+ width
82
+ height
83
+ }
84
+ }
85
+ ... on ExternalVideo {
86
+ host
87
+ embedUrl
88
+ originUrl
89
+ }
90
+ ... on Model3d {
91
+ sources {
92
+ url
93
+ format
94
+ mimeType
95
+ }
96
+ }
97
+ }
98
+ }
99
+ }
100
+ }
101
+ pageInfo {
102
+ hasNextPage
103
+ endCursor
104
+ }
105
+ }
106
+ }
107
+ `);export{r as ShopifyProductVariantsDocument,t as TypedDocumentString};
@@ -0,0 +1 @@
1
+ function e(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}class r extends Error{get code(){return this.bridge.code}constructor(r,t,i){super(t.message),e(this,"bridge",void 0),e(this,"partialData",void 0),e(this,"requestId",void 0),this.name="BridgeRequestError",this.requestId=r,this.bridge=t,this.partialData=i}}export{r as BridgeRequestError};
@@ -0,0 +1 @@
1
+ let e=1,r={request:"editor:api:graphql:request",response:"editor:api:graphql:response",readyRequest:"editor:api:graphql:ready-request",ready:"editor:api:graphql:ready"};export{r as API_EVENTS,e as BRIDGE_VERSION};
@@ -0,0 +1 @@
1
+ import{BridgeRequestError as e}from"./BridgeRequestError.js";import{requestBridgeGraphql as r}from"./requestBridgeGraphql.js";let t=()=>t=>{let i;let[o,a,s]=t;if(void 0!==s){if("string"!=typeof s)return Promise.reject(new e("invalid-request",{code:"INVALID_REQUEST",message:"operationName must be a string."}));i=s}return r({api:"app",query:o,variables:a,operationName:i})};export{t as createBuilderApiFetcher};