@askdialog/dialog-sdk 1.0.12 → 1.0.14

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.
package/README.md CHANGED
@@ -28,6 +28,22 @@ pnpm add @dialog/dialog-sdk
28
28
  yarn add @dialog/dialog-sdk
29
29
  ```
30
30
 
31
+ You can also use our CDN link if you’re not using a package manager.
32
+
33
+ - Add the script to your project (replace X, Y, Z by versions)
34
+
35
+ ```html
36
+ <script src="https://d2m6yt8rnm4dos.cloudfront.net/dialog-sdk.X.Y.Z.min.js"></script>
37
+ ```
38
+ - The `DialogSDK` object will be available on the `window`. You can access all features as shown below:
39
+ ```typescript
40
+
41
+ const client = new window.DialogSDK.Dialog({
42
+ apiKey: 'YOUR_API_KEY',
43
+ // ........
44
+ })
45
+ ```
46
+
31
47
  ### Instantiate the client
32
48
 
33
49
  ```typescript
@@ -37,8 +53,19 @@ const client = new Dialog({
37
53
  apiKey: 'YOUR_API_KEY', // required
38
54
  locale: 'TARGETED_LOCALE', // required
39
55
  callbacks: {
40
- addToCart: async () => Promise<void>, // required
41
- getProduct: async () => Promise<Product>, // required
56
+ addToCart: async ({
57
+ productId,
58
+ quantity,
59
+ variantId,
60
+ }: {
61
+ productId: string;
62
+ quantity: number;
63
+ variantId?: string;
64
+ }) => Promise<void>, // required
65
+ getProduct: async (
66
+ productId: string,
67
+ variantId?: string
68
+ ) => Promise<SimplifiedProduct>, // required
42
69
  },
43
70
  });
