@doyourjob/gravity-ui-page-constructor-addons 2.1.31 → 2.1.33

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 (69) hide show
  1. package/build/cjs/components/NewHeader/components/NHDefaultPopup/NHDefaultPopup.css +167 -0
  2. package/build/cjs/components/NewHeader/components/NHDefaultPopup/NHDefaultPopup.d.ts +3 -0
  3. package/build/cjs/components/NewHeader/components/NHDefaultPopup/NHDefaultPopup.js +63 -0
  4. package/build/cjs/components/NewHeader/components/NHLoginPopup/NHLoginPopup.css +5 -31
  5. package/build/cjs/components/NewHeader/components/NHLoginPopup/NHLoginPopup.js +3 -4
  6. package/build/cjs/components/NewHeader/components/NHNavigation/NHNavigation.js +5 -21
  7. package/build/cjs/components/NewHeader/components/NHPopupItem/NHPopupItem.css +29 -3
  8. package/build/cjs/components/NewHeader/components/NHPopupItem/NHPopupItem.d.ts +0 -2
  9. package/build/cjs/components/NewHeader/components/NHPopupItem/NHPopupItem.js +5 -3
  10. package/build/cjs/components/NewHeader/components/NHProductsPopup/NHProductsPopup.css +1 -2
  11. package/build/cjs/components/NewHeader/components/NHProductsPopup/NHProductsPopup.js +5 -5
  12. package/build/cjs/components/NewHeader/models.d.ts +31 -111
  13. package/build/cjs/components/NewHeader/models.js +2 -13
  14. package/build/esm/components/NewHeader/components/NHDefaultPopup/NHDefaultPopup.css +167 -0
  15. package/build/esm/components/NewHeader/components/NHDefaultPopup/NHDefaultPopup.d.ts +4 -0
  16. package/build/esm/components/NewHeader/components/NHDefaultPopup/NHDefaultPopup.js +59 -0
  17. package/build/esm/components/NewHeader/components/NHLoginPopup/NHLoginPopup.css +5 -31
  18. package/build/esm/components/NewHeader/components/NHLoginPopup/NHLoginPopup.js +3 -4
  19. package/build/esm/components/NewHeader/components/NHNavigation/NHNavigation.js +6 -22
  20. package/build/esm/components/NewHeader/components/NHPopupItem/NHPopupItem.css +29 -3
  21. package/build/esm/components/NewHeader/components/NHPopupItem/NHPopupItem.d.ts +0 -2
  22. package/build/esm/components/NewHeader/components/NHPopupItem/NHPopupItem.js +5 -3
  23. package/build/esm/components/NewHeader/components/NHProductsPopup/NHProductsPopup.css +1 -2
  24. package/build/esm/components/NewHeader/components/NHProductsPopup/NHProductsPopup.js +5 -5
  25. package/build/esm/components/NewHeader/models.d.ts +31 -111
  26. package/build/esm/components/NewHeader/models.js +1 -12
  27. package/package.json +2 -2
  28. package/build/cjs/components/NewHeader/components/NHCompanyPopup/NHCompanyPopup.css +0 -30
  29. package/build/cjs/components/NewHeader/components/NHCompanyPopup/NHCompanyPopup.d.ts +0 -3
  30. package/build/cjs/components/NewHeader/components/NHCompanyPopup/NHCompanyPopup.js +0 -18
  31. package/build/cjs/components/NewHeader/components/NHInvestorPopup/NHInvestorPopup.css +0 -86
  32. package/build/cjs/components/NewHeader/components/NHInvestorPopup/NHInvestorPopup.d.ts +0 -3
  33. package/build/cjs/components/NewHeader/components/NHInvestorPopup/NHInvestorPopup.js +0 -22
  34. package/build/cjs/components/NewHeader/components/NHMediumPopup/NHMediumPopup.css +0 -8
  35. package/build/cjs/components/NewHeader/components/NHMediumPopup/NHMediumPopup.d.ts +0 -3
  36. package/build/cjs/components/NewHeader/components/NHMediumPopup/NHMediumPopup.js +0 -13
  37. package/build/cjs/components/NewHeader/components/NHResourcesPopup/NHResourcesPopup.css +0 -209
  38. package/build/cjs/components/NewHeader/components/NHResourcesPopup/NHResourcesPopup.d.ts +0 -3
  39. package/build/cjs/components/NewHeader/components/NHResourcesPopup/NHResourcesPopup.js +0 -42
  40. package/build/cjs/components/NewHeader/components/NHSolutionsPopup/NHSolutionsPopup.css +0 -48
  41. package/build/cjs/components/NewHeader/components/NHSolutionsPopup/NHSolutionsPopup.d.ts +0 -3
  42. package/build/cjs/components/NewHeader/components/NHSolutionsPopup/NHSolutionsPopup.js +0 -17
  43. package/build/cjs/components/NewHeader/components/NHTag/NHTag.css +0 -21
  44. package/build/cjs/components/NewHeader/components/NHTag/NHTag.d.ts +0 -6
  45. package/build/cjs/components/NewHeader/components/NHTag/NHTag.js +0 -22
  46. package/build/cjs/components/NewHeader/components/NHWhyPopup/NHWhyPopup.css +0 -80
  47. package/build/cjs/components/NewHeader/components/NHWhyPopup/NHWhyPopup.d.ts +0 -3
  48. package/build/cjs/components/NewHeader/components/NHWhyPopup/NHWhyPopup.js +0 -21
  49. package/build/esm/components/NewHeader/components/NHCompanyPopup/NHCompanyPopup.css +0 -30
  50. package/build/esm/components/NewHeader/components/NHCompanyPopup/NHCompanyPopup.d.ts +0 -4
  51. package/build/esm/components/NewHeader/components/NHCompanyPopup/NHCompanyPopup.js +0 -14
  52. package/build/esm/components/NewHeader/components/NHInvestorPopup/NHInvestorPopup.css +0 -86
  53. package/build/esm/components/NewHeader/components/NHInvestorPopup/NHInvestorPopup.d.ts +0 -4
  54. package/build/esm/components/NewHeader/components/NHInvestorPopup/NHInvestorPopup.js +0 -18
  55. package/build/esm/components/NewHeader/components/NHMediumPopup/NHMediumPopup.css +0 -8
  56. package/build/esm/components/NewHeader/components/NHMediumPopup/NHMediumPopup.d.ts +0 -4
  57. package/build/esm/components/NewHeader/components/NHMediumPopup/NHMediumPopup.js +0 -9
  58. package/build/esm/components/NewHeader/components/NHResourcesPopup/NHResourcesPopup.css +0 -209
  59. package/build/esm/components/NewHeader/components/NHResourcesPopup/NHResourcesPopup.d.ts +0 -4
  60. package/build/esm/components/NewHeader/components/NHResourcesPopup/NHResourcesPopup.js +0 -38
  61. package/build/esm/components/NewHeader/components/NHSolutionsPopup/NHSolutionsPopup.css +0 -48
  62. package/build/esm/components/NewHeader/components/NHSolutionsPopup/NHSolutionsPopup.d.ts +0 -4
  63. package/build/esm/components/NewHeader/components/NHSolutionsPopup/NHSolutionsPopup.js +0 -13
  64. package/build/esm/components/NewHeader/components/NHTag/NHTag.css +0 -21
  65. package/build/esm/components/NewHeader/components/NHTag/NHTag.d.ts +0 -7
  66. package/build/esm/components/NewHeader/components/NHTag/NHTag.js +0 -18
  67. package/build/esm/components/NewHeader/components/NHWhyPopup/NHWhyPopup.css +0 -80
  68. package/build/esm/components/NewHeader/components/NHWhyPopup/NHWhyPopup.d.ts +0 -4
  69. package/build/esm/components/NewHeader/components/NHWhyPopup/NHWhyPopup.js +0 -17
