@artisan-commerce/analytics-web 0.2.0-canary.2 → 0.2.0-canary.21

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.
@@ -9,3 +9,4 @@ export { default as events } from "./lib/events/events";
9
9
  export * from "./types/common.types";
10
10
  export { updateActiveVendor } from "./utils/state.utils";
11
11
  export { identifyUser } from "./utils/segment.utils";
12
+ export { checkInit } from "./utils/common.utils";
@@ -1,4 +1,5 @@
1
1
  import { CartProduct, ShoppingCart, Store } from "@artisan-commerce/types";
2
+ import { PriceCategoryType } from "@artisan-commerce/types";
2
3
  import { AddProductToCartParams as GoogleAddProductToCartParams } from "../../../providers/GoogleAnalytics/events/shoppingCart/addProductToCart/addProductToCart.types";
3
4
  import { AddProductToCartParams as FacebookAddProductToCartParams } from "../../../providers/FacebookPixel/events/shoppingCart/addProductToCart/addProductToCart.types";
4
5
  import { AddProductToCartParams as SegmentAddProductToCartParams } from "../../../providers/Segment/events/shoppingCart/addProductToCart/addProductToCart.types";
@@ -11,12 +12,14 @@ import { AddProductToCartParams as SegmentAddProductToCartParams } from "../../.
11
12
  * @property {string} cartId Shopping cart identifier
12
13
  * @property {string} cartName Shopping cart name
13
14
  * @property {Store} store Store where the user is buying the product
15
+ * @property {PriceCategoryType} priceCategory The product price category identifier
14
16
  */
15
17
  export interface AddProductToCartCommonParams {
16
18
  product: CartProduct;
17
19
  cartId: ShoppingCart["id"];
18
20
  cartName?: ShoppingCart["name"];
19
21
  store: Store;
22
+ priceCategory?: PriceCategoryType;
20
23
  }
21
24
  /**
22
25
  * addProductToCart event params.
@@ -1,4 +1,5 @@
1
1
  import { CartProduct, ShoppingCart } from "@artisan-commerce/types";
2
+ import { PriceCategoryType } from "@artisan-commerce/types";
2
3
  import { AddProductToWishlistParams as GoogleAddProductToWishlistParams } from "../../../providers/GoogleAnalytics/events/shoppingCart/addProductToWishlist/addProductToWishlist.types";
3
4
  import { AddProductToWishlistParams as FacebookAddProductToWishlistParams } from "../../../providers/FacebookPixel/events/shoppingCart/addProductToWishlist/addProductToWishlist.types";
4
5
  import { AddProductToWishlistParams as SegmentAddProductToWishlistParams } from "../../../providers/Segment/events/shoppingCart/addProductToWishlist/addProductToWishlist.types";
@@ -9,10 +10,12 @@ import { AddProductToWishlistParams as SegmentAddProductToWishlistParams } from
9
10
  * @since 0.5.14
10
11
  * @property {CartProduct} product The product that was added to the wishlist
11
12
  * @property {string} cartId Shopping cart identifier
13
+ * @property {PriceCategoryType} priceCategory The product price category identifier
12
14
  */
13
15
  export interface AddProductToWishlistCommonParams {
14
16
  product: CartProduct;
15
17
  cartId: ShoppingCart["id"];
18
+ priceCategory?: PriceCategoryType;
16
19
  }
17
20
  /**
18
21
  * addProductToWishlist event params.
@@ -1,4 +1,5 @@
1
1
  import { CartProduct, ShoppingCart, Store } from "@artisan-commerce/types";
2
+ import { PriceCategoryType } from "@artisan-commerce/types";
2
3
  import { RemoveProductFromCartParams as GoogleRemoveProductFromCartParams } from "../../../providers/GoogleAnalytics/events/shoppingCart/removeProductFromCart/removeProductFromCart.types";
3
4
  import { RemoveProductFromCartParams as FacebookRemoveProductFromCartParams } from "../../../providers/FacebookPixel/events/shoppingCart/removeProductFromCart/removeProductFromCart.types";
4
5
  import { RemoveProductFromCartParams as SegmentRemoveProductFromCartParams } from "../../../providers/Segment/events/shoppingCart/removeProductFromCart/removeProductFromCart.types";
@@ -11,12 +12,14 @@ import { RemoveProductFromCartParams as SegmentRemoveProductFromCartParams } fro
11
12
  * @property {string} cartId Shopping cart identifier
12
13
  * @property {string} cartName Shopping cart name
13
14
  * @property {Store} store Store where the user is buying the product
15
+ * @property {PriceCategoryType} priceCategory The product price category identifier
14
16
  */
15
17
  export interface RemoveProductFromCartCommonParams {
16
18
  product: CartProduct;
17
19
  cartId: ShoppingCart["id"];
18
20
  cartName?: ShoppingCart["name"];
19
21
  store: Store;
22
+ priceCategory?: PriceCategoryType;
20
23
  }
