@anker-in/shopify-react 0.1.1-beta.4 → 0.1.1-beta.41

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.
@@ -29,14 +29,6 @@ interface RouterAdapter {
29
29
  replace(url: string): void | Promise<void>;
30
30
  getLocalizedPath?(path: string, locale?: string): string;
31
31
  }
32
- /**
33
- * Cart cookie adapter interface
34
- */
35
- interface CartCookieAdapter {
36
- getCartId(locale: string): string | undefined;
37
- setCartId(locale: string, cartId: string): void;
38
- removeCartId(locale: string): void;
39
- }
40
32
  /**
41
33
  * User context adapter interface
42
34
  */
@@ -50,5 +42,18 @@ interface UserContextAdapter {
50
42
  };
51
43
  isLoggedIn: boolean;
52
44
  }
45
+ /**
46
+ * Performance adapter interface for tracking performance metrics
47
+ */
48
+ interface PerformanceAdapter {
49
+ /**
50
+ * Start tracking a performance event
51
+ */
52
+ addToCartStart(): void;
53
+ /**
54
+ * End tracking a performance event
55
+ */
56
+ addToCartEnd(): void;
57
+ }
53
58
 
54
- export type { CookieAdapter as C, RouterAdapter as R, UserContextAdapter as U, CookieOptions as a, CartCookieAdapter as b };
59
+ export type { CookieAdapter as C, PerformanceAdapter as P, RouterAdapter as R, UserContextAdapter as U, CookieOptions as a };
@@ -1,6 +1,4 @@
1
- import * as swr_mutation from 'swr/mutation';
2
- import { SWRMutationConfiguration } from 'swr/mutation';
3
- import { NormalizedProductVariant, NormalizedProduct, MoneyV2, NormalizedCart } from '@anker-in/shopify-sdk';
1
+ import { NormalizedProductVariant, NormalizedProduct, MoneyV2, NormalizedCart, MailingAddress } from '@anker-in/shopify-sdk';
4
2
 
5
3
  /**
6
4
  * Tracking Types
@@ -100,6 +98,10 @@ type AddToCartLineItem = {
100
98
  key: string;
101
99
  value: string;
102
100
  }>;
101
+ coupon?: {
102
+ code: string;
103
+ amount: number;
104
+ };
103
105
  };
104
106
  interface AddToCartInput {
105
107
  /** Lines to add */
@@ -131,37 +133,6 @@ interface UseAddToCartOptions {
131
133
  /** Enable tracking (GA and FBQ) */
132
134
  withTrack?: boolean;
133
135
  }
134
- /**
135
- * Hook for adding items to cart with tracking support
136
- *
137
- * This is the enhanced version that includes:
138
- * - Automatic cart creation if needed
139
- * - Discount code validation
140
- * - Google Analytics tracking
141
- * - Facebook Pixel tracking
142
- * - Invalid code handling
143
- *
144
- * @param options - Hook configuration
145
- * @param swrOptions - SWR mutation configuration
146
- * @returns SWR mutation with trigger function
147
- *
148
- * @example
149
- * ```tsx
150
- * const { trigger, isMutating } = useAddToCart({ withTrack: true})
151
- *
152
- * await trigger({
153
- * lineItems: [{
154
- * variantId: 'gid://shopify/ProductVariant/123',
155
- * quantity: 2
156
- * }],
157
- * gtmParams: {
158
- * pageGroup: 'PDP',
159
- * position: 'Add to Cart Button'
160
- * }
161
- * })
162
- * ```
163
- */
164
- declare function useAddToCart({ withTrack }?: UseAddToCartOptions, swrOptions?: SWRMutationConfiguration<NormalizedCart | undefined, Error, string, AddToCartInput>): swr_mutation.SWRMutationResponse<NormalizedCart | undefined, Error, string, AddToCartInput>;
165
136
 