@@ -1,53 +1,24 @@
1
1
  import type { ButtonProps, LinkProps } from '@doyourjob/gravity-ui-page-constructor';
2
2
  export declare enum NHNavigationItemType {
3
- NHMediumPopup = "medium-popup",
4
3
  NHProductsPopup = "products-popup",
5
- NHSolutionsPopup = "solutions-popup",
6
- NHWhyPopup = "why-popup",
7
- NHResourcesPopup = "resources-popup",
8
- NHCompanyPopup = "company-popup",
9
- NHInvestorPopup = "investor-popup",
4
+ NHDefaultPopup = "default-popup",
10
5
  Link = "link"
11
6
  }
12
- export declare enum NHNavigationTagColor {
13
- Green = "green",
14
- Yellow = "yellow",
15
- Blue = "blue"
16
- }
17
7
  export interface NHLogoData {
18
8
  href?: string;
19
9
  src?: string;
20
10
  alt?: string;
21
11
  }
22
- export interface NHNavigationTag {
23
- text: string;
24
- color?: string;
25
- textColor?: string;
26
- size?: 's' | 'm';
27
- }
28
12
  export interface NHPopupItemData {
29
13
  title: string;
30
14
  url: string;
31
15
  slug?: string;
32
16
  description?: string;
33
17
  image?: string | null;
18
+ imageMobile?: string | null;
34
19
  imageColor?: string;
35
20
  imageColorHover?: string;
36
- }
37
- export interface NHCategoryGroupData {
38
- title?: string;
39
- items: NHPopupItemData[];
40
- imageSize?: 's' | 'xm' | 'm';
41
- url?: string;
42
- }
43
- export interface NHMediumPopupData {
44
- groups: NHCategoryGroupData[];
45
- }
46
- export interface NHBannerData {
47
- title: string;
48
- description: string;
49
- image: string;
50
- url: string;
21
+ target?: string;
51
22
  }
