@akinon/next 1.13.0 → 1.14.0

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 (133) hide show
  1. package/.editorconfig +7 -0
  2. package/.eslintrc.js +40 -40
  3. package/.prettierrc +13 -13
  4. package/CHANGELOG.md +19 -0
  5. package/api/auth.ts +231 -231
  6. package/api/cache.ts +44 -44
  7. package/api/client.ts +174 -174
  8. package/api/logout.ts +42 -42
  9. package/assets/styles/index.scss +28 -28
  10. package/bin/pz-check-dependencies.js +98 -98
  11. package/bin/pz-install-plugins.js +33 -33
  12. package/bin/pz-install-theme.js +58 -58
  13. package/bin/pz-postbuild.js +1 -1
  14. package/bin/pz-postdev.js +1 -1
  15. package/bin/pz-postinstall.js +6 -6
  16. package/bin/pz-poststart.js +1 -1
  17. package/bin/pz-prebuild.js +4 -4
  18. package/bin/pz-predev.js +4 -4
  19. package/bin/pz-prestart.js +1 -1
  20. package/bin/run-script.js +44 -44
  21. package/components/accordion.tsx +52 -0
  22. package/components/button.tsx +46 -0
  23. package/components/client-root.tsx +19 -19
  24. package/components/icon.tsx +18 -18
  25. package/components/image.tsx +133 -133
  26. package/components/index.ts +17 -1
  27. package/components/input.tsx +110 -0
  28. package/components/lazy-component.tsx +33 -33
  29. package/components/loader-spinner.tsx +23 -23
  30. package/components/mobile-app-toggler.tsx +26 -26
  31. package/components/oauth-login.tsx +24 -24
  32. package/components/plugin-module.tsx +11 -8
  33. package/components/price.tsx +55 -0
  34. package/components/pz-providers.tsx +24 -24
  35. package/components/pz-root.tsx +21 -21
  36. package/components/radio.tsx +18 -18
  37. package/components/react-portal.tsx +45 -45
  38. package/components/redirect-three-d/content/index.tsx +74 -74
  39. package/components/redirect-three-d/index.tsx +17 -17
  40. package/components/selected-payment-option-view.tsx +7 -0
  41. package/components/trans.tsx +39 -39
  42. package/data/client/account.ts +208 -208
  43. package/data/client/address.ts +107 -107
  44. package/data/client/api.ts +85 -84
  45. package/data/client/b2b.ts +106 -106
  46. package/data/client/basket.ts +82 -82
  47. package/data/client/checkout.ts +516 -479
  48. package/data/client/misc.ts +101 -101
  49. package/data/client/product.ts +89 -89
  50. package/data/client/user.ts +99 -99
  51. package/data/client/wishlist.ts +118 -88
  52. package/data/server/category.ts +132 -128
  53. package/data/server/flatpage.ts +21 -21
  54. package/data/server/form.ts +22 -22
  55. package/data/server/index.ts +10 -10
  56. package/data/server/landingpage.ts +24 -24
  57. package/data/server/list.ts +67 -62
  58. package/data/server/menu.ts +35 -35
  59. package/data/server/product.ts +86 -86
  60. package/data/server/seo.ts +48 -48
  61. package/data/server/special-page.ts +47 -47
  62. package/data/server/widget.ts +27 -27
  63. package/data/urls.ts +221 -210
  64. package/hocs/client/index.ts +1 -1
  65. package/hocs/client/with-segment-defaults.tsx +25 -25
  66. package/hocs/server/index.ts +1 -1
  67. package/hocs/server/with-segment-defaults.tsx +85 -85
  68. package/hooks/index.ts +10 -10
  69. package/hooks/use-captcha.tsx +76 -76
  70. package/hooks/use-common-product-attributes.ts +36 -36
  71. package/hooks/use-debounce.ts +20 -20
  72. package/hooks/use-localization.ts +78 -78
  73. package/hooks/use-media-query.ts +36 -36
  74. package/hooks/use-mobile-iframe-handler.ts +23 -23
  75. package/hooks/use-on-click-outside.tsx +28 -28
  76. package/hooks/use-payment-options.ts +12 -16
  77. package/hooks/use-router.ts +45 -45
  78. package/hooks/use-translation.ts +14 -14
  79. package/lib/cache.ts +215 -215
  80. package/localization/index.ts +5 -5
  81. package/localization/provider.tsx +58 -58
  82. package/middlewares/currency.ts +100 -100
  83. package/middlewares/default.ts +256 -256
  84. package/middlewares/index.ts +29 -29
  85. package/middlewares/locale.ts +68 -68
  86. package/middlewares/oauth-login.ts +79 -79
  87. package/middlewares/pretty-url.ts +104 -104
  88. package/middlewares/redirection-payment.ts +160 -160
  89. package/middlewares/three-d-redirection.ts +159 -159
  90. package/middlewares/url-redirection.ts +65 -65
  91. package/package.json +2 -2
  92. package/plugins.js +2 -1
  93. package/redux/hooks.ts +7 -7
  94. package/redux/middlewares/checkout.ts +265 -260
  95. package/redux/middlewares/index.ts +50 -50
  96. package/redux/reducers/checkout.ts +184 -171
  97. package/redux/reducers/config.ts +28 -28
  98. package/redux/reducers/header.ts +59 -59
  99. package/redux/reducers/index.ts +14 -14
  100. package/redux/reducers/root.ts +61 -61
  101. package/sentry/index.ts +27 -27
  102. package/tailwind/rtl.js +137 -137
  103. package/types/commerce/account.ts +64 -64
  104. package/types/commerce/address.ts +94 -94
  105. package/types/commerce/b2b.ts +117 -117
  106. package/types/commerce/basket.ts +43 -43
  107. package/types/commerce/category.ts +114 -114
  108. package/types/commerce/checkout.ts +143 -136
  109. package/types/commerce/flatpage.ts +7 -7
  110. package/types/commerce/form.ts +66 -66
  111. package/types/commerce/index.ts +12 -12
  112. package/types/commerce/landingpage.ts +7 -7
  113. package/types/commerce/misc.ts +127 -127
  114. package/types/commerce/order.ts +119 -119
  115. package/types/commerce/product.ts +109 -109
  116. package/types/commerce/widget.ts +28 -28
  117. package/types/gtm.ts +16 -16
  118. package/types/index.ts +274 -237
  119. package/types/metadata.ts +7 -7
  120. package/types/next-auth.d.ts +24 -24
  121. package/utils/app-fetch.ts +69 -69
  122. package/utils/deep-merge.js +24 -24
  123. package/utils/generate-commerce-search-params.ts +22 -22
  124. package/utils/get-currency.ts +29 -29
  125. package/utils/image-loader.ts +31 -31
  126. package/utils/index.ts +150 -150
  127. package/utils/localization.ts +29 -29
  128. package/utils/log.ts +138 -138
  129. package/utils/menu-generator.ts +27 -27
  130. package/utils/mobile-3d-iframe.ts +77 -77
  131. package/utils/server-translation.ts +57 -57
  132. package/utils/server-variables.ts +9 -9
  133. package/with-pz-config.js +94 -94