21
24
  /**
22
25
  * removeProductFromCart event params.
@@ -1,4 +1,5 @@
1
1
  import { CartProduct, ShoppingCart } from "@artisan-commerce/types";
2
+ import { PriceCategoryType } from "@artisan-commerce/types";
2
3
  import { RemoveProductFromWishlistParams as GoogleRemoveProductFromWishlistParams } from "../../../providers/GoogleAnalytics/events/shoppingCart/removeProductFromWishlist/removeProductFromWishlist.types";
3
4
  import { RemoveProductFromWishlistParams as FacebookRemoveProductFromWishlistParams } from "../../../providers/FacebookPixel/events/shoppingCart/removeProductFromWishlist/removeProductFromWishlist.types";
4
5
  import { RemoveProductFromWishlistParams as SegmentRemoveProductFromWishlistParams } from "../../../providers/Segment/events/shoppingCart/removeProductFromWishlist/removeProductFromWishlist.types";
@@ -9,10 +10,12 @@ import { RemoveProductFromWishlistParams as SegmentRemoveProductFromWishlistPara
9
10
  * @since 0.5.14
10
11
  * @property {CartProduct} product The product that was removed from the wishlist
11
12
  * @property {string} cartId Shopping cart identifier
13
+ * @property {PriceCategoryType} priceCategory The product price category identifier
12
14
  */
13
15
  export interface RemoveProductFromWishlistCommonParams {
14
16
  product: CartProduct;
15
17
  cartId: ShoppingCart["id"];
18
+ priceCategory?: PriceCategoryType;
16
19
  }
17
20
  /**
18
21
  * removeProductFromWishlist event params.
@@ -1,7 +1,8 @@
1
+ import { CartProduct, ShoppingCart, Store } from "@artisan-commerce/types";
2
+ import { PriceCategoryType } from "@artisan-commerce/types";
1
3
  import { UpdateProductInCartParams as GoogleUpdateProductInCartParams } from "../../../providers/GoogleAnalytics/events/shoppingCart/updateProductInCart/updateProductInCart.types";
2
4
  import { UpdateProductInCartParams as FacebookUpdateProductInCartParams } from "../../../providers/FacebookPixel/events/shoppingCart/updateProductInCart/updateProductInCart.types";
3
5
  import { UpdateProductInCartParams as SegmentUpdateProductInCartParams } from "../../../providers/Segment/events/shoppingCart/updateProductInCart/updateProductInCart.types";
4
- import { CartProduct, ShoppingCart, Store } from "@artisan-commerce/types";
5
6
  /**
6
7
  * updateProductInCart event interface
7
8
  *
@@ -12,6 +13,7 @@ import { CartProduct, ShoppingCart, Store } from "@artisan-commerce/types";
12
13
  * @property {string} cartName Shopping cart name
13
14
  * @property {Store} store Store where the user is buying the product
14
15
  * @property {string[]} fields The updated fields names
16
+ * @property {PriceCategoryType} priceCategory The product price category identifier
15
17
  */