44
71
  ```
@@ -130,12 +157,16 @@ Example of expected result:
130
157
  const client = new Dialog({
131
158
  ...,
132
159
  callbacks: {
133
- getProduct: () => {
134
- // Call your api to retrieve product information
135
- const response = await fetch('....');
136
- const data = await response.json();
137
- // To define
138
- return {};
160
+ getProduct: (
161
+ productId: string,
162
+ variantId?: string): Promise<SimplifiedProduct> => {
163
+ // Call your api to retrieve product information
164
+ const response = await fetch('....');
165
+ const data = await response.json();
166
+ // Need to match SimplifiedProduct type
167
+ return {
168
+ ...
169
+ };
139
170
  }
140
171
  },
141
172
  });
@@ -147,7 +178,15 @@ const client = new Dialog({
147
178
  const client = new Dialog({
148
179
  ...,
149
180
  callbacks: {
150
- addToCart: () => {
181
+ addToCart: ({
182
+ productId,
183
+ quantity,
184
+ variantId,
185
+ }: {
186
+ productId: string;
187
+ quantity: number;
188
+ variantId?: string;
189
+ }): Promise<void> => {
151
190
  // Call your api to trigger addToCart
152
191
  const response = await fetch('....');
153
192
 
package/dist/Dialog.d.ts CHANGED
@@ -25,10 +25,10 @@ export declare class Dialog {
25
25
  sendProductMessage(params: ProductQuestionPayload): void;
26
26
  sendGenericMessage(params: GenericQuestionPayload): void;
27
27
  getProduct(productId: string, variantId?: string): Promise<SimplifiedProduct>;
28
- addToCart({ productId, variantId, quantity, }: {
28
+ addToCart({ productId, quantity, variantId, }: {
29
29
  productId: string;
30
- variantId: string;
31
30
  quantity: number;
31
+ variantId?: string;
32
32
  }): Promise<void>;
33
33
  registerAddToCartEvent({ productId, variantId, quantity, }: {
34
34
  productId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../src/Dialog.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EACL,kBAAkB,EAEnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAEL,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAMpD,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,UAAU,CAchB;IACF,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,SAAS,CAAW;gBAEhB,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,iBAAiB;IAc3E,IAAW,MAAM,IAAI,MAAM,CAE1B;IACD,IAAW,KAAK,IAAI,KAAK,CAExB;IACD,IAAW,MAAM,IAAI,MAAM,CAE1B;IACD,IAAW,MAAM,IAAI,MAAM,CAE1B;IAEM,2BAA2B,IAAI,kBAAkB,GAAG,IAAI;IAI/D,OAAO,CAAC,uBAAuB;IAkBlB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAK5D,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAKjD,cAAc,IAAI,IAAI;IAItB,kBAAkB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAIxD,kBAAkB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAOxD,UAAU,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC;IAItB,SAAS,CAAC,EACf,SAAS,EACT,SAAS,EACT,QAAQ,GACT,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIV,sBAAsB,CAAC,EAC5B,SAAS,EACT,SAAS,EACT,QAAQ,GACT,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,IAAI;IAQD,2BAA2B,IAAI,IAAI;IAI1C,OAAO,CAAC,cAAc;CA0BvB"}
1
+ {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../src/Dialog.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EACL,kBAAkB,EAEnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAEL,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAMpD,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,UAAU,CAchB;IACF,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,SAAS,CAAW;gBAEhB,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,iBAAiB;IAc3E,IAAW,MAAM,IAAI,MAAM,CAE1B;IACD,IAAW,KAAK,IAAI,KAAK,CAExB;IACD,IAAW,MAAM,IAAI,MAAM,CAE1B;IACD,IAAW,MAAM,IAAI,MAAM,CAE1B;IAEM,2BAA2B,IAAI,kBAAkB,GAAG,IAAI;IAI/D,OAAO,CAAC,uBAAuB;IAkBlB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAK5D,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAKjD,cAAc,IAAI,IAAI;IAItB,kBAAkB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAIxD,kBAAkB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAOxD,UAAU,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC;IAItB,SAAS,CAAC,EACf,SAAS,EACT,QAAQ,EACR,SAAS,GACV,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIV,sBAAsB,CAAC,EAC5B,SAAS,EACT,SAAS,EACT,QAAQ,GACT,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,IAAI;IAQD,2BAA2B,IAAI,IAAI;IAI1C,OAAO,CAAC,cAAc;CAyBvB"}
package/dist/Dialog.js CHANGED
@@ -77,7 +77,7 @@ export class Dialog {
77
77
  getProduct(productId, variantId) {
78
78
  return this._callbacks.getProduct(productId, variantId);
79
79
  }
80
- addToCart({ productId, variantId, quantity, }) {
80
+ addToCart({ productId, quantity, variantId, }) {
81
81
  return this._callbacks.addToCart({ productId, variantId, quantity });
82
82
  }
83
83
  registerAddToCartEvent({ productId, variantId, quantity, }) {
@@ -4,10 +4,10 @@ export interface DialogConstructor {
4
4
  apiKey: string;
5
5
  locale: string;
6
6
  callbacks: {
7
- addToCart: ({ productId, variantId, quantity, }: {
7
+ addToCart: ({ productId, quantity, variantId, }: {
8
8
  productId: string;
9
- variantId: string;
10
9
  quantity: number;
10
+ variantId?: string;
11
11
  }) => Promise<void>;
12
12
  getProduct: (productId: string, variantId?: string) => Promise<SimplifiedProduct>;
13
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"constructor.d.ts","sourceRoot":"","sources":["../../src/types/constructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE;QACT,SAAS,EAAE,CAAC,EACV,SAAS,EACT,SAAS,EACT,QAAQ,GACT,EAAE;YACD,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,QAAQ,EAAE,MAAM,CAAC;SAClB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACpB,UAAU,EAAE,CACV,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,KACf,OAAO,CAAC,iBAAiB,CAAC,CAAC;KACjC,CAAC;IACF,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"constructor.d.ts","sourceRoot":"","sources":["../../src/types/constructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE;QACT,SAAS,EAAE,CAAC,EACV,SAAS,EACT,QAAQ,EACR,SAAS,GACV,EAAE;YACD,SAAS,EAAE,MAAM,CAAC;YAClB,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACpB,UAAU,EAAE,CACV,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,KACf,OAAO,CAAC,iBAAiB,CAAC,CAAC;KACjC,CAAC;IACF,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/types/theme.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE;QACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAA;IACD,WAAW,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAA;IACD,OAAO,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAA;CACF"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/types/theme.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH"}
@@ -12,7 +12,7 @@ export const getDetailedLocaleInfo = (locale) => {
12
12
  language: languageName,
13
13
  countryCode,
14
14
  formatted: `${language}-${countryCode}`,
15
- locale
15
+ locale,
16
16
  };
17
17
  }
18
18
  catch (e) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askdialog/dialog-sdk",
3
- "version": "1.0.12",
3
+ "version": "1.0.14",
4
4
  "private": false,
5
5
  "description": "Dialog SDK",
6
6
  "main": "dist/index.js",
@@ -28,6 +28,7 @@
28
28
  "devDependencies": {
29
29
  "@typescript-eslint/eslint-plugin": "^7.18.0",
30
30
  "@typescript-eslint/parser": "^7.18.0",
31
+ "esbuild": "^0.25.8",
31
32
  "eslint": "^8.56.0",
32
33
  "eslint-config-prettier": "^10.1.1",
33
34
  "eslint-import-resolver-typescript": "^4.3.2",
@@ -52,6 +53,11 @@
52
53
  "test-type": "tsc --noEmit",
53
54
  "link": "pnpm link --global",
54
55
  "unlink": "pnpm unlink",
55
- "watch": "tsc --watch"
56
+ "watch": "tsc --watch",
57
+ "build:bundle:esm": "pnpm run build:prod && mkdir -p bundle && esbuild src/index.ts --bundle --platform=browser --format=iife --global-name=DialogSDK --minify --outfile=bundle/dialog-sdk.$npm_package_version.min.js",
58
+ "deploy:s3": "aws s3 cp bundle/dialog-sdk.$npm_package_version.min.js s3://dialog-sdk/",
59
+ "deploy:cloudfront": "aws cloudfront create-invalidation --distribution-id E3NRPUUF94K3P6 --no-cli-pager --paths \"/dialog-sdk.$npm_package_version.min.js\"",
60
+ "deploy:cdn": "pnpm run build:prod && pnpm run build:bundle:esm && pnpm run deploy:s3 && pnpm run deploy:cloudfront",
61
+ "deploy:cdn:publish": "pnpm run build:prod && pnpm run build:bundle:esm && pnpm run deploy:s3 && pnpm run deploy:cloudfront && pnpm publish"
56
62
  }
57
63
  }