cloudcommerce 0.6.3 → 0.6.5

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.
Files changed (81) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/action.yml +57 -1
  3. package/package.json +1 -1
  4. package/packages/api/lib/types/carts.d.ts +72 -20
  5. package/packages/api/lib/types/orders.d.ts +72 -20
  6. package/packages/api/lib/types/products.d.ts +82 -11
  7. package/packages/api/package.json +1 -1
  8. package/packages/api/src/types/carts.d.ts +72 -20
  9. package/packages/api/src/types/orders.d.ts +72 -20
  10. package/packages/api/src/types/products.d.ts +82 -11
  11. package/packages/apps/correios/package.json +1 -1
  12. package/packages/apps/custom-payment/package.json +1 -1
  13. package/packages/apps/custom-shipping/package.json +1 -1
  14. package/packages/apps/datafrete/package.json +1 -1
  15. package/packages/apps/discounts/package.json +1 -1
  16. package/packages/apps/emails/package.json +1 -1
  17. package/packages/apps/fb-conversions/package.json +1 -1
  18. package/packages/apps/frenet/package.json +1 -1
  19. package/packages/apps/galaxpay/package.json +1 -1
  20. package/packages/apps/google-analytics/package.json +1 -1
  21. package/packages/apps/infinitepay/package.json +1 -1
  22. package/packages/apps/jadlog/package.json +1 -1
  23. package/packages/apps/loyalty-points/package.json +1 -1
  24. package/packages/apps/melhor-envio/package.json +1 -1
  25. package/packages/apps/mercadopago/package.json +1 -1
  26. package/packages/apps/pagarme/package.json +1 -1
  27. package/packages/apps/paghiper/package.json +1 -1
  28. package/packages/apps/pix/package.json +1 -1
  29. package/packages/apps/tiny-erp/package.json +1 -1
  30. package/packages/apps/webhooks/package.json +1 -1
  31. package/packages/cli/lib/cli.js +1 -1
  32. package/packages/cli/package.json +1 -1
  33. package/packages/cli/src/cli.ts +1 -1
  34. package/packages/config/package.json +1 -1
  35. package/packages/emails/package.json +1 -1
  36. package/packages/events/package.json +1 -1
  37. package/packages/firebase/lib/config.d.ts +1 -1
  38. package/packages/firebase/lib/config.js +1 -1
  39. package/packages/firebase/lib/config.js.map +1 -1
  40. package/packages/firebase/package.json +1 -1
  41. package/packages/firebase/src/config.ts +1 -1
  42. package/packages/i18n/package.json +1 -1
  43. package/packages/modules/package.json +1 -1
  44. package/packages/passport/package.json +1 -1
  45. package/packages/ssr/lib/firebase/serve-storefront.js +3 -2
  46. package/packages/ssr/lib/firebase/serve-storefront.js.map +1 -1
  47. package/packages/ssr/package.json +1 -1
  48. package/packages/ssr/src/firebase/serve-storefront.ts +3 -2
  49. package/packages/storefront/dist/client/_astro/PitchBar.96fed383.js +1 -0
  50. package/packages/storefront/dist/client/_astro/{Prices.2bd87845.js → Prices.036ad2b4.js} +1 -1
  51. package/packages/storefront/dist/client/_astro/{ProductCard.48f0f5ba.js → ProductCard.69751e12.js} +1 -1
  52. package/packages/storefront/dist/client/_astro/ShopHeader.4a8ce417.js +4 -0
  53. package/packages/storefront/dist/client/_astro/{_...slug_.a594715c.css → _...slug_.25a09a96.css} +1 -1
  54. package/packages/storefront/dist/client/_astro/_plugin-vue_export-helper.be244611.js +1 -0
  55. package/packages/storefront/dist/client/_astro/client.bc16bf93.js +1 -0
  56. package/packages/storefront/dist/client/_astro/{format-money.060d67ef.js → format-money.e57ae2ab.js} +1 -1
  57. package/packages/storefront/dist/client/_astro/index.248ccd97.js +1 -0
  58. package/packages/storefront/dist/client/_astro/{modules-info.01f8d523.js → modules-info.8540ba60.js} +1 -1
  59. package/packages/storefront/dist/client/_astro/runtime-dom.esm-bundler.be3a98cd.js +1 -0
  60. package/packages/storefront/dist/client/_astro/server.1bc2fa51.css +1 -0
  61. package/packages/storefront/dist/client/sw.js +1 -1
  62. package/packages/storefront/dist/server/chunks/pages/{all.f15e2c35.mjs → all.9ad006f8.mjs} +125 -59
  63. package/packages/storefront/dist/server/entry.mjs +70 -36
  64. package/packages/storefront/package.json +2 -2
  65. package/packages/storefront/src/lib/components/Carousel.vue +11 -26
  66. package/packages/storefront/src/lib/components/CarouselControl.vue +5 -1
  67. package/packages/storefront/src/lib/components/globals/AImg.vue +55 -0
  68. package/packages/storefront/src/lib/components/globals/Fade.vue +23 -18
  69. package/packages/storefront/src/lib/layouts/BaseHead.astro +3 -1
  70. package/packages/storefront/src/lib/pages/_vue.ts +2 -0
  71. package/packages/storefront/src/vue-globals.d.ts +1 -0
  72. package/packages/types/package.json +1 -1
  73. package/packages/storefront/dist/client/_astro/PitchBar.5ced676e.js +0 -1
  74. package/packages/storefront/dist/client/_astro/ShopHeader.05d64cc8.js +0 -4
  75. package/packages/storefront/dist/client/_astro/_plugin-vue_export-helper.43eaff51.js +0 -1
  76. package/packages/storefront/dist/client/_astro/client.79615b8a.js +0 -1
  77. package/packages/storefront/dist/client/_astro/index.3243538d.js +0 -1
  78. package/packages/storefront/dist/client/_astro/runtime-dom.esm-bundler.cb4db78a.js +0 -1
  79. package/packages/storefront/dist/client/_astro/server.60de185d.css +0 -1
  80. package/packages/storefront/dist/client/fallback/index.html +0 -79
  81. package/packages/storefront/dist/server/chunks/prerender.2527d85d.mjs +0 -2
