@akinon/next 1.114.0-rc.21 → 1.114.0-snapshot-ZERO-3890-20251208193442

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/CHANGELOG.md CHANGED
@@ -1,19 +1,11 @@
1
1
  # @akinon/next
2
2
 
3
- ## 1.114.0-rc.21
4
-
5
- ## 1.114.0-rc.20
3
+ ## 1.114.0-snapshot-ZERO-3890-20251208193442
6
4
 
7
5
  ### Minor Changes
8
6
 
9
- - d2c0e75: ZERO-3684: Handle cross-origin iframe access in iframeURLChange function
10
- - b55acb76: ZERO-2577: Fix pagination bug and update usePagination hook and ensure pagination controls rendering correctly
11
- - 143be2b: ZERO-3457: Crop styles are customizable and logic improved for rendering similar products modal
12
- - 9f8cd3bc: ZERO-3449: AI Search Active Filters & Crop Style changes have been implemented
13
- - d99a6a7: ZERO-3457_1: Fixed the settings prop and made sure everything is customizable.
14
- - 7056203: ZERO-3875: removed shared_tags through stripTags function for unused keys
15
- - 4de5303c: ZERO-2504: add cookie filter to api client request
16
- - 95b139d: ZERO-3795: Remove duplicate entry for SavedCard in PluginComponents map
7
+ - b59bed4: ZERO-3878: Reintegrated similar products and removed localStorage checks and implemented props based showing of buttons
8
+ - cbcfdf4: ZERO-3859: Haso payment gateway implmeneted
17
9
 
18
10
  ## 1.113.0
19
11
 
@@ -24,7 +24,9 @@ enum Plugin {
24
24
  FlowPayment = 'pz-flow-payment',
25
25
  VirtualTryOn = 'pz-virtual-try-on',
26
26
  Hepsipay = 'pz-hepsipay',
27
- MasterpassRest = 'pz-masterpass-rest'
27
+ MasterpassRest = 'pz-masterpass-rest',
28
+ SimilarProducts = 'pz-similar-products',
29
+ Haso = 'pz-haso'
28
30
  }
29
31
 