@@ -1,109 +1,109 @@
1
- import { Category } from './category';
2
-
3
- type Values<T> = T[keyof T];
4
-
5
- export interface Product {
6
- absolute_url: string;
7
- attribute_set: number;
8
- attributes: {
9
- [key: string]: any;
10
- };
11
- attributes_kwargs: any;
12
- base_code: string;
13
- basket_offers: {
14
- kwargs: { show_benefit_products: boolean };
15
- label: string;
16
- listing_kwargs: {
17
- [key: string]: any;
18
- };
19
- pk: number;
20
- };
21
- currency_type: string;
22
- data_source: null;
23
- extra_attributes: {
24
- [key: string]: any;
25
- };
26
- form_schema: null;
27
- image?: string;
28
- in_stock: boolean;
29
- is_ready_to_basket: boolean;
30
- name: string;
31
- pk: number;
32
- price: string;
33
- price_type: string;
34
- product_type: string;
35
- productimage_set: Array<{
36
- created_date: Date;
37
- image: string;
38
- order: number;
39
- pk: number;
40
- specialimage_set: Array<{
41
- [key: string]: any;
42
- }>;
43
- status: string;
44
- }>;
45
- productvideo_set: Array<{
46
- [key: string]: any;
47
- }>;
48
- retail_price: string;
49
- sku: string;
50
- stock: number;
51
- unit_type: string;
52
- created_date: string;
53
- modified_date: string;
54
- description?: string;
55
- quantity: string;
56
- }
57
-
58
- export interface FavoriteItem {
59
- pk: number;
60
- product: Product;
61
- }
62
-
63
- export type VariantOption = {
64
- in_stock: boolean;
65
- is_selectable: boolean;
66
- is_selectable_without_stock: boolean;
67
- is_selected: boolean;
68
- label: string;
69
- order: string;
70
- product: Product;
71
- value: string;
72
- };
73
-
74
- export type StockResultType = [
75
- {
76
- address: string;
77
- latitude: string;
78
- longitude: string;
79
- name: string;
80
- stock: string;
81
- store_hours: Array<any>;
82
- }
83
- ];
84
-
85
- export type FindInStoreFormType = {
86
- productPk: string;
87
- queryString: string;
88
- };
89
-
90
- export interface ProductCategoryResult {
91
- count: number;
92
- next: string;
93
- previous: null | string;
94
- results: Category[];
95
- }
96
-
97
- export type VariantType = {
98
- attribute_key: Values<any>;
99
- attribute_name: string;
100
- options: Array<VariantOption>;
101
- };
102
-
103
- export type ProductResult = {
104
- in_stock: boolean;
105
- product: Product;
106
- group_products?: Array<Product>;
107
- selected_variant?: Product | null;
108
- variants?: Array<VariantType>;
109
- };
1
+ import { Category } from './category';
2
+
3
+ type Values<T> = T[keyof T];
4
+
5
+ export interface Product {
6
+ absolute_url: string;
7
+ attribute_set: number;
8
+ attributes: {
9
+ [key: string]: any;
10
+ };
11
+ attributes_kwargs: any;
12
+ base_code: string;
13
+ basket_offers: {
14
+ kwargs: { show_benefit_products: boolean };
15
+ label: string;
16
+ listing_kwargs: {
17
+ [key: string]: any;
18
+ };
19
+ pk: number;
20
+ };
21
+ currency_type: string;
22
+ data_source: null;
23
+ extra_attributes: {
24
+ [key: string]: any;
25
+ };
26
+ form_schema: null;
27
+ image?: string;
28
+ in_stock: boolean;
29
+ is_ready_to_basket: boolean;
30
+ name: string;
31
+ pk: number;
32
+ price: string;
33
+ price_type: string;
34
+ product_type: string;
35
+ productimage_set: Array<{
36
+ created_date: Date;
37
+ image: string;
38
+ order: number;
39
+ pk: number;
40
+ specialimage_set: Array<{
41
+ [key: string]: any;
42
+ }>;
43
+ status: string;
44
+ }>;
45
+ productvideo_set: Array<{
46
+ [key: string]: any;
47
+ }>;
48
+ retail_price: string;
49
+ sku: string;
50
+ stock: number;
51
+ unit_type: string;
52
+ created_date: string;
53
+ modified_date: string;
54
+ description?: string;
55
+ quantity: string;
56
+ }
57
+
58
+ export interface FavoriteItem {
59
+ pk: number;
60
+ product: Product;
61
+ }
62
+
63
+ export type VariantOption = {
64
+ in_stock: boolean;
65
+ is_selectable: boolean;
66
+ is_selectable_without_stock: boolean;
67
+ is_selected: boolean;
68
+ label: string;
69
+ order: string;
70
+ product: Product;
71
+ value: string;
72
+ };
73
+
74
+ export type StockResultType = [
75
+ {
76
+ address: string;
77
+ latitude: string;
78
+ longitude: string;
79
+ name: string;
80
+ stock: string;
81
+ store_hours: Array<any>;
82
+ }
83
+ ];
84
+
85
+ export type FindInStoreFormType = {
86
+ productPk: string;
87
+ queryString: string;
88
+ };
89
+
90
+ export interface ProductCategoryResult {
91
+ count: number;
92
+ next: string;
93
+ previous: null | string;
94
+ results: Category[];
95
+ }
96
+
97
+ export type VariantType = {
98
+ attribute_key: Values<any>;
99
+ attribute_name: string;
100
+ options: Array<VariantOption>;
101
+ };
102
+
103
+ export type ProductResult = {
104
+ in_stock: boolean;
105
+ product: Product;
106
+ group_products?: Array<Product>;
107
+ selected_variant?: Product | null;
108
+ variants?: Array<VariantType>;
109
+ };
@@ -1,28 +1,28 @@
1
- import { ImageType } from './misc';
2
- import { Product } from './product';
3
-
4
- export type WidgetType = {
5
- kwargs?: {
6
- data_type?: 'nested';
7
- value?: {
8
- image?: ImageType;
9
- mobile_image?: ImageType;
10
- };
11
- };
12
- value?: {
13
- alt?: string;
14
- image?: string;
15
- mobile_image?: string;
16
- url?: string;
17
- item_slug?: string;
18
- title?: string;
19
- };
20
- };
21
-
22
- export type WidgetResultType<T> = {
23
- attributes?: T;
24
- products?: Array<Product>;
25
- name?: string;
26
- slug?: string;
27
- template?: string;
28
- };
1
+ import { ImageType } from './misc';
2
+ import { Product } from './product';
3
+
4
+ export type WidgetType = {
5
+ kwargs?: {
6
+ data_type?: 'nested';
7
+ value?: {
8
+ image?: ImageType;
9
+ mobile_image?: ImageType;
10
+ };
11
+ };
12
+ value?: {
13
+ alt?: string;
14
+ image?: string;
15
+ mobile_image?: string;
16
+ url?: string;
17
+ item_slug?: string;
18
+ title?: string;
19
+ };
20
+ };
21
+
22
+ export type WidgetResultType<T> = {
23
+ attributes?: T;
24
+ products?: Array<Product>;
25
+ name?: string;
26
+ slug?: string;
27
+ template?: string;
28
+ };
package/types/gtm.ts CHANGED
@@ -1,16 +1,16 @@
1
- export interface GTMEvent {
2
- Action: string;
3
- Category?: string;
4
- Label: string;
5
- Value?: number;
6
- ecommerce: Record<string, any>;
7
- event: `ee${string}`;
8
- }
9
-
10
- export interface GTMUserType {
11
- pk: number;
12
- hashedEmail: string;
13
- dateJoined: string;
14
- gender: string;
15
- emailAllowed: boolean;
16
- }
1
+ export interface GTMEvent {
2
+ Action: string;
3
+ Category?: string;
4
+ Label: string;
5
+ Value?: number;
6
+ ecommerce: Record<string, any>;
7
+ event: `ee${string}`;
8
+ }
9
+
10
+ export interface GTMUserType {
11
+ pk: number;
12
+ hashedEmail: string;
13
+ dateJoined: string;
14
+ gender: string;
15
+ emailAllowed: boolean;
16
+ }