16
18
  export interface UpdateProductInCartCommonParams {
17
19
  product: CartProduct;
@@ -19,6 +21,7 @@ export interface UpdateProductInCartCommonParams {
19
21
  cartName?: ShoppingCart["name"];
20
22
  store: Store;
21
23
  fields: string[];
24
+ priceCategory?: PriceCategoryType;
22
25
  }
23
26
  /**
24
27
  * updateProductInCart event params.
@@ -1,4 +1,5 @@
1
1
  import { CartProduct, ShoppingCart } from "@artisan-commerce/types";
2
+ import { PriceCategoryType } from "@artisan-commerce/types";
2
3
  import { UpdateProductInWishlistParams as GoogleUpdateProductInWishlistParams } from "../../../providers/GoogleAnalytics/events/shoppingCart/updateProductInWishlist/updateProductInWishlist.types";
3
4
  import { UpdateProductInWishlistParams as FacebookUpdateProductInWishlistParams } from "../../../providers/FacebookPixel/events/shoppingCart/updateProductInWishlist/updateProductInWishlist.types";
4
5
  import { UpdateProductInWishlistParams as SegmentUpdateProductInWishlistParams } from "../../../providers/Segment/events/shoppingCart/updateProductInWishlist/updateProductInWishlist.types";
@@ -10,11 +11,13 @@ import { UpdateProductInWishlistParams as SegmentUpdateProductInWishlistParams }
10
11
  * @property {CartProduct} product The product in the wishlist that was updated
11
12
  * @property {string} cartId Shopping cart identifier
12
13
  * @property {string[]} fields The updated fields names
14
+ * @property {PriceCategoryType} priceCategory The product price category identifier
13
15
  */
14
16
  export interface UpdateProductInWishlistCommonParams {
15
17
  product: CartProduct;
16
18
  cartId: ShoppingCart["id"];
17
19
  fields: string[];
20
+ priceCategory?: PriceCategoryType;
18
21
  }
19
22
  /**
20
23
  * updateProductInWishlist event params.
@@ -59,7 +59,7 @@ export declare namespace Segment {
59
59
  identify(traits?: Traits, options?: SegmentOptions, callback?: () => void): void;
60
60
  identify(traits?: Traits, callback?: () => void): void;
61
61
  identify(callback: () => void): void;
62
- track(event: EventNames | string, properties?: TrackProperties, options?: SegmentOptions, callback?: () => void): void;
62
+ track(event: EventNames | string, properties?: TrackProperties | CustomParams, options?: SegmentOptions, callback?: () => void): void;
63
63
  track(event: EventNames | string, properties?: TrackProperties, callback?: () => void): void;
64
64
  track(event: EventNames | string, callback?: () => void): void;
65
65
  reset(): void;
@@ -2,12 +2,20 @@ import { InitAnalyticsConfig } from "../lib/initAnalytics/initAnalytics.types";
2
2
  import { AnalyticsMeta } from "./common.types";
3
3
  declare type StrictInitAnalyticsConfig = Required<InitAnalyticsConfig>;
4
4
  export interface GlobalState {
5
+ /** Analytics providers instances that can be targeted to emit events */
5
6
  providers: StrictInitAnalyticsConfig["providers"];
7
+ /** The vendor that will emit the events */
6
8
  activeVendor?: StrictInitAnalyticsConfig["activeVendor"];
9
+ /** List of vendors that can emit events if active */
7
10
  vendors: StrictInitAnalyticsConfig["vendors"];
11
+ /** Debug mode */
8
12
  debug: StrictInitAnalyticsConfig["debug"];
13
+ /** Share e-commerce analytics with Trade */
9
14
  shareArtisnAnalytics: StrictInitAnalyticsConfig["shareArtisnAnalytics"];
15
+ /** Static commerce metadata */
10
16
  meta: GlobalStateMeta;
17
+ /** Indicates whether or not web analytics has been initialized */
18
+ initialized: boolean;
11
19
  }
12
20
  export interface GlobalStateMeta extends Omit<AnalyticsMeta, "accountId" | "vendorId" | "vendorName" | "storeId" | "storeName" | "catalogueId" | "catalogueName" | "appName" | "versionApp"> {
13
21
  accountId: AnalyticsMeta["accountId"] | undefined;
@@ -1,8 +1,15 @@
1
1
  /**
2
- * Update the event prameters keys to be in snake case.
2
+ * Update the event parameters keys to be in snake case.
3
3
  *
4
4
  * @since 0.5.14
5
5
  * @param {T} params Event parameters to be transformed
6
6
  * @returns {T} Event parameters with its keys in snake case
7
7
  */
8
8
  export declare const eventParamsToSnakeCase: <T>(params: T) => T;
9
+ /**
10
+ * Checks if the web analytics package has been initialized.
11
+ *
12
+ * @returns {boolean} The attribute that indicates whether or not web analytics
13
+ * has been initialized
14
+ */
15
+ export declare const checkInit: () => boolean;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@artisan-commerce/analytics-web",
3
3
  "description": "Artisn commerce analytics web library",
4
- "version": "0.2.0-canary.2",
4
+ "version": "0.2.0-canary.21",
5
5
  "main": "./build/main.bundle.js",
6
6
  "types": "./build/src/index.d.ts",
7
7
  "files": [
@@ -34,9 +34,9 @@
34
34
  "snake-case": "^3.0.4"
35
35
  },
36
36
  "devDependencies": {
37
- "@artisan-commerce/products": "0.9.0-canary.4",
38
- "@artisan-commerce/shopping-cart": "0.12.0-canary.2",
39
- "@artisan-commerce/types": "0.14.0-canary.2",
37
+ "@artisan-commerce/products": "0.9.0-canary.14",
38
+ "@artisan-commerce/shopping-cart": "0.12.0-canary.20",
39
+ "@artisan-commerce/types": "0.14.0-canary.11",
40
40
  "@babel/core": "^7.10.5",
41
41
  "@babel/preset-env": "^7.10.4",
42
42
  "@babel/preset-react": "^7.10.4",
@@ -83,5 +83,5 @@
83
83
  "@artisan-commerce/products": "*",
84
84
  "@artisan-commerce/shopping-cart": "*"
85
85
  },
86
- "gitHead": "bf0cd7736f111ee863d48fd866d1d3590aa39eac"
86
+ "gitHead": "3e84178aeeff64d0d0fc698b855ac463181340ba"
87
87
  }