30
32
  export enum Component {
@@ -55,7 +57,15 @@ export enum Component {
55
57
  IyzicoSavedCard = 'IyzicoSavedCardOption',
56
58
  Hepsipay = 'Hepsipay',
57
59
  FlowPayment = 'FlowPayment',
58
- MasterpassRest = 'MasterpassRestOption'
60
+ MasterpassRest = 'MasterpassRestOption',
61
+ SimilarProductsModal = 'SimilarProductsModal',
62
+ SimilarProductsFilterSidebar = 'SimilarProductsFilterSidebar',
63
+ SimilarProductsResultsGrid = 'SimilarProductsResultsGrid',
64
+ SimilarProductsPlugin = 'SimilarProductsPlugin',
65
+ ProductImageSearchFeature = 'ProductImageSearchFeature',
66
+ ImageSearchButton = 'ImageSearchButton',
67
+ HeaderImageSearchFeature = 'HeaderImageSearchFeature',
68
+ HasoPaymentGateway = 'HasoPaymentGateway'
59
69
  }
60
70
 
61
71
  const PluginComponents = new Map([
@@ -101,6 +111,7 @@ const PluginComponents = new Map([
101
111
  ]
102
112
  ],
103
113
  [Plugin.SavedCard, [Component.SavedCard, Component.IyzicoSavedCard]],
114
+ [Plugin.SavedCard, [Component.SavedCard]],
104
115
  [Plugin.FlowPayment, [Component.FlowPayment]],
105
116
  [
106
117
  Plugin.VirtualTryOn,
@@ -108,7 +119,8 @@ const PluginComponents = new Map([
108
119
  ],
109
120
  [Plugin.Hepsipay, [Component.Hepsipay]],
110
121
  [Plugin.Hepsipay, [Component.Hepsipay]],
111
- [Plugin.MasterpassRest, [Component.MasterpassRest]]
122
+ [Plugin.MasterpassRest, [Component.MasterpassRest]],
123
+ [Plugin.Haso, [Component.HasoPaymentGateway]]
112
124
  ]);
113
125
 
114
126
  const getPlugin = (component: Component) => {
@@ -173,8 +185,6 @@ export default function PluginModule({
173
185
  promise = import(`${'@akinon/pz-multi-basket'}`);
174
186
  } else if (plugin === Plugin.SavedCard) {
175
187
  promise = import(`${'@akinon/pz-saved-card'}`);
176
- } else if (plugin === Plugin.SimilarProducts) {
177
- promise = import(`${'@akinon/pz-similar-products'}`);
178
188
  } else if (plugin === Plugin.Hepsipay) {
179
189
  promise = import(`${'@akinon/pz-hepsipay'}`);
180
190
  } else if (plugin === Plugin.FlowPayment) {
@@ -183,6 +193,10 @@ export default function PluginModule({
183
193
  promise = import(`${'@akinon/pz-virtual-try-on'}`);
184
194
  } else if (plugin === Plugin.MasterpassRest) {
185
195
  promise = import(`${'@akinon/pz-masterpass-rest'}`);
196
+ } else if (plugin === Plugin.SimilarProducts) {
197
+ promise = import(`${'@akinon/pz-similar-products'}`);
198
+ } else if (plugin === Plugin.Haso) {
199
+ promise = import(`${'@akinon/pz-haso'}`);
186
200
  }
187
201
  } catch (error) {
188
202
  logger.error(error);
package/data/urls.ts CHANGED
@@ -183,11 +183,7 @@ export const product = {
183
183
  breadcrumbUrl: (menuitemmodel: string) =>
184
184
  `/menus/generate_breadcrumb/?item=${menuitemmodel}&generator_name=menu_item`,
185
185
  bundleProduct: (productPk: string, queryString: string) =>
186
- `/bundle-product/${productPk}/?${queryString}`,
187
- similarProducts: (params?: string) =>
188
- `/similar-products${params ? `?${params}` : ''}`,
189
- similarProductsList: (params?: string) =>
190
- `/similar-product-list${params ? `?${params}` : ''}`
186
+ `/bundle-product/${productPk}/?${queryString}`
191
187
  };
192
188
 
193
189
  export const wishlist = {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@akinon/next",
3
3
  "description": "Core package for Project Zero Next",
4
- "version": "1.114.0-rc.21",
4
+ "version": "1.114.0-snapshot-ZERO-3890-20251208193442",
5
5
  "private": false,
6
6
  "license": "MIT",
7
7
  "bin": {
@@ -35,7 +35,7 @@
35
35
  "set-cookie-parser": "2.6.0"
36
36
  },
37
37
  "devDependencies": {
38
- "@akinon/eslint-plugin-projectzero": "1.114.0-rc.21",
38
+ "@akinon/eslint-plugin-projectzero": "1.114.0-snapshot-ZERO-3890-20251208193442",
39
39
  "@babel/core": "7.26.10",
40
40
  "@babel/preset-env": "7.26.9",
41
41
  "@babel/preset-typescript": "7.27.0",
package/plugins.d.ts CHANGED
@@ -37,16 +37,6 @@ declare module '@akinon/pz-cybersource-uc/src/redux/middleware' {
37
37
  export default middleware as any;
38
38
  }
39
39
 
40
- declare module '@akinon/pz-apple-pay' {}
41
-
42
- declare module '@akinon/pz-similar-products' {
43
- export const SimilarProductsModal: any;
44
- export const SimilarProductsFilterSidebar: any;
45
- export const SimilarProductsResultsGrid: any;
46
- export const SimilarProductsPlugin: any;
47
- export const SimilarProductsButtonPlugin: any;
48
- }
49
-
50
40
  declare module '@akinon/pz-cybersource-uc/src/redux/reducer' {
51
41
  export default reducer as any;
52
42
  }
package/plugins.js CHANGED
@@ -16,10 +16,11 @@ module.exports = [
16
16
  'pz-tabby-extension',
17
17
  'pz-apple-pay',
18
18
  'pz-tamara-extension',
19
- 'pz-similar-products',
20
19
  'pz-cybersource-uc',
21
20
  'pz-hepsipay',
22
21
  'pz-flow-payment',
23
22
  'pz-virtual-try-on',
24
- 'pz-masterpass-rest'
23
+ 'pz-masterpass-rest',
24
+ 'pz-similar-products',
25
+ 'pz-haso'
25
26
  ];
package/types/index.ts CHANGED
@@ -83,12 +83,6 @@ export interface Settings {
83
83
  };
84
84
  usePrettyUrlRoute?: boolean;
85
85
  commerceUrl: string;
86
- /**
87
- * This option allows you to track Sentry events on the client side, in addition to server and edge environments.
88
- *
89
- * It overrides process.env.NEXT_PUBLIC_SENTRY_DSN and process.env.SENTRY_DSN.
90
- */
91
- sentryDsn?: string;
92
86
  redis: {
93
87
  defaultExpirationTime: number;
94
88
  };
@@ -1,14 +1,8 @@
1
1
  const iframeURLChange = (iframe, callback) => {
2
2
  iframe.addEventListener('load', () => {
3
3
  setTimeout(() => {
4
- try {
5
- if (iframe?.contentWindow?.location) {
6
- const iframeLocation = iframe.contentWindow.location;
7
-
8
- callback(iframeLocation);
9
- }
10
- } catch (error) {
11
- // Expected: browser blocks cross-origin iframe access for security
4
+ if (iframe?.contentWindow?.location) {
5
+ callback(iframe.contentWindow.location);
12
6
  }
13
7
  }, 0);
14
8
  });
@@ -1,14 +1,8 @@
1
1
  const iframeURLChange = (iframe, callback) => {
2
2
  iframe.addEventListener('load', () => {
3
3
  setTimeout(() => {
4
- try {
5
- if (iframe?.contentWindow?.location) {
6
- const iframeLocation = iframe.contentWindow.location;
7
-
8
- callback(iframeLocation);
9
- }
10
- } catch (error) {
11
- // Expected: browser blocks cross-origin iframe access for security
4
+ if (iframe?.contentWindow?.location) {
5
+ callback(iframe.contentWindow.location);
12
6
  }
13
7
  }, 0);
14
8
  });