@gem-sdk/core 1.14.0-dev.403 → 1.14.0-dev.414
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 +1 @@
|
|
|
1
|
-
"use strict";var react=require("react"),ProductContext=require("../contexts/ProductContext.js"),flattenConnection=require("../helpers/flatten-connection.js");require("react/jsx-runtime"),require("zustand"),require("swr"),require("@gem-sdk/adapter-shopify"),require("swr/mutation"),require("vanilla-lazyload"),require("./useCartUI.js");var variant=require("../helpers/variant.js");require("react-transition-group"),require("@gem-sdk/core");var product=require("../helpers/product.js");require("../helpers/convert.js");const useUniqProductID=()=>ProductContext.useProductStore(e=>e.uiqueId),useProduct=()=>ProductContext.useProductStore(e=>e.product),useFeaturedImageGlobal=()=>ProductContext.useProductStore(e=>e.featuredImageGlobal),useProductProperties=()=>ProductContext.useProductStore(e=>e.properties),useIsSyncProduct=()=>ProductContext.useProductStore(e=>e.isSyncProduct),useQuantity=()=>{let e=ProductContext.useProductStore(e=>e.quantity),t=ProductContext.useProductStore(e=>e.decrementQuantity),r=ProductContext.useProductStore(e=>e.incrementQuantity),u=ProductContext.useProductStore(e=>e.setQuantity),o=ProductContext.useProductStore(e=>e.isSyncProduct),n=ProductContext.useProductStore(e=>e.product),s=n?.id,c=react.useCallback(()=>{u(1)},[u]);return react.useEffect(()=>{if(o){let t=new CustomEvent("set-product-quantity",{bubbles:!0,cancelable:!0,composed:!0,detail:{quantity:e,productId:s}});window.dispatchEvent(t)}},[e,o,s]),react.useMemo(()=>({quantity:e,increment:r,decrement:t,reset:c,setQuantity:u}),[t,r,e,c,u])},useSelectedOption=()=>{let e=ProductContext.useProductStore(e=>e.setSelectedOption),t=ProductContext.useProductStore(e=>e.selectedOptions),r=ProductContext.useProductStore(e=>e.forceSelectedOption),u=ProductContext.useProductStore(e=>e.isSyncProduct),o=react.useCallback((t,r,o,n)=>{if(!n&&u){let e=new CustomEvent("set-selected-option",{bubbles:!0,cancelable:!0,composed:!0,detail:{optionId:t,optionValue:r,productId:o}});window.dispatchEvent(e)}e(t,r)},[e,u]),n=react.useCallback((e,t,o)=>{if(!o&&u){let r=new CustomEvent("force-selected-option",{bubbles:!0,cancelable:!0,composed:!0,detail:{selectedOption:e,productId:t}});window.dispatchEvent(r)}r(e)},[r,u]);return react.useMemo(()=>({selectedOptions:t,setSelectedOption:o,forceSelectedOption:n}),[t,o,n])},useVariants=()=>{let e=ProductContext.useProductStore(e=>e.product?.variants);return flattenConnection.flattenConnection(e)},useVariant=e=>{let t=useVariants();return react.useMemo(()=>t?.find(t=>t?.id===e),[e,t])},useCurrentVariant=()=>{let{selectedOptions:e}=useSelectedOption(),t=useVariants();return react.useMemo(()=>product.getSelectedVariant(t,e),[e,t])},useCurrentVariantInStock=()=>{let e=useCurrentVariant();return variant.checkInStock(e)},useVariantOutStock=(e,t)=>{let{selectedOptions:
|
|
1
|
+
"use strict";var react=require("react"),ProductContext=require("../contexts/ProductContext.js"),flattenConnection=require("../helpers/flatten-connection.js");require("react/jsx-runtime"),require("zustand"),require("swr"),require("@gem-sdk/adapter-shopify"),require("swr/mutation"),require("vanilla-lazyload"),require("./useCartUI.js");var variant=require("../helpers/variant.js");require("react-transition-group"),require("@gem-sdk/core");var product=require("../helpers/product.js");require("../helpers/convert.js");const useUniqProductID=()=>ProductContext.useProductStore(e=>e.uiqueId),useProduct=()=>ProductContext.useProductStore(e=>e.product),useFeaturedImageGlobal=()=>ProductContext.useProductStore(e=>e.featuredImageGlobal),useProductProperties=()=>ProductContext.useProductStore(e=>e.properties),useIsSyncProduct=()=>ProductContext.useProductStore(e=>e.isSyncProduct),useQuantity=()=>{let e=ProductContext.useProductStore(e=>e.quantity),t=ProductContext.useProductStore(e=>e.decrementQuantity),r=ProductContext.useProductStore(e=>e.incrementQuantity),u=ProductContext.useProductStore(e=>e.setQuantity),o=ProductContext.useProductStore(e=>e.isSyncProduct),n=ProductContext.useProductStore(e=>e.product),s=n?.id,c=react.useCallback(()=>{u(1)},[u]);return react.useEffect(()=>{if(o){let t=new CustomEvent("set-product-quantity",{bubbles:!0,cancelable:!0,composed:!0,detail:{quantity:e,productId:s}});window.dispatchEvent(t)}},[e,o,s]),react.useMemo(()=>({quantity:e,increment:r,decrement:t,reset:c,setQuantity:u}),[t,r,e,c,u])},useSelectedOption=()=>{let e=ProductContext.useProductStore(e=>e.setSelectedOption),t=ProductContext.useProductStore(e=>e.selectedOptions),r=ProductContext.useProductStore(e=>e.forceSelectedOption),u=ProductContext.useProductStore(e=>e.isSyncProduct),o=react.useCallback((t,r,o,n)=>{if(!n&&u){let e=new CustomEvent("set-selected-option",{bubbles:!0,cancelable:!0,composed:!0,detail:{optionId:t,optionValue:r,productId:o}});window.dispatchEvent(e)}e(t,r)},[e,u]),n=react.useCallback((e,t,o)=>{if(!o&&u){let r=new CustomEvent("force-selected-option",{bubbles:!0,cancelable:!0,composed:!0,detail:{selectedOption:e,productId:t}});window.dispatchEvent(r)}r(e)},[r,u]);return react.useMemo(()=>({selectedOptions:t,setSelectedOption:o,forceSelectedOption:n}),[t,o,n])},useVariants=()=>{let e=ProductContext.useProductStore(e=>e.product?.variants);return flattenConnection.flattenConnection(e)},useVariant=e=>{let t=useVariants();return react.useMemo(()=>t?.find(t=>t?.id===e),[e,t])},useCurrentVariant=()=>{let{selectedOptions:e}=useSelectedOption(),t=useVariants();return react.useMemo(()=>product.getSelectedVariant(t,e),[e,t])},useCurrentVariantInStock=()=>{let e=useCurrentVariant();return variant.checkInStock(e)},useVariantOutStock=(e,t,r)=>{let{selectedOptions:u}=useSelectedOption(),o=useVariants(),n=r.optionNumber-1;if(r.position<n)return o.some(r=>{if(r){let{selectedOptions:u}=r;console.log("selectedOptions",u);let o=u?.some(r=>r?.name===e&&r.value===t),n=variant.checkInStock(r);return o&&n}});let s=product.getSelectedVariant(o,{...u,[e]:t});return variant.checkInStock(s)},useCheckAvailableVariantInStock=(e,t)=>{let r=useVariants();return!!r&&r.some(r=>{if(r){let{selectedOptions:u}=r,o=u?.some(r=>r?.name===e&&r.value===t),n=variant.checkInStock(r);return o&&n}return!1})};exports.useCheckAvailableVariantInStock=useCheckAvailableVariantInStock,exports.useCurrentVariant=useCurrentVariant,exports.useCurrentVariantInStock=useCurrentVariantInStock,exports.useFeaturedImageGlobal=useFeaturedImageGlobal,exports.useIsSyncProduct=useIsSyncProduct,exports.useProduct=useProduct,exports.useProductProperties=useProductProperties,exports.useQuantity=useQuantity,exports.useSelectedOption=useSelectedOption,exports.useUniqProductID=useUniqProductID,exports.useVariant=useVariant,exports.useVariantOutStock=useVariantOutStock,exports.useVariants=useVariants;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useCallback as e,useEffect as t,useMemo as r}from"react";import{useProductStore as n}from"../contexts/ProductContext.js";import{flattenConnection as
|
|
1
|
+
import{useCallback as e,useEffect as t,useMemo as r}from"react";import{useProductStore as n}from"../contexts/ProductContext.js";import{flattenConnection as o}from"../helpers/flatten-connection.js";import"react/jsx-runtime";import"zustand";import"swr";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"vanilla-lazyload";import"./useCartUI.js";import{checkInStock as s}from"../helpers/variant.js";import"react-transition-group";import"@gem-sdk/core";import{getSelectedVariant as u}from"../helpers/product.js";import"../helpers/convert.js";let useUniqProductID=()=>n(e=>e.uiqueId),useProduct=()=>n(e=>e.product),useFeaturedImageGlobal=()=>n(e=>e.featuredImageGlobal),useProductProperties=()=>n(e=>e.properties),useIsSyncProduct=()=>n(e=>e.isSyncProduct),useQuantity=()=>{let o=n(e=>e.quantity),s=n(e=>e.decrementQuantity),u=n(e=>e.incrementQuantity),i=n(e=>e.setQuantity),a=n(e=>e.isSyncProduct),c=n(e=>e.product),l=c?.id,d=e(()=>{i(1)},[i]);return t(()=>{if(a){let e=new CustomEvent("set-product-quantity",{bubbles:!0,cancelable:!0,composed:!0,detail:{quantity:o,productId:l}});window.dispatchEvent(e)}},[o,a,l]),r(()=>({quantity:o,increment:u,decrement:s,reset:d,setQuantity:i}),[s,u,o,d,i])},useSelectedOption=()=>{let t=n(e=>e.setSelectedOption),o=n(e=>e.selectedOptions),s=n(e=>e.forceSelectedOption),u=n(e=>e.isSyncProduct),i=e((e,r,n,o)=>{if(!o&&u){let t=new CustomEvent("set-selected-option",{bubbles:!0,cancelable:!0,composed:!0,detail:{optionId:e,optionValue:r,productId:n}});window.dispatchEvent(t)}t(e,r)},[t,u]),a=e((e,t,r)=>{if(!r&&u){let r=new CustomEvent("force-selected-option",{bubbles:!0,cancelable:!0,composed:!0,detail:{selectedOption:e,productId:t}});window.dispatchEvent(r)}s(e)},[s,u]);return r(()=>({selectedOptions:o,setSelectedOption:i,forceSelectedOption:a}),[o,i,a])},useVariants=()=>{let e=n(e=>e.product?.variants);return o(e)},useVariant=e=>{let t=useVariants();return r(()=>t?.find(t=>t?.id===e),[e,t])},useCurrentVariant=()=>{let{selectedOptions:e}=useSelectedOption(),t=useVariants();return r(()=>u(t,e),[e,t])},useCurrentVariantInStock=()=>{let e=useCurrentVariant();return s(e)},useVariantOutStock=(e,t,r)=>{let{selectedOptions:n}=useSelectedOption(),o=useVariants(),i=r.optionNumber-1;if(r.position<i)return o.some(r=>{if(r){let{selectedOptions:n}=r;console.log("selectedOptions",n);let o=n?.some(r=>r?.name===e&&r.value===t),u=s(r);return o&&u}});let a=u(o,{...n,[e]:t});return s(a)},useCheckAvailableVariantInStock=(e,t)=>{let r=useVariants();return!!r&&r.some(r=>{if(r){let{selectedOptions:n}=r,o=n?.some(r=>r?.name===e&&r.value===t),u=s(r);return o&&u}return!1})};export{useCheckAvailableVariantInStock,useCurrentVariant,useCurrentVariantInStock,useFeaturedImageGlobal,useIsSyncProduct,useProduct,useProductProperties,useQuantity,useSelectedOption,useUniqProductID,useVariant,useVariantOutStock,useVariants};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -454,7 +454,7 @@ type Mapped$3<K, T> = NonNullable<T> extends ObjectDevices<infer U> ? {
|
|
|
454
454
|
active?: boolean;
|
|
455
455
|
};
|
|
456
456
|
placeholder?: string;
|
|
457
|
-
type: 'segment';
|
|
457
|
+
type: 'segment' | 'accordion:segment';
|
|
458
458
|
options: Option$2<T>[];
|
|
459
459
|
iconCustom?: boolean;
|
|
460
460
|
devices?: ResponsiveConfig<U>;
|
|
@@ -475,7 +475,7 @@ type Mapped$3<K, T> = NonNullable<T> extends ObjectDevices<infer U> ? {
|
|
|
475
475
|
active?: boolean;
|
|
476
476
|
};
|
|
477
477
|
placeholder?: string;
|
|
478
|
-
type: 'segment';
|
|
478
|
+
type: 'segment' | 'accordion:segment';
|
|
479
479
|
options: Option$2<T>[];
|
|
480
480
|
iconCustom?: boolean;
|
|
481
481
|
default?: T;
|
|
@@ -949,7 +949,7 @@ type ChildIconType<T> = SharedControlType<T> & {
|
|
|
949
949
|
};
|
|
950
950
|
|
|
951
951
|
type DropdownInput<T> = SharedControlType<T> & {
|
|
952
|
-
type: 'dropdown:input';
|
|
952
|
+
type: 'dropdown:input' | 'accordion:dropdown:input';
|
|
953
953
|
hideUnit?: boolean;
|
|
954
954
|
inputType?: 'text' | 'number';
|
|
955
955
|
displayOptions?: {
|
|
@@ -9865,7 +9865,10 @@ declare const useVariant: (id: string) => Maybe<Pick<ProductVariant, "width" | "
|
|
|
9865
9865
|
}>;
|
|
9866
9866
|
declare const useCurrentVariant: () => Maybe<VariantSelectFragment>;
|
|
9867
9867
|
declare const useCurrentVariantInStock: () => boolean;
|
|
9868
|
-
declare const useVariantOutStock: (optionId: string, optionValue: string
|
|
9868
|
+
declare const useVariantOutStock: (optionId: string, optionValue: string, options: {
|
|
9869
|
+
position: number;
|
|
9870
|
+
optionNumber: number;
|
|
9871
|
+
}) => boolean;
|
|
9869
9872
|
declare const useCheckAvailableVariantInStock: (optionId: string, optionValue: string) => boolean;
|
|
9870
9873
|
|
|
9871
9874
|
declare const useProductList: () => CollectionProductSelectFragment | undefined;
|