166
137
  /**
167
138
  * Plus Member Types
@@ -528,32 +499,20 @@ type SelectedPlusMemberProduct = {
528
499
  product: NormalizedProduct;
529
500
  variant: NormalizedProductVariant;
530
501
  } | null;
531
- type DeliveryOption = string;
532
502
  type DeliveryCustomData = {
533
503
  discount_code?: string[];
534
504
  allow_nextday_delivery?: boolean;
535
505
  allow_thirdday_delivery?: boolean;
536
- selected_delivery_option?: DeliveryOption;
506
+ selected_delivery_option?: {
507
+ code?: string;
508
+ mode?: string;
509
+ };
537
510
  is_presale?: boolean;
538
511
  plus_type?: DeliveryPlusType;
539
512
  };
540
- type MailingAddress = {
541
- address1?: string | null;
542
- address2?: string | null;
543
- city?: string | null;
544
- company?: string | null;
545
- country?: string | null;
546
- countryCode?: string | null;
547
- firstName?: string | null;
548
- lastName?: string | null;
549
- phone?: string | null;
550
- province?: string | null;
551
- provinceCode?: string | null;
552
- zip?: string | null;
553
- };
554
513
  type DeliveryData = {
555
514
  deliveryAddress: MailingAddress;
556
515
  deliveryCustomData: DeliveryCustomData;
557
516
  };
558
517
 
559
- export { type AddToCartLineItem as A, type BuyNowTrackConfig as B, DeliveryPlusType as D, type GtmParams as G, type MailingAddress as M, PLUS_MEMBER_TYPE as P, ShippingMethodMode as S, type UseAddToCartOptions as U, type AddToCartInput as a, PlusMemberMode as b, type PlusMemberShippingMethodMetafields as c, type PlusMemberShippingMethodConfig as d, type PlusMemberSettingsMetafields as e, type SelectedPlusMemberProduct as f, type DeliveryOption as g, type DeliveryCustomData as h, type DeliveryData as i, gaTrack as j, trackBeginCheckoutGA as k, trackBuyNowGA as l, trackAddToCartFBQ as m, trackBuyNowFBQ as n, trackAddToCartGA as t, useAddToCart as u };
518
+ export { type AddToCartLineItem as A, type BuyNowTrackConfig as B, DeliveryPlusType as D, type GtmParams as G, PLUS_MEMBER_TYPE as P, ShippingMethodMode as S, type UseAddToCartOptions as U, type AddToCartInput as a, PlusMemberMode as b, type PlusMemberShippingMethodMetafields as c, type PlusMemberShippingMethodConfig as d, type PlusMemberSettingsMetafields as e, type SelectedPlusMemberProduct as f, type DeliveryCustomData as g, type DeliveryData as h, gaTrack as i, trackBeginCheckoutGA as j, trackBuyNowGA as k, trackAddToCartFBQ as l, trackBuyNowFBQ as m, trackAddToCartGA as t };
@@ -1,6 +1,4 @@
1
- import * as swr_mutation from 'swr/mutation';
2
- import { SWRMutationConfiguration } from 'swr/mutation';
3
- import { NormalizedProductVariant, NormalizedProduct, MoneyV2, NormalizedCart } from '@anker-in/shopify-sdk';
1
+ import { NormalizedProductVariant, NormalizedProduct, MoneyV2, NormalizedCart, MailingAddress } from '@anker-in/shopify-sdk';
4
2
 
5
3
  /**
6
4
  * Tracking Types
@@ -100,6 +98,10 @@ type AddToCartLineItem = {
100
98
  key: string;
101
99
  value: string;
102
100
  }>;
101
+ coupon?: {
102
+ code: string;
103
+ amount: number;
104
+ };
103
105
  };
104
106
  interface AddToCartInput {
105
107
  /** Lines to add */
@@ -131,37 +133,6 @@ interface UseAddToCartOptions {
131
133
  /** Enable tracking (GA and FBQ) */
132
134
  withTrack?: boolean;
133
135
  }
134
- /**
135
- * Hook for adding items to cart with tracking support
136
- *
137
- * This is the enhanced version that includes:
138
- * - Automatic cart creation if needed
139
- * - Discount code validation
140
- * - Google Analytics tracking
141
- * - Facebook Pixel tracking
142
- * - Invalid code handling
143
- *
144
- * @param options - Hook configuration
145
- * @param swrOptions - SWR mutation configuration
146
- * @returns SWR mutation with trigger function
147
- *
148
- * @example
149
- * ```tsx
150
- * const { trigger, isMutating } = useAddToCart({ withTrack: true})
151
- *
152
- * await trigger({
153
- * lineItems: [{
154
- * variantId: 'gid://shopify/ProductVariant/123',
155
- * quantity: 2
156
- * }],
157
- * gtmParams: {
158
- * pageGroup: 'PDP',
159
- * position: 'Add to Cart Button'
160
- * }
161
- * })
162
- * ```
163
- */
164
- declare function useAddToCart({ withTrack }?: UseAddToCartOptions, swrOptions?: SWRMutationConfiguration<NormalizedCart | undefined, Error, string, AddToCartInput>): swr_mutation.SWRMutationResponse<NormalizedCart | undefined, Error, string, AddToCartInput>;
165
136
 
