@akinon/next 1.14.0 → 1.14.1

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 (119) hide show
  1. package/.eslintrc.js +40 -40
  2. package/.prettierrc +13 -13
  3. package/CHANGELOG.md +6 -0
  4. package/api/auth.ts +231 -231
  5. package/api/cache.ts +44 -44
  6. package/api/client.ts +174 -174
  7. package/api/logout.ts +42 -42
  8. package/bin/pz-check-dependencies.js +98 -98
  9. package/bin/pz-install-plugins.js +33 -33
  10. package/bin/pz-install-theme.js +58 -58
  11. package/bin/pz-postbuild.js +1 -1
  12. package/bin/pz-postdev.js +1 -1
  13. package/bin/pz-postinstall.js +6 -6
  14. package/bin/pz-poststart.js +1 -1
  15. package/bin/pz-prebuild.js +4 -4
  16. package/bin/pz-predev.js +4 -4
  17. package/bin/pz-prestart.js +1 -1
  18. package/bin/run-script.js +44 -44
  19. package/components/accordion.tsx +52 -52
  20. package/components/button.tsx +46 -46
  21. package/components/client-root.tsx +19 -19
  22. package/components/icon.tsx +18 -18
  23. package/components/image.tsx +133 -133
  24. package/components/index.ts +17 -17
  25. package/components/input.tsx +110 -110
  26. package/components/lazy-component.tsx +33 -33
  27. package/components/loader-spinner.tsx +23 -23
  28. package/components/mobile-app-toggler.tsx +26 -26
  29. package/components/oauth-login.tsx +24 -24
  30. package/components/price.tsx +55 -55
  31. package/components/pz-providers.tsx +24 -24
  32. package/components/pz-root.tsx +21 -21
  33. package/components/radio.tsx +18 -18
  34. package/components/react-portal.tsx +45 -45
  35. package/components/redirect-three-d/content/index.tsx +74 -74
  36. package/components/redirect-three-d/index.tsx +17 -17
  37. package/components/trans.tsx +39 -39
  38. package/data/client/account.ts +208 -208
  39. package/data/client/api.ts +85 -85
  40. package/data/client/basket.ts +82 -82
  41. package/data/client/misc.ts +101 -101
  42. package/data/client/product.ts +89 -89
  43. package/data/client/user.ts +99 -99
  44. package/data/client/wishlist.ts +118 -118
  45. package/data/server/category.ts +132 -132
  46. package/data/server/flatpage.ts +21 -21
  47. package/data/server/form.ts +22 -22
  48. package/data/server/index.ts +10 -10
  49. package/data/server/landingpage.ts +24 -24
  50. package/data/server/list.ts +67 -67
  51. package/data/server/menu.ts +35 -35
  52. package/data/server/product.ts +86 -86
  53. package/data/server/seo.ts +48 -48
  54. package/data/server/special-page.ts +47 -47
  55. package/data/server/widget.ts +27 -27
  56. package/data/urls.ts +221 -221
  57. package/hocs/client/index.ts +1 -1
  58. package/hocs/client/with-segment-defaults.tsx +25 -25
  59. package/hocs/server/index.ts +1 -1
  60. package/hocs/server/with-segment-defaults.tsx +85 -85
  61. package/hooks/index.ts +10 -10
  62. package/hooks/use-captcha.tsx +76 -76
  63. package/hooks/use-common-product-attributes.ts +36 -36
  64. package/hooks/use-debounce.ts +20 -20
  65. package/hooks/use-localization.ts +78 -78
  66. package/hooks/use-media-query.ts +36 -36
  67. package/hooks/use-mobile-iframe-handler.ts +23 -23
  68. package/hooks/use-on-click-outside.tsx +28 -28
  69. package/hooks/use-router.ts +45 -45
  70. package/hooks/use-translation.ts +14 -14
  71. package/lib/cache.ts +215 -215
  72. package/localization/index.ts +5 -5
  73. package/localization/provider.tsx +58 -58
  74. package/middlewares/currency.ts +100 -100
  75. package/middlewares/default.ts +256 -256
  76. package/middlewares/index.ts +29 -29
  77. package/middlewares/locale.ts +68 -68
  78. package/middlewares/oauth-login.ts +79 -79
  79. package/middlewares/pretty-url.ts +104 -104
  80. package/middlewares/redirection-payment.ts +160 -160
  81. package/middlewares/three-d-redirection.ts +159 -159
  82. package/middlewares/url-redirection.ts +65 -65
  83. package/package.json +2 -2
  84. package/redux/hooks.ts +7 -7
  85. package/redux/middlewares/index.ts +50 -50
  86. package/redux/reducers/checkout.ts +184 -184
  87. package/redux/reducers/config.ts +28 -28
  88. package/redux/reducers/header.ts +59 -59
  89. package/redux/reducers/root.ts +61 -61
  90. package/sentry/index.ts +27 -27
  91. package/tailwind/rtl.js +137 -137
  92. package/types/commerce/account.ts +64 -64
  93. package/types/commerce/address.ts +94 -94
  94. package/types/commerce/basket.ts +43 -43
  95. package/types/commerce/category.ts +114 -114
  96. package/types/commerce/checkout.ts +143 -143
  97. package/types/commerce/flatpage.ts +7 -7
  98. package/types/commerce/form.ts +66 -66
  99. package/types/commerce/index.ts +12 -12
  100. package/types/commerce/landingpage.ts +7 -7
  101. package/types/commerce/misc.ts +127 -127
  102. package/types/commerce/order.ts +119 -119
  103. package/types/commerce/product.ts +109 -109
  104. package/types/commerce/widget.ts +28 -28
  105. package/types/gtm.ts +16 -16
  106. package/types/index.ts +274 -274
  107. package/types/metadata.ts +7 -7
  108. package/types/next-auth.d.ts +24 -24
  109. package/utils/app-fetch.ts +69 -69
  110. package/utils/deep-merge.js +24 -24
  111. package/utils/image-loader.ts +31 -31
  112. package/utils/index.ts +150 -150
  113. package/utils/localization.ts +29 -29
  114. package/utils/log.ts +138 -138
  115. package/utils/menu-generator.ts +27 -27
  116. package/utils/mobile-3d-iframe.ts +77 -77
  117. package/utils/server-translation.ts +57 -57
  118. package/utils/server-variables.ts +9 -9
  119. 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
+ }