package/CHANGELOG.md CHANGED
@@ -2,6 +2,30 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [0.6.5](https://github.com/ecomplus/cloud-commerce/compare/v0.6.4...v0.6.5) (2023-02-24)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **cli:** Do not deploy with `--force` if other options passed ([5cda086](https://github.com/ecomplus/cloud-commerce/commit/5cda086c8e96f59fb0828a4c655041b5308342ca))
11
+ * **firebase:** Update config `ssrFunctionOptions` to 1GiB runtime by default ([f337537](https://github.com/ecomplus/cloud-commerce/commit/f3375370800d6a63b5f815674cb9796e3ac01e01))
12
+ * **storefront:** Global `Fade` transition component should not have scoped CSS ([cf57779](https://github.com/ecomplus/cloud-commerce/commit/cf57779437c3509aeec2b90dadbaf1dd55f3d45e))
13
+ * **storefront:** Reset `Carousel` scroll on window resize ([f66e883](https://github.com/ecomplus/cloud-commerce/commit/f66e883638ea3aab684810704093594776a37142))
14
+
15
+ ### [0.6.4](https://github.com/ecomplus/cloud-commerce/compare/v0.6.3...v0.6.4) (2023-02-22)
16
+
17
+
18
+ ### Features
19
+
20
+ * **api:** Improved product and cart/order item picture object typedef ([aa2f206](https://github.com/ecomplus/cloud-commerce/commit/aa2f20628599321951fe4992f8babdb753b4ce57))
21
+ * **storefront:** Add new `AImg` global Vue component ([ac4be0b](https://github.com/ecomplus/cloud-commerce/commit/ac4be0bd710fbb380bac16958f073648e999e0fb))
22
+
23
+
24
+ ### Bug Fixes
25
+
26
+ * **ssr:** Fix handling not found routes ([7749baa](https://github.com/ecomplus/cloud-commerce/commit/7749baad91308d8b39fa5dc548cf46058f307136))
27
+ * **storefront:** Ensure Web App Manifest <link> ([d17dcb4](https://github.com/ecomplus/cloud-commerce/commit/d17dcb46e72c651d8a2e0ad46143785c25f081a2))
28
+
5
29
  ### [0.6.3](https://github.com/ecomplus/cloud-commerce/compare/v0.6.2...v0.6.3) (2023-02-21)
6
30
 
7
31
 
package/action.yml CHANGED
@@ -16,6 +16,8 @@ inputs:
16
16
  required: true
17
17
  ecom-store-id:
18
18
  description: 'Store ID if not defined in config.json'
19
+ deploy-codebase:
20
+ description: 'Specific Firebase Functions codebase for partial deploy'
19
21
  mail-sender:
20
22
  description: 'Emails: sender email'
21
23
  mail-sender-name:
@@ -71,11 +73,56 @@ runs:
71
73
  done
72
74
  echo "ecom_store_id=${ECOM_STORE_ID:-$(cat config.json | jq -r '.storeId')}" >> $GITHUB_ENV
73
75
 
76
+ - uses: dorny/paths-filter@v2.11.1
77
+ id: changes
78
+ with:
79
+ filters: |
80
+ core:
81
+ - 'functions/core/**'
82
+ events:
83
+ - 'functions/events/**'
84
+ modules:
85
+ - 'functions/modules/**'
86
+ passport:
87
+ - 'functions/passport/**'
88
+ ssr:
89
+ - 'functions/ssr/**'
90
+
91
+ - shell: bash
92
+ env:
93
+ DEPLOY_CODEBASE: ${{ inputs.deploy-codebase }}
94
+ CHS_CORE: ${{ steps.changes.outputs.core }}
95
+ CHS_EVENTS: ${{ steps.changes.outputs.events }}
96
+ CHS_MODULES: ${{ steps.changes.outputs.modules }}
97
+ CHS_PASSPORT: ${{ steps.changes.outputs.passport }}
98
+ CHS_SSR: ${{ steps.changes.outputs.ssr }}
99
+ run: |
100
+ if [ -z "$DEPLOY_CODEBASE" ]; then
101
+ if [ -z "$CHS_CORE" ]; then
102
+ deploy_codebase=$(node -p "\
103
+ const changes = ['$CHS_SSR', '$CHS_MODULES', '$CHS_EVENTS', '$CHS_PASSPORT']; \
104
+ let codebase = ''; \
105
+ if (changes.filter(v => v === 'true').length === 1) { \
106
+ switch (changes.findIndex(v => v === 'true')) {\
107
+ case 0: codebase = 'ssr'; break; \
108
+ case 1: codebase = 'modules'; break; \
109
+ case 2: codebase = 'events'; break; \
110
+ case 3: codebase = 'passport'; break; \
111
+ } \
112
+ } \
113
+ codebase;")
114
+ fi
115
+ else
116
+ deploy_codebase=$DEPLOY_CODEBASE
117
+ fi
118
+ echo "deploy_codebase=$deploy_codebase" >> $GITHUB_ENV
119
+
74
120
  - if: github.event_name == 'push'
75
121
  name: Deploy to Firebase live
76
122
  shell: bash
77
123
  env:
78
124
  ECOM_STORE_ID: ${{ env.ecom_store_id }}
125
+ DEPLOY_CODEBASE: ${{ env.deploy_codebase }}
79
126
  GITHUB_TOKEN: ${{ inputs.github-token }}
80
127
  FIREBASE_SERVICE_ACCOUNT: ${{ inputs.firebase-service-account }}
81
128
  ECOM_AUTHENTICATION_ID: ${{ inputs.ecom-authentication-id }}
@@ -100,6 +147,7 @@ runs:
100
147
  ECOM_API_KEY=$ECOM_API_KEY
101
148
  ECOM_STORE_ID=$ECOM_STORE_ID
102
149
  GITHUB_TOKEN=$GITHUB_TOKEN
150
+ DEPLOY_CODEBASE=$DEPLOY_CODEBASE
103
151
  MAIL_SENDER=$MAIL_SENDER
104
152
  MAIL_SENDER_NAME=$MAIL_SENDER_NAME
105
153
  MAIL_REPLY_TO=$MAIL_REPLY_TO
@@ -113,7 +161,15 @@ runs:
113
161
  GALAXPAY_PARTNER_HASH=$GALAXPAY_PARTNER_HASH
114
162
  DATAFRETE_OPERATOR_TOKEN=$DATAFRETE_OPERATOR_TOKEN
115
163
  " > functions/.env
116
- GOOGLE_APPLICATION_CREDENTIALS=$GAC_FILENAME npm run deploy
164
+ if [ -z "$DEPLOY_CODEBASE" ]; then
165
+ GOOGLE_APPLICATION_CREDENTIALS=$GAC_FILENAME npm run deploy -- \
166
+ --only functions --codebase $DEPLOY_CODEBASE
167
+ if [ $DEPLOY_CODEBASE == "ssr" ]; then
168
+ npx firebase deploy --only hosting
169
+ fi
170
+ else
171
+ GOOGLE_APPLICATION_CREDENTIALS=$GAC_FILENAME npm run deploy
172
+ fi
117
173
 
118
174
  - if: github.event_name == 'pull_request'
119
175
  shell: bash
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cloudcommerce",
3
3
  "type": "module",
4
- "version": "0.6.3",
4
+ "version": "0.6.5",
5
5
  "description": "Open fair-code headless commerce platform: API-first, microservices based, event driven and cloud native",
6
6
  "main": "packages/api/lib/index.js",
7
7
  "author": "E-Com Club Softwares para E-commerce <ti@e-com.club>",
@@ -106,26 +106,10 @@ export interface Carts {
106
106
  * Product or variation picture for this cart item
107
107
  */
108
108
  picture?: {
109
- /**
110
- * Image size variation
111
- *
112
- * This interface was referenced by `undefined`'s JSON-Schema definition
113
- * via the `patternProperty` "^small|normal|big|zoom|custom$".
114
- */
115
- [k: string]: {
116
- /**
117
- * Image link
118
- */
119
- url: string;
120
- /**
121
- * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
122
- */
123
- size?: string;
124
- /**
125
- * Alternative text, HTML alt tag (important for SEO)
126
- */
127
- alt?: string;
128
- };
109
+ normal?: PictureSize;
110
+ big?: PictureSize1;
111
+ zoom?: PictureSize2;
112
+ small?: PictureSize3;
129
113
  };
130
114
  /**
131
115
  * Item customization fields
@@ -306,3 +290,71 @@ export interface Carts {
306
290
  */
307
291
  notes?: string;
308
292
  }
293
+ /**
294
+ * Default image size variant
295
+ */
296
+ export interface PictureSize {
297
+ /**
298
+ * Image link
299
+ */
300
+ url: string;
301
+ /**
302
+ * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
303
+ */
304
+ size?: string;
305
+ /**
306
+ * Alternative text, HTML alt tag (important for SEO)
307
+ */
308
+ alt?: string;
309
+ }
310
+ /**
311
+ * Image big size variant
312
+ */
313
+ export interface PictureSize1 {
314
+ /**
315
+ * Image link
316
+ */
317
+ url: string;
318
+ /**
319
+ * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
320
+ */
321
+ size?: string;
322
+ /**
323
+ * Alternative text, HTML alt tag (important for SEO)
324
+ */
325
+ alt?: string;
326
+ }
327
+ /**
328
+ * Image zoom size variant
329
+ */
330
+ export interface PictureSize2 {
331
+ /**
332
+ * Image link
333
+ */
334
+ url: string;
335
+ /**
336
+ * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
337
+ */
338
+ size?: string;
339
+ /**
340
+ * Alternative text, HTML alt tag (important for SEO)
341
+ */
342
+ alt?: string;
343
+ }
344
+ /**
345
+ * Image small size variant
346
+ */
347
+ export interface PictureSize3 {
348
+ /**
349
+ * Image link
350
+ */
351
+ url: string;
352
+ /**
353
+ * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
354
+ */
355
+ size?: string;
356
+ /**
357
+ * Alternative text, HTML alt tag (important for SEO)
358
+ */
359
+ alt?: string;
360
+ }
@@ -1160,26 +1160,10 @@ export interface Orders {
1160
1160
  * Product or variation picture for this cart item
1161
1161
  */
1162
1162
  picture?: {
1163
- /**
1164
- * Image size variation
1165
- *
1166
- * This interface was referenced by `undefined`'s JSON-Schema definition
1167
- * via the `patternProperty` "^small|normal|big|zoom|custom$".
1168
- */
1169
- [k: string]: {
1170
- /**
1171
- * Image link
1172
- */
1173
- url: string;
1174
- /**
1175
- * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
1176
- */
1177
- size?: string;
1178
- /**
1179
- * Alternative text, HTML alt tag (important for SEO)
1180
- */
1181
- alt?: string;
1182
- };
1163
+ normal?: PictureSize;
1164
+ big?: PictureSize1;
1165
+ zoom?: PictureSize2;
1166
+ small?: PictureSize3;
1183
1167
  };
1184
1168
  /**
1185
1169
  * Item customization fields
@@ -1651,3 +1635,71 @@ export interface Address2 {
1651
1635
  number: string;
1652
1636
  };
1653
1637
  }
1638
+ /**
1639
+ * Default image size variant
1640
+ */
1641
+ export interface PictureSize {
1642
+ /**
1643
+ * Image link
1644
+ */
1645
+ url: string;
1646
+ /**
1647
+ * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
1648
+ */
1649
+ size?: string;
1650
+ /**
1651
+ * Alternative text, HTML alt tag (important for SEO)
1652
+ */
1653
+ alt?: string;
1654
+ }
1655
+ /**
1656
+ * Image big size variant
1657
+ */
1658
+ export interface PictureSize1 {
1659
+ /**
1660
+ * Image link
1661
+ */
1662
+ url: string;
1663
+ /**
1664
+ * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
1665
+ */
1666
+ size?: string;
1667
+ /**
1668
+ * Alternative text, HTML alt tag (important for SEO)
1669
+ */
1670
+ alt?: string;
1671
+ }
1672
+ /**
1673
+ * Image zoom size variant
1674
+ */
1675
+ export interface PictureSize2 {
1676
+ /**
1677
+ * Image link
1678
+ */
1679
+ url: string;
1680
+ /**
1681
+ * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
1682
+ */
1683
+ size?: string;
1684
+ /**
1685
+ * Alternative text, HTML alt tag (important for SEO)
1686
+ */
1687
+ alt?: string;
1688
+ }
1689
+ /**
1690
+ * Image small size variant
1691
+ */
1692
+ export interface PictureSize3 {
1693
+ /**
1694
+ * Image link
1695
+ */
1696
+ url: string;
1697
+ /**
1698
+ * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
1699
+ */
1700
+ size?: string;
1701
+ /**
1702
+ * Alternative text, HTML alt tag (important for SEO)
1703
+ */
1704
+ alt?: string;
1705
+ }
@@ -802,17 +802,20 @@ export interface Products {
802
802
  *
803
803
  * @maxItems 50
804
804
  */
805
- pictures?: (
806
- | {
807
- [k: string]: unknown;
808
- }
809
- | {
810
- [k: string]: unknown;
811
- }
812
- | {
813
- [k: string]: unknown;
814
- }
815
- )[];
805
+ pictures?: {
806
+ /**
807
+ * Picture ID (ObjectID) [auto]
808
+ */
809
+ _id?: string;
810
+ /**
811
+ * Tag to identify object, use only lowercase letters, digits and underscore
812
+ */
813
+ tag?: string;
814
+ normal?: PictureSize;
815
+ big?: PictureSize1;
816
+ zoom?: PictureSize2;
817
+ small?: PictureSize3;
818
+ }[];
816
819
  /**
817
820
  * List of videos related to your product
818
821
  *
@@ -1351,3 +1354,71 @@ export interface Products {
1351
1354
  */
1352
1355
  notes?: string;
1353
1356
  }
1357
+ /**
1358
+ * Default image size variant
1359
+ */
1360
+ export interface PictureSize {
1361
+ /**
1362
+ * Image link
1363
+ */
1364
+ url: string;
1365
+ /**
1366
+ * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
1367
+ */
1368
+ size?: string;
1369
+ /**
1370
+ * Alternative text, HTML alt tag (important for SEO)
1371
+ */
1372
+ alt?: string;
1373
+ }
1374
+ /**
1375
+ * Image big size variant
1376
+ */
1377
+ export interface PictureSize1 {
1378
+ /**
1379
+ * Image link
1380
+ */
1381
+ url: string;
1382
+ /**
1383
+ * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
1384
+ */
1385
+ size?: string;
1386
+ /**
1387
+ * Alternative text, HTML alt tag (important for SEO)
1388
+ */
1389
+ alt?: string;
1390
+ }
1391
+ /**
1392
+ * Image zoom size variant
1393
+ */
1394
+ export interface PictureSize2 {
1395
+ /**
1396
+ * Image link
1397
+ */
1398
+ url: string;
1399
+ /**
1400
+ * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
1401
+ */
1402
+ size?: string;
1403
+ /**
1404
+ * Alternative text, HTML alt tag (important for SEO)
1405
+ */
1406
+ alt?: string;
1407
+ }
1408
+ /**
1409
+ * Image small size variant
1410
+ */
1411
+ export interface PictureSize3 {
1412
+ /**
1413
+ * Image link
1414
+ */
1415
+ url: string;
1416
+ /**
1417
+ * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
1418
+ */
1419
+ size?: string;
1420
+ /**
1421
+ * Alternative text, HTML alt tag (important for SEO)
1422
+ */
1423
+ alt?: string;
1424
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/api",
3
3
  "type": "module",
4
- "version": "0.6.3",
4
+ "version": "0.6.5",
5
5
  "description": "E-Com Plus Cloud Commerce APIs client/adapter",
6
6
  "main": "lib/api.js",
7
7
  "types": "lib/api.d.ts",
@@ -106,26 +106,10 @@ export interface Carts {
106
106
  * Product or variation picture for this cart item
107
107
  */
108
108
  picture?: {
109
- /**
110
- * Image size variation
111
- *
112
- * This interface was referenced by `undefined`'s JSON-Schema definition
113
- * via the `patternProperty` "^small|normal|big|zoom|custom$".
114
- */
115
- [k: string]: {
116
- /**
117
- * Image link
118
- */
119
- url: string;
120
- /**
121
- * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
122
- */
123
- size?: string;
124
- /**
125
- * Alternative text, HTML alt tag (important for SEO)
126
- */
127
- alt?: string;
128
- };
109
+ normal?: PictureSize;
110
+ big?: PictureSize1;
111
+ zoom?: PictureSize2;
112
+ small?: PictureSize3;
129
113
  };
130
114
  /**
131
115
  * Item customization fields
@@ -306,3 +290,71 @@ export interface Carts {
306
290
  */
307
291
  notes?: string;
308
292
  }
293
+ /**
294
+ * Default image size variant
295
+ */
296
+ export interface PictureSize {
297
+ /**
298
+ * Image link
299
+ */
300
+ url: string;
301
+ /**
302
+ * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
303
+ */
304
+ size?: string;
305
+ /**
306
+ * Alternative text, HTML alt tag (important for SEO)
307
+ */
308
+ alt?: string;
309
+ }
310
+ /**
311
+ * Image big size variant
312
+ */
313
+ export interface PictureSize1 {
314
+ /**
315
+ * Image link
316
+ */
317
+ url: string;
318
+ /**
319
+ * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
320
+ */
321
+ size?: string;
322
+ /**
323
+ * Alternative text, HTML alt tag (important for SEO)
324
+ */
325
+ alt?: string;
326
+ }
327
+ /**
328
+ * Image zoom size variant
329
+ */
330
+ export interface PictureSize2 {
331
+ /**
332
+ * Image link
333
+ */
334
+ url: string;
335
+ /**
336
+ * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
337
+ */
338
+ size?: string;
339
+ /**
340
+ * Alternative text, HTML alt tag (important for SEO)
341
+ */
342
+ alt?: string;
343
+ }
344
+ /**
345
+ * Image small size variant
346
+ */
347
+ export interface PictureSize3 {
348
+ /**
349
+ * Image link
350
+ */
351
+ url: string;
352
+ /**
353
+ * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
354
+ */
355
+ size?: string;
356
+ /**
357
+ * Alternative text, HTML alt tag (important for SEO)
358
+ */
359
+ alt?: string;
360
+ }
@@ -1160,26 +1160,10 @@ export interface Orders {
1160
1160
  * Product or variation picture for this cart item
1161
1161
  */
1162
1162
  picture?: {
1163
- /**
1164
- * Image size variation
1165
- *
1166
- * This interface was referenced by `undefined`'s JSON-Schema definition
1167
- * via the `patternProperty` "^small|normal|big|zoom|custom$".
1168
- */
1169
- [k: string]: {
1170
- /**
1171
- * Image link
1172
- */
1173
- url: string;
1174
- /**
1175
- * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
1176
- */
1177
- size?: string;
1178
- /**
1179
- * Alternative text, HTML alt tag (important for SEO)
1180
- */
1181
- alt?: string;
1182
- };
1163
+ normal?: PictureSize;
1164
+ big?: PictureSize1;
1165
+ zoom?: PictureSize2;
1166
+ small?: PictureSize3;
1183
1167
  };
1184
1168
  /**
1185
1169
  * Item customization fields
@@ -1651,3 +1635,71 @@ export interface Address2 {
1651
1635
  number: string;
1652
1636
  };
1653
1637
  }
1638
+ /**
1639
+ * Default image size variant
1640
+ */
1641
+ export interface PictureSize {
1642
+ /**
1643
+ * Image link
1644
+ */
1645
+ url: string;
1646
+ /**
1647
+ * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
1648
+ */
1649
+ size?: string;
1650
+ /**
1651
+ * Alternative text, HTML alt tag (important for SEO)
1652
+ */
1653
+ alt?: string;
1654
+ }
1655
+ /**
1656
+ * Image big size variant
1657
+ */
1658
+ export interface PictureSize1 {
1659
+ /**
1660
+ * Image link
1661
+ */
1662
+ url: string;
1663
+ /**
1664
+ * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
1665
+ */
1666
+ size?: string;
1667
+ /**
1668
+ * Alternative text, HTML alt tag (important for SEO)
1669
+ */
1670
+ alt?: string;
1671
+ }
1672
+ /**
1673
+ * Image zoom size variant
1674
+ */
1675
+ export interface PictureSize2 {
1676
+ /**
1677
+ * Image link
1678
+ */
1679
+ url: string;
1680
+ /**
1681
+ * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
1682
+ */
1683
+ size?: string;
1684
+ /**
1685
+ * Alternative text, HTML alt tag (important for SEO)
1686
+ */
1687
+ alt?: string;
1688
+ }
1689
+ /**
1690
+ * Image small size variant
1691
+ */
1692
+ export interface PictureSize3 {
1693
+ /**
1694
+ * Image link
1695
+ */
1696
+ url: string;
1697
+ /**
1698
+ * Image size (width x height) in px, such as 100x50 (100px width, 50px height)
1699
+ */
1700
+ size?: string;
1701
+ /**
1702
+ * Alternative text, HTML alt tag (important for SEO)
1703
+ */
1704
+ alt?: string;
1705
+ }