@gem-sdk/core 1.14.0-dev.671 → 1.14.0-dev.676
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.
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var makeStyle=require("../helpers/make-style.js");require("react"),require("react/jsx-runtime"),require("zustand"),require("swr"),require("@gem-sdk/adapter-shopify"),require("swr/mutation"),require("vanilla-lazyload"),require("../hooks/useCartUI.js"),require("react-transition-group"),require("@gem-sdk/core");var constant=require("./constant.js"),render=require("../helpers/render.js"),convert=require("../helpers/convert.js"),composeAdvanceStyle=require("../helpers/compose-advance-style.js");const componentsRenderWithParentId=["CarouselItem"],componentTexts=["Text","Heading"],componentIconList=["IconListV2","IconList"],componentUsingAdvanced=["IconList"],Render=({uid:e,builder:t,components:r,parentId:n,extraFiles:
|
|
2
|
-
${render.RenderIf(a?.childrens?.length,()=>l({builderProps:{uid:e,builderData:a},styles:a.styles,setting:a.settings,advanced:{...componentUsingAdvanced.includes(a.tag)?a?.advanced:{},cssClass:a?.advanced?.cssClass},pageContext:
|
|
3
|
-
</div>`;let{cssCode:p,jsCode:u}=RenderCustomCode(a);return p&&(c+=p),u&&(c+=u),{liquid:c=appendAnimation(a,c),extraFiles:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var makeStyle=require("../helpers/make-style.js");require("react"),require("react/jsx-runtime"),require("zustand"),require("swr"),require("@gem-sdk/adapter-shopify"),require("swr/mutation"),require("vanilla-lazyload"),require("../hooks/useCartUI.js"),require("react-transition-group"),require("@gem-sdk/core");var constant=require("./constant.js"),render=require("../helpers/render.js"),convert=require("../helpers/convert.js"),composeAdvanceStyle=require("../helpers/compose-advance-style.js");const componentsRenderWithParentId=["CarouselItem"],componentTexts=["Text","Heading"],componentIconList=["IconListV2","IconList"],componentUsingAdvanced=["IconList"],Render=({uid:e,builder:t,components:r,parentId:n,extraFiles:s={},pageContext:i,...d})=>{let a=t[e],l=r[a?.tag];if(!l)return console.log("Miss component: ",a),{liquid:"",extraFiles:s};if(!a||a?.type==="section")return{liquid:"",extraFiles:s};{let s={extraFiles:{}},o=composeAdvanceStyle.composeAdvanceStyle(a.advanced,a.tag),c="";c=constant.disableWrap.includes(a.tag)?render.RenderIf(a?.childrens?.length,()=>l({builderProps:{uid:e,builderData:a},styles:a.styles,setting:a.settings,style:o,advanced:a.advanced,parentId:componentsRenderWithParentId.includes(a.tag)?n:null,pageContext:i,...d,rawChildren:a.childrens.map(e=>({...t[e],uid:e,builder:t,components:r,customProps:s,pageContext:i})),children:constant.customRenderChildren.includes(a.tag)?"":WrapRenderChildren({uid:e,customProps:s},a.childrens.map(e=>RenderChildren({uid:e,builder:t,components:r,customProps:s,parentTag:a.tag,pageContext:i})))}),()=>l({builderProps:{uid:e,builderData:a},styles:a.styles,setting:a.settings,advanced:a.advanced,style:o,isText:!!componentTexts.includes(a.tag)||null,parentId:componentsRenderWithParentId.includes(a.tag)?n:null,pageContext:i,...d})):render.template`<div style="${componentIconList.includes(a.tag)?"":o}" class="${a.uid} ${a?.childrens?.length||"IconListItemHoz"!==a.tag?"":"hidden"}">
|
|
2
|
+
${render.RenderIf(a?.childrens?.length,()=>l({builderProps:{uid:e,builderData:a},styles:a.styles,setting:a.settings,advanced:{...componentUsingAdvanced.includes(a.tag)?a?.advanced:{},cssClass:a?.advanced?.cssClass},pageContext:i,...d,rawChildren:a.childrens.map(e=>({...t[e],uid:e,builder:t,components:r,customProps:s,pageContext:i})),children:constant.customRenderChildren.includes(a.tag)?"":WrapRenderChildren({uid:e,customProps:s},a.childrens.map(e=>RenderChildren({uid:e,builder:t,components:r,customProps:s,parentTag:a.tag,pageContext:i})))}),()=>l({builderProps:{uid:e,builderData:a},styles:a.styles,setting:a.settings,advanced:{cssClass:a?.advanced?.cssClass},pageContext:i,isText:!!componentTexts.includes(a.tag)||null,style:componentIconList.includes(a.tag)?o:null,...d}))}
|
|
3
|
+
</div>`;let{cssCode:p,jsCode:u}=RenderCustomCode(a);return p&&(c+=p),u&&(c+=u),{liquid:c=appendAnimation(a,c),extraFiles:s.extraFiles}}},RenderCustomCode=e=>{let{css:t,javascript:r,rootClassName:n}=e.advanced?.editorData||{},s=t?.replaceAll(n,e.uid),i=r?.replaceAll(n,e.uid),d=render.RenderIf(!!t,render.template`
|
|
4
4
|
<style
|
|
5
5
|
id="${`custom-css-${e?.uid}`}"
|
|
6
|
-
>${
|
|
6
|
+
>${s}</style>
|
|
7
7
|
`),a=render.RenderIf(!!r,render.template`
|
|
8
8
|
<script
|
|
9
9
|
id="${`custom-js-${e?.uid}`}"
|
|
10
10
|
>
|
|
11
11
|
try {
|
|
12
|
-
${
|
|
12
|
+
${i}
|
|
13
13
|
} catch(err){}
|
|
14
14
|
</script>
|
|
15
|
-
`);return{cssCode:d,jsCode:a}},appendAnimation=(e,t)=>{let{advanced:r,tag:n}=e,{animation:
|
|
15
|
+
`);return{cssCode:d,jsCode:a}},appendAnimation=(e,t)=>{let{advanced:r,tag:n}=e,{animation:s}=r??{},i=s?.desktop?.enabled||s?.tablet?.enabled||s?.mobile?.enabled;if(!i||!s?.desktop?.triggerConfig)return t;let d=(e,t)=>e?.triggerConfig?.[t]?.animation??"none",a=e=>{if("desktop"===e);else if("tablet"===e)return s?.tablet??s?.desktop;else if("mobile"===e)return s?.mobile??s?.tablet??s?.desktop;return s?.desktop},l=e=>+!(a(e)?.enabled&&!["shake","none"].includes(d(a(e),"appear"))),o={desktop:l("desktop"),tablet:l("tablet"),mobile:l("mobile")},c={all:"Section"===n?"":"inherit",position:"static",transform:"translateX(0)"};return render.template`
|
|
16
16
|
${render.RenderIf(convert.isLocalEnv,'<script src="{{ \'gp-animation.js\' | asset_url }}" defer="defer"></script>',`<script src="${convert.baseAssetURL}/assets-v2/gp-animation.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
|
|
17
17
|
<gp-animation
|
|
18
|
-
gp-data='${JSON.stringify({config:
|
|
18
|
+
gp-data='${JSON.stringify({config:s,tag:n})}'
|
|
19
19
|
style="${{...c}}"
|
|
20
20
|
>
|
|
21
21
|
<div style="${{...makeStyle.makeStyleResponsive("op",o)}}">${t}</div>
|
|
22
22
|
</gp-animation>
|
|
23
|
-
`},RenderChildren=e=>{let t=Render(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,n=t?.liquid?r.encode(t.liquid).length:0;if(Math.ceil(n/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},WrapRenderChildren=({uid:e,customProps:t},r)=>{let n="";if(r?.length)for(let
|
|
23
|
+
`},RenderChildren=e=>{let t=Render(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,n=t?.liquid?r.encode(t.liquid).length:0;if(Math.ceil(n/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},WrapRenderChildren=({uid:e,customProps:t},r)=>{let n="";if(r?.length)for(let s=0;s<r.length;s++){let i=r[s];if(i){let r=n+i,d=new TextEncoder,a=r?d.encode(r).length:0;if(Math.ceil(a/1024)>=180){let r=`gp-section-snippet-${e+s}`;t.extraFiles[r]=i,n+=`{% render '${r}', product: product, variant: variant, product_form_id: product_form_id, productSelectedVariant: productSelectedVariant, form: form %}`}else n+=i}}return n};exports.RenderChildren=RenderChildren,exports.WrapRenderChildren=WrapRenderChildren,exports.default=Render;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var jsxRuntime=require("react/jsx-runtime"),react=require("react"),zustand=require("zustand");const PageContext=react.createContext(null),createPageStoreProvider=e=>zustand.createStore(r=>({...e,setDynamicProduct:e=>{r({dynamicProduct:e})},setDynamicCollection:e=>{r({dynamicCollection:e})}})),PageProvider=({children:e,dynamicProduct:r,dynamicCollection:t,...a})=>{let o=react.useMemo(()=>createPageStoreProvider({dynamicProduct:r,dynamicCollection:t}),[r,t]);return jsxRuntime.jsx(PageContext.Provider,{...a,value:o,children:e})},usePageStore=(e,r)=>{let t=react.useContext(PageContext);if(!t)throw Error("usePageStore must be used within a PageProvider");return zustand.useStore(t,e,r)};exports.PageProvider=PageProvider,exports.usePageStore=usePageStore;
|
|
1
|
+
"use strict";var jsxRuntime=require("react/jsx-runtime"),react=require("react"),zustand=require("zustand");const PageContext=react.createContext(null),createPageStoreProvider=e=>zustand.createStore(r=>({...e,setDynamicProduct:e=>{r({dynamicProduct:e})},setDynamicCollection:e=>{r({dynamicCollection:e})},setPostPurchaseProductOfferIds:e=>{r({postPurchaseProductOfferIds:e})},setSalePageProductId:e=>{r({salePageProductId:e})}})),PageProvider=({children:e,dynamicProduct:r,dynamicCollection:t,...a})=>{let o=react.useMemo(()=>createPageStoreProvider({dynamicProduct:r,dynamicCollection:t}),[r,t]);return jsxRuntime.jsx(PageContext.Provider,{...a,value:o,children:e})},usePageStore=(e,r)=>{let t=react.useContext(PageContext);if(!t)throw Error("usePageStore must be used within a PageProvider");return zustand.useStore(t,e,r)};exports.PageProvider=PageProvider,exports.usePageStore=usePageStore;
|
|
@@ -12,7 +12,7 @@ import{makeStyleResponsive as e}from"../helpers/make-style.js";import"react";imp
|
|
|
12
12
|
${a}
|
|
13
13
|
} catch(err){}
|
|
14
14
|
</script>
|
|
15
|
-
`);return{cssCode:l,jsCode:o}},appendAnimation=(t,r)=>{let{advanced:a,tag:l}=t,{animation:o}=a??{},c=o?.desktop?.enabled||o?.tablet?.enabled||o?.mobile?.enabled;if(!c||!o?.desktop?.triggerConfig)return r;let p=(e,t)=>e?.triggerConfig?.[t]?.animation??"none",u=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},m=e=>+!(u(e)?.enabled&&!["shake","none"].includes(p(u(e),"appear"))),g={desktop:m("desktop"),tablet:m("tablet"),mobile:m("mobile")},h={all:"Section"===l?"":"inherit",position:"static"};return i`
|
|
15
|
+
`);return{cssCode:l,jsCode:o}},appendAnimation=(t,r)=>{let{advanced:a,tag:l}=t,{animation:o}=a??{},c=o?.desktop?.enabled||o?.tablet?.enabled||o?.mobile?.enabled;if(!c||!o?.desktop?.triggerConfig)return r;let p=(e,t)=>e?.triggerConfig?.[t]?.animation??"none",u=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},m=e=>+!(u(e)?.enabled&&!["shake","none"].includes(p(u(e),"appear"))),g={desktop:m("desktop"),tablet:m("tablet"),mobile:m("mobile")},h={all:"Section"===l?"":"inherit",position:"static",transform:"translateX(0)"};return i`
|
|
16
16
|
${n(d,'<script src="{{ \'gp-animation.js\' | asset_url }}" defer="defer"></script>',`<script src="${s}/assets-v2/gp-animation.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
|
|
17
17
|
<gp-animation
|
|
18
18
|
gp-data='${JSON.stringify({config:o,tag:l})}'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{useMemo as r,useContext as t,createContext as o}from"react";import{useStore as a,createStore as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{useMemo as r,useContext as t,createContext as o}from"react";import{useStore as a,createStore as P}from"zustand";let PageContext=o(null),createPageStoreProvider=e=>P(r=>({...e,setDynamicProduct:e=>{r({dynamicProduct:e})},setDynamicCollection:e=>{r({dynamicCollection:e})},setPostPurchaseProductOfferIds:e=>{r({postPurchaseProductOfferIds:e})},setSalePageProductId:e=>{r({salePageProductId:e})}})),PageProvider=({children:t,dynamicProduct:o,dynamicCollection:a,...P})=>{let d=r(()=>createPageStoreProvider({dynamicProduct:o,dynamicCollection:a}),[o,a]);return e(PageContext.Provider,{...P,value:d,children:t})},usePageStore=(e,r)=>{let o=t(PageContext);if(!o)throw Error("usePageStore must be used within a PageProvider");return a(o,e,r)};export{PageProvider,usePageStore};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1164,7 +1164,16 @@ type ProductInputCurrencyUnitControlType<T> = SharedControlType<T> & {
|
|
|
1164
1164
|
useOnlyUnitInit?: boolean;
|
|
1165
1165
|
};
|
|
1166
1166
|
|
|
1167
|
-
type
|
|
1167
|
+
type ProductOffersControlType<T> = SharedControlType<T> & {
|
|
1168
|
+
type: 'product-offers';
|
|
1169
|
+
isMultiple?: boolean;
|
|
1170
|
+
};
|
|
1171
|
+
|
|
1172
|
+
type DiscountAndShippingFee<T> = SharedControlType<T> & {
|
|
1173
|
+
type: 'discount-and-shipping-fee-product-offer';
|
|
1174
|
+
};
|
|
1175
|
+
|
|
1176
|
+
type ControlProp<T> = AngleControlType<T> | CheckboxControlType<T> | ColorPickerControlType<T> | GroupControlType<T> | IconControlType<T> | InputFixContentControlType<T> | InputNumberControlType<T> | InputUnitControlType<T> | InputUnitSpacingControlType<T> | InputUnitWidthControlType<T> | InputControlType<T> | MarginControlType<T> | PaddingControlType<T> | PositionControlType<T> | RadioGroupControlType | RangeControlType<T> | SegmentControlType<T> | SelectControlType<T> | TextareaControlType<T> | ToggleControlType<T> | ImageControlType<T> | ChildrensControlType | GridControlType<T> | FlexControlType<T> | TextEditorControlType<T> | ProductControlType<T> | TypographyControlType<T> | TypographyV2ControlType<T> | MenuControlType<T> | BehaviorStateControlType<T> | PickLinkControlType<T> | BoxShadowControlType<T> | TextShadowControlType<T> | BorderControlType<T> | BorderRadiusControlType<T> | RadiusPresetControlType<T> | SizeControlType<T> | ChildItemType<T> | PickMultiProductControlType<T> | CollectionControlType<T> | BackgroundControlType<T> | VisibilityControlType<T> | SelectVariantControlType | CountdownEvergreenType | Timezone<T> | CustomContentControlType<T> | DateTimePickerControlType | CountdownDailyType | KlaviyoCodes | YotpoLoyaltyCodes | InputWidthControlType<T> | LayoutSegmentControlType<T> | InputSpacing<T> | UniqueIdControlType<T> | PositionSquareControlType<T> | CustomCodeEditor | LayoutControlType<T> | LayoutBannerControlType<T> | SwatchesLinkControlType<T> | VariantSwatchesPresetControlType<T> | ProductListControlType<T> | CollectionBannerControlType<T> | Ratio<T> | StickyDisplayControlType<T> | SyncProductPropertiesControlType<T> | StepsGuide<T> | ImageShape<T> | GridArrange<T> | SizeSetting$1<T> | ChildIconType<T> | DropdownInput<T> | Dropdown<T> | AliPickSectionControlType<T> | ParallaxScrollingType<T> | PlayPauseControlType<T> | LayoutCustomSegmentControlType<T> | SneakPeakRange<T> | SneakPeakTypeControlType<T> | BackgroundColorPickerType<T> | ProductInputCurrencyUnitControlType<T> | ProductOffersControlType<T> | DiscountAndShippingFee<T>;
|
|
1168
1177
|
type ControlTriggerAction = {
|
|
1169
1178
|
controlId: string;
|
|
1170
1179
|
newValue?: any;
|
|
@@ -1261,6 +1270,11 @@ type ControlUI = {
|
|
|
1261
1270
|
tooltip?: {
|
|
1262
1271
|
icon?: string;
|
|
1263
1272
|
content?: string;
|
|
1273
|
+
iconClass?: string;
|
|
1274
|
+
positionClass?: string;
|
|
1275
|
+
containerClass?: string;
|
|
1276
|
+
arrowClass?: string;
|
|
1277
|
+
enableTeleport?: boolean;
|
|
1264
1278
|
};
|
|
1265
1279
|
hideOnDevices?: {
|
|
1266
1280
|
desktop?: boolean;
|
|
@@ -7926,8 +7940,12 @@ declare const useShopStore: <U>(selector: (state: ExtractState<StoreApi<ShopCont
|
|
|
7926
7940
|
type PageContextProps = {
|
|
7927
7941
|
dynamicProduct?: DynamicProduct;
|
|
7928
7942
|
dynamicCollection?: DynamicCollection;
|
|
7943
|
+
postPurchaseProductOfferIds?: string[];
|
|
7944
|
+
salePageProductId?: string;
|
|
7929
7945
|
setDynamicProduct: (data: DynamicProduct) => void;
|
|
7930
7946
|
setDynamicCollection: (data: DynamicCollection) => void;
|
|
7947
|
+
setPostPurchaseProductOfferIds: (ids: string[]) => void;
|
|
7948
|
+
setSalePageProductId: (id: string) => void;
|
|
7931
7949
|
};
|
|
7932
7950
|
type PageProviderProps = Pick<PageContextProps, 'dynamicProduct' | 'dynamicCollection'> & {
|
|
7933
7951
|
children: React.ReactNode;
|