52
23
  export interface NHProductBannerData {
53
24
  title: string;
@@ -70,75 +41,44 @@ export interface NHProductsPopupSectionScale extends NHProductsPopupSectionBase
70
41
  mode: 'scale';
71
42
  banner?: NHProductBannerData;
72
43
  }
44
+ export type NHProductsPopupSection = NHProductsPopupSectionRun | NHProductsPopupSectionScale | NHProductsPopupSectionBase;
73
45
  export interface NHProductsPopupData {
74
46
  primaryColor?: string;
75
47
  primaryColorHover?: string;
76
- sections: (NHProductsPopupSectionRun | NHProductsPopupSectionBase | NHProductsPopupSectionScale)[];
48
+ sections: NHProductsPopupSection[];
77
49
  }
78
- export interface NHSolutionsPopupSection {
50
+ export interface NHDefaultPopupSection {
79
51
  title: string;
80
52
  subtitle: string;
81
53
  items: NHPopupItemData[];
54
+ columns?: number;
82
55
  }
83
- export interface NHSolutionsPopupData {
84
- sections: NHSolutionsPopupSection[];
85
- }
86
- export interface NHWhyPopupGroup {
87
- title: string;
88
- items: NHPopupItemData[];
89
- }
90
- export interface NHWhyPopupData {
91
- groups: NHWhyPopupGroup[];
92
- card: NHBannerData;
93
- }
94
- export interface NHBannerData {
56
+ export interface NHStoryCardData {
95
57
  title: string;
96
58
  description: string;
97
59
  image: string;
98
- icon: string;
99
60
  url: string;
100
61
  }
101
62
  export interface NHEventCardData {
102
- url: string;
103
- tag: string;
104
63
  title: string;
105
- date: string;
64
+ caption: string;
65
+ description: string;
106
66
  image: string;
107
- location: string;
108
- }
109
- export interface NHResourcesPopupGroup {
110
- title: string;
111
- subtitle: string;
112
67
  url: string;
113
- items: NHPopupItemData[];
114
68
  }
115
- export interface NHResourcesPopupData {
116
- groups: NHResourcesPopupGroup[];
117
- banner: NHBannerData;
118
- events: {
69
+ export interface NHDefaultPopupData {
70
+ sections: NHDefaultPopupSection[];
71
+ maxWidth?: number;
72
+ primaryColor?: string;
73
+ primaryColorHover?: string;
74
+ right?: {
119
75
  title: string;
120
- items: NHEventCardData[];
76
+ stories?: NHStoryCardData[];
77
+ events?: NHEventCardData[];
78
+ stock?: boolean;
79
+ stockImage?: string;
121
80
  };
122
81
  }
123
- export interface NHCompanyPopupSection {
124
- title: string;
125
- items: NHPopupItemData[];
126
- }
127
- export interface NHCompanyPopupData {
128
- sections: NHCompanyPopupSection[];
129
- }
130
- export interface NHStockData {
131
- title: string;
132
- price: string;
133
- date: string;
134
- }
135
- export interface NHInvestorPopupData {
136
- title: string;
137
- subtitle: string;
138
- url: string;
139
- items: NHPopupItemData[];
140
- stock: NHStockData;
141
- }
142
82
  export interface NHLoginItemData {
143
83
  title: string;
144
84
  subtitle: string;
@@ -146,7 +86,7 @@ export interface NHLoginItemData {
146
86
  }
147
87
  export interface NHLoginPopupData {
148
88
  text: string;
149
- items: NHLoginItemData[];
89
+ items: NHPopupItemData[];
150
90
  }
151
91
  export interface NHNavigationDefaultData {
152
92
  title: string;
@@ -155,35 +95,15 @@ export interface NHNavigationLinkData extends NHNavigationDefaultData {
155
95
  type: NHNavigationItemType.Link;
156
96
  data: LinkProps;
157
97
  }
158
- export interface NHNavigationMediumPopupData extends NHNavigationDefaultData {
159
- type: NHNavigationItemType.NHMediumPopup;
160
- data: NHMediumPopupData;
161
- }
162
98
  export interface NHNavigationProductsPopupData extends NHNavigationDefaultData {
163
99
  type: NHNavigationItemType.NHProductsPopup;
164
100
  data: NHProductsPopupData;
165
101
  }
166
- export interface NHNavigationSolutionsPopupData extends NHNavigationDefaultData {
167
- type: NHNavigationItemType.NHSolutionsPopup;
168
- data: NHSolutionsPopupData;
169
- }
170
- export interface NHNavigationWhyPopupData extends NHNavigationDefaultData {
171
- type: NHNavigationItemType.NHWhyPopup;
172
- data: NHWhyPopupData;
173
- }
174
- export interface NHNavigationResourcesPopupData extends NHNavigationDefaultData {
175
- type: NHNavigationItemType.NHResourcesPopup;
176
- data: NHResourcesPopupData;
177
- }
178
- export interface NHNavigationCompanyPopupData extends NHNavigationDefaultData {
179
- type: NHNavigationItemType.NHCompanyPopup;
180
- data: NHCompanyPopupData;
181
- }
182
- export interface NHNavigationInvestorPopupData extends NHNavigationDefaultData {
183
- type: NHNavigationItemType.NHInvestorPopup;
184
- data: NHInvestorPopupData;
102
+ export interface NHNavigationDefaultPopupData extends NHNavigationDefaultData {
103
+ type: NHNavigationItemType.NHDefaultPopup;
104
+ data: NHDefaultPopupData;
185
105
  }
186
- export type NHNavigationItemData = NHNavigationLinkData | NHNavigationMediumPopupData | NHNavigationProductsPopupData | NHNavigationSolutionsPopupData | NHNavigationWhyPopupData | NHNavigationResourcesPopupData | NHNavigationCompanyPopupData | NHNavigationInvestorPopupData;
106
+ export type NHNavigationItemData = NHNavigationLinkData | NHNavigationProductsPopupData | NHNavigationDefaultPopupData;
187
107
  export interface NHMobileNavigationDefaultData {
188
108
  title: string;
189
109
  }
@@ -201,11 +121,11 @@ export interface NHMobileNavigationGroupData extends NHMobileNavigationDefaultDa
201
121
  }
202
122
  export type NHMobileNavigationItemData = NHMobileNavigationLinkData | NHMobileNavigationGroupData;
203
123
  export interface NHNavigationData {
204
- left: NHNavigationItemData[];
205
- right: NHNavigationItemData[];
206
- mobile: NHMobileNavigationItemData[];
207
- login: NHLoginPopupData;
208
- logo: NHLogoData;
209
- buttons: ButtonProps[];
124
+ left?: NHNavigationItemData[];
125
+ right?: NHNavigationItemData[];
126
+ mobile?: NHMobileNavigationItemData[];
127
+ login?: NHLoginPopupData;
128
+ logo?: NHLogoData;
129
+ buttons?: ButtonProps[];
210
130
  }
211
131
  export type SetupRouteChangeHandler = (handler: () => void) => void;
@@ -1,20 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NHNavigationTagColor = exports.NHNavigationItemType = void 0;
3
+ exports.NHNavigationItemType = void 0;
4
4
  var NHNavigationItemType;
5
5
  (function (NHNavigationItemType) {
6
- NHNavigationItemType["NHMediumPopup"] = "medium-popup";
7
6
  NHNavigationItemType["NHProductsPopup"] = "products-popup";
8
- NHNavigationItemType["NHSolutionsPopup"] = "solutions-popup";
9
- NHNavigationItemType["NHWhyPopup"] = "why-popup";
10
- NHNavigationItemType["NHResourcesPopup"] = "resources-popup";
11
- NHNavigationItemType["NHCompanyPopup"] = "company-popup";
12
- NHNavigationItemType["NHInvestorPopup"] = "investor-popup";
7
+ NHNavigationItemType["NHDefaultPopup"] = "default-popup";
13
8
  NHNavigationItemType["Link"] = "link";
14
9
  })(NHNavigationItemType = exports.NHNavigationItemType || (exports.NHNavigationItemType = {}));
15
- var NHNavigationTagColor;
16
- (function (NHNavigationTagColor) {
17
- NHNavigationTagColor["Green"] = "green";
18
- NHNavigationTagColor["Yellow"] = "yellow";
19
- NHNavigationTagColor["Blue"] = "blue";
20
- })(NHNavigationTagColor = exports.NHNavigationTagColor || (exports.NHNavigationTagColor = {}));
@@ -0,0 +1,167 @@
1
+ /* use this for style redefinitions to awoid problems with
2
+ unpredictable css rules order in build */
3
+ .pc-addons-nh-default-popup {
4
+ background: var(--g-color-base-float);
5
+ box-shadow: 0 4px 24px var(--g-color-base-generic), 0 2px 8px var(--g-color-base-generic);
6
+ max-height: calc(100vh - 64px - 64px);
7
+ overflow: auto;
8
+ width: 100%;
9
+ border-radius: var(--pc-border-radius, 24px);
10
+ scrollbar-width: none;
11
+ display: flex;
12
+ }
13
+
14
+ .pc-addons-nh-default-popup::-webkit-scrollbar {
15
+ display: none;
16
+ }
17
+
18
+ .pc-addons-nh-default-popup__head {
19
+ display: flex;
20
+ align-items: baseline;
21
+ column-gap: 12px;
22
+ row-gap: 2px;
23
+ flex-wrap: wrap;
24
+ }
25
+
26
+ .pc-addons-nh-default-popup__title {
27
+ font-size: var(--g-text-body-3-font-size, var(--pc-text-body-3-font-size));
28
+ line-height: var(--g-text-body-3-line-height, var(--pc-text-body-3-line-height));
29
+ color: var(--g-color-text-primary);
30
+ font-weight: 500;
31
+ }
32
+
33
+ .pc-addons-nh-default-popup__subtitle {
34
+ font-size: var(--g-text-body-1-font-size, var(--pc-text-body-1-font-size));
35
+ line-height: var(--g-text-body-1-line-height, var(--pc-text-body-1-line-height));
36
+ color: var(--g-color-text-secondary);
37
+ }
38
+
39
+ .pc-addons-nh-default-popup__left {
40
+ flex: 1;
41
+ }
42
+
43
+ .pc-addons-nh-default-popup__left > div + div {
44
+ border-top: 1px solid var(--g-color-line-generic-solid);
45
+ }
46
+
47
+ .pc-addons-nh-default-popup__section {
48
+ display: flex;
49
+ padding: 24px 32px;
50
+ flex-direction: column;
51
+ gap: 24px;
52
+ }
53
+
54
+ .pc-addons-nh-default-popup__wrap {
55
+ display: grid;
56
+ gap: 24px 40px;
57
+ align-items: flex-start;
58
+ }
59
+
60
+ .pc-addons-nh-default-popup__right {
61
+ width: 100%;
62
+ max-width: 320px;
63
+ flex-shrink: 0;
64
+ border-left: 1px solid var(--g-color-line-generic-solid);
65
+ display: flex;
66
+ flex-direction: column;
67
+ padding: 24px 32px;
68
+ gap: 20px;
69
+ }
70
+
71
+ .pc-addons-nh-default-popup__cards {
72
+ display: flex;
73
+ flex-direction: column;
74
+ gap: 24px;
75
+ }
76
+
77
+ .pc-addons-nh-default-popup__card {
78
+ color: inherit;
79
+ text-decoration: none;
80
+ border-radius: 16px;
81
+ display: flex;
82
+ flex-direction: column;
83
+ gap: 12px;
84
+ cursor: pointer;
85
+ transition: opacity 0.2s;
86
+ }
87
+
88
+ .pc-addons-nh-default-popup__card:hover {
89
+ opacity: 0.8;
90
+ }
91
+
92
+ .pc-addons-nh-default-popup__card-wrap {
93
+ display: flex;
94
+ flex-direction: column;
95
+ gap: 4px;
96
+ }
97
+
98
+ .pc-addons-nh-default-popup__card-caption {
99
+ font-size: var(--g-text-body-1-font-size, var(--pc-text-body-1-font-size));
100
+ line-height: var(--g-text-body-1-line-height, var(--pc-text-body-1-line-height));
101
+ color: var(--g-color-text-secondary);
102
+ }
103
+
104
+ .pc-addons-nh-default-popup__card-title {
105
+ font-size: var(--g-text-body-2-font-size, var(--pc-text-body-2-font-size));
106
+ line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
107
+ color: var(--g-color-text-primary);
108
+ font-weight: 600;
109
+ }
110
+
111
+ .pc-addons-nh-default-popup__card-description {
112
+ font-size: var(--g-text-body-1-font-size, var(--pc-text-body-1-font-size));
113
+ line-height: var(--g-text-body-1-line-height, var(--pc-text-body-1-line-height));
114
+ color: var(--g-color-text-secondary);
115
+ }
116
+
117
+ .pc-addons-nh-default-popup__card-image {
118
+ display: block;
119
+ width: 100%;
120
+ aspect-ratio: 16/9;
121
+ object-fit: cover;
122
+ }
123
+
124
+ .pc-addons-nh-default-popup__stock {
125
+ position: relative;
126
+ padding: 20px;
127
+ display: flex;
128
+ flex-direction: column;
129
+ min-height: 310px;
130
+ border-radius: 8px;
131
+ }
132
+
133
+ .pc-addons-nh-default-popup__stock-background {
134
+ position: absolute;
135
+ top: 0;
136
+ left: 0;
137
+ width: 100%;
138
+ height: 100%;
139
+ object-fit: cover;
140
+ display: block;
141
+ }
142
+
143
+ .pc-addons-nh-default-popup__stock-title {
144
+ font-size: var(--g-text-body-2-font-size, var(--pc-text-body-2-font-size));
145
+ line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
146
+ color: var(--g-color-text-primary);
147
+ font-weight: 600;
148
+ z-index: 1;
149
+ margin-bottom: 4px;
150
+ }
151
+
152
+ .pc-addons-nh-default-popup__stock-value {
153
+ color: var(--g-color-text-primary);
154
+ font-size: 36px;
155
+ line-height: 48px;
156
+ font-weight: 600;
157
+ z-index: 1;
158
+ margin-top: auto;
159
+ }
160
+
161
+ .pc-addons-nh-default-popup__stock-date {
162
+ font-size: var(--g-text-body-1-font-size, var(--pc-text-body-1-font-size));
163
+ line-height: var(--g-text-body-1-line-height, var(--pc-text-body-1-line-height));
164
+ color: var(--g-color-text-secondary);
165
+ z-index: 1;
166
+ margin-top: 4px;
167
+ }
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { NHDefaultPopupData } from '../../models';
3
+ import './NHDefaultPopup.css';
4
+ export declare const NHDefaultPopup: ({ sections, right, maxWidth, primaryColor, primaryColorHover, }: NHDefaultPopupData) => React.JSX.Element;
@@ -0,0 +1,59 @@
1
+ import React, { useContext, useMemo } from 'react';
2
+ import { HeaderStockContext, Image, getLinkProps } from '@doyourjob/gravity-ui-page-constructor';
3
+ import { block } from '../../../../utils/cn';
4
+ import { NHPopupItem } from '../NHPopupItem/NHPopupItem';
5
+ import './NHDefaultPopup.css';
6
+ const b = block('nh-default-popup');
7
+ const NHStoryCard = ({ title, description, image, url }) => (React.createElement("a", Object.assign({ href: url, className: b('card') }, getLinkProps(url)),
8
+ React.createElement(Image, { className: b('card-image'), src: image }),
9
+ React.createElement("div", { className: b('card-wrap') },
10
+ React.createElement("div", { className: b('card-title') }, title),
11
+ React.createElement("div", { className: b('card-description') }, description))));
12
+ const NHEventCard = ({ title, caption, description, image, url }) => (React.createElement("a", Object.assign({ href: url, className: b('card') }, getLinkProps(url)),
13
+ React.createElement(Image, { className: b('card-image'), src: image }),
14
+ React.createElement("div", { className: b('card-wrap') },
15
+ React.createElement("div", { className: b('card-caption') }, caption),
16
+ React.createElement("div", { className: b('card-title') }, title),
17
+ React.createElement("div", { className: b('card-description') }, description))));
18
+ const NHStock = ({ background }) => {
19
+ const data = useContext(HeaderStockContext);
20
+ if (!data.price)
21
+ return null;
22
+ return (React.createElement("div", { className: b('stock') },
23
+ background ? (React.createElement("img", { className: b('stock-background'), src: background, alt: "Stock background" })) : null,
24
+ React.createElement("div", { className: b('stock-title') }, data.price.name),
25
+ React.createElement("div", { className: b('stock-title') }, data.price.percent),
26
+ React.createElement("div", { className: b('stock-value') }, data.price.price),
27
+ React.createElement("div", { className: b('stock-date') }, data.price.update),
28
+ React.createElement("div", { className: b('stock-date') }, data.price.delayed)));
29
+ };
30
+ export const NHDefaultPopup = ({ sections, right, maxWidth, primaryColor, primaryColorHover, }) => {
31
+ const rootStyle = useMemo(() => maxWidth
32
+ ? {
33
+ marginLeft: 'auto',
34
+ maxWidth,
35
+ }
36
+ : undefined, [maxWidth]);
37
+ const wrapsStyle = useMemo(() => sections.map((section) => ({
38
+ gridTemplateColumns: `repeat(${section.columns || 3}, 1fr)`,
39
+ })), [sections]);
40
+ const cards = useMemo(() => {
41
+ if (right === null || right === void 0 ? void 0 : right.stories) {
42
+ return right.stories.map((card, index) => React.createElement(NHStoryCard, Object.assign({ key: index }, card)));
43
+ }
44
+ if (right === null || right === void 0 ? void 0 : right.events) {
45
+ return right.events.map((card, index) => React.createElement(NHEventCard, Object.assign({ key: index }, card)));
46
+ }
47
+ return null;
48
+ }, [right]);
49
+ return (React.createElement("div", { className: b(), style: rootStyle },
50
+ React.createElement("div", { className: b('left') }, sections.map((section, index) => (React.createElement("div", { key: index, className: b('section') },
51
+ section.title || section.subtitle ? (React.createElement("div", { className: b('head') },
52
+ React.createElement("div", { className: b('title') }, section.title),
53
+ React.createElement("div", { className: b('subtitle') }, section.subtitle))) : null,
54
+ React.createElement("div", { className: b('wrap'), style: wrapsStyle[index] }, section.items.map((item) => (React.createElement(NHPopupItem, Object.assign({ key: item.title }, item, { imageColor: primaryColor, imageColorHover: primaryColorHover }))))))))),
55
+ right && (React.createElement("div", { className: b('right') },
56
+ React.createElement("div", { className: b('title') }, right.title),
57
+ cards && React.createElement("div", { className: b('cards') }, cards),
58
+ right.stock && React.createElement(NHStock, { background: right.stockImage })))));
59
+ };
@@ -6,9 +6,9 @@ unpredictable css rules order in build */
6
6
  box-shadow: 0 4px 24px var(--g-color-base-generic), 0 2px 8px var(--g-color-base-generic);
7
7
  max-height: calc(100vh - 64px - 64px);
8
8
  overflow: auto;
9
- max-width: 260px;
10
9
  margin-left: auto;
11
- width: 100%;
10
+ width: max-content;
11
+ min-width: 212px;
12
12
  scrollbar-width: none;
13
13
  }
14
14
 
@@ -16,36 +16,10 @@ unpredictable css rules order in build */
16
16
  display: none;
17
17
  }
18
18
 
19
- .pc-addons-nh-login-popup__container {
20
- padding: 8px;
21
- gap: 8px;
22
- display: flex;
23
- flex-direction: column;
19
+ .pc-addons-nh-login-popup > div + div {
20
+ border-top: 1px solid var(--g-color-line-generic-solid);
24
21
  }
25
22
 
26
23
  .pc-addons-nh-login-popup__item {
27
- padding: 8px;
28
- display: flex;
29
- flex-direction: column;
30
- gap: 4px;
31
- width: 100%;
32
- border-radius: 8px;
33
- cursor: pointer;
34
- }
35
-
36
- .pc-addons-nh-login-popup__item:hover {
37
- background: var(--g-color-private-black-50);
38
- }
39
-
40
- .pc-addons-nh-login-popup__title {
41
- font-size: var(--g-text-body-2-font-size, var(--pc-text-body-2-font-size));
42
- line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
43
- font-weight: 500;
44
- }
45
-
46
- .pc-addons-nh-login-popup__subtitle {
47
- font-size: var(--g-text-body-2-font-size, var(--pc-text-body-2-font-size));
48
- line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
49
- font-weight: 500;
50
- color: #9fb1bd;
24
+ padding: 16px;
51
25
  }
@@ -1,8 +1,7 @@
1
1
  import React from 'react';
2
- import { Grid, getLinkProps } from '@doyourjob/gravity-ui-page-constructor';
3
2
  import { block } from '../../../../utils/cn';
3
+ import { NHPopupItem } from '../NHPopupItem/NHPopupItem';
4
4
  import './NHLoginPopup.css';
5
5
  const b = block('nh-login-popup');
6
- export const NHLoginPopup = ({ items }) => (React.createElement(Grid, { className: b(), containerClass: b('container') }, items.map((item) => (React.createElement("a", Object.assign({ href: item.url, className: b('item'), key: item.title }, getLinkProps(item.url || '')),
7
- React.createElement("div", { className: b('title') }, item.title),
8
- React.createElement("div", { className: b('subtitle') }, item.subtitle))))));
6
+ export const NHLoginPopup = ({ items }) => (React.createElement("div", { className: b() }, items.map((item, index) => (React.createElement("div", { key: index, className: b('item') },
7
+ React.createElement(NHPopupItem, Object.assign({}, item)))))));
@@ -1,36 +1,20 @@
1
1
  import React, { useCallback, useEffect, useState } from 'react';
2
2
  import { block } from '../../../../utils/cn';
3
3
  import { NO_MENU_TAB_SELECTED, SWITCH_MENU_TAB_TIMEOUT } from '../../constants';
4
- import { NHNavigationItemType, } from '../../models';
5
- import { NHCompanyPopup } from '../NHCompanyPopup/NHCompanyPopup';
6
- import { NHInvestorPopup } from '../NHInvestorPopup/NHInvestorPopup';
7
- import { NHMediumPopup } from '../NHMediumPopup/NHMediumPopup';
4
+ import { NHNavigationItemType } from '../../models';
5
+ import { NHDefaultPopup } from '../NHDefaultPopup/NHDefaultPopup';
8
6
  import { NHNavigationItem } from '../NHNavigationItem/NHNavigationItem';
9
7
  import { NHNavigationPopup } from '../NHNavigationPopup/NHNavigationPopup';
10
8
  import { NHProductsPopup } from '../NHProductsPopup/NHProductsPopup';
11
- import { NHResourcesPopup } from '../NHResourcesPopup/NHResourcesPopup';
12
- import { NHSolutionsPopup } from '../NHSolutionsPopup/NHSolutionsPopup';
13
- import { NHWhyPopup } from '../NHWhyPopup/NHWhyPopup';
14
9
  import './NHNavigation.css';
15
10
  const b = block('nh-navigation');
16
11
  const tooltipPrefixId = 'navigation-item-key';
17
12
  const getPopupContent = (sectionData) => {
18
- const { type, data } = sectionData;
19
- switch (type) {
20
- case NHNavigationItemType.NHMediumPopup:
21
- return React.createElement(NHMediumPopup, Object.assign({}, data));
13
+ switch (sectionData.type) {
22
14
  case NHNavigationItemType.NHProductsPopup:
23
- return React.createElement(NHProductsPopup, Object.assign({}, data));
24
- case NHNavigationItemType.NHSolutionsPopup:
25
- return React.createElement(NHSolutionsPopup, Object.assign({}, data));
26
- case NHNavigationItemType.NHWhyPopup:
27
- return React.createElement(NHWhyPopup, Object.assign({}, data));
28
- case NHNavigationItemType.NHResourcesPopup:
29
- return React.createElement(NHResourcesPopup, Object.assign({}, data));
30
- case NHNavigationItemType.NHCompanyPopup:
31
- return React.createElement(NHCompanyPopup, Object.assign({}, data));
32
- case NHNavigationItemType.NHInvestorPopup:
33
- return React.createElement(NHInvestorPopup, Object.assign({}, data));
15
+ return React.createElement(NHProductsPopup, Object.assign({}, sectionData.data));
16
+ case NHNavigationItemType.NHDefaultPopup:
17
+ return React.createElement(NHDefaultPopup, Object.assign({}, sectionData.data));
34
18
  default:
35
19
  return null;
36
20
  }
@@ -26,6 +26,10 @@ unpredictable css rules order in build */
26
26
  border: none;
27
27
  }
28
28
 
29
+ .pc-addons-nh-navigation-popup-item_column .pc-addons-nh-navigation-popup-item__container {
30
+ align-self: initial;
31
+ }
32
+
29
33
  .pc-addons-nh-navigation-popup-item:hover .pc-addons-nh-navigation-popup-item__description, .pc-addons-nh-navigation-popup-item:active .pc-addons-nh-navigation-popup-item__description {
30
34
  color: var(--g-color-text-primary);
31
35
  }
@@ -35,14 +39,20 @@ unpredictable css rules order in build */
35
39
  }
36
40
 
37
41
  .pc-addons-nh-navigation-popup-item:hover .pc-addons-nh-navigation-popup-item__title > svg, .pc-addons-nh-navigation-popup-item:active .pc-addons-nh-navigation-popup-item__title > svg {
38
- display: inline-block;
42
+ pointer-events: initial;
43
+ opacity: 1;
39
44
  }
40
45
 
41
46
  .pc-addons-nh-navigation-popup-item_disable {
42
47
  pointer-events: none;
43
48
  }
44
49
 
50
+ .pc-addons-nh-navigation-popup-item__container {
51
+ align-self: center;
52
+ }
53
+
45
54
  .pc-addons-nh-navigation-popup-item__title {
55
+ position: relative;
46
56
  font-size: var(--g-text-body-2-font-size, var(--pc-text-body-2-font-size));
47
57
  line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
48
58
  font-weight: 600;
@@ -50,13 +60,18 @@ unpredictable css rules order in build */
50
60
  }
51
61
 
52
62
  .pc-addons-nh-navigation-popup-item__title > svg {
53
- display: none;
54
- vertical-align: sub;
63
+ display: inline-block;
64
+ position: absolute;
65
+ margin-top: 3px;
66
+ transition: opacity 0.2s;
67
+ opacity: 0;
68
+ pointer-events: none;
55
69
  }
56
70
 
57
71
  .pc-addons-nh-navigation-popup-item__description {
58
72
  font-size: var(--g-text-body-1-font-size, var(--pc-text-body-1-font-size));
59
73
  line-height: var(--g-text-body-1-line-height, var(--pc-text-body-1-line-height));
74
+ transition: color 0.2s;
60
75
  display: block;
61
76
  margin-top: 1px;
62
77
  color: var(--g-color-text-secondary);
@@ -73,10 +88,21 @@ unpredictable css rules order in build */
73
88
  height: 24px;
74
89
  }
75
90
 
91
+ @media (max-width: 769px) {
92
+ .pc-addons-nh-navigation-popup-item__image_desktop {
93
+ display: none;
94
+ }
95
+ }
96
+ @media (min-width: 770px) {
97
+ .pc-addons-nh-navigation-popup-item__image_mobile {
98
+ display: none;
99
+ }
100
+ }
76
101
  .pc-addons-nh-navigation-popup-item__image-container {
77
102
  padding: 8px;
78
103
  border-radius: 8px;
79
104
  background: var(--nh-popup-item-color);
105
+ transition: background 0.2s;
80
106
  }
81
107
 
82
108
  .pc-addons-nh-navigation-popup-item__image-container_no-bg {
@@ -2,8 +2,6 @@ import React from 'react';
2
2
  import { NHPopupItemData } from '../../models';
3
3
  import './NHPopupItem.css';
4
4
  export interface NHPopupItemProps extends Partial<NHPopupItemData> {
5
- hover?: boolean;
6
5
  column?: boolean;
7
- target?: string;
8
6
  }
9
7
  export declare const NHPopupItem: (props: NHPopupItemProps) => React.JSX.Element;