166
137
  /**
167
138
  * Plus Member Types
@@ -528,32 +499,20 @@ type SelectedPlusMemberProduct = {
528
499
  product: NormalizedProduct;
529
500
  variant: NormalizedProductVariant;
530
501
  } | null;
531
- type DeliveryOption = string;
532
502
  type DeliveryCustomData = {
533
503
  discount_code?: string[];
534
504
  allow_nextday_delivery?: boolean;
535
505
  allow_thirdday_delivery?: boolean;
536
- selected_delivery_option?: DeliveryOption;
506
+ selected_delivery_option?: {
507
+ code?: string;
508
+ mode?: string;
509
+ };
537
510
  is_presale?: boolean;
538
511
  plus_type?: DeliveryPlusType;
539
512
  };
540
- type MailingAddress = {
541
- address1?: string | null;
542
- address2?: string | null;
543
- city?: string | null;
544
- company?: string | null;
545
- country?: string | null;
546
- countryCode?: string | null;
547
- firstName?: string | null;
548
- lastName?: string | null;
549
- phone?: string | null;
550
- province?: string | null;
551
- provinceCode?: string | null;
552
- zip?: string | null;
553
- };
554
513
  type DeliveryData = {
555
514
  deliveryAddress: MailingAddress;
556
515
  deliveryCustomData: DeliveryCustomData;
557
516
  };
558
517
 
559
- export { type AddToCartLineItem as A, type BuyNowTrackConfig as B, DeliveryPlusType as D, type GtmParams as G, type MailingAddress as M, PLUS_MEMBER_TYPE as P, ShippingMethodMode as S, type UseAddToCartOptions as U, type AddToCartInput as a, PlusMemberMode as b, type PlusMemberShippingMethodMetafields as c, type PlusMemberShippingMethodConfig as d, type PlusMemberSettingsMetafields as e, type SelectedPlusMemberProduct as f, type DeliveryOption as g, type DeliveryCustomData as h, type DeliveryData as i, gaTrack as j, trackBeginCheckoutGA as k, trackBuyNowGA as l, trackAddToCartFBQ as m, trackBuyNowFBQ as n, trackAddToCartGA as t, useAddToCart as u };
518
+ export { type AddToCartLineItem as A, type BuyNowTrackConfig as B, DeliveryPlusType as D, type GtmParams as G, PLUS_MEMBER_TYPE as P, ShippingMethodMode as S, type UseAddToCartOptions as U, type AddToCartInput as a, PlusMemberMode as b, type PlusMemberShippingMethodMetafields as c, type PlusMemberShippingMethodConfig as d, type PlusMemberSettingsMetafields as e, type SelectedPlusMemberProduct as f, type DeliveryCustomData as g, type DeliveryData as h, gaTrack as i, trackBeginCheckoutGA as j, trackBuyNowGA as k, trackAddToCartFBQ as l, trackBuyNowFBQ as m, trackAddToCartGA as t };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anker-in/shopify-react",
3
- "version": "0.1.1-beta.4",
3
+ "version": "0.1.1-beta.41",
4
4
  "description": "React hooks and components for Shopify SDK",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -31,8 +31,8 @@
31
31
  "decimal.js": "^10.6.0",
32
32
  "js-cookie": "^3.0.5",
33
33
  "swr": "^2.2.0",
34
- "@anker-in/shopify-core": "0.1.1-beta.0",
35
- "@anker-in/shopify-sdk": "0.1.1-beta.1"
34
+ "@anker-in/shopify-core": "0.1.1-beta.10",
35
+ "@anker-in/shopify-sdk": "0.1.1-beta.17"
36
36
  },
37
37
  "peerDependencies": {
38
38
  "react": ">=